Контакты
Подписка 2026

MISRA: повышение безопасности встраиваемых систем через SAST

Михаил Гельвих, 01/07/25

Встраиваемые системы управляют автомобилями, медицинским оборудованием и промышленными объектами, где ошибки могут приводить не только к финансовым потерям, но и угрожать жизням людей. Рассмотрим, как стандарт MISRA и статические анализаторы, такие как PVS-Studio, помогают обеспечить надежность и безопасность кода в критически важных приложениях.

Автор: Михаил Гельвих, руководитель отдела технического сопровождения ООО “ПВС”

ris0-3

Почему требования к ПО для встраиваемых систем так высоки

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

Критическая особенность – работа в режиме реального времени с детерминированным поведением. Задержка реакции системы даже на миллисекунды может иметь катастрофические последствия. Например, в системах управления торможением автомобиля или в кардиостимуляторах временные характеристики не менее важны, чем корректность вычислений.

В отличие от обычного ПО, встраиваемые системы напрямую взаимодействуют с физическим миром через датчики и исполнительные механизмы, что требует особого внимания к обработке входных данных и контролю выходных сигналов. Ошибка в коде может привести не к "синему экрану смерти", а к реальной аварии. Кроме того, типичный срок службы встраиваемой системы может достигать 10–20 лет без возможности обновления. Это означает, что все потенциальные проблемы должны быть выявлены и устранены до начала эксплуатации.

В дополнение ко всему, эти системы часто эксплуатируются в экстремальных условиях – высокие температуры, вибрация, электромагнитные помехи, – всё это требует исключительной надежности программного обеспечения. Как же ее обеспечить?

Стандарт MISRA: что это такое и для чего он нужен?

Для решения проблемы надежности программного обеспечения в 1994 г. была создана организация MISRA, которая выпустила одноименный стандарт. Первоначальной целью организации была разработка руководства по созданию безопасного программного обеспечения для автомобильных электронных систем.

Успех MISRA объясняется практическим подходом: стандарт не изобретал новых языков программирования, а лишь определял безопасное подмножество существующих языков C и С++, исключая потенциально опасные конструкции и неоднозначное поведение.

MISRA использует четкую иерархию правил по степени их важности:

  • обязательные (mandatory) – нарушение этих правил недопустимо, поскольку ведет к серьезным рискам;
  • необходимые (required) – допускаются исключения, но каждое отклонение должно быть документировано;
  • рекомендуемые (advisory) – отражают лучшие практики, соблюдение которых улучшает качество кода, однако они не являются обязательными.

Уникальная особенность MISRA – концепция документированных отклонений (deviations). Признавая невозможность слепого следования всем правилам в реальных проектах, стандарт требует формального процесса для каждого отклонения: составления отчетов (MISRA Compliance), анализа рисков, обоснования необходимости и утверждения ответственным лицом.

Стандарт MISRA делает акцент на использование средств автоматизированной проверки исходного кода, таких как статические анализаторы, классифицируя каждое правило как разрешимое (decidable) или неразрешимое (undecidable). Разрешимые правила позволяют статическим анализаторам однозначно определить соответствие, тогда как неразрешимые указывают на случаи, требующие дополнительной проверки со стороны разработчиков.

ris1-Jul-01-2025-01-54-18-0065-PM
Рис. 1. Пример отчета MISRA Compliance, полученный с помощью PVS-Studio

Ключевые ограничения стандарта MISRA

Стандарт MISRA вводит ряд строгих ограничений, направленных на повышение безопасности и надежности программного кода. Рассмотрим основные из них.

Работа с указателями, памятью и битовыми операциями

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

Ограничение на использование препроцессора и форматных строк

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

Организация кода и детерминированное поведение

Код должен быть четко структурирован: имена переменных – уникальные, модули – логически разделены. Исключаются конструкции с неопределенным поведением (например, использование неинициализированных переменных, выход за границы массивов, переполнение знаковых целых чисел), а функции ограничиваются по числу точек выхода, глубине вложенности и цикломатической сложности.

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

ris2-Jul-01-2025-01-55-09-2430-PM
Рис. 2. Просмотр MISRA предупреждений PVS-Studio в плагине для IDE Qt Creator

Зачем российским компаниям внедрять стандарт в разработку?

Стандарт накладывает большое количество довольно строгих ограничений. Что же получают российские компании в обмен на такие "оковы", кроме и так понятного повышения надежности и безопасности?

Международная интеграция и экспорт

Несмотря на санкционные ограничения и сложности с международной сертификацией, наличие сертификата MISRA остается мощным конкурентным преимуществом, поскольку клиенты ориентируются на признанные международные стандарты качества.

Импортозамещение и технологический суверенитет

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

Доступ к международному опыту

Использование проверенных методик и инструментов, основанных на международных стандартах, критически важно для создания безопасных и надежных систем.

Выход на новые рынки

Соответствие MISRA открывает возможности для выхода на рынки Азии и Ближнего Востока, усиливая конкурентоспособность российских разработок.

Упрощение взаимодействия с регуляторами

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

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

Практические советы по внедрению MISRA

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

Российский статический анализатор PVS-Studio (запись в едином реестре российского ПО No 9837) полностью соответствует указанным требованиям. Он автоматизирует рутинную проверку множества аспектов стандарта, позволяя разработчикам сосредоточиться на действительно критичных задачах. Особое внимание заслуживает обширный набор диагностических правил, включающих как правила общего назначения, так и правила микрооптимизаций.

Первый набор позволяет обнаруживать потенциальные уязвимости и критические ошибки (согласно ГОСТ Р 71207–2024), а набор правил микрооптимизаций направлен на выявление проблемных мест в коде и улучшение его производительности.

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

Интеграция MISRA в процесс разработки предполагает включение автоматизированных проверок в CI/CD-конвейер, что обеспечивает обнаружение проблем на самых ранних этапах. Автоматизированный анализ в сочетании с ручным код-ревью создает мощный механизм контроля, позволяющий гарантировать соответствие стандарту и поддерживать высокое качество кода.

Наконец, успех проекта во многом зависит от обучения команды. Регулярные образовательные программы, создание внутренних руководств и назначение ответственных за соблюдение стандартов – помогают разработчикам быстро освоить требования MISRA и применять их на практике.

Предложите вашей команде разработки бесплатно попробовать PVS-Studio в течение месяца по промокоду asutp_itsec и на практике оценить возможности инструмента по выявлению дефектов безопасности в соответствии со стандартом MISRA.

Реклама: ООО "ПВС". ИНН 7105502635. Erid: 2SDnjcNJqG9

Темы:КомпанииАСУ ТПРБПОЖурнал "Информационная безопасность" №2, 2025
Практика защиты персональных данных в 2027 году: требования и инструменты. 14 октября на Форуме ITSEC 2026
Полное расписание мероприятий Форума ITSEC 2026 →

Программа мероприятий
для руководителей и специалистов
по защите информации

Посетить
Статьи по той же темеСтатьи по той же теме

  • Что мы сегодня понимаем под защищенностью АСУ ТП? Круглый стол экспертов
    Разговор о кибербезопасности АСУ ТП уверенно смещается с уровня технологий и мер на уровень интерпретаций и границ. Что считать защищенностью, где проходят зоны ответственности, какие допущения остаются незамеченными – эти вопросы все чаще оказываются важнее конкретных СЗИ. Именно их мы вынесли в фокус обсуждения.
  • Безопасность нельзя добавить постфактум. Практика DevSecOps от УЦСБ
    Евгений Тодышев, руководитель направления “Безопасная разработка” УЦСБ
    Безопасная разработка в промышленности требует постоянного поиска баланса между требованиями регуляторов, скоростью вывода продукта и жесткими ограничениями встраиваемых систем. Руководитель направления “Безопасная разработка” УЦСБ Евгений Тодышев рассказал, какие компромиссы неизбежны, а какие вредны, почему безопасность нельзя добавлять постфактум, как встроить DevSecOps в легаси и в каких случаях сервисная модель выгоднее собственной команды.
  • UDV DATAPK Industrial Kit – реальная безопасность АСУ ТП за разумные деньги
    Владислав Ганжа, руководитель производственного направления лаборатории кибербезопасности UDV Group
    На рынке промышленной кибербезопасности до сих пор действует установка: чем дороже решение для защиты АСУ ТП, тем оно эффективнее. Но сегодня российские предприятия понимают, что переплачивают не столько за реальную защиту, сколько за имя и сложную архитектуру
  • Энергетика уходит от формального подхода к встроенной безопасности
    Тимур Павленко, начальник департамента информационной безопасности ООО “Башкирэнерго”.
    Энергетика – одна из самых чувствительных отраслей с точки зрения киберрисков. Как выстраивается реальная киберустойчивость в условиях роста количества компьютерных атак, импортозамещения, цифровизации и динамично развивающейся законодательной базы, – рассказал Тимур Павленко, начальник департамента информационной безопасности ООО “Башкирэнерго”.
  • Что вы недооцениваете при внедрении комплексной защиты АСУ ТП
    Ольга Луценко, эксперт UDV Group
    Обсуждая комплексную защиту, ИБ-директора чаще всего фокусируются на средствах, требованиях регуляторов и документации. Формально это выглядит корректно, но в результате на практике защита оказывается внедренной, но не встроенной в архитектуру и процессы предприятия. То есть она превращается в набор разрозненных решений, формально соответствующих требованиям, но не обеспечивающих реальной устойчивости. В этом кроется ключевая ошибка – воспринимать комплексную защиту как набора технологий, а не как изменения процессов и модели управления безопасностью.
  • Эволюция безопасности: ретейл, стандарты и автоматизация
    Дмитрий Гладченко, Заместитель директора по информационной безопасности дирекции по обеспечению бизнеса компании «Лента»
    Информационная безопасность из набора технических ограничений постепенно превращается в ключевой элемент устойчивости бизнеса. Дмитрий Гладченко, заместитель начальника управления информационной безопасности АО “Северсталь Менеджмент”, на примере внедрения системы управления безопасностью SECURITM в ретейле, рассказал нам, как автоматизация экономит ресурсы специалистов, позволяя поддерживать баланс между развитием бизнеса и безопасностью.

Хотите участвовать?

Выберите вариант!

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2026
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
13-14 октября приглашаем экспертов и практиков выступить на Форуме ITSEC 2026!
Отправить заявку на участие →

More...
ТБ Форум 2026
13 октября. Защищенный удаленный доступ на Форуме ITSEC 2026
Регистрация открыта →

More...