Россия
Работа посвящена проблеме наличия уязвимостей в программном обеспечении в условиях отсутствия исходного кода, одним из путей противодействия которым является декомпиляция машинного (выполняемого) кода программ. Рассмотрено применение относительной новой технологии больших языковых моделей для решения данной задачи по восстановлению псевдоисходного кода, подходящего для обнаружения и устранения уязвимостей. Выявлены такие проблемные вопросы предметной области, как неполнота датасета для редких процессорных архитектур, отсутствие гарантии тождественности полученного исходного кода заданному машинному, санация восстанавливаемого исходного кода путем исправления уязвимостей, галлюцинирование в коде и сложность восстановления обфусцированного (в том числе оптимизированного) кода. Для обоснования и демонстрации сути каждого проблемного вопроса приведен практический пример по декомпиляции функций ассемблерного кода с помощью распространенной большой языковой модели DeepSeek-V3.2. Указано негативное влияние проблемных вопросов на итоговую нейтрализацию уязвимостей.
безопасность программного обеспечения, уязвимости, реверс-инжиниринг, декомпиляция, искусственный интеллект, проблемные вопросы
1. Касперски К. Техника отладки программ без исходных текстов. СПб.: БХВ-Петербург, 2005. 832 с.
2. Аешин И.Т. Реверс-инжиниринг программного продукта с использованием IDA Pro // Актуальные проблемы авиации и космонавтики. 2018. Т. 3. № 4 (14). С. 808‒809.
3. Израилов К.Е. Алгоритмизация машинного кода телекоммуникационных устройств как стратегическое средство обеспечения информационной безопасности // Национальная безопасность и стратегическое планирование. 2013. № 2 (2). С. 28–36.
4. Shin E.C.R., Song D., Moazzezi R. Recognizing functions in binaries with neural networks // The proceedings of 24th USENIX Conference on Security Symposium. Washington, 2015. P. 611‒626.
5. Израилов К.Е. Генетический реверс-инжиниринг программ для поиска уязвимостей // Научно-аналитический журнал «Вестник Санкт-Петербургского университета Государственной противопожарной службы МЧС России». 2025. № 1. С. 109–119. DOI:https://doi.org/10.61260/2218-130X-2025-1-109-119.
6. LLM4Decompile: Decompiling Binary Code with Large Language Models / H. Tan [et al.] // The proceeding of Conference on Empirical Methods in Natural Language Processing. Miami, 2024. P. 3473–3487. DOI:https://doi.org/10.18653/v1/2024.emnlp-main.203.
7. Израилов К.Е. Концепция генетической декомпиляции машинного кода телекоммуникационных устройств // Труды учебных заведений связи. 2021. Т. 7. № 4. С. 10‒17. DOI:https://doi.org/10.31854/1813-324X-2021-7-4-95-109.
8. Yin X., Ni C., Wang S. Multitask-Based Evaluation of Open-Source LLM on Software Vulnerability // Transactions on Software Engineering. Vol. 50. № 11. P. 3071–3087. DOI:https://doi.org/10.1109/TSE.2024.3470333.
9. Galadima H.S., Doherty C., Brennan R. Towards LLM-based Synthetic Dataset Generation of Cyber Incident Response Process Logs // The proceedings of Cyber Research Conference. Carlow, 2024. P. 1–4. DOI:https://doi.org/10.1109/Cyber-RCI60769.2024.10939563.
10. Calatayud B.M., Meany L. A comparative analysis of Buffer Overflow vulnerabilities in High-End IoT devices // The proceedings of 12th Annual Computing and Communication Workshop and Conference. Las Vegas, 2022. P. 0694–0701. DOI:https://doi.org/10.1109/CCWC54503.2022.9720884.
11. Комашко М.Н. ChatGPT, текст, информация: критический анализ // Труды по интеллектуальной собственности. 2024. Т. 50. № 3. С. 118–128. DOI:https://doi.org/10.17323/tis.2024.22306.
12. Милушев Э.Х., Батунин Я.В., Попов А.А. Методы обфускации кода: сравнительный анализ // Наукосфера. 2025. № 5-2. С. 1–6. DOI:https://doi.org/10.5281/zenodo.15574433.
13. Израилов К.Е. Проблемные вопросы генетической деэволюции представлений программы для поиска в них уязвимостей и рекомендации по их разрешению // Труды учебных заведений связи. 2025. Т. 11. № 1. С. 84–98. DOI:https://doi.org/10.31854/1813-324X-2025-11-1-84-98.



