Испытательная лаборатория Института инженерной физики, аккредитованная в системах сертификации ФСТЭК, ФСБ и Минобороны России, объявила о внедрении системы анализа исходного кода PT Application Inspector в свою инфраструктуру для тестирования и сертификации средств защиты информации. Продукт компании Positive Technologies поможет одной из крупнейших российских лабораторий автоматизировать процесс выявления уязвимостей при контроле недекларированных возможностей (НДВ) — в соответствии с новыми требованиями и рекомендациями ФСТЭК.
Согласно последним нормативам ФСТЭК, при сертификации защитного ПО испытательным лабораториям необходимо не только контролировать отсутствие НДВ (функциональных возможностей средств вычислительной техники, не описанных или не соответствующих описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации), но и осуществлять поиск уязвимостей — недостатков защищенности, вызванных ошибками проектирования и разработки.
Олег Матыков, руководитель отдела проектных решений Positive Technologies:
«Требование о поиске уязвимостей отражает более современный, практический взгляд на безопасность. Классическое представление о "недокументированных возможностях" связано с изучением функций продукта и проверкой их на соответствие заявленным в документации. Но даже если приложение работает правильно с точки зрения функциональности и не содержит "закладок", это не гарантирует его защищенности в реальной ситуации. Изначально не замеченные ошибки кода и конфигурации, слабые механизмы аутентификации и другие внутренние недостатки системы могут приводить к сбоям, утечкам, нарушению целостности и доступности. А с развитием целенаправленных атак даже небольшая уязвимость может стать частью многоступенчатой схемы промышленного шпионажа или саботажа. Именно поэтому ФСТЭК указывает на необходимость поиска всех возможных уязвимостей, а не только НДВ».
В настоящее время ФСТЭК рекомендует лабораториям проводить анализ уязвимостей даже на низких уровнях контроля (НДВ 4), а в сертификации программного обеспечения по второму уровню НДВ данная процедура является обязательной. При этом на всех уровнях контроля НДВ регулятор предписывает применение, в том числе, сигнатурного анализа кода.
«Сигнатурный анализ является одним из важнейших этапов сертификации, так как именно с ним связано большинство случаев выявления НДВ, — продолжает Олег Матыков. — Но большинство анализаторов кода, используемых при сертификации, проводят такой анализ самым простым методом поиска по шаблону (pattern matching), что вкупе с астрономическим количеством ложных срабатываний сильно снижает практическую ценность этой процедуры. В системе анализа исходного кода PT Application Inspector применяется комбинация методов DAST, SAST и IAST, что позволяет радикально уменьшить количество ложных срабатываний и разглядеть опасные уязвимости».
В 2015 году исследователи обнаружили немало уязвимостей в распространенных средствах защиты информации. Так, команда экспертов по безопасности Google в июне опубликовала отчет о серьезной уязвимости в антивирусе ESET NOD32, а в сентябре обнародовала информацию о 8 уязвимостях в «Антивирусе Касперского», которые позволяли удаленное выполнение кода. Кроме того, в сентябре специалисты немецкой ERNW опубликовали отчет о пяти уязвимостях, найденных в продукте Malware Protection System компании FireEye. Одна из этих уязвимостей позволяла злоумышленникам получить доступ к системе, на которой MPS была установлена.
Михаил Федоров, старший консультант Positive Technologies:
«Большинство уязвимых мест являются следствием ошибок, которые непреднамеренно возникают при проектировании и разработке программного обеспечения. И если ошибки безопасности начнут искать не только на этапах сертификации, интеграции, обновления, но и при разработке, проще станет и органам аттестации, и производителям, и пользователям. Система PT Application Inspector стала одним из первых российских средств для практического внедрения SDLC — и пока по своим возможностям не имеет альтернатив, хотя я надеюсь, что важность данной области ИБ вскоре осознают все отраслевые игроки. Во всяком случае, это понимают во ФСТЭК, где подготовили современный национальный стандарт по безопасной разработке ПО для средств защиты информации: в нем есть и code review, и vulnerability assessment, причем
Виталий Лютиков на недавней выставке InfoSecurity Russia 2015 назвал отсутствие процедур безопасной разработки российских СЗИ одной из пяти главных проблем в сфере информационной безопасности».
Цена исправления ошибки, допущенной на этапе проектирования, в среднем вырастает как минимум в 5 раз на этапе разработки. Логично, что появляется желание исправить максимум уязвимостей как можно раньше. Но если инструменты автоматизации неэффективны и работают разрозненно, внедрение Secure SDL может оказаться дорогостоящим мероприятием без особого результата. Инструменты статического анализа (SAST) показывают не конкретные проблемы безопасности и способы их устранения, а ошибки программирования, что приводит к огромному количеству ложных срабатываний. Методом динамического анализа (DAST) нельзя выявить уязвимости на этапе разработки, зато можно привести к сбою уже работающее приложение. Сходными недостатками обладает и метод интерактивного анализа (IAST), для которого не только требуется «живая» система, но еще и возможность изменять ее код.
В системе PT Application Inspector удалось скомбинировать статический анализ с частичным и полным выполнением программ, благодаря использованию символических вычислений и интерактивной трассировки части приложения в виртуальной «песочнице». Это позволяет обрабатывать динамические зависимости, раскрывать функции и классы, специфичные для библиотек и фреймворков, — и в целом моделировать прохождение потока данных через логическую схему приложения. Использование такого подхода дает возможность анализа как частичного исходного кода, так и полностью собранного и развернутого приложения, а также обеспечивает снижение числа ложных срабатываний за счет учета «контекста» и широкое покрытие кода приложения.
Владимир Потапов, начальник группы анализа недекларированных возможностей Института инженерной физики:
«Специалисты нашей лаборатории искали отечественный инструмент для обнаружения уязвимостей в исходном коде, но с принципиально новыми технологиями, которые, в отличие от простого поиска по шаблонам, позволяют вычислять уязвимости, уникальные для сертифицируемого средства защиты. Именно таким инструментом оказался продукт компании Positive Technologies — Application Inspector, предназначенный для анализа безопасности исходного кода приложений путем использования комбинации методов статического, динамического и интерактивного анализа. Особенностью PT AI, которая выделяет его среди всех известных инструментов этого класса, является генерация скриптов для подтверждения наличия обнаруженных уязвимостей (эксплойтов). Стоит отметить и полноценную возможность анализа основных популярных языков программирования, используемых для создания современных веб-приложений. Уровень точности обнаружения уязвимостей с использованием PT AI позволил нашему институту вывести контроль НДВ при испытательных работах по сертификации средств защиты на новый качественный уровень».