
स्केलेबल असेंबली विश्लेषण प्लेटफॉर्म जो इंडेक्सिंग, क्लोन खोज, और एक्जीक्यूटेबल वर्गीकरण के लिए स्थैतिक, गतिशील और मशीन-लर्निंग तकनीकों का उपयोग करता है, विभिन्न आर्किटेक्चर में।
Kam1n0 v2.x एक स्केलेबल असेंबली प्रबंधन और विश्लेषण प्लेटफॉर्म है। यह उपयोगकर्ता को पहले (बड़े) बाइनरी संग्रह को विभिन्न रिपॉजिटरी में अनुक्रमित करने और क्लोन खोज और वर्गीकरण जैसी विभिन्न विश्लेषणात्मक सेवाएँ प्रदान करने की अनुमति देता है। यह एप्लिकेशन की अवधारणा का उपयोग करके असेंबली रिपॉजिटरी के बहु-किरायेदारी पहुँच और प्रबंधन का समर्थन करता है। एक एप्लिकेशन इंस्टेंस में अपना विशिष्ट रिपॉजिटरी होता है और एक विशेष विश्लेषणात्मक सेवा प्रदान करता है। रिवर्स इंजीनियरिंग कार्यों की बहुमुखी प्रतिभा को ध्यान में रखते हुए, Kam1n0 v2.x सर्वर वर्तमान में तीन अलग-अलग प्रकार के क्लोन-खोज एप्लिकेशन प्रदान करता है: Asm-Clone, Sym1n0, और Asm2Vec , और Asm2Vec पर आधारित एक निष्पादन योग्य वर्गीकरण । प्लेटफॉर्म में आगे नए एप्लिकेशन प्रकार जोड़े जा सकते हैं।
एक उपयोगकर्ता कई एप्लिकेशन इंस्टेंस बना सकता है। एक एप्लिकेशन इंस्टेंस को उपयोगकर्ताओं के एक विशिष्ट समूह के बीच साझा किया जा सकता है। एप्लिकेशन रिपॉजिटरी की पढ़ने-लिखने की पहुँच और चालू/बंद स्थिति को एप्लिकेशन स्वामी द्वारा नियंत्रित किया जा सकता है। Kam1n0 v2.x सर्वर कई साझा संसाधन पूल का उपयोग करके एप्लिकेशन को एक साथ सेवा प्रदान कर सकता है।
Kam1n0 को Steven H. H. Ding और Miles Q. Li द्वारा Benjamin C. M. Fung के पर्यवेक्षण में कनाडा के मैकगिल विश्वविद्यालय में डेटा माइनिंग और सुरक्षा प्रयोगशाला में विकसित किया गया था। इसने Hex-Rays प्लग-इन प्रतियोगिता 2015 में द्वितीय पुरस्कार जीता। यदि आप Kam1n0 को उपयोगी पाते हैं, तो कृपया हमारे पेपर का हवाला दें:
S. H. H. Ding, B. C. M. Fung, and P. Charland. Kam1n0: MapReduce-based Assembly Clone Search for Reverse Engineering. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (SIGKDD), pages 461-470, San Francisco, CA: ACM Press, August 2016.
S. H. H. Ding, B. C. M. Fung, and P. Charland. Asm2Vec: boosting static representation robustness for binary clone search against code obfuscation and compiler optimization. In Proceedings of the 40th IEEE Symposium on Security and Privacy (S&P), 18 pages, San Francisco, CA: IEEE Computer Society, May 2019.
Asm-Clone एप्लिकेशन असेंबली फ़ंक्शंस के लिए कुशल सबग्राफ़ खोज समस्या (अर्थात् ग्राफ़ आइसोमॉर्फिज्म समस्या) को हल करने का प्रयास करते हैं (2.3M फ़ंक्शंस के साथ <1.3s औसत क्वेरी समय और <30ms औसत इंडेक्स समय)। किसी लक्ष्य फ़ंक्शन (जैसा कि नीचे बाईं ओर दिखाया गया है) को देखते हुए, यह रिपॉजिटरी में अन्य फ़ंक्शंस के बीच क्लोन किए गए सबग्राफ़ की पहचान कर सकता है (जैसा कि नीचे दाईं ओर दिखाया गया है)।
विभेदित फ़ज़ टेस्टिंग और बाधा समाधान द्वारा सिमैंटिक क्लोन खोज। एक कुशल और स्केलेबल डायनामिक-स्टैटिक हाइब्रिड दृष्टिकोण (1.5M फ़ंक्शंस के साथ <1s औसत क्वेरी समय और <100ms औसत इंडेक्स समय)। किसी लक्ष्य फ़ंक्शन (जैसा कि नीचे बाईं ओर दिखाया गया है) को देखते हुए, यह रिपॉजिटरी में अन्य फ़ंक्शंस के बीच क्लोन किए गए सबग्राफ़ की पहचान कर सकता है (जैसा कि नीचे दाईं ओर दिखाया गया है)। अमूर्त सिंटैक्स ग्राफ़ के विज़ुअलाइज़ेशन का समर्थन करता है।
Asm2Vec प्रतिनिधित्व सीखने का लाभ उठाता है। यह असेंबली कोड के शाब्दिक शब्दार्थ संबंध को समझता है। उदाहरण के लिए, xmm* रजिस्टर शब्दार्थ रूप से वेक्टर ऑपरेशंस जैसे addps से संबंधित हैं। memcpy strcpy के समान है। नीचे दिया गया ग्राफ़ libgmp में gmpz_tdiv_r_2exp के समान स्रोत कोड से संकलित विभिन्न असेंबली फ़ंक्शंस दिखाता है। बाएं से दाएं, असेंबली फ़ंक्शंस को GCC O0 विकल्प, GCC O3 विकल्प, O-LLVM अस्पष्टता नियंत्रण प्रवाह ग्राफ़, फ़्लैटनिंग विकल्प, और LLVM अस्पष्टता बोगस नियंत्रण प्रवाह ग्राफ़ विकल्प के साथ संकलित किया गया है। Asm2Vec उन्हें स्टैटिक रूप से क्लोन के रूप में पहचान सकता है।