УГРОЗЫ БЕЗОПАСНОСТИ ИНФОРМАЦИИ СО СТОРОНЫ МОДУЛЕЙ РАСШИРЕНИЯ ДЛЯ ОПТИМИЗИРУЮЩИХ КОМПИЛЯТОРОВ

Сергей К. Муравьёв

Аннотация


Предметом статьи являются модули расширения или плагины для оптимизирующих компиляторов, подключение которых осуществляется через штатные программные интерфейсы, предусмотренные для повышения функциональности таких компиляторов и эффективности разрабатываемого с их помощью программного обеспечения. Цель статьи заключается в анализе угроз безопасности информации при разработке программного обеспечения, связанных с возможностью создания и использования злоумышленниками подобных модулей расширения, а также в формировании рекомендаций, которые способствуют нейтрализации рассмотренных угроз. Актуальность работы определяется действующими нормативно-техническими требованиями к разработчикам безопасного программного обеспечения по проведению анализа угроз безопасности информации со стороны средств разработки программного обеспечения, одним из ключевым элементом которых являются оптимизирующие компиляторы. В статье приведён краткий обзор существующих нормативно-технических требований к средам разработки безопасного программного обеспечения. Рассмотрены особенности анализа и трансформации исходного кода современными оптимизирующими компиляторами в процессе оптимизации исходного кода. На примере среды разработки LLVM в среде операционной системы Linux показана возможность практической реализации угроз безопасности информации со стороны модуля расширения для оптимизирующего компилятора, который меняет конвейер оптимизации таким образом, что алгоритм функционирования целевого приложения принципиально меняется. В итоге проанализированы сложности выявления подобных угроз, а также даны рекомендации по их нейтрализации. Представленные в статье сведения могут быть использованы при проектировании и реализации средств разработки безопасного программного обеспечения (РБПО), а также при внедрении соответствующих процессов РБПО.

Ключевые слова


Средства разработки, программное обеспечение, компилятор, модуль расширения, плагин, угроза безопасности информации, РБПО.

Полный текст:

PDF

Литература


1. Наке К., Кван Э. LLVM 17: Инфраструктура для разработки компиляторов, пер. с англ. А.А. Слинкина. М.: ДМК Пресс, 2024. – 370 с. ISBN 978-5-93700-303-4.

2. Страуструп Б. Язык программирования С++, 3-е изд.: Пер. с англ. М.: «Издательство БИНОМ»,
1999. – 991 с. ISBN 5-7989-0127-0.

3. Белов А.А., Калиткин Н.Н., Тинтул М.А. Ненадежность известных генераторов псевдослучайных чисел. Журнал вычислительной математики и математической физики. 2020, т. 60, № 11, с. 1807–1814.
DOI: 10.31857/S0044466920110046. – EDN: CTJCWS.

4. Дейтел П., Дейтел Х. С++20 для программистов. СПб.: Питер, 2024. – 1056 с. – ISBN 978-5-4461-2359-9.

5. Ахо А., Лам М., Сети Р., Ульман Д. Компиляторы: принципы, технологии и инструментарий, 2-е изд.: Пер. с англ. М.: ООО «И.Д. Вильямс», 2018. – 1184 с. ISBN 978-5-8459-1932-8.

6. Негус К. Библия Linux. 10-е издание. СПб.: Питер, 2022. – 928 с. ISBN 978-5-4461-1797-0.

7. Min-Yih H. LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries. Packt Publishing, 2021. ISBN 978-1-83882-495-2.

8. Wennborg H. clang-cl. What it is, how it works, and how to use it. URL: https://learn.microsoft.com/en-us/cpp/build/building-on-the-command-line (дата обращения: 19.09.2024).

9. Barr D. Why LD_LIBRARY_PATH is bad. URL: http://xahlee.info/UnixResource_dir/_/ldpath.html (дата обращения: 19.09.2024).

10. Kudrjavets G., Kumar A., Thomas J. and Rastogi A. The Devil Is in the Command Line: Associating the Compiler Flags With the Binary and Build Metadata. IEEE/ACM 46th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Lisbon, Portugal. 2024, p. 134–136.
DOI: 10.1145/3639477.3639737.

11. Berner D., Gilor M. K. CMake Best Practices: Discover Proven Techniques for Creating and Maintaining Programming Projects with CMake. Packt Publishing, 2022. ISBN 978-1803244242.

12. Муравьёв С.К., Бальзаникова Е. А., Орлов М.А. Обзор возможностей статических анализаторов исходного кода, предоставляемых средствами компиляции программного обеспечения. Состояние и перспективы развития современной науки по направлению «Информационные технологии в Вооруженных Силах Российской Федерации»: Сборник III Всероссийской научно-технической конференции, Анапа, 21–22 марта 2024 года. Анапа: Военный инновационный технополис «ЭРА». 2024, c. 82–101. – EDN: CGTPNV.

13. Вьюкова Н.И., Галатенко В.А., Самборский С.В. Средства динамического анализа программ в компиляторах GCC и CLANG. Программирование. 2020, № 4, c. 46–64.
DOI: 10.31857/S0132347420010082. – EDN: NTIQRW.

14. Егоров В.Ю. Развитие операционной системы QP ОС. Новые информационные технологии и системы: Сборник научных статей по материалам XVII Международной научно-технической, Пенза,
18–19 ноября 2020 года. Пенза: Пензенский государственный университет. 2020, c. 45–47. – EDN: EJXOIX.

15. Егоров В.Ю., Гуреев В.О. Администрирование защищённой операционной системы QP OC. Пенза,
2024. – 552 с. ISBN 978-5-6040973-4-2.




DOI: http://dx.doi.org/10.26583/bit.2024.4.02

Ссылки

  • На текущий момент ссылки отсутствуют.


Лицензия Creative Commons
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.