Preview

Труды Института системного программирования РАН

Расширенный поиск

Динамический анализ IoT-систем на основе полносистемной эмуляции в QEMU

https://doi.org/10.15514/ISPRAS-2021-33(5)-9

Аннотация

Стремительное развитие Интернета-вещей (IoT) требует развития методов и средств анализа подобных устройств. Существенная часть таких устройств работает под управлением операционных систем (ОС) семейства Linux. Непосредственное применение существующих средств для анализа программного обеспечения (ПО) данного класса устройств не всегда возможно. В процессе исследования встраиваемых ОC Linux был создан инструмент ELF (Embedded Linux Fuzz), который и представлен в данной работе. В статье рассматривается анализ систем, построенных исключительно на базе ядер Linux. Среда ELF предназначена для динамического анализа устройств на основе полносистемной эмуляции в QEMU. В основу ELF были положены следующие аспекты: выполнение тестирования и анализа ПО реальных устройств в среде, максимально приближенной к их «родной» среде выполнения; интеграция с существующими средствами фаззинга; возможность проведенияраспределенного анализа.

Об авторах

Роман Дмитриевич КОВАЛЕНКО
Институт системного программирования им. В.П. Иванникова РАН
Россия

Научный сотрудник отдела компиляторных технологий



Алексей Николаевич МАКАРОВ
Институт системного программирования им. В.П. Иванникова РАН
Россия

Научный сотрудник отдела компиляторных технологий



Список литературы

1. Binwalk. URL: https://github.com/ReFirmLabs/binwalk, accessed 17.10.2021.

2. C. Simmonds. Mastering Embedded Linux Programming. Second Edition. Packt Publishing, 2017, 983 p.

3. Pin - A Dynamic Binary Instrumentation Tool. URL: https://www.intel.com/content/www/us/en/developer/articles/tool/pin-a-dynamic-binary-instrumentation-tool.html, accessed 17.10.2021.

4. DynamoRIO. https://dynamorio.org/, accessed 17.10.2021.

5. M. Sharma, N. Agarwal, and S.R.N. Reddy. Design and development of daughter board for USB-UART communication between Raspberry Pi and PC. In Proc. of the International Conference on Computing, Communication & Automation, 2015, pp. 944-948

6. F. Bellard. QEMU, a fast and portable dynamic translator. In Proc. of the USENIX Annual Technical Conference, 2005, pp. 41-46.

7. D. D. Chen, M. Egele et al. Towards automated dynamic analysis for Linux-based embedded firmware. In Proc. of the Network and Distributed System Security Symposium (NDSS), 2016, pp. 1-16.

8. Y. Zheng, A. Davanian et al. FIRMAFL: high-throughput greybox fuzzing of iot firmware via augmented process emulation. In Proc. of the 28th USENIX Security Symposium (USENIX Sec), 2019, pp. 1099-1114.

9. LuaQEMU. URL: http://github.com/Comsecuris/luaqemu, accessed 17.10.2021.

10. J. Zaddach, L. Bruno et al. Avatar: A framework to support dynamic security analysis of embedded systems firmwares. In Proc. of the Network and Distributed System Security Symposium (NDSS), 2014, pp. 1-16.

11. M.Muench, D. Nisi et al. Avatar2: A Multi-Target Orchestration Platform. In Proc. of the Workshop on Binary Analysis Research, 2018, pp. 1-11.

12. TriforceAFL. URL: https://github.com/nccgroup/TriforceAFL, accessed 17.10.2021.

13. J. Chen, W. Diao et al. IoTFuzzer: Discovering memory corruptions in IoT through app-based fuzzing. In Proc. of the Network and Distributed System Security Symposium (NDSS), 2018, pp. 1-15.

14. Metasploit. URL: https://www.metasploit.com/, accessed 17.10.2021.

15. A. Henderson, LK. Yan et al. DECAF: A Platform-Neutral Whole-System Dynamic Binary Analysis Platform. IEEE Transactions on Software Engineering, vol. 43, issue 2, 2017, pp. 164-184.

16. M. Zalewski. American Fuzzy Lop. URL: http://lcamtuf.coredump.cx/afl/, accessed 17.10.2021.

17. J. Pereyda. Boofuzz Documentation, Release 0.4.0, 2021. URL: https://buildmedia.readthedocs.org/media/pdf/boofuzz/latest/boofuzz.pdf, accessed 17.10.2021.

18. Sulley. URL: https://github.com/OpenRCE/sulley, accessed 17.10.2021.

19. P. Dovgalyuk. Deterministic Replay of System’s Execution with Multi-target QEMU Simulator for Dynamic Analysis and Reverse Debugging. In Proc. of the 16th European Conference on Software Maintenance and Reengineerin, 2012, pp. 553-556.

20. fuzzer-test-suite. https://github.com/google/fuzzer-test-suite, accessed 17.10.2021.

21. NIST Test Suites. https://samate.nist.gov/SRD/testsuite.php, accessed 17.10.2021.

22. CTP/OSCE Prep – Boofuzzing Vulnserver for EIP Overwrite. https://h0mbre.github.io/Boofuzz_to_EIP_Overwrite/, accessed 17.10.2021.


Рецензия

Для цитирования:


КОВАЛЕНКО Р.Д., МАКАРОВ А.Н. Динамический анализ IoT-систем на основе полносистемной эмуляции в QEMU. Труды Института системного программирования РАН. 2021;33(5):155-166. https://doi.org/10.15514/ISPRAS-2021-33(5)-9

For citation:


KOVALENKO R.D., MAKAROV A.N. Dynamic analysis of IoT systems based on full-system emulation in QEMU. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2021;33(5):155-166. (In Russ.) https://doi.org/10.15514/ISPRAS-2021-33(5)-9



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)