http://www.ras.ru/digest/showdnews.aspx?id=eb14dc29-d5d5-40ca-a96d-9e6e06dcf896&print=1
© 2024 Российская академия наук

Защита информации

26.10.2020

Источник: ИНСАЙД, 26.10.2020, Леонид Раткин



Перспективные направления противодействия киберугрозам: системное программирование и компьютерная стеганография

Международный военно-технический форум «АРМИЯ-2020» был организован Министерством обороны (МО) РФ при содействии ряда профильных министерств и ведомств с 23 по 29 августа 2020 года в подмосковном парке «Патриот–Экспо». В рамках научной программы были проведены конференции и семинары по различным аспектам сотрудничества ученых и промышленников в военно-технической сфере: в частности, состоялся круглый стол «Системное программирование как ключевое направление противодействия киберугрозам». В роли организатора мероприятия выступил Институт системного программирования (ИСП) им. В.П.Иванникова Российской академии наук (РАН) Министерства науки и высшего образования РФ.

Круглый стол под председательством директора ИСП РАН академика РАН А.И.Аветисяна и заместителя директора ФСТЭК России В.С.Лютикова после вступительных слов Арутюна Ишхановича и Виталия Сергеевича открылся докладом сотрудника Академии ФСО России, д.т.н. А.В.Козачка о нормативном регулировании деятельности испытательной лаборатории Академии ФСО РФ в системе сертификации ФСТЭК России. Среди основных задач испытательных лабораторий ФСО России Александр Васильевич, в частности, отметил аттестацию объектов информатизации и сетей связи и разработку средств защиты информации в интересах ведомства с оценкой его соответствия требованиям по информационной безопасности (ИБ). Академия ФСО готовит специалистов по защите информации в рамках специальности 10.05.02 «Информационная безопасность телекоммуникационных систем», адъюнктов по направлению подготовки 10.07.01 «Информационная безопасность», проводит научные исследования и разработки для совершенствования методик проведения тематических исследований программного обеспечения (ПО). Также Академия ФСО совместно с ИСП РАН создали Лабораторию безопасного ПО и участвуют в работе ТК Т362 «Защита информации».

Нормативное регулирование деятельности Академии ФСО России при проведении сертификации по требованиям ФСТЭК России регламентируются Требованиями по ИБ, устанавливающих уровни доверия к средствам технической защиты информации и средствам обеспечения безопасности информационных технологий (утверждены приказом № 131 ФСТЭК России от 30.07.2018), методикой выявления уязвимостей и недекларированных возможностей в ПО (утверждена ФСТЭК России 11.02.2019), требованиями к средствам защиты информации (СЗИ), профилями защиты информации и ГОСТ Р 56939-2016 «Защита информации. Разработка безопасного ПО. Общие требования».

Опыт внедрения SDL-практик в отечественных компаниях был представлен в сообщении генерального директора АО «СИНКЛИТ» С.В.Хрыкова. Сергей Владимирович рассказал гостям и участникам форума об особенностях утвержденной ФСТЭК России 11.02.2019 Методики выявления уязвимостей и недекларированных возможностей в программном обеспечении и организованных на базе ИСП РАН курсов повышения квалификации по программе № 27 «Техническая защита информации. Инструментальная и технологическая поддержка методики выявления уязвимостей и недекларированных возможностей в ПО». Особое внимание было уделено проблемам при проведении сертификационных испытаний (СИ): например, выявлению на этапе СИ потенциальных уязвимостей ПО (до 10000 критических предупреждений при статическом анализе, и до 100 «падений», выявляемых в ходе динамического анализа, требующих детального анализа и модификации кода), а также доработке документации в части детализации поверхности атаки и глубины потенциальных атак, анализу и модификации процессов сборки ПО с необходимостью встраивания средств анализа в процессы сборки и внесения изменений в отлаженную технологию сборки ПО.

Разработанные и внедряемые SDL-практики содержат данные о ширине и глубине поверхности атаки на СЗИ, внедрении средств автоматизации при проверке на наличие уязвимостей кода в БД bdu.fstec.ru, cve.mitre.org и др., встраивании средств статического и динамического анализа непосредственнее в процесс разработки, внедрению лучших практик проведения статического и динамического анализа, приведения к единому формату отчетных материалов по тестированию. Среди основных результатов внедрения SDL-практик следует отметить создание сообщества единомышленников среди компаний-разработчиков ПО с организацией обмена лучшими практиками фаззинг-тестирования, реальная помощь во внедрении лучших инструментов статического и динамического анализа (Svace, Crasher, Anxiety и т.д.), апробация передовых методик с формированием предложений по совершенствованию инструментов статического и динамического анализа. Среди основных результатов внедрения SDL-практик следует отметить повышение качества разрабатываемого ПО, сокращение сроков СИ до 2-3 месяцев и уменьшение стоимости СИ на 20-40%. Например, на внедрение SDL-практик для команды до 20 разработчиков необходимы 2-3 специалиста (Junior/Middle-разработчик с навыками пентеста и интересом к саморазвитию), аппаратная платформа-вычислитель (от 0,5 до 1,5 млн.руб.), инструментальные средства (от 2 до 5 млн.руб.) и освоение SDL-практик (в зависимости от уровня подготовки – от 3 до 6 месяцев). Среди основных направлений совершенствования и развития SDL-практик – изучение возможностей статического анализатора Svace (ИСП РАН) с анализом компиляции и компоновки в процессе сборки, трассировкой распространения ошибок методом статического символьного выполнения и оценка эффективности сборки, учет опыта применения Svace с адаптацией под нужды отечественных экспертов и разработчиков с гарантированным выявлением ошибок в кодах, проверенных анализатором стандартного класса (приемлемый процент False Positive – на 1-2 порядка ниже, чем у OpenSource – средств) и исследование видов динамического анализа (ИСП РАН): например, фаззинг (Crusher), динамическое символьное выполнение (Anxiety) и полносистемная эмуляция и анализ распространения помеченных данных (ТРАЛ).

Внедрению безопасной разработки у лицензиата ФСТЭК, ФСБ, МО РФ было посвящено выступление руководителя службы сертификации ООО «Код безопасности» Д.И.Задорожного. Было отмечено, что согласно ГОСТ Р 56939-2016 «Защита информации. Разработка безопасного программного обеспечения» необходима реализация мер, направленных на предотвращение появления и устранения уязвимостей программ в процессах жизненного цикла (ЖЦ) ПО, при этом экспертиза исходного кода ПО его создателями нежелательна. Если внедрение через подразделение по пентесту предусматривает, в частности, пентест продуктов с опорой на модель угроз (например, Kali Linux Security), то продвижение SDL через отдел по безопасной разработке (ОБР) включает стат.анализ (для C/C++ - Svace от ИСП РАН с межмодульным анализом и SMT-решателем с маппингом на исходный код) и фаззинг (Crusher от ИСП РАН для взаимодействия с фреймворком динамического символьного выполнения Anxiety и AFLplusplus).

Внедрение SDL через ОБР предполагает фаззинг (цели компилируются с применением санитайзеров Asan, Ubsan, Lsan для повышения чувствительности анализа), покрытие собирается стандартными способами через gcov/lcov (для фаззинга python-кода применяется порт фаззера afl-python-afl, покрытие собирается через модуль Coverage). Использование Persistent mode (фаззинг внутри процесса) обеспечивает наибольшую производительность как для Windows, так и для GNU/Linux. Для фаззинга модулей применяется Syzkaller с набором санитайзеров KASAN, KUBSAN или KTSAN (разрабатываются новые варианты фаззинга с использованием эмуляции на базе QEMU (разработка ИСП РАН предусматривает фаззинг участков кода в дампе памяти). Для работы закуплено оборудование на базе процессоров AMD ERUS (2 блейда по 64/128 ядер): их выбор обусловлен применением аналогичных в ИСП РАН.

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

Выводы:

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

2. Внедрение SDL через ОБР позволяет активно внедрять в ЖЦ ПО статический анализ и фаззинг-тестирование, что упрощает выявление ошибок и их своевременное исправление. Целесообразна разработка методик по участию разработчиков в доработке точек входа для совершенствования целей фаззинга. Перспективна полная автоматизация процессов тестирования со встраиванием фаззинг-тестов в систему сборки, в т.ч., с применением технологий компьютерной стеганографии. Например, формирование стеганографических репозиториев со скрытым встраиванием фаззинг-тестов повышает эффективность сборки и отладки сложных программных комплексов, применяемых, в частности, для мониторинга ЖЦ военной продукции и изделий двойного назначения, производимых по контрактам на предприятиях ВПК США, ЕС и стран Юго-Восточной Азии.