На восьмой позиции в рейтинге OWASP 2021 года расположился «новичок» ТОПа – категория «Нарушения целостности программного обеспечения и данных». Как и большинство позиций рейтинга, этот вектор — комплексный. В его состав вошли уязвимости, которые злоумышленники способны использовать при обновлении программного обеспечения пользователем. Если приложение обновляется без проверки целостности, преступники могут загрузить свое поддельное обновление и вместе с ним вредоносный код. Также уязвимость может реализоваться, если злоумышленник меняет код / структуру объекта таким образом, чтобы сделать его уязвимым для будущих атак.
В категорию вошли 10 видов сбоев и ошибок, в том числе связанных с ненадежными источниками веб-функций (CWE-830), готовность приложения десериализовать ненадежный поток байтов (CWE-502), активацию функций из неподтвержденных, ненадежных и / или сомнительных сфер управления (CWE-829) и ряд других.
Признаки и причины проблемы
Уязвимости вектора А08-2021 возникают, если используется код и инфраструктура, не обеспечивающие защиту от нарушений целостности. Например:
-
- Автообновление приложений. При этом оно допускает загрузку обновления, не обеспечивая достаточный контроль целостности. После загрузки обновление применяется к приложению, которое уже получило статус доверенного. Киберпреступники могут получить возможность распространять и запускать “поддельное” обновление или измененный объект на устройствах пользователей.
- Приложение использует небезопасный конвейер CI/CD. Если конвейер применяет библиотеки, модули, плагины из небезопасных / непроверенных источников, этим могут воспользоваться злоумышленники. Тогда использование ненадежных источников может стать причиной компрометации системы, привести к несанкционированному доступу или загрузке в систему вредоносного кода.
- Объекты или данные сериализованы или закодированы в небезопасную структуру, которую киберпреступник впоследствии может изменить, чтобы добиться небезопасной десериализации.
Атаки злоумышленников по рассматриваемому вектору разнообразны. Если рассматривать кибератаку по сценарию «Обновление без подписанной прошивки», то оно реализуется примерно так:
-
- при обновлении игнорируется необходимость проверить подписанную прошивку
- злоумышленник использует неподписанную прошивку как мишень, так как получает возможность загружать на устройство обновления, созданное не разработчиком, а им самим с преступными целями
Как снизить риск атак по вектору
Основной способ затруднить злоумышленникам атаки по вектору А08-2021 – контролировать получаемые из внешних источников обновления и данные, проверять не подвергались ли они изменениям и действительно ли приходят из ожидаемых источников. Для этого стоит позаботиться об использовании цифровых подписей или иных схожих механизмов контроля.
Как еще компания может повысить свою киберзащищенность по вектору А08-2021:
-
- Обеспечить отправку незашифрованных сериализованных данных клиентам только при условии наличия цифровой подписи или какой-либо формы проверки целостности. Так появится возможность исключить повторное воспроизведение данных, прошедших сериализацию, и выявить подделки.
- Убедиться, что обеспечена целостность кода, проходящего процессы
сериализации / десериализации. Для этого потребуется удостовериться в том, что используемый конвейер CI/CD обладает необходимыми настройками, а доступ — контролируется. - Проверить наличие / работоспособность процесса, в рамках которого проверяются изменения кода и конфигурации. Такой процесс позволяет минимизировать риск попадания вредоносов в информационную инфраструктуру компании.
- Обеспечить проведение проверок поставляемого программного обеспечения на предмет отсутствия известных уязвимостей (это осуществляется путем применения специальных инструментов безопасности).
- Убедиться в использовании библиотеками и зависимостями доверенных репозиториев. При необходимости разместить внутренний надежный репозиторий.
Вектор А08-2021 не входит в «тройку» или даже «пятерку» лидеров рейтинга OWASP. Однако тот факт, что вновь созданная категория попала в ТОП означает, что атаки, связанные с нарушениями целостности программного обеспечения и данных представляют реальную опасность для компаний, активно используются злоумышленниками и однозначно требуют внимания при разработке системы информационной безопасности компании.