Начало Игры в кибериммунитет 👈
Джун смотрел на свой код: «А если взлом уже произошёл, то что делать? Как уменьшить ущерб»? — не отпускала его мысль.
— Сеньор, а можно ли сделать так, чтобы атаковать систему было сложнее?
Сеньор усмехнулся:
— Можно. Пиши меньше кода.
— Эм… Чего?
DevSecOps кивнул:
— KISS и YAGNI. Чем меньше кода — тем меньше багов, меньше поверхностей атаки, меньше точек отказа.
— Но код всё равно нужен…
Секьюрити ресёрчер хмыкнул:
— Код — это не решение проблемы. Код — это новая проблема.
Джун нахмурился:
— Но ведь нам нужны функции, нужно расширять продукт! Бэклог как-никак...
DevOps вздохнул:
— Сначала нужен работающий прод, а не кладбище фич, которые никто не использует.
Безопасник откинулся в кресле:
— Capital One, 2019 год. Токен доступа к AWS S3 утёк. Хакеры воспользовались им, получили доступ к хранилищу и украли данные 100 миллионов клиентов.
Джун моргнул;
— И что, этого нельзя было предотвратить?
DevSecOps кивнул:
— Можно было. Если бы работал Default Deny, этот токен ничего бы не дал. Если бы был жёсткий контроль доступа (RBAC, IAM), атака была бы невозможна. Если бы использовали изоляцию через namespaces и контейнеры, взлом не распространился бы дальше.
Сеньор усмехнулся:
— Но самое простое — если бы этот токен вообще не существовал.
Джун задумался: «Чем меньше кода — тем меньше точек атаки. Чем меньше прав — тем сложнее взломать».
Что-то в этом было...
Продолжение следует...
Вынос пользы для джуна:
▪️Минимизация = безопасность. KISS и YAGNI — это не просто про стиль кода, а про реальную защиту.
▪️Изоляция критичных данных. Контейнеры, namespaces и fault domains — всё должно быть чётко разделено.
▪️Default Deny: по умолчанию всё запрещено, а не «разрешаем, а потом разбираемся».
▪️Контроль на каждом уровне. RBAC, IAM, IPC — управление правами важно не только в коде, но и в инфраструктуре.
Пояснительная бригада:
Capital One Hack (2019): хакеры получили утекший токен AWS S3, потому что не было строгой политики доступа и изоляции. Подробности читай тут.
KISS (Keep It Simple, Stupid) и YAGNI (You Aren’t Gonna Need It): чем проще система, тем меньше атакуемых поверхностей.
Изоляция: использование контейнеров (Docker, Kubernetes), namespaces, fault domains для минимизации воздействия атак.
Default Deny: политика, при которой доступы изначально запрещены и открываются только при необходимости.
RBAC (Role-Based Access Control), IAM (Identity and Access Management): управление правами доступа, чтобы злоумышленники не могли получить лишние привилегии.
💬 Пиши в комменты: какой кусок легаси-кода у вас никто не хочет трогать, но все знают, что он критичен?
#поиграемвКИ
