Журнал "Information Security/ Информационная безопасность" #2, 2025

Почему требования к ПО для встраиваемых систем так высоки Встраиваемыесистемыфундамен- тальноотличаютсяотобычногопро- граммногообеспечения.Онифунк- ционируютвусловияхжесткихресурс- ныхограничений:памятьчастоизме- ряетсякилобайтами,вычислительная мощностьминимальна,аэнергопо- треблениестроголимитировано,осо- беннодляавтономныхустройств. Критическаяособенность–работа в режимереальноговременисдетер- минированнымповедением.Задержка реакциисистемыдаженамиллисекунды можетиметькатастрофическиепослед- ствия.Например,всистемахуправления торможениемавтомобиляиливкардио- стимуляторахвременныехарактеристи- кинеменееважны,чемкорректность вычислений. ВотличиеотобычногоПО,встраи- ваемыесистемынапрямуювзаимодей- ствуютсфизическиммиромчерездат- чикииисполнительныемеханизмы,что требуетособоговниманиякобработке входныхданныхиконтролювыходных сигналов.Ошибкавкодеможетприве- стинек"синемуэкранусмерти", а к реальнойаварии.Крометого,типич- ныйсрокслужбывстраиваемойсистемы можетдостигать10–20летбезвозмож- ностиобновления.Этоозначает,что всепотенциальныепроблемыдолжны бытьвыявленыиустраненыдоначала эксплуатации. Вдополнениековсему,этисистемы частоэксплуатируютсявэкстремальных условиях–высокиетемпературы,виб- рация,электромагнитныепомехи,–всё этотребуетисключительнойнадежности программногообеспечения.Какжеее обеспечить? Стандарт MISRA: что это такое и для чего он нужен? Длярешенияпроблемынадежности программногообеспеченияв1994г. быласозданаорганизацияMISRA,кото- раявыпустилаодноименныйстандарт. Первоначальнойцельюорганизации быларазработкаруководствапосозда- ниюбезопасногопрограммногообес- печениядляавтомобильныхэлектронных систем. УспехMISRAобъясняетсяпракти- ческимподходом:стандартнеизоб- реталновыхязыковпрограммирова- ния,алишьопределялбезопасное подмножествосуществующихязыков CиС++,исключаяпотенциальноопас- ныеконструкцииинеоднозначное поведение. MISRAиспользуетчеткуюиерархию правилпостепениихважности: l обязательные(mandatory)–нарушение этихправилнедопустимо,поскольку ведетксерьезным рискам; l необходимые (required)–допус- каютсяисключения, нокаждоеотклоне- ниедолжнобыть документировано; l рекомендуемые (advisory)–отра- жаютлучшиепрак- тики,соблюдение которыхулучшает качествокода,одна- коонинеявляются обязательными. Уникальнаяосо- бенностьMISRA– концепциядокумен- тированныхоткло- нений(deviations). Признаваяневоз- можностьслепого следованиявсем правиламвреаль- ныхпроектах,стан- дарттребуетфор- мальногопроцесса длякаждогооткло- нения:составленияотчетов(MISRACom- pliance),анализарисков,обоснования необходимостииутвержденияответ- ственнымлицом. СтандартMISRAделаетакцентна использованиесредствавтоматизиро- ваннойпроверкиисходногокода,таких какстатическиеанализаторы,класси- фицируякаждоеправилокакразреши- мое(decidable)илинеразрешимое(unde- cidable).Разрешимыеправилапозво- ляютстатическиманализаторамодно- значноопределитьсоответствие,тогда какнеразрешимыеуказываютнаслучаи, требующиедополнительнойпроверки состороныразработчиков. Ключевые ограничения стандарта MISRA СтандартMISRAвводитрядстрогих ограничений,направленныхнаповы- шениебезопасностиинадежностипро- граммногокода.Рассмотримосновные изних. 54 • СПЕЦПРОЕКТ MISRA: повышение безопасности встраиваемых систем через SAST страиваемые системы управляют автомобилями, медицинским оборудованием и промышленными объектами, где ошибки могут приводить не только к финансовым потерям, но и угрожать жизням людей. Рассмотрим, как стандарт MISRA и статические анализаторы, такие как PVS-Studio, помогают обеспечить надежность и безопасность кода в критически важных приложениях. В Михаил Гельвих, руководитель отдела технического сопровождения ООО “ПВС” Рис. 1. Пример отчета MISRA Compliance, полученный с помощью PVS-Studio Фото:Innostage

RkJQdWJsaXNoZXIy Mzk4NzYw