
Полная версия:
Секреты и ложь. Безопасность данных в цифровом мире
Некоторые полагают, что всему виной недостаточная аутентификация в Интернете. Это утверждение бессмысленно. Нападения типа «отказ в обслуживании» причиняют вред тем, что присылают пакеты; будут ли пакеты аутентифицированы или нет, никакого значения не имеет. Обязательная аутентификация никак не сможет предотвратить такие нападения или помочь в идентификации нападающих. Было бы иначе, если бы аутентификация могла быть проверена в каждой точке Сети. Это привело бы к изменениям в способе работы Интернета и значительно уменьшило бы пропускную способность сетей: вместо простой маршрутизации пакетов все коммутаторы и маршрутизаторы должны были бы еще аутентифицировать их.
Здесь может помочь крупномасштабная фильтрация сети интернет-провайдерами; если сеть в состоянии заблокировать нападение типа «отказ в обслуживании», оно никогда не достигнет цели. Здесь аутентификация может оказаться полезной. Но фильтрация интернет-провайдерами потребует больших усилий и значительно уменьшит сетевую пропускную способность. Подобным образом повсеместное использование коммутаторов и маршрутизаторов Интернета, в работу которых были бы внесены некоторые изменения, способствовало бы решению этой проблемы: они могли бы отказаться пересылать пакеты, которые явно подделаны. И опять-таки, это потребует значительных изменений.
И наконец, несмотря ни на что, с нападениями, которые попросту заваливают адресата потоками информации, ничего нельзя поделать. Некоторые нападения основываются не только на использовании лавинного эффекта: они также эксплуатируют определенные слабые места в защите; и они могут быть предотвращены, если будут заблокированы эти уязвимые точки. Но если у нападающего достаточно мощный «пожарный брандспойт», он может «затопить» свою жертву.
Нападения, приводящие к отказу в обслуживании, не являются вторжениями. Они не затрагивают данных веб-сайтов. Эти нападения не могут привести к завладению номерами кредитных карт или являющейся частной собственностью информацией. С их помощью нельзя перевести деньги с банковского счета или торговать акциями от чужого имени. Нападающие не в силах извлекать выгоду из своих нападений сиюминутно. (Они могут внезапно продать акции и после этого напасть на компанию.)
Это не говорит о том, что такие нападения не реальны или они не имеют значения. Для большинства крупных корпораций самый большой риск – это возможность потери дохода или репутации. И то и другое может быть изящно осуществлено при помощи блистательного нападения, приводящего к отказу в обслуживании. А если речь идет о компаниях, в режиме реального времени оперирующих данными, имеющими важное значение для решения критических задач или от выполнения которых может зависеть чья-то жизнь, нападения типа «отказ в обслуживании» буквально могут стать опасными для жизни людей.
Распределенные нападения типа «отказ в обслуживании»Распределенные нападения, приводящие к отказу в обслуживании, – это поистине опасная разновидность атак такого типа. Автоматические инструментальные средства для этих нападений были выпущены в 1999 году. Университет Миннесоты стал первой целью в августе того же года, а поток высококлассных нападений в начале 2000 года привел к тому, что сообщения о них попали на первые полосы всех газет.
Эти нападения точно такие же, как и традиционные нападения типа «отказ в обслуживании», только на сей раз нападение не имеет единственного источника. Нападающий сначала внедряется через Интернет в сотни или тысячи незащищенных компьютеров, называемых «зомби», и устанавливает программу атаки. После этого он координирует все эти машины для одновременного нападения. Поскольку цель подвергается нападению сразу из многих мест, ее традиционная защита не работает, и она падает «замертво».
Сказанное можно проиллюстрировать на примере доставки пиццы: Алисе не нравится Боб, и она обзванивает сотни компаний, доставляющих пиццу на дом, и просит доставить пиццу Бобу домой в 11 часов утра. В 11 часов подъезд Боба заполнен сотней разносчиков пиццы, которые требуют от него оплаты доставки. Бобу кажется, что за ним охотится мафия пиццы, но ее разносчики тоже жертвы. Настоящий же виновник происшествия никому не будет известен.
От этой атаки защититься невероятно сложно, если вообще возможно. При традиционном нападении, приводящем к отказу в обслуживании, компьютер жертвы может оказаться способным выяснить, куда ведут следы, и закрыть соответствующие соединения. При распределенном нападении такого единственного источника нет. Компьютер может закрыть все соединения, кроме заслуживающих доверия, но это не подходит для открытого сайта.
В последние годы проводилось несколько научных конференций по проблеме распределенных нападений типа «отказ в обслуживании», и по общему мнению никакой глобальной защиты от них не существует. Отчасти помогает непрерывный контроль сетевого подключения, поскольку дает возможность переключаться на дублирующие серверы и маршрутизаторы. Иногда отдельные ошибки, которыми воспользовались для нападения, могут быть исправлены, но многие неисправимы. При разработке Интернета не были предусмотрены меры противодействия этому классу посягательств. Со временем это нападение, вероятно, станет еще более опасным.
Современные средства, обеспечивающие распределенные атаки типа «отказ в обслуживании», требуют от нападающего способности внедриться в большое количество машин, установить зомбирующие программы, принять меры к тому, чтобы эти программы не были обнаружены, и скоординировать нападение… и на каждом этапе он должен оставаться не пойманным. В качестве новейших инструментальных средств могут использоваться вирусы или троянские кони. Они могут распространить «зомбирующие» программы и затем автоматически начать нападение с помощью некоего кодового слова в открытом форуме.
Уже было одно нападение типа «отказ в обслуживании», которое произошло по подобному сценарию. В 1999 году кто-то отправил по почте фальшивое обновление Internet Explorer, якобы исходящее от Microsoft. Это был настоящий троянский конь, который заставил инфицированный компьютер посылать пакеты компьютерам болгарской телекоммуникационной компании, что на долгое время создало для нее проблемы, связанные с отказами в обслуживании.
Отслеживание нападающего также невероятно трудно. Возвращаясь к примеру с доставкой пиццы, можно сказать: единственное, что может предпринять жертва – это попросить разносчиков пиццы помочь ему поймать злоумышленника. Если бы все они сверили свои регистрационные записи заказов по телефону, возможно, удалось бы определить, кто заказал доставку всех пицц. Иногда подобное возможно в Интернете, но маловероятно, что промежуточные сайты аккуратно ведут журнал регистрации. К тому же легко скрыть свое местоположение в Интернете. И если нападающий действует из некоей восточно-европейской страны с неразвитым законодательством об уголовном преследовании компьютерных преступлений, продажной полицией, не участвующей в международных соглашениях о выдаче преступников, то в этом случае ничего нельзя поделать.
Настоящую проблему представляют сотни тысяч, возможно, миллионы ничего не подозревающих компьютерных пользователей, которые уязвимы для этого нападения. Они пользуются цифровыми абонентскими линиями или кабельными модемами, в Интернете им всегда предоставлены статические IP-адреса, и они могут быть использованы для запуска этих (и других) нападений. Средства массовой информации освещают нападения на крупные корпорации, но действительно заслуживают внимания именно индивидуальные системы.
Подлинное решение состоит в привлечении разнообразных средств «общественной гигиены». Подобно тому как малярия была побеждена в Вашингтоне (округ Колумбия) путем осушения всех болот, есть только один-единственный способ предотвращения этих нападений – это защита миллионов частных компьютеров в Интернете. К сожалению, «болото» разрастается с невероятной скоростью, и обезопасить всех невозможно. Даже если бы 99% индивидуальных пользователей установили брандмауэры, которые все функционировали бы отлично, все равно в Интернете еще осталось бы достаточное количество незащищенных компьютеров, которые можно было бы использовать для подобного рода атак.
Будущее сетевой безопасностиВ шестидесятые годы люди поняли, что телефонные коммутаторы могут срабатывать, если свистеть, щелкать, рыгать в телефон. Это была эра телефонного жульничества: «черных» ящиков, «синих» ящиков, свистков капитана Кранча (Captain Crunch). Телефонные компании старались, как могли, защититься от мошенничеств: они блокировали определенные тоны, выслеживали жуликов и стали хранить в тайне технические подробности, но основная проблема состояла в том, что телефонная система была построена с передачей сигналов внутри полосы: контрольный сигнал и сигнал данных передавались по одному и тому же проводу. Это означало, что коммутаторы телефонной системы получали сигналы управления по тому же проводу, по которому велись переговоры, чем и пользовались телефонные жулики.
Телефонную систему решено было полностью перепроектировать. Современные протоколы телефонной коммутации, например SS7, или Система сигнализации 7, были разработаны с передачей сигналов вне полосы. Голосовые сообщения и сигналы управления были разделены, и стали передаваться по отдельным каналам. Сейчас не имеет значения, как сильно вы свистите в телефонную трубку: коммутаторы не слышат. Целые классы нападений просто не работают потому, что нападающие в конечных точках не имеют доступа к коммутатору посередине.
(Это не совсем так. «Красные» ящики все еще работают против таксофонов. Они подражают звону монет, опускаемых в телефон, это является пережитком использования в телефонной системе передачи сигнала внутри полосы: коммутатор получает сигнал по тому же звуковому каналу внутри полосы.)
В долгосрочной программе передача сигнала вне полосы является лучшим способом для того, чтобы исключить многие «слабые места» Интернета. Она не является панацеей – ненадежные узлы еще будут создавать проблемы, – но имеет перспективы.
К сожалению, есть несколько проблем. Интернет был спроектирован как равноправная сеть: любой может «передвигаться» по нему путем простого соединения с другим компьютером. Система сигнала вне полосы должна будет управляться централизованно, как телефонная система. Будут иметься конечные точки и внутренние маршруты, и они будут различными. Эта система не имеет ничего общего с сегодняшним Интернетом.
В настоящее время нет никаких планов по перепроектировке Интернета в соответствии с этой концепцией, и любое подобное мероприятие может быть слишком сложным, чтобы даже обсуждать его.
Глава 12
Сетевые защиты
БрандмауэрыБрандмауэры впервые появились на поездах. У паровозов, топившихся углем, в машинном отделении топливо находилось поблизости от топки. Машинист лопатой бросал уголь в топку. При этом образовывалась легко воспламеняющаяся угольная пыль. Время от времени она вспыхивала, и в машинном отделении возникал пожар, который мог перекинуться на пассажирские вагоны. Так как гибель пассажиров сказывалась на доходах железной дороги, паровозы стали оборудовать железными переборками позади машинного отделения. Они препятствовали распространению огня на пассажирские вагоны, но не защищали машиниста, находившегося между углем и топкой. (Есть над чем призадуматься системному администратору.)
В цифровом мире брандмауэр – это средство защиты внутренней компьютерной сети компании от злонамеренных хакеров, алчных преступников и прочих негодяев, которые блуждают по Интернету.
Термины не всегда точны: дело в том, что понятие «брандмауэр» изменило свое содержание с тех пор, как оно появилось в компьютерных сетях. Первые сети были очень несовершенны и могли быть легко разрушены. Брандмауэры были созданы для того, чтобы препятствовать распространению сетевого программного обеспечения, содержащего множество ошибок, на всю сеть с одного ее участка. Подобно физическим брандмауэрам, они были средством локализации пожара в месте его возникновения.
Сегодня брандмауэры выступают в роли защитников границ между локальными сетями и огромной глобальной сетью. Они оставляют снаружи, незваных гостей и впускают внутрь только полномочных пользователей. Правильнее было бы называть их «крепостными стенами», но термин «брандмауэр» уже устоялся.
Я не собираюсь вести разговор о тонкостях устройства брандмауэров и о том, как они работают; об этом написаны многие тома. Я намереваюсь рассказать об общей концепции брандмауэров, о том, насколько эффективно они противодействуют угрозам и какое у них будущее.
Первое: брандмауэр – это граница, линия обороны. Подобно стенам замка он служит для отражения нападений. Точно так же, как и стены замка, он бесполезен против вооруженного мятежа внутри. Билл Чесвик дал брандмауэру следующее определение: «твердая скорлупа, окружающая мягкое ядро». Как только нападающий преодолеет брандмауэр, последний станет бесполезным. И поскольку (согласно исследованиям Института компьютерной безопасности в 1998 году) около 70% всех нападений происходит внутри сети, об этом определенно стоит подумать.
Конечно, можно установить внутренние брандмауэры для дополнительной защиты сегментов сети. Представьте себе замок с внешним и внутренним дворами.
Второе: до изобретения артиллерийских орудий хороший замок был неуязвим; не было возможности забраться на его стены по лестнице, проломить их или сделать под ними подкоп. Однако терпеливый военачальник всегда может устроить осаду замка. Он надеется, что, лишив жителей продовольствия, воды и отрезав от внешнего мира, заставит защитников капитулировать. Иногда это действовало быстро, но некоторые осады продолжались годами. Если в стенах замка был колодец, это давало больше шансов его защитникам. Если из него были прорыты секретные тоннели наружу, они очень помогали. Если у жителей замка начиналась чума, замок не мог помочь им. (Антисанитария победила многих отважных защитников.) Точно так же можно морить голодом сеть, разорвав ее соединения с внешним миром.
Третье: замок должен быть защищен со всех сторон. Не имеет смысла воздвигать отдельно стоящую стену, нападающие просто обойдут ее. Помните Линию Мажино? Франция выстроила ее, чтобы предотвратить немецкое вторжение. Это было сделано, когда была жива память о траншейных боях Первой мировой войны, и подобные укрепления казались неприступными. Но в последующие годы развитие производства танков изменило подходы к ведению войны, и немцы изобрели Блицкриг. Они просто обошли вокруг Линии Мажино, вторгшись во Францию с территории Бельгии. Точно так же брандмауэр должен служить барьером между внутренней сетью и всеми внешними точками доступа. Иначе нападающий просто обойдет брандмауэр и атакует какое-нибудь незащищенное подключение.
И наконец, четвертое: замкам нужны ворота. Бесполезно и глупо строить замок, в который никто не может проникнуть ни при каких обстоятельствах: даже королям иногда нужно выходить на прогулку. Торговцы, курьеры, даже обычные горожане должны иметь возможность свободно входить в замок и выходить из него. Следовательно, в замках были привратники, чьей обязанностью было пропускать людей, желающих войти, или, наоборот, не пускать их.
Великая Китайская Стена не произвела впечатления на Чингисхана. Ему приписывают слова: «Неприступность крепости зависит от отваги ее защитников». Пропускать все, что нужно, и при этом оставлять все, что может представлять опасность, снаружи является главной задачей любого компьютерного брандмауэра. Он должен действовать как привратник. Он должен выяснить, какой код представляет опасность, и не пропустить его. Он должен делать это без необоснованной задержки движения. (Для среднестатистического пользователя Интернета необоснованной задержкой является всякое заметное замедление.) Брандмауэр должен делать это, не раздражая законного пользователя. (Среднестатистический пользователь Интернета не способен отказаться от чего-либо наподобие загрузки новой интернет-игры от компании с названием «Подозрительное программное обеспечение» или прочтения электронной почты от ненадежной машины.) Но если привратник – брандмауэр – допустит ошибку, хакер может проникнуть внутрь сети и стать ее полновластным хозяином.
Есть три основных способа преодолеть брандмауэр. О первом я уже говорил: просто обойти его с другой стороны. В обширной сети много соединений. Большие фотокопировальные устройства часто обладают возможностью подключения к Интернету; в сетевом оборудовании обычно присутствуют порты обслуживания модемной связи. Часто компании подключают свои сети к сетям поставщиков, клиентов и т. п.; иногда намного менее защищенным. Сотрудники компании могут использовать модемы, чтобы иметь возможность работать дома. Одна супружеская пара из Силиконовой Долины периодически работала, не выходя из дома. Муж проверял свою электронную почту, в то время как жена занималась программированием, их компьютеры были объединены в маленькую домашнюю сеть. Внезапно компьютеры его компании начали обнаруживаться в сети ее компании, и наоборот.
Второе, и более сложное нападение – это украсть что-нибудь через брандмауэр. Чтобы сделать это, вы должны обмануть брандмауэр, чтобы он думал о вас, что вы хороший, честный и уполномочены сделать это. В зависимости от того, насколько хорош брандмауэр и насколько хорошо он был установлен, это просто, сложно или почти невозможно.
Основная идея в том, чтобы создать образец кода, который брандмауэр пустит внутрь сети. Код предназначен для того, чтобы использовать некий дефект в компьютерной системе, который позволит установить соединение между хакером снаружи брандмауэра и компьютером внутри него. Если все это срабатывает, хакер попадет внутрь.
Третье нападение – попытка захватить брандмауэр. Это похоже на подкуп и шантаж привратника. Как только вы сумеете заполучить его в свои ряды, он будет делать все, что вы пожелаете. Насколько это будет просто, зависит от брандмауэра. Некоторые брандмауэры работают с программным обеспечением, имеющим уязвимые места, что может помочь злоумышленникам. Некоторые используют в высшей степени ненадежные операционные системы, которые сильно облегчают задачу атакующим.
Так или иначе, разработка брандмауэра сегодня включает все, что нужно для проектирования умного привратника. На самом простом уровне брандмауэр – это маршрутизатор с последовательным набором правил, проверяющий сетевые потоки, проходящие через него, и регулирующий движение в соответствии с правилами. Примером могло бы послужить ограничение движения, основанное на адресе источника, или на адресе назначения, или на типе протокола.
Раньше это было относительно легко, но сегодняшним брандмауэрам приходится иметь дело с мультимедийным трафиком, загружаемыми программами, апплетами Java (переносимыми программами на Java, распространяемыми через вебстраницы) и другими видами разных непонятных вещей. Брандмауэр должен принимать решения, имея в наличии только неполную информацию: он должен решить, можно или нельзя пропустить пакет, до того как просматривать все пакеты в передаче.
Ранние брандмауэры представляли собой пакетные фильтры. Брандмауэр просматривал каждый пакет, после чего пропускал или тормозил его в зависимости от того, соответствует ли заголовок пакета своду правил, которые известны брандмауэру. Первые пакетные фильтры были достаточно «неразумными» и позволяли попадать внутрь целым партиям пакетов, которые было бы лучше оставить снаружи. Со временем они стали умнее.
Сегодня они изменяют параметры своего состояния в процессе исполнения: вместо индивидуального просмотра каждого пакета брандмауэры хранят информацию о состоянии сети и о том, какие типы пакетов ожидаются. Тем не менее у брандмауэров не такая уж долгая память, и медленные нападения зачастую могут пройти.
Сейчас есть достаточно хорошие фильтрующие брандмауэры, но они по-прежнему имеют множество недостатков. Первый и самый главный заключается в том, что они трудны для правильного конфигурирования, а неподходящая конфигурация часто ведет к уязвимости защиты. Многие вещи, которые должны бы блокироваться, допускаются внутрь по умолчанию. Брандмауэры не изменяют пакетов; таким образом, если пакет проходит внутрь, он может сделать все что захочет. Есть группа скрытых нападений на пакетные фильтры: только вообразите бестолковую охрану, которая старается остановить поток опасных писем в замок, разглядывая конверты.
Другой тип брандмауэров – это прокси-брандмауэр, или система, выполняющая преобразование из одного естественного формата в другой. Подумайте о двух стражниках, один из которых находится снаружи перед стеной замка, а другой внутри, за стеной. Стражник снаружи не знает ничего о внутренней части замка. Стражник внутри ничего не ведает о мире за стеной замка. Но они переправляют друг другу пакеты. Прокси-брандмауэры могут служить иллюстрацией этой метафоры. Некоторые прокси-брандмауэры работают только в качестве посредников: если кому-то, находящемуся внутри охраняемой брандмауэром области, необходим документ «из внешнего мира», программное обеспечение клиента спрашивает у брандмауэра (внутреннего стражника) об этом, и брандмауэр (наружный стражник) соединяется с нужным веб-сайтом и получает требуемый документ. Другие прокси-брандмауэры понимают, какие правила и виды протоколов они используют. Существуют прокси-брандмауэры с промежуточным накоплением – они хранят куски данных между передачами и могут фильтровать данные, основываясь на своде правил. Лучшие прокси-брандмауэры узнают свое окружение, и поэтому способны принимать более умные решения относительно пакетов.
Слабые места прокси-брандмауэров – слишком тонкая тема, чтобы обсуждать ее здесь. У них более длительные задержки и более низкая производительность, чем у пакетных фильтров. (Фактически, так как брандмауэры должны исследовать каждый пакет, все они замедляют быстрое сетевое соединение.) Для безошибочной работы брандмауэры-«заместители» должны быть надежно конфигурированы, так же как и пакетные фильтры; в то же время они намного сложнее для конфигурирования и обслуживания; тенденция состоит в том, чтобы прекратить беспокоиться о них.
На рынке представлено около 100 разновидностей брандмауэров, и каждый месяц большое их количество покупается. Большинство из них приспособлены только под протокол IP и не обеспечивают безопасность других протоколов. Чаще всего функционирование брандмауэра основывается не на каком-то одном принципе, а на смешанных технологиях. Прогресс в технологии брандмауэров происходит постоянно и их сложно сравнивать и оценивать. Некоторые организации одобрительно отзываются об эффективности брандмауэров, но большинство хакеров считают это смешным; брандмауэры, которые просматривают пакеты, надежны только против большинства простых нападений. Вообще говоря, лучшие брандмауэры те, которые были правильно конфигурированы и вовремя обновляются.
Я слышал, что к брандмауэрам иногда относятся как к усовершенствованному маршрутизатору. Это верно. Некоторые из лучших профессионалов, хорошо знакомые с работой брандмауэров, даже не принимают их во внимание; они уверены в том, что хорошо конфигурированный маршрутизатор с высокой надежностью в конечных пунктах обеспечивает большую степень безопасности, чем брандмауэр. У них могут быть для этого основания. Конечно, брандмауэры часто создают ложное ощущение безопасности в Интернете.
Брандмауэры являются важной частью системы компьютерной безопасности любой компании, но они не могут обеспечить защиту полностью. Их модель защиты отражает ранние времена в сетевой безопасности, когда организациям нужно было обеспечить сохранность своего имущества и оставить «плохих парней» снаружи. Сегодня, когда ради успеха в торговле приходится открывать сети для покупателей и партнеров, брандмауэры кажутся анахроничными. Они могут играть важную роль, но не являются панацеей.
Демилитаризованные зоныДМЗ – это демилитаризованная зона. Примером тому является ничейная земля между Северной Кореей и Южной Кореей, на которую не претендует ни одна сторона.
После всего сказанного о брандмауэрах вы понимаете, что именно в ДМЗ вы должны поместить свои общественные службы. В главе 10 я рассказывал обо всех видах нападений на веб-серверы. Вам не захочется поместить веб-сервер внутрь охраняемой брандмауэром территории, уязвимой для нападения. Вы не можете поставить веб-сервер снаружи брандмауэра, потому что тогда он будет еще более уязвим. Решение состоит в том, чтобы поместить его в ДМЗ.
Это хорошая идея, и она имеет исторические прецеденты. Замки часто имели внутренние и внешние стены. За наружной стеной укрывались жилища слуг, которыми можно было пожертвовать во время штурма. За внутренними стенами находилась резиденция знати, имевшая большую ценность. Защитники старались отстоять внешние стены, но у них оставалась возможность отступить к внутренним.
Для того чтобы выстроить ДМЗ, вам нужно два логических брандмауэра. Один из них защищает ДМЗ от внешнего мира. Другой имеет конфигурацию, которая предоставляет большие возможности для защиты внутренней сети от вторжений из ДМЗ. Результат состоит в том, что эта часть сети становится менее доступной и более защищенной. И эта идея работает.
Вы ознакомились с фрагментом книги.