Безопасность программного обеспечения

Изображение: Freepik
Содержание:
- Современный ландшафт угроз
- Основные принципы безопасной разработки
- Методы защиты на этапе поставки и лицензирования
- Методы защиты во время исполнения
- Криптография – одно из ключевых направлений по защите данных
- Защита от реверс-инжиниринга и модификации
- Мониторинг и оперативное реагирование
- Кейсы успешного применения (2023-2024)
- Современные тренды и перспективы
- Заключительные мысли о многоуровневой защите
Защита программ – это комплекс мероприятий, направленных на обеспечение безопасности ПК, серверов, сетевого оборудования, контейнерных и безсерверных (serverless) сред, включая удаленные хосты, облачные сервисы, рабочие станции. Включает меры, подразумевающие исключение рисков несанкционированного доступа и несанкционированного приобретения, применения и распространения программного обеспечения. Отдельным направлением является модификация или взлом софта, в том числе с целью изучения, воссоздания аналогов.
Выбор методов защиты программного обеспечения зависит от специфики, назначения IT-системы, относительно которой проводятся мероприятия. В общем случае настраивают мониторинг и анализ исходного кода, чтобы своевременно выявлять угрозы, как старого типа, так и нового. Последнее позволяет превентивно настраивать защитные механизмы, устранять «дыры», приводящие к доступу посторонних. В статье мы разберем основные риски, как с ними борются системные администраторы.
Современный ландшафт угроз
Ландшафт угроз – совокупность киберугроз, уже выявленных и потенциальных, которые касаются отдельно взятой компании, отрасли или группы пользователей. В это понятие включены уязвимости в существующем ПО, компьютерные вирусы, действия хакеров, представляющие опасность для IT-инфраструктуры, пользовательских данных.
На изменение ландшафта угроз влияют факторы:
- Раскрытие новых уязвимостей, позволяющих злоумышленникам атаковать систему.
- Выпуск новых релизов программного обеспечения с дополнительным функционалом.
- Создание аппаратных платформ, предназначенных для вычислений, облачных сервисов.
- Глобальные события, вынуждающие организацию внести изменения в свою ИТ-систему.
- Supply-chain атаки (например, Log4Shell CVE-2021-44228, SolarWinds, компрометация контейнерных образов).
Перечисленные риски преимущественно связаны с пренебрежением безопасностью. Разработчики не уделяют достаточно внимания мерам защиты от внешних угроз. Иногда речь идет о чрезмерной сложности создаваемой архитектуры, из-за чего становится сложно понимать, как защищать, тестировать и поддерживать систему.
Минимизировать риски можно, например, с помощью четкого распределением привилегий, разделением ответственности между компонентами информационных систем и др. Обязательно использование современных методов шифрования (в том числе отечественных), особенно, при передаче данных. ИТ-инфраструктуру нужно планировать так, чтобы любой элемент можно было обновить, заменить без вмешательства в остальные.
Но это не исключает полностью риски внешних воздействий:
- Социальная инженерия через электронную почту, соцсети, мессенджеры и другие каналы коммуникаций.
- Воздействие через поставщиков услуг, интеграторов, вендоров ПО.
- Покупка учетных записей в даркнете и кибератаки через них.
На современном ландшафте заметен рост количества кибератак с использованием искусственного интеллекта (ИИ). Площадь воздействия активно смещается с периметра интернета в «облака», которые содержат базы корпоративных, персональных данных, включая информацию о банковских счетах и прочих финансовых, критически важных сведений.
Основные принципы безопасной разработки
Первоисточник многих уязвимостей – ошибки при разработке программного и/или аппаратного обеспечения (например, передача токенов в открытом доступе прямо в коде). Чтобы избежать подобного, используют подход Secure by Design (или Secure by Default)», подразумевающий создание систем, максимально устойчивых к атакам, свободных от уязвимостей. Чтобы добиться такого, меры безопасности интегрируют в архитектуру, программный код.
Первоисточник многих уязвимостей – ошибки при разработке программного и/или аппаратного обеспечения (например, передача токенов в открытом доступе прямо в коде). Чтобы избежать подобного, используют подход Secure by Design (или Secure by Default)», подразумевающий создание систем, максимально устойчивых к атакам, свободных от уязвимостей. Чтобы добиться такого, меры безопасности интегрируют в архитектуру, программный код.
Основой защиты является практика Secure Coding, включающая ряд стандартов:
- OWASP – набор рекомендаций в виде чек-листов с перечислением методов профилактики. Например, проверки входных данных, управление паролями и пр.
- CERT – набор руководств, созданных институтом разработки программного обеспечения, помогающий разработчикам писать безопасный код на конкретных языках (C, Java и т.д.).
- MISRA C – набор промышленных стандартов от ассоциации MISRA, адаптированный под разработку на языке Си.
- Интеграция Security в SDLC (Software Development Life Cycle). В Security SDLC входит: планирование, анализ, дизайн, разработка, тестирование (сканеры SAST/DAST/IAST), RASP (Contrast Security, Hdiv), интеграция, деплой и поддержка.

Все чаще в разработке применяются анализаторы кода, упомянутые выше. SAST, позволяющий выявить уязвимости на ранних стадиях разработки. Например, Solar appScreener или PVS-Studio. DAST, позволяющий проводить динамическое тестирование приложений, например, PT BlackBox, предполагающее имитацию действий потенциального злоумышленника. IAST, выполняющий интерактивное тестирование безопасности приложений, например, Synopsys Seeker. Это позволяет заранее устранять «дыры» в софте.
Методы защиты на этапе поставки и лицензирования
Несколько усложняет ситуацию повальный переход на облачные сервисы, цифровые виды поставок программного обеспечения. Чтобы снизить риски внедрения вредоносного кода приходится ставить ограничения по доступу к коду и инфраструктуре разработки. Одним из эффективных методов является верификация и валидация, в том числе с использованием цифровых подписей.
Также популярно использование цифровых подписей DRM пакетов (in-toto, SBOM), традиционный (Digital Rights Management — это технология управления цифровыми правами доступа, предназначенная для защиты информации от несанкционированного доступа, копирования и распространения), проверка контрольных сумм инсталляторов. Она позволяет:
- Ставить ограничения или блокировать изменение, копирование, печать контента.
- Запрещать снимать скриншоты критически важной информации, отображаемой на экране.
- Выбирать IP-адреса, регионы, на которые распространяются ограничения.
- Размещать динамические водяные знаки на изображениях, видео.
Рекомендуется внедрять SBOM (Software Bill of Materials) для инвентаризации компонентов и in-toto для цифровой подписи и верификации этапов сборки, «Verifiable Builds» (Provenance), CVE-сканеры контейнеров (например, Trivy, Clair) для выявления слабых мест до развертывания, использовать платформы для контроля безопасности контейнеров (например, Luntry).
Несмотря на все меры защиты, вредоносный код может проникнуть на этапах поставки или эксплуатации. Чтобы понять, с какими типами угроз вы можете столкнуться, и как их распознать, читайте нашу статью «Виды вирусов и вредоносных программ».
Методы защиты во время исполнения
Первоочередная задача при запуске программного обеспечения – это убедиться в его целостности, в отсутствии уязвимостей и вредоносного кода (в том числе в применяемых open-source библиотеках). Это существенно снижает риски кражи данных, разных манипуляций с информацией. Чаще всего прибегают к генерации хэша, сравнении его изначального состояния и полученного при проверке.
Некоторые области применения хэшей:
- Идентификация документа, подтверждение его неизменяемости.
- Проверка файлов, скачиваемых с удаленных хостов.
- Контроль версий программного обеспечения.
- Защита авторских прав и т.п.
В более ответственных системах применяют антиотладочные и анти-тампер-механизмы. Первые предназначены для защиты от несанкционированного использования отладчиков, которые нередко становятся инструментом кражи данных, манипуляций поведением софта. Вторые ограничивают возможности изменения кода, в том числе прямо во время его исполнения.
Последнее отследить сложнее всего. Рациональнее заранее внедрить защиту, например, технологию ASLR (address space layout randomization — это технология, созданная для усложнения эксплуатации некоторого класса уязвимостей), предполагающую размещение критически важных структур в памяти операционных систем случайным способом. Это исключает атаки, основанные на знании адресов хранения. В дополнение к ней используется технология DEP (Data Execution Prevention — предотвращение выполнения данных), она отслеживает определённые области памяти или страницы и предотвращает выполнение на них вредоносных кодов.
Не стоит забывать и про Control-Flow Integrity (CFI), W^X, аппаратные зоны изоляции (ARM TrustZone, Intel SGX, AMD SEV).
Криптография – одно из ключевых направлений по защите данных.
Программные и аппаратные решения СКЗИ обеспечивают недоступность информации посторонним как при хранении, так и при передаче даже через незащищенные каналы передачи данных.
Функционал криптографических средств:
- Шифрование файлов, в том числе «на лету» на компьютере-источнике.
- Дешифрование на компьютере-получателе для получения доступа, обработки.
- Аутентификация устройств и пользователей для подтверждения их подлинности.
- Формирование, проверка электронных подписей, целостности документов.
Некоторые примеры СКЗИ: КриптоПро CSP, Рутокен ЭЦП 3.0, ESMART Token Token. Все решения имеют сертификаты от ФСБ России, подтверждающие выполнение требований регуляторов. Параллельно с СКЗИ (средства крипт. защиты) распространено использование инфраструктуры открытых ключей (PKI).

Она предназначена для создания цифровых подписей, требуемых для подтверждения целостности электронных документов, в том числе договоров, отчетности. Наличие такой «метки» гарантирует, что файл после подписания не меняли и он действительно поступил от заявленного адресата.
При помощи инфраструктуры PKI защищают веб-сайты, электронную почту, корпоративные сети и VPN, программное обеспечение. Этот инструмент включает два криптографических ключа: один из них открытый, доступный для всех желающих, а второй закрытый, хранящийся у владельца.
К самым известным аппаратным инструментам относятся КриптоПро HSM, ViPNet HSM сертифицированные по требованиям ФСТЭК России. Они могут использоваться, например, для защиты чувствительных данных, в финансовом, медицинском, государственном учреждениях и не только.
Защита от реверс-инжиниринга и модификации
Разработчики программного обеспечения постоянно работают над защитой от взлома продуктов, выпускаемых на рынок. Полностью исключить такие риски практически невозможно, поэтому в фокус ставится создание способов максимально усложнить процесс.
Помимо обфускации, уже рассмотренной выше, используют методы:
- Защит инфраструктуры.
- Подписание приложений уникальными цифровыми ключами.
- Внедрение функций проверки целостности и сигнатуры.
- Байткод-мутация, split-execution (критические модули на сервере), white-box Crypto.
Популярные инструменты – Themida, VMProtect. Они умеют обнаруживать отладчики, даже такие, что работают на уровне ядра. Также обеспечивается защита от создания дампов памяти, шифровка данных вплоть до иконок.
Интересны технологии мутации и виртуализации. Первая подразумевает изменение ассемблерного кода, что усложняет его автоматический анализ. Вторая же преобразует программу в такой формат, который получится запустить только в «родной» виртуальной машине.
Мониторинг и оперативное реагирование
Несмотря на появление большого количества автоматизированных инструментов для защиты, они неспособны полностью заменить человека. Роль специалистов остается значительной при анализе, например, выявленных аномалий и инцидентов. Это помогут обнаружить необычную активность еще до того, как система обнаружит факт взлома или проникновение вирусов.
Комплексную защиту организуют при помощи систем подобных SIEM, SOAR и EDR и др. В комплексе данные решения позволяют получать сведения обо всей инфраструктуре, включая события, журналы, статусы устройств. На базе сводного реестра принимается решение, оповещать ли администратора о потенциальной угрозе или все-таки инфраструктура работает в рамках штатных параметров.
Не стоит забывать и про средства защиты информации класса UEBA и внедрение SOC (Security Operation Center ).

Системы SIEM, SOAR (особенно в связке в SOC) удобны для расследования инцидентов безопасности. Решения EDR предполагают более целенаправленный подход к защите конечных точек. Применение технологий в комплексе позволяет локализовать угрозы до активного проявления, найти причины их образования, создать условия для предотвращения проблем в будущем.
Согласно ГОСТ Р ИСО/МЭК ТО 18044-2007 разбор инцидентов проходит в несколько этапов:
- Планирование и подготовка. Включает разработку и документирование политики компании, создание системы менеджмента инцидентов.
- Использование. Предполагает обнаружение и оповещение о возникновении событий ИБ, сбор информации и ее оценку, реагирование на инциденты.
- Анализ. Проводится после закрытия проблемы. На этом шаге изучают материалы, которые были собраны в процессе аудита, исправления ситуации, делают выводы.
- Улучшение. Вносятся изменения в ИТ-инфраструктуру, позволяющие избегать инцидентов такого рода в дальнейшем.
Например, в результате разбора инцидента была выявлена «дыра» в программном обеспечении. Для снижения рисков повторного проявления было установлено «горячее» обновление, разработанное с целью устранения уязвимости.
Чтобы глубже погрузиться в процессы управления инцидентами, узнать о современных методах реагирования и стандартах профилактики, читайте нашу статью «Управление инцидентами информационной безопасности». Там вы найдете практические рекомендации по минимизации рисков и улучшению защищенности вашей инфраструктуры.
Кейсы успешного применения (2023-2024)
Применение стандартизированного подхода к решению инцидентов ИБ, превентивные шаги дали неплохой результат по итогам 2024 года. По статистике количество успешных кибератак на сектор финансов снизилось практически на треть (по сравнению с предыдущим, 2023 годом). Это стало возможным благодаря активному импортозамещению, государственному регулированию, росту инвестиций в кибербезопасность.
Кейс №1. Банк «Зенит»
На фоне растущих киберугроз банк «Зенит» принял решение внедрить в систему ИТ-безопасности мульти сервисное решение для автоматизации аудита и учета активов, подключенных к внутренней инфраструктуре.
Типовой функционал системы:
- Проведение аудита любых IT-активов.
- Построение карты взаимосвязей оборудования и софта.
- Сканирование на наличие ошибок, уязвимостей.
- Обеспечение комплексного управления.
Компании удалось отказаться от ручных методов выявления проблем, т.к. они оказались довольно неэффективными. Существенно сократилось время на проведение мониторинга, заметно снизилась потребность в специализированном персонале.
Кейс №2. «Росгосстрах»
Страховая компания «Росгосстрах» столкнулась с несколькими попытками кибератак. При взломе облачных сервисов было украдено порядка 730 тыс. клиентских профилей, 1 млн полисов, 3 млн справок из банков. Чтобы избежать подобных проблем в будущем, было решено внедрить в свою ИТ-систему инструмент класса VM (Vulnerability Management).
Программный комплекс включает модуль предобследования, сбора информации, адаптивного обнаружения и детектирования, сканирования. Отдельный набор функций позволяет подтвердить наличие ранее обнаруженных рисков, сформировать отчет, уведомить о ситуации пользователя по СМС, Email или через мессенджер. Поддерживается интерфейс API.
Кейс № 3. Внедрение InfoWatch DLP + SIEM в госсекторе
Федеральный орган, хранящий ПДн граждан, столкнулся с утечками через почту и USB. Цель: объединить DLP и SIEM для проактивного мониторинга и блокировки несанкционированной передачи данных.
Решение:
InfoWatch DLP (Data Loss Prevention — предотвращение утечек информации): агенты на рабочих станциях и почтовых шлюзах, контент-анализ ПДн (СНИЛС, паспорта, реквизиты).
SIEM (Security Information and Event Management — собирает и анализирует журналы событий): сбор логов от DLP, серверов, сети; корреляция по сценарию «экфильтрация + подозрительное поведение», UEBA-модули.
Результаты:
- Утечки ↓ 85% за 3 мес.
- MTTD – 30 мин, MTTR – 1 ч.
- Экономия до 15 млн ₽ штрафов, – 40% затрат на расследования.
- Соответствие ФЗ-152, ФЗ-187.
Современные тренды и перспективы
Вслед за злоумышленниками владельцы крупных компаний начинают активно внедрять технологии AI/ML (искусственный интеллект и машинное обучение). Особенно популярны большие языковые модели (Large Language Model, LLM) — нейронные лингвистические сети. Часто все эти термины группируют и называют как ИИ. ИИ помогают обнаруживать киберугрозы, отлично противостоят искусственному интеллекту, используемому для хакерских атак.
Перспективы тренда:
- Выявление атак нулевого дня (0-day).
- Возможность машинного обучения систем.
- Интеграция с другими технологиями.
- Zero Trust Architecture (архитектура безопасности с нулевым доверием) и SASE (Secure Access Service Edge — объединяет сетевые функции и меры безопасности в одном решении, обеспечивая защиту данных и доступ к приложениям независимо от их местонахождения).
- GitOps (методология, которая взяла лучшие практики из разработки и перенесла их на инфраструктуру) + непрерывный Chaos Security Testing (метод проверки безопасности системы, при котором намеренно вводятся контролируемые сбои с целью наблюдения и анализа реакции системы).
- Импортозамещение, выполнение требований регуляторов.
За основу многие специалисты берут концепцию Security SDLC в рамках методологии DevSecOps, подразумевающую внедрение различных инструментов безопасности для защиты интеграции, доставки и развертывания ПО в непрерывном режиме. По прогнозам Gartner к 2026 году к ней прибегнут до 70% организаций.
Заключительные мысли о многоуровневой защите
Толчок в развитии технологий, заданный массовой цифровизацией и активным применением ИИ, вынуждает переходить комплексные решения, использовать лучшие практики, безопасные методологии и концепции. Полагаться только на одну меру неэффективно. Многоуровневая защита программного обеспечения обеспечивает ключевые принципы информационной безопасности – конфиденциальность, целостность, доступность.
Также помогает интеграция безопасности в жизненный цикл разработки приложений, применение принципа минимальных привилегий, регулярное обновление софта. Стало нормой систематически проводить мониторинг безопасности ИТ-систем, обучение пользователей принципам ИБ.
Хотите глубже разобраться в защите от киберугроз?
Эффективная защита программного обеспечения невозможна без глубокого понимания современных угроз и технологий их нейтрализации. Чтобы внедрять передовые практики Security SDLC, анализировать инциденты и строить многоуровневую защиту, важно постоянно повышать квалификацию.
Узнайте больше о методологиях, инструментах и стандартах информационной безопасности в нашем разделе «Обучение кибербезопасности» — там вы найдете курсы по анализу угроз, защите кода, управлению инцидентами и другим ключевым темам.

Станьте экспертом в области информационной безопасности!
