На главную | Содержание | Назад | Вперёд
Наши друзья

 

 

Атаки типа Denial of Service

Ping of Death
Фрагмептироваппый ICMP пакет большого размера может при­вести к зависанию системы. Так, команда
PING  -1   65527   -s   I   hostname на NT 3.51
приведет к «синему экрану» с сообщением:
STOP: 0Х0000001Е
KMODE_EXCEPTION_NOT_HANDLED TCPIP.SYS
ИЛИ
STOP: OxOOOOOOOA
IRQL_NOT_LESS_OR_EQUAL TCPIP.SYS
Подробности:
http://www.microsoft.com/kb/articles/ql32/4/70.htm
Исправление: 3-й Service Pack с последующей установкой
ICMP-fix.
SYN-атака
Послав большое количество запросов на TCP-соединение (SYN) с недоступным обратным адресом, получим следующий результат.
При получении запроса система выделяет ресурсы для нового соединения, после чего пытается ответить на запрос (послать «SYN-АСК») по недоступному адресу. По умолчанию NT версий 3.5-4.0 бу­дет пытаться повторить подтверждение 5 раз — через 3, 6, 12, 24 и 48 секунд. После этого еще 96 секунд система может ожидать ответ и только после этого освободит ресурсы, выделенные для будущего соединения. Общее время занятости ресурсов — 189 секунд.
Подробности:
http://www.microsoft.com/kb/articles/ql42/6/41.htm
Исправление: 3-й Service Pack
WinNuke
Посылка данных в 139-й порт приводит к перезагрузке NT 4.0, либо выводу «синего экрана смерти» с установленным 2-м Service Pack'oM.
Исправление: 3-й Service Pack с последующей установкой ООВ fix. Это исправление включено также в ICMP-fix.
Аналогичная посылка данных в 135 и некоторые другие порты приводит к значительной загрузке процессора RPCSS.EXE. На NTWS это приводит к существенному замедлению работы, NTS практически замораживается.
Многие проблемы безопасности NT4.0 были устранены в 3-м Service Pack'e. Список исправлений весьма внушителен. В первую оче­редь, это атаки типа Denial of Service - WinNuke, ошибка со 135-м пор­том, перехват сообщений SMB («man-in-the-middle attack*) и т. д.
Настоятельно рекомендуется установить SP3, если вас волнует вопрос безопасности вашей системы. С момента выхода SP3 вышло
еще несколько обновлений (hot-fixes), доступных на ftp:
//ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/nt4 0/hotfixes-postSP3.
asp-fix
Устранение проблем производительности с Active Server Pages установленных на IIS3.0
Некоторые программы (например, Visio Professional 4.x) после
установки SP3 стали реагировать на двойной щелчок мыши, как на одинарный. Включенный в состав getadmin-fix, dns-fix устраняет неко­торые проблемы, связанные с сервером DNS getadmin-fix; решает про­блему, связанную с программой getadmin.exe, которая позволяла поль­зователям (кроме Guest) добавить себя в группу Administrators ло­кальной машины.
Также включает dblclick-fix и Java-fix. icmp-fix
Решение проблем с зависанием системы при получении фраг-ментированного большого размера.  Включает также
oob-fix.
iis-fix
Остановка IIS 2.0 иЗ.О при получении большего (от 4 до 8k).
Java-fix
Зависание IE3.02 при открытии страниц с Java после установки SP3. Включен в состав getadmin-fix.
lm-fix
Позволяет отключить аутентификацию Lan Manager (LM). Добавляет в реестр новый параметр к следующему ключу:
HKLM\System\CurrentControlSet\control\LSA Value: LMCompatibilityLevel Value Type:  REG_DWORD - Number Возможные значения:        по умолчанию — 0.
0 - Использовать аутентификацию LM и Windows NT authenti­cation (default).
1 - Использовать аутентификацию Windows NT, иЬМ - только по запросу сервера.
2 — Никогда не использовать аутентификацию LM.
В последнем случае невозможно соединение с Windows'95, и Windows for Workgroups Ьа-Йхустраняет ошибку доступа в Lsass.exe, возникающую при передаче неправильного размера буфера удален­ным клиентом при соединении с LSA (Local Security Authority) через именованный канал (named pipe). Включен в lsa2-fixndis-fix.ycTpa^-ет ошибку, вызывающую утечку памяти и «синий экран» с сообщени­ем о неверной команде в ndis.sys при использовании промежуточных
драйверов NDIS. oob-fix
Посылка «Out of - данных в порт приводила к
висанию или перезагрузке системы (Атака WinNuke).
Первоначальный вариант исправления, включенный в SP3, не решил все проблемы. Включен в состав icmp-fix.
scsi-fix
Устранение.ошибок при работе с системами защиты от сбоев (Fault Tolerant Systems) simptcp-fix.
Атака Denial of Service, состоящая в посылке большого коли­чества UDP-дейтаграмм с ложного адреса на 19-й порт, при установ­ленных Simple TCP/IP services, приводила К повышенному UDP-
траффику.
winsupd-fix
Исправление ошибки в WINS, приводящей к его завершению при получении неверных пакетов UDP zip-fix.
Устранение проблем с ATAPI-версией Iomega ZIP.
За время, прошедшее с момента написания этой статьи, было вы­пущено еще несколько hot-fixes:
2gcrash
Устраняет некоторые проблемы на машинах с RAM более чем 1.7 Gb. Подробности нас как-то не заинтересовали. ш'е-fix
Устраняет проблемы с новыми IDE/ATAPI винчестерами на
компьютерах с возможностью автоматического выключения (shut down and power down feature).
iis4-fix
Исправляет ошибку в Afd.sys.
joystick-fix
Устраняет проблему калибровки ножных педалей, подключен­ных к game-порту. Полезная штука. В отличие от большинства фиксов, версия для Alpha почему-то отсутствует land-fix. Ответ на «Land Attack*. Включает icmp-fix и oob-fix.
pent-fix
Исправление ошибки fOOf в Pentium roll-up.
Исправление ошибок в MS Transaction Server 2.0 и MS Cluster Server 1.0.
SAG-fix
Исправление ошибок конвертации EBCDIC->ANSI при работе с IBM-системами.,
wan-fix
Устранение возможного «синего экрана» при копировании фай­лов через RAS по SLIP teardrop2-fix.
Исправление зависания при атаке «teardrop».
Включает ICMP-fix, OOB-fix, и Land-fix tapi21-fix. Исправление ошибок TAPI 2.1.
pcm-fix
Исправление ошибки в драйвере PC-карт при работе с Xircom СВЕ-10/100ВТХ.
srv-fix
Очередная атака типа «Denial of Service». Зависание/перезагруз­ка при получении SMB-запроса, размер которого не соответствует указанному в заголовке.
pptp-fix
Исправление ошибок в работе сервера Tunneling
Protocol (STOP при получении неверного управляющего пакета РРТР). Включен в pptpi-fix. y2k-fix
Устранение ряда ошибок, связанных с проблемой 2000 года (не­распознавание 2000 года как високосного, проблемы с офисными при­ложениями, Find File, пропуск дня при изменении даты).
euro-fix
Содержит дополнения, связанные с введением новой европей­ской валюты.
atapi-fix
Исправление некорректной работы с lBM-овскпми дисками.
DTTA-351010 - из 10.1Gb видны только 7.5.
netbt-fix
Устранение задержки (до 90 секунд) при обращении к удаленно­му серверу при использовании файла LMHOSTS. prnt-fix
Устранение некоторых ошибок при работе с принтерами (невер­ный сброс, проблемы со старыми принтерами и т. п.).
lsa2-fix
Вышел на замену lsa-fix, но был отозван из-за обнаруженных
проблем.
sfm-fix
Исправление десятка проблем, связанных с Services for
Macintosh (SFM) — от неверной модификации времени создания фай­ла до «синего экрана».
pptp2-fix
Обновление реализации Point to Point Tunneling Protocol
(РРТР) — улучшена производительность, повышена надежность. rras20-fix
Обновление Routing and Remote Access Service (в девичестве Steelhead). Требует установки pptp2-fix. Добавлены новые Demand dial фильтры, возможность фильтрации фрагментированных IP-пакетов и т.д.
ssf-fix
Включает обновленную версию Schannel.dll. Исправляет свеже-
обнаруженные проблемы в Secure Sockets Layer (SSL) и некоторые
мелкие ошибки. Банки за пределами США теперь могут воспользо­ваться 128-битной шифрацией.
priv-fix
Используя программу Sechole.exe, локальный пользователь мо­жет получить администраторские привилегии. При необходимости ус­тановки нескольких hot fix'oB рекомендуемый порядок установки вы­глядит следующим образом:
asp-fix
dns-fix
iis-fix
zip-fix
roll-up
getadmin-fix
lm-fix
roll-up/cluster winsupd-fix ndis-fix scsi-fix 2gcrash simptcp-fix ide-fix wan-fix
pent-fix   (x86 only) joystick-fix   (x86 only) SAG-fix iis4-fix pptp-fix teardrop2-fix tapi21-fix pcm-fix

srv-fix
y2k-fix euro-fix atapi-fix netbt-fix
print-fix
sfm-fix
lsa2-fix
pptp2-fix
rras20-fix ssl-fix
■ priv-fix
Число исправлений уже пошло на четвертый десяток, их уста­новка уже давно представляет собой весьма занудный и мучительный процесс. Так что мировая общественность с нетерпением ждет выхода 4-го Service Pack'a, выход которого назначен на лето 1998 года (про­шедшая в апреле информация о преждевременном выходе оказалась неверна — речь шла всего лишь о бета-версии).
SP3 и некоторые Ь<ЛАх'ыдля русской версии NT можно найти на ftp://ftp.microsoftxom/bussys/winnt/winnt-public/fixes/rus/nt
Меня всегда интересовал вопрос о программах-невидимках.
Представьте, есть резидентный код, который выполняет некие дейст­вия на вашем компьютере, а обнаружить его вы не можете. Возмути­тельно, не правда ли? А потому иметь такую программу мне очень хо-
В Интернете эта тема также широко обсуждалась, обсуждается и, думаю, будет обсуждаться. Среди огромного количества мнений, суждений и прочего словесного мусора, мне попался вердикт одного гуру, гласивший: «Вы не можете скрыть процесс от функции NtQuerySystemInformation>. Это было похоже на окончательный приговор. Хрустальная мечта моего детства была готова разбиться раз и навсегда.
Но... Очень надеюсь, что о программах-невидимках мечтал не только я. Вам, мои духовные собратья, и посвящается эта статейка. Серьезным дядям (в народе их кличут системными администратора­ми), работа которых заключается в удушении свободы простого народа, виноват, простых юзеров, читать это не следует. Все дальнейшие рассуждения приводятся для процессора ОС Windows NT 4.0
(SP4 или SP6).
Сначала поговорим о том, как и для чего, собственно, использу­ются программы-невидимки. Предположим, что вы зашли в Интернет и закачали замечательную программку, картинку, документ или что-то еще. А потом оказалось, что злобные хакеры заложили в эту программ­ку вирус или троянского коня. Как опытньгй и продвинутый юзер, вы сразу запускаете Task Manager и видите там ЕГО. После чего ОН уби­вается кнопочкой End Process, и вы спокойно можете наслаждаться
праведно выкачанным добром. Некоторые особо злобные и зубастые
хакеры пытаются запустить драйвер, но, к счастью для нас, для этого необходимы права администратора. Это обычное развитие событий. А теперь предположим, что в Task Manager вы ЕГО не видите. Что де­лать? Обычные могут подумать, что на этот раз его пронесло, и в файле трояна не оказалось. Но это не наши юзеры. Нормальный па­раноидальный юзер сразу почувствует подвох и будет прав.
Сразу хочу отметить, речь не идет о классическом вирусе. Безус­ловно, вирусы — прекраснейшее изобретение человечества, но у них есть один серьезнейший недостаток. А именно: работает он всего ОДИН раз при запуске инфицированной программы. Выполнив свой кусочек кода, он вынужден отдать управление программе-носителю. Если же он хочет стать резидентом, то ему опять же надо где-то «жить», то есть создавать процесс.
Так возможно ли это: быть резидентом (это звучит гордо!) и не «светиться» в Task Manager? Отвечаю: ЭТО ВОЗМОЖНО! Позвони­те прямо сейчас, и всего за 49.99$ ваша мечта станет ре... Гм, простите, никак не выведу эту рекламную бациллу (язык не поворачивается назвать ее благородным словом «вирус»).
Более того, что нам этот микрософтовский Task Manager или Spy++?! Любой мало-мальски серьезный программер напишет свой Task Manager.
Поэтому будем прятаться от всего их порочного семейства до
седьмого колена включительно.
Сердцем любого Task Manager является функция NtQuerySystemlnformation. Остальное - это оболочки, рамочки и прочая мишура. Хотя эта функция и недокументирована компанией Microsoft, но в Интернете про нее написано предостаточно. Поэтому здесь в подробности вникать не будем, а скажем, что всю информацию, которую вы видите на экране, предоставляет эта, и только эта, функ-
ция. И увы, гуру был прав! Вы действительно не можете спрятать про­цесс от (по крайней мере, я не знаю, как это можно сделать). Но кто сказал, что резидентами становятся только процессы?
Ведь кто такой резидент? Это всего навсего кусочек памяти, ко­торый периодически получает управление. Поэтому помимо процесса резидентом может быть драйвер, поток (thread), волокно (fiber), APC и DPC процедуры, функции обработки исключений и прерываний. Возможно, и еще куча всего такого, о чем я не знаю. (Кстати, если го­ворить совсем строго, то исполняется не процесс, а его потоки, поэто­му процесс резидентом не является).
Итак, на сегодняшний день, я знаю следующие способы прятать резидентный код. Загружать драйвер — это настолько примитивно,
что обсуждать этот способ не будем. Кроме всего прочего,
NtQuerySystemlnformation представляет информацию и о драйверах; хотя Task Manager этого не делает. Ну и потом, ведь есть Softlce!
Создавать поток в заданном процессе
Этот способ подробно описан у Джеффри Рихтера в книге «Windows для профессионалов». Также есть информация у Мэтта Питрека и в Интернете. Этот способ намного более интересен и ориги­нален. Но на сегодняшний день это уже классика и удивить этим не­возможно. Резидентный код обнаружить в этом случае довольно тяже­ло. В Task Manager у одного из процессов появляется дополнительный поток, но кто из нас на память скажет, сколько должно быть потоков у Explorer.exe? Помимо Task Manager можно посмотреть список загру­женных библиотек, но опять же, кто из нас на память скажет, какие библиотеки должны быть загружены в Explorer.exe. Наконец, есть воз­можность посмотреть время создания потоков. А вот тут разница бу­дет. Одним словом, будьте внимательны к потокам в резидентных про­цессах.

 

На главную | Содержание | Назад | Вперёд
 
Яндекс.Метрика