
पूर्ण VM कर्नेल/ड्राइवर लक्ष्यों के लिए एक फ़ज़र
kAFL/Nyx x86 VM के लिए एक तेज़ निर्देशित फ़ज़र है। यह उन सभी चीज़ों के लिए बढ़िया है जो QEMU/KVM अतिथि के रूप में निष्पादित होती हैं, विशेष रूप से x86 फ़र्मवेयर, कर्नेल और संपूर्ण ऑपरेटिंग सिस्टम।
ध्यान दें: सभी घटक केवल शोध और सत्यापन उद्देश्यों के लिए प्रदान किए गए हैं। अपने जोखिम पर उपयोग करें
kAFL, Linux Security Hardening for Confidential Compute प्रयास को संचालित करने वाला मुख्य फ़ज़र है, जो एक जटिल सेटअप में कमजोरियों की पहचान करता है और सभी CC समाधानों के लिए Linux कर्नेल की सुरक्षा में सुधार करता है।
kAFL/Nyx के अन्य सफल लक्ष्यों में से कुछ:
इसके अतिरिक्त, kAFL का उपयोग Intel के भीतर आंतरिक रूप से x86 फ़र्मवेयर और ड्राइवर सत्यापन के साथ-साथ SMM हैंडलर फ़ज़िंग के लिए किया गया है।
kAFL/Nyx, ग्रेबॉक्स या व्हाइटबॉक्स फ़ज़िंग परिदृश्यों के लिए कुशल निष्पादन, स्नैपशॉट रीसेट और कवरेज फीडबैक प्राप्त करने हेतु Intel VT, Intel PML और Intel PT का उपयोग करता है। यह किसी भी वांछित टूलचेन और न्यूनतम कोड संशोधनों के साथ कई x86 FW और OS कर्नेल चलाने की अनुमति देता है।
kAFL, Python में लिखा हुआ एक कस्टम kAFL-Fuzzer उपयोग करता है। kAFL-Fuzzer, AFL-जैसी डिज़ाइन का अनुसरण करता है और समानांतर में कई Qemu इंस्टेंस के साथ काम करने के लिए अनुकूलित है, जो लचीली VM कॉन्फ़िगरेशन, लॉगिंग और डीबग विकल्पों का समर्थन करता है।
kAFL में Radamsa फ़ज़र के साथ-साथ Redqueen और Grimoire एक्सटेंशन भी एकीकृत हैं। Redqueen, कंडीशनल इंस्ट्रक्शनों के लिए रनटाइम इनपुट निकालने हेतु VM इंट्रोस्पेक्शन का उपयोग करता है, जो सामान्य मैजिक बाइट और अन्य इनपुट जाँचों को पार करता है। Grimoire, अधिक स्मार्ट बड़े पैमाने के म्यूटेशन उत्पन्न करने के लिए फ़ज़ इनपुट से कीवर्ड और सिंटैक्स की पहचान करने का प्रयास करता है।
Redqueen, Grimoire, IJON, Nyx के विवरण के लिए कृपया nyx-fuzz.com देखें।
Intel Skylake या बाद का: सेटअप के लिए Gen-6 या नया Intel CPU (Intel PT हेतु) और पर्याप्त सिस्टम मेमोरी (प्रति CPU ~2GB RAM) आवश्यक है।
पैच किया हुआ होस्ट कर्नेल: सेटअप के भाग के रूप में एक संशोधित Linux होस्ट कर्नेल स्थापित किया जाएगा। kAFL को VM के अंदर चलाना IceLake या बाद के CPU से काम कर सकता है।
हालिया Debian/Ubuntu: इंस्टॉलेशन और ट्यूटोरियल हालिया Ubuntu LTS (>=20.04) और Debian (>=bullseye) के लिए परीक्षण किए गए हैं।
जब आपके पास python3-venv और make स्थापित हों, तो आप make deploy का उपयोग करके kAFL स्थापित कर सकते हैं:
sudo apt install python3-venv make git
git clone https://github.com/IntelLabs/kAFL.git
cd kAFl
make deploy
इंस्टॉलेशन में कुछ समय लग सकता है और आपके कर्नेल को अपडेट करने के लिए रिबूट की आवश्यकता हो सकती है।
परेशानी होने पर विस्तृत इंस्टॉलेशन गाइड देखें, या आपके प्रोजेक्ट के लिए kAFL सेटअप की विस्तृत जानकारी और अनुकूलन हेतु डिप्लॉयमेंट गाइड देखें।
पहले फ़ज़िंग उदाहरण के रूप में, हम Linux कर्नेल की फ़ज़िंग की अनुशंसा करते हैं।
अन्य लक्ष्य भी उपलब्ध हैं, जैसे:
इन लक्ष्यों के लिए बेहतर दस्तावेज़ीकरण पर कार्य चल रहा है।