Джун сидел в полном оцепенении. Ошибка одного человека, одна неправильная команда — и интернет лег.
«А если баг не просто ломает прод, а ставит под угрозу жизни?» — крутил мысль джун.
— Сеньор, а были случаи, когда уязвимости в коде реально угрожали людям?
Сеньор поставил кружку с кофе:
— Ты готов? Это уже не просто баги, это реальные катастрофы.
DevSecOps нахмурился, сеньор продолжил:
— Jeep Hack, 2015. Два исследователя смогли взломать Jeep Cherokee, подключившись к его развлекательной системе. Через неё они получили доступ к тормозам, рулю и двигателю. Отключили тормоза во время движения. В реальном мире.
Джун сглотнул:
— Но… развлекательная система не должна влиять на управление машиной!
Секьюрити ресёрчер покачал головой:
— А код писал кто-то, кто думал иначе. Изоляции не было, контроль отсутствовал. И в итоге мультимедийная система смогла дать команду на тормоза.
Безопасник добавил:
— А ещё был Tesla Bluetooth Exploit в 2020-м. Через уязвимость в Bluetooth злоумышленники смогли разблокировать машину и угнать её.
— То есть, машина вообще не проверяла, кто с ней связывается?
— Она верила, что, если пришёл сигнал, значит, он законный.
DevOps нервно хмыкнул:
— Это как если бы твоя дверь автоматически открывалась перед каждым, кто скажет: «Я — это ты».
— И это реально случилось?
Секьюрити ресёрчер кивнул:
— Это случается постоянно. Разработчики забывают, что код работает в реальном мире, а не в тестовом окружении. И вот так машины угоняют удалённо, самолёты падают из-за ошибок автопилота, а больницы остаются без электричества из-за кибератак.
Джун почувствовал, как по спине пробежал холодок.
Продолжение следует...
Вынос пользы для джуна:
▪️Код = реальная угроза. Ошибка в системе может стоить чьей-то жизни.
▪️Изоляция критична. Развлекательная система не должна управлять тормозами, так же как UI не должен иметь доступ к базе данных напрямую.
▪️Контроль взаимодействий обязателен. Любая внешняя команда должна проверяться, а не выполняться безусловно.
▪️Допускай, что систему атакуют. Проектируй так, будто злоумышленник уже внутри сети.
Пояснительная бригада:
Tesla Bluetooth Exploit (2020): злоумышленники использовали уязвимость в Bluetooth, потому что не было строгой проверки подлинности сигнала. Подробности читай тут.
Jeep Hack (2015): отсутствовала изоляция между мультимедиа и критичными системами. Подробности читай тут.
Default Deny: система должна по умолчанию блокировать доступы, а не предоставлять их всем желающим.
Critical System Segmentation: все критические модули должны быть физически и логически отделены от некритичных.
Ставь 👍, если и у вас было, что критичная система стала доступна «по глупости».
Со всеми бывает.
#поиграемвКИ
