Текст книги "Секреты и ложь. Безопасность данных в цифровом мире"
Автор книги: Брюс Шнайер
Жанры:
Интернет
,сообщить о нарушении
Текущая страница: 1 (всего у книги 34 страниц)
Брюс Шнайер
Секреты и ложь. Безопасность данных в цифровом мире
Посвящается Карен
Предисловие
Я написал эту книгу во многом для того, чтобы исправить собственную ошибку.
Семь лет назад мною была написана книга «Прикладная криптография» («Applied Cryptography»). В ней я создал математическую утопию – алгоритмы, тысячелетиями хранящие ваши глубочайшие секреты, протоколы передачи данных, обеспечивающие воистину фантастические возможности: неконтролируемые извне финансовые операции, необнаружимую аутентификацию, анонимную оплату. И все это – незаметно и надежно. В моем видении криптография была великим технологическим уравнителем: с ее помощью каждому дешевому (и дешевеющему с каждым годом) компьютеру могла быть обеспечена такая же безопасность, как и компьютерам всемогущего правительства. Во втором издании той книги я зашел так далеко, что написал:
«Недостаточно защищать себя с помощью закона; мы нуждаемся и в том, чтобы защитить себя с помощью математики».
Все это – неправда. Криптография не может ничего подобного. И не потому, что она стала хуже с 1994 года или написанное мною тогда перестало быть правдой сегодня, но оттого, что криптография существует не в вакууме.
Криптография – это раздел математики и, как и прочие ее разделы, связана с числами, уравнениями и логикой. Безопасность – реальная, ощутимая безопасность, столь необходимая нам с вами, – связана с людьми: с уровнем их знаний, их взаимоотношениями и с тем, как они управляются с машинами. Информационная безопасность связана с компьютерами – сложными, нестабильными, несовершенными компьютерами.
Математика абсолютна; окружающий мир субъективен. Математика совершенна; компьютеры могут ошибаться. Математика логична; люди, как и компьютеры, ошибаются, они своевольны и едва ли предсказуемы.
Ошибка «Прикладной криптографии» была в том, что я рассуждал обо всем независимо от контекста. Я говорил о криптографии так, как будто она и есть Ответ™. Я был потрясающе наивен.
Результат же был вовсе плох. Читатели поверили, что криптография – род некоей магической пыли, которая покроет их программное обеспечение и сделает его неуязвимым. И они произносили магические заклинания вроде «128-битовый ключ» или «инфраструктура открытого ключа». Как-то однажды коллеги поведали мне, что мир наполнился плохими системами безопасности, сконструированными людьми, прочитавшими «Прикладную криптографию».
С момента написания той книги я занимался тем, что давал консультации по криптографии: по всем вопросам, связанным с разработкой и анализом систем безопасности. К своему несказанному удивлению, я обнаружил, что слабые места в системах безопасности отнюдь не определяются недостатками математических моделей. Они были связаны с аппаратурой, программами, сетями и людьми. Прекрасные математические ходы становились никчемными из-за небрежного программирования, гнусной операционной системы или просто выбора кем-то плохого пароля.
В поисках слабины я научился смотреть шире, рассматривая криптографию как часть системы. Я начал повторять пару сентенций, которые красной нитью проходят через всю эту книгу: «Безопасность – это цепь: где тонко, там и рвется» и «Безопасность – это процесс, а не продукт».
Любая реальная система – запутанная серия взаимодействий. Защита должна распространяться на все компоненты и соединения этой системы. И в этой книге я старался показать, что в современных системах настолько много компонентов и связей – некоторые из них неизвестны даже создателям, а тем более пользователям, – что угроза для безопасности всегда остается. Ни одна система не совершенна; ни одна технология не есть Ответ™.
Сказанное очевидно каждому, кто знаком с проблемами безопасности на практике. В реальном мире за словом «безопасность» скрывается ряд процессов. Это не только упреждающие мероприятия, но и обнаружение вторжения, его пресечение и целая судебная система, позволяющая выследить виновного и преследовать его по суду. Безопасность – не продукт, она сама является процессом. И если мы должны обеспечить безопасность нашей вычислительной системы, нам необходимо начать разработку этого процесса.
Несколько лет назад я слышал цитату, которую слегка изменил:
«Если вы думаете, что технология может решить проблемы безопасности, то вы не понимаете ни проблем безопасности, ни технологии».
Эта книга о проблемах безопасности, о технологических ограничениях и о поиске решения.
Как читать эту книгу
Читайте эту книгу по порядку, от начала до конца.
И это действительно необходимо. Во многих технических книгах авторы скользят по поверхности, лишь эпизодически залезая поглубже; чаще всего они следуют структуре справочника. Эта книга не такова. В ней прослеживается четкая линия: это повествование, рассказ. И подобно любому хорошему рассказу, мало толку читать ее беспорядочно. Главы основываются одна на другой, и вы сможете вкусить все радости окончательной победы, только пройдя весь путь до конца.
Более того, я хотел бы, чтобы вы прочли книгу один, а потом еще и второй раз.
Эта книга доказывает, что для понимания безопасности системы необходимо рассматривать ее целиком, а не раскладывать на отдельные технологии. Безопасность сама по себе – взаимосвязанная система, и это означает, что сначала нужно приобрести некоторые знания по всем имеющим к ней отношение вопросам, а затем уже углубляться в тот или иной предмет.
Но два прочтения… Возможно, я хочу слишком многого. Забудьте об этом.
Книга состоит из трех частей:
• часть I «Ландшафт» дает общий вид картины: кто такие взломщики, чего они хотят и что нужно делать, чтобы предотвратить угрозу;
• часть II «Технологии» в основном описывает различные технологии безопасности и их ограничения;
• часть III «Стратегии» в соответствии с окружающим ландшафтом и ограничениями технологий определяет, что же мы теперь должны делать.
Я думаю, безопасность информационных систем – самая потрясающая вещь, которой можно заниматься в наши дни, и книга отражает это мое ощущение. Это серьезно, но и весело – несомненно. Читайте и получайте удовольствие.
Благодарности
Очень многие люди читали эту книгу на разных стадиях ее подготовки. Я хотел бы поблагодарить тех, кто читал наиболее ранний вариант этой книги: Стива Басса, Сьюзен Гринспан, Криса Холла, Джона Келси и Мадж. Их советы помогли мне окончательно определить как содержание, так и стиль изложения. Мне хотелось бы также выразить благодарность Бет Фридман за ее помощь в основательном редактировании книги, когда она была написана еще лишь наполовину, и редактировании других ее частей, а также за помощь в руководстве работой редактора и корректора, Карен Купер за помощь в корректуре и Рафаилу Картеру за помощь в редактировании, когда работа над книгой уже близилась к концу. Ценные замечания при чтении книги или ее частей сделали: Микеланджело, Кен Айер, Стив Басс, Дэвид Дайер-Беннетт, Эд Беннетт, Рассел Бранд, Карен Купер, Дэвид Коуен, Уолта Куртис, Дороти Деннинг, Карл Эллисон, Эндрю Фернандес, Гордон Форс, Эми Форсайт, Дин Гэлон, Дрю Гросс, Грегори Гуерин, Питер Гутманн, Марк Харди, Дейв Инат, Крис Джонстон, Джеймс Джораш, Ариен Ленстра, Стюарт Мак Клур, Гэри Мак Гроу, Дуг Меррилл, Джефф Мосс, Симона Несс, Артимадж Нельсон, Питер Ньюман, Эндрю Одлизко, Дуг Прайс, Джеймс Риордан, Бернард Руссели, Том Роули, Эви Рубин, Риан Рассел, Адам Шостак, Симон Сингх, Джим Уолнер и Элизабет Цвикки. Благодаря этим людям книга стала более завершенной, точной и интересной. Все недостатки, пропущенные ошибки и чрезмерное многословие остаются на совести автора.
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты comp@piter com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
Все исходные тексты, приведенные в книге, вы можете найти по адресу http://www piter com/download.
Подробную информацию о наших книгах вы найдете на веб-сайте издательства http://www piter com.
Глава 1
Введение
В марте 2000 года я занимался тем, что собирал воедино сведения из различных источников о событиях, связанных с проблемой компьютерной безопасности. Вот эти сведения.
• Кто-то взломал веб-сайт SalesGate com (электронная коммерция В2В, business-to-business) и украл около 3000 записей, содержащих номера кредитных карт клиентов и информацию частного характера. Часть этой информации он поместил в Интернете.
• В течение нескольких лет частная информация утекала с веб-сайтов (таких как Intuit) к рекламодателям (например, DoubleClick). Когда посетители производили расчеты на сайте Intuit, вводимая ими информация посылалась и на DoubleClick благодаря ошибке, допущенной программистами при создании сайта. Все это происходило без ведома пользователей и, что более удивительно, без ведома Intuit.
• Осужденный за свои преступления хакер Кэвин Митник в показаниях Конгрессу сказал, что наиболее уязвимое место в системе безопасности – «человеческий фактор». Он зачастую выведывал пароли и другую секретную информацию, действуя под чужим именем.
• Опрос службы Гэллапа показал, что каждый третий из тех, кто делает покупки через Интернет, будет делать их, пожалуй, менее охотно в свете последних событий, связанных с проблемами безопасности.
• Частные данные клиентов, заказывавших PlayStation 2 на веб-сайте корпорации Sony, «утекли» к неким другим клиентам. (Это – актуальная проблема всех типов сайтов. Многие посетители «отмечаются» на них в надежде получить информацию о покупателях сайта.)
• Директор ЦРУ отрицал, что Соединенные Штаты участвовали в экономическом шпионаже, но не стал отрицать существования обширной разведывательной сети, называемой ECHELON.
• Некто Пьер-Гай Лавойе, 22 лет, был осужден в Квебеке за взлом системы безопасности нескольких правительственных компьютеров США и Канады. Он провел 12 месяцев в заключении.
• Министерство обороны Японии приостановило внедрение новой компьютерной системы безопасности после того, как установило, что программное обеспечение было разработано членами секты Аум Синрике.
• Новый почтовый вирус, названный «Чудесный парк» (Pretty Park), распространился через Интернет. Это новая разновидность вируса, появившегося годом раньше. Он рассылался автоматически по всем адресам, имеющимся в почте пользователей программы Outlook Express.
• Novell и Microsoft продолжают препираться по поводу замеченных ошибок в системе безопасности Active Directory операционной системы Windows 2000: кто из них должен обеспечивать параметры безопасности, установленные вами для своего каталога (я лично верю, что это конструктивный недостаток Windows, а не ошибка).
• Двое сицилианцев (Джузеппе Руссо и его жена Сандра Элазар) были арестованы за кражу через Интернет около тысячи кредитных карт США. Они использовали эти карты для закупки лучших товаров и лотерейных билетов.
• Отражена серия атак, направленных на отказ в обслуживании, проведенных хакером (на самом деле – скучающим подростком) по имени Кулио (Coolio). Он признал, что в прошлом вскрыл около 100 сайтов, в том числе сайт криптографической компании RSA Security и сайт, принадлежащий государственному департаменту США.
• Злоумышленники организовали атаки, приведшие к отказам в обслуживании на веб-сайте компании Microsoft в Израиле.
• Джонатан Босанак, известный как Гетсби (Gatsby), был приговорен к 18 месяцам заключения за взлом сайтов трех телефонных компаний.
• Военные Тайваня объявили, что обнаружили более 7000 попыток со стороны китайских хакеров войти в систему безопасности страны. Эта жуткая статистика не была конкретизирована.
Вот еще несколько сообщений о нарушениях систем безопасности в марте 2000 года:
• Лазейка, обнаруженная в Microsoft Internet Explorer 5 (в Windows 95, Windows 98, Windows NT 4.0 и Windows 2000), позволила злоумышленнику создать веб-страницу, дающую ему возможность запустить любую программу на компьютере посетителя сайта.
• Модифицировав URL, некий нарушитель сумел полностью обойти механизм аутентификации, защищающий удаленных пользователей серверов Axis StarPoint CD-ROM.
• Обнаружено, что если атакующий пошлет Netscape Enterprise Server 3.6 некое длинное сообщение, то переполнение буфера приведет к прекращению работы программы, а атакующий сможет выполнить в этом случае на сервере любой код.
• Стало известно, что некоторые атаки (приводящие к отказу в обслуживании или направленные на подавление сценария CGI) могут быть проведены таким образом, что программа RealSecure Network Intrusion Detection их не обнаружит.
• Выяснилось, что, посылая определенный URL на сервер, обслуживаемый программой ColdFusion компании Allaire, злоумышленник может получить сообщение об ошибке, содержащее информацию о физических адресах различных файлов.
• Omniback – это система резервного копирования компании Hewlett-Packard. Злоумышленник может использовать ее для проведения атаки, приводящей к отказу в обслуживании.
• Эмулятор DOS Dosemu, поставляемый с Corel Linux 1.0, имеет слабое место, позволяющее пользователю выполнять привилегированные команды.
• Манипулируя значениями некоторых параметров DNSTools 1.8.0, злоумышленник может воспользоваться недостатками программы и выполнить произвольный код.
• Пакет InfoSearch для работы с CGI автоматически конвертирует текстовые документы в HTML. Ошибка в CGI-сценарии позволяет нарушителю выполнять на сервере команды на уровне привилегий веб-сервера.
• Найдены слабые места в почтовой программе The Bat! позволяющие злоумышленникам красть файлы с компьютеров пользователей.
• Clip Art Gallery компании Microsoft позволяет пользователю загружать файлы с клипами с веб-страниц. При определенных условиях видоизмененный файл клипа может вызвать выполнение произвольного кода на компьютере пользователя.
• Если вы посылаете определенное имя пользователя и пароль (даже если он неправильный) на FTP-сервер 3.5 Bison Ware, он выйдет из строя.
• Используя специальным образом модифицированные URL, злоумышленник может повредить Windows 95 и Windows 98 на компьютерах пользователей.
Ниже представлен список 65 веб-сайтов, которые, согласно информации, опубликованной на сайте attrition org, были обезображены в течение месяца. В данном контексте слово «обезображены» означает, что некто вскрыл сайт и заменил главную страницу.
Tee Plus; Suede Records; Masan City Hall; The Gallup Organization; Wired Connection; Vanier College; Name Our Child; Mashal Books; Laboratorio de Matematica Aplicada da Universidade Federal do Rio de Janeiro; Elite Calendar; Parliament of India; United Network for Organ Sharing; UK Jobs; Tennessee State University; St. Louis Metropolitan Sewer District; College of the Siskioyous; Russian Scientific Center for Legal Information; Ministry of Justice; RomTec Pic; Race Lesotho; Monmouth College; Association of EDIUsers; Bitstop, Inc; Custom Systems; Classic Amiga; 98 Sskate; CU Naked; Korea National University of Education; PlayStation 2; Assotiation for Windows NT User Group Bloem S.A.; Aware, Inc.; Ahmedabad Telephone Online Directory; Ahmedabad Telecom District; Fly Pakistan: Quality Business Solutions; Out; Internet Exposure; Belgium Province de Hainvan Wervings en Sectiebureaus; Engineering Export Promotion Council, Ministry of Commerce, India; AntiOnline's Anticode; Pigman; Lasani; What Online; Weston High School; Vasco Boutique; True Systems; Siemens Italy; Progress Korea; Phase Device Ltd.; National Postal Mail Handlers Union; Metrics; Massachusetts Higher Education Network; The London Institute; Fort Campbell School System; and MaxiDATA Tecnologia e Informatica Ltda.
И наконец, атаки на домашний компьютер, принадлежащий одному моему другу и подсоединяющийся к Интернету через модем:
• двадцать шесть просмотров с целью обнаружить слабые точки;
• четыре обнаруженные попытки взлома компьютера во время поиска слабых точек;
• множество других хакерских трюков.
Фиксируя подобные события только в течение первой недели марта 2000 года, я воистину устал от этого занятия.
Обозревая получившийся список, можно сказать, что устрашающе действует прежде всего большое разнообразие проблем, слабых точек и атак. Слабые места имеются в программах, которые мы считаем защищенными; есть они даже в самих системах безопасности. Некоторые из них присутствуют в системах электронной коммерции, при конструировании которых наверняка учитывались вопросы безопасности. Одни из них есть в новых программах, другие – в программах, которые продаются уже в течение многих лет. Нередко поставщики программного обеспечения никак не хотят согласиться, что у их продукции имеются проблемы с безопасностью.
Первые семь дней марта 2000 года не были исключением. И в другие недели случались подобные происшествия, а некоторые из них были еще показательнее. Действительно, факты говорят о том, что положение вещей ухудшается: число «дыр» в системах безопасности, взломов и отказов постоянно возрастает. Даже если мы будем больше знать о безопасности (как сконструировать криптографические алгоритмы, как построить безопасную операционную систему), все равно обеспечить полную безопасность будет невозможно. Почему это так и что можно с этим сделать – и является предметом нашего разговора.
Системы
Понятие «система» относительно ново для науки. Восточные философы уже давно рассматривали мир как единую систему, состоящую из различных компонентов, но в западной традиции было принято разделять его на отдельные явления, развивающиеся в различных направлениях.
Машины только недавно стали системами. Подъемный блок – это машина; но лифт – это комплексная система, включающая много различных механизмов. Системы взаимодействуют: лифт взаимодействует с электрической системой здания, с его системой пожарной безопасности и, возможно, даже с его системой защиты окружающей среды. Компьютеры, взаимодействуя, образуют сети; сети, взаимодействуя, образуют более крупные сети… в общем, вы уловили идею.
Адмирал Грейс Хоппер говорил: «Жизнь была проще перед Второй мировой войной. После этого у нас появились системы». Это – очень проницательный взгляд на вещи.
Если вы используете концепцию систем, можно проектировать и строить в более крупном масштабе. Есть разница между созданием особняка и небоскреба, орудия и ракеты Patriot, посадочной полосы и аэропорта. Каждый может изготовить светофор, но разработать городскую систему транспортного контроля значительно сложнее.
Интернет, возможно, наиболее сложная система, которая когда-либо разрабатывалась. Она включает в себя миллионы компьютеров, объединенных в непредсказуемо сложные физические сети. На каждом компьютере работают сотни программ, некоторые из них взаимодействуют с программами, установленными на том же компьютере, другие – через сеть с программами, установленными на удаленных компьютерах. Система принимает сигналы от миллионов пользователей, часто одновременно.
Один человек сказал: «Сэр, это зрелище подобно собаке, стоящей на задних лапах. Удивительно не то, что она делает это недостаточно хорошо, а то, что она вообще способна это делать».
Системы имеют несколько интересных свойств, которые уместно здесь обсудить.
Во-первых, они сложны. Механизмы просты: молоток, дверные петли, нож для бифштексов. Системы же намного сложнее: они имеют компоненты, петли обратной связи, среднее время отклика, инфраструктуру. Цифровые системы весьма затейливы: даже простая компьютерная программа состоит из тысяч строчек кода, описывающего всевозможные разновидности различных операций. Сложная программа имеет тысячи компонентов, которые могут работать как по отдельности, так и во взаимодействии друг с другом. Именно для сложных цифровых систем было разработано объектно-ориентированное программирование.
Во-вторых, системы взаимодействуют, формируя еще более крупные системы. Это может быть сделано намеренно – программисты используют объекты, чтобы дробить большие системы на малые, инженеры подразделяют большие механические системы на малые подсистемы, и так далее, – или происходит естественным образом. Изобретение автомобиля привело к развитию современной системы дорог и магистралей, а она, в свою очередь, взаимодействуя с другими системами, существующими в нашем мире, породила то, что мы называем мегаполисом. Система контроля авиалиний взаимодействует с навигационной системой самолета и с системой предсказания погоды. Тело человека взаимодействует с другими человеческими организмами и с другими системами на планете. Интернет переплетается со всеми наиболее важными системами в нашем обществе.
В-третьих, системы обладают неожиданными свойствами. Другими словами, они иногда могут делать вещи, которых разработчики и пользователи не ожидают от них. Телефонная система, например, породила новый способ взаимодействия людей. (Александр Грэхем Белл не имел представления, что телефон станет прибором для осуществления персональной связи, – он предполагал использовать его для сообщений о приходе телеграммы.) Автомобили изменили пути, на которых люди встречаются, назначают свидания и влюбляются. Системы защиты окружающей среды в зданиях оказывают влияние на здоровье людей, что также сказывается на работе системы здравоохранения. Системы обработки текстов изменили способ их написания. У Интернета полно неожиданных свойств: вспомните об электронных покупках, виртуальном сексе, совместном авторстве.
И – четвертое: в системах имеются «баги»[1]1
От английского bug (жучок). Однозначного русского перевода не существует. – Примеч. ред.
[Закрыть]. Они являются особой разновидностью ошибки. Их наличие – неожиданное свойство системы, не предусмотренное при ее создании. «Баги» принципиально отличаются от сбоев. Если где-то происходит сбой, продолжение работы невозможно. Когда же имеется «баг», работа продолжается, хотя объект, ее производящий, ведет себя «плохо»: возможно, неустойчиво, возможно, необъяснимо. «Баги» – уникальное свойство систем. Машины могут ломаться или портиться, или не работать вовсе, но только системы могут иметь «баги».
Системы и безопасность
Все перечисленные свойства оказывают влияние на безопасность систем. Ухищрения – вот точное определение для безопасности на сегодняшний день, поскольку обезопасить сложную систему, подобную Интернету, трудно именно в силу ее сложности. Безопасность систем – дело сложное, а безопасность сложных систем в особенности.
Обычный для компьютеризованных систем механизм тиражирования игнорирует наличие системы как таковой и сосредоточен на отдельных машинах – такова технология… Поэтому мы загружены работой по выработке технологий безопасности: криптография, брандмауэры, инфраструктура ключей общего доступа, сопротивление несанкционированному доступу. Эти технологии просты для понимания и обсуждения и достаточно просты в использовании. Но было бы наивно полагать, что они способны неким таинственным образом наполнить системы свойством:
(<тип уважения = 'секретность'> Безопасность уважение>)
Увы, так не случается, и подтверждение тому можно видеть в моем отчете за 7 дней марта 2000 года. Причина большинства событий, связанных с нарушением безопасности, коренится в четырех свойствах систем, рассмотренных ранее:
• Сложность. Проблемы безопасности в Active Directory операционной системы Windows 2000 прямо вытекают из сложности любой компьютерной системы каталогов. Я думаю, что они зиждятся на недостатке, заложенном при проектировании: Microsoft применила конструкторское решение, обеспечивающее удобство пользователям, но небезупречное с точки зрения безопасности.
• Взаимодействие. Взаимодействие между программным обеспечением вебсайта Intuit и программным обеспечением DoubleClick, производящее отображение объявлений пользователей, привело к утечке информации от одного к другому.
• Неожиданность. Судя по сообщениям в прессе, программисты Sony не знают, как происходит утечка информации о кредитных картах от одного пользователя к другому. Она просто происходит.
• «Баги». Уязвимость Netscape Enterprise Server 3/6 была следствием программного «бага». Нарушитель мог использовать этот «баг», породив проблему для безопасности.
Многие страницы этой книги (особенно в третьей ее части) посвящены детальному объяснению, почему безопасность мыслится как система внутри большой системы, но пока я хочу, чтобы для начала вы просто держали в голове две вещи.
Первое – это соотношение между теорией и практикой безопасности. Существует целая куча теорий безопасности: теория криптографии, теория брандмауэров и обнаружения вторжения, теория биометрик. В истории полно примеров, когда система была основана на великой теории, но терпела поражение на практике. Йоги Берра однажды сказал: «В теории нет различия между теорией и практикой. На практике есть».
Теоретические изыскания лучше всего подходят для идеальных условий и лабораторных установок. Самая популярная шутка на занятиях физикой в моем колледже была: «Рассмотрим сферическую корову с равномерно распределенной плотностью». Некоторые вычисления мы можем производить только для идеализированной системы: реальный мир гораздо сложнее, чем теория. Цифровые системы безопасности также подчиняются этому закону: мы можем сконструировать идеализированные операционные системы так, что они, вероятно, будут безопасными, но мы не можем заставить их действительно безопасно работать в реальном мире. В реальном мире существуют несоответствия проекту, неприметные изменения и неправильные реализации.
Реальные системы не подчиняются теоретическим решениям. Совпадения случаются только тогда, когда сферическая корова обладает такими же неожиданными свойствами, как и реальная Буренка. Именно по этой причине ученые – не инженеры.
Вторая важная вещь, которую нужно помнить – это соотношение между предупреждением, обнаружением и реагированием. Хорошая защита объединяет все три звена: безопасное хранилище, чтобы сохранить ценности, сигнализацию, чтобы обнаружить грабителей, если они захотят туда проникнуть, и полицию, которая отреагирует на сигнал тревоги и поймает грабителей. В системах компьютерной безопасности наблюдается тенденция полагаться в основном на упреждающие меры: криптография, брандмауэры и т. д. В большинстве случаев в них не заложено обнаружения и почти никогда нет реагирования и преследования. Такая стратегия оправдана только тогда, когда предупредительные меры совершенны: в противном случае кто-нибудь наверняка сможет сообразить, как их обойти. Большинство уязвимых мест и, соответственно, нападений, описанных в данном разделе, – это результат несовершенства превентивных механизмов. В реальности же нашего мира обнаружение и реагирование очень существенны.