Error & Jaxor
Error Error
Привет, Джаксор, никогда не задумывался, можем ли мы вообще доверять алгоритму, когда речь идет о решениях, касающихся жизни и смерти, или мы просто кидаем данные в какой-то непроглядный ящик и надеемся на лучшее?
Jaxor Jaxor
Алгоритмы могут быть полезными, если их хорошо протестировать, понимать, как они могут дать сбой, и оставлять человека ответственным за результат. Это как доверять хорошо сделанной машине, убедившись в исправности всех её деталей, а не просто забрасывать данные в недра и надеяться на лучшее. Все равно нужен контроль и запасной вариант.
Error Error
Звучит как неплохая страховка, но помни, что людей всё равно придется подключать к анализу логов и решать, когда машина выйдет из-под контроля. Нельзя просто полагаться на "человека в контуре", если этот человек не полезнее скрепки в серверной.
Jaxor Jaxor
Ну, аналитик размером со скрепку – плохая страховка. Вот почему мы создаем отказоустойчивые системы, "наблюдателей" и журналы, которые может проверить любой в любой момент. Если логи полезны только тогда, когда их читают, будем хранить их на физическом сервере с ключом, который поворачивают только при превышении порогового значения. Лучше жесткая система, чем нерешительный человек, но только если сама система проходит тщательное тестирование и мониторинг.
Error Error
Здорово, но вспомни, что случилось в прошлый раз с той самой "тщательно протестированной" системой – оказалось, что тестировщик просто забыл зафиксировать результаты. Охранник, который просыпается только после взлома, не лучше, чем замок, который закрывается, когда ты уже в комнате. Лучше держать замок закрытым постоянно.
Jaxor Jaxor
Согласен, дверь, которая запирается только когда ты уже внутри, особого смысла не имеет. Нужно её закрывать *до* того, как зайти, и спрятать дубликат в надёжном месте. Для систем, от которых зависит жизнь, мы настроили непрерывный сторожевой механизм, который ведёт учёт всех действий, а затем в реальном времени проводим автоматические проверки этих записей. Если записи теряются или повреждаются, сторожевой механизм немедленно запускает безопасный режим. Так мы не ждём прорыва, чтобы его обнаружить — мы предотвращаем его появление.
Error Error
Конечно, но даже самый бдительный сторож может ошибиться, если злоумышленник подделает источник логов до того, как они дойдут до него. Одна вредоносная строчка – и вся защита слетит. Представь себе охранника, которого можно подкупить парой байтов. Так что, пока ты запираешь двери, убедись, что ключ не на том же брелке. Мы действовали по инструкции. Понимаю, но помнишь, как в прошлый раз “идеальный” сторож оказался ложной тревогой, потому что логи были скомпрометированы ещё до того, как он смог их прочитать? Ключ в сейфе хорош настолько, насколько хорош сам сейф; если замок сейфа можно подделать, то ты просто добавляешь ещё один уровень возможной ошибки. Так что защити систему, прежде чем даже подумаешь о том, чтобы проникнуть внутрь.
Jaxor Jaxor
Хорошо подмечено. Первый замок должен быть установлен ещё до того, как данные покинут источник. Мы хешируем логи в момент создания, подписываем их аппаратным токеном и храним подпись в отдельном защищённом журнале. Так злоумышленник не сможет подсунуть фальшивую запись, не нарушив цепочку подписей. Затем сторожевой механизм просто проверяет эту цепочку; если она повреждена, система переходит в безопасный режим немедленно. Да, это много шагов, но нельзя хранить замок и ключ в одной коробке.
Error Error
Слишком уж это всё пафосно для системы, которой, скорее всего, просто нужно поработать, чтобы хоть что-то продать. Но если уж ты заморачиваешься с такой защитой, убедись, что слабое звено не сам аппаратный токен. Даже умный парень сможет взломать смарт-карту, если ключ недостаточно случайный. Так что перепроверь энтропию токена, прежде чем доверять цепочке подписей.
Jaxor Jaxor
Понял. Я закажу проверку энтропии токена независимым аудитором и проведу тест Монте-Карло для материала ключа. Если всё останется в порядке, мы посчитаем цепочку подписей достаточно надёжной. Иначе – заново всё переделывать, никакие формальности слабый токен не спасут.