Проблема обнаружения уязвимостей и недекларированных возможностей специалистами в жизненном цикле ПО автоматизированных систем становится все более актуальной в последние годы, особенно в связи с активизацией работ по импортозамещению, использованием свободного ПО, развитием масштабных проектов систем корпоративного уровня в различных отраслях народного хозяйства.
Автор: Борис Позин, технический директор ЗАО «ЕС-лизинг», д.т.н., профессор базовой кафедры “Информационно-аналитические системы” МИЭМ НИУ ВШЭ, главный научный сотрудник ИСП РАН
Особенностью проектов во многих случаях являются масштаб разработки и сложная архитектура ПО, состоящего из нескольких взаимодействующих доверенных приложений, разработанных разными командами, возможно, на разных языках программирования. Ожидаемая длительность эксплуатации таких систем составляет десятки лет при необходимости внесения изменений в доверенное ПО без остановки его использования.
Эти факторы действуют одновременно, в разной степени для разных отраслей и требуют отработки вопросов создания такого ПО как технологически (на уровне регламентации процессов), так и на уровне формирования инструментальных комплексов для автоматизации. Такие автоматизированные технологические процессы должны функционировать в течение длительного периода и в разрабатывающей, и в эксплуатирующей организациях.
Нормативная база (ГОСТ Р 56939–2016 и последующие по этому направлению от ТК 362) и уровень освоения специалистами отрасли современных методов разработки предполагают, что существенное повышение качества обнаружения уязвимостей и недекларированных возможностей может быть достигнуто на основе применением комплекса инструментальных средств как разработчиками, так и специалистами, осуществляющими интеграцию, эксплуатацию и сопровождение прикладного ПО.
Стратегически внедрение автоматизированного технологического процесса позволит:
- Получить инструменты для быстрого и глубокого анализа наличия уязвимостей в разрабатываемом, сопровождаемом или развиваемом приложении, одновременно повысив квалификацию персонала, который этим занимается.
- Разработать и реализовать системное решение в области реализации доверенного ПО.
- Поставить под контроль количество и качество заимствованных компонентов свободного ПО и используемых библиотек Open Source.
Вместе с тем средства автоматизации, доступные на рынке, являются довольно сложными с точки зрения их освоения, осмысления их технологических особенностей и возможности использования в конкретной организации. К тому же в настоящее время в отраслях пока еще не образованы службы, ответственные за технологию создания, сопровождения и развития доверенного ПО. Они еще только формируются с учетом особенностей технологии ведения работ, возможностей инструментальных средств и режимов их использования.
Стоит отметить, что инструментальные средства покупаются для проекта на все время жизненного цикла ПО: то есть на 10–20 лет в зависимости от типа разрабатываемой системы. С этой точки зрения приобретение комплекса инструментальных средств – это стратегические инвестиции в технологию жизненного цикла доверенного ПО, а также и в его качество.
Но в настоящее время для решения задачи поиска уязвимостей заказчик, по сути, может приобрести только набор инструментов, который ему самостоятельно придется встраивать в свою инфраструктуру, попутно ее совершенствуя. Отдельные инструментальные средства необходимо интегрировать между собой в рамках технологического процесса. Это весьма трудоемкая работа, которая требует довольно высокой квалификации системных администраторов, технологов по разработке безопасного ПО и по изучению инструментальных средств.
Естественно, инструментальные средства внедряются медленно, снижая ожидаемую эффективность на начальном этапе.
Возможен ли другой подход?
Альтернативным решением может стать продукт, в котором заранее интегрированы несколько инструментальных средств. Интеграция предполагает согласование типовых технологических сценариев применения инструментальных средств при выполнении некоторых фрагментов технологического процесса, актуальных для типовых архитектур ПО и стадий его сопровождения или развития. В таком случае заказчику не нужно осуществлять работы по интеграции инструментальных средств, поскольку это уже сделано поставщиком с участием опытных системных администраторов, вендоров и подтверждено комплексными тестами.
Дополнительно можно получить от интегратора курсы переподготовки и пилотные проекты на собственных примерах.
Такое решение реализовано в рамках разработанной совместно компанией ЕС-лизинг (интегратор) и ИСП РАН автоматизированной системы «Центр Кибербезопасности» (АС ЦКБ). АС ЦКБ является результатом интеграции преимущественно отечественных инструментальных средств компаний ИСП РАН, «Профископ», работающих в средах ОС Альт и Astra Linux, а также включает необходимые официальные версии компиляторов С, С++, Java (Axiom JDK), Go, Python. В качестве СУБД используется PostgreSQL Enterprise.
АС ЦКБ оснащена комплектом документации, в том числе технологической. Разработаны учебные курсы по применению основных инструментальных средств, готовится их версия для преподавания специалистами МИЭМ НИУ ВШЭ с выдачей государственных сертификатов о прохождении программ обучения и переподготовки. В процессе обучения все участники работают на защищенном стенде и используют тестовые примеры на вышеуказанных языках общим объемом порядка 5,5 млн строк.
ITSec_articles