К книге
Настоящий CTO: думай как технический директор12. Безопасность. 12.8. «Нас атакуют». 12.8.1. Аварийное отключение
87%
12. Безопасность. 12.8. «Нас атакуют». 12.8.1. Аварийное отключение
290

Вместо того чтобы дожидаться атаки и только после ее начала решать, что делать, заранее пройдитесь по всей вашей системе и продумайте способы реагирования, или аварийные выключатели (kill switch). Это цифровые версии переборок на корабле, которые предназначены не только для обеспечения жесткости, но еще и для герметизации и изоляции, чтобы одна пробоина в корпусе не могла затопить весь корабль. (Если переборки спроектированы неправильно, они создадут больше проблем, чем решат, как это было в случае с RMS Titanic – и, раз уж мы заговорили об этом, в фильме «Титаник» на плоту хватило бы места для двоих!)

Заметки с полей

Утечка данных как из пожарного шланга

У одного из клиентов, с которыми мы работали, была интеграция со сторонним платежным сервисом. Часть интеграции заключалась в том, что API клиента получал уведомление об успешном завершении платежа. Используя средства мониторинга, мы обнаружили странности при работе с этим API: данных приходило гораздо больше, чем следовало, и, кроме этого, было очень много ошибок «неизвестный получатель платежа». При подробном изучении выяснилось, что API получал конфиденциальную информацию о вообще всех платежах, проходящих через этот платежный сервис. Мы тут же сообщили им об этом, и сначала нам не поверили (потому что у них не было соответствующих логов), а когда признали проблему, им потребовался почти день на то, чтобы выключить передачу данных (аварийного отключения у них тоже не было). Если бы у них были логи или хотя бы аварийный выключатель, они могли бы действовать активнее, то есть остановить утечку и уже после этого исследовать проблему. Позже нам сказали, что ошибка была в запросе, в котором отсутствовал нужный оператор WHERE, и поэтому наш клиент получал информацию обо всех платежах, а не только о своих. В этом сервисе явно не проводились ревью и тестирование кода – то есть этот инцидент вскрыл целую пачку проблем – и всё это в публичной компании (так что даже «большие парни» могут допускать такие заметные ошибки).

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

• Отключение сетевого доступа к серверу/компьютеру или подсети.

• Выключение ресурса (или приостановка, если он виртуальный).

Самое важное во время атаки – это ограничить возможный урон. Это необязательно означает останов всех систем в ущерб бизнесу. Если есть возможность, изолируйте атакуемую область, используя заранее предусмотренные аварийные выключатели, но если такой возможности нет, то безопаснее на какое-то время полностью отключить систему, особенно если вы подозреваете, что скомпрометированы конфиденциальные данные пользователей.

Предыдущая главаГлава 290 из 332Следующая глава