Все сказанное означает, что надежность сейфа основывается на механизмах обнаружения и реагирования на месте. И сейфы классифицируются по этому признаку. Одному сейфу может быть присвоена классификация TL-15: это означает, что он способен противостоять профессиональному взломщику с инструментами в течение 15 минут. Другой сейф может быть отнесен к разряду TRTL-60, что будет означать, что ему по плечу сопротивляться такому же взломщику, да еще вооруженному паяльной лампой с подачей кислорода, 60 минут. Это оценки чистого времени атаки: время идет, только когда сейф подвергается нападению, – время, затраченное на планирование и подготовку, не учитывается. И тесты проводятся профессионалами, имеющими доступ к чертежам сейфа: нельзя рассчитывать на недостаток информации у нападающего. (Много общего с криптографическими атаками, не правда ли?)
Меры защиты, обнаружения и реагирования работают совместно. Сильный механизм защиты подразумевает, что вы не нуждаетесь в столь же действенных механизмах обнаружения и реагирования.
Классификация сейфов демонстрирует это ясно. Какой сейф вы купите: рассчитанный на 15 минут, на 30 минут, на 24 часа? Это будет зависеть от того, в течение какого времени сработает сигнализация (обнаружение) и прибудет охрана, чтобы арестовать взломщиков (реагирование). В отсутствие систем обнаружения и реагирования в действительности все равно, какой сейф вы выберете.
Большинство мер компьютерной безопасности носят профилактический характер: криптография, брандмауэры, пароли. Некоторые можно отнести к механизму обнаружения, как системы обнаружения вторжения. Реже встречаются механизмы реагирования: например, система ввода регистрационного имени и пароля, которая блокируется после трех неудачных попыток – хотя механизмы обнаружения бесполезны без механизмов реагирования. Представьте себе систему обнаружения вторжения, которая только регистрирует атаку. Она подаст сигнал системному администратору, может быть, пошлет сообщение по электронной почте на его пейджер. Если администратор не отвечает в течение нескольких часов – допустим, он обедает, – тогда не имеет значения, что нападение было обнаружено. Не было предпринято никаких мер, чтобы решить проблему.
Обычная охранная сигнализация также является средством обнаружения. Когда она срабатывает, дальнейшее развитие событий зависит от того, есть ли кому реагировать на нее. Если взломщик знает, что на сигнал тревоги никто не обратит внимания, это то же самое, как если бы сигнализации не было вовсе.
Иногда невозможно использовать механизмы обнаружения и реагирования. Представьте себе обычное прослушивание: Алиса и Боб общаются с помощью незащищенной связи, а Ева их подслушивает. Ни Алиса, ни Боб не могут обнаружить прослушивание и, соответственно, у них нет возможности как-то отреагировать на него. Средство защиты – шифрование – должно обеспечить достаточно безопасную связь, чтобы прослушивание дало результаты, представляющие интерес для Евы.
Сравним только что приведенный пример с шифрованием кодов доступа для системы кредитных карт. Предположим, что заполучить эти коды можно только взломав систему. Если на всех автоматах установлена сигнализация (обнаружение) и коды доступа могут быть изменены в течение 15 секунд (реагирование), то алгоритм шифрования не обязательно должен быть очень надежным. Возможно, существует множество путей для того, чтобы получить эти коды, не вызвав при этом сигнал тревоги. Если коды меняются раз в неделю и это изменение никоим образом не связано с механизмом обнаружения (то есть автоматическое реагирование не предусмотрено), то алгоритм шифрования должен обеспечить защиту кодов в течение недели.
Неразумно надеяться только на защитные механизмы, и прежде всего потому, что часто одна атака может следовать за другой. Использование исключительно защитных механизмов обеспечит безопасность только в том случае, если технологии, лежащие в их основе, совершенны. Если бы наличествовала идеальная система защиты смарт-карт от вторжения, не было бы необходимости в обнаружении и реагировании. Система защиты смарт-карт, существующая в реальном мире, время от времени дает сбои; поэтому хорошо сконструированная система защиты обязана включать в себя механизмы обнаружения и реагирования на случай ее провала. Одна из основных идей этой книги состоит в том, что не существует совершенной технологии. Обнаружение и реагирование, таким образом, весьма существенны.
Представим себе компьютерную сеть. Если брандмауэры, операционные системы, пакеты серверного программного обеспечения абсолютно защищены, тогда нет необходимости в системах сигнализации. Никто не в силах проникнуть внутрь, так что незачем поднимать тревогу. В реальном мире не существует продуктов, у которых нет уязвимых точек. Всегда можно найти способ взломать брандмауэр, разрушить операционную систему, атаковать программное обеспечение сервера. Единственное, что спасет положение в отсутствие совершенных защитных барьеров, это применение контрмер обнаружения и реагирования, чтобы получить вовремя сигнал, если система будет взломана, и иметь возможность противодействовать.
Ландшафт уязвимых точек
В реальных системах множество уязвимых точек, и существует много различных способов провести атаку. Если террорист хочет взорвать самолет, он может протащить на борт бомбу, сбить его с помощью ракеты или захватить самолет и направить его на ближайшую гору. Хакер, желающий проникнуть в корпоративную сеть, может атаковать брандмауэр, веб-сервер, использовать модемное подключение и т. д.
Системы, действующие в реальном мире, обладают множеством различных возможностей для противодействия атаке. Оборудование авиалиний включает в себя детекторы металла, химические анализаторы и рентгеновские аппараты, позволяющие обнаружить бомбу, и системы, отыскивающие «ничейные» вещи, так что можно быть уверенным, что бесхозный пакет не взлетит вместе с самолетом, в то время как его хозяин остался на земле. (Эта система противодействия предполагает, что немногие террористы захотят взрывать себя вместе с самолетом, а большинство предпочтут спокойно разгуливать по земле, когда самолет будет взорван.) Военные самолеты имеют также системы противоракетной обороны. Корпоративные сети содержат брандмауэры, системы обнаружения вторжения, используют процедуры периодического обновления паролей или шифрования файлов на сервере.
И все это удивительно легко может стать бесполезным.
Я использую термин ландшафт уязвимых точек, чтобы изобразить обманчивый и сложный мир атак и мер противодействия. Использованная метафора допускает расширение списка описываемых атак – выстрелы из ружья в банковского кассира, шантаж программиста с целью заставить его включить троянского коня в кусок программного кода, проникновение через стену банка, обработка невнимательного сотрудника для того, чтобы получить пароль, – и контрмеры: пуленепробиваемое стекло, защищающее кассира; проверка всего персонала; камеры наблюдения снаружи здания; биометрический контроль. Различные куски ландшафта связаны с различными типами атак. Компьютерные атаки представляют собой, несомненно, только малую часть ландшафта.
Каждая система имеет свой собственный ландшафт уязвимых мест, хотя многие черты для различных систем схожи. (Каждая компьютеризированная система подвержена угрозе отключения питания. И почти каждая система использует угрозу ареста в качестве контрмеры.) Ландшафт уязвимых точек очень неровен, его составляют пики и долины различной высоты и глубины. Чем выше пик, тем эффективнее соответствующая мера отпора: вершина «используйте пароли» невысоко поднята над землей, а «выключите компьютер и утопите его в вонючем болоте», конечно, намного выше. Долины, с другой стороны, представляют собой узкие места: это возможности потенциальных противников атаковать вашу систему. Чем ниже долина, тем серьезнее изъян.
Уязвимая точка еще не означает выигрыш. Выигрыш – это то, о чем мы говорили в главе 3: выигрыш вора, которому удалось украсть деньги, выигрыш нечестного торговца, присвоившего чужую собственность, выигрыш озабоченного студента, заработавшего дурную славу. Уязвимые места могут быть использованы атакующими, чтобы добиться цели. Цель – украсть деньги; незащищенный кассовый аппарат – уязвимая точка. Испортить чью-либо репутацию – это цель; незашифрованные файлы на его жестком диске – уязвимая точка. Некоторые уязвимые точки бесполезны для достижения именно данной цели. В анонимных группах новостей целью атакующего может быть, например, установление личности корреспондентов. Нехватка идентифицирующей информации не сослужит ему хорошую службу. Если группа новостей построена по принципу платной подписки, у нападающего может быть иная цель – пользоваться ею бесплатно. В таком случае уязвимость системы идентификации будет ему на руку.