|
Эта публикация цитируется в 1 научной статье (всего в 1 статье)
Предотвращение уязвимостей, возникающих в результате оптимизации кода с неопределенным поведением
Р. В. Баев, Л. В. Скворцов, Е. А. Кудряшов, Р. А. Бучацкий, Р. А. Жуйков Институт системного программирования им. В.П. Иванникова РАН
Аннотация:
С развитием оптимизирующих компиляторов стали возникать случаи появления уязвимостей в программах во время оптимизации. Это связано с тем, что зачастую программисты используют конструкции с неопределенным поведением, опираясь на свое представление о том, в какой код такие конструкции транслировались знакомым им компилятором для определенной архитектуры. В то же время компилятор, руководствующийся стандартом языка, вправе проводить оптимизации так, как будто бы таких конструкций в коде не может существовать. В этой статье описываются подходы к обнаружению и устранению уязвимостей в программах, рассматривается применимость этих подходов для случая уязвимостей, появляющихся вследствие оптимизации, в условиях, когда возможность изменения исходного кода ограничена или отсутствует. В статье предлагается концепция безопасного компилятора, т.е. компилятора, обеспечивающего отсутствие внесения уязвимостей в программу во время оптимизации, и описывается реализация такого компилятора на базе компилятора GCC. Для безопасного компилятора приводится разделение реализованного функционала на три уровня защиты и описание применимости этих уровней, показывается применимость безопасного компилятора на практике, а также оценивается изменение производительности получаемой программы.
Ключевые слова:
компилятор, уязвимость, неопределенное поведение.
Образец цитирования:
Р. В. Баев, Л. В. Скворцов, Е. А. Кудряшов, Р. А. Бучацкий, Р. А. Жуйков, “Предотвращение уязвимостей, возникающих в результате оптимизации кода с неопределенным поведением”, Труды ИСП РАН, 33:4 (2021), 195–210
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp622 https://www.mathnet.ru/rus/tisp/v33/i4/p195
|
Статистика просмотров: |
Страница аннотации: | 21 | PDF полного текста: | 12 |
|