Wednesday, June 10, 2009

О "неправильном" вредоносном ПО, продолжение.

Я искренне верю, что это - последняя статья в этой печальной серии, поскольку мне действительно не хочется писать про одно и то же. Но здесь, при всей своей печальности ситуация более чем смешная.

Корпоративная служба безопасности, анализируя статистику вирусных заражений обнаружила, что существует ряд компьютеров, которые постоянно заражаются вирусами, несмотря на то, что на них стоит и исправно работает антивирусное ПО. Корреляция с журналами системы контроля доступа к периферийным устройствам показала, что заражающийся компьютер на съемные носители постоянно записывает autorun.exe
размером 37376 байт. При этом, наше антивирусное ПО никак не реагирует на этот autorun.exe. Согласитесь, подозрительно. Проверка альтенативным антивирусом обнаружила:

Еще более интересно, что оба файла имели одинаковый размер (те самые 37376) и одинковую сумму MD5 (ca82b32253f1cb11cf9e5ff83d87e01a):

Все банально и просто: вот оно, Virustotal подтвердил:

Антивирус

Версия

Обновление



Результат


a-squared

4.5.0.18

2009.06.09



P2P-Worm.Win32.Socks!IK


AhnLab-V3

5.0.0.2

2009.06.08



Win32/Socks.worm.37376


AntiVir

7.9.0.180

2009.06.08



Worm/Socks.FO


Antiy-AVL

2.0.3.1

2009.06.08



Worm/Win32.Socks


Authentium

5.1.2.4

2009.06.08



W32/Backdoor2.DJBR


Avast

4.8.1335.0

2009.06.08



Win32:Trojan-gen {Other}


AVG

8.5.0.339

2009.06.08



Win32/Heur


BitDefender

7.2

2009.06.09



Worm.Generic.28689


CAT-QuickHeal

10.00

2009.06.09



I-Worm.Socks.fo


ClamAV

0.94.1

2009.06.08



-


Comodo

1289

2009.06.09



Worm.Win32.Socks.~C


DrWeb

5.0.0.12182

2009.06.09



Win32.HLLW.Alupco.2


eSafe

7.0.17.0

2009.06.07



Suspicious File


eTrust-Vet

31.6.6548

2009.06.08



Win32/Ruternam.CZ


F-Prot

4.4.4.56

2009.06.08



W32/Backdoor2.DJBR


F-Secure

8.0.14470.0

2009.06.08



P2P-Worm.Win32.Socks.fo


Fortinet

3.117.0.0

2009.06.08



W32/Socks.FO!worm.p2p


GData

19

2009.06.09



Worm.Generic.28689


Ikarus

T3.1.1.59.0

2009.06.09



-


K7AntiVirus

7.10.757

2009.06.08



P2P-Worm.Win32.Socks


Kaspersky

7.0.0.125

2009.06.09



P2P-Worm.Win32.Socks.fo


McAfee

5640

2009.06.08



potentially unwanted program Generic PUP


McAfee+Artemis

5640

2009.06.08



potentially unwanted program Generic PUP


McAfee-GW-Edition

6.7.6

2009.06.09



Worm.Socks.FO


Microsoft

1.4701

2009.06.08



VirTool:Win32/Obfuscator.BO


NOD32

4139

2009.06.08



Win32/Zalup


Norman

6.01.09

2009.06.08



W32/Socks.BT


nProtect

2009.1.8.0

2009.06.09



Worm/W32.Socks.37376


Panda

10.0.0.14

2009.06.08



W32/Socks.E.worm


PCTools

4.4.2.0

2009.06.06



-


Prevx

3.0

2009.06.09



High Risk Cloaked Malware


Rising

21.33.10.00

2009.06.09



-


Sophos

4.42.0

2009.06.09



Troj/Agent-HMB


Sunbelt

3.2.1858.2

2009.06.09



P2P-Worm.Win32.Socks.fo


Symantec

1.4.4.12

2009.06.09



W32.Mandaph


TheHacker

6.3.4.3.342

2009.06.08



W32/Socks.fo


TrendMicro

8.950.0.1092

2009.06.08



WORM_SOCKS.CN


VBA32

3.12.10.6

2009.06.08



P2P-Worm.Win32.Socks.fo


ViRobot

2009.6.8.1773

2009.06.08



-


VirusBuster

4.6.5.0

2009.06.08



Worm.P2P.Socks.EY


Дополнительная информация

File size: 37376 bytes

MD5...: ca82b32253f1cb11cf9e5ff83d87e01a

SHA1..: ab73e86f1bbc3c27cfc1bf59424b8c6c682138ef

SHA256: b7a70b27c031e909ce6b83424f9689820b8a9eae588ae13d2161f38d2f79d57a

ssdeep: -

PEiD..: -

TrID..: File type identification
Win16/32 Executable Delphi generic (34.0%)
Generic Win/DOS Executable (32.9%)
DOS Executable Generic (32.8%)
Autodesk FLIC Image File (extensions: flc, fli, cel) (0.1%)

PEInfo: PE Structure information

( base data )
entrypointaddress.: 0x2008b
timedatestamp.....: 0x48668f41 (Sat Jun 28 19:21:37 2008)
machinetype.......: 0x14c (I386)

( 5 sections )
name viradd virsiz rawdsiz ntrpy md5
.fasm 0x1000 0xef59 0x0 0.00 d41d8cd98f00b204e9800998ecf8427e
.rsrc 0x10000 0xead4 0x7400 7.99 6716f029b8658f46046b914de9e7053d
.masm 0x1f000 0x1000 0xe00 7.95 3e3c58b59c610e620960c39e3eeba9ab
. 0x20000 0x4c6 0x600 6.51 ce8903a56868195191ecedaa1bbbe0f1
.share 0x21000 0x282 0x400 3.36 210c71be3c729397ad819d970ba45184

( 1 imports )
> gdi32.dll: GetTextExtentPointA, CreateDCA, CreateDCA

( 0 exports )

PDFiD.: -

RDS...: NSRL Reference Data Set
-

Prevx info: http://info.prevx.com/aboutprogramtext.asp?PX5=D23C58B2006B8FC292B400BD8F4B1A00FBB8E8A8>


Видим, что написано у McAfee? Потенциально нежелательное ПО! Т.е. "потенциально нежелательное ПО" превращает мою машину в рассадник вирусов и прочего фактические нежелательного ПО.

Почитаем на Symantec: "W32.Mandaph is a worm that spreads through mapped and fixed drives and may download additional malware on to the compromised computer".
От себя хочу уточнить, что это этот червяк не просто "может" загружать вредоносный код, а фактически это делает, что мы и наблюдаем. И при всем при этом (самостоятельное распространение, загрузка из Интернет прочего вредоносного ПО) McAfee не удаляет это из принципиальных соображений - ответ от поддержки в данном случае был ровно как и в этом: докупите модуль "Anti-Spyware Enterprise" и все будет хорошо. Бред. Мне, как конечному пользователю, все равно, как классифицировал вендор эту нечисть, поставив антивирус, я хочу, чтобы он делал свою работу!

Вообще, в моей практике я видел массу случаев, когда антивирус не спасал. У коллеги начали уже появляться мысли о смене антивирусного вендора, но лично я не поддерживаю эту идею. Мое мнение таково, что какой бы не был антивирусный вендор, все равно будут находиться "экземпляры", которые он не определяет. Проблема здесь в концепции "Enumerated Badness", которая уже давно устарела. Наступит время, когда размер сигнатурных баз привысит порог, позволяющий антивирусу работать "в реальном времени" (да и вообще работать), и это время не за горами. Мой небольшой опыт использования CureIT показал, что за последние 2 года его размер увеличился почти в 3 раза! В общем, прогноз таков, что сигнатурные антивирусы доживают последние времена, поэтому, менять вендора не имеет смысла.
Что делать? Скажу банальные слова: используйте эшелонированную оборону: несколько систем безопасности и коррелируйте их журналы. Каждая система имеет свои приемущества, они дополнять друг друга.

Tuesday, June 2, 2009

Гибкость и сложность

Где начало того конца, которым оканчивается начало?
Козьма Прутков. Мысли и афоризмы.


Нам часто приходится выбирать то или иное техническое решение на основании сравнения с аналогами. Как правило, при этом в приоритете оказываются решения, предоставляющие наибольшую гибкость: больше возможностей по настройке, больше функциональная область покрытия. При этом на этапе выбора никто не задумывается, что оборотная сторона гибкости - сложность настройки и, как следствие, последующей поддержки и обслуживания.

Не буду много вещать в защиту вышеупомяноутого тезиса, думаю, это очевидно: взяв самое гибкое из возможных решений, позволяющее удовлетворить любые требования к системе, - IDE , мы сталкиваемся с высокой сложностью настройки нашего решения (в данном примере - с необходимостью программирования). Пример представляет собой некую крайность, но позволяет понять суть. Как же выбрать эту "золотую середину", это тонкое лезвие бритвы, эту красоту баланса гибкости и сложности?

Прежде всего давайте поймем, почему же мы вожделеем гибкость.
1. На момент выбора решения не известно что конкретно хочется. Действительно, аппетит появляется во время еды. Да, я знаю, что во всех книжках написано, что подход такой неправильный и что надо на момент выбора решения знать все, что хочется, но на практике, к сожалению, это так.
2. В России очень трудно прогнозировать. На практике все меняется самым непредполагаемым образом: вчера мы поклонялись коммунистам и были пионерами, сейчас узнали, что коммунисты были нехорошие люди, так как уничтожили духовность.... Как следствие, приходится закладываться на все "случаи жизни" - вместо восседания на одной бочке с порохом, сидеть на двух, а может, и больше, чтобы, в случае взрыва одной, успеть перескочить на следующую.

Что можно с этим поделать?
Мне кажется, что лучший вариант здесь либо первоначальное пилотное внедрение (чтобы понять аппетит), либо стого ограничить внедряемый функционал и согласовать его на максимально высоком уровне. Последнее - очевидное требование, которое по-хорошему надо выполнять всегда, но хочется же все и сразу...

Всегда помние, что увеличивая гибкость, вы увеличиваете сложность, с которой затем на протяжении всего жизненного цикла надо будет что-то делать. Оценивайте потребность в той или иной "штуке" и затраты на нее и ее поддержку в будущем.