Обзор требований ФСТЭК России к анализу программного кода средствами защиты информации

26 декабря 2019
Обзор требований ФСТЭК России к анализу программного кода средствами защиты информации

Главный редактор Anti-Malware.ru Александр Панасенко подготовил обзор одного из наиболее интересных ИБ-проектов последнего года — приказ №131 ФСТЭК России о требованиях к безопасности информации.

Введение

В июле 2018 года Федеральная служба по техническому и экспортному контролю (далее — ФСТЭК России) представила приказ №131 об утверждении «Требований по безопасности информации, устанавливающих уровни доверия (далее — УД) к средствам технической защиты информации и средствам обеспечения безопасности информационных технологий». В соответствии с новым перечнем требований для средств защиты информации (далее — СЗИ) устанавливаются УД, характеризующие безопасность их применения для обработки и защиты информации, содержащей государственную тайну, конфиденциальные сведения или данные ограниченного доступа. По новым правилам в отношении СЗИ всех уровней доверия должны проводиться исследования по выявлению уязвимостей и недекларированных возможностей (далее — НДВ) в соответствии с методикой, разработанной в дополнение к приказу №131 и утвержденной ФСТЭК России в феврале 2019 года.

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

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

Анализ программного кода на уязвимости и НДВ в процессах жизненного цикла ПО

В соответствии с ГОСТ Р 56939-2016 «Защита информации. Разработка безопасного ПО. Общие требования» можно обеспечить реализацию и проведение мер по разработке безопасного программного обеспечения непосредственно в процессах его жизненного цикла. Целесообразно проводить исследования по выявлению уязвимостей и НДВ:

  • при выполнении проектирования и разработки ПО (этап разработки);
  • при выполнении квалификационного тестирования ПО (этап тестирования);
  • при выполнении инсталляции программы и поддержки приемки ПО (этап реализации и эксплуатации).

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

Схема использования СЗИ для анализа кода в процессах жизненного цикла ПО представлена на рисунке 1.

Изображение Anti-Malware.ru: Рисунок 1. Схема использования СЗИ для анализа кода в процессах жизненного цикла ПО
 

Анализ программного кода на уязвимости и НДВ после завершения разработки ПО

В соответствии с требованиями методики ФСТЭК России, разработанной в дополнение к приказу №131, можно осуществить проверку кода уже готового к эксплуатации ПО с привлечением испытательных лабораторий (или СЗИ).

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

Схема использования СЗИ для анализа кода после завершения разработки ПО приведена на рисунке 2.

Изображение Anti-Malware.ru: Рисунок 2. Схема использования СЗИ для анализа кода после завершения разработки ПО

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

Исследования по выявлению уязвимостей и НДВ состоят из следующих этапов:

  1. подготовка к проведению исследований;
  2. проведение исследований программы с привлечением СЗИ для анализа кода;
  3. разработка протокола исследований с привлечением СЗИ для подготовки отчетности по результатам исследований.

Рекомендуемый набор требований, предъявляемых к инструменту статического анализа в СЗИ:

  • автоматизация анализа исходного кода;
  • масштабируемость;
  • низкий уровень ложных срабатываний;
  • подробные и понятные отчеты;
  • отслеживание результатов хранения.

На данный момент наиболее актуальным инструментом для хранения и обработки информации являются системы на платформе SAP NetWeaver. В качестве СЗИ для проведения исследований по выявлению уязвимостей и недекларированных возможностей в программном ABAP-коде данных систем рассмотрим программный модуль (далее — ПМ) SafeERP Code Security (в составе СЗИ SafeERP), разработанный ООО «Газинформсервис». Этот модуль использует статический метод анализа кода.

Для проведения исследований на проверяемые системы устанавливается программный компонент клиентской части SafeERP Code Security, отвечающий за сбор и передачу данных (для последующего анализа) на сервер управления. Приведем пример использования модуля в процессах жизненного цикла ПО на описанных выше этапах.

1. Разработка. ПМ включается в список инструментов для проверки среды разработки (ABAP-редактора) как основное средство анализа кода. Проверка на наличие небезопасных конструкций может проводиться непосредственно в момент разработки ПО через вызов модуля из основного меню ABAP-редактора.

2. Тестирование. Проверка на наличие небезопасных конструкций проводится посредством анализа выбранных программных пакетов тестируемого ПО непосредственно на тестовой системе.

3. Эксплуатация. Проверка на наличие небезопасных конструкций проводится посредством анализа выбранных программных пакетов вновь разработанного или эксплуатируемого ПО непосредственно на системе эксплуатации.

4. Перенос транспортных запросов. ПМ включается в организатор переносов как основной инструмент для анализа кода. При деблокировании запросов (при переносе программного кода) автоматически выводятся предупреждения о наличии небезопасных конструкций в случае их обнаружения (запрос не деблокируется).

Модуль SafeERP Code Security реализует все требования, предъявляемые к инструменту анализа программного кода:

  • автоматизация: анализ исходных текстов кода в автоматическом режиме (по расписанию) и без выгрузки кода из систем (кроме 1С);
  • масштабируемость: одновременный анализ различных путей выполнения кода;
  • низкий уровень ложных срабатываний: наличие алгоритма анализа кода «в глубину», с возможностью установки глубины уровня сканирования (уровень вложенности подпрограмм в проверяемых объектах);
  • подробные и понятные отчеты: наличие интерфейса и описания уязвимостей на русском языке с возможностью получения протоколов исследований (отчетов с результатами проверки) на всех этапах применения;
  • отслеживание результатов хранения: архивирование данных с возможностью получать сравнительные отчеты итераций анализа.

Для анализа программного кода рекомендуется выбирать СЗИ с уровнем доверия, который соответствует категориям сведений, содержащихся в проверяемой инфраструктуре или системе (дифференциация требований к УД в зависимости от класса (категории/уровня) защищенности объекта приведена в следующем разделе). Согласно требованиям приказа ФСТЭК России №131 SafeERP будет проходить сертификацию как СЗИ 5-го уровня доверия.

На данный момент СЗИ SafeERP применяется в ПАО «Газпром» (с 2010 г.) и ПАО «Норникель» (с 2017 г.). Ознакомиться с возможностями СЗИ SafeERP и установкой его программного модуля на системы для проведения исследований программного ABAP-кода можно на сайте ООО «Газинформсервис».

Дифференциация требований к УД СЗИ в зависимости от класса (категории/уровня) защищенности объекта

Согласно документам ФСТЭК России, к СЗИ относятся: межсетевые экраны, средства обнаружения вторжений, антивирусные программы, средства доверенной загрузки и контроля съемных носителей, другие решения в области информационной безопасности. В таблице 1 приведена дифференциация требований к УД СЗИ в зависимости от класса (категории/уровня) объекта защиты.


Таблица Anti-Malware.ru: Дифференциация требований к уровням доверия СЗИ

СЗИ, соответствующие 6-му УД, подлежат применению в значимых объектах критической информационной инфраструктуры (далее — КИИ) 3 категории, в государственных информационных системах (далее — ГИС) 3 класса защищенности, в автоматизированных системах управления производственными и технологическими процессами (далее — АСУ ТП) 3 класса защищенности, в информационных системах персональных данных (далее — ИСПДн) при необходимости обеспечения 3 и 4 уровня защищенности персональных данных.

СЗИ, соответствующие 5-му УД, подлежат применению в значимых объектах КИИ 2 категории, в ГИС 2 класса защищенности, в АСУ ТП 2 класса защищенности, в ИСПДн при необходимости обеспечения 2 уровня защищенности персональных данных.

СЗИ, соответствующие 4-му УД, подлежат применению в значимых объектах КИИ 1 категории, в ГИС 1 класса защищенности, АСУ ТП 1 класса защищенности, в ИСПДн при необходимости обеспечения 1 уровня защищенности персональных данных, в информационных системах общего пользования II класса.

СЗИ, соответствующие 1-му, 2-му и 3-му УД, применяются в информационных (автоматизированных) системах, в которых обрабатываются сведения, составляющие государственную тайну.  

Выводы

Мы разобрали наиболее важные аспекты работ, проводимых в соответствии с требованиями методик приказа №131 ФСТЭК России, а также основные причины инцидентов информационной безопасности и особенности проверки ПО на безопасность. Оптимизировать процесс перехода на новые требования регуляторов,  защитить системы и разработки поможет программный комплекс SafeERP, разработанный ООО «Газинформсервис».

Источник: anti-malware.ru

Читайте также: