Архив метки: SecureByDesign

VM-ный миф № 5: некоторые уязвимости инфраструктуры можно вообще не устранять

VM-ный миф № 5: некоторые уязвимости инфраструктуры можно вообще не устранять

VM-ный миф № 5: некоторые уязвимости инфраструктуры можно вообще не устранять. Сейчас на Западе очень популярна тема Вульнпокалипсиса (Vulnpocalypse). Этот термин обозначает ситуацию, когда скорость обнаружения уязвимостей и появления эксплойтов для них начинает значительно превосходить скорость выпуска обновлений безопасности вендорами ПО и скорость установки этих обновлений их клиентами. В принципе, это уже сейчас похоже на правду: количество CVE растёт настолько быстро, что NVD отказались от анализа всех CVE. Microsoft Patch Tuesday вырос примерно со 100 исправляемых уязвимостей в месяц до 500+. Аналогично, каждый месяц обновляются рекорды по числу уязвимостей в отчётах Linux Patch Wednesday.

Причиной этого обычно называют развитие технологий искусственного интеллекта. И с этим можно отчасти согласиться: ИИ действительно значительно упростил поиск уязвимостей и разработку инструментов для их эксплуатации. Но, на мой взгляд, настоящая причина такого количества уязвимостей - не в ИИ, а в качестве ПО. Десятилетиями вендоры ПО писали ОЧЕНЬ плохой код. Их цель была одна - реализовать как можно больше фич за наименьшее время и наименьшие деньги. Если разработку можно было отдать на аутсорс в страны с максимально дешёвой рабочей силой и низкой культурой разработки - её отдавали. Если можно было взять бесплатный код, непонятно кем написанный и выложенный в открытый доступ (я про open source) - его использовали. В результате мы имеем то, что имеем: огромное количество уязвимостей в этом коде.

Раньше это было не так заметно, т.к. скорость прироста выявленных уязвимостей ограничивалась возможностями специалистов-ресёрчеров. А они в первую очередь искали уязвимости там, где за это платили. Как только это ограничение начало сниматься благодаря ИИ-сервисам, уязвимости начали массово проявляться. 😏 Есть основания полагать, что с развитием ИИ-инструментов темпы роста обнаруживаемых уязвимостей будут только расти.

С ростом количества уязвимостей растёт и количество обновлений, которые необходимо тестировать и устанавливать в инфраструктурах. Обновлений будет МНОГО, гораздо больше, чем было раньше. И выходить они будут ещё чаще. Сложившаяся ситуация - это плата за то, что вендоры софта могут писать плохой код, лепить из него продукты, а затем годами выпускать бесконечные заплатки для этих продуктов. А компании-клиенты готовы такие продукты покупать и использовать. 🤷‍♂️

При этом имеет место довольно занимательная ситуация. Покупать продукты клиенты готовы, а выполнять рекомендации вендоров ПО по устранению уязвимостей в купленных продуктах (устанавливать обновления, менять конфигурацию и применять другие меры защиты) они НЕ ГОТОВЫ. И ищут "индульгенции", чтобы этого не делать.

И находят! 🙂 Есть Vulnerability Management (Exposure Management)-вендоры, которые в своём маркетинге транслируют, что "нужно устранять только 1-3% уязвимостей". Только купите их решение, и они вам этот минимальный список уязвимостей покажут. 🔮 Это, конечно, безответственное шарлатанство, потому что супер-критичные уязвимости появляются из общего пула всех неустранённых уязвимостей. И появляются ВНЕЗАПНО! Сегодня уязвимость может не представлять особого интереса, а завтра стать супер-критичной из-за появления публичного эксплоита или обнаружения признаков эксплуатации уязвимости в реальных атаках. Если бы в компании своевременно устранили эту уязвимость по рекомендации вендора ПО, эта супер-критичная уязвимость им бы не была страшна, но, доверившись недобросовестному VM/EM-вендору, вместо планового устранения они получают ещё один "пожар", который может привести к серьёзному инциденту. Таким образом, вместо экономии ресурсов получается бесконечный забег по граблям.

Попытки заранее прогнозировать, какие уязвимости станут супер-критичными, предпринимаются, но их эффективность, мягко говоря, не впечатляет. Например, тот же EPSS частенько показывает высокую вероятность появления эксплоита там, где всё потом годами глухо, и показывает всё по нулям там, где есть и эксплоиты, и атаки. 🥴 С уязвимостями, у которых есть подробные публичные разборы, эксплоиты и контекст от исследователей прогнозирование более-менее работает. Но для большинства уязвимостей, например для тысяч уязвимостей в ядре Linux, такой информации просто нет. Поэтому и утверждать, что конкретную уязвимость можно игнорировать на основе куцего описания из NVD, абсолютно неадекватно и непрофессионально.

Я, конечно, не говорю, что приоритизировать уязвимости - это плохо. Вполне полезно показывать клиентам уязвимости, которые требуют немедленного внимания, в том числе через моделирование путей атаки. Но как только VM-вендор меняет риторику с "эти уязвимости нужно устранить в первую очередь" на "остальные уязвимости можно игнорировать" - это переход на тёмную сторону. 😈

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

У Антона Чувакина, в прошлом главного идеолога Gartner по Vulnerability Management, недавно вышел блогпост, в котором он предлагает провести мысленный эксперимент:

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

Теперь самое интересное - попробуйте разобраться, как это стало возможным.

Какие фундаментальные изменения должны были произойти в вашей инфраструктуре, чтобы такое 15-минутное окно стало реальностью?

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

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

Ну а стратегически хотелось бы, чтобы безнаказанный выпуск дырявого ПО, предполагающий постоянный патчинг, когда-нибудь прекратился. И чтобы компании-клиенты стали использовать продукты от вендоров, которые инвестируют не только в поиск уязвимостей, но и в безопасную разработку кода по принципу secure by design. Да, такие решения стоили бы гораздо дороже. Но если продукт по факту имеет меньше уязвимостей и реже требует экстренных обновлений, его эксплуатация становится значительно проще и безопаснее. "Жаль только - жить в эту пору прекрасную. Уж не придется - ни мне, ни тебе." © 😉