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