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

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

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

 

 

  1. Введение
  2. Анализ программного кода объекта оценки на уязвимости и НДВ в процессах жизненного цикла ПО
  3. Анализ программного кода на уязвимости и НДВ после завершения разработки ПО
  4. Дифференциация требований к УД СЗИ в зависимости от класса (категории/уровня) защищенности объекта
  5. Выводы

 

Введение

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

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

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

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

 

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

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

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

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

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

 

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

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

 

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

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

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

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

 

Рисунок 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 приведена дифференциация требований к УД СЗИ в зависимости от класса (категории/уровня) объекта защиты.

 

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

УД СЗИ КИИ (категория) ГИС АСУ ТП ИСПДн
(уровень защищенности ПДн)
(класс защищенности)
6 3 3 3 3, 4
5 2 2 2 2
4* 1 1 1 1
1, 2, 3 Государственная тайна
* включая информационные системы общего пользования II класса

 

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

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

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

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

 

Выводы

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

Авторы:

Сергей Устенко.

Виктория Павлова, инженер-проектировщик группы интеграции в Газинформсервис.

Полезные ссылки: 
Anti-Malware TelegramПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новые статьи на Anti-Malware.ru