Вы здесь

Математики МГУ предложили методику безопасной компиляции для бортовых систем

Версия для печатиSend by email

Исследователи факультета вычислительной математики и кибернетики МГУ предложили методику применения технологий безопасной компиляции для встроенных систем ответственного назначения. Подход позволяет учитывать требования безопасности при использовании современных компиляторов и снижать риски, связанные с оптимизациями программного кода. Разработка может использоваться при создании и сертификации программного обеспечения для авиационных и других критически важных систем, где требуется высокая надежность и предсказуемость работы.

К встроенным системам ответственного назначения предъявляются повышенные требования к безопасности и надёжности. В зависимости от области применения на такие системы распространяются различные нормативные требования. Например, для бортовых операционных систем реального времени в гражданской авиации применяются требования стандарта DO-178C, регулирующего процессы разработки и верификации программного обеспечения (ПО).

Одна из ключевых проблем – использование компиляторных оптимизаций. Современные компиляторы могут существенно преобразовывать программный и бинарный код для повышения производительности, но это снижает предсказуемость работы программ и усложнять их верификацию.

В исследовании проанализированы требования к оптимизирующим компиляторам для бортовых систем с учётом специфики разных областей, а также выявлены сценарии, где такие компиляторные оптимизации могут приводить к нарушению требований безопасности ПО.

Особое внимание ученые уделили интеграции безопасного компилятора, разработанного в соответствии с российским стандартом ГОСТ Р 71206-2024, в бортовую операционную систему реального времени. Предложена методика адаптации безопасного компилятора на основе компилятора Clang для применения во встроенных системах. Подход был рассмотрен на примере бортовой операционной системы реального времени, построенной на основе стандарта ARINC 653, применяемого при создании авиационных вычислительных систем.

Исследователи также сравнили разработанный компилятор с одним из самых популярных современных компиляторов — Clang, оценив, насколько эффективно каждый из них предотвращает появление потенциальных уязвимостей при оптимизации кода.

«При разработке программного обеспечения для систем ответственного назначения важно учитывать, как компиляторные оптимизации могут влиять на безопасность и предсказуемость работы программ. Предложенная методика позволяет адаптировать технологии безопасной компиляции для использования в бортовых системах и учитывать требования нормативных документов», — отметил доцент кафедры системного программирования факультета ВМК МГУ Виктор Кулямин.

Работа была представлена на научной конференции «Ломоносовские чтения».