Принципы
Разделяйте
Бывалые путешественники держат лишь небольшую сумму денег в бумажнике, а остальное – в мешочке, скрытом под одеждой. Таким образом, если их обворуют, они не потеряют все деньги. Структура шпионских или террористических организаций предполагает разделение на маленькие группы, члены которых знают только друг друга и никого более. Таким образом, если кто-нибудь оказался схвачен или сдался сам, он может выдать только тех людей, которые входят в его ближайшее окружение. Разделение – эффективный способ защиты, так как оно ограничивает последствия действий противника, приводящих к успеху. Это – пример здравого смысла, которым часто пользуются. Пользователи имеют индивидуальные учетные записи; двери помещений офиса запираются разными ключами; права доступа предоставляются соответственно степени доверия конкретному лицу, а также реальной необходимости предоставления ему определенных сведений; личные файлы шифруют уникальными ключами. Система безопасности не строится по принципу «все или ничего», но она должна предотвращать возможность причинения значительного ущерба.
Схожий принцип – минимум привилегий. В основном это означает, что нужно давать кому-нибудь (пользователю или некоторым процессам) только те привилегии, которые необходимы для выполнения задачи. Мы постоянно сталкиваемся с этим в повседневной жизни. Ваш ключ, скорее всего, подходит только к вашему, а не любому помещению в здании. Доступ к банкоматам и хранящимся в них деньгам имеет только обслуживающий их персонал. Даже если вы пользуетесь особым доверием на службе, вы сможете выболтать только те секреты, которые вам позволено знать.
Еще больше примеров можно найти в компьютерном мире. Пользователи имеют доступ только к тем серверам, которые нужны им для работы. Только системный администратор имеет доступ к системе в целом, пользователи имеют доступ лишь к своим файлам. Иногда отдельные файлы бывают защищены групповым паролем, известным только тем, кому необходим доступ к этим файлам. Конечно, легче предоставить каждому полный доступ, но безопаснее давать людям только те привилегии, в которых они действительно нуждаются. Системы предоставления прав доступа в UNIX и NT основаны на этом принципе.
Многие нападающие пользовались нарушением принципа минимума привилегий. Как только нападающий получает доступ к учетной записи пользователя, вскрывая пароль или как-нибудь иначе, он предпринимает несколько попыток получить высшую привилегию. Например, многие нападающие пытаются вскрыть «песочницу» Java (sandbox), получить таким образом минимальные привилегии, а затем перейти в режим, позволяющий получить привилегированный статус. Взлом защиты цифровых дисков, проездных карточек и систем платного телевидения и других, имеющих одно общее свойство – все секреты хранятся в устройстве, находящемся в распоряжении пользователя, – также можно назвать получением высших привилегий.
Разделение также важно, потому что чем больше людей пользуются системой, тем меньше ее надежность. Чем крупнее компьютер, чем шире круг задач, решаемых с его помощью, тем он менее безопасен.
Это одна из причин, почему Интернет, наиболее широко используемая сеть, таит столько опасностей. Сравните веб-сервер и компьютер, работающий в режиме пониженного потребления мощности, находящийся в запертом бомбоубежище и окруженный охраной. Использование разделения делает систему более похожей на второй вариант.
Укрепите самое слабое звено
Прежде всего следует защитить самое слабое звено. Это очевидно, но снова и снова я встречаю системы, в которых это правило игнорируется. Было бы наивностью просто вкопать огромный кол перед воротами замка и надеяться, что враг побежит прямо на него. Защита должна быть со всех сторон, поэтому придется выкопать ров и построить частокол. Точно так же при использовании алгоритма шифрования с 256-битовым ключом не стоит надеяться, что вы в безопасности; враг, вероятно, найдет такой способ нападения, который никак не связан с алгоритмами шифрования.
Меня постоянно удивляет, как много зияющих дыр остается в коммерческих системах безопасности. Разработчики не замечают их, так как поглощены созданием защиты тех частей системы, в которых они хорошо разбираются. Изучите ландшафт уязвимых мест в целом, сконструируйте схему нападений, найдите в ней самое слабое звено и обезопасьте его. Затем переходите к следующему слабому звену. Таким образом вы, вероятно, сможете построить наиболее безопасную систему.
Используйте пропускные пункты
Пропускной пункт представляет собой узкий коридор, в котором легко контролировать пользователей. Вспомните, как устроены и для чего предназначены турникеты на вокзале, контрольно-кассовые пункты в супермаркете и двери вашего дома. Для этих целей используются брандмауэры, маршрутизаторы, регистрация при входе в систему, а некоторые веб-сайты направляют пользователей сперва на домашнюю страницу. Так же устроена система обнаружения мошенничества с кредитными картами. Всегда имеет смысл использовать пропускные пункты в целях безопасности.
Но эти пункты полезны только в том случае, если нет никакого способа обойти их. Один из обычных способов преодоления брандмауэра состоит в том, чтобы обойти его: можно найти, например, незащищенное удаленное соединение. Случается, что люди оставляют удаленное соединение включенным. Иногда маршрутизаторы, запоминающие устройства большой емкости и даже принтеры могут иметь незащищенные порты. Все это позволяет нападающим обходить пропускные пункты.
В сетях возможны более тонкие способы нападений такого типа. Одна компания может иметь надежную систему сетевой безопасности. А другая компания может не обеспечивать ее должный уровень. Если они взаимодействуют по сети, это означает, что сеть имеет слабое звено, которое нуждается в защите.
Обеспечьте глубинную защиту
Глубинная (многоуровневая) защита – другой универсальный принцип безопасности, который применяется в области компьютерных технологий, так же как и в других областях.
Защита территории (дверные замки и сигнализация на окнах) более эффективна, если она используется совместно с системой слежения внутри дома. Система защиты кредитных карточек от мошенничества работает лучше, если она дополняется проверкой подлинности и системой отслеживания подозрительных расходов. Брандмауэр в сочетании с системой обнаружения вторжения и сильной криптографической защитой приложений будет намного более надежным, чем просто брандмауэр.
На протяжении всей книги я пытался донести до читателя мысль, что защита настолько надежна, насколько прочно ее самое слабое звено, и предыдущее утверждение, кажется, противоречит этому принципу. В действительности все зависит от исполнения. Вспомните схемы нападений: безопасность группы узлов ИЛИ определяется надежностью защиты самого слабого узла, в то время как в случае конечных узлов И защита каждого из них усиливает защиту их совокупности.
Два брандмауэра, каждый из которых защищает отдельную точку входа в сеть, – это не глубинная защита. Для успешного нападения достаточно преодолеть любой из этих брандмауэров. Защита по глубине будет реализована в том случае, если брандмауэры установлены последовательно один за другим: тогда нападающему придется по очереди иметь дело с двумя уровнями защиты. Меня всегда поражает, когда я вижу сложные сети, точки входа в которые порознь защищают брандмауэры различных марок или даже различные конфигурации одного и того же брандмауэра. Это совершенно лишено смысла.
Подстрахуйтесь на случай отказа
Многие системы устроены таким образом, что если система выходит из строя, пользователь обращается к резервной системе, хоть и менее безопасной. Например, в Соединенных Штатах система VeriFone используется при совершении сделок по кредитной карточке. Когда клерк проверяет вашу карту, VeriFone обращается к базе данных и проверяет, не украдена ли карта, достаточно ли денег у вас на счете и т. д. Вспомните случаи, когда терминал не работал по какой-либо причине: или он был сломан, или прерывалась телефонная связь. Разве торговец отказывался обслуживать вас? Конечно, нет. Он вытаскивал бумажные бланки и оформлял сделку по старинке.
Многие нападающие пытаются взломать защиту «кавалерийской атакой»: атаки, приводящие к отказу в обслуживании, могут повторяться снова и снова. Я уже говорил о грабителях, которые заставляют постоянно срабатывать сигнализацию для того, чтобы ее в конце концов отключили. Есть и более тонкие способы нападения. Немногие люди дисциплинированы настолько, чтобы не воспользоваться обычной связью, когда они не могут пользоваться безопасной. Даже военные, которые, как принято считать, подходят к этому серьезно, постоянно повторяют подобные ошибки.
Нужно, чтобы системы в случае отказа становились более защищенными, а не менее. Если в банкомате перестанет работать система проверки личного идентификационного номера, произойдет отказ, но при этом не посыплются деньги из щели. Если сломается брандмауэр, то это приведет к тому, что он перестанет пропускать любые пакеты данных. Когда повреждается слот-машина, она не должна проливать монетный дождь на поднос выплаты.
Тот же самый принцип используется в технике безопасности и называется отказоустойчивостью (безаварийный отказ). Если выйдет из строя микропроцессор в автомобиле, это не должно привести к разгону до максимальной скорости. Если произойдет отказ в системе управления ядерной ракетой, это не должно привести к ее запуску. Безаварийный отказ – хорошее правило проектирования.
Используйте непредсказуемость
Снова и снова в этой книге я выступаю против безопасности, основанной на секретности: закрытая криптография, закрытый исходный код, секретные операционные системы. Секретность так же может иметь место, но не в продуктах, а в том, как они используются. Я называю это непредсказуемостью.
Одно из преимуществ защищающихся перед нападающими состоит в знании местности. Армия не передает врагу сведений о расположении своих танков, установок противовоздушной обороны и батальонов. Нет никакой причины сообщать каждому интересующемуся сведения о топологической схеме вашей сети. Слишком многие компьютеры в ответ на любой запрос выдают информацию об используемой операционной системе и номере версии. Этому нет разумного обоснования. Будет намного лучше, если при регистрации пользователя в системе на экране появится сообщение:
«Предупреждение: частный компьютер. Использование этой системы предусматривает контроль безопасности. Все действия пользователя и сведения о нем регистрируются, включая IP-адрес и имя хоста».
Предоставьте нападающим самим разбираться, можете ли вы следить за ними.
Если вы строите частную систему безопасности (например, электронных банковских платежей), то важно использовать сильный, открытый, надежный алгоритм шифрования. Когда вы сделаете свой выбор, незачем объявлять о нем.
Если вы используете брандмауэр, нет никакого смысла сообщать всему миру настоящее имя хоста и имя пользователя. Это также принцип построения системы мер безопасности (сетевой сигнализации, приманок и других). Администратор сети знает, как она работает и что означают те или иные действия. Когда кто-то копается в фиктивном счете, администратор знает, что это – злоумышленник. Нападающий не должен знать, где и какое оборудование работает, когда и какой протокол можно использовать, какие порты и при каких условиях будут открыты. Поразительно, как часто серверы, приложения и протоколы объявляют на весь мир: «Привет! Я – служба V2.05». Многие автоматические средства взлома в поисках определенных версий программного обеспечения просматривают машины, о которых известно, что у них имеются уязвимые места. Если сети будут непредсказуемы, нападающие не смогут так свободно их огуливать. Не располагая нужной информацией, намного труднее обозначить цель и определить возможные виды атак. Разница такая же, как между прогулкой по солнечном лугу в полдень и по зарослям колючего кустарника в полночь.
Столь же непредсказуемы должны быть и меры реагирования. Ракета «Патриот» недостаточно эффективно поражала в небе иракские «Скады», но вы никогда не узнали бы об этом из официальных сообщений Пентагона. Если Соединенные Штаты знали, насколько была неэффективна противовоздушная оборона, это не означало, что нужно сообщать об этом врагу.
Непредсказуемость – мощное средство, используемое террористами, специалистами по «промыванию мозгов» при авторитарных режимах и теми, кто еще только рвется к власти. Но оно также хорошо работает в сфере компьютерной безопасности.
Стремитесь к простоте
Я уже говорил в предыдущей главе: сложность – злейший враг безопасности. Система настолько защищена, насколько защищено ее самое слабое звено. Поэтому систему с меньшим количеством связей легче обезопасить. Эйнштейн говорил: «Все должно быть настолько просто, насколько это возможно, но не более».
Народная мудрость «Не кладите все яйца в одну корзину», казалось бы, противоречит этому утверждению. Так оно и есть, и на этом принципе строится защита по глубине. Но помните, что охранять несколько корзин сложнее, чем одну. Когда речь идет о безопасности, лучше следовать совету одного героя Марка Твена: «Сложите все яйца в одну корзину и присматривайте за ней».
Заручитесь поддержкой пользователей
Обеспечить безопасность намного легче, если приходится иметь дело с надежными и разумными пользователям, и намного тяжелее – с невежественными и имеющими злой умысел. Меры безопасности, не понятые и не согласованные к каждым, не будут работать. Помните: самыми трудными проблемами безопасности являются те, которые связаны с людьми, а самыми легкими – те, что связаны с битами. Несомненно, должна существовать защита от нападений изнутри, но в основном ваши сотрудники – это ваши союзники. Заручитесь их поддержкой, насколько это возможно.
Обеспечьте гарантию
В чем мы действительно нуждаемся – так это в уверенности, что наши системы работают должным образом, что они обладают требуемыми свойствами и только ими. Большинство нападений в реальном мире приводит к тому, что системы либо перестают делать то, что им положено, либо начинают вести себя непредвиденным образом.
Сомневайтесь
Сомнение в надежности защиты должно присутствовать постоянно. Подвергните сомнению ваши предположения, ваши решения. Поставьте под вопрос ваши модели безопасности и модели угроз. Продолжайте анализировать деревья атак. Не доверяйте никому, особенно самому себе. Вы будете сильно удивлены тем, что вам удастся обнаружить.
Обнаружение и реагирование
Обнаружение атак намного важнее, чем предотвращение. Я неоднократно уже упоминал о том, что полностью предотвратить нападения невозможно. Конечно, стремиться к совершенству нужно, но все, что нам известно относительно сложных систем, говорит о том, что невозможно выявить и устранить все уязвимые точки. Нападающие найдутся всегда, и их нужно ловить и наказывать.
Меня поражает, насколько часто производители средств защиты компьютерных систем забывают об этом. Вы никогда не увидите дверной замок с рекламным лозунгом: «С этим замком вы можете не бояться воров». Но те, кто продает средства защиты компьютеров, постоянно делают заявления подобного рода: «Брандмауэры исключают возможность проникновения в вашу внутреннюю сеть», «Процедура аутентификации не допустит нежелательных посетителей в вашу систему», «Шифрование не позволит посторонним прочитать содержимое ваших файлов». Все эти заявления безосновательны. Механизмы предотвращения нужны, но предотвращение – только часть решения проблемы безопасности и притом наиболее непрочная часть. Эффективная система безопасности также включает обнаружение нападения и реакцию на него.
В реальном мире люди понимают это. Банки не заявляют: «У нас есть надежное хранилище, так что мы не нуждаемся в системе сигнализации». Никто не увольняет ночную охрану музеев только потому, что в них есть замки на окнах и дверях. В лучшем из миров все, что вы выигрываете за счет применения защитных средств, – это время. В реальном мире средства, предотвращающие нападения, часто не используются вообще.
В некоторых случаях средства защиты – это все, на что вы можете положиться. Шифрование в качестве защитного средства должно предотвращать подслушивание переговоров. Но нет никакого способа обнаружить подслушивание, так что невозможно и никакое реагирование. Тем не менее чаще всего обнаружение и реагирование возможны.
И они обеспечивают большую надежность. Систему безопасности, защищающую ваш дом (дверной замок) легко обойти, если разбить кирпичом окно. Тогда почему большинство домов еще не ограблены? Почему нет публичных призывов использовать окна из поликарбоната? Потому что есть средства обнаружения и реагирования.
Обнаруживайте нападения
Современное общество предотвращает преступления. Это – миф. Если Алиса захочет убить Боба, она сможет это сделать. Полиции не удастся остановить ее, если, конечно, она не полная идиотка. Они не смогут защитить каждого Боба. Боб должен позаботиться о своей безопасности сам. Он вправе нанять телохранителя, если это ему по карману, но это также ничего не гарантирует.
Обычно преступление обнаруживается уже после его совершения. «Офицер, мы только что откопали на задворках Стадиона Гигантов тело Боба, нашпигованное пулями. Я думаю, что здесь пахнет преступлением». Мы расследуем обнаруженные преступления, собираем свидетельства, которые помогут убедить присяжных в виновности обвиняемого. Предполагается, что весь процесс поиска и наказания преступника должен воздействовать на общество в целом и отбивать у других охоту следовать его примеру. Конечно, приговор выносится с целью наказать виновного, но реальная польза обществу состоит в предотвращении новых преступлений, то есть наказание производит профилактический эффект.
Хорошо, что вся эта сложная система более или менее работает, потому что предотвратить преступление намного труднее, чем обнаружить. Для цифрового мира верно то же самое. Компании, выпускающие кредитные карточки, делают все возможное для предотвращения мошенничества, но главным образом они полагаются на средства обнаружения и, в чрезвычайных случаях, на судебное преследование. Сотовые телефоны могут быть клонированы, но механизмы обнаружения ограничивают финансовые потери.
Как борются с воровством в магазинах? Можно существенно ограничить возможность кражи, если прикрепить товары к прилавкам, поместить их в застекленные витрины или позади прилавка. Эти методы работают, но уменьшают продажи, потому что покупателю нравится брать товар в руки. Поэтому появилось множество технологий обнаружения воровства: ярлыки, прикрепленные к товарам, включают сигнализацию при попытке вынести их из магазина. (Существует другой интересный способ борьбы с кражами предметов одежды: к ним прикрепляются ярлыки, которые распыляют краску при попытке удалить их ненадлежащим образом. Этот способ называется лишением выгоды.)
В Интернете обнаружение может оказаться сложным делом. Недостаточно установить брандмауэр и этим ограничиться. Вы должны обнаруживать нападения на сеть. Это требует чтения, понимания и интерпретации огромного количества записей в контрольных журналах, которые делает брандмауэр, а также маршрутизаторы, серверы и другие сетевые устройства, так как вполне возможно, что некоторые атаки обойдут брандмауэр. Такие нападения всегда где-нибудь оставляют след.
Обнаружение должно быть своевременным. (Поздно реагировать на нападение, о котором вы узнаете из утренних газет.) Это означает, что требуется система контроля в реальном времени. Чем скорее вы обнаружите что-то подозрительное, тем скорее вы сможете отреагировать.
Анализируйте нападения
Простого обнаружения недостаточно, необходимо понять – что это за нападение и что оно означает. Традиционно, военные разделяют этот процесс на четыре этапа.
Обнаружение. Осознание того, что произошло нападение. Три ключевых сервера вашей сети одновременно вышли из строя. Что это – нападение или просто проблемы программного обеспечения сети? Или, может быть, случайное совпадение? Если вы даже не знаете, нападение это или нет, вы не можете адекватно отреагировать.
Локализация. Определение точки, в которой произошло нападение. Даже если вы знаете, что сеть атакована, вы можете не иметь сведений о том, какие компьютеры или порты подвергаются нападению. Вы можете знать, что поломка серверов – результат нападения, но не иметь никакого понятия, как нападающему это удалось сделать и чем он занят в настоящее время.
Идентификация. Определение, кем является нападающий и откуда он работает. Это поможет составить представление о его сильных и слабых сторонах. Например, с нападающим из Соединенных Штатов можно бороться иными методами, нежели с нападающим из Молдавии. (Этот шаг более важен в традиционном военном процессе, чем в сетевой безопасности.)
Оценка. Понимание целей и мотивов атакующего, его стратегии и тактики, его возможностей и, желательно, его уязвимых мест. Эта информация имеет чрезвычайно важное значение для выбора средств реагирования. Реакция на шалости ребенка будет совершенно иной, нежели на действия промышленного шпиона. Ребенок, вероятно, сразу отключится от соединения, если вы хоть как-то прореагируете на него. Более упорного нападающего так легко остановить не удастся.
Каждый последующий шаг труднее, чем предыдущий, и требует более детальной информации. Часто ее анализ нуждается в участии квалифицированных специалистов, компьютер, предоставленный сам себе, рано или поздно не сможет справиться с этой задачей (хотя автоматическая программа может хорошо работать довольно долго).
На каждом шаге вы получаете все больше информации о ситуации. Чем больше информации вы получаете (и чем скорее), тем лучше вы вооружены. К сожалению, большинство сетевых администраторов никогда не знают, что они подверглись нападению, а если и знают, то не понимают, откуда оно исходит. Идентификацию и оценку особенно трудно осуществить в Интернете, где нападающему легко маскировать свое местоположение.
Скорость существенна. Чем быстрее вы проанализируете нападение, тем быстрее ответите на него.
Ответьте на нападение
Поговорим о способах реагирования. Беспрерывно звонящая сигнализация, на которую никто не реагирует, ничем не лучше, чем полное ее отсутствие. Ответ – это то, для чего, собственно, и нужны средства обнаружения.
Иногда реагировать легко: если украден номер телефонный карточки, значит, его следует аннулировать. Иногда бывает сложнее: кто-то проник на сервер электронной торговли. Можно закрыть сервер, но потери составят 10 миллионов долларов в час. И что теперь?
Ответить непросто, хотя часто бывает, что люди принимают разумные решения за доли секунды. «Кто-то забрался на стену и приближается к застекленной крыше. Что нам сейчас делать?» Это во многом зависит от ситуации. Но вы не можете бездействовать. Можно просто прогнать его. Можно прогнать его и удостовериться, что он больше не вернется. Можно прогнать его, определить, как ему удалось туда попасть, и закрыть уязвимое место.
Пресечь нападение – это только половина дела. Не менее важно выследить и найти нападающего. Это бывает очень трудно в некоторых случаях: например, в Интернете нападающий может переходить с одного компьютера на другой, чтобы «замести следы». Полиция не может тратить много времени на расследование таких случаев до тех пор, пока не будут привлечены дополнительные людские или финансовые ресурсы, и я думаю, что частные компании могут оказать помощь правосудию, например, собирая досье на некоторых взломщиков.
Столкнувшись с судебным разбирательством, большинство людей из компьютерного мира, чуждых правовой сфере, обнаруживают, какая это помойная яма. Недостаточно идентифицировать нападающего, необходимо еще доказать это в суде. В Англии предпринимались попытки привлечь к ответственности обвиняемых в мошенничестве с кредитными картами. Как проходит рассмотрение дела в суде?
Защитник требует представить подробные сведения о средствах безопасности, используемых банком: описание технологии, записи в контрольных журналах; обо всем, что может прийти ему в голову. Представитель банка обращается к судье: «Мы не можем представить эти сведения, поскольку это причинит ущерб нашей безопасности». Судья прекращает дело. Система безопасности могла бы быть идеальным образцом обнаружения, она могла бы правильно указать преступника, но если она не переносит процесса раскрытия информации, значит, она недостаточно полезна.
Когда Джон Уокер предстал перед судом за шпионаж, Агентство национальной безопасности тщательно взвешивало, что лучше: раскрыть информацию о том, как Уокер взламывал механизмы шифрования, или сохранить в тайне истинные размеры причиненного им ущерба. Хорошие способы обнаружения должны выдерживать судебный процесс, включая перекрестные допросы с привлечением экспертов, не теряя при этом своей эффективности. Хорошие средства обнаружения и контроля обязаны делать записи в контрольных журналах, которые могут быть использованы в суде в качестве доказательств. Должна быть возможность демонстрировать эти записи, не раскрывая секретов безопасности (это называется разделением знаний, knowledge partitioning).
Будьте бдительны
Бдительность нельзя терять никогда. Чтобы обнаружение и реагирование были эффективны, необходимо работать все время: 24 часа в сутки, 365 дней в году. Службы охраны работают круглосуточно. Компании, обслуживающие системы охранной сигнализации, работают без выходных. В компьютерном мире не может быть по-другому. Вы не можете повесить объявление при входе в вашу сеть: «Пожалуйста, взламывайте нашу сеть только с девяти часов утра до пяти вечера, с понедельника по пятницу, исключая отпускное время». У хакеров свои планы.
Нападения часто происходят в то время, когда к нему не готовы. Преступные хакерские нападения связаны с определенными периодами академического года. Все виды мошенничества в торговле – с банкоматами, кредитными карточками, – учащаются в Рождественские праздники, когда люди тратят много денег. Банковские системы взламываются чаще всего после полудня в пятницу, когда банки закрываются на выходные. В 1973 году арабы напали на Израиль во время празднования Йом Кипур, самого священного еврейского праздника. Если кто-нибудь готовит серьезное нападение, он выберет столь же неудобное время.
Бдительность означает своевременность обнаружения и реагирования. Обнаружить нападение, когда оно происходит, намного важнее, чем через неделю или даже час после случившегося. Гораздо лучше закрыть уязвимые места сразу после их обнаружения, а не в следующем месяце. Запоздалая реакция часто не лучше, чем ее полное отсутствие.
Бдительность также означает подготовленность. Необходимо ясно представлять, что делать в случае нападения. Когда в 2000 году Yahoo! подверглась атаке, приводящей к отказу в обслуживании, потребовалось целых три часа, чтобы возобновить работу. Частично это произошло потому, что Yahoo! никогда раньше не сталкивалась с нападениями этого типа. Когда все идет гладко, люди забывают, как следует реагировать в исключительных ситуациях. Службы слежения и реагирования полезны только в том случае, если они регулярно обнаруживают нападения и реагируют на них.
Контролируйте контролеров
В банковском деле давно известно, что хорошую безопасность можно обеспечить только с помощью нескольких уровней контроля. Управляющие контролируют кассиров. Бухгалтеры контролируют управляющих. Аудиторы также проверяют, все ли в порядке, но уже другими способами, и их проверки являются эффективным средством контроля деятельности бухгалтеров. Внешние аудиторы действуют как доверенные третьи лица, им платят за проведение проверки независимо от того, найдут они что-нибудь или нет. В игорном бизнесе также используется многоуровневый контроль. Крупье наблюдают за игроками, администраторы наблюдают за крупье, а специальные контролеры наблюдают за администраторами.
В банковском деле эта схема усилена за счет обязательных отпусков. Идея состоит в том, что если кто-нибудь другой займется вашими делами, он, возможно, обнаружит ваши незаконные действия. Некто Ллойд Бенджамин Льюис, младший сотрудник расчетного отдела крупного банка, более двух лет подготавливал крупную аферу. За все это время он ни разу не уходил в отпуск, не болел и не опаздывал на работу. Он должен был всегда быть на рабочем месте, иначе кто-нибудь мог обнаружить мошенничество.
Недостаточно иметь в штате хороших системных администраторов, которые знают все о компьютерах и проблемах безопасности сети, следят за работой системы и отвечают на нападения 24 часа в сутки. Кто-то должен наблюдать за ними. И не только потому, что они могут иметь злой умысел, хотя это и бывает. (Множество преступлений было совершено банковскими руководителями высшего звена, так как у них гораздо больше возможностей уйти от ответственности. Некий контролер игровых автоматов, убедившись, что они не находятся под наблюдением, пытался изменить работу их запоминающих устройств так, чтобы сорвать банк.) Причина в том, что люди есть люди и они совершают ошибки. Даже компьютеры могут ошибаться, и необходимо предусмотреть средства обнаружения и устранения ошибок.
Устраните последствия нападения
В 2000 году была взломана французская смарт-карта. Ничего нельзя было сделать, кроме как прекратить всякие операции с ней. Подобные проблемы возникали и с проездными карточками в Нью-Йорке, канадской кредитной карточкой и со средствами защиты DVD. Если все ваше время уходит на обдумывание предупредительных мер, вы можете совершенно упустить из виду план действий в случае неудачи.