![]() |
|
|
Изображения | All Albums | Справка | Пользователи | Календарь | Сообщения за день | Поиск |
База Знаний Тематика: технические вопросы, нанотехнологии, инновации Температура кипения: низкая Запас прочности: практический опыт Степень защиты: жесткая модерация |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Генералиссимус
Site Admin
енот-старожил |
![]() Глубины и вершины сетевого стека Висты
Автор: (c)Крис Касперски ака мыщъх Сетевой стек Висты был переписан с чистого листа. О лучшем подарке от Microsoft хакеры не могли и мечтать. Раз новый - значит еще сырой и не протестированный. Анализируя ранние бета-версии Висты, исследовательская лаборатория корпорации Symantec обнаружила огромное количество дыр, что уже указывает на качество кодирования. Сколько "сюрпризов" таится внутри этой твари, никто не знает, а значит хакерам будет во что вонзить зубы! Введение Устав латать старый сетевой стек, доставшийся ей в наследство еще от NT, команда разработчиков Висты решила, что переписав его с нуля, она достигнет выдающегося уровня безопасности, попутно повысив производительность и реализовав ряд дополнительных фич. Весьма нехилое решение, надо сказать. Сетевой стек - это грандиозное сооружение, к проектированию которого нужно подходить с головой, а умных людей в Microsoft с каждым годом становится все меньше и меньше. Печально, но - факт, бесспорным доказательством которого служит новый сетевой стек, повторяющий ошибки десятилетней давности и добавляющий к ним целое полчище новых, многие из которых гнездятся на концептуальном уровне и будут исправлены нескоро (если будут исправлены вообще). Вопреки всем заверениям Microsoft, сетевой стек Висты намного менее надежен и безопасен, чем в XP, к тому же он совершенно не изучен и абсолютно непредсказуем. У администраторов нет опыта решения проблем, с которыми они прежде не сталкивались, разработчики защитных компонентов (от программных брандмауэров до аппаратных комплексов) еще не включили поддержку Висты и ее протоколов в свои продукты. Во времена NT, когда ядро и прилегающие к нему компоненты, не менялись раз в квартал, существовали сетевые стеки от сторонних производителей и, между прочим, неплохо работали, успешно конкурируя с Microsoft, но теперь "политическая" ситуация изменилась и у нас остался только один путь - Microsoft way, ведущий непосредственно в Hell. Только плазмогана там не будет и от хакеров придется обороняться разве что кулаком да кастетом. Сетевой стек тесно интегрирован с осью и "отодрать" его, вернув старый стек на место никакой возможности нет. Нам предлагают множество новых компонентов, причем это предложение из разряда тех, от которого невозможно отказаться - ведь ни отключить, ни заблокировать ненужные фичи все равно нельзя. То есть, можно конечно, но отнюдь не через графический интерфейс и большинство пользователей этого сделать не сможет, а, значит, черви, хакеры и удаленные атаки будут процветать. Что нового в сетевом стеке Висты Главным и, пожалуй, единственным достижением Microsoft'а стала интеграция IPv4 и IPv6 в единый стек (до этого они были реализованы как раздельные компоненты), что и плохо, и хорошо одновременно. Хорошо то, что конечный пользователь получает готовый IPv6 без всякой головной боли и установки дополнительных пакетов. Катастрофическая нехватка IP-адресов с каждым сезоном ощущается все острее и острее, но переход на IPv6 сдерживается как необходимостью смены сетевого оборудования, так и обновлением серверных и клиентских осей. В исторической перспективе переход на IPv6 неизбежен. Это ясно всем, но почему же нельзя реализовать его поддержку опционально, как это сделано во всех "правильных" системах - той же xBSD, например? Большинству сегодняшних пользователей IPv6 совершенно не нужен, поскольку для локальной сети и IPv4 хватает с лихвой, а основная масса провайдеров еще не поддерживает IPv6 и в обозримом будущем переходить на него не собирается. Проблема в том, что IPv6 несет в себе множество нововведений, еще не обкатанных и не протестированных в планетарном масштабе. Это настоящий кот в мешке, от которого можно ожидать всего, чего угодно. Новых проблем, новых атак... Теоретически (и только теоретически!) IPv6 обеспечивает более высокую производительность и лучшую защиту от атак, но практически вопросы производительности решаются "тонкой" настройкой опций TCP/IP протокола, которые в Windows доступны лишь частично и крайне отрывочно "документированы" в виде заметок в Knowledge Base. TCP/IP-протокол - это не трактор (сел, завел и поехал). Над ним еще поколдовать нужно, учитывая ширину канала, характер запросов и т.д. Настройки по умолчанию стремятся удовлетворить сразу всех и каждого, в результате чего по-настоящему не остается не удовлетворен никто. Отсутствие легальных рычагов управления не позволяет оценивать реальную производительность сетевого стека и громкие заявления Microsoft'а, что в Висте стек намного более производителен, следует расценивать не более чем пропаганду. Результаты тестов ни о чем не говорят! Откуда мы знаем, может Microsoft просто подкрутила настройки, чтобы Виста выдавала лучше результаты при испытаниях на заранее подготовленном полигоне? Тем более, что в большинстве случаев реальный CPS определяется отнюдь не "качеством" сетевого стека, а загруженностью удаленного сервера, пропускной способностью каналов связи и т.д. Глупо ожидать, что установив Висту на свой компьютер, мы "разгоним" свой модем хотя бы на десяток процентов... Хакеры штурмуют тоннели Следствием интеграции IPv4 с IPv6 в единый сетевой стек, стало появление туннельных протоколов Teredo, ISATAP, 6to4 и 6over4, причем Teredo уже успел попасть в RFC и осесть под номером 4380 (http://www.rfc-editor.org/rfc/rfc4380.txt). Разжеванное описание на понятным даже для неспециалистов языке можно найти в статье "Teredo Overview", опубликованной на Microsoft Tech Net: http://www.microsoft.com/technet/pro...in/teredo.mspx. Говоря на пальцах (ну, типа сурдоперевод для глухонемых), Teredo инкапсулирует (упаковывает) IPv6 трафик внутрь IPv4 пакетов (см. рис. 3), используя протокол UDP, слабости и недостатки которого хорошо известны. Если два IPv6 узла разделены IPv4 сегментом сети (наиболее типичная на сегодняшний день конфигурация), Виста задействует Teredo, направляя запрос одному из публичных Teredo-серверов, который в свою очередь передает его получателю, фактически выполняя роль proxy-сервера. Самое интересное, что Teredo позволяет обходить трансляторы сетевых адресов (они же NAT'ы) и брандмауэры, причем это не баг, а фича. Рассмотрим два узла, защищенные NAT'ом, прямое взаимодействие между которыми невозможно. Но это оно по IPv4 невозможно, а если использовать Teredo-туннель, то истинный адрес и порт назначения окажется скрыт в Teredo-заголовке, а в IPv4 попадает адрес узла, "смотрящего" в Интернет и UDP-порт самого Teredo (3544), который, конечно, можно и закрыть, но как же тогда с остальными Виста-клиентами общаться?! Поскольку NAT не может установить ни реального целевого адреса, ни реального целевого порта протокола IPv6, он беспрепятственно пропускает IPv4 пакет. Это же самое относится и к другим защитным механизмам, не поддерживающим протокола Teredo. Но это еще что! Поддержка новых протоколов - всего лишь вопрос времени. Переход на Висту означает переход на Teredo, а переход на Teredo навязывает глобальную маршрутизацию, заставляющую забыть о приватных IP-адресах, использующихся в локальных сетях и невидимых снаружи. Ну, это раньше они были невидимы, а теперь... Помнится, что когда один паренек просканировал внутреннюю сеть Пентагона и "добыл" приватные адреса, Пентагон так перестремался, что довел дело до суда. Оно и понятно. Чем больше хакер знает о структуре защищенной сети, тем проще ее атаковать. В довершении ко всем несчастьям, Виста поддерживает инкапсуляцию IPv4 в IPv4 и IPv6 в IPv6, что позволяет скрывать истинные целевые адреса и порты, вынуждая брандмауэры и другие защитные средства проводить скрупулезный анализ трафика, а это сразу же увеличивает потребности в памяти и мощности процессора со всеми вытекающими отсюда последствиями. Да... с появлением Виста-узлов в господствующем IPv4 Интернете следует ожидать больших потрясений. Вот такая она, безопасность, которую нам обещают! TCP/IP и его свита На самом деле, TCP/IP никогда не используется в "чистом" виде и всегда окружен свитой вспомогательных протоколов, причем далеко не все из них нужны домашнему пользователю, но... увы! Привычка Microsoft пихать все в одну коробку без возможности отделить одно от другого, дает о себе знать и мы не можем удалить лишние протоколы, которые не только жрут системные ресурсы, но еще и служат источником потенциальных ошибок, дыр и люков, в существовании которых можно не сомневаться. По этому поводу вспоминается один хороший анекдот: заходит Билл в Мак-Дональдс, заказывает: колу, биг-мак с картошкой фрии и... получает все это в одном стакане, безнадежно перемешанное друг с другом и еще кучей других непонятных вещей (мух, тараканов), которые Билл совсем не заказывал и был бы раз отказаться от них, если бы только знал как. |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|