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