Preview

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

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

Методика поиска уязвимостей в программном обеспечении, написанном на нескольких языках программирования

https://doi.org/10.15514/ISPRAS-2025-37(1)-7

Аннотация

В связи с необходимостью повышения производительности труда при анализе (разметке) результатов автоматизированного поиска уязвимостей в программах, проведенного с использованием инструментального средства, возникает проблема дефицита на рынке высококвалифицированных аналитиков для проведения разметки результатов. В работе описана разработанная методика для поиска уязвимостей в программном обеспечение (Далее - ПО), написанном на нескольких языках программирования (С, С++, Java, Python, Go). В ходе ее разработки проведен анализ всех автоматически обнаруживаемых детекторов в программах на этих языках и элементов их конструкций, подлежащих анализу. Детекторы упорядочены в соответствии с классификацией регулятора. Применение методики позволяет снизить квалификационные требования к аналитикам, проводящим разметку, и подготовить таких специалистов в разрабатывающих компаниях.

Об авторах

Борис Аронович ПОЗИН
Институт системного программирования им. В.П. Иванникова РАН, Научно-исследовательский университет Высшая Школа Экономики, ЗАО ЕС-лизинг
Россия

Доктор технических наук, профессор, главный научный сотрудник Института системного программирования им. В.П. Иванникова РАН, профессор базовой кафедры ЗАО ЕС-лизинг в МИЭМ НИУ ВШЭ, технический директор ЗАО ЕС-лизинг. Сфера научных интересов: программная инженерия, системы обеспечения жизненного цикла доверенного программного обеспечения, автоматизированное тестирование программ



Полина Андреевна БОРОДУШКИНА
Научно-исследовательский университет Высшая Школа Экономики
Россия

– студентка третьего курса НИУ ВШЭ Московского институт электроники и математики им. А.Н. Тихонова департамента прикладной математики. Сфера научных интересов: проектирования безопасного ПО с применением SAST, анализ существующих угроз и их классификации на языках программирования С/С++.



Дмитрий Антонович КОРОТКОВ
Научно-исследовательский университет Высшая Школа Экономики
Россия

Студент четвертого курса НИУ ВШЭ Московского институт электроники и математики им. А.Н. Тихонова департамента электронной инженерии. Сфера научных интересов: проектирование безопасного ПО с применением Статического анализа (SAST), верификация результатов статического анализа, анализ существующих угроз и их классификации на языке программирования Java.



Михаил Александрович ФЕДОРОВ
Научно-исследовательский университет Высшая Школа Экономики
Россия

Студент четвертого курса НИУ ВШЭ Московского институт электроники и математики им. А.Н. Тихонова департамента электронной инженерии. Сфера научных интересов: проектирование безопасного ПО с применением Статического (SAST) и Композиционного (SCA) анализов, разработка ПО в сфере фронт-энд, проектирование безопасной архитектуры Операционных систем.



Айнур Фуатович МУРАТОВ
Научно-исследовательский университет Высшая Школа Экономики
Россия

Студент третьего курса НИУ ВШЭ Московского институт электроники и математики им. А.Н. Тихонова департамента компьютерной инженерии. Сфера научных интересов: изучение проектирования безопасного ПО с применением SAST, анализ существующих угроз и их классификации на языке программирования Go.



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

1. "Белеванцев А. (ИСП РАН) для форума "Russia DevOps Report - 2023”. [Электронный ресурс]. – 2023 – URL: https://russiadevopsreport.ru/. – (Дата обращения: 13.10.2024)

2. ГОСТ Р 71207-2024. Защита информации. Разработка безопасного программного обеспечения. Статический анализ программного обеспечения. Общие требования.

3. PVS-Studio: Ложноположительные срабатывания статического анализатора кода. [Электронный ресурс]. – 2021 – URL: https://pvs-studio.ru/ru/blog/terms/6461/. – (Дата обращения: 03.11.2024)

4. Иванников В.П., Белеванцев А.А., Бородин А.Е., Игнатьев В.Н., Журихин Д.М., Аветисян А.И., Леонов М.И. Статический анализатор Svace для поиска дефектов в исходном коде программ. Труды Института системного программирования РАН. 2014;26(1): c.231-250. / Ivannikov V.P., Belevantsev A.A., Borodin A.E., Ignatiev V.N., Zhurikhin D.M., Avetisyan A.I., Leonov M.I. Svace static analyzer for searching for defects in program source code. Proceedings of the Institute of System Programming of the Russian Academy of Sciences. 2014;26(1): p.231-250. DOI: https://doi.org/10.15514/ISPRAS-2014-26(1)-7.

5. Белеванцев А., Аветисян А. Многоуровневый статический анализ для поиска закономерностей ошибок и дефектов в исходном коде. В: Петренко А., Воронков А. (ред.) Перспективы системной информатики. PSI 2017. Конспекты лекций по информатике, том 10742, стр. 28–42. /Belevantsev, A., Avetisyan, A. Multi-level Static Analysis for Finding Error Patterns and Defects in Source Code. В: Petrenko, A., Voronkov, A. (ред.) Perspectives of System Informatics. PSI 2017. Lecture Notes in Computer Science, vol 10742, p. 28–42. Springer, Cham, 2018, DOI:10.1007/978-3-319-74313-4_3.

6. Positive Technologies: Positive Technologies: раскрытие уязвимостей и опыт взаимодействия исследователей и вендоров в 2022–2023 годах. [Электронный ресурс]. – 2024 – URL: https://www.ptsecurity.com/ru-ru/research/analytics/vulnerability-disclosure-and-researcher-vendor-interaction-experience-in-2022-2023/. – (Дата обращения: 04.11.2024)

7. ГОСТ Р ИСО/МЭК 12207-2010. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.

8. ГОСТ Р 56939–202Х. Защита информации. Разработка безопасного программного обеспечения. Общие требования.

9. ГОСТ Р ИСО/МЭК 27034. Информационная технология. Методы и средства обеспечения безопасности. Безопасность приложений. Часть 1. Обзор и общие понятия.

10. ГОСТ Р 50922-2006. Защита информации. Основные термины и определения.

11. ГОСТ Р 58412-2019. Защита информации. Разработка безопасного программного обеспечения. Угрозы безопасности информации при разработке программного обеспечения.

12. КонсультантПлюс: (ФСТЭК) Общая характеристика уязвимостей прикладного программного обеспечения. [Электронный ресурс]. – 2008 – URL: https://www.consultant.ru/document/cons_doc_LAW_99662/2da3bb1b6c61f5acbbefcb29ae7dc99615ce0d05/.– (Дата обращения: 20.10.2024)

13. PVS-Studio: Сортировка предупреждений статических анализаторов по приоритету при поиске и исправлении программных ошибок. [Электронный ресурс]. – 2016 – URL: https://habr.com/ru/companies/pvs-studio/articles/305532/. – (Дата обращения: 03.11.2024)

14. Б. Позин. Автоматизация и экономика для обеспечения жизненного цикла безопасного ПО., Информационная безопасность, №4, 2024, с.60/ B.Pozin. Automation and Economics for Secure Software Life Cycle Assurance., Information Security, No.4, 2024, p.60.

15. Common Weakness Enumeration [Электронный ресурс]. – 2023 – URL: https://cwe.mitre.org/about/new_to_cwe.html. – (Дата обращения: 02.11.2024)


Рецензия

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


ПОЗИН Б.А., БОРОДУШКИНА П.А., КОРОТКОВ Д.А., ФЕДОРОВ М.А., МУРАТОВ А.Ф. Методика поиска уязвимостей в программном обеспечении, написанном на нескольких языках программирования. Труды Института системного программирования РАН. 2025;37(1):121-132. https://doi.org/10.15514/ISPRAS-2025-37(1)-7

For citation:


POZIN B.A., BORODUSHKINA P.A., KOROTKOV D.A., FEDOROV M.A., MURATOV A.F. Vulnerability Detection Methodology in Software Written in Several Programming Languages. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2025;37(1):121-132. (In Russ.) https://doi.org/10.15514/ISPRAS-2025-37(1)-7



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


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