
firmware-analysis-toolkit v2.0.0-alpha.1
फर्मवेयर सुरक्षा अनुसंधान प्लेटफ़ॉर्म जो IoT, एज AI, मोबाइल डिवाइस और रोबोटिक्स में बाइनरी विश्लेषण, टेंट ट्रेसिंग और इम्यूलेशन को जोड़ता है।
FAT — फर्मवेयर विश्लेषण टूलकिट
फर्मवेयर विश्लेषण टूलकिट IoT, फिजिकल AI, मोबाइल डिवाइस और रोबोटिक्स के लिए फर्मवेयर सुरक्षा की जांच हेतु एक सुरक्षा अनुसंधान टूलकिट है। इसे मुख्य रूप से Attify द्वारा आयोजित "ऑफेंसिव IoT एक्सप्लॉइटेशन" प्रशिक्षण के लिए बनाया गया है।
इसे वास्तविक फर्मवेयर सुरक्षा जांचों में जो वास्तव में मायने रखता है, उसके वास्तविक हाथों-हाथ क्षेत्र अनुभव के आधार पर बनाया गया है।
FAT का लक्ष्य केवल फर्मवेयर सुरक्षा अनुसंधान के लिए एक असाधारण विश्व-स्तरीय अत्याधुनिक टूलकिट बनाना नहीं है, बल्कि ऐसे पेशेवरों और अभ्यासकर्ताओं को भी तैयार करना है जो अपने चरम पर कार्य करते हैं, जहां यह टूल कुछ तरीकों से उपयोग किए जाने पर एक संज्ञानात्मक महाशक्ति बन जाता है, जबकि इस क्षेत्र में नए लोगों के लिए भी इसका उपयोग पर्याप्त आसान हो।
कुछ विशेषताओं में अज्ञात फर्मवेयर का वर्गीकरण, फाइलसिस्टम निष्कर्षण, विश्वास-प्रासंगिक कोड का मानचित्रण, टेंट ट्रेसिंग और QEMU एमुलेशन का समन्वय शामिल है।
FAT क्या विश्लेषण कर सकता है
- अज्ञात ब्लॉब और निर्देशिकाएं: कंटेनर, संपीड़ित सदस्य, उच्च-एन्ट्रॉपी क्षेत्र, MCU सिग्नल और उम्मीदवार फर्मवेयर फाइलें
- फर्मवेयर इमेज: हेडर, अपडेट एनवेलप, पार्टिशन, बूटलोडर और इमेज-से-इमेज अंतर
- निष्कर्षित Linux फाइलसिस्टम: इन्वेंट्री, स्टार्टअप इरादा, विश्वास-वाहक बाइनरी, क्रिप्टो सामग्री और स्ट्रिंग साक्ष्य
- ELF बाइनरी: इम्पोर्ट, एक्सपोर्ट, हैंडलर टेबल, स्ट्रिप्ड-कोड सिंक, डीकंपाइलेशन और सोर्स-टू-सिंक टेंट
- बेयर-मेटल और MCU इमेज: वेक्टर टेबल, मेमोरी मैप, पेरिफेरल संकेत, फ्लैश-राइट अधिकार और बूट हैंडऑफ साक्ष्य
- एज AI आर्टिफैक्ट: MAGIK/JZDL, TFLite, ONNX और Qualcomm DLC फाइलें साथ ही दृश्यमान इन्फरेंस रनटाइम
- Android एप्लिकेशन: APK इन्वेंट्री, डिस्कवरी लीड, लोकैलिटी, क्षमता श्रृंखला और हैंडऑफ सीमाएं
- सोर्स रिपॉजिटरी: इनवेरिएंट क्वेरी, पैच मार्गदर्शन और निकटवर्ती वेरिएंट खोज
त्वरित आरंभ
रिपॉजिटरी को क्लोन करें, Rust 1.90 या नए के साथ बिल्ड करें और इंस्टॉल करें:
git clone https://github.com/attify/firmware-analysis-toolkit.git
cd firmware-analysis-toolkit
cargo build --release --locked
cargo install --path crates/fat_cli --locked
fat doctor
वन-शॉट इंस्टॉलर:
./scripts/install.sh --install-system-deps
इंस्टॉलेशन प्रक्रिया में अधिक अनुकूलन के लिए INSTALL.md देखें।
त्वरित कमांड संदर्भ
- सहायता:
fat -h - फर्मवेयर की पहचान करें:
fat $firmwareयाfat identify --file $firmware - नया प्रोजेक्ट:
fat new $firmware - फाइलसिस्टम निष्कर्षण:
fat extract $firmware - विश्लेषण:
fat analyze $firmware - एमुलेशन:
fat emulate --project $firmware
किसी अज्ञात फाइल से पहला संपर्क
fat ./firmware.bin
fat inspect update --file ./firmware.bin --rootfs ./rootfs --reference ./older.bin
इमेज से रनटाइम तक
त्वरित आरंभ से पाइपलाइन, शुरू से अंत तक:
fat new ./firmware.bin
fat extract .fat-projects/firmware
fat analyze .fat-projects/firmware
fat preflight .fat-projects/firmware
fat emulate --project .fat-projects/firmware
बाइनरी ट्राइएज और डेटा फ्लो
fat r2-triage --file ./usr/sbin/httpd --json
fat taint --file ./www/cgi-bin/diag.cgi --summary
fat taint-query --file ./www/cgi-bin/diag.cgi
fat taint-cross --rootfs ./rootfs
fat taint-cross --rootfs ./rootfs --source-profile ./my-target-models.yaml --state-profile ./my-target-state.yaml
शेल स्क्रिप्ट डेटा फ्लो
fat taint --lang shell --file ./app/init/wifi.sh --summary
fat taint --lang shell --rootfs ./extracted-rootfs --json
fat taint --lang shell --rootfs ./extracted-rootfs --source-profile ./my-target-shell.yaml --severity high
स्ट्रिप्ड बाइनरी
सिंक को स्थिर रूप से खोजें, फिर उन्हीं पतों के लिए रनटाइम हुक तैयार करें:
fat r2-triage --file ./usr/sbin/httpd --json
fat sink-discovery --file ./usr/sbin/httpd --json > sinks.json
fat handler-table --file ./usr/sbin/httpd --json > handlers.json
fat taint --file ./usr/sbin/httpd --sink-candidates sinks.json --json > taint.json
fat instrument-hooks --from-sinks sinks.json --output hooks.yaml
fat emulate --project .fat-projects/firmware --instrument hooks.yaml
फाइलसिस्टम-व्यापी साक्ष्य सर्वेक्षण
fat tree --rootfs ./rootfs --profile inventory --summary --json
fat search --rootfs ./rootfs --profile credentials -I --context 2
fat startup-map --rootfs ./rootfs --profile cloud-tls
fat crypto-census --rootfs ./rootfs
fat trust-map --rootfs ./rootfs
सोर्स-समर्थित इनवेरिएंट क्वेरी
fat invariant query \
--fixture tests/fixtures/query/source/invariant-permission \
--rule 'Every privileged override method must call enforcePermission()'
fat patch check --help
fat verify --help
सुरक्षा
- एमुलेशन अविश्वसनीय विक्रेता कोड निष्पादित करता है।
- अविश्वसनीय इमेज संसाधित करने या किसी एमुलेटेड सेवा को नेटवर्क पर उजागर करने से पहले SECURITY.md की समीक्षा करें।
- जिन लक्ष्यों पर आप कार्य करते हैं, उनके लिए प्राधिकरण प्राप्त करना आपकी जिम्मेदारी है।
विस्तृत मार्गदर्शिकाएं
| दस्तावेज़ | इसमें क्या है? |
|---|---|
| INSTALL.md | बाहरी टूल और वैकल्पिक घटक सेटअप |
| docs/commands.md | कार्य के अनुसार समूहीकृत पूर्ण कमांड संदर्भ |
| docs/capabilities.md | ग्राफ निर्यात, स्ट्रिंग खोज, क्रिप्टो, एज AI, स्टार्टअप इरादा, रीहोस्टिंग पैक |
| docs/epistemics.md | FAT आउटपुट कैसे पढ़ें: परिणाम क्या सिद्ध करते हैं और क्या नहीं |
| docs/architecture.md | वर्कस्पेस क्रेट और एक्सटेंशन बिंदु |
| DEVELOPMENT.md | बिल्ड और परीक्षण वर्कफ्लो |
| CONTRIBUTING.md | सेटअप, PR चेकलिस्ट और योगदान मार्गदर्शिका |
अनुरक्षक
FAT को adi0x90 द्वारा लिखा गया है, जो इसके वर्तमान अनुरक्षक और प्रमुख योगदानकर्ता भी हैं। यह प्रोजेक्ट Attify के अंतर्गत अनुरक्षित है।
लाइसेंस
FAT 2.0 FSL-1.1-ALv2 के अंतर्गत सोर्स-उपलब्ध है। अधिक विवरण के लिए LICENSING.md और THIRD_PARTY_NOTICES.md देखें।