Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Сегодня поговорим о самых классных ресерчах этого года. Принципы защищенного дизайна от Google, анализ зиродеев, уязвимые пакеты в PyPI и NPM, лучшие доклады с конференций RSA и Black Hat.
Вообще говоря, материал не совсем за год: предыдущую подборку я публиковал в апреле 2024-го. Но с того времени исследователи накопили много всего интересного. Давай пройдемся по ресерчам и посмотрим, что из этого можно будет применять на практике, а что просто стоит закинуть в голову.
Весной этого года в новых версиях широко применяемой библиотеки liblzma нашли умело спрятанный бэкдор, а я тогда как раз изучал документ Secure by Design at Google. В нем инженеры безопасности пересмотрели принципы построения современных приложений.
Цель материала — сократить разрыв между концептуальными требованиями Secure by Design и их практическим применением.
Инженеры Google столкнулись с вызовом: скорость изменений в программном обеспечении и в особенности в облачном ПО настолько высока (несколько релизов в день), что не позволяет реализовать существующие требования безопасности, которые актуальны скорее для физических систем. Потому что в физических системах после тщательного проектирования архитектуры риск появления дефектов на этапе производства низкий по сравнению с риском появления дефектов в ежедневных обновлениях ПО.
Дизайн, ориентированный на пользователя, пожалуй, ключевое требование. На практике оно означает необходимость готовить требования безопасности и архитектуру продукта вокруг действий его пользователя. Для каждого действия нужно проводить оценку того, как оно может привести к неблагоприятным последствиям. При этом разработчик тоже пользователь.
Еще один интересный момент — дизайн‑мышление в терминах инвариантов. Инвариант — свойство системы, которое остается неизменным при любых действиях ее пользователя или действиях атакующего. В контексте безопасности инвариант означает неизменяемое состояние системы, например: весь сетевой трафик, проходящий через незащищенные каналы, всегда защищен с использованием надежного протокола.
Инварианты безопасности помогают исключить требования к пользователям и при проектировании сфокусироваться на требованиях к системе, с которой работает этот пользователь. При этом реализация всех инвариантов может быть проверена автоматически на этапе анализа качества ПО.
Кстати, когда‑то появилась концепция «неизменяемой инфраструктуры» (Immutable Infrastructure), и теперь инварианты дают архитектору возможность реализовать эти принципы на этапе разработки.
Как эффективно выявлять угрозы при ограниченном ресурсе? Как оценить качество методов обнаружения? Я встретил серию статей, автор которых ищет ответы на эти вопросы.
Security-инженеры и аналитики SOC знают, что ключевая цель при выявлении угроз — создание механизмов для обнаружения и предотвращения как можно большего количества методов, которые использует злоумышленник для продвижения.
Эта цель превращается в решение задачи: не допустить, чтобы атакующий прошел все этапы своего пути и остался незамеченным. С этого момента начинается игра вероятностей: насколько вероятно, что атакующий пойдет по пути, который не заметит защищающийся?
Здесь помогает следующая модель:
И вот тут возникает гипотеза, которую можно проверить в рамках исследовательской работы: составить граф всех процедур MITRE ATT&CK и определить узлы с наибольшим количеством связей (пример на рисунке отмечен желтым).
Граф процедур MITRE ATT&CK
Источник: xakep.ru