Как стать автором
Обновить

SSC — software supply chain attacks. Атаки на цепочки поставок программного обеспечения

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.7K

Основные термины и определения

  • SSC - Software Supply Chain Attacks - атаки на цепочки поставок программного обеспечения. Это когда доступ к целевой системе атакующий получает не напрямую, а через внедрение в какой-либо используемый организацией продукт или компонент, которому она доверяет.

  • OSS - Open Source Software - программное обеспечение с открытым исходным кодом

  • Цепочка поставок программного обеспечения состоит из компонентов, библиотек, инструментов и процессов, используемых для разработки, сборки и публикации программного артефакта.

  • ENISA - Enisa Threat Landscape For Supply Chain Attacks - отчет по изучению атак в цепочке поставки.

  • Таксономия атак - это классификационная схема, которая структурирует знания о предметной области атак на компьютерные системы (АКС) и определяет отношения между элементами знаний. В целом, создание таксономий АКС позволяет осуществлять системное исследование вопросов защиты КС, в частности, структурировать статистические данные об атаках, выделять образцы типовых атак, и делать выводы на основании собранных данных.

  • APT атака - атака типа advanced persistent threat (APT-атака) - это хорошо организованная, тщательно спланированная кибератака, которая направлена на конкретную компанию или целевую отрасль.

Введение

Атаки на цепочку поставок - это угрозы, нацеленные на разработчиков программного обеспечения и поставщиков. Их основна цель - это получить доступ к исходным кодам, процессам сборки или механизмам обновления путем заражения допустимых приложений для распространения вредоносных программ. И очень часто это связано с использованием открытых и проприетарных заимствованных компонентов из различных источников. Согласно отчету Sonatype только в 2021 году скачивание компонентов с открытым исходным кодом (OSS) значительно увеличилось, поскольку это облегчает жизнь разработчикам и сокращает время на разработку и развитие.

Рисунок 1. Диаграмма увеличения скачиваний компонентов в зависимости от языка программирования
Рисунок 1. Диаграмма увеличения скачиваний компонентов в зависимости от языка программирования

Таким образом, атаки на конвейер сборки могут иметь огромные последствия, что также подтверждает Национальный центр кибербезопасности Великобритании (NCSC). Успешная атака на цепочку поставок может привести не только к большим финансовым и репутационным потерям, но и к компрометации ИТ-инфраструктуры и остановке производства.

Как защищенная организация может стать уязвимой

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

Реальный пример почему важно защитить цепочку поставок

В марте 2020 года хакерам удалось внедрить вирус в регулярное обновление ПО Orion от SolarWinds и получить доступ к сотням федеральных государственных учреждений и образовательных организаций США, а также более чем к 80% компаний из списка Fortune500. Злоумышленникам продолжительное время удавалось оставаться незамеченными и заниматься кражей информации. В 2021 году компании Европы, ближнего Востока и Африки в среднем подвергались 777 атакам в неделю, а в Азиатско-Тихоокеанском регионе этот показатель превысил 1,3 тысячи. от сюда можно сделать вывод, что сегодня, как никогда раньше, необходимо, чтобы цепочка поставок была включена в стратегию управления киберрисками.

Основная часть

Есть несколько видов атак на цепочку поставок, хотелось бы выделить основные и наиболее часто встречающиеся:

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

  • Аппаратные - атаки, направленные на устройства, например, веб-камеры, маршрутизаторы, клавиатуры. Чаще всего встречается внедрение бэкдоров в аппаратную часть. Злоумышленники будут избирать целью своих атак устройство, связанное со всей цепочкой поставок, чтобы максимально расширить масштаб атаки.

  • Микропрограммная атака на цепочку поставок - внедрение вредоносного ПО в загрузочный код компьютера занимает лишь считанные секунды. Вредоносная программа запускается после загрузки компьютера, из-за чего подвергается опасности вся система. Атаки на микропрограммное обеспечение бывают быстрыми, часто не обнаруживаются (если вы специально не защищаетесь от них) и очень опасны.

Структура атаки

Рисунок 2. Атака на цепочку поставок
Рисунок 2. Атака на цепочку поставок

Как правило, атаки цепочки поставок на информационные системы начинаются с APT, которая определяет участника сети поставок с наиболее слабой кибербезопасностью, чтобы повлиять на целевую организацию

Методы атак, используемые для компрометации цепочки поставок

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

Методы атак, используемые для компрометации цепочки поставок

Заражение вредоносным программным обеспечением

Шпионское ПО, используемое для кражи учетных данных у сотрудников

Социальная инженерия

Фишинг, поддельные приложения, опечатки и т.д.

Атака грубой силой

Угадывание пароля SSH

Использование уязвимости программного обеспечения

SQL-инъекция или эксплойт переполнения буфера в приложении

Использование уязвимости конфигурации

Проблемы с конфигурацией

Физическая атака или модификация

Физическое вторжение

Разведка по открытым источникам (OSINT)

Поиск учетных данных в Интернете

Подделка

Имитация USB

Активы поставщика, на которые нацелились злоумышленники, относятся к тому, что было целью атаки. По этому можно определить намерения злоумышленника, проанализировав список затронутых активов.

Активы поставщика, ставшие объектом атаки в цепочке поставок

Ранее существовавшее программное обеспечение

Программное обеспечение, используемое поставщиком, веб-серверы, приложения, базы данных, системы мониторинга, облачные приложения, встроенное ПО. Не включает в себя библиотеки программного обеспечения

Библиотеки программного обеспечения

Сторонние библиотеки, программные пакеты, установленные третьими лицами

Код

Исходный код или программное обеспечение, произведенное поставщиком.

Конфигурации

Пароли, API ключи, URLs

Базы данных

Информация о поставщике, персональные данные

Процессы

Процессы обновления, резервного копирования или проверки, подписания сертификатов

Оборудование

Микросхемы, USB-накопители

Люди

Лица, имеющие доступ к данным, инфраструктуре

Теперь давайте рассмотрим элемент таксономии, относящейся к методу атак, используемым для компрометации клиента через его поставщика. В данном случае, мы определяем как клиент подвергся атаке

Методы атак, используемые для компрометации клиента

Доверительные отношения

Доверять сертификату, доверять автоматическому обновлению, резервному копированию

Компромисс путем управления

Вредоносные скрипты на веб-сайте для заражения пользователей вредоносными программами

Фишинг

Поддельные уведомления об обновлении, сообщения

Заражение вредоносным ПО

Троян удаленного доступа, бэкдор

Физическая атака или модификация

Физическое вторжение

Подделка

Имитация USB

Как использовать таксономию

Ниже будет приведен пример того, как применение таксономии к реальному случаю может помочь выявить его особенности и облегчить понимание характеристик атаки. Codecov - это компания, которая предоставляет программное обеспечение для покрытия кода и инструменты тестирования. В апреле 2021 года Codecov сообщила, что злоумышленники получили некоторые из своих действительных учетных данных из образов Docker 8 из-за ошибки в том, как были созданы эти образы Docker. Как только злоумышленники получили эти учетные данные, они использовали их для компрометации "сценария загрузки bash", который используется клиентами компании. Как только клиенты скачали и выполнили этот скрипт, злоумышленники смогли отфильтровать данные от клиентов, включая конфиденциальную информацию, которая позволила бы злоумышленникам получить доступ к ресурсам клиентов. Несколько клиентов сообщило, что злоумышленники смогли получить доступ к их исходному коду.

Используя эту информацию, мы можем идентифицировать четыре элемента в предполагаемой таксономии. Атака на поставщика означает, как злоумышленники получили доступ к поставщику, и в данном случае это было путем "использования уязвимости конфигурации". Посредством этой атаки злоумышленники нацеливаются на актив "code" у поставщика. После того, как элементы для поставщика были определены в таксономии, мы можем перейти к тому, как был атакован клиент. В данном примере это связано с "Доверительными отношениями" с поставщиком, которые не были защищены и проверены. Сообщалось, что конечным активом, предназначенным для клиента является исходный код. Описание ниже приведенной схемы: 1 - в процессе создания контейнера была обнаружена ошибка, которая присутствовала в онлайн-развернутых контейнерах (2); 3 - злоумышленники получили доступ к контейнеру; 4 - злоумышленники модифицировали bash-скрипт и получили учетные данные Codecov; 5 - bash-скрипты были обновлены у клиентов; 6 - вредоносный bash-скрипт передал учетные данные клиента злоумышленникам; 7 - злоумышленники использовали учетные данные клиентов, чтобы получить исходный код.

Рисунок 3. Схема работы атаки на цепочку поставок Codecov.
Рисунок 3. Схема работы атаки на цепочку поставок Codecov.

Защита от атак цепочки поставок

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

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

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

Для того, чтобы вовремя обнаружить и остановить атаку на цепочку поставок, необходимо

  • Использовать средства защиты следующего поколения как для конечных устройств, так и для сети;

  • Настроить мониторинг сети на предмет подозрительной активности;

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

  • Внедрить политику безопасности, например, разрешать запуск только авторизированных приложений;

  • Внедрить безопасный жизненный цикл разработки программного обеспечения (SDLC);

  • Поддержание программного обеспечения в актуальном состоянии;

Заключение

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

Теги:
Хабы:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

Публикации

Истории

Работа

Ближайшие события