Законы безопасности помогают распознать слабые места и сосредоточить на них внимание. Эта глава познакомит читателя с законами безопасности. Большая часть остальной части книги посвящена подробному рассмотрению методов использования уязвимостей, выявленных при помощи законов безопасности.
Если читатель достаточно квалифицирован в области информационной безопасности, то он может пропустить эту главу. Хотя авторы рекомендуют, по крайней мере, бегло просмотреть ее, чтобы удостовериться в том, что читатель знает эти законы и согласен с ними.
Обзор законов безопасности
Начав с обзора законов, авторы детально обсудят их по ходу книги. При обсуждении будет рассмотрено содержание законов, способы их применения для поиска слабых мест, а также разрешаемые с их помощью вопросы. В список входят следующие законы безопасности.
1. Невозможно обеспечить безопасность клиентской части.
2. Нельзя организовать надежный обмен ключами шифрования без совместно используемой порции информации.
3. От кода злоумышленника нельзя защититься на 100 %.
4. Всегда может быть создана новая сигнатура кода, которая не будет восприниматься как угроза.
5. Межсетевые экраны не защищают на 100 % от атаки злоумышленника.
6. От любой системы обнаружения атак можно уклониться.
7. Тайна криптографических алгоритмов не гарантируется.
8. Шифрование без ключа является кодированием.
9. Пароли не могут надежно храниться у клиента, если только они не зашифрованы другим паролем.
10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности.
11. Безопасность нельзя обеспечить покровом тайны.
Известны различные точки зрения на законы безопасности. В этой главе авторы решили обратить особое внимание на теоретические основы безопасности систем или, другими словами, на строгие формулировки законов. (По крайней мере, настолько, насколько это возможно. Такой сложный предмет исследования, как безопасность систем, плохо поддается строгому математическому описанию.) Существует и иной способ построения списка законов: в список включается не то, что является возможным, а то, что применяется на практике. Естественно, что отчасти эти два принципа перекрываются: если что-то невозможно, то это нереализуемо на практике. Скотт Кулп (Scott Culp), менеджер консультационного центра по вопросам безопасности компании Микрософт (Microsoft's Security Response Center Manager), сформулировал десять законов на основе своего опыта и опыта клиентов. Он назвал этот список как «Десять абсолютных законов безопасности». К ним относятся следующие: