Проект

Что жаждет найти Институт инженерной физики внедрив систему анализа исходного кода

Заказчики: Институт инженерной физики

Образование и наука

Продукт: PT Application Inspector (PT AI)

Дата проекта: 2015/06 — 2015/08
Технология: ИБ - Межсетевые экраны
подрядчики - 388
проекты - 1460
системы - 730
вендоры - 263

Содержание

7 октября 2015 года компания Positive Technologies сообщила о внедрении системы анализа исходного кода в ИТ-окружение испытательной лаборатории Института инженерной физики. Цель проекта - автоматизация процесса выявления уязвимостей при контроле недекларированных возможностей (НДВ).

Задачи проекта

В соответствии с действующими нормативами ФСТЭК, при сертификации защитного ПО испытательным лабораториям необходимо контролировать отсутствие НДВ (функциональных возможности средств вычислительной техники, не описанных или не соответствующих описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации) и обнаруживать уязвимости — недостатки в защищенности, вызванные ошибками проектирования и разработки.

Коллектив Института инженерной физики (2012)

Олег Матыков, руководитель отдела проектных решений Positive Technologies, заявил: «Требование о поиске уязвимостей отражает более современный, практический взгляд на безопасность. Классическое представление о "недокументированных возможностях" связано с изучением функций продукта и проверкой их на соответствие заявленным в документации. Но даже если приложение работает правильно с точки зрения функциональности и не содержит "закладок", это не гарантирует его защищенность в реальной ситуации. Изначально не замеченные ошибки кода и конфигурации, слабые механизмы аутентификации и другие внутренние недостатки системы могут приводить к сбоям, утечкам, нарушению целостности и доступности. А с развитием целенаправленных атак даже небольшая уязвимость может стать частью многоступенчатой схемы промышленного шпионажа или саботажа. Именно поэтому ФСТЭК указывает на необходимость поиска всех возможных уязвимостей, а не только НДВ».

По состоянию нормативных требований на 7 октября 2015 года, ФСТЭК рекомендует лабораториям проводить анализ уязвимостей даже на низких уровнях контроля (НДВ 4), а в процессе сертификации программного обеспечения по второму уровню НДВ эта процедура обязательна. При этом на всех уровнях контроля НДВ регулятор предписывает применение, в том числе, сигнатурного анализа кода.

«Сигнатурный анализ является одним из важнейших этапов сертификации, так как именно с ним связано большинство случаев выявления НДВ, — поведал Олег Матыков. — Но большинство анализаторов кода, используемых при сертификации, проводят такой анализ самым простым методом поиска по шаблону (pattern matching), что вкупе с астрономическим количеством ложных срабатываний сильно снижает практическую ценность этой процедуры. В системе анализа исходного кода PT Application Inspector применяется комбинация методов DAST, SAST и IAST, что позволяет радикально уменьшить количество ложных срабатываний и разглядеть опасные уязвимости».

В 2015 году исследователи обнаружили немало уязвимостей в распространенных средствах защиты информации:

  • Google в июне 2015 года опубликовала отчет о наличии серьезной уязвимости в антивирусе ESET NOD32,
  • в сентябре 2015 года Google обнародовала информацию о 8 уязвимостях в «Антивирусе Касперского», которые позволяли удаленное выполнение кода.
  • в сентябре 2015 года специалисты немецкой ERNW опубликовали отчет о пяти уязвимостях, найденных в продукте Malware Protection System компании FireEye. Одна из этих уязвимостей позволяла злоумышленникам получить доступ к системе, на которой установлена MPS.

Михаил Федоров, старший консультант Positive Technologies, поведал: «Большинство уязвимых мест являются следствием ошибок, которые непреднамеренно возникают при проектировании и разработке программного обеспечения. И если ошибки безопасности начнут искать не только на этапах сертификации, интеграции, обновления, но и при разработке, проще станет и органам аттестации, и производителям, и пользователям. Система PT Application Inspector стала одним из первых российских средств для практического внедрения SDLC — и пока по своим возможностям не имеет альтернатив, хотя я надеюсь, что важность данной области ИБ вскоре осознают все отраслевые игроки. Во всяком случае, это понимают в ФСТЭК, где подготовили современный национальный стандарт по безопасной разработке ПО для средств защиты информации: в нем есть и code review, и vulnerability assessment, причем Виталий Лютиков на недавней выставке InfoSecurity Russia 2015 назвал отсутствие процедур безопасной разработки российских СЗИ одной из пяти главных проблем в сфере информационной безопасности».

Ход проекта

В системе PT Application Inspector удалось скомбинировать статический анализ с частичным и полным выполнением программ, благодаря использованию символических вычислений и интерактивной трассировки части приложения в виртуальной «песочнице». Это помогает обрабатывать динамические зависимости, раскрывать функции и классы, специфичные для библиотек и фреймворков, и в целом - моделировать прохождение потока данных через логическую схему приложения. Использование такого подхода дает возможность анализа, как частичного исходного кода, так и полностью собранного и развернутого приложения, а также обеспечивает снижение числа ложных срабатываний за счет учета «контекста» и широкое покрытие кода приложения.

Итог проекта

Владимир Потапов, начальник группы анализа недекларированных возможностей Института инженерной физики, пояснил: «Специалисты нашей лаборатории искали отечественный инструмент для обнаружения уязвимостей в исходном коде, но с принципиально новыми технологиями, которые, в отличие от простого поиска по шаблонам, позволяют вычислять уязвимости, уникальные для сертифицируемого средства защиты. Именно таким инструментом оказался продукт компании Positive Technologies — Application Inspector, предназначенный для анализа безопасности исходного кода приложений путем использования комбинации методов статического, динамического и интерактивного анализа. Особенностью PT AI, которая выделяет его среди всех известных инструментов этого класса, является генерация скриптов для подтверждения наличия обнаруженных уязвимостей (эксплойтов). Стоит отметить и полноценную возможность анализа основных популярных языков программирования, используемых для создания современных веб-приложений. Уровень точности обнаружения уязвимостей с использованием PT AI позволил нашему институту вывести контроль НДВ при испытательных работах по сертификации средств защиты на новый качественный уровень».