
गतिशील विश्लेषण के लिए IoT फ़र्मवेयर के बड़े पैमाने पर अनुकरण की ओर
FirmAE एक पूर्णतः स्वचालित फ्रेमवर्क है जो एमुलेशन और भेद्यता विश्लेषण करता है। FirmAE पाँच आर्बिट्रेशन तकनीकों के साथ एमुलेशन सफलता दर को काफी बढ़ा देता है (Firmadyne के 16.28% से 79.36% तक)। हमने शीर्ष आठ विक्रेताओं के 1,124 वायरलेस-राउटर और IP-कैमरा फ़र्मवेयर इमेज पर FirmAE का परीक्षण किया।
हमने 0-day खोज के लिए एक गतिशील विश्लेषण उपकरण भी विकसित किया, जो लक्षित फ़र्मवेयर के फाइलसिस्टम और कर्नेल लॉग के आधार पर वेब सेवा जानकारी का अनुमान लगाता है। अपने उपकरण को सफलतापूर्वक एमुलेटेड फ़र्मवेयर इमेज पर चलाकर, हमने 12 नए 0-day खोजे जो 23 डिवाइसों को प्रभावित करते हैं।
ध्यान दें कि हमने FirmAE का परीक्षण Ubuntu 20.04 पर किया है।
FirmAE क्लोन करें$ git clone --recursive https://github.com/pr0v3rbs/FirmAE
download.sh स्क्रिप्ट चलाएँ।$ ./download.sh
install.sh स्क्रिप्ट चलाएँ।$ ./install.sh
init.sh स्क्रिप्ट निष्पादित करें।$ ./init.sh
$ wget https://github.com/pr0v3rbs/FirmAE/releases/download/v1.0/DIR-868L_fw_revB_2-05b02_eu_multi_20161117.zip
$ sudo ./run.sh -c <brand> <firmware>
$ sudo ./run.sh -a <brand> <firmware>
$ sudo ./run.sh -r <brand> <firmware>
run.sh -c समाप्त होने के बाद।
यह तब उपयोगी है जब एमुलेटेड फ़र्मवेयर नेटवर्क पर पहुंच योग्य हो या नहीं
socat कनेक्शन, nc रिवर्स शेल (31337) और telnet कनेक्शन (31338) का समर्थन करता है$ sudo ./run.sh -d <brand> <firmware>
$ sudo ./run.sh -b <brand> <firmware>
firmae.config में पाँच आर्बिट्रेशन पर्यावरण चर देखें
$ head firmae.config
#!/bin/sh
FIRMAE_BOOT=true
FIRMAE_NETWORK=true
FIRMAE_NVRAM=true
FIRMAE_KERNEL=true
FIRMAE_ETC=true
if (${FIRMAE_ETC}); then
TIMEOUT=240
सबसे पहले, एक डॉकर इमेज तैयार करें।
$ ./docker-init.sh
फिर, नीचे दिए गए कमांडों में से एक चलाएँ। -ec केवल एमुलेशन की जाँच करता है, और
-ea एमुलेशन की जाँच करता है और भेद्यताओं का विश्लेषण करता है।
$ ./docker-helper.py -ec <brand> <firmware>
$ ./docker-helper.py -ea <brand> <firmware>
यहाँ, <firmware> एक टेक्स्ट फ़ाइल हो सकती है जो फ़र्मवेयर इमेज के पथों की सूची देती है।
नमूना फ़ाइल को ./examples/test.list पर देखें।
फ़र्मवेयर इमेज के सफलतापूर्वक एमुलेट होने के बाद।
$ ./docker-helper.py -ed <firmware>
Google स्प्रेडशीट - देखें
Google ड्राइव - डाउनलोड करें
यह शोध परियोजना KAIST में SysSec Lab द्वारा संचालित की गई है।
हम सराहना करेंगे यदि आप FirmAE का उपयोग करते समय हमारे पेपर को उद्धृत करने पर विचार करें।
@inproceedings{kim:2020:firmae,
author = {Mingeun Kim and Dongkwan Kim and Eunsoo Kim and Suryeon Kim and Yeongjin Jang and Yongdae Kim},
title = {{FirmAE}: Towards Large-Scale Emulation of IoT Firmware for Dynamic Analysis},
booktitle = {Annual Computer Security Applications Conference (ACSAC)},
year = 2020,
month = dec,
address = {Online}
}