Именно поэтому приемы манипулирования людьми работают. Люди в основном доброжелательны и приходят на помощь. И их часто обманывают. Взывая к естественным душевным качествам Боба, Алиса всегда добьется своей цели. Она убедит Боба, что она – такая же, как и он сам. Она позвонит в тот момент, когда Боб менее всего ожидает этого. Она знает, что средства безопасности мешают его работе, и может сыграть на этом. Если же она допустит ошибку, и Боб не попадется на удочку, она может обратиться к десяткам и сотням других Бобов в той же организации, которые сделают то, о чем их попросят.
До сих пор мы изучали проблему по частям. Мы рассмотрели основные существующие угрозы. Мы познакомились с разными видами атак и типами злоумышленников. Мы многое узнали о различных технологиях и о том, каким образом они противодействуют (или почему не могут противодействовать) нападениям. Пришло время собрать это все вместе и попытаться решить некоторые проблемы безопасности.
Руководителей можно разделить на три категории в зависимости от их подхода к вопросам безопасности. Первая категория считает: «В этой области дела обстоят слишком плохо». Эта точка зрения, согласно которой системы безопасности настолько ненадежны, что просто невозможно вести учет товаров с помощью карманных компьютеров (PDA), осуществлять банковские платежи через Интернет или участвовать в лотерее с помощью сотового телефона. Вторая категория придерживается позиции «Я куплю себе безопасность». Согласно этой точке зрения, безопасность – всего лишь отметка об оплате в товарном чеке, и если вы приобрели брандмауэр, то защита вам обеспечена. Обе категории придерживаются крайних взглядов, и любая из этих позиций отражает упрощенческий взгляд на вещи. Третья категория рассуждает еще более странно: «Мы слишком незначительны, чтобы нас атаковали». Эта позиция более чем упрощенческая.
Мы хотим предложить нечто лучшее. Дела можно вести безопасно в цифровом мире так же, как можно их вести в мире реальном. На первый взгляд лучший способ обеспечить безопасность состоит в использовании как можно большего количества средств защиты: повесить больше замков на двери, везде использовать шифрование, брандмауэры, системы обнаружения вторжения, инфраструктуру открытого ключа в компьютерных сетях. К сожалению, все далеко не так просто. Во-первых, финансирование системы безопасности ограничено. Во-вторых, нагромождение различных средств защиты – не лучший путь к достижению цели.
Задача состоит в том, чтобы понять, как работает целостная система и как в нее вписываются средства защиты. Бесполезно рассматривать только отдельные технологии.
Безопасность – это цепь; ее прочность определяется прочностью самого слабого ее звена. Если вы решили осуществить зашифрованное телефонное соединение, вы должны побеспокоиться об алгоритме шифрования голосовой связи, о механизме обмена ключами, который позволит участникам диалога понимать друг друга, о процессе создания ключа, о безопасности программного обеспечения на телефонной станции, о физической безопасности аппаратов и т. д. Изъян в любом из этих звеньев сведет на нет все усилия.
То же самое относится к компьютерным системам. Если у вас есть сеть с брандмауэром, вы должны подумать о безопасности самого брандмауэра. Если ваша сеть снабжена брандмауэром и VPN, необходимо, чтобы были защищены оба этих устройства. Уязвимое место в одном из них может привести к тому, что вся сеть окажется в нерабочем состоянии.
Безопасность – это процесс, а не продукт. В этой части мы будем обсуждать процессы, связанные с безопасностью: атаки, способы защиты и взаимоотношения между ними. Мы поговорим о том, как осуществляются реальные нападения, и о том, как сконструировать систему, способную противостоять таким нападениям. Мы также поговорим о текущем состоянии средств безопасности, об их будущем и о том, что необходимо для их эффективной работы.
Глава 18
Уязвимости и их ландшафт
В первой части мы теоретически рассматривали атаки: какие существуют виды нападений и нападающих. Но, как я каждый раз не устаю повторять, теория отличается от практики. Каждый, кто читает детективные романы или криминальную хронику в газетах, знает, что для осуществления нападения необходимо намного больше, чем просто найти уязвимое место. Можно считать, что нападающий с успехом использовал слабую точку, если ему удалось определить цель, спланировать атаку, сделать свое дело и скрыться. Недостатки в замке сейфа, находящегося в безопасном месте, менее существенны, чем аналогичные недостатки в банковском уличном ящике для депозитов.
То же самое и в цифровом мире. Потенциальному преступнику недостаточно найти изъян в алгоритме шифрования, использующемся в системе кредитных карт. Он должен получить доступ к соединению, он должен обладать достаточными знаниями о протоколах, чтобы создать поддельное сообщение, которое позволит ему на самом деле украсть деньги, и в конце концов он должен успеть убраться вовремя. Обнаружение изъяна в шифровании в отрыве от всех остальных шагов представляет только теоретическую ценность.
Подобно этому, существует великое множество мер противодействия, которые могут помочь «заткнуть дыру». В сейфе можно повесить более надежный замок или установить сигнализацию на окнах и дверях помещения, в котором сейф находится, и поставить у дверей охрану. Недостатки в шифровании могут быть исправлены, если использовать лучший алгоритм шифрования. Они не будут представлять опасности, если держать протоколы в секрете, использовать частную сеть для сообщений или просто менять ключи каждые пять минут.
Методология атаки
В общем случае успешную атаку можно разбить на пять последовательных шагов:
1. Опознать цель, которая должна подвергнуться нападению, и собрать о ней информацию.
2. Проанализировать информацию и найти уязвимую точку в цели, которая позволит добраться до объектов, на которые направлена атака.
3. Получить необходимый уровень доступа к цели.
4. Осуществить нападение на цель.
5. Завершить атаку, что может включать в себя уничтожение всяких следов атаки, и скрыться от возмездия.
То есть, другими словами, необходимо определить, что атаковать и как атаковать, проникнуть внутрь, провести атаку и убраться вовремя. Первые два шага – это исследование. Вы в силах выполнить их в полной безопасности в собственной лаборатории; вы даже можете использовать для этого муляжи настоящей цели. Если вы ученый, скорее всего, вы остановитесь после второго шага и опубликуете полученные материалы. Последующие три шага связаны с риском, который неизбежен при взломе и проникновении в систему как виртуальную, так и реальную. Тут уж как повезет: либо успел скрыться вовремя, либо поймали.
Помните Звездные войны? Для того чтобы взорвать Звезду Смерти, повстанцы сначала должны были получить информацию, которую принцесса Лейа поместила в R2-D2. Это была единственная причина, по которой Люк должен был в первую очередь вызволить дроидов с Татуина. Спасение принцессы было в Мак-Гаффине. Это был первый шаг.
Шаг второй остался за кадром. Инженер восставших изучил информацию, полученную от дроидов и нашел слабое место в обороне их станции – проектировщики системы жизнеобеспечения никогда не предполагали, что их детище будут внимательно изучать профессионалы в области безопасности, и вот результат: Звезда Смерти, создание которой обошлось в десятки миллиардов «кредитов», может быть уничтожена через вентиляционную шахту.
Шаг третий продемонстрировал спецэффекты ближнего боя в ограниченном пространстве между крестокрылыми бойцами повстанцев (их экипировка приводит зрителей в восхищение) и защитниками станции. Задача крестокрылых состояла в прикрытии нескольких истребителей, которые получали возможность свободно перемещаться по всему пространству и простреливать насквозь вентиляционную шахту. Доступ к цели был достигнут совместными усилиями.
Молодой мастер Люк смог завершить четвертый шаг после того, как Хан Соло оторвался от Дарта Вейдера, севшего ему «на хвост», и вкрадчивый голос Алека Гинеса внушил Люку мысль отключить компьютер, который являлся целью (возможно, работающий с бета-версией), и использовать Силу.
Взрыв Звезды Смерти (шаг 5) исключил всякую возможность возмездия, по крайней мере на некоторое время. После этого было нетрудно убраться восвояси. Наши герои получили медали от альянса повстанцев, чье материальное положение улучшилось настолько, что они смогли позволить себе заказать новую форму, и Вселенная была спасена на несколько следующих серий. Список можно продолжить.
Только что описанный пример мало отличается от атаки через Интернет, нацеленной на компьютеры какой-либо компании. На первом шаге происходит выбор цели и сбор информации. Осуществить это на удивление легко. На веб-сайте обычно можно найти любую информацию: от сведений о том, что содержат различные базы данных Интернета, до способов работы с ними в режиме сетевого подключения. Специальный номеронабиратель поможет установить коммутируемое соединение. Существует множество техник, которыми нападающий может воспользоваться для того, чтобы узнать, как работает сеть, в которой находится его цель: изучение результатов работы специальных программ, используемых для проверки доступности адресата, служебных сообщений, состояния портов и т. д. Сетевой модуль проверки текущего состояния способен выдать еще больше информации. Это чаще всего похоже на вышибание двери, хотя компьютер сам готов выдать совершенно посторонним людям массу информации о том, какое аппаратное обеспечение в нем используется, какие работают программы и какие службы они поддерживают. Все эти сведения могут с успехом использоваться нападающим.