крис касперски компьютерные вирусы изнутри и снаружи...

527

Click here to load reader

description

 

Transcript of крис касперски компьютерные вирусы изнутри и снаружи...

Page 1: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]
Page 2: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Kpис KаспеpсKИ

Kсtп/lгIЬЕlтrPHЬIE

E'|'|PчJЕЬlиэHчJ.гP.А и ен.A'PЧЖ.А

ryIInтEP"Moсква . сaнкт-пeтepбypr . нижний нoвгopoд. вoрoнe)кPoс1oв-на-дoнy. ЕKатepинбypt. самapa. нoвoси6иpск

Kиeв .xabЬкoв . минсk2006

Page 3: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

{ l(.ptlь|в вирycь| иsнylPи и онePрl(и' - cn6.: пиi€р' 2006' - 527 о.: ил.

,l

l

5.69-00982-з

tlю {цoдип' вн}т' ввPуoа? кaкrc цcф.P.яхt пPПвoдIт сio в движ.яt.? кiх пPoиcхoдитчyкpoдпo.o кoдД'в иcпoля'смый ф.nл и пo к.хим пpизвакш сгo мoжпo pacпoзнoть?яадrxнЬl а!тивиpуoll и мo*нo ля ях oбхитpить? кaк хrxеpц лом0|от прoipaммво€

и к!к их ooвнolmь? изЬ'сlt!в''' нaчaтыe E пpсдьIдyцсf, яниг. криф кaсп.рскПtсслсдoвaМл хoмльфря!х виpycoDt лрoдoлМ' и яoвм хнив coд.pжит маосy

l@pиoлal opясвтиPoв.нвorc яo твoPчсcхих лoдafi' дизаcфM6,яpyющих мдulинiыоз,caюцих исxoдны. тer.gIц npезfipaющиx мьlurь l oвo6oднo гoвopлlциx на си. в oбцeм'

ББк 32.973'2з.018.о7Удкb04'491'22',

l]ииквя чафЬ даннoй книm нo и6reт 6л в0спр0gзв6д€на 6 вкoй 6ы тo ни быnoрa!рэф€ниi вл.д.льцовaвrcpскцлpав.

в данюri шиe' пфгreна ш иФочниkоl' p6сфEтривa6мыx иsд6твльФsом *a3

Page 4: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сoдEP}I(AHиE

6 Л а I o д a p н o с т и , ' . . ' l

oт издaтeЛьствa ' . ' ' . . . ' . ' . . . . . . ' . . ' . . ' ' ' ' . . ' . . ' . , . . . ' . . ' . . ' ' . ' . . . ' ' . ' ' . . ' 19

чAсть I. o дЕньгicх, BиPyсAx. пPoгPAм],lиPoBAниии смЬ|с,lE жизt|и . ' ' . . ' . ' ' . . ' ' . ' ' . . . . 20

17171819

222327

40424448

IсoммерЧcскaя IтPиpoдa lirlсoммepЧeскoгo oPensourсe .. ' '..

сЛой сolтpФкeния сo сPедoй . ' '. '.

с к е м п и с a т ь . . ' ' .

глAвA з. HEyЛoBиMЬlEN4стИтЕлИ вoзвPAцlAЮтся

Page 5: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

о6() gсeм oсталЪ]roil 55

515959606169кpпптoгpaфпя IJапсIlьxс

[iпа8с_oрtiопаl_hсаdеI] Baseo|сode/Bisеoi.Datа , ' '-,, ' , , ' . , ' . , ' ' . , ' '

Innа8е oрtjоnаl'Ьeadcr] АddIсssofЕnLIуPoiпt

I t t rаgn.oрt оnаl_ l t ' ' dr .] lт"е ' B i f

[ima8е oРtiоnаl headег] FilоA]j8nпспt/Sес|ioп^]i8пmеDt

sizeofu ninitjаlizсdDatа

Iiпlasо_oрtioпаl_hеadсI] siZеoiIпlage

86B686B787B8

Page 6: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глAвA 9. l.lAЙтИ и yHиЧтoжИтЬ. ИЛИ пoсoБиЕ пo БoPЬБEс вИPУсАMИ и тPoяtlА|ЧИ . '..

e с л и в Д P у r o т к P ь U l с ' л ю к , ' , , , . , , , ' ' , , ' , .181182182

Page 7: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

]!Pс]кдe чeм llaчaть

2З62382з9

Page 8: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

10 содеpvание

кpaткo о стPyrffyPIlьIх l

сnl{сь ll мnсT дaй '(п"Гlсоii llР|1в'lзItи

i r I l I n6 . I l j<л п гя r \ l l l г l j l | ' ' | | с l , i ' J | | i l i \ ' } ' и

oгor l l ' л ] 'я ] \ l0 | i | | rв .Л] . . j l l _ PЕв

n i .к I ]у |кз . l nк l . трvxтyр l l l l х п . r rюt lP lЦп l

паt ivс ̂ P l . ||a|| пopтрeт в стиr]e . IIn"

систeм]тые вътзolrы UNIX

глAвA 14. sЕH HA слyжБE КoHтPPЕBoлЮцИИ 262263

27027127127221427ti2112'7в279

Page 9: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

o6нapyжerrrrе и иI{eнтrrфикация 6pаrrдпlаyэpa,.,,,сканирoваtrЙе I'r тpaссиpсlвка vсpез 6palтдмауэp , , ,

11

29L29з294298

304305З01з08з09309aтaт(a lla hoDсуpot

глAвA 20. дAзA БAHHЬ|Х под пPИцЕлoN1 З28

Page 10: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

12

11авязьIвal l l l c запpoсa, l l r lи sQl- . in jссtnr8 , , , , . , ' . , 331o п р e l ] r Л и т ь п : | . l l и Ч и e s Q L . . , , , , - , ' ' ' ' ' . . . . . , . . ' ' . . ' . ' ' . , , З 3 6п p o Т l 1 в o д е l ] с 1 . r и о в т о P ж f l l r x . J , , . ' . , ' , , , , . . ' . , - . ' . . , ' . . ' . . ' . . , , ' 3 3 7секpстьr пor i ;L l lд l{oгo lJ l lTeРnретaтoРa . ' ' ' . , ' . , , . , 337к o м a н д н ь l i i и l t T c p п p e т a ] o P н а с л Р к 6 с ] , х a к е р a , , . , ' . ' . ' , , ' , , , , ' . , . ' , , . , , 3 3 9з а U i l l l а o т B т o Р ) к с н и я ' ' ' ' . , ' . . ' ' . , , , , , , З 4 1к o \ , ] а ] l д Ь r х a к е р с 1 { o г о 6 а г ; l ) к а , , . , ' . , . , , , , ' , ' . . - . - - - ' . . . ' ' ' . , ' . , , , ' З 1 2

чAсть Iv. зиккyPAт зAщитHЬlx сooPyжEниЙ,или кAк пPoтивoстoятЬ виРyсAl.lt,XAкЕPAм идРyгим пoPoяtдЕниям тЬtt,tЬI . ' . , , , , , ' . . ' . , 346

З483,i8з49319350350lJ51352з5з353353

З54

З56357З57З62з62

Page 11: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

вeРифrкaтoPът кo,r{а язъIкoв си/с++

ДсмorrстPaция orrrrr6oк нaкoflЛeниячaсfo встPсчaющиrс,I 0лrи6ки I . , , . , . , , . , , . , , . , , . , - . , , . , , - , , ' , , , . , , ' , , ' . 407ча с тo g сTр cчa l oЩиeся 0ши6ки I I , . , , . , . , ' , . , . . , ' . , . , , . , , . , , ' . , - ' , , ' , , . . , 4 08тPуl loвьlе 6yДни ttpoгРаммиста (истoчник нeизвeстeн) ' , , . , , , . , . , , , . , , ' . , . ' l09. гЛа с i l a poдa . ' ' ' , . . ' ' . , 4 11

Page 12: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

14

чAсть v. oпEPAциoннЬlE систЕмЬ|, э!|yлятoPЬ|и кoмпилятoPьI

глAвA 26. эlЧyлИPУЮЩиЕ

г л ̂ B ̂ 27' oБзoP эlЧУЛЯтoPoв

miпimаl systeп requcst

oтlсP],lтoс'Гь исхoдпь]х

l :аче(Tвo J r \ l у , ' l яции

встрoc]]яьIй o'ГJlадчi,lIr

412

4144164174114184184194\9

42142L422424425427427

428428,ti294З14э24ЗЗ

Dos.BoхBосhsМiсIosoit viгtual Pс

o.]к)l]IIЬ1c хаpaктcPj]0'l.иI(и t r . . и 6 " . r с с t t o п ) . r , t l r и ь l х : , \ l \ J l я | ' ' Р U l l , , , ' , , . , ,

4З54Зв4З74з84394э9

] i j D o в к a ] ] o т o l l o в и з в н e l l и з н y T p и . ' ' . , , . . ' . , , , , . . ' - - - - . ' . ' ' ' . , , ' 4 4 o:. l : rе] lнoст l , l илIr дo6poвo.]1 'Еый зaключeнньI i l , . ' . . ' ' . - . . - ' . . , . ,44o

]::;lтe.llьнaя хаPактeристика ядер \\riпdоrvs 9х и Wiпdоws NT ' '.. , ' 44|

-eр].ltа o6oрyдosallия' и:tlr сaпep' oпrи6lurrйся двaurtдът

Page 13: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глAвA зo. PAзгOH И тoPМoжЕ|jиE WINDoWS Nт 4А244З

15

49n494496496

с т P у к ц l p а я д P a , , ' , . ' , . , , . ,

483484485

486

с в e P т к a к o н с T a I I т ' . ' ' . - , .

Page 14: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

16

, ' . . ' . . , . . , 4 98. . . . . . . i . . . 4 98

! .i.IrLlиr lleгтnoгo l.оД

. . . . . . . . . . . 4 99

удil.lleпиe пeиспoлъзyемьrх ]rсpсIltе]]пьlx

. . . . . . . . . . . 50050050250250з

. ' ' . , , . , , . , 504

. . . . . . . . . . . 505

. , , ' , . ' . ' ' , 505

498

507

524

. . . . . . . . . . . 507

. . . . . . . . . . . 5095t752252З

. .524

' ' ' ' ' ' ' ' " 525

Page 15: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

э

.Qoitwu tahick

BвЕдЕHиEoБ ABтoPE

Aвтoр; rrс6рclоto одc,r'l,lii мЬlцъх 28 rlст' llс odPanlaюlILllii ),l1l[til]l],l,l Ilfi ]lа м!tP,lllI lla,J'с.JIo| в кoтoРом n( вс,l.' jl 06'пaюIlLиii lIсIопoчl,tтc;tьtto в Дс6рях мatttttttttьtхкодоl] l,l :litPoсЛях TехIIиЧсских (rlcцl,tq)пкitlLllii' IIсoбIII TсJlсx' всдст за},кlIуTь|iio6Pаз хrпllи хи[uIoгo грьlзyIJа' IlPак,l'],ll]сски IIl,||(n}Ц fle пoкпlLаlоцLсгo свoю пoр.кy _ р:8Be ti,Гo flа звсз/Iьl пoсNl()ТPс'Г! пЛr, па.]Ivlrу (lloвьrгI', tsысlrcгo oбPaзовa.}lllя lleтl a Тсllсpь y,сe и trо 6yлст;лll'tпaя rшlзлlr нe сЛo)кx:|aсьj /цa и I]ряд jlи сJro.,(llтся, тaк чTо е'lL'|llс-l.вснньrй сlтoсrl6 y6лтЬ вpепlя Iтоп drrsk till dпskот этoIloJ1lroстЬlir oтдATЬсЯ Pа6oте'OдeP)](шNi кoмtlЬlo.rcраIo' e]цe сo с-IарI]]их кЛaссOв сpсднeli пlrсLlлы ( иЛп оIl{е рaпь.ше - у)кеl увы) Jrе лoi!l]пo), oснoвIraя сп""l0rUlизация _ pcиш{снePиtlг (то eсTьд]rзассerя6ЛиРo!aflие)' пoи(J{ yязвимoстeii (lIollpoсту rовoрЯ . <дьIP>) в суrцe.ствуIoпIltх jjaщитных мeхarlIвма* Ir Pa3рa6oТка сo6ствеrlнЬlх спс-геNi зill]lиTЬl.впpочeм' компьютeрьl - r lе еlll{нствellп{lе и ! вopoят}loI llс самoe IJtaвпoе уяJlсчс.нIre в мoей )кизнп' поN{иiuo вoзнlr с железoм lr 6лРIqДa]п1й в нспpoхoДт]Ntьlхllжylr.глЯх 3ащ]1Тнoгo кодa я ]tс расст:rтoсъ с IlирoNI звезl] и nlоt{х тeлесI(ollo!l мнoгочиTaю' дa II пl1llJy Toжс (л посЛeДшес вpeNiя кalс-тo 6oльllle ппшy' чenl читaю),Хаrrерскrте NI(Jт].1вЬI моегo Tвoр чссTвa rrе сЛyчаi.iньr и o6ъясrrяются по детски сс.тсствerпIьlI1jlссJaнnе]\! зaгnЯнуTь <пoД кalt0T' I{ol!пЬюr.ерa u NIaлoсTЪ пor.ыкaТъeгi] <"rтомoNI' 1.l <п{oлoтоr п{oм' | рaзумеeтся l фиryPальпo _ a кaк жe ипaчe пон,lтьl' , : r к , ' Г 1 U г v h ' , р ' 6 n I i . г 7

Есл]1 считaть хаксpаlrи лтодeй' oдсPкимЪrх l]ознaниeNJ oкp}хающ€Io l'oipa, тo

Page 16: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1a

yслoBнЬlЕ oБoзHAчEниячтo6ьL !lз6сяraть пv1анI1цЬ]l пeрeД rсn! кaк rraчaть qrrтaтъ' сJIeдует дoгoвoРиTrrсяo теР]\fшlоJloгиlJ, кoлl вlIeДPяюlцийся в {rаl'IЛl мы 6yДeru назьIвaть х'trOаo'', Подэ'Г() oпРeдеJепllс noдпaдает лl{)6oi;i I{oд' впeДряеIlьIri нaмIr в фailл.I'oс}IГeЛr, (он)кe lJoДo]]ьпныii 4)aiiЛl llли фаiiл.хозЯ]rн oT аllrЛtlйскoro host.filс), напРIrr{еP,lнстPyкпи,r NoР, o РепРo/.lуxТПвнъIх спoс()6н0с'Гях Х-кoда в с16]llем с]lyчac нп.чеIo нс извeстl]( )l и l1Л'I }'спol(oеl llt'l 6удсi\I счI{Tal Ь х{{oд IIeсаllopазмнсjnraroщим.ся к0]lом' Bсю oтве1.с I lcllнoсть за Rltсr:lPсниe 6ере-r rra се6я 1e,'0с?.' зaпускaк!ntи].l npoгpal{]\fy-иtL1цPитсlь 0lеT| ]1с <врeлLrГeJlЬ'l a <вrlеr]РrtT0lь' - oт фl0ва<внсдPитЪ>)' хoтoPаяj ЛpeДваpитоJЬпо y6сДиDIJпrсЬ в на,riичrrп прав зап1rспв q]аfiл.tloсl|тeЛЬ (а этll пР:LDil ollять.таxи JIасT ЧcJroвеr0 t,l сoj]I'lестпruосTи зaPa.,каемoг() файЛa с вь16Ранн0й стpn,Гсt]lсii вfle,lpс]lrlя' 3aп'lсывnс,I х.кoл вllyTРЬl ] l l l | | , ] ' . | | о . у | l | ' 1 , 1 , в . | , l с л | ' , 1 ' к ' ц , , l n . в i , р | , | ] ' | | с p , \ | , | у l I I r ' . B r 1 r I l | , я | J к Ч , | o п о ./l(lllriТllаЯ пPoгР1l]\tI1a rlс заi\' €Ir;lс1' llI]t{а]( х lllrIloIlсltrlii,

/цля Jко||оIluи Ilсст:L i\lЫ 6удсl'1 IIсп0JЬ3()вiLl.Ь рЯд o6illellpиIiятьlх с()l(Рarцсllий|пePcЧJк''llс]lньrх JlI,t)кс:

. FA: Е i ]е AI ig l r iпсл| 4Л l i lич0с l{oо RьЦ) l l r I l l rваI t l . l e сек| l l I i i ;

. s^,oA:sссt iолAIignn)сntIIJ l1]ОlIcс[Al i8пП]{:nL Bl lpтуai ьЛ oc в ы PatпJiBa.

. RvA: It(liltivc Viltlr;ll А(ldгсss _ oT]lo()f|сJlЬпь|il пиP'гyдЛьIпnй 4(Pсс;

. гsl гiГst scс]:ioD _ llсрlrая с0кlLlt, (l)аiiJId'

. Ls I L i ' j t s l . l ' . | | |U. ,1L | , | , |ч '1 . l I .я ' l . , l lЛ: ' :

. сs: сurrспt seсti()п ,гсl(уllleя сcl{ц]lя 4)дйЛa;

. Ns: NехL soсLioll сnе/Lvl()щaя сскц]lя d)аiiЛa;

. v-a: viгпllL] ,\dd|еss -. IJ |r pTvaj]ь ll Ьlii адPoс;

. v sz: V iшLla| s i lo . п l lPтyаJ lь l lЬ l j i Paзп{cP;

. r.ofт: га\! оf|sct 4'||tr чcсIrиii aЛРeс nача!a сeк|{иll;

. l sz: rll\\, si7е - 4)l|:]llЧссr(llii раз}1сP сскIlшl]

. DDIR| DAТA DIRЕс'I.ORY пет :ljLсltваTнoго персвoДa;

. ЕP: Гntl.y T,oinL Toчliа вхо]lа'

: 1l/;r/й(rs' cс-lill ToЛl,l{о нe о].oвоPсно o6pаTliос] зllссЪ пoдpaзумсваrтся Bся:::: jilii 32.PaзPяЛlrьlх сl]сTont этoто ссl]сiiстваj a ttпiеяно Wildows 95/98/Ме/

]'- ]000/хI,/2003, ПoД ly;л./ol.]s N7 пonРaзупlcвастся .illшrllка спсTeм на 6азе).] ' rIrrсннo: самa Wirrdоl,s NT, WЬdows 2000/хР/2003, Пoд UNIХ пoдpазy, .: . тся rllL,6аЯ l]NIХ.]10д06]lая oпеpацио}irrая сItсTсNIal Freе/Nсt/opelt BsD'

.] . , l I Т, l1,

: . - :ц]nе-1пlь|мз.)Qцз?/, , .o ' i 'пo]t]1I1аотсякo}lI lo} lснтoпеpaцпoннoйсистelrш':::. :iвсIJlrъ'rl за заrрyзity исlloЛ]]ясllьrx {]аii.loв l.I лllllамrlчeскиx 6и6"1lrlrтек.- . . : . :1явьtt1tе ' ! l . ]вее 'з(]л.rа,rc?сoо1всTствvIo 'Г]\ lе11ъ1xипtадресaм)чтoсoвпaДaст:. ].. зс'lIю]i схсмoй отo6Pа,ко]rxя /.lам11a па ятп ollaДчикoм и'l1rr дизассei!16.

Page 17: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сTрoка' вЬrдeЛеппаЯ и]lrrepсllьll| цвrтoll, спп{вoJ1изиРует текУщую ]1oэицию кyp.

в I.I]иIe испoльзyrотся гPафичrские o6oз]raченrlя:

М

ffi

ш

19

эаюлoвoк

сrкция давньx и слyжe6ньe сeкции

свoбoднoe прострaNoтвo

БлAгoдAPHoстиAвтор BъЦa,(aе'Г пpllзrraTсльнoсгь сотруl(нll(аNl ф],tРruьI <LlсToк' Il JlltlllIo М -

pUш||| | | 'Uвoй т .Tа r :ш , . | | I I ] tде||кn вл , - , l | | r \ l | | | ,у la 1 ' l |о . | ' r . I l | | r I i . ' I tв .1 | | о| | | : | | l J .

тyPy' пPсдoставJlсннyЮll.]lя i)l{сlleримеlIт()в' 11l)ове/leппьlх в проIIeссе Лaписaнrи

oт и3дAтEлЬстBABаши замeчaнпЯ' пpодJo)ксни,l и loxpoсЬI 0,l]IРaвЛяй1.с o aдpeсy ]rлerr.ГPo]rнoйпoчтьI сomp@рitel,сom (издa-rсJ1ЬсTtso .1llи.Iеp'' t{o!lлЬloTерll;U{ рeдaкпия)'Мы 6удeiI pадьl },знaть вапlс lIнсI{l]с|

Bсe исхoдпьIe тeкстьI, jтpиRеlleнflыe R кнIlге, nьl vожетe пailпr пo аliрссу http'/www'piteiсom/downIoаd,

ПoдPo6нyю инфoрмаци1o o lLaшliх ](ЛI] г:1х вьI пai'i.цетe rrа вe6-сaйтe пздате".rьства:httpl//WwW.piteгсom,

Page 18: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чAстЬ I

o дЕHЬгAx, BиРyсAx,пPoгPAм1vtиPoBAHиии сMЬlслЕ жизHи

глaва 1

',,Эnlо ш mы оtttёсеш' latьzсltu,:лno oltu олаielotn no6oi'вOсroЧнаЯ мyдрoсrЬ

пpoгрaMMирование денег лoпaтоЙ

глава 2

нa чeм nисaтЬ, как писaть, с кe[4 писaть

глasа 3

нeyлoвиМыe Мститeли вoзвpащaются

Page 19: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гoвоpят' чтo п:l.vка jтo удonлeтвореllие сс16стRerп]olo Лю6oпъ]тствa 3a чy)кo11счет. ПporPaммиPoва]lисl мс]ltlly llpoчиNl| тoJflс| BиPyсъi это нe та (]6Лас1ъ' наtiо,Гo]хri п oяllо заpа6o'Гaть, ХolroltIo' есJlI'J Rьl B.)о6пIe oсTirl lетeсь пaсво6оле, a r'eno-rпePrнeтесЪ ul'ГРафy, не yroдпте в тloрьпry (лal(e лeгалъllьir иссJ.IeДoваTели oтэтoro не застрaхoraны), Pазpa6oтка аn1.llgиpyсoв !l вoсстанoв,Iс]1I1с даnнш](_тoлtе не 6отвесъ кaкoe прп6ыльrтоедeлo (yстaпaвJлuать пaроДyWnldows и'говьIгoднeе), PьrнoIсдавнo подсЛеIJ мeжлy lLoмпallияr1ьгигaflтaми' пoстoРoннeмyчсJloвскy вtlllсaться в это16изнсс oЧснЬ тpyДito,

Tвop\eскliN! лIодяi\r D этoii мутпoii вor]e пРпxол'l'Гся очellьTя}кеJю' Пepел фaктoп{жесткoli aльтeРrla'гlпjЬl <llли кrrrпать пРllкrraryхT п жllть B дoстаткe' иrrlr зaнIr'nla1.ься llссnсДoвaтсnЬ((oii Дс,lTс]r],tlft]тью 6сз lpoluа 9 (aРмaнс' A{нor.ис llсopltи.llаРlIьJе хaкeРы стaBят rlа сe6e кР€ст и хopollят своii'г:[пalIГ зaЛ(IrBo. поллa8Лепl'l.е}I o6стoятcЛьств тtIrlа 4)кс!a' (a пoнимalorllуIо жснy наftти ох каI( тpуднo) oяи

ус'Фaxl]ax'Г.я lIа цxrrll,/lь]Iyю Работv, y6r'ц:|я сe6я n тoм' ч'г() гnaПaсеl{Ь]I дo]lжerrзa6oтltтr'с'l o 6.Iаl осoс,гL), llllt,L сc]!lЬl't 11будуцcl\l дсTсii, Toч1lсс' o мaтсP]1а,lnn)li сo.стдl]Ляl()пteii этoго сaмoгo 6y:rvпtегоt r(отоРoе тen€Рь v)кe llикoщa llе liас1упит']tol.o]\ly чтo у шмo'|oк ]l ]l0l tcг l lс'l. ltllка l{оlо б}'дylцсt o. э1o IlутЬ в !tllкуда, ЭTo]tуTr'скаРa6eя' тoJп{аюllLсro liеPeд со6oji anвoзпьrii iIIal)' спruJloЛlrillЦукЛций Bсё вellим Pa, n)I(сJIтaя стрeлA' BIlt(тора пeлсBlIIIa _ пoeзд, ЛпlDкyпt'liiся к Разрyllleпяo.Alу i l1ос ' l .у .скo1.0р( '1) jк| .] lЬ i} ,1() j i ' l l l l : jTo l lа] l l I 'о1.Рс6l l - l .сЛЬ . l l i i ] l l{с , l . ] t IU{- l . ' i lвoв(с1lс lla]\lсl( Jlа зxгDo6Ilylо )l{l]зilЬ' Bс(' illЬI yillllРaсм' БoгaтЬrN1и llJпl 6eдIlьlп1п, oднихзl6yдЛ.' l(pyгrle oTЛo)t{д1.с}l в IIаМя1.I'l llclю]u)смIlЬI|!l1l IlопyN{0llTill\llI (тollll'ГРl'l01ас l.аlioill)l il к1'o-1o Pil3Лс1',.|1!,l o()()JllrilN|ll l1rlсii lIа lJol(а ll.u11дл(с1.Ьlс!llс]IgIи'l''. И/lсяIljrРуflЛr - сai1()lrclrl)01уIltЦ)уloпlllхся l{ехa||ll3]!loR _ од|l! lI]] тaкlП. :.Jтo пo.]{асто.яlцcl\lу !Ill1.сpссIro! eТoi!1у l!1()хЛo l |(х|B''l.l I l.ll свolo жl!l]llЬ. I.Io 8a)rrlo' |с чoNly Лс1,с1ъ,Bсс мЬl .Лo-r'ЛIl к свс1'y, а П0|IаlLilct1 во l.J'му' J[tr,|етЬ |Iy,кlю llo _,.' а _0r,, Бe'сaTЬ oто6ьтДcllttoii ссрoсr.x )кr{3!n к "цю6oi,i вы6P.lllнoii цсЛI1' тPaгсllшЯ в Том] чТo в кoм-ЛьюTeрltо]vr N]Ц)с I'l)1lэп бЬlстpoyстарсваIоT' pазрylцlя пal1eчcIпlь]o oрl,Iеt!тl,]рЬl' rIтo

чyвств},ст асTpo]lалT' кolдa cfu lIyтcвo/{rtа'l звсзl1а ijсчс3аeт? l{aвсрtloс' Тo )кс' чTоtt Iрor.Pallll!'сT' ]ior.]{a ll'l'.'TфoРмa' кo1oPoii o]1 OTдzUl сToЛьIro вРсмснrl и сllJl| смc.i|яеTся дpуlo'I' 1l тl,lсячl'i стРок rц)oгрдN]n']lотo кo/lа прllхoдj't'].ся ЛереllисЫпaть 3a-lIoвo,'. ЕсЛ 6ы 1oлькo перcпIlстiIrатьI ЛьвпtIая /loЛя rlaкопЛепlloго (]пъ]тa стaно-вllтся 6сслoлсзнoil' Хll,r'PЬlс uPиeмы llрorpalrмrrрованпя o6ращaю-rсЯ в llРах,УNшulс сo,Ц.rlrать )4nl)еIlтl,ll]lll,lерс,]lt|ДeJlTll]ne пpol.l)aN1Alы о6есце]lивiЕT(9 Л $iиpeWindows.. .

)Itпзнi хaксp.r .. стpсrrиTс'пьIlый l l()Tol{ l IеllpcItрaцaroщшхся исс.,rсдoваrr rrii, lIсl-вьle пЛaт4).)1)]!пn Это rlпllIil лЛя экспеРrlмептon ll paзмъllnJеlir'ii, ЭTo Ilp(]гPalll'lЦoванIrе pадIr прoгpa['!миPoвaниЯ' этo Il срсдстno сап{oрсajlIrзaцIrп' u нспссЯ-кaеjur'lii Лс1.0чlIult в/(бхlIовe]Jия,,, кopoче' i)ll].узи,L]lli в ЧисTorи виде, да ч,l.о Тaмгoвоir'тъ' '. хaкeрьr )кивyт Л]r]шь Ea грrбпе noлliы. [la oсTp]'е прoгрeссa, lla пePе-дoвo]t ЛпIllIlI фрoптa, в Tы-{y и]!{ дeЛaTь пeчего, B тЬIJtу o6 тaю1. ]lPllкJlЦпикиIi пРoчис мIrP]Jъtс пPorраl1мllстьI' длЯ котopьIх кaждoдtiевtioе о6щ11rие с коll-tlЬloтерoNi - сllучп?1я o6яз;шoвкa' olкl ttм в тягl]с,Гь' хакеPьlже l)1.ll0сяTся к тe}lсчaсTЛltвьl]v 'r]ю/lя]!{l ILoтoрьle ]Ie oTl1еляloT сeбя oт св0eй pir6oTш и jrе р.r6oтalo'Гдля тolo, чтo6ьI,I{итЬ] а )кивyт д,rя тoгo' чT06ьI Pa6oтать. B этoil 'гo ll заItлючает-ся их oT-п Чиe оT oстальliьIx.

Page 20: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

a

ГЛABA 1

пPoгPAlvl]vlиPoвAHиEдЕHЕг лoпAтoи

,,Ca|ryеjk,Il7t1'| цаоl]|xi ll 1bll]1bвaеln 2n!|бo]|ое (|оoвеpuе

|]1)(l]|1lluче.l|L1 ]|o в|x,'||!|, ||1no 1!е свя3(111о с ]'|oulоxl|,ll|е'\1 u]luu(l1ц|:l|аlluе'1l dalQ. ]hk\1lе э?|n 11РaяыяеlnI:я a Inом' цmo

r!]ч1lо? lt с1.!|чxее, а !|]uhl _ всepaс-ц?| n u веl1 u с!] l11 е, o ]rx:bо.l |l 3l nno]'laе любо!||!| ц!Jв.nlвo' цno|j|1. ц]lllpаеmся в ое}|ь|11

вик.roр nелевин. г]оKолeNиe n

с'1)ll,.-l1I n()о6шЦ (-ryсNtJf|rrся liдснЬГа]u? ljl(tь ПовлrчепнЬIl1 в 6сэ,кajlостtlьIli

rrpугоrlrцllт lonlo6;rorrl1}{ jl вьiде"!спluI, зllРll6а1.Inвать п llaкапJ ваTЬ, l1:lI(а1lЛll.

в,rТЬ |l TI)rтt!Tь' TPa'Гr1'ГrJ j1 lЦ)ll6"!Ii)riатъся lt llJlJllo:]орIIo]i кaрTIrнe кoJl'llс(TrlвIIoj]

га'ЦJrIOцr1liirllIllr, ЛазъIBaсIюii <(!lастьепl>. Cr{ашlTс чссT]lO: oпо ваII надo? llJlя

сtlaсTЬя lIc ну]]ol0 tloчего' ILpoпIc сo3llаllllя] il Дe]lьгrl пpпrroсяТ -ro,lЬ](() ]1Устоту

lr с'фiljlirllIlе. нo()6ьtчrlo эTo ll оl пJNlаеnlь J lIrrlЬ Tоцa, кoгДa llх (Д{r}r€I) сTalrolrиTся

с,rltll]rкоIl ]!alolо п у,{с rlo3/1JIo llTо "lri6o l]снятЬ, ;lкиi]xЬ пРonofla' a вЛo'{сннoе

в ДсlrЬгlr вpеIrя lIе вернуTь' чL''цоtsск пoTре6JяюUurfi ts консчrlol] счeтe)rс.Iвет Ir рa.6отаeт нavнптаз, Nlorкет' пастaпa llrlра oстаlloвtlться и пoдyllаrЬ о чcм.To 6сlлее

ПосilоTPllТе <. Бо i,llloвскпij к.!}6' (<PigЬt сlUЬ')' нaйдIiTс r1лpочитайтe <Пo-

кo"!снI1с l]> tsиктoрa ПеlовIlнa I1 <99 4]раlIкoв> Фpеlерrпra БеМeдepa встав

Jяст вссpьеir 'l п:!lо.nгo' за6сil1е jIa кnРьeрy' дсIJьгir' шlloткrr u зaiiNlrпесъ' на

кoнсц, сallиrц сo6оi], Telf' что !l' ijы с уllollоJ.iьствrrем д€Ла.1rr rr 6есllлaтIlo, Tenf,

Page 21: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чтo напoлltяет ]lоlз11ь сN!ьlсJIоMl уllеpI{ивAеT y мol]!тoPа дo сaмolo уTpa, Teм,ч l o в a м п o . n а ( , l o я ц . м J | | n I е l с . h o ' a я , I o h d ^ J . . а , { 0 6 Р a | и | - , l U I n | | T ( p е ( ,в донъги- никакo1.o пPoтЙвopсqия эllссЬ ilе't., Гfuoхo, кolдa ДсI1ьl.и с1анoвя,tсясn\|o eлLю, хoгoшU. Р i]Iи U||и - l , lеJLTвU ((}, .xе. , lвUdан| lя) ' | , Iи и]| , , , lPуме| iг(pеа.лизации сroих иlieй), BoT o6 инсTpуilенTаЛЬнЬlх сpсllсTвахмln сeйчaс и гI.J.

}leсoгiaсн],lМ Лу'rшe сpазy сilс1lиTь IФoфсссию ll занЯтЬся чсм.тo дPyrим (тoP.гoвлей 6аtraпaiши, нaпp,ftteP). ПРoгРaммиРоRаUие Iie лгlxrий спoсo6ДЛя 6Ьlст.pогo o6oIаDIelIия (а прoц)амilJиPoваllие влpусoв 0сo6еннo). чTo eщe хyжe _

этo спoсo6' Тpe6ylouIий I.oЛoсс;ЙьlIьIх llaч;!ltЬllЬIх в.Jloжсниji L]амot.o ценнor.o и lстoму жe нeвoспoЛl{имoгo рcсypса''. Bpel1еrtll. llр]1llсt.ся мнor.o.^1нolo учиTься|а llаучившисъ _ pасстaваTься с l]акollЛсItн],lllll зна}tиями Й навьп€^{ll Il внonьl1cрeучиga1.ься' BeДЬ nрoгpесс c клкдьI]!t гol1oM всc 6!lстрcо и 6r'rстрсе.

кУдA пoдAтЬся- <УбuInb БuJulс1' вuоan?- I'еii||1|x1, ц|no lu?

Hаpoднoв

Hашим пpсдкaм 6ьtлo хopoшo' oпl сuДc'Ill в пeЦсрlхl укрьп]aлиcъ llп(yрa]!'l,Iи нaхoдllJlи(! Ila пoЛlloм 06сспсчоли1l у гoсyдapсTвa' Peпlaю]I]eгo Лсe l(адрoвь]eвollPосЬI 3a rс6я. с I|Pихol(oм свl)6о/:lЬl, а зuaчll1., ll вo3Nlo'(tto(ти !ЬIбoра, пoз],I-ци'l сal\lilх сrшьпьlх lrроЧ)aммj'!с1oв в пlllPс зllа.rrrтurьllсl rtoшaтнyлись. ЕIиктoy,Ф IIe сoбrIparтс, ol1jlaЧrlвa't,ь и3 свocгo каP]t1анa пo]]ск ]leдoкyмеIlтlЦ)oвaппьlхвoзмФкrioстсi{ a }rедPaх oпeрациoнlioit cистемьl или пDoгPаnпiиРo]]allие в Ч]1с.тoм N'аЦrиIiпoм lФдс' Пpеeмствeпl tосTЬ пPoIpaNiNlисTскoii l]rкoЛЬr нару,.Irсна, стaP.]пиe не yчaт MлаДlllllх| Iipeпo/laBaтeли tsyзoв 6oскol]ечIlо дa'цскtt о л пР116лcм пPак-тичeскolo пpогpaм]\{иPoвAtlия и 6€зна110}к]rо oтсTаюT oг пpoгPсссa..'

стoит Ли IIскать пoс,гoян'iую paбо-ту илиЛyчше oставаться iiа вoльtlьiххло6ах? всe зaвиспт oт псllхoтllтIaЛичiioсти' кто.тo пpeдпoчllTaeт кo.чёвvю жизilъ' a ктo.тo oсeДлуlo,Hе 6удeм делить прoгpaмtlисToв ]la<]IтРaвь!х' rl <винoвaTых'! а Лyч]Irr

Расснажcм o кa)кtой из с'Гopotl пo'пoдpo6нeе, пoгlу'гrlo oтNlеrlaя ]те-ttотopыe не впoлlre очевrrдIтъIe пpo-блeNIьr, с котоРътliи ваNI Iiридeтся

Page 22: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 1' профаммирoваниe денег лoпатой

iiак 06РесТI' liастrрствo? oчсtlь llр0стo ilстРotrтъся lla постояl]нyio Pil6oTув фIlpму' 1l1е ещe сильtlьI lтРоrpа}{rl1r(тсxllс 1paдllцпи I'I llMеIoTся пРoф€сс]1oнa.lЬl сп{rс06ньlс наyчllтъ ]\lo.nOДел(ъ' пеpeдaв сiI часть свoсr.о olЬrта (тonьlto гIоп'.]lпте,llтo PeNIесЛy 1{с yчатс'. реlIес.rо воРyroT), Tpyдoвoii догoвOp (o}r жe <.r{оrl.rpilкT') 6ьtrraeт двvх тI1пов - оr.paнJtLlснllь]ii l.lлrr 6ессpoчllЪiii, B Рoссиrl Чаlце!ссIo nрnк,|rrкyстся втoрoii (устPoи]IUсЬ tlr pa6oту' ll пaс потoll rпJIrа( нс увo-lllт':в axop]t!:[nьIlьlх) фиРNjэх'Цсгчс 1.ер lе1,ь .re3ДеЛьe llr.rчeгo IrедсЛаlощсгo чс.loЕскll' чсll JaтeIJать rjo.IoкЛтy с сгo уБoЛЬltсllllеNJ' lюln)tlе' пonнaя ,!aфa' вa)l{.Ilo энir1.|) Jlе с'|.oJtЬI{o пl]oгрaNl]\lilpoваllUс. O()Jr)lФ зal{oпЬi), Зарv6сrj{нI]Iс фllPмьlв сrrоеii Niaс.€ I{а1lt1i!Iаюl. сltсl(ltil,il]|с,Ll)L] lIa кoP0ткIIfi сpoк (наxРxм('Р' l'l Гo/l)'lк]сJIе чего Nlo)к]ro Ли6о воll()6|l.Лrll1ь l(olп'Ра]ff с Pl6oTIt]Iliоil'

jl1l6o l]осЛдТь оllo

| ' l ' ' | r " l , , | , , l r i r , | | | l , . U I l | ' , ' . , , J П | j ' ' I l ' , ' ] l ] , l I n . ' , . ' , ' ' | . I l c , ] t . ' B J ' l | в U , ' , i ' ' l ' , t ,

Ijl l|,]jll 'iс r!l)oеl(т зilвсInЛсa Il дn11ttьIii Pir6оrl|lrlL (i)|Tl{e

6ольпrе пе тPс6уются' T nсячll сп{rцllarIIстoвl Р:lзpа6nтЬlваlrшli! <. Lj{rЛ l l г' ' 6ъlлll

вr,r6ропlеrrьr послс тorol rtак ll1.]l']ка ]iiLllajlit j|е'ГатЬ, l{оl)oчс гoвoР!, чсIl [x)JIЬiItе

вtlа'.tьrнaeпlъ, тсlr 6ьюr.pшr Tсбx !r|l)IJЬlt,rrt'г' ]I() lr:t '1Iо6уIo х]rтросTь нniinсr()! (]ll()ii

' l oN l . У \ I yлРеп1 lЬ l с o lЛ ' 1 . ( r I l с l ] ! ц l l i L r I I l ( 11 . ]n l l l l ' l Г l l i r i l I ( ) l сдач l " r l iюсктn l r с0 i \ |Л с ' l j I i l

} l l | ' к iш rЛЬ| i i Рnз { I t ; l хoдл ' l I oв ' | j i ] ( ( J t к r ' 1Pе6yк ) r I l l I i i . i i j Pn6oТ| l I l . i l I l l | ( а в l ) ( ' ( .

6l,I rl r|еTilсТ, lкl l] тo лс Lrр(]i!lя li Ilсr. I)n6()-к)'LtlTс.Ilь llсрь|lпчil.т' Рvl'астФ| Ilа|()]\J'

] l nЗЬ | | Jaс1 в с t j х l I д ] ' o | ) ] \ l l l , l l ( ) ' , ' | |Ь r r l yЛ{ . l ( , I l Jю ] |Poд . l l с ! i ] L ' ' г lФ l l ' l P i l I L ' l ' '

с с i i ' I a с ' J с l oду Цn lбу l ( I | . 3 t а l l j l , l I l Р l I l l j | ] o с l r у к )1 . ( ) ( ; I l . l к l x {1ьГ l r , ' ! ( ] " ! l l в ь l ( ] го 1 | с .

l l i l I i l 1д l , l 1 с ' ( к ' | ( ) i . i l ] | r I i l в l 1 с ' ]Ь I ( ' ? и ] | l 1 ' Ч l t ) c l I ( l х \ l ) Ld ' ' ж l | | | сT ( l r ! Г . . r . vб{ ) к ) i i I l ро l ] l l l l .

I l I l l | , | 7 { c в o ( I ]o ] J t ! ( ) I ] i ] i t I l l | ] \ 1 i l | i ) 1 I ) l ] | o j L j LoР к l ) l l 11 j ] l l ( ' n J r I l l l t 0 \ l . l r I P ' ) r PаN lN l l l ] n ) .

| ] i l r ] I l с з i i , l в l l I I v l o в г . l I Yбo l { | l i i l l 0д l ] l lЛ ( ] l ) ( ) бк l IN ' I I l 1 l l ) l ] Ь ' ' l , l t i l I t l I l ] i l | ) | . | ( ] ( ) | ] i | ' l , Ь l l ' l l l . 1 . l )

l r l r Dсфl l i r r впаplr 'п, r rсраз6орuиrro: i ry к ' . l r rсr t , r1 l : l i l | |()J l l l . I ]ь]?.I .paГi]д11я l l^r l |(]Г()r I oк ) ' l l o l l l u l l l

, | . 1 ) I l ' t l 1 . о l { l ] i lЛ ] l 4 ] | l l t r цх )B i t l l I l Ь J с ( l | | ( ) | l | | а . ] l l l ( : , г I , l о I l i l l ] Ь l L l i | | ( ' | ( . я l I o | ]о{ l .

; ' j n ь : ' r r ' r , r , r r , J l ' , | } l ' \ l ' | | | ] J | | ] i | ' ' l | . , . | | ; | , ' , , | | I | | | , ' , , , | ] , ' | | ' , | ' , ' \ | ' l ' , | , l '

l I 0дoуЧ i {u с ( ) i J д i | | о | l | | ) o l ра l 1 \111 l r l o кo I l l l . I l с к ( l ] l | , l ) i l 6o , |n IЦ r l i l е к0с l L x I l ' 1Pс6у I ( ) ] l L ' l с

lIcrIЬlс.lt1\1Ьlх ilnIlilР;L1rlЬlх Pl]с},l)сoв rr llll]]lt||{)lIUrс ().. N аrlсihI кlгo rrс'IсР|llL' зa6удЬ.

т с о6 oпТим| ] l ] l l l l l l l ' . l l ап ! , i I J о сT I I ' уд ( )6с1 . в с у l l l ) l пn ( J l l l я п прoч I ' l х а6с ' I . pак ' Г l l Ь l x

t l сu l ах , l . j l аB l | о c - a , r l , l I l oB3тЬ l i i ' l | срсГ ] ) у ) к с l ! r l ь ] i i q r е I ] сч I L^I I I l I l l I T cP ( ] с ] i ( l | . J l l ( x :

ILс i )с , l ( ()Rlnё,] 'eх l lo .I(] l . I l1 ' npoгpа!rмJrРorrа l I l lя . OI-Е/^сt iYсх/Dсo]v l/хN'I l "]| ! |Рoчl|с ToРlоnъrс маРl t] t) засop' l I ( 'ц| le oкрyniarо]r lую сPедy и (]1РавxяJоlцIIе, ' р J l I

N | x | | ' , 1 1 l , у t ' | ' . н | , i ] ' ' г | i l . , , , \ | , l l L ' | , , l | | j ' ' , | , \ | | |

l \ , ' , \ l l : l ' , ' l L , l I l .

1lo что eсTЬ рьl]ioк? мусop, llJ.lв.ll0щl]ii Лa пolleРх'lостlr, B]v!L'сто Tol.o ч,Г()6Ьl

!a6отать нa дядro ХРюпIу' IlеlioтоРьlc xPсдllо L|,Ll.а JоT тpудl'i,|nся пa сaltпx сс6я.

сво6oдrtьIх копсiil]r,lкоl] (.rIrп же фPlIJа!lссPl.]' oГltnrrl,,Zсl..л..,з) I'о'{lro встрe

]Itтъ n лю6oir точl{е I1lQn oт стo"!пчнolir xваPтllpы до r,rlyхoii rlpoвlrпllп:1Ль

::oiilI()Рьr' иrrтеPнeт сTиPaсT l.Pi1I l lr l l ьI x уРaв]rrIвaеT в прl]вax гoPoд с дсРсl]|tei;'.l!'{iе llаxодясъ B rna.']аlrtсl trьl ]\]orксIe скaII]]ватI, стандaPтLI п спсци4rrlк|l|!lr '

1IIllться с кo]rлсгaNll1 lto llсerliу Nfllру' oставаясь IlРn эToпl заllсp|ЬIlt l] ЧеTЬц)eI

:]cна\' IrотoРllс чro'|n]!I' что тут oдllllаковЬI- свo6oдньI'i l.pафl1к (Toчпeе'

r.]Itое oтсуТствис ТаковоГ.r)' богa,ГЫi,l aссoртIrмснт пачaJlьсTва (ссnt1 ше4) ltе

::::з!lTс'l' lloNiеttтa,1'lIl] пахolull\| слeДуюrцегo)' нпxallоir паpъсрtlоi,t nссTxицьl

Page 23: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сo свonстBel lньIlп l еli пoрoкaNol r] rlЗв]raпieIlllяrjп i.]ouЯTIr€ <пaдо' l.а,{етс, а6.' ' t ' , : ' ' ' ' i n . , , ' l l " ' | | U . r ' , , l | \ , ) , v I l l t , l d l | l . я | | , п o т , j I oк i п . l , , , Д j ! , D n | ' l ' 1 N | | \ | , o д , , , , . l l | | | ' , | . , , I , ' , , ' : I l " ' ч , : l ' l , ' o l r ' . ' l : з ' ^ | l , н я Ю щ и \ .ся Лllтсpссoв ЛYчJ|]1Iх v.Jloвrlй ра6()1lil неJь]' r1 лplrдyr1aть,B oТ,1llчxе 01 сoтруднIrlleстsi llа rioпlpaк'ГJlorj oс]loBеl llprдпo.ПагaюUrсгo 6o'r] €eи'{Il \feIl.]с IIJI l'тсJ.lЬl l |,l с с'тtюflJеIlияl св()6oдIrьIii кoпeiiпIиl! opпе]l1.иPоltаrl па крaт.| ' U ' г n ' | , j L , l - , , ' , 1 , l J I L . ' l I l t ' л l J , , , J U Г к , l | l I l ' . в , , , l , , я , J | . ] ' " " , ' ] r r . l p . r г l , i l r r t

, , | , y ' |\ ' l | . t|o6 '*л |,{ |,U||, , t||| ' , ' ' ' р ' , ' rru ь;" ' ' ' , , - , , .-r гu лrr.ulJьIсоl(olllf|сJjrel(yаtrrьl]ая зll]:l,lчa (кал' 1J:LllP!'NJсP) r] сJvчae с зaцrlToii), с кoTo-po]] шTaтllЬlс соTPvllll11lil{ (о]\1lIaI]llll не сЛPав.I]яются, лп6o pvтпlrrrая p:i6oта' кo.тopvlo леLuсвJe llсрс6РoситIt rlа <пl1oi]ерoB'l ll0пl lIirIIPяГа1Ься саl\flJlj (Iraк' I]а.I IР] l }1сp] в ( l . l I1 l l aс с aсPоt rосoN) . Тс l r t t с п l с t t со | l сст l )ос п , le ] !1 , I сЛ()6o ' l l l ь ]хxoflсllrц,1J(оts л о()1oвIlоNl сo.Тl)ttт lIi] )lРoq)ссспoliа.!ьIlJ'х пРoгрai\'iltlIсToн| lIPoЛn.|o l J l J l х свoI l i ]нaпЛ ' l l l о ILс t tс кoк l l r lп r . Грубo этo N lo 'o lо лoяс| lить | j i l сЛелyюUlемпрlIi\Irl)c: :ri]rJIlllJl l.]|() эjl €к1'рoдlrlII.ilTс.llL, у одil()ji lrоltlrаlIп;I ,, Как пr пыхте:lи llтат'l l | , l с r i J j )кс] iе i )ЬI l тaк | | t lчoI . ( ) l l De I iа j l l . r i l l ' пo i rва .пI l ( lЦx lл l t l ссра . тo1 'оЛt l I lм vдаDo]vI\ l ' ' J I o ] , . , B o ' . ' , | | ' n | ' ' ' ' ' t ' . r r n t . " t r ' ' с ' ' 6 r l . ц r l , | , . I I Ц ; ' , | r | ! ' . " | ' U ' ' l " ' r o | ' ] $ l 0 0 0

U l ' U ( , ' , l l " , l ' , , , ' n | : l п : ! i I l ' . \ , I i ' J , l l : i l 9 9 ! . , l , , I J . ' , ' ' , ' , l | ( , с | , | ' ' . \ , ( j l | Р | ( | | U 6 , , ' , | . 'у , l | , , , - , B г | ' Ф , . : . ' . l ' l j . I i l L | i | ' , ' ' | | с n l | | | | . ' | | , ' , , | , | ' , | , | , . l i l l | | l о , 1 , | . i Г Ь | | l l , l l , N | л и . 1 ( |: I l | : г | l l ' l | . I t l ' T I j \ t t . t ] ' ' t r ' ' ' r , р r 6 , r ' l ' r r r r r , r . t , к r r i ' , | l r r r , I l r г r L , . r l ' | . , l l l \ г ( с ' t i l j l .J{ ( ) ' I l c l l l | тс , l j tа l ! | | | ( )Гo I ]ЬI l l l c , .

lj1llU.JLiir' IIpоl.l)ilммi! Jlа 90% (хтl1)l|Т llз ]|l)l,l\{]l'llll]II()гo |Ф/]lill кo1.oрьli4 м0'(сT1lаI|lIсil1'l, Лк)6o'i сl'v,ilс|l1,' (loзilill]атl <цlаp()вll])|)l} I! oд||lloчкy _ э |o }lсе PаlllIo ч,l'o] l i l I I l IN l l lТ l (Л уN lсг | ro l l ' l , , |м о l r i ] | | | l зN() ]v , . I l vчU lс Р i l : l P l r6o l i l i i т l ] <I r l lчЛс . r ] ; гс , J l ь l Joс ',lllPo (1'llк'{e I lllзьrJ]аoi\l( ю ,цrtпll копl ) lr лpoд:rii1.с 0l.о n с1.\,lle Il rll]\1' (oIllI ]кс <.пrto-llсpЬl') |I(]ха1l дoIIllсЬ]вaют нсo olj Ii|'l|Ьl l( )o' (il6r:'пlс;rrrrl 'uuoрn' цoРr,o.;,,,rrь'"\аlсс|lIll иnJ(alIl|о-|аlt ll IlOс rу|llll() t, ]IО чT(]6Ц l]lа,|ь! |lo l{itltoмv 11cс,rv удapI]1,ь1 II(l06х()lLlJn1o rЦюпУс1.ll'ГЬ чсре:] свo1r ]lуInl гьrся'rrI дlrпгrl'гс;rciil b6 ,',.n;'-,i",,oз, nl,o.. | ' | ' p l l | | | | : | ' ' ч | . ! | - , : ] | | , о ' I L ' | | , ' ' : l | | ' l , l ' . , | | , I r j | ' ( | | | , ' , | ' , ' ' 1 ' , , ' , , п ' ' | , ' ' с ! | | 1 . l ' , \ l l | ,

U l P , l , ' ' , | о l ' 1 | ' | ' ' L U , - | l I r i i | : . ' | , i ' , l | | | | , ' ' , л l l | ' I r l ] l ' I l I r l , l , ' | , '

| , , ' r 1 , r . r r r к М u"l()llj,lс IIPoграNIi!1rl(Tъl Il ус.nоBIlЯx lLlrLоi.] llРlцх,.lьI llo-!го lic Rь])кшваюT' vходЯL 1 | " I l | ' - " ' ] t l I l \ | | | r , ' l a ' ' ' , l , | ! | . l ' ' ' . ' . г ' ' , l o . ' ' , , э l ' , r r r r r r r r ' о , l т в с Р , ( I l Г . ' | | o! | г ' . , ' \ 4 | ф ' ' ^ | а г . l v c ' | " r ' ' l l 0 ' ' . г , | | | | r , ] , ' , | л l I l . , { с ' : | I | ' ' ' " ' ' " ' ] " ' . , ' ' o n 'ltак InLс] п.ll1] N4;сгosoiit,1o (:ooтIi()шсЛrlс oк l{сrся x вoвсc l]l]:1), Еi(] вcдь 'ТlIм9 0% тo)кс l lУх]rо чr.o тo uЛaтn 1 Ь ] l,J :Jтo iau o | ( l> Лрi lхoдll'l.(я oтРьIват1, оT спец]l.

Tc]]eрь o llсдoсTirТriaх' L{r'о6r'r vдер;taться нa плаIjу, св06щпЬlii xoпе]j]щll! дoЛ,tiе]l oЬlтI, Iloдв}l,кнъI]\ll xaк рTу1.Ь, Закa]юв IЛloro - тo'1Ьrо i'olсваii. }lo на 6",]lо.д , | | . ' . n ' | ' 6 о | i | з , , I l U ч ' n i | | | \ | | | | | ' o ] ' ' ,

l ' , l ' , t l l l ' U п , l l , , : | , , , , | ' i | . п ' n в l / хп ' , l . \ ) , J , , , | | l l , н ' ' , Ь | ' ' ' . ' r l ' ' ' , o , , , l | l , l ,

! | |l l ая

1oт l Jикpо l (oxTPо" l1 ' l cPов l1oте , !ефoj{и l l : r . " . . . , . , ' . . . iu ' ' , ' ' . ' . ' ' ' " t . ' , ' ' u ' ' i ' ' . , .1Yгo. 11. тoпlу )Rе в пoс-lj!дIreе ЕPеnlя нiri lt'.I ] lnx с| l Ie lii] I I}L . lаj] l .tlдеlIl (l;,] i ''1 ] i iri]1заl.:L]oв ir кoрпорilцj] и и l{PyIlньIe пpoгРа l1tlll сТс]{Inj фирrl ьi. у l.oтo|t,rt сi.r;i \ !.:'r!!'ilлeкТoваllнъiЙ шTа,1' Buес'Гo Pаi](|liur: .ir].!] lluс !стрёiiltoT ]i,]ln'e дж'rrr]-it, jrii,-ву]]1ис]1o прлIrцi1xy <в().!iLa lL!Пr lОрi\;'],, Оiil''un

"n..",u, ..o;r''' nor.яno"u. - .n

Page 24: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 1. прoграммирoвание денeг лопaтoЙ

в11116ще нЛxакoii хаJттуръt }1ст' a 10 ка-а aк сыrтаrrетI llaхватaешЬ еe пa PaДoс.т,lх (noс.nе lreсяцa нI.lче[olIe/цeЛанъя Лю6ая Pа6oта встpevаeтся с тpyлнo скpl,гваеп!ъIll э]rтузl1а3I'оNl)' a пoтoм чс!rс!]! Репy п дyl1аепIьj itoгдa жс 'l все это деJа l .ь 6yду? какoi i тaм сor l ! хоpoпIo есJ l ] t цздPeмнешь нa r tлaвlатуPe

часoк пo.tтoрa, какая eдal )кyeшь 6уTсP6PoД вlleсте с пpoп{aсjrсннoii рaспе.чaткoil' tlolly'ГItо o6дyп{ьIвая аPхиTекTуpy бyдyrцelo пpol]ктaи t'ot{яя l\lьпIiЪсвo.6oлнoil pукoil] эTо xа пoстoяtIнoii pа6oтс ilo,оIo прliI:iтп ' JrеrrIrвo пoч итаТь жyp-Iranьчllк, l п1 "lr Л ртoвaть с ссIiPсrаP[lеii. а пoтоNl' зaкpьIвruись у се6я в кa6ипeтe,пoDooN{aть иJx1 llочaTlI'Гъся дo кoнцa тpу]lовоГo ЛrIя.y сво6одньIхкопсiiщnкo8 paск.llaд совсpшснno иlloij' вpемeflи на.]iiIчнyю жЙзl1t'llpaктtlче(x{и пи у ltoгo нс хtsil1.аeT' ]lTo чaстo llPЛводит к ,Itсстoкt'lм p;tзN oлвкаnfв ссlrьс, tsьr ltро6овa;rл пРoгPаIrllllporraтЬ liРIl жеIlе? я пРо6оваЛ, Bьtнсси тo.floЛ:lii :]тo. Сделаii всс lrаo6орот. Tьr ltеня сoвссм tlс Лю6lIшЬ ll T' д. B о6щсм,

PазвoлсЯ. l.Iс мoгУ yдсpnLaться. чT.J6ы llс llривеши епlе o,1lly ц1lтату:

'',Motю1tlnuн,lttлtер 1lхodu:t ltара6oпу к восьмu уrnpn,pа6omаlL6eз nepе.

Рьtоа lш о6сt)' цtaОuit L: завolа ,юсов в сa"ltь, |1puезfiаn lо]|oй, nonцасauzР.lJL |: pе6u ll|оjll , !:nсu]|аJl с 1lсс1lai, lnl1|uJLся o noстnе"Iь, 6 ьLс|пpo \анu"м(u|ся с 1lсi1 !ю6оuью, за||k!'l |lс|11а6а11 u, otn auо е|| llInе}Ixo] e| !1odш| tla)uj.n?I цас|1 э.l aaоli ,nolL'uпюбu лopа6omаnь tLаd ||.lРоLi 0еu|еti' kon|a-pl,lе взяLt t: со6oii. ol lat'уr я с лвoёtL, заt'lяпуlпь o w(lвon whad u вьl.ш1nbIua|l, , Bчnlцвtllu|:ьioмоtiв ёuнtnь,коldа pе6e1юnу)1l'е цсt|!/], !/ut'ull,тоuittьtЙ, а эlсtllLtl tltце lanol||еa, a1lnum,Цcя об|,я|J1|lnъ eli цпo-пц а вZoJl|)|jе ц lt|,lo веp]|]|llll.ь |xх]с|}Л аpц.uс м1,||.]lu: I,SI' VLS|' аlы|rrпulкltl,n] )'nl о e с е 1u)(. 1 LuI:' л а pа э11 ln u ц ? с|сue cu 21 l|lJI bl.',

тим Дкeксоt' INтEL_ взгляд изнtтpи

эTy кl]Ill у п:lДo llрoчи'IатЬ o6яilnтeЛl'llol )Кc-'Iaнис свяJЬlвa,rЬся с )кеIlщlltlaNl]]ll xрyllllьll!'ll корпoРaЦпям1,l сPiLзy x(e rlрoпaдcт' а I1ьIс'nЬ ус,rPo]]'гЬся к нllпl нape6oту uокажrтся ltрoстo 6рсrlоtloii, OIJIЬl|сc ясeх стPa/laю'Г Pyсскис llPolрaпг\1Ilс'ГЬI' нс I]ntoюцие ]]ика](оIо ]lllмyflItтсra lЦ]o'Гl1tl чу^'ьl запallнoгo N{uPа, Ес",lll11)ворпть кIraткo (нo l r I t} l )| tку Bь l всc гакЦ пPoчиraй]с l) ' raм 6eрyт специaЛис.

, | | l , , t , 1 , | ' , | . a . I P р д J . o , ' в L | ж | | \ l . , 1 | . v ] ' l l ' | 6 p i . . ' , в , o | н i | . в : 1 | , у , | , . l | . I | . ' l у ) ч P ь i i

\:taм, jj.Jшl )кс оп о,]уNlaстся l llo1l!lТllс1.ся свaлIflь пз ]Lol'паниrl в сL)6ствеп.

1ьIii 611зl|сс -. сIo разоря]o]', aIто )к('касaеТс, 'кelпцlrrr, тo тyтлунпrс o6paтить.i! к ПrЛеrl]ltlуl

,,'Lhу tryoсnu|n! nxа omJxцоеп|:'l o1l ||pLLnlч11oЙ э!сенщu] Lьl? Пpoспu1nц|n-rn ];оч|,11 (: 'l|!1ltЦuньI с1nо 6акс oв за lпa ' цmо сОелаеm еt|g |1p11яп1La, а npu-']l1lц|)ая Jlс?llщutLа хoце||| в.е ul) 6а6n11 3а по, чmo вь!сосem uз не|o |}с1o}'уlh'

в, пeЛeвин

]]!рlюе' lIoiJTоi\lv illllо Гl'lс хаксpы нaвссlда ()с1аIoltя одtJпoк!тNlи. A может,дслo. ]Ill1c я )кerjпiпIrarr' n вTol!' чтo в-'lю6111.ься в l{o[JпьtlTеР \fо,кеT тojiьltочс,ro.

. '.;пa.r:rпьнo o6ре.Ieнr'шй t]а oдnl1ol](.сTвo' _ natu|а] Ьoгlt lonеly..'

Page 25: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

27

чЕм зAнятЬся.,,.lы сn pаu|u |]аеl1||': i,!i(:пou ]n? I ь11о -l|l,1 оnьoпtn,lе pо(:|:lli|;l|u епPa2pаJ|1}1u|:71|ь| oце]|ь це]|,яn1(я в С1I]А? |I Кокl1е язьl]|uu o|lеpацllo}lxIl с|llou|n 3]lanll, a nеP|зц}a oц.|e|]ь? 11 ]n|л{ d|lлее 11a n!нК1I1а-\!?'. Bo||1 цlllo я |nе6e сxllnц' nаpеlLь' Jl]oan,кo|nоpьlе зtldа\oln 1nа1|u|j ||о |tPос ь|' ]|е j|о.l!lп Ла 3ь1ва1n ь|:я

, <o11uпньL||upoссll'.t{ujl|npo,p|1'10|uсI11а.I]u',Tаn11]t''lюaa!|11е lxlеlnuп mpцao!спу)nс|nво aаэ]1|е в ]oАP!

пepси Ц]eлли, как neрeсгатЬ прoгpаммирoвать и начать хить

I]oдoJгy ltoвьlPяя нсдpа Wi do\!s oтлаЛчпкoмl хаксрЪт с1.аljoI]яTсЯ нсхIrлъlrtllразpа6oтчIrRаrvol llа ypoвнe ядрa, Час pa6oть| аltих спсцIl:lлl,lсtoв сToIlт oт пятпДо дnадцaTll Дo'nЛаPoв. в Pокиi!1e {r:]Iy6oкolо хaчe]]Ья' (Д!aI{ЦатЬ чстьIРeчaсaзaпloнlrтoрoNi) 3aдснь вьIхoдIl1 llри6jrизитеЛь]1о тPистil дoJrJaPoвj а прIl lloрNiiulь.нoI1 течe]шrи сo6ьIпiй (чет!tpe.пятЪ чaсoв на сoн и oДnн нa зaвтpак r1о6сд)и тl]гo slеньlrlе' вьIчтем oтсrодa вPемя, пeо6хoдиIfoедЛ,I саlloo6Рaзoваloi.'l u знaкoI1ства с тioaьll{и Tехнoлоrliяl{Il (бeз этoгo llикaтс _ инaчe xaкeP заllo)lнcтся oтy l , { ' o o \ | i U | | о | | | | . | 1 j I o j o д ] , , я | | л и ' t t l . з ' o l Л ] l \ Г ' | | | ] | o , , o . l Ь | о I , U | . p Л n , r в J , , , ,

q'lкaцllю)j пplr 11аЛичии дoстaтoчнolo кo.llичeсTвa зaкaзoв ]!loжl1o рассчиTъI

Page 26: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

28 глава 1. пpoграммирoвание дeнеr лonатой

вать на oД,rll-Двa i{rlЛо6акса до'{Jrapoв в n1cсЯц. ] Ieтустo. ITрrпL,raдпъlс пporpаlг

rlllстьl ссiiчa(] Лo]lучаIoт пo $800i L 000 в ln]сяц, pil6oТм rrсего пtr пятЪ lпссть чa.

сoв в ]lсньl rl ]tnIеloТ ]1Ilа вьrriодньIх в llсдсJ1lо, .fo

есТЬ rr пеpесчe1е пir часьr пPп.

r.jiадноii пPoгpаIlIlt,lсT 3апrетпo o6тoняст хаксpa' кJ1сlle10Цс|o дlrliiПерьll

Дlц)ЯвостЪ сeтcвогo о6ссllсqellпя ]1-дго lIe"v]uеr1oc испо'{ьэoва1]ис llРl.1,].яГлnaeт

как хnкcрoB' тaк Ir тсх, riTo с lll Irм и rю])e'|ся' B въrсlпIх yvс6яьrх эавсдr:rlиях y;ttе

I]оявJтJlaсЪ такaя сIlсцl1аJLьlloс,|ь, кaк <liol\iпЬ]oтrPнаЯ 6сзопaснoс1r'>, L{еУv таl'l

учirT - l]е|I()rlя'гнo. Хaпсp - эТo ваi\l ]lс l]])ьllц;rnьlli подPостоrLI эTo вrnсoк]кtrа

J l l l q ) l l r LL rрoвa l l i l ь I i i спсцr lаx l1с1 .с oЦr( ) ] \1 l lЬLnt опьIто l l , pазвr l тo i ] ! l l t т \ ' r Iц j l с i i . ILс

TР|lBпaльIrьlпt lfьIш'Цсltl.lсNt. tJРос.lIt'Jr'rrlкЛцriii поrrcдс]rl1е ]\lаll]xl1r'l l]n lr(tкОJъ

кo пraгoп впсtlсд, Рсl6сp,| fr,l(Dl)ис 0jЗrrсстпъIi,I сsоlllI чсpвсм) ]ro Ilnlljlса]I1Jя чeРвя

3alI NiаJrL]я Тсnrl чТо rlсPеllr сьrвa''I сlrс'геlп,I 6сзoпасrrоr:тrr д,'rя tjo.l;ьшltх tirlllпьrо

т е P о 8 ' l I с д ъ l p а I l l l б ь l J l i , П р с i l о т в p : 1 т I l ' Г Ь l ] i l ] i u L o l ] | | с . е Pвя п|oI тоЛькo дру|о i i MoрР] i с ' : l l l e

"экспсpт пo 6сзoпас l roс1t l ) , l l P ( )с ' (у ] I la | ]

Urп i i кy1)с Jеr{IU l i i ' l Io l l l l кo l .д i l ] l с заг , I |я] lь lваr r l J l l l j i l l псхоЛi |ь l i i код sспr lп lа i l ' а 'L1 , l \ )6I ' l l r l IL l |т l l тЬсЯ о 'Г хnксpов j l1 ( l { ]6хоЛЛNlо I t l1eть Bь l ' (а lo|цY lo( , l эрIд]J I l l l l l )

l l ]Do( ' l l IT] ) | J l i t1Ь l l сс I ln дс( , t l . ь - ,цв i lд l l i l l ) | l l аГ1Лl l ] l |еРс , ] , всс ' I |тo n loжс l . fдс . r lа l ' l '<экс l l срг ' ' э11) вь i , r s l l ть rру6 l , lo о l | ] IL6к| l кo l ( ) | l Г ) 'Pa l l l l I I с l i сTсN l ] ' ( ]LЬЦr ,вr ' l j i

с0p l l сp ' t t с ] | l )а| i l j ' (Ь l |о с l ro l IdЛ l rурnPo l rа r l ] l ) l ] i 6 l ) l L l ]д !nу)P) . : ] ; l l l l r I ]aTr ,с , J ко!сnn-

l l . l l l го I l | |p| |6ь inъ l ro ' r |о р l l скoв i l l l l 1o , и l lo i i I ( J l Io l rГ п lo) lLcГ | l i Io I loPдс nn1] ' ' l ]o

r ] . с i i ( l ) | |3| | . |сскo j i J J ] ) 'мотс ] IП) l1) с r | ( ) ]} ; l , I ' l у . I (L t I C l I cгo l } j ,n I I nс l I l , г l | ' i l . ] . | rc i ' i l ( l .

ln ) ' ГoР(х , | ]рсN lя l lTа]Фвn ' l l I l l l j l ) ; l1 .Ь i ) l l , r l а1y За к( ) i l I iрcT1к) ( )б l1 l l ] ) ) ,nLс| | l IL , ]с , ' l ь ] ] )ЬI

l r i lN l ]юго ] IРо l I l с , Oсo6| iх l i о3| l iu l | | i ] | l ] l l l l JЬ l l {o] ] З/ (к|Ь l l c 1 . l ) с6vсrс l ' N , loж l t t t ' t tа -

l r | ) l I rvс ! , / ( l l i ]асссм6.ц11P0u i l1 r , | | l ) l ] . l l о ) |{с| l l , | ' I l x ] | | )с , tL \ l cT I |о l i с I rа о l | ] I16()к l l 0 l ) сLJo , r l .

l l с ] | j ] ' | ' l l l )о ( . i \ l i 11 . ] ) | | l } i L ' |Ь L l (х ( ) l l l I l ) l с , l . с l ( ( ' |Ь l ' l l I ) ( ) | l t ) I ) , l1Ь с l l ] ] l l | ' t |ЬI l | ' l l l с l ]0L i l1 i t , ] ]L| : l I l .

роЛ1 l |Ься | | l l ' г сT , / ]P . I tРoToкoJI l l х :

rLoд 'L r : . ' l t rL : r l6 l l i r г t lп r l LЛPссo l ] ' l l o I )сх l ] l l | с

r .Pa(л lка ' о6хoдс 6Рat t l rN iуoРо l l l l , г , /L , э1( ) у | ] J | ( ]к i l1 ' с JЬIJ1) l ' xь]соIФ o l | 'ц i lч l jн l l с | .

сJ I (D с l )сд| lе ry пo $500 зa , rLQy ' | l o ( ' j l | | | l l ) с , l lЛo , (x ,Г l l с l Iьшс l Ioс l , |n| l i i 1с ) . | la

l lo lк l l { l ! oд l ]o i l дьIрI t I J yхo l1 j lТ о1 I l с ( ' ]{ ( ) J I l l | {11х N l l l I ]v , | i (o пaрьI l l сс , lц0в ' i l ' | l ) | l ncT,

в сPсдllсru 7{e ()коJlo пятll чilсoв| ']t) с(r1, i] Iaк:t nрlllloсllт сотIJlo бll{с()D Л LIaс,

совсс l t . ( I )к :eI l пеп. lохoI за xu{ , r l r t )чс| l | |с rv ( ' l I Ioгo пL '6o" . lЬ l l1oгo " l1o ' : сс . ' l I

l l а -j l I l с l l l n rе . l (р l l i i пeРов пoJI I lосT l Io кoI lTр( ' l | |РvеT сa\ l чсловс l ( . To I rоI tu{ дЬJр - ] , г . )

]l'jlсTкll' B loгolrоil' l{Poruс L]вoxх (rrj|, Il])1lх./'1 тся vповilть lra вoэсx11с ll у'(rllу,\ dюIrгу||ll 6iL6:l пoд,rа,]l У гРllмo.|lloГо адl\o]IrпстPатOра дьlP ll'ЛЦx)сl.! Nlо.

,:iCT llс 6]l|Пr l(] ]] оп \to'(сT нo зilll'цд.|jгш' скil]l;IR' чтo это пI]какrl1r нC дr'IprJ, il <.

o ' , o | | д ' I l | , , ' , 1 \ | l i l l ' ' : r I l | e п : l У | | | | p o | P d ! \ | | t ' , ) \ | U l ) , l . i i ' , r ' , " , r ' " ' ,

xе)пlЯ оPIrгIJнa.]rьных aJ1гopll1]\ioв' воссTаtlовления стPy]{тypьl Фаllrl0ts даlllтЬlx1'lI1 llРorоко.nа о6llеI{а, эTа Pa6oТа tLeIIjIl)хo оплaчIlвaс'гся' \oтЯ orta 11 llс сo!сс]\!

]rlioнна, 1lllшс зaкoп.rllателъствo дrвассе[16ЛиРoвa]lие IIе 3aпpeпlaет' a oгo Pс.. 'lЬта1erlш в(с PaвlIo 6у/]ете пoлЬзоватЬся не вЬI, таI( чTo вся оTпетств€]]]lостl)

:r'iillTЬс,t на Ilаllllматe'liя, Правда' посIс эТoго H АNieРl.lку}ю)кпo въехатЪ тo.IlЬl{о

- чсjlol1иЛrl Tyпll(Лi. ЕстьPllсlr) чTo !aс аpесTyIот пpямо гl аэрoпoPту, У'{rrуч!rс

:lpавляйтесь н Юпlуro I{oрсю, Tall наших Л106я'Г' не в тo\'! сNtь1сj]!, чTor)L'lr ц | | , , , , . I o d | | ' . ' , ' : ' t ' ' | : ] D l у r e p о в r r в o o 6 ш ^ ,

Page 27: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

29

A вoт зaпшla llporРаlll'Ilоl.o o6сспeчeflияl lloхoХe| fiеDеясиtsа€т свoи пoсJ]сдниеД н | | П г о г p а \ l N ч ь | P P A l U e ] | Й ) \ L , \ п a Ь . , l \ t l ' ' o J п л а n i r | | L | ч . . д q V о { г i l , | и ) . с ч c н яетсЯ жeспol[1 тoтfu1l1таРnЬI11 рФ{IrпIo]l' пpeсnедующI'rм пиpатствo нарaвlle с теP.poРllзмoNl'зill{o,l.oPьIиl Itак пзвeстuol светil1 пo)ltll3ноIнoe заключен,Ie rlnп <!ы1n.].a' ' Tсм lre l{eпeс хopir lиe спeцualluсты 6ез Рa6oты rrе oсTaнуrcЯ ll всегда ]Jаilдyтсе6с пPrlп{e]leпис, взятъ те жe naЗrPrlьIe дIiсюl, 06ьrчпая таксaзa зaппrту _ 5%o,I стoипloстrr тrjpФ(а, PазyмeеTсяj oна oч€IlьуoЛorна. Tyт все 3ависllтoт yPовIiязаtцитьIl стoиIlloсти дпскoв i PaзIIrpoв саl!1olo тиPФка, За N'aссoвьIi'i I]poдyкт] \ ' о ) { | | n в J ч l | , и | o , , | | е | | Г o . J д r р | | ' L ' A J 0 0 5 0 Q , ' 1 , J g y ' n 9 ' ' o n * u ^ Ч о n н ; з J ш | | .Uiaть' lIе oItYпится' Р вс чтo пoставllть тIllloвylo 3aщитy| rloтoгда сс сPaзy BзЛo.мaюT' сyщсствyeт два дIrаl1rтР:LllЬlto llpoтиrlollo'llo)flньIх с110с06а oплатьl: eДlt.l roвг] rмснная в l r t l l . l ]атa l I отч l t с . r IснI tс oлpeдсЛс1] i lо ] . с ) t tpоцс l rтa с пpo] lа , |пр()lраNlмllогo пакста (аriпilpaтllo.llpoгРап'11llor.o кoмЛrrексn)l в сoзllarlrlи l(oтo.Рогo вьl пpпrrirм:Lllll уЧастис, lIal|имаТсJIЛ оxoтJ|се ]lдyт нa ел и |loв peмelrr l}'кr otl.iатy' paзlJсp l(oтoР0ii l] завliс,lмосr'l] o-I спсцпфllltи зaказа кoJ|e6ЛсTся oт сoтellдо /!еся1.1сов rысяlr дoллlrрoв' вeJI}'lllJlIa oTчliсnеlп,ti.I (так IlaзЬ]вaeil1ьIх l.ovа]tv)и 1 l l . o ' | | , c P ] , | | I ] i r ( r 1 0 ' ' , U r 1 ' ' з r r r r ' " o i i l ' l a ' н l , й с r U ' l [ | ' f r l I o , I l l u , o ' . . " * n ' ' u . " 1 o Л б 'lto дiи{с 1-3% Jlучшс, чe]\{ совсcli Illlч.rго..IуT все зaBt'сиT oт рaскpy'ГILи llРoдylоatl O6ъcмов пРo/,lil,(' I{a oт1|ll('l0н11ях мо)кllo ttcпJloхo зapa66].aть' о]LIlакo ]иo,rllolt IIolеP'Tь (|IоIDo6Yii !rроконтрoJпJIювirтD, сI(o,l]Ьт{o кotll'Iii пDo/lallo _ oдIlа l'Jlи]!]илJ]llоIl)' в To вPоrvи ка]( сyNl]\la с/1]rl l() l]Pcllеl{Л oi.i Bъl I IJlirтьI IApaJ l'пr роBa}la, в г)6-Iцсrul Гoy1ll|у _ этo }кyPа]JJ|' в Ile6с, il clll1llotsрolllсlIIIая вЬlплaтa _ сllIlица в py'Iсах, J] illlo мне '(yPaDJlи llpaBят'ся 6оЛьIrjс| хoт,i:r/Lcсl r{e 06х()llп-l.ся 6ез рaзoi]а"Do l Ja l rU i ' i U обMa l loн ,

Bосс,t.аttoвлcIIиeдаttttьtх * сltlo ollIJa IIoРсIleкTI'lвlliu O6J,aс1'l,' гдPаjITllРуюrпaя' ч,iобcз кvсIrа х-'!сба спellиl]"ll|]сL tlс oс'гаIlc1с'l, /lDк0 п мaсluтn6ilх l Iе6oJIЬшолo vезл] |0.IU l ' , J , ' . L ] r . l | | ]1\ )6JсмьI t ) r l1 ,1кич j | л l , с I : : .м ' , . ' o | | ' ' l | , ( ,к | |vI l ' lUс . J , |с . ] ' l l I l с , ;vч '1 lо , l1с' PсryJI'цnю. кolrочно,I{Ля 1]o(x|ТаlloaЛcllия даltнЬl.i a (ln'зичсскo]\{ уpовl lс пс06.хоДи]цo вeсЬ]va ДоPоl.oс,гoxlцеc o6oPyЛol}allllе' ]]o R I]о/IaвJDlIo]IlсN1 6о.[Ьшl]пствeсJ]yчaсп р.ulPушofll!я пoся,г JloГичeскпii хaPакlcPl ]1ля 1{х восстal]оts'llcния /loстa.тoчflо liпrcTь редактop диска llJlюс пnРv.'l.Poilltу v'Гl{'rlиT сo6етвeпtlo1.o нaпио:lll].lя,ABтoN1:!r]вI1PоIrап|llntj дoкгoPa тrlпn Еаsy Reсovеrу . это.lnrг}lя, Для дirN]allrлсгollспL)Льзol]аlJllя вnо,I]ttc соiiдеТ' lI() 6Pа1r, затilк()е <вoсс'ГаlloвЛolllIL]' дellьIи,,,}la6Людаcтся pастущ]1ii спрoс lI ] I:r t lPoгpaмм l1РoвiurIIe Nfит{Poкoн-гPо''rлeDoв' в кoTоpьlх дoмtIнIrрyIoT AссciI6лер, сll' ФoPт tI маrjrиIrlrьlе ш)ды, Pa6oTа лриlloситт i l | . ' ' е J , , o в o , ь . т в | | ' , , ' ] ' o 6 | э r ь . : r t r r . ' д ' | Ь г | | l , т : ! , | U в y I l я n l u г , U . ' l l Л ' | ' j ) l l ' в с д | ,r]aюTI 1lРавда' rte lloсТoяннo, I,hюii Pаз за месЯц нс !0сГyllаoT I1Il олпoгo за]tаза.Tоlда на пpoпитaпис llРIrхoДи1!я заРa6атывaть с6оpкой доNIаI!т]их киlютсат'poв (oн11ссi1чaс пoпy,ярньт в пaрoдс) пpoсTo 6сPсм sIiп.l{oРпYс' отрьlвAеll oт1тегo мьIIIь' Nlопиl'op и кJIaвуl пиl]rсlr пpоcтеIlь1txй зaгрyзqик Liiuх,а, aвTомати-чссltиil paспозrlaватеJь фoРмата дисIrа иxодцeпляeil к пJееpy лулLт yправЛе-rtия пo ик, llа r!1нolo lleГo скoнсTРyиРotsaтЬ мorкlro _ 6ьтлa 6ъr фантaзrrя! Boз-мoясrостeii /]JIя саi1oPеалllзaцrlи lfoре, вьI6IJ]raii пa!кvс. CЛyхиo 6сзра6()тиЦеи неПосTрс6овaннoсти llpoгPапIlll'с,roв сильllo l1реувсличеllЬl, ОтмltPaю] oдtl!{спeцt'а]'Iьxoсти| нo пa их мссТе рaсЦве].aют дрyгr]еj noДтвep'lilils сстeствelluЬlй

Page 28: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 1. nрoгpaммирoваниe девeг лолатoй

Iipvroвoрoт pа6oты ! rtpltрOдe, Tакчтo pа6oту се6e нc наiiдст тoЛькo ryPмаlr IrЛи

Еще дoхoдlтее jioмаll]1с llPoграllilll и"'т1'' uЪJРа'{а-чсь 6oJее пoJrиткoрpект]]ьlN'

язЬltфi\!. <аI(аптaцI.Iя llpoграlrмноr.o о6есttе.telпtя под нyхДьi а6oРtlгснoв', Беiro.

пaснelr вссго рa6oтать с rtо]lкPстнъll! заказчr1коll Iтo кolпpaкТy в этol1с.r1yчaсl

ес"1Il де..1o дoйдст дo су,,te6flьIх Рaз6oPoк' rlPиg"1скi|r], 6уltут llапJегo нaнипIате"ця'

а IIе вас как исI]onпIтeJrя (xотя ссЛu здoрoвo pазоЗлятся, вaс тoя{r пPи!Jlс(уT),

стоlrп{oстъ вз'roмa в?Ll)ьllpyется в oчснь ]]rпpol{rlх npeДелaх и 6oJrьI1Iе1i чaс1ьlо

3аBисru ttо oт сЛo,к]кх:'Гll зallil]тЬl] а oт ваrxих nlaРкеTt1rlГoRЬrх таjIангов, АflaJlo-

гrlчнo дсJjo 06с'гоIlт п с сoPxliнЬlм взЛo}rоNj, пo нn потofi. Уilellиe

сниl!1aТt' 3аlLlи1.ьI и тaлaнт в1'l1.oдl1o IlРo]Iавать PезvjlЬтатЬI свocljo Tруца :jтo

pазнЬк] ].аЧес,Гва' чaсто llсltltloЧаЛ)ц11е /]{Рyl.Лpyга' Нсп.похаЯ идся _ ]JаUять п е

11сд)ксра (l1.пrl' eс.nп llнaчс pilсс1aвnl ь aii,lеIl1'Ьl, за6Рaться под кpьrllо к мr:Itс/lrкe-

г r , , L , 1 | | n | | , | . ' | , Г , | | ' л l ' ' ' j \ | l , l . ' , | : ' ' , ' , , | | c . ' , l n n I n ' л . ' , ) , l l n I o , , . l ' | , ' , , l ( J J , , , t '6отаюtultiiла ltего хatiсp 6vдс,l. tlрlIllo(]|1.J,(lЛrPмЕ дo пятIr-дссяТll тЬlс'Ч ]1oЛJlаРoв

л rrссяrr (сс;rrr оrr леiiсlпriтсЛЬxo хilксР). З.L Bl,iч€Tом Рaсхoдoв нa сoдсрn{lпис

Pазв'lTllс ()'lP\lьJ' всд\'Ijl|lс (o1p)lдllиlot в сlrt)е ]чilссс пoJIуча0Г свЬ|ll|с двyх-

Tрсх (а rrcpcдкo и ltятlI) лrl.jrо6аrtr.rlLr tr шrcсrrrt, a втoРостслrнныc nl'ца - |l пРсд€-

'llilх 11ЯтllсoT.ti()(j|']\l|.|со].

Tаx 8сс.,aкl| Il('l(lx) зapn6ir,t.ьlва,r,ь LriL х;rксрсr.lre ЛJIrl I]ст? llil кill( BаN| с|i:lЗaть,,,

l ] r l , l у6 l I l l кс \ '1оЛолo i i с r l с j1 l ! lU l l | с ' l ' l ]o 'цуча loI I l r t i i I loP ' r rк l $500 B ̂ l сся| l r t ] l с o6Рc .

i\]сI]cJJl|ЬliIl|o/lх:l.llllI1il)кor] il('|)с/l l]с'lIiо ltr]L{)l]ojlЬltl]|м ljil(lilJ]l,с'Г|l()iil) l]Ь]ilЬI|lilс l у ()l(.

l)у)t{ll|()l]ll|х сllссь ilaBllс'Г|| с RoсхlllцеllllсNl. l'Itl ttp:t6отаrr' сьt1 I]рl'хо/L]l1.ся оii'( ) i i -о i i I 1] с rcЛ}tJ (e l l l |рoI lь l ] I | , r Io| | l rых l r c I lT1)a\ с ' |P i l l lЬ l э ' Гa ILи4)рa nЬI i l l ' l васT

сrllrсхoдrrrслt,ttуto ульl(lNу с ()jLo6рякЛ|LIlNl lloхЛolIЬIвaлЛсl\l I!о ll.'IoЧу; <',,]\4o)кe'l'

r ( ' о о . r u . , , , l , , r ' : ' 1 ' У l ' , ( | ' ' , ' , , | | } , | ( , | | | | | , | | i , ,

Прoфосс l lя r lро l , l )ап| rv| |ста v 'Ф vr | ) l r l l l , r l t l сBo j i мr l с1r l l l еск l l i i oPсо 'Ц ' сo Iю] lуJ lяР .

tloстЬ-l.il.T llpяп'(l r]a гnаз x' сJIучlliilJ )lх Jllo/lсii зд0сь L:,Ган0rllll.ся Bсe МсIll,пIс' \ l о ' ' U ' , B l | | l г \ | \ ' \ ' ' i ' о ь ' ' | , ' ' , l ' | \ l l | l . , ' l | \ | , I ' l r , . ' | | о п l ' о

сlLl.liДrватl) с1 Pу ll'|.урьl /l l(lГl)епal l1lУIо докyмснTaцrlю, ltolrы ря1'ъсяв от.llадчlll{с,,, ч.ANi качlrствсtltlсс tt0,]t' тl]ltl llrt]'I(е L'ro дохoдl1oсTь1 OlLIl а кo поIопЯ зa

"'rпчЁьllr o6oгaлtеrпlсll oпусI{ас,l. IJЬlЧllr]"lIптerlЬIIуloтсхrшtку в r.-'Iу6оxуtо ямv. Что.

оь] lfнoго'цeГl|иe от''Iох1]н]l' l.Лl()lirвого коЛil нe рухнуJllI oко]lttаТеJlЬllo' lIу){GIo

, ' o ' , L ' ' J l , I l | ' l , , \ | | , r ' \ | ч | | | l , ч | ' | \ . , | | ч ' - , l j н i r . | р ' , д | | | l | | o | | | ' , l l | , | . ^ l . ^ й l , р

llicн0Pl1oii liУЛътYроi] и tiсoPдrlllilр|1ЬINal лrоЛь]tlli,

вот интсpсс]rыi1 (JlРr'lпolL llз }l}1тоРвь1() с ЛеolllJ]]oM l{amBo]rьIlt (пPавдa, оIl fo.

rrорll"1 пе o хaкеpствс] a O "!llТeра'Гyре' нo кaI{ая }tаIl paiJll]'tц.l)|

Boпpoс: хopauю л )t1pа6a|lьl|заannuсanо|tl? IIe начаlnь лu,мLe nuсаlпь

oпве|n: са'Jna пaсlnоно|lка во|qj()са 1!е в|1ojl1|l] l,\Ра|зtLl|ьнаx' 'l]umepamlpoii,кoнькa6еэnп'ы сnopnоt,L rпu pазвеdа tu еlt акваpu!'l|нъl:t pьL6oк сrеa!е1rl1rc'чш Iаmъ за]|ujnmы:я , |nо]ькo еслu эn о dля mе6я ю66u - есiш шl aценъ лю'6uшь pьL6oк, кoнькll uпl соцu1t||nелъC]nво , I4 eсnu пa пpoaесmвuu м}I.JZuI nе]nпъL doсnuzнeшь gспеtа в эпolL хo66u, eслu lпвou pbL6кu 6!Ф|п не aoflц|пь'

Page 29: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кoммepчeскaя приpода нeкoммeрчeскoго oреn sourсe

о пa Ка]{oй ]nо 11е11011я7|1н ой |1Рu1|111Lе pазrЙоэt.аmь||я n!axx!, че.\1 !| все1i oкt\ц -э|{ающuI' ес!1u 1nьI пo(meпa!r|.J забpoс|lulь все oс|naJ]ьtLoе 1 цЙ aе ulь сo unх'iРa6onы u с|naне1llь занuЛаmься пoltькo pbL6nам11 пoiо o6mР!1n|uШ:я'\mo pы6ru вnaLне r1Оl!|п пе6я лpок\л|ul|lь. А oniеrьнъlе ак|зC|рuц,1luс||nl|1.1u|l:]Й сmpоl1ьl за?аijan oч,u| 6a!ьuluе ddbzu, .з'Ояппa pазttьt'м оnраtlаllс вьrcmaai|Lll]l 11вьЦ:n|цnа1oil лo't.B Itаl|u че']|п1uо}|ъl.кoнькoб,.э|сць! ' Ho nокц пап|ь с|юp|п11вп1,Lе l|о}t ькu tt завorЙnп, Й'уа аltваpu!м с Расцеma]t clеlоttlь зоpошuii 6lзнеr: - rcлеnо '|Iцчшt: aпцltltrn,пpoОукпaвуla паlanкц- Ес]ль, nо]lсцнo' ваРuаxnL l,lяопьullxo?o а|JDn|nIL!-Й)lсцp|l{]!luс]l1|1 !сrnpu|nьсa lnс nc|nоll11кrы в а t юttuм пl ю ко,у а ltdц юt u:lltлl,tхulLu сu,еltаplпirr авлтlрoв- Hо эпo щпе iцасn nс|nвon 6lзltcс. пtьt у6оoi,iпa утоdу зa акоарuц.ttсLllu llа бojlьI11oil rЙяiсtФ|l |,ь6офсрм,!,

31

кoммEPЧЕскAя пPиPoдAHЕкoмMEPчEскoгo oPEN soURсЕ

,|1106оЙ 1L\||i:]l: uЛeеп,|епхое itltеэtсltое вьtprL lt r:ншl - [спta а ' , a J ' ' " - l ^ ] ' u n o , l l I t , | v ' r i l - l i l J - Ш 1 ' | , J \ t ] , l \ асn вonpос' l|аGor ько кo]|]|lеpче|:]{u ц.]]!е1l ||lа|l)|I |lllu1 не}ia\|у?| tu , l | l j l , l UвnI| I ,о ' nu ,

в ,1ор г" lев/ ts ' пO 'o ' . | ne п

в открьtтьlх исхоД1rъ]х тeкстaх 6o.Лr,rtrc riдеoлогиtr rl пРoпaгап,tьr' чеlr сo6ствепнo сaмoй тсхlioлoгиIr. Мo}кlloJш rrа э1oru зaрa6oтaTь? Tрaдlrl(lloннaя форlfy.i,1-рoвка aдеlIТoв oPсп soLlгсel <.llрoгpапlrIное o6есrrсvcние лo"r;кlкJ 6ьrть 6ссп-,тaт-

Page 30: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 1. прогрaМмировавие денeг лoлaтoЙ

пo, ]1еньrlr 6еPyтся тоjlьl{o зi пoддcР,fll{у, - jlе вЬll1ерхr1!;еТ rlикакоii liРиTui{li.ПриспioTРптесь к N,Iiс|oso|t дpуrllll кopllоpаТxвtlыll rlPоlзgoд]1Tс-цям' ПJ.]al.rlьпi сoфт и 6есп.iатнaЯ поддср,к]iа' эТo нllи6о'!ссy(rоiiчивaя 6изнсс.схсма, ll!O'

веРеЛ пaя npеl{ei lеп{. /]а | на по,]дсРяiкс мo'nнo заPа6oTать' нo.,, тоrrькo оТt{юдЬ tlс

саi1r1м ]rазPaбo гч,lI(aN' oткрьITоl.o прoЛyi{та. Лoпvстlll ' пш вь]пустrIЛп llo]llinт.nя

тoP] стaвшlii noxyxяpllьlм' Ilос,I.сxсllllo вo].p!f llem tlaчlttlilсl. фoРмиPoваTЬсяцеЛoс с11116щссТв(r ' riТo.1o tlrl]]]е1. |iIJl.]tll' к1tг11) кollсу]|rlтllPуc1 xoJЬзова'Гe"1eй'xтo тo пPптoPговьlgtlст 6x6Лиor!'камl1 l1 т. д. B0з]1l1liа!1. дсцснтpа'Цuзoвa]lяа,]rJlltl)p:tстvктvpа' aРoвopaчlIвaIoщаЯ NrtI]l.:Irlo]Jьlilon'llаpoвl нo Irс жсЛaюrцaЯ дс'Цxть.

Бсз щс/rpol.o с]lorlсoрll здесЬ llL'0б()iil '| ,. A к]]) ]lll'}ie l вЬrсlll]Jr|L' ]J 1.аlФii РоjlЛ?комllaш ll l - сос'l.ан l l1.с'rl r1 д,1с|Р l]6у'П1вoв' n ({:Jlсдl ) )]aTе.]] Ь(к 11с opfаl ] !].rа цll l l t l tl I гститyT l l l l t {{]я l i yp l lP ! r l ]ц l l с (hI l lN l l l I l L к ( ) ]Л l ( ) l )n l l l I I | ' ре l i l |а ] \ loд i l1с r l l l ' i ) l I Jn l |цn)1 lь jr ' т . д , с хopо1! t l I1 i J | |а| lиL , \ l а l l г ' l l l I l ] i . к ( )Гo l l у , I (Aч]| ( ) пo]LвeJIc l J l l l , J i ! ! я i ]ь lкoN l яL , l6 l f |ь(у6с11диlr д'ЦЯ сrroс].o Lфl)сll,|:L' lJ ()бцс]\L' L()' llсс'Цo)кIl()' Кat( lloсtуlli]lijI llи1.iriiсlolсaаpн|l? CнaчаJltl oIlи в 11!кil1i рoя{аt01' l\llt Ill lNli]'nЬяo Pабo rlJоlцllit npo'l{yкт, зilтcN1IloI{азъtl]аloт сгt) 6o|nlЬI м ,цядс н ьl(it}l u llPос,I].]rс!lс;кк-!' РYсскllfi пPoгPамllисT'.,o .о .o] это сoвссм дpv lo i i l l l l l , l ] l l l i i l кoгo ] lрo i l ук l i i у l l с1 .o нс l . , B J Ivч! ]с I l с ] IYчаo]|р'IсутсTвуст тo]lЬкo lIPoсli|' il lсс oстil.lIl'tIoс ilаtlnмnк),t шlIpolio рaссTirв''lс]l]l|]lс, | 1 | | , . l , | , | | L l ' , . | | , a t | | D l l , I l , ' , , , . ' ' , , , J | , ' , ' , : l ( \ l ' , . ' , , ' , | | Ь , | ( l l t ь ( ( , , l l u r | , l ' , \ | l ' | : I

| г : | П | l ' | , | | | | J , , | ' l ' : . , | ] | \ | ' , / ч ч ,

Nl l Ip IL01)( ' lЧ) | |уTЬ ' l Iv i l | с J l l l l c l rЧnЛЧ) l lYT l ) , Taк ( ) l r ( ) J ( )Ги1Ь. ] I l )n д( )сTI t , l r ) . I i r ( ) i ir I l l lю]) l l ( , | (х i | | (пI t t l l l ) i i к r l ' ] |v t ]Ь] д l l ' l l ) ] l ; l J l l ) ( ) | i I cJ | ] l l l , | ( . I}1N| i l вссJга i t | ] BЬЦLс . l r ' с |ся ,

' . l ' | ч , ' . | ' , , , | ' | | y , | : l ' | , ' | , l , | | , | ' l \ ' | ] l : | l | | ' : J l 1 , | , | ) , l | l | l ' ' ' l | | l i i

l Lv1on( ( Po i ] l I0 i i I r l (8с i i l t с l t сЧcР l l д( ) у Ц) l l , l (о|J l l L , r с | lP I l хoд l l ' | сш)к ( / l i l ч l ' | l l Р ( rс IL l i l( ' r | с l i t l l 01 l r к i l i i 4 ) ' му ,оrк l ! ] ) l l B o l l r I l (0 I l ( ) , | j l J lяс1 ' ся хNj ]1Pос- lLи l1o l l I r r ]0сгoра ' руrск| | i i!lроrрxмl'l1lсT дсr!|olrс'ГPI1P\01 jto]i'IlЬ|ll Nlа|.сT ll ГoRopl]1.' ч1.(l,'lJl}l oтФlllIaTcjl|,lloI()з:lIrср|IIoIl'I' nрoLaIffа оп{v 1.Porrуcrс' l{lt.lrлrtoll лo"]rЛapоB ll сlI(t гo/l{ RРе[iclJll' l]oi)Lo бvrtс-г тalLlu riPt'l'ая llPoГ|JамNlll lLоToPoii Ro(J6lце llIt y кol.o пcT (гЛа](lm, с1Il'

рltсT l l ЛDlL' Лс,гaс'Г) r l ILоl.оl]а'I п p | | |loсс'Г иrlB сстoPy Мrl"llnпаi)дl I lll е llри6l'lJJ I l ( Ijl l"чЛГсйтс Il ря]lопl riс -'iс'Lan). иlпrос'ГoP хмyPптсЯ irпlе 6оJ|ьIrlе (.у]Lа llа)кrlП,tЬ()|'llcPн! Гl, бЬI свoс l )' lIo в грсх l lз 1lЯ1r1 с'1yч асIl дl]I] Ьгп Bсс.такlI rшсIlоrjтilrJrяеT ( xtiе-

Р|ll{а цЬI rltк|lс Itаll!|rЬI(,,,')' tIoPl]з год' lioгlLа lIнвсстор пP]lхоЛllт (лlя'|ь' а JI'l.: ' , l ' \ ] ' ' , | | | l r ] , n

l ' \ i . | , ' , l | l 1 l | l i ' r ' \ | ] ' | , ' | 1 , l ' | , l , , t I ' у

!rlсIIнL)] i<,\ что ]rnl' со6ствсttнo' хoтсjrп за такпс Лепъгrr? ЛP.)грar1[!lIl,l..lФ(!||ljlеl(I'lГакoго llaс1rlTa6а нlr сoзiQlоТся с поJlI Ilпа' а тре6vrот nlll'1J]l]ар.цlIьIx вILo)кellЛijI'

Bот почсYy с руссr.ш\!lI прoгРalli\ пстll}1I' пIlкто lic xoчеT (oTp\iдIfl1!raТ!' l10.lrу.L!LfГЬ,lLellьгЛ i!1.'l(пo ] oлъltо ]]JlIiflllIlI(]Ь rr flх]lан :rа6уr0Pяo]i кollal]ДьI UJrи сoздав

i)rlliI]lвlIую фlЦ)r1у IIа Tl])i()oiеlllсl.llt oсTPOвi]х (шуTк:'' (онечно' нo дo".lя LIстrl]lr'l ts ]lсi'i всс.,].ilкl' ес,|ь), Еще ваNl ltоTРс6усТс]я хo1я 6ъI мIЛ1lIlIa.flъпo pa6отtllo

irllii xpo/rу(T, A rдс сГо вз'T'? СоздаватЬ в oдxночку пpo6леY2тI]чпо. Pll6о.:.гiь с кrllаllдoi] .- Рll(lковaJtIt()' гдс rаpаllTl1я' чтo oд!1]] Irз ч.riеIloB iLомаrЦьI пе

]!lpe| lrсхoдIlЬJе 1.екс1.Ъl lJ пe с()ЛЬe,| llх lla сТopolly? и'1lI' кolда пPoIраIlrIa вor. ]l lep:i6оTaeт, "11тnер Цl}.ппьr lrс пoUr'IеT llссх сl|сцоg к чоpтовoii r]атePп, нe най]l.Г ]eсятoк Дpyrоii 6eстoлI{овъlх сТ}ЦеlIToJ] ]l jlе jюручllT ]N фuпaпъ]rый (кoс

Page 31: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

roчveplесrая гplpoдa rеroмvepL eс.огo oрen sollсе зз

lfeTliческиit pеNtoПт>? и стем' и с дPугиlll aвтopy пpихoДиЛoсь стa]lк}Iваться нe.

Лад]lo' IIe 6уlrсм o гpустнol{. пpeдстaвиNi, чTo вьI рa6oтaотс в oдияoчкv IrлиB гpyппeбЛизкихдpузсй, кoтopыNl верЛ'гe' itaк сe6e сaмoму (я 3trаirr пPoгpаllIпIпстскуIo семЬю' в (oтoрoй )кеЕq д€д' oтeц п сьпl _ всe пporpaммисть', вьI пиlrJrтeбeспЛa'Гllyю веpсию ка1toгo.ни6удЬ кoп{меpчесl(o]o пpoдyкта в наде)кде зaставrrть eго сo3ДатеЛей рaскoшелитьсяl в€дь это пРямой yрoн их 6из}rrсy- и дей.ствитeлъlюl чeрeз нe(oтоPor вprмя вaм aoстyпаeт lrрeдЛo)tсние' oт кoтоРoroпeлшя oтказaTЬс'r, Ли60 (yпят прoДyкт зa el{иrtоврe]llсti]iylo сумl!ly| ли60 прeд-лo)кaT лrPсilти в штат нa пoстояrпtьпli oклaд (с yсЛoвием пPекPaп!€ния Равв1t1иЯltr]oдуma), пPи }кeлaни'I мoлolo I'l пoтoploвaТьс,l, нo глaвнoе. пе перeIпу'гЬ'DсЛи l{olrкуPeнтa нельзя ltyпliть' в Poссиll егo у6ивают (для irачалa мo[yт Ilpo-стo иt6lпъ)' а зa гPaI'Лцeй BpyЧаIo,Г и('к зa tЙpушсIlllе автoрсI{oго I{ пe|reптlюгоllpаtsа. A в тoм| чтo вьI clo IrарyIIIиЛи! мO}кe,le }le сollнсвaться' пPи этoм исl.еlilJo,кcT 6ФзaстснlttJвo вo Poвать y вaс ЛyчI]lиe кус](rI Iiрor.pаммlroгo кoЛa, хp€rI BъIчT() !l()l{а)ко1сI

I(oРoче, eс,пll l|Оltхoдltl.Ь l( оTlсрьlTЬ1l!1 исxoдtll{кaм с чис'Гo кoм|llоpЧcскotli тoчltизpсllt{я' вьIисIмвaя IlnllBllьlх сltollсopoв и l]eрeвoдя дe]tьl.и ]Iа lloмcpl{Ьlс сqста|B ]t{есяц вьIхol,lllт o,l $l00о дo $10 000 (nри этом )1Dкe lIс тpс6уотся здпускатькoпlгlr|JIяToР|). ЧсстIlЬl]!l TрУдoм аaра6oтaetllь дoллaPoll шlтьсoт' oт силь] пaРyтЬIсяl,. o].сlollа: заJllIмдTЬ(,l opсD soulсe 'tNieeт смъIсJl JJишь дJIя llриo6Pстrllr|яl]])огРallI!llс-l.скo1.o oIlЬl,l.il ]lЛя вЬtгo'llIoгo труl(oyстРoйс,гBaиЛи пo rЛу6oкиlll ll/lсй.l l l)lм Il|)l.lчIlltaitl'

Page 32: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гЛABA 2

HA чEM писAтЬ, кAк гlисAтЬ,с кEМ писAтЬ

Iз hl:llx цц ll бь|tll. aNпl'.lll1| Iо nе ццaШ lь|]It, ltРоI:}nо пРо4х||:|:11оlx1!1|,1!hl--ull Р.rбоn uл|аl|11

давид ЯH

с]oI rPсNс l r r l ' l с н l lрусьI (ГсI l 6 ( ) J l .o l L l IT| | l ] I l | )ус| , l I ) у ' ( с l l i | l ] r | ( ) xo l l l I l I IyтсЯ | |а o j l .r ] ( ) i ! { -oд l ] l1с ,ГoсIJ l i ( )N| я] r | ' L ]{o I l I IPсn .та|]Л ' I l ) Г (o6() i i l l (Лrг ILo l loрt l , г г l I .Р lU( l loгo т | tпа ,L|р l tв] I J lь | l ь l i i ]xn6o]) 1 .0х| Io ' ' IoГ l l l I l | |х )ГpnмNI l | ! ) | ] t l l I l l ' | oчсI l I , в ;Dкс l J , Бсз пPсvnе-

1L lonxя l о] l o l ]Р l ] i с , r l ' с1 ' .1 ' ' LЬбv п l ! )1 l r r i г l L , срo l l | | ] )0u l | ! зaI l l l l 1 ' тРу l loo\xrость рдз .].lбoткll' рilсш l1Pяс\1ост|, l t т, д, Зr16yдьте сrrяrrц'rr1lыс rrоiillьl <1lасl{anь проTlrв Си'

r t t . с} ! l l р t lT l |Л Aссc\ l l i j r L ,рa l , ПсPс , ' L l r l rм l l стс l r rт I rпo- ! I o к t t I l r rPст l Iaя l l l lжс l l cP.' .];цaчi|: сoздilTь рxrn)1.()с|loс()бllЬIii код, вl,'lillпаrоlI0|ii дtlжс в агРe(llв||oii' 1 ( l6Ьrc1 .Po I l с r lяxЛ| l l Lхс ' гсх l Io .погr l1 i |р( ) l .P t l \ ' rл tроr j i l l r lш l I l IoЛле l l , l { | |ваtoщI]йj зoOпaртt оr lеp i l lц1oI r I lЬIх с r Jс 'L !N l ,

HA чЕM писAтЬу с++ lю с|]а|]ненl|n) с Сu l!а.|Inп бo]lьurc nuouхJ!

]Iц a|1'poвно на аво,

Яr| ]1a]i к.1зоa ,\iii llL!]1:JaDац з а|:.v!J: Ci це .].:сс.l|.,nеР lJLя jli1tuв1Lt' хna||в асе:]lb.Iе? ' зРо:1ц'r|iс лРa що я xn]оp]o, :1 цьо?о в1l|o0uпь: tt чozo вlt цека.'lu?

Из qopума

П;:..: l :t.lllкrllr яа Aссоrl6"lерi:'- этo вьтпerrдриваться' заведollo o6рекая lrрo'еl- :] . :::rвa'r, A(еj\16ЛсP oпp:rnлЬiIзll]T сс6я.nпlllЬ в с]lстellпо-эав!lс]ll'JЪIх rtодv.

Page 33: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з5

r1ях и кPlr'|r'iЧнъrх к бьtсTрoДeйствию yчасткaх кoда' BиPyс N{oPPисa и pяд ]1py'гl1х сeTeRых вr1рyсoв пoлilос]ью jlJlll практlгIeскll полI1oстЬlo llаписаньl ]]a сп-нa сlr i1о'(нo сделать пpакт!!чески всe To жe' liтo и Irа Aссеlt6лePei пусть и сrlс}rьшсr1 эффективпoсTьro. из дeсяткoв тьIсЯч стpo( вирyс]1огo/aн1.ивиpyсllo.1.o кoда.rlиUlь сoпrя дpугая рсaльнo нyJt{Дaется в aссeмб]lеPe,

УPодoватъ пpoгрaмrиy ассel{блерIJьl\1]{ !ставitаNlи дyPЕой тoн (дажс нсrI tlРo.с-гo пpес'гуIlлениe!)! весь асссм6lrpнЬrii кolt дoJDкeп бь]ть вьпIeсeп в oТдеJЪrrьпioбъектньпi rvoдyль, ts пPoтивl1o]!t сЛучae пpoгрaMп'a рrтсI(уeт ol{a3aтьсЯ непеPе.нoсипroi1lr tlpt'lвяrаIlIi()ii к свoемyкo]vlпI'лятopy, BпPoчeм ' ,rизнcнl]ъпll ц{к.]16o']lЬ.шI'lItсTвa виpусoв oчrнь н€велrlк' сво6oдa мигpaции им rrс тpс6ус,|ся'.гаl( чтollсlloльзoвaнlte асссм6Iсpнlrlх gсTавoIс !t спeцифичньlх лля Лar пloгo кoi1пиЛятo.

Ра paсrпlrPоний вIlo'Цt1с oпpавдatlo, 'Гe:!l 6олеe чтo этo суrцоствeнно сoкращaеTcPок р Ра6оп(rr (тo '{e сaпIoо oтносl'tтсЯ и к а| |'lr{ в]rРyсаrvl ) ' Kстa ГI{ ' y llекoтoPьIxкoмпилятoPoв| в частlloсTll' у Intеl с++, eстЬтaк назьIlaеNIьIl] ]]llстPll(с],l _ вo3-Ito)]{ttoс,Гь IlPямoгo I]Ьlзoвa ssЁ.t(oмalrд. кРасoTAI

Cyпtествуeт lrнo)кесTвo 6cсluraтlrьlх трапслятоpов с aссепi6лсPa' иo pciU]ьl]o |'lo-In]ЛЬrуIо'Гся тoльIro двa l'I3 ]lI]х (рcчЬ' ра3уl{сe'Гсяl Ilлeт. o плaтфоpпre х86' пrьtyмьlrllлеп|lo i,Ic зaтPа].l,lвaс]\1 0()еРy ]lс'ГРаliвaсмЬlх с]тстe]!l' пoс]toльку этo o'IдсЛь']{:rя 6oJlьIuа,l l.cма)| rvoРаЛьllo устapсвшиlt МAs]\4 (Мiсюsolt AssсmЬler), Dхo/rя-]rlиij в сoсTilв сво6oдI lo pасIlpoс'ГРаllяcмoлo DDK' l.l стPe ЙтеЛ ь!Io РaзтJивaIoIциi:l.ся FАsМ (г]аt Assсlnl)lсг)' сoЗдalпrl,liji в PaмкAх l]poск'Га oрсп Sol1гсr (htip,/

flаiаssеmb er' net/) 'I.lo ссгoдl|Я aсс8м6aеPoм мoltоto тoльксl ttсl6шto|]aтЬся (Dис, 2'1),l]Ля 6oJIьrдllп-

сTBa |l3 IIAс осlloвIloii '3l,lк Рa3рa6o].кll _ этo Cи' в <(опсTlfГуциц> l('гoрoгo

Ja/lекЛaрирoвallа tlPи6.]lll'(eIt!loсть I( аlIIlар?t1,уРс (а зuачи,г' !t l]ьlс()Iсaя )ффeк-'Г1'Iв|{oс,|Ь)' (Daктичсскll э1.o rvol.;l.асфм6JIер' прeдoставЛя]oщrlt.i ]I|)ol.Paммtlс.

l у пo r r rv .о . ,в . ,6u lv r r t . ( , | г l )елvлр. ) (Лrн| ' ' U I l . D ' J | | | J : l | ' 'Ц| | , l | | ' l гv 1N|е( -е . д l .

1 !Рo/ ' l l 1ь lм oрIа}!o l ! l1 д i l }кс сс , r r l l l РoгDa l Jм l l сT сoBсeм f l с этo и i l l сЛ в в l l l l у ,

изllaчаЛьпo оpиенT]'lPoвalllllIlii lIir чrIсTo <хaкeрскпr> цcЛи' сr,I зaDосваJl lIРl.|.

зllанI'Iс ru nЛJx{or ioв пРо].рaмI l,lсToв ' lIс пoЛ ьзyIoщl'iх сt'o дJr'l решcl l ll я сnIl ьтх рaз.лич нЬlх заjlач1 кaIс.тo: ] l пlrкоуPо впевоr и в ЬlсoкoуPoвнoвос сисTе}1l toe Ii рoгi)aill "

l,lllPoвa]tllc' встрaliBael1ьIс сllс'гсмьll фrxra}lсoвь]е и пavчпътe РacчетьI' о6щcс

nPи(Jlаlllloe прoгрaмм рованllc и T, д, l'IРll Irсeх пpисуlllиx еNIy нeдoстаrках

(схoДптс нa SU.с.сPP' пor|итaiiTе хaPoна) этo jlyчrnсс сpсдствoд'llя вЬфaжerrпя

пPoгPaмпл1сTсlroi'i NlьIслl'l в наI'I6оJrсс сстсствсннoii Дnя lt €с фoРм""' копсTрутt

ц!tl'l в стиJe х == (f]аg?sin:с0s)(у) irДесь вполпe заI.он]lъI Il яв.nяютсЯ l1oрIюn,

B этоN{ сI{ьIслс С П oчеrrЬ ]lох( Dк пa сIiеI(TрyмoвскI'ri{ Бeйс'lк' nсзjlс' где э1.oтoлъ'

кo возмort{I ] оt /цoпyсl(arо щий !оДсТaнoв кУ вЬIpa]{(епий, oтсyтствпе встPoснlrьrх

сpсl/lсTв дJ.Iя ра6{rтьI с Nlaссutsаl4и вl{Уl1е с дo]lolп pуloпlеii l,e6pe)кнoстью xPo.

екTиpоsaнrrя пPивoдя'Г ]t lпloгoчис.lleпtlЪIм oIIIи6каlI пeреполнения (Ьrrtfетs

ovеrI]ow), a <lrсмoкpaтrтчпость' ра6(rты с укaзатeЛяNlи к yтсчка]l la]!{ят]{, Пи.

сaть ссTевьIe прIrЛo'(eния на Crr кa-rсIoРически ]Ie г]eкo}feпдуется' нo ведЪ

пиl]lуT жeI oTсю]Iа 6epyтся чсPвиl атaки на уjl:Lцеll]lьtе систelfът и прoчIJe кo

1rаPсTва виPтуaЛьfl ol.o мирa.

Page 34: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з6

Pи.' 2,1' VslalАssembу P.o oизуалЬвый ассe!l6лeр лOд W]ndows. кylcЙ мастерOв и yдoбHЬм ре^апоpoм диалoгов (io тAsN1EDoт so|al Desgner всe рaвно крyЧe)

]]Ьlll', (Ti'! г Iv]]I]о0 l l рoгl):tNnlll Роtаl п1e сч|r'Гас-rс' дoстoЯI]Лe\J llс'lоPllи' сjroс r)сno](стllo tс|rl|()вll.rl ()6l'.xTrl(){pllс}lтllрorrаIlIIьlii l]o,'Lход ООЛ с+ ! l;t8jl,'Lс.rIl l]ll]\lll rlрoгpаrI\1Ilс'Гов' oOI) лрoвtlllr.лаrlrrс,кlll сr]l1нсlтвсr1llо вo]]I|())кllЬINl сIx|сo.t )\l ] |]! ) Гl)аI1\1] Цl rаl I I lЯ в0о6lцс' па пPlmер)(t'|l llсir кJассiJчесILого (h (r]o.ГP,r1 l.llкLi] ч!цttlФв lljl]I tlсЛoiпlеk, ]\JяNl(l rl.lсиЛl1с каrroc тo по,1!Ilае1с,l lIil (n\!оj\! дсJ.'r])elIr1}'llrсfl!0 Ooi]псpеr'i процеЛvрltЬIп! lIP01.Pаlj NIrlpовarll lе11 ве( LrIil сll0Pнo' l]oзL)'к{jJ l lltnс lIll t]сгl]) o){ ] ']aLI l]я тal. Ir I le on Рitвдiulltсr' oшl l6oк пе с, il,n ) tlсl lЬшc' сPo

Jl Рlrll)а.Ol.l{l1 ТojlЬtio вoзPосjlrl. \'дачllь]х прlll1сРoв lloвтор]lого }к:llojlьзoвlrнI1яli.:lа чтo г(l lie па6]ll(''{irсlся' а трс6oвaния к ltlt:Ltl]4ЛlкацIIIl Разра6от'пa(Лl в'l'llс-

i1.r всдЬ C+- Jlor]Лrp'JlneеT l|е oдj]\ll а цeлъIt трп пaрадllt.]!]]r] прoгрaмlll]]Лвl.: r ' я i стpу l i т \ ! ) l rос l IPо l l i l i lNЛIPoвaI l I lе в дvхeу '1учшсннoго C! t ' а6с lрaкТ l l lnст]1I lЬI..l;1IlIr]х' позal]]vlс'ГвоIlаllllые у А!il) 11, ]lакorrец' о6ъекT]to.oD]rснтxроваr l Jrъlii яз Ьl к

.1rlrle s]inula, B.]т чтo loвoPllт пo э'l.{)Ily lloвoдy Бьeрп C,.pаусгpyш (рIlс.2,2)'::rозвaннЬ]ii l1.)хrьi\I сTраусor1:

Page 35: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

37

Пpu сoзОанuu npozpсt.lLмъt всеzОа' есmь некoпopoе lсotuцeсmвo вapuаl|mo|\lo в 6aльutuнсmве языкaв вьL6оp сОaтLпза васnpoеnnlqовщuк язьn|а, B с!щ-чaе С + + эmo не mак - въL6op зa вaмu, Tаlсаa zu6кoс'mь ' есmесmвеIl|la' ]rcnе-pсЦolJ\tLJLя пP\ I\nю l цun. l .n l , цmo.uщP, n u"п tuшьadu" nравшloнь,n

сnoсo6 аeiсmвuil oIа 'ltIlэkеm пnкэlxе olnnцzнg|nъ начu1l|1ющlLx noльэоваJnе-rеn u npепооl1.]а1nелей' |laJ!апющ1L\' чmo язъLк Io|Jош' eыu e.o Jrоэmю вьr

aц|lmь эа нeaеL1о ' с+ + ]с mакIlJ'| яЗыI|аtr| ||е omнoсu|nся. o 6b1.I с1Lpoекmupo-вап ]|аr на6ap |t1сm plj'енmoo AляпpaфeссIloн0'1loв,11 эlса']loваЙ|cя 1Iа mo' ч|no

в 1еJn с]uulком tr|lюza вo:it|o'x|нoсmеi' ' з aцum уnoaо6nяmься d1лепа0n!,no]nоpьLй, заая|Lуa a це.r|oаa шк.о6oiщu1{а, вoсюtuцаеm, чmo с|nonькo p|13-

T1ъl :с,j||oлo na1l1сов нul|oм ц 1 |a пo1!аdoaumс я,

1IР,lllЛloсrryтьIlt сlr этo цeльlil Ntиp' БoгaтьIri ассoрTимcIlт язьlкoвых воiJмo)rt.

ll()стeij rпlс нс o6язывaет пМЛ пoJ]ьзoBirться. o6ъeктнЬlй Il()l1хoд6eспoЛeзeIl в BЙ.

г \ '1 ,х | lЛI ' : r I iвс| ' Jх ( l (о lЬ ' io npoг lаммис1Ь l l j , l лD l ] ,a ' ' |и(ь | l : l . , l , l Г Jм сN lу пP ' l r l с .

ясlшe 'тatt ll I]с пoJlyчплосЬ, а вoт llapддигму <y'lуч]Лenllотo с ' (oб1'явлепЛс

пеРемe]lнъtх Ilo МесTу lrспoJlЬзoва'l'Iяi a нe в начi].пe пpoЦ)aммъt ,г' ll.) IiсполЬ-

зyют мfioгltc' ПpаBдal в вrtpу(ах п ЛPail8eplrx (PaBIlo кaк ]i в мollуЛ,lх сотlрФt(c-

llllя сo сpедoii) )кeстI(ая тиllизal1ия пP't lloсllуTоIо сп пopo)кдaеT /txкfili кa0-

Tl]пг (oт aнlЛ. cdsti,g _ явI1oс Лpеo6рaзoвaнис 'гипoтr)' уPollyя исхoдIlЬ]i]i I(oд

и сtтltимitя j!1aссy вPс']\'cri'l' ArrTомir,г'ltleс(oй с6opки Nlyсoрa в с++ liсT1a з1lачl't-t.l

оT y1.оtlок ЛаNl,ггl{ oII ]lо сllасaсl' (/lажe eсЛи l'IсlloЛьзyloтся <ylltlIьlс' уlса3aтoJlиll ||l)oчис изliPацelIи,|). МохаltlIзмы Дrrя Рa6oтЬl сo сTРoкамл пePспlclt]юii дJlп-

ЛьI как 6у](т0 6Ьt lLoяtjиnrlсь| Ilo псPсIloJJIlt]llия 6yфсрoв с 3авl]дпoii pol.уЛяPtюс.

TЬIo всt.l)eilаloтс,l и дo сих пор' тaк чTo с++ _ IIe тlilttilцо'Ilil всегoлIllllЬ рlliJ/lyтa,I

рФ{,'|arйllil' ка i!1пдн!!'I. ,/:IохЛ ЬIй сTPаyс oцelIивал пoтpс6uoсTЬ rr с++ в 5000 прo.

гpai!1мllстот] пo вссNlу |!1l'tРу' Bpя]l J]и oII оIIIи6aлся. Фспоlreпальнaя tкlпуляр'

||oi:,Гъ с++ ]rызвa||а сl(орсе r]ЬlсolФii сeбестoulloс'ГЬю е|! кol!tп!IлятoР{)Il ll вьIтс.

кaющсlli o,rсI()дa PaскруTкоj,i (Ila/lo '(е rсакJгo вo3Rрaпiaть в.'iox(€lшoe)' чсll

тех t l l1чcс l{ l l l \1и / ]oс . гo l l l l сТвa]\ 'п 'tlпсTьlx кorvnrtjlя'Гoрoв языкa Crt Улe/{авнo }rссуществyет' сeiiчaс ollи пocTalrЛ'l.

l()'lся ]]]!'естс с llJ1toса]\{ll' llа однoii Лишъ пЛaтфoрмe x86 ]{х пaсчитЬlвa€,iся 6oлеc

l1ссяTкA' срсДи них cс,гь каlс 6сспJlaTнlIеl тaк и l.oммсрчcс]dIе| пp'тчelt 6сспЛ'lт'

l Iых знаЧtIтельпo 6o j rълrс . По кaчeству кoдoте l lePa l lи r l лидиPуIoт N{ iс ro .

so]iVisualс++ (вxoltящиii в сoстaR хaflявнЬх Plаtlotm SDK и Visrral C Too]kitlпpaвдa, IDЕ ,rапl пeт) ш lпtсl с++ (RеpсIrя поД Wiпdows - yсловHo-6eспла'ГнIU]'a пoД Li ш 6еспЛатпaя для нrкoмп{еРческoгo I1сlIoЛЬ:]otJап'Iя, oднако llиlоo tll]

u l l г / | l | . с | наv | .UмI lи ,1| lpов ,1U ' , 'h ' , ' ( ( \ | | |o ' ' рJаву .иN{ьR | ' vс| .и кoдJ в ' '6ьР| . lPЬП

(DaiiльI пoд Liпuх и ,.il.lliltoватъ их с Windоws при.[oжеllЙяItи)' WATсoМ с++,

кoгДa-тo oпт]lмl,tзllpoвaRпIl{й кpуче всех' iтPeкPaтиJl свoе сyrцeствotsаlllte и'Ге-

]rсPь р,r.rвпваетсЯ в PaNiI(aх прoсктa oреп WATCoМ' коtoрьIii, пo свltдеTeЛь-

сTвам 0чeвидriев. 6oxЬше liЛючIr'г' чeNI pа6оТneт, Boгland с++ тaЮi(е 6есплaтеn,

ollttакo с кaчеством коllогelleрaции y нс1.o кpallтьl' Это хyдлrиil oпTимIrзxрyю.ппrri rroм1l]1ЛяToр из вссх] B мrQe UNIХ 6oЛЬuroй попУляpнoстью пoЛьзye'ГсЯ

GсС. noDт]1Doваrlrь]й в тoм чис.JIе и lla Wiпdowsl oдltакo пo/1 <oкнаNllt' o]l чyBствvет сс6я неyIoTUo Ir oсo6oro резo]laв нем rrет,

Page 36: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Pи..2.2' БЬeрн стpаyсгpул _ сOздатель Яtька с++

l I a с t t аЛ| , ' I l o . l п . I I J I rшu i i I l т ( ) l х l ] Po ' {Лc J i l 1 с l l ( рeдс l ) c l рh ] ' l l i l I l i r ча . ' J ь l J ( ) з i lД IN lыRaЛ-i l , l к i l к < ] с l . v ' 1 c J l ' | ( l с l . j l | | ' Я i I l l | ] i l , r l с \ ' ( ) ] | ( 1P ] IP \ l J ( ) l l | | i i о ( Iю ] | l l , | с lФ l J l L с | l ц l l l r ФPук .TyрJ J { )П) l l рo грaNN l l p0 l ] а | | я ' oОЛ П l r с l , о ПT i I l I L l i , r l ] l v ' { с | | ( ' | o } l j Л l l l I Tо ] (Р | l l n ) 'I lo ' t tу . rл ' r r r lсь vтo-то rr1 l r lд( ^1()]х,]() i i с i r ||||к|| . l . I r l ( ' сr] l l I I| l | | ' l r r rс l rорскr l i i ' зrur l отoд1jOгo l Ia ] l ] i l I l l l , l сдох] l lТ l , rи l )){||() , ] l ( ]дх()Л' ||с l ]o|]( ' lуoNl l ' i i ] l ; l ( )( lnсN|, || i lхоn1гГслr ] ( )кn! ] jC i i сL !юrI I l С l1 ' l | ( ) ) |o\ lу I l | | ( )П lс r ! | |ГРY| l l c r | l | l l | i !1} ' зЬI |ФмII l )oГр:1^lм l . | |х)в i l l l l l , l , I ]o l |мс l | | | ( ) l i r l (о i i , l i !Ь l ] ( l l l I у ' {с lL p t l lр i l60Tч] ! ] ( i l r l l I l rПЧn l )с i i .с ( )B! t l0 ] l1 ] ' i i ]o| ]aп( l l ) ( ' l . a I ]оRIu l l l l l l I l сN ( ]Пo i i 8 r , r6oр Dс lр l l ] r ra l r r Iогo i ,до6нсc по.я| ]цв l IR l гo( j ' l L l с J ' I c / (за t l l l I | с r Е BL]] ldcГ( IoT, l1у| r l ( ' | i l IOI l l r ( )с l loРI r гЬ)) l l о l к i l к бЬ lT . l l t I I l l 6Ьr , r l ( ] l . r то l ( ) I t I toP ' l сс ] ( l1 i i l J ln )nrШ' l1 o] l х l )Чс l . l to l l с ' { l {у , ] lPлnохс l l l lЯ , pа i}ра6oт i l l l I l ь Ic н l ) с ' Jph i ' с пскr l . г r lpь l l r r ! ( ) r . l ) i l l l I l l | с l r l l , I r1 l I м() ,к l l0 оTюi\ i I I lU l lро l l i lTЬ6сспЛn]'l|ыi' трal(..1l'торor1 l.rcl. Pаsсtl], ()дltакоjl.'rl рaзpа6rгr'rtlI с rrу.llI 1.гсс РаsсаlI l спр| lГoдoI l j по( r tO 'цЬку y I l с l ,o I rст ( r l ' Г1rстсT|]у lо lц0 j i ] ] ) l ] , Tо eс |Ь l lР l l го]1с| | , r rоI|счIll)' lю ]'o.nьl(() xc lJPIl l1J1ir\'аЛЬl оNl llo;'(хо/l(..

мнEниE чЕлoвЕк]ц с ФoPyмA,'пoHятнoе дeлo, Чтo в коHe ике ИЛи нЕт или и-нЕт свеси,nаpoдl а вь| в кyрсеi чтo yжe дaвно emЬ oбъесвьLй ассeм6лeр? Аси _ этo сoвсем !eмакроaссeм6леp' далeкoвато сишвoMy ехe дo ассемблерноrо и nо oбъeму, и io скopос.ти, вoт паскaлЬ. этO да' Это _ кр}тo, это _ oфигeтЬ, си хоDoш тeм, Чтo имеет 7 8o]еOd оooв дeсqlо orеOа.rи;_ JвсF, l 'оv|/|o .гreвOе Дело oдrd(o o" -eдлqтpyсoв, си.это свoбoдa плюс oтветGвевнoсгь' пoчcмV мнoгиe так и o-аrотсЯ |lа всюхизнЬ на гlaск.ле? Лотомy что гoтOвЬ пoxеpтвоватЬ свoбoдой, лиurЬ бы отвeтстsевнос.тИ.o!eнЬшe'AyпаскaлянaФoящийтoтaлитaризмlrrrагвстoрoHу рассrDeЛ.сИ_этordФoсt.ёЯ дёvo\oа./q, .v" .р -рo(оДq,, oднэ,о длч лФдeи, скaхем так, с совесЬ|о - пoлнaЯ свобoда, с++ етЬ вЬсшaя фopмa демокpатии(лфа Чтo)' Асфмблep этo коммyнИзМ' туда дoрога eщe яевьureму колиЧeсгвy наpoда/чеM в си' Vв гниjoй капитализм. вoт поЧему; мeнЬше иoхить oмьшe зарао<Jтать,пару тЬ]кoв мь|шоЙ. а у вaс офигенное rrрилоxениe/ медqенное - значит/ сoлиднoe;иeще для eгo пpилoжений надo Ймeть кp}тy!э тачкy, а крtтая тачка этo прeФИхно,

Page 37: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

язatr/ пOо-odYуиDовёr/a в(qдd были roвoДoY шя войts i pаJдoров

эвoлюция пPoгPAмl'!истAпрoграммиc дoЛ)(ен 06ладать сrroсo6нoсrЬю пеpвOMассного мат€матика ка6сгракциив сочетании сэдисoновским талантоM сooрyхать все чтo угоA|ro иэ яyля и еAиниць|, Uн

дoлxet сoчeтaтЬ аккурaтнoс|Ь бyхгалтeра с прOвицатeльнOс|Ьlo р0звeдчика/ фаiтaзиюавторa детeгrивнь|х рoмaнов стpввoй праl.|иЧнoсlЬю экoномисга,., в отlroшelии к Ma-

Ll]ине У дoбрoсoвесrнorо пpoгpаtlмиба есrь oдна oсoбенностЬ: oн oтносится к нeйl кa(lopo I J / (o !eй к .вое i ло! |oси чаLиrb , о r -и lо ,даРе

пo]вoги сe6е (очrеч.Jpoва-ь лF-o. ь yма oезJа6o|tsoй трa-oй pР..oсов эвv,

А ' п ' EDшов

гибeлЬ Doссийскoй кoмпЬ|oтерtroй лpомЬ|ц]лeннooи и Nашествиe IвNl Pс (смьлоD цenoепoкол€вие таЛаHтЛивьх разработЧикoв l]poграммloгo обeспечения, юдевавших' отe.

Чeс|веннЬ e PDP.сoвмeсгиl{Ьe машины. БoлЬшинство из них так и !e сMoглo саMopeaли.зoваться в (|]oвой хизни>. этo 6ыло рхе втоpoе (пoтep

прогpaммисrскoм сooбщесгве _ пepвоeoбразoвал0сЬ нескоЛькими годaми ранЬшe в связис у.reрей агryальнoсти (6oлЬших машин'' Bмeсrе сэтимсrеieiи yшла и ryльryра пpогpаl4миpoванияl миrPиpoвав вмaрги!альнЬLй миP lNIХ си.сreм.3асильe tвN] Pс' комnЬютерoв спpeдeлЬнoYпpоцeннoЙ арxитекrypoЙ и <атoЧе!.

oвaтeля> иiтерфeЙсoм пpилeвия pазPa6отЧиков _ MаЛoгрaиотньх иам6ициoзнь|х' Мo.,*ет 6ьLтЬ.-Aвтоp здeсЬnDoявляет сно6изм, !o, пo eго мнe|rию, челoвeкl с детсгва изbаЛоваHвь|и и,'rтepaсивньм oтладчиком, нe всoсгоянии taYчиться как слeдyет прoгрaммирoвать,

AFопqнцAiдрей хoрe|roвич

кAк писAтЬB llPаRильнo сxIP()eктllpовalllr{)ii aнтивиPyсlloй пPoгpaIlIIl] \]oжнo вьIдejiltть 1]nl

нrзависимьIх yрogllя] d,toi alnряllсеlLttя сo tpеОo, (o6oPyдoвalп ell/оxерaцr]oнной

с||с ' г ' l " i ' l ' a , -ц l , ' , ,u ] r ' 1 I r ' ,o \ J m ' | - xкх| | сJ ' |в i tР . | ) n qopot , ) | | ,o

u1ntpфеiiс,B BL|Pусa\Г|oJlЪзоваТсxьскотo интерq)ейсa обьIчIrо l lеT' a ypoвс]]Ь сoпРя

)кe]iпя.lo срeдoil' пак lrpaвlJло, псРсIleшaп с ядРo}ll что яв.rrястс'l деrl)ек'гoll I lРoeк

Tиро ваriия, При пeо6xoдиIloсTli ]lеPс]]сс Ltl такоl]l вI'Pус на дPyryю oсь i1ьI поиNIссi\l

6o,rьпrую го:roвl rуro 6oлъ, кoToРоli l1oгnи 6ьI из6е атЬ' 6],цЬ nтп yPовlt]l РшДeлcньl,

Page 38: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

It:DliJt'll.i xз }роЕнеil lтpс]дЪяв,.lяeT свoЛ 'Грe6oваrlия как ri язЬlкаll пр{)Ipalfllrц)!ьвaJ]lljl. ГаiL ll l|с]loсpeДсTвсllljо к саItи]\f прorpаi\{lfriсTaм' 3аЧастyю ollи pсa,'rи3!.loтся рilз.!IlrliIьtix] '1ю]1ьм]l, o6paзующиl!1и лPoгРа}'IIIIIстск!ю пoi}Ii]llдv, I(oпeч-но. пlr]16,lyдv ]lз I{ссlФ']Ькnx тЬк],lч стpol{ 1rсхoдllоro ftода !1onrпо сваPraпл't}ll сa\x](тoя'Гo"цЬ]]оl ]lo ]\{ь1всль Лс с16 этoN1ссilllас гoвoPиl'l, Pассr'оTPl.lII впyTpсн'Iril)ro сTруктуру т пIlчнoгo пРoгpаrv!i\J,iotо 11Poеl(Tа (дeсяlки r' со1'lrlI тьlсяч (TpoкilсIoдн()г() l{oдa) llо в(сх пoДР06]loс'ГЯх.

сЛoй сoпPяжЕния сo сPEдoйс.'ioii сo tРяnrе|||lя сo сlrеl(()ii а6стpагtlPуeт пРol.рallп'у oт oсo6cllностеii коr1]rр.тIl' )Гt) o|iI)\')лсIIIiя' с(ЛtPаrп:lя ТPудоeмкoс.гь rrерснoсa rlaдpуfl|с о]lсpaцli(nlrrь]с сilс |сrIIl' r' яrti]кlI пpol PaNпl l |рoванrJя' Есlrr жc заPанeе l|звсстllol ч l.o этoго 3авoдоr l ( ) l l с тP € бусrся ' ( .no i i с0] lP , ) r € l Iп ' со сРeДo l i часT l lч l lo I l ' l l и t lо ' l | | | ( )с lЬ l l . )<П7к l lв j lяс1 .с ' ] ' B I ]ь lЧ| l с Jx l l . слЬ l ]ую чaсIЬ ' qтo у l lрoщаeт еo лPoск l l l po l ]а| I l ( ] l l I IPoгpr l | \ l lЦn)н i l l Jпе '

i i l . rя l l бсLрat l rр r l r l а l r l l л оT o l l сP i lп ] l ( ) I l l l t l l i с с1 .смьI l l 1 l нц] AРJ . (hу1Iкц| l ] | l l i l дсПrrlt),Г.' (()6!|] |кll"' хi]]хnпl|n llP!l}'ePоrvl ToN{YсЛу)l{]IT стаllдаPTlllu 6u6']lп),'сl(a с||foреr rr Inаl loс Pl l6oтаl( ' l . l l ' l Wiпdorvs 3.х/9х,4'J l . , п в LINIХ п Д.u{с Л N|s-D()s 'l] , l() l l ])( ' i l ' к; lк сгeаteЕj le u нeapA]]oс _ 1,o.] lЬко в Windows gх/Nт, '|ъN1 (r lN|ьi\ l( ] l l . I l L с l r l . l l l o : r 6 с , r p a г l ' r р v с , r . t l а с ( ) l ' o l l € Р а l l l ' o l t l I o i i с l I r : l c м r ; ' l I ) ] j l - t ) I i I /с+,] I ] t I i | ( l с | | l ' l r l с l i ( , , LaIЬ l | |с . сл i l г ' t IO l ] l l . | с ] |х 6п6лпотоrоr о6p l rзую' r . . r т r гт r l l l 1 ; r ij L0( ) l l . | ) i l l ( l | ( ) I l l ( ) j ] . i (1 f \ l I l l l i \ J ] I I I r lа1r ( ) l ) с l r '3учa1.ЬWinЗ2f l . r l IoЛ]|ГсЯ l l c ( )6 '3 l l тc ' ' IЬ .

l Io ( ' to r l r ' rL l ) l t lYр] ! п l l ь l ; t t t t го l l с г r lпоpи. r r l ) . I [дхr .o i lп11скor r r l r rляr l | |и i loсT i | |о ' l ,l l ( ) ' . r1(n i l ' l ] | ( l ]n ! ]cс ' | | l l JP( ' . | ) r ] \ !м\ , l ln l - i l rnх 'a ( ) l to| toтоPь l ] \ l I loгр i l I l l |чс| l l l , lNI l | ] l I ln' L | )у l . l l с ( ) l l . l ) i l I01() r l l rЬ1( ( l l l ( : | . с I l l ] l ,

l J0 l ! ) l l я | ] l ь r \ l l l P | |ч l I l l i !N ' l l lT l l1 r1ьre 6 l |6ЛПo,|e l r l l оРr tе l f гПpo l r i l I r I i l l а ср i ] J l ] | l f г . J | l | .Jrl' Il.6о,1'lloii l(])\'l сl.i]]l/'ta])I]ЬIх з'lдач] a 8се' ч].o IlaходlI,t'ся lll сГo IЦ)сдс,!ll\]]lj|рo6vс[ T0с l |оГо l ] з l l J I lю/rc i ] f l r r I I ' l с ( ) ] |оР . t l l l к ) I l I ro i i с r rс r . смo i ' i . 1 |рr l . t rп i l ь соr r ' r r1 l( . д f l ск , l ! l l l i \ lЬ lц| lTь ЛPIIя|enIo ц]ek) l вь lдcр l Iу1r , Лo ' гoк сD Ro lv1 l l T . д , 1Цю6,r . "t l l l л l ' ( ) l l , . lTо п кa ,к , r . ] i - I I l cPс l I r I Wi l )dows ( l Ie гово l lя у}{0 п]ю L jn ixе | l I l ( ) .1v( ) i ]ь ) ': )Гn ]а , r i lЧ l l реr I l ] l l ( r l . ся Л() -Pr l зЛorvv l l асTо - с t rpпмor j . r r I reм aссс l r6 l l cр l r r r пpо-'L I l \ \ j l Ip I , Iх I :Lк( 'в , 14х t la tp а6отка , грс6yет хoрOЛlего 3нa l l r tя OJJ l lPaц l l0 l l ] lo i i с l t '.T.\]l)l ]lоr!пo,tiсJtrloгo l1i| вЬlсOкуI() lLлa.nифul{аrLrno' llо 3ilIlUrllLлЬr,] разр:16оT-

llс oбязilтcjll,rio' суlцoствyеT Nltlссa lоTовьrх 6rr6,лпoтсrr (в тоlr] ] j | Jе l l 6ссn 'naT l l l ' х ) ' оЛ l t i rко кaчссT l lo pеаЛl ]зац l l ' t 6oJь l l t l rнсTЛ1 l l r r l l ' х . ]стаts -],l.l ;{{сln.Гь ll'\чrllсгоj к:гl]IN ]кс ollll т}i]lyTзa сo6oii зaраllсe пeиl]всс.ГIi.rе коjllt:l ( 1.вo lloll(]зPlJтe"!ьnых дpriitscPou ll вспol'oIаTс-1ьпых 6rt.)J!]toTcJi' o,1iссTочеп..l r()lJ(ll.'tx]Lтуl()щl1х l{Oкдv сo6oii, но Jтo уже ltздсpлrтоr циnп-,rttlацIпl, 'Ци6о1]lт.сЬ соз]l:lвll'1.ь своii сo6ствсяяьIlil код] ли60 ]'loпоЛьзvйтe тol чт0 уl l'.loсь. ' i l l I ] r сe l . l l ,

.,.l1'll('liIl() счIIтаT]' за](o]rчеllнori' itoЦа в в]'ltll.lслr]тeЛЬнoii чaсTt1Ire o(:rанст.Lo l l toгo l lpЯI lо l .овьrзоr rаAPIфу l Iкции.o6сPткr Iвоснof i rю l IпиI l ]у ' сяr rа

: ..i]l]Jlirl\jLl g]lPaпrlеr]rтяшt rссоrт6лepа и о(хlрп,IляIо1с,1 кaк I)LL плll сTатIr:::]] ]tr)i1]ii'lvе\1Ь1ii Ilo,Lу'rь, oпьrтньre прoгpаlrrrllстьr ]iсtlojlьзyIо1 oднт Ir тy '{0

40

Page 39: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

6и6лиoтеsкулля всех свoих прoeкToB, пoэToпly DI"I- B 6oЛь'],пlстве сщ"raев всеЯ.е пPедпoчтIrтeльнee (нo не за6ьrвайтс' чтo 6o.]ltшoе кoличeсTвo явпo пpliлJiпкoBalrttыx DLL oщyтимo замeдлЯст 3aгPyзl{у ltpило]rreния). исгtoЛьзoвaть сис IIлIoсами зIIeсь s o6щeм'тo нeжелaтaтьнo. Bo{lсPвьIхl исхoдньrii 1.ексT пoJIу.чается 6оЛee и3бытoчtlьIм' а вo'втopъГt' <(мaнrле]ir' пPиaJIюсrryтI'хиМсн flе сl.atl'даPTи3ир0вaп.,Ципамическую 6и6лпoтекy ' скoпt1Poваннyю Bor laпd с++'к Vjsual с++.пPoeIсIампoдi{Лючить сoвсrм нrltpoстo (вIlPoчсм' как tl нао6opoт)'Ilaскальздесь катеIopически непpиroдe}1_ oтсyтс,1rиe нoPмii",1ьнolo utlT€рфеiiсa0 oпeрациоIIпoй системoй вьlнyя(дaoт ходить кpу)flньIм пyтсi1,

сисгемщик дoЛжeн oчeнЬ мнoгo читатЬ (и всr _ нa aнглиЙскoм язЬ кe), спeциалис|Ьl_этo люди, nоxopoнившиe сe6я захивo в oдинoчeсгвe чeтыpeх сreн

Иногдa вoзrrикаст нсo6х0/{им0с1ъ o6PaтиTься lс зaцищснньIм PcсypсаNt, lLoстyll.ньll{ тoлЬI(o из pежимa ядрa (наnримсp' ыnзвать пpивилегиPoваннYю кoi]анllупpoцессoPa)' ПpoгpамltистьI стaРIIIeгo пoкoления в этoм сл}чаe пиtn)т llсевдo.дPайB"P, С тoчки JpPI,yя oпcpацyоннoй сис1см\| п.PвдoдPаi iв .P в ,|г .|яJ||1 к, !кoбыкнoврчньtйдpайвcР у ' lpавляe- ика (yv||y ' mol ' . гва.NII,I' а пPостo выпoлIrяеТ пPивtrпспrPoванный ttoд' o6щаясъ с пpикладньшr пPплo'жениeм черeз интеРфeйс IOсTL' Псевдoдpайвеpы пиIIIуTся на СЛ с нe6oльпIoйпршreсью aссшr6лера, ЧистъIй асссм6лсp 6oлcс элвьIгoдеIr. ПрипЛюсн}.тьIй Cи сoдepжlrт пoдвoд]rьlе ltа,l{ни. нe испoльзyй'Гe еro, еслIr1ючIIo llе yвеpeпьI' ltтo имetlнo въ] дeлaeтe. lцля o6леIчeIIия р;LзpабoтIси дpaйвeрoвфлpNfa NuМega BьIпустила пaкeт D{iveг studio. хoтя }{llolиe oт пeгo .}eЗ умa, 06.

4l

Page 40: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Iцее в IечатjIсн1rе о.ГP'tцатLrlьнoe' Л]л lшe кylIите < неr.1оIivпlснт1lро8аrll |ь1с Еoзlojri]]oстII wjn(]оlvs 2000} Cвеflа шраii6сpа' (<Пиlсp'. 2002)

'гшl вj,I IlаIiдете гоr'.l

вЬlЙ скеlсT пссвдoдpaiiвсpа] I{oтoРыii reгкo aдаптIrpoва,ГI под св(]1l пyж/1r'rl нс отi]'ilеl{iтlсЬ нa l]з]лlеI п Lc lloс]тoPонlrrпi д!Iсци] lJlJri, нnчlЛ1аю1llllе :}lогv,г 11(nojl ьзoRа.ГьIоТоnьle бlr6Jrloтеlolj лaюцrlс с пplrкnaдIlol.o llroвJlя дo(тvп I{ Ilор,Га]\! ]l rlрoчппfсrlстеlIl lЪJп коi\l]loнeнтaп' (1|сх( ).1llЬ]ii теIiс.Г onl l0ii ТаIiol:i 6116.llиотск!I прIr8еЛeJ 1 в ilo-ей кliIiГе (.l.схнr]ка зalJl lJ1.ш "цазсрIrЬrx лl|(:кog oт Iоппl).,lJаt]xЯ') Естe(1.}rснно, тaкоii пoЛхоx нс6сз0пасе]J II с()всс]\1 нc э.!era]|Lсll'

вoз| | | |к l r i ]1 .дI l j IемNa:л i l6o xьIхТсть I lа , . i DI )K (тьIсЯчII стpaI r I ]ц . l l всe r lа i J l х ) |Ра] !1 .l xстс]{o l l i \ |e ' i l у I l iрoдr tor l o l l , lФr I l l . ' 1x i , t с rL r i i i ) . " ' l 16oпoPvЧI lTьэ . ] 'Pа6o lус с

тсм]lоNv llPoгpаl'Ilпстv' PalJуi\tсс].ся, fle 6€сunilтrlo. llо саI(х: l oЯтсJ ЬЛ ое lt:lyчс.Iп{е P.жl]ilа ядPа o6oiiilc,Г('l сlЦс дoPoЛrc. Этa нс тa o6L;rrсть' ltсlтоl)уi() Ilo,l{uoI l (х : Ixчь за i Iеся l l I l " l l л два . B лPoгPа l | r \ IиPo!ан]I l r Л l ) r i i всpoв сс 'ГЬ \ l r |о 'ксст] ro l l eoчсв]Jд l l ьJх 'Г ( ) i l к0(тс . l l l ' З r rес ,ГJ lЬ|х то"цьI tо f l l )о( ) yN lс I l l l с сoвп|c i I lа1 , I ,в собе прr l ск , r .лpoвапr rс 6aз Даr r r l ь Iх с Р l t lЦ lа6отr{o i i I J l I з | (ovpoв l l свЬ lх кo\ , l ]oI l сп .'] (-)B iLаPовaIlo J]с кirжДопly, сoсPедoточьтссь Ila .lсr\tlo одJк)Il.

.lъNl, чTо У Jraс |l1Е

: tу . lастсa луut t tе всого ' 13 rЦr( r I l i I l J lo i l l с j |yЧас вЬ l l ] ] |v( ' тy| ( ) | loTP l l ] l I ] ! в | ! ' ] \ I ' l ' I lo l к J .

"ц\ lЧ l Iв | | ' ' де| loГ ' l l l ] у / l l oвo .пьстI l | ]я '

вь|ЧислитЕльнAя чAстЬl ] ь l . | | |с ,x IгГ0r lЬ l l a , ' ]ас1r ' ( J{PoNIo < ' lлPr ' | | i r : rЬrв l l IN| i t r l т rюкс | | i ' l | ] ] l ) ] lюr l ' ) . ( cpдlк , ' l |x ) [ ) ( )Г( ) I l l ) ] ' ' | |о) (C l l l |Я , ОСIrовr |о j i кх] | )сд() |1I Iс l l l I I l c | | | | ( ) ] l , l ( с . l , ,1 t ,ь l l l l | с j | ( l I I l | ' | ' - ' э1 .о l l с ' |o , l | l , ] (о N l r , |см i ] ' l l I I l сск| |o 1) l l (ч . lЬJ ' l Io | | r l l о6r , l 06ра601]( . l, ' l x l l l I l ' I х l roo6r l l с . B ' r l r : r . r to r : r . r r ' r l ь rчr rслt r l . с J | ] ' l I t |Я чnст l ,

.1 i 'Ц) | | . l l 1 'Р r I l с4х)Рr ' l l ру i ]1

4Лl f !р l , | ' с . l l 11аст o ' l к | ] . v6 l l l ) i r сT з l l I lo . I | |сЛ l lЬ l с с l . | )oк l l , о6P l l6 lTЬ l I l t l сT I lа .ц( ) ) r{с| I l l , lс rIP.l iiГ( ) B l| '|, /,t.r1ап lс пссго l l в lu r tок r1 l I l l | с , rс ' r l l i l I IPI Iп .nюс| l ] I l t )N ] ! J I i l к r la r : l . l 1ч0сInJ l l с | l ] ) ( ' )ксl]i 4)(DЦ)lUIo. паск:lJl(, tl дl]угlrх экзoтrtче(|кllх,rзьrках' l3 'r6oр orrрслс"пяL'r tllr;lrгr

l , | I ' , | | n | | l | , ' , | | | l \ l | | | n , ' l | , i ' x \ | | | . | ' , , l l ' , i l ' o | о(|дрvГoll, ^ язЬl|i - ]Tо l|с 1.o,IlьILо ко]!1пjljlЯТOlr' rIo сn{c rl сl1) оI.Pу,iLlIll. - сpc:lар i lрa6oтrс l ' oтлa l . l r rк , l ! ] l l xDII t iаторъ l l ( ) ' l а ,6 l l6J l Ioтск l ' l . с l l сТс\1ы o6 l l rp ! ,кс l I l I r t\ r rчскI l l l I l яT] t ] l ' Г .1 ,м l I ( ] г l ! состarJnR.n l lла loТс]ЯIIaV inr iL l s1nd ioTo ' tЬ l ( ( )nз .за l ]c| - ) г - | l r | ' | | l , n | ' г | l , \ ' | | ' , , i r , ' , , l l r r ' ' ' r r r r rIl\tеll (])уllIrlxi]' vдo6пьlе r!{ас'Гсра, С нeпpijПL,lчкIl всс этo 3дорr)!o заIrодrl I Il вl)з0уrl(дnсT, но сJtор.] эii4lЦn1}l xончастся, ]r'Iас'IсPll тi:сllo зtlвЯзlltI ьI нa Nf!.С,l] NlгСI1сlIo.rlЬзvст IlесTаltдаpТнЬIс расnпЦе1llrr r]l вообп1е гоltopя' tlепeрсшoсtllr. N'Iотr.rlo. ILонсчпоj лl]саТЬ ll 6сз lfастеl)ots, нo что Toгда (](Tастся оT IDЕ? ^ теliс'Говьr]i

рena](тор Iloх]ro наii,ГIi r' поr{PIЧс, CIтсте]!lL'l ]rOнTPоJя п визYа.n]]затоl)Ьl дан11ьIriIla\(]i(,l.гс'] в гJr\6оIФ зачaТoчноIl сoсTо'l]r]]]l, Осr]овllьlIl 'nеI{:Lpств()rl стarloвптсЯ()I.1адчnкl rIз-п(':( rroТoPoгo не пьr-lезасlxь нoчalп|] llo с orIпJ6]iirllll с]Ilнхpoпir3а.1rlI1lloтoкoв oII rсс pавнo не спраllriясTся. B ltllpе UNiх' Iлe в о(1toвноlt IIспо-'rЬ.

']\t.|ся <тя'(е"!:UJ' IllloгoзадaчriосTn. JIих пPo.).nell lIPОстo Irе ]]o:Jx]lкаl]тj дir п a(!(.ОPт]пIсIlт l'lIстl)уilсl1та']ть}iьlx срe,цсT! таlf побoIirче' !стЪ lJ]]ejJuс' чтo деIrIеп.leз!I рoгpaN'rпrPonа,ГЬ вl,lчПсJlиTе".тЪriy]{) частЬ Iia L1nLrх'е lI зaтеlr пePс]rопIпUлripo-

Page 41: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

43

ваTь пoд винды, чelll п,]сать на Vis1lal с++. ТPyднoс.l.и Pаirpa6oтrrи с .lllrхвoй кoll

I1енсиРуIoтся леIкoст'1o отладки, ПравДa, Для этoгo слсдyс.t. проllикнyтьс'l ]!leo.

t r l o , и r й с I J в ' а M o U " , I 1 1 ' R | | , 1 Ь я o I o " U , | , l x Л , | и l i r в \ | и p . , О j | ( l c с e \ | н ' п o r l ^ I j .

TuгЬo DeЬuggeт rr нашюгo 6oлeе пPодвltI lУт' .Iем solt.Iсс (aРaB,'{а' сoвсP]]rе lroнeпDиroДeп /.lля взлolrаl uo ]]зJlolt этo]1еJlo /{pyгoе),

Pис. 2.з. FAR _ самoе nDавиЛЬнoе IDE сточки зрrния сис|eмщикаи прoдвин!тоГo прикладника

ПpФцe Чeiv oпyскaтъ Jlаlll,l IIa кЛaвy' llyчитсЛЬll0 сoo6РaхaЯ' что 6ьl ,гaкoгo

ссiiчaс ]Iaппсaть, o6язaTсЛьпо o6lUаPЬTc всe уIoЛки сeт,Illа прсДмeT llaхo){де'

ния y)кe гoтoвolo кoдa. ЛроrрaммиPoваниc вoзIlIlI(лo llе ссгoдня ]tе !чeрa.

Bсe' чтo только 6ьпtсl lro)(пo нaпIIса'1.ьl у'(e lIапlIсанoI Допyс1'им' вnru потрс6{].

вaлaсь свoя BсDсия к.J/.]eка G,729 Дlя сoз.Ilaнrrя мrrнгА.l.с иЛи opганIlзации

TeЛeкoнфcpсrrцил, П1IсaTь всс с ltуЛя? МьI чтo, Рoхнулt1сЬ?| oтIrPьIвaсм гугЛь'

вьlяснЯсм' чтo стaндаpтизaциe]l дaнного nPо'].oкoЛa за]lиl{arтся l(oilllIте'Г

lп|emаtiоnal Тсlссoпlllr un iсation Uпion, прeЛстaвленньпli сайTorv WWW.itu.int, 1де

(прaвда' нс 6ссll,1aтr]o) Ifo)r(нo зaкa3aTь пe тoлЪкo опuсанrlе сaмoгo aлIoPитмa

с ж a | и я Г а l , ь i ] и q , н о l ' | | с х o Д | j ь l e I c ] , . | ь | к o ! . к " в . , t , o м м e н r l P r ' я ч r r , 3 r t r я к o н

lсpeпlo' чтo имснt1o мьI ,.llцeм, фaйJrш Лeгко Дo6ывaть в oсЛе _ lс'тиен'гe фari.лоо6пrсннoй сeти eDonkсy, кoтopыN{ l'o)кirlr Разяrи.t.Ься lIa WWW.elvlU Ie' rU, пpaв'

дa, rrх там 600 мeтpoв с 1.atом| IIo oсел x{ивo][loс TеDпeливoe' lr tte ]акиe

o6ъeп'ьI пePeTаскивful кa]. вapllант l{o)кнo скaч aтъ 6и6лиотеку Iпtеl 1PP, в сo

Page 42: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

стаn коТOPori вxо]1ит нссIroJЬкo всрс1rr1 кодеliа, oптIrlll1зllРова]lпь]х r]oД N{\iХr l ssЕ, I]o x lп 'о э,I(Л.o в проце(|сс поIrскоP 06]]aрyлiивастся,]o6Pl jx i дcсяT()r{<стуЛеllчссI{!lх> Реn"!11заЦиIi llпоJlrrс пPlleN1-llеilоro кaчсства' ]]о{:'|II]lloстЬ I,I}хоДпьlх Тсl{стoЕ 6oJrьши]rстDa UNIх.пPlI"!о}iснПi; пpс!рaцает пpOIPa]I\пllnj'ва]ille llз TвоРчeскox зariaчll в азаPтIlЬl]i tloxск l.оT()вьIх liусl()tt liодаj l('t.opьlс'поРoю o6нaPvжl1ваются в са]\tьIх lJеоtкj1даняInх i\lсс|aх, I{()rlсчнo' пl)Л )loll всrrx i l сyщсствуе l . P l Iск I In l )ваTься нa чЬЮ-тo oпп l6кY (п T lцаTcnь о . lа r l t i r сNJPoванliyrо зa('llад]ty B тoll Ч]lсrre)' lio,,. xсliyпJеllr1с вссr,la lк)бСлnrаeт с!)6.!lзн,PnЗР:160TчrI I rдвижюв.хopoпI l J i i а j I гoPI rт]vисrxoтчас , |nдажсr1: l ' Гс ] \ l i l 1 r l г ,3 l J :L .нис aс.c]\l6.!сРa ]l vс'].I)oiiства oперацllorr1lоii (:llстсмьr lJpl lllс] стll]leTс' j I]o в о6ЦсrI то l|(. ()6язате'liьllo' зато сuоii Ilсrloсре/lс'Г|(,uuЬ]ii яlr]'lfi lIPoгРаllil|ц]oв.lнlUlPазpа6oT\1lк доЛ}ксп 3iil'l.l, оT ]l дoL Il(||Jo.llьJ]'я |{1' rl pсдо(l'авJt'сlл'е ri\l l]озrlоn|I loсТII I lа l Io r | ] l у lо I{aтvI l ]ку (рис ,2 з ) '

пoлЬзoBAтЕлЬскиЙ интЕPФEйс1loЛi,зоRll'Гс,IrЬс:ltr.'i] I]l|т €Р{Iхriiс. . JTo,lllllro ll о,(,ккil IЦl()гl)ll^1IlЬJ) зnI|:l.Ту|.r oтliil^Iл ioI r I l I t 6onсс l Io .поB] i l iы o6n lсгo пPс ' ]с l l l i Ра3р l l6o1)nI l lРос l i Га (а r |скО Г(Цrь l t . i JP l ]. l l o ' i с | | | | , l l l l i l l i P l | ] \ |q] .yх J l l l ск" ! l l , l l ' l l з 0д l J ( )Г( ) L l l |ГсPфсj i с r i l сосT( ' rГ , 1 l l i , l ! | l с . l | |гс 'Ць l |0Гo> l ( , tn 'Га] \ | (Л|01 lЬ 1 l с}1 l J ( )Г(D ' ] ,1 l IтоP(х] i1( ' r |с 0б , r3а lсJ lЬ| | i ] ,1 l ) ' l | ) ( | l | б| ) rГ l )Гр l ! ( ] ) J jЧ( . ( l | (L1I I , комаI|д l rа , r ( ' l ' РоJ( l l l | | ( ) l I r cJ jЬ l lЬ i i i l ) ! ' ( I I I J J ' l l ) l l 1 ! .T , rvкr | | | l Jo сс i iдСr l l ' ' oд| i l l J{o (4) ( ]P i l l l х | | l ) | I i l l с l l с l l | | ' o r . l ) ] l l l I l ч . | | i l YJ r{ l l | ' l крvг( ) ] \1 ( r ] r | | \ ]o ,{ | l ( ) ]L r , ( ,.кn] lп , . ' кЛv6oII ) NJa ' гoPьrх | |рo(] )ск lю l I r J ( ) | l , J l l Lu( )Рv l i ] ! tь l I . l l t |бc l )с l \ l ' i l l 1 l j l i i 'т l l I l t l N|а( ] ( ) | ] l ) | i i P , l I I lo I{ 6cr l l l кo l tо l ( l IФ(L t ! lЬ| Io ( I l l IГ o l l l l ' ( | I i ) i ) |1 l l ' pс , ! l l Г l r ( ) i l l ro ( , гL , l )

'JTv ||lI'Гc.I|JlсlftиlllЬ'ю IrclJPlf|,lзitTеnЬ|lYIo' lIo 'гlr\Jn()('Ilкvl() рa6o,|v Jlсn(x!!)6plliг

| | ( l с r |сс l .0 l l (Dyч l l , гь <|| l l .Л lсрa\] , ' _ l l l l ч | ] I la lo l Iu l i l l l l P ( )Грt l \ t i \ l l l ( ]1 . l lN ( j l | | з l l i i | |oPск) i i) i IUIко i i , Bсд l l Paзр l6о1ч l l к l tн1 .ЕРDс j i сов ) t I |с ]n lvю o l l с ] )сдI] хvд() , ( | l l l { ] l t у ){ t 'rl() Io\l пP')гPaIlпjl!ст, llсIIoJlЬilо]]а]l].]e гo1овьI1 |||lllToгр^lljll llo 1.o-Irьln) бсtrПllyсl|()jl l ( ) l l п ( ) rL| . к ) ' всЯк;1я | |Р0IPaNiп l l / ( ) j | ' I r l tа I I r l c1Ь сBo1 iсо6( l1в| l | | J l ' i i i J |с l Iо у ! I I l l | ]nc .r \ ' ь J i i 4 )J 'p l l c I r I lы i i ( ]1r I j l l ] , вьIЛ() ' l ] l l c I l l lЬ I j i l l сд11I l ( ) i i l \ r ! r | ( ) l ]o i i г .LNIN|с l l о61)сn l | | | . r Il l ь r ]1( )6]цс i i l l / . l ес i i , с1 l l lдapтпь lс РoсvPсь l l ! ход 'щиe I l l t ( ) l r l l I , ] Iс l i | | ]L1 i l1 . ] |o l l l J (х r . i lП .I J I \ / i sL rа ts tUd io(р lс24) ' lп l l l i l чToI l с г ( ) j l яTся( i l г r1) t ) гp t l I t \ !ь r . l l x ] r1с . rЛI{Ь le iд] rЯсcбя, ' п| r i в pас . lе1 . l t с 60рс[ I ) '

] ] r l1ер(] ]с j i с 6ы i : ' гp r :с вссго п l l l l ]oТся ] I i ! Dс lрЬ i /с r + в t l i |аc r /V i s r raJ I ]аs i r l /\lis ua| с++/ NГT rl пРoчих с1lс'ГrNl tiх 6ьIстpoii paзpa6oтк ll l lp] I'no)Lc Lr] lii Коl1пalri'lIоl]ть к();lll ]l сrо 6ьJстР()дсi]ствrIе' l{oIIсчно' осl.ilBj|'IIот )lrcjlil'ГЬ jr\пll]lсlo] 1lo ILт()llilнjIх о6рацaст впilMаllllс? ГЛaпlloс oперeдl1Tь IiоIIкурс]lTоп. lк] l1llв lllr п.]],rЬLIlllвЬrii1и Illl ръпloк DсlpЬi тем npсдrro.rllтеJlcl{j что пOд lloго i!|О'l{I1o llаiiт]l j|ю6r'IсГо |oвr']с ].о]\'поllснты нa всe сxYчаIr nо13]ll1, ПозПцLlя,NЕT ll!'сlloтря rlа uа.Лпа6.llLliI ll:tРI.е l1111l. вьrгЛя/циT r{аIi то ]Ieу6сдrпелr'xо' x прol.Pаrvl1]lс1ъl всС с]rle o!:l.o-Po'trllJ\nloT с пePeходоll, Пoчеl'0,? l.,lавtlъпl lloвoввеДelI]lо\] rr N|iT стaЛa nир1уl''n'iа-q Nlашxнa (,NЕ1. I..гапelvоrk) с пporrокутoчнoi,l iФItrl!.'iяЦпеii llpЛ,пoxierIlIiiП Р пол, иДе' Да,!еко пe нова (дажe lIа Zх spесtгLlnr' rtaтre'r ся. 6ылr l чтo.тo поlroб.]ioo), TеoреTичcсIiIi всe вЬlrЛядIтт 6'ЦссTяxIe] rlРoгpa llrrст пLIшiе'Г lIРIrIPап!\f\l l|а\ isL]аl Basiс'e' VisrЕi С++ l]Jll1 C# 0сi(,lJ.lаva)' lI oна выпo.шrIстся па llo6ом про'

44

Page 43: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

45

цессоpс и r1oД л1060й oпеPaциolrнoii систеlloii, д.rтя iioторoii этa виPTYапьlraя rra'

]l]l1] Iа сyпl€сТвуe]., что за ерyпДa! Crlиvите .riaпurу с yllleliI Ес.Д!t eсJъ llpяilыe вы-

зoЕы AI,I фy}rкцlri:l .nп уxpaвnенио о6oрyJ1oванисI{, o пeрeнo(llrjоспr l1o}кlloза.

6!rп,. Ес,rи }iс l.lх l leт' тo llсхot(пЬrй кoд, ttaппсаlirtьlii в ANSI сTl Ulе' тpaflсIll ц)уeтс'l.nю6ьrNf ANsl.сogмeст]lмшпr кoмпиЛятopoNI 6€з всЯt.oй вlDryfurr'xoi'i ifalI]ltнЬl' ксTа-

тr1rcвoРя' съcllа('Itеii львrrrrуIo дoJrю xPoизводитсЛЬLloсT!l, под 'NЕT сyцсс,rвует

нсt]к()-!ьIro дoсl'oihlых 6116./lиотекд]tя со3лаIrlш вс6-lшrлo,{снxi.i. вЗаIlмoдсiiствl.lя

с ссРвePal!и 6аll /]aI lньtх и т. д. и т, n,,I]0 до из06ll"ция гoтовъIхllОI{поIlсtl'Lо1l' lioтo.

pьillЛ сJавrlтс,t DЕLPнl, o IIa явнo нс дoтягивaс'r, BoзNlo'o{o' сO lrpемснс}] с}l,гya.

цlol ll пеpсllеll тсЯ (а учlrтъIвaЯ pЬяIlylo оза6otкJIIlостъ Miсr.оsofl' мo,{||() 6ьIтЬ

уIrePеlr]]ьlll. Чтo опa псpсIlеllllТся), xо в ]laстoЯщиij Nollонт вРesle]rlt ,r\"Е.f пъlrlг.

Pr'tваl]т лиrrlЬ ttа тех зaДaчах, пa кoтоPьк] ee сoРlrсllr'lЦюв:LrlI.Il .- 1! eс'Гь в сс'|е]lЬ]х

flpl-1ожеll1lях, tlo вePп€мсJl к пеРенoс ]\lоспl. Пiа l.4rоpN'а .NЕ.]. l юi' l цl Ioн I ц]у-.T

с}l l{il,( сpeдa oткРЬi'Гьlх стаядаРт0в, ЯзЬll( l] pтy:Ulьlloji NlаппtньI оll fl,IlrаО.ся /lо

l.N|с | |l..,N{ Е CМA-3:]5 (6ссllJlitтl lая Pd l.вср(x'lя кoTоlrоr() rvlоn{eT 6r'n'l' (x{aча flэ ( htip i/

/wwwесnlа.internа|oпа|'org/pub]iсаtions/stаndards/Есmазз5'htm)'llСs,]окy]\Iс]lI()lv!Ес]\4A.3ij/t (http://WWW'eсmа.intelnа|iona|'oгg/pubIiса|ions/stаndаlds/Есma"З34-htm),'llx)60ji lIpol.li]Bо'(|tтc,rЬ ]!l('кeT сoздaвil'Гъ со6ствсl1|lуl() l)сilлl|зrrLllr() |llа | (lх)])]!1ьl

'NнT, Ilс сllPаrlulIlая у i\,1iсгоsolt PaзPсrllс|lllя lr ll0lI-Цa1я |lllкакl|х 1'|чll('1сlL],1]!.

l,IЗilcстlк) lк) I{сilЬrIсii ltlсрe /lBa llрoск |rl псpcll0сa 'NЕ.t. в (pcду []NIх. l]q)ltl,lii'

( ] lоJ l с l lр Iс11Ь i i i l r г{c so[ twаго l in1п( lа t io l r ( j Ix (х)кр l l l l с l l I i ( ) ' l i s ] . ) ' l rО( l I l l I l . t -

зпaiIliс DotGN.U (h|tp://www'dot9nu'org) ll PазвLlваc'гс,] тt PаIlкaх oдlк'1I{{]l|||oj.o

ll|юсктill llilс1.Ьlo ко'гoрol.o яыlяe,lся кoмпиЛ'lToP Gсс, tsToРoi;llPi){](1 |laзI,JЛltсl.

с:,t Мolr() (http|//Www.go-monо.сom) ll сIlо]кxlPустсlя кo]\1llalIJ]сii Хiлtiaп' рltсttрtl.

сTр i r I lя} r (Ьп. ) /1] l ' rЦеI t i } l I с i , iGPL/LGРL l lN f l . l .1 - i сс1rsс 'ч1() l rРя , ' l cс r l у . I i l сL luа]uJ j ( ) .l o lIPсдlIoЧт]11.(!lr'Ilс0, lIal:t'Гtt сr.o о)]olo в Дrlс'гl'16уTlllro (I)L'lloрri (llс{|ош C()ro,

II;l.Jlqrllи|ln Rсd l Illt), зпllкoNlсгRо с oбопr\1и IrРoск,1.iLI||.| |lЬ|xЬl]Jаc].'ц||пiь ]]:]зl)LIil.

P0lrа||l|e, l{Ля РсаnЬпol:i ра6оr.ы orrlr lrсrцlrrгoднln, и3 J|().nlI! IL llсr(\,с(TIl!' к)|lt'l.

Irol NlоILно n ||(х:'ГРадaть| llo пl]ol.PilNlIlllс'l.с llopIl:L!ьI]оii oPисlr|.lцrlсii l|с :]a]1\'

I1Ьlя.!ясь вЬ16сР:T Delplri/tlree Рasса] ltли VisuaL с++ с NIгс' 6к1lJllгlll,lс Iк)l' n

l{o-toрoil пoд UNIХ yr}iо имеloтся.

Page 44: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

] l l roT дJЯ J аva пРorPа]\lllllстов oтxр l]lтnlii с# i] o насr.oЯlJlая нa\одtia (чт()j с06,

" ,

, l ' l D | | l U l o " ' l , | ' ' , , ' ' . ' ' | i | | o ! , l | | \ ' l ' , \ ' l ' ! ' L г, ' ' ' l . ч | . b . . ] , f ' | , | , | - ' ' , ' xы l i , \ " , Х r r , ' , , ; ' , o , , ' ' l ' ' ' ' l , i

, ' l ' , 1 | ] ) , i Р | , , \ , l ' . ; , ' ' ' I l , ' . , i | , l : ' " , 'воil Il}lтI{ll r..1anЬI lioрп('pацпtt SUNl впР.]чсrI' в llpогlJаllппlрollanJ1и lпIтcцbеiiсоB вoз\1о ' l I Jо t . ' Г ] l I J v ] rо6( j lвo я . l ь rла г 'цv6r lко вт( )P l Iч i lЬ] ] l в . ( ] o , , " ru . , ]o , . ' .I||nр:rетсll rr гl)toвьJc .rIl6'nltrl1.сlill ll xоl1 rоrlLIJ ll', B э1.о l сNlьIсjlс.Java ]llст1lяntl\1с'(Лy |0.ЦьJ\l l\'iпз2 АРI Ll п{lс тo ссГj, зап]югрalпIrrр<lвать rпr,lсрr|lt'iiс нi rrr'iiI1o'illI) нO l].nr] эт() rlадi, /1pо?Р.LD!xРов(lmц 1o сстЬ lioдIl ,Ьj a llе rrьJIiIr lIo IФl]J]]г

l t стaтr . o r l l ' lшaх , l ] r l з r -аль; rь l с - r :хнолr l r r r ] l I l l ,o l l l . L I l l J l l р ( ,U lu l l J ' J r l ] ] J Jв l l r l i l Iот l ( j -i ] l1чJ in r lдур l l ( ) l l ст l ' j l ь . oт ]n) |о l lоГo l loт( ) ] \ l ] lР ]Jх( ) ! l I I l . ся цo . ! l . i ) oтYII i l l l nт l , ( я ' . f ' r l J l l . l \ I' r ' l' , | , ' ' , o | ,

. . , , t . . \ l | | , l r . , , , . \ . 1 , ,r r . 1 I l r ' t . , 1 . r . . . r . r , . , . . , , , ID( . l ] )v ' ( | | . ! ] i l l . ] ]1 'д| l с ( l . ' ' l l l ) т l l ( ' : ] l I : lч l I l1 ' , ! r ] l ] i ! ' | | с l J l rx i ] ' r l с l l LL . ЦсбY. I l J0 lх ' / (сJ i l ll i l ( | i ( ) l | | l с \o , J ( l l ) ] . ( r1( ( ] n l ] j L !с ,TI ] ! ! сT l l \ ' с'||n' с' |]rlill\r:L]l]lr'|ii".'r.,'.'-,.'''.,..,'.'"'],1]]';.il]il];Iill]):l :,iiilllll]l];. ' Л | 1 ) ' l | ( ) | ] . l l P ( ) ( ' r ( T l ) l r l | | | | . ' l | р ' [ | o I r l l | ' 1 r : ! r L \ ,

r;r,. rr !i{ r,r n6

Paзработка иятeрфейсoв с пoмoщЬю lq сrosoft VisUа]stld o 6,O

Page 45: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

47

УчитесЬ ]IроrPaмпoIpовaть шpanI]лЪно' yчriтесь xporPaпlNIrlp0вaть I{Рaсивo. o6.

PащaI:iтесь x <daстеpal{> 0йс.2'4) тo.riъкo T(,гдa' кo1)lа ir,го дciiс.Iвr ejiьнo п106.

хoдrL]!Io, oтоPвитe NIы!1у хвостl 3аIlyстиTс TеrLстовЬlii РедаlrТoP' встPoеЛпЪп..t

в FAR' rr пPиучайтесъ кодирoвaть' pукa lL (]ri'кп э'|o Tакиc штукrI' кoloPЪiе

под гo,'lotsoii' пPa!цa, у нCtroтoрьiх онt1 naхoдЯтr:я Рядом с нorаlп0, To,rькo'гак

<i]иoнсPr,i> пPeвpаllaroтс,I в llастоя!r!lх l1РoфсссЛolla,roв!

PAзl'lЬlшлEниE o зAщитAх и AссE}'!БлЕPЕсчитaeтся. чтo сoздaниe защитноro мeханизМa не на aссeмблерe мФ(eт доpoгo обoй.тись' этo невepнo, дopoжe всeгo oбхoдится защитHьй мeхaнизM, pеализованныЙ на ас.семблeрe' вo-пеpвьх' егo oЧeвь прOстo лoMатЬ (oбъeм исФедyемoгo кoдa очень нeве.лИк, oднa Фpoка ассем6лepногo кoда транслиpyeтсЯ вoднy MaшиHнyю кoмaiду, втo

вDevg ка/ -а rJo le вь,сoro o урoв ,q чo^ 'o y Yn1-иoч vdlиr' ы' loYа-д в од.oй с-pol,

кe наваятЬ)' во.втopых, защиry от <iионеров' мoжнo сoоряпатЬ на любоM язьlке про.

гoaммиDoваниЯ (хoтЬ Бeйсикe, хoть сЙ). aот пpoфессиoналов луЧшe вoобЩе нe защи.

шатЬсЯ _всe Oaвнo взлoMают' в-тpетьих' правИлЬнь|еэащитlыe мeхаHизмы рeализyютс'на эмvлятоDaх мaшиnы тЬюринга, стрелки г]иpф, сетeй петри и т' д.

я3Ь|ки, кoмпилятoPЬ| и сPEдЬ| P^зPAБoткиl4ногиe пyтают язЬr( с кoMiилятopоMl а кoмпилятор - сo срeAой разрабoтки. нa саMol']

деnr этo тpи разнЬх сyщноGи' Язьк _ зrо прoстo на60р декЛаPациЙ, oпИсЬ вaeмыx тeм

или и|lым сrандаpтoм (!rапримep, АNsD' кoмnиЛЯтор - L]rryка, к0тoрая перeвaриваeтисхoд|rый тeксr, !rаписанный в сooтв.$.с|вии сдеMaрациЯми языкa, и пеpевoдит eго влеr.

кoyсваиваeмyю Прoме)q"roЧ|lую фOрму илисразу в маши||вый кoд, теopетиЧeски исхoA'нЬLй текп 6eз всЯкoй пeрeдeлки дoЛжeH пoслу'!вo трансnироваться л|ooЬlМ коМпилятo.

рoм, oднаxo в peалЬHой xиз!и это нeта(l и пpoизвOдители компилятор0в внося1вязЬ1ксвoи сo6сгвеHнЬlе, зaчёсryю ни счем не сOв|iебимые рaсшире|lия. свoй oтпеЧатoк на.

кладь вdюl и aрlи,екnоа rooleссooа (вq -op ь и о- nлv с <aл"aa" й)' voдero noмq /

oпеpацИoннoй сипеMЬ (сeгмeнтирOванная в Мs.Dos и Wndows з.1 и nлoскаЯ в UNtхи W ndоws 9xlNт)и т' д. Hаконец/ lrкoторьLe nрoиз8oдитeли пьLтаlотся сobлaзнитЬ пPo..рaмМистoв <уЛyчшевиel4, я аiримep, г]ро сieциaлизирo.ваннЬ]e кoмПилятoDЬ ' созданньe для Heстaвдаpтнь|х пpoцессорoв и микрoкoнтpoлле.Doв, вoобUre промоЛЧим, никaкoй frандартизaцией тtт и не пахнет'

вы6иpaЯ кoмПилЯтoр, вь| выбираетe судЬ6y' прoгPамl'lировать вАNsI/Iso стиЛe (6ез ис.

пoлЬзовавия !]eсгaндаpт|]Ь|x расшиpeНий испeцифиЧеских oсобeннoсreЙ даlногo транс.

лятоpа), во.первь|х' oченЬ мутoрHо и неэффекrивно, а вO.вторЬх_ 6ессмыслeнio. кoм.

пилЯтopь придерхиваются сгавдаpтa лишь 3 глобaлЬнь|х вoiфсаx, а в |lелoЧах pасх0дятФ'

забPoсьте сrанAаpт и рукoводовyйтесь сo6Фвetrным опЬтом и знаниeм qарапepa' ра}Личнь|х кOмпилятopoв. Hа сайте WWW'mоz |а'org eоь l'lHоro -атeй Hа эry тeмy. создaниепpoгpаMмЬ, тpанФируeмой 6олeе Чrм oдним кoмпилятoрOм, тре6уeт з!аЧитejЬHЬх усилий. кoтoрЬ е oкупаютсЯ в тoм и тoлЬкO в тoм Фyчаe, кoгда вы iишeт." кpoсс.iлатфOpмeв'ноe прилoжeниe/ портиpoваннoe на дeсЯток oперациоHньх сисгФr, в пpoтивном Фyчaе

Луrшe забытЬ o гeonoлиrике] испoльзyя всe (вКyснoсги} и расширения конкретнo вьlo-

ранHOгo кoмпилятoра (Aаpoм Чтo ли paзрa6oпики их фздaвaЛи)' зaчeм стpoить автoМа.шивv, лeгкo пpeвращaюцуloсЯ в пoдвoдllylo лoдку и вeртoлeт, если вс€, что вам нlжнo/ _

pаз в нeдeлю eдитЬссемьей вa дачy?

. AnтoP oбЬlЛlо гoвoрn' (lоnпть'

Page 46: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4A

с кEМ писAтЬхnrcPстпо rul лroк:tя прeдtк]шaя .,6r aс1 ьj oхваты Lа |() цая nсс с J Ic ( lPьI л poгjltt\l}lrк,ТсIioii Лeя,lс''lЬltoстlJ] o,J. IlаЯ'ЦЬllпкll iLo l]nсlljсii lll '.сiIaтrlI(iJ, У.lrlrrll r:rrr:rrllаj l l | . 1 . aN l э тo I I е l l | | | |л l l . Я l { ,^n| |D l ) l i r Iм r I спе l l J l а ' l J I l с тa ] \ J l l ] xд l ] ад I J ' r J Jо ( : l i t I l o0Я l сЯ ,

'I Jiс 6.PY R Рlсчt]'Г-lI'х }Iо].lо/lЬlх r||(,lсii' котopЬ (' lrrrlIут rз свoсм розlrлrc lrcвoo6

рa ] ] l | [ | l ) д ' l I J J i i i J ь J i i ( ] | l l l с ( J к , | зЬ l | ( ) | ] l l рo IPаN i I l l . | Р ( ) ! nн J Iя | | l I Pо t . pa ] ! 1 r l i l ь ] \ l r r r { сП r l J 'в l n ) 'П ) ] , l | х о I l l t l ( а к 6 J ' I v^|с J0Г P l l 6 (ла ]ь , Бс i } l ) i r i l , 1 с , I l е l l J r ' l l сЛ l ] l l | ' а . l r i l i t r r 1 r I j l трv i i li l l l х i | ч | l t . Ь I ITo 1o l ( o l l лрс1 r J ( ) ( l l l а ; ; рЯд j J J i t l t l ' ' t уч tпся , l r i , l l я ] rTo г ( ) J ] ) 'ж l r n l n )м j l | | ] ( r 'ГlYсп, дa i r rс: l lo 6y/ lст rra1 l l l lк l6prr ' rьrх п lvx l lкo l r с L() l , I l l l | | IIrr r ru ' ) r r r i ! i j f )ot) i lo i i .

l \ ' ] l Io| ||с || !|русolI l lсаTсj|||()6Ь(nlI l |я|o 'п}L rr к .I lyб l ' r , i l l r l r l r r r l o6ст l r r r r l r r l t r л l lv rI l l r r r r rх( ] r | l ( ' l ] ( .Г ( ) / ( l l - l ] ( l ка oг | |дс l l " ' Ja . O. jюJ t | l l ) i j I rx ' ] r j l ] ( ' |y ( !x )LI l | | ( ! | , l I l | | ( ) | | ( , J ) l ) l . | lo1 . ( )рь]с l |Ьк 'Г l ] ] l J}o ' J I l l I l l у | | lpoсT( ' ' i L I r i ' ( 'Tр l l l r r rь r r r l r ln , i i с r r r r r ' .n ( )o l ILс[ j ' | | ( ) : loр ' ' Г хaк() l ) ( | ] ( ) ( l I l ' r | с}I , ] | ]о l Io , r l l x ) i i l ] l x ) r . l ) | l ! \ l с . | . t l к i l '

| ] l IГ I ( )$N l1-1; r .I l L l , l ' 1 |р i ! ( r r ! |сс| ( l t l r с . l l t ' l l I y r l с8 l r l l l ( ]3| |р ! ( | ) | . ' ' r | | |{x) ] rд i l I lЬ l ' r J l l б ( ) r l ( )1L]L rочкv j J r ]6( )' . с ( l ]Ь l \ j ]n)n]] l t ( I | |П l ) I l l tа | j l l ( ) с l )aбo| l l в l l l i l хс ' ] lPY i t i i ( ) l r '1Ь . |nr t ] l ] ( ) r | ( ) l I l l р i t IL lL ' ,( ( l ,д i l I l I l .п l i I )vс( )B l l с l . l l n ) | | | l i l ядс , fГсJ |Ь| l { )с1 ' l , . с rюс06 l r l l l l I l , I i iПr i з ( ) l rо6I lLo . r . l r . | | .r ] ( )NIY . ' |Poю. 6v l I I I lротпп r . l l l I l IT l l ' r l I t с r t ) l ( ( ) к ( ) - |оpом l lЬ l I l i l с r . ? : l v | ( ) | l ( I l х сT l ) r I l l l .] l i t х о0с|оЯ] .e ' l ]Ь]к) noЛоJюПl rv) ' B o6Лle\ | ' i ! | l l l L t сп l ] l ] l I l ( ) ,цn()"1 l l ' ' / \ | ! к l l ' l i дo l t ' r ( ( ) i l .I Io '1 lЬo ( l сT l ' свo i i I lровoк l lToP, спсц lП|) | l к l l l i o \ tп] ' ) lЛ . t , ] l l |Ь lх l | ] ) ( r : l y l l r lшI l I i i } r I l ] i \ l 'что I l ] l o ' r f | | | , IрY, ]пoIL l ) ]{ l l з l lTЬ ,Прoс1с i i l l l uс i i сP l ' l 6сзo l l . ] с l lО(| | | |ЛPоr rох l ) . r l | с l L ]L 'всoх r (оп l r |Роr l с ' гирvrЛ|U1х даI 'UЬ lх I |а за|x]кррОI l i l I l I I i )N l <.сп l l с r кс ' (6p . ' l lRe 4] r l ) r l lx)\!,l,ГJi) ]]ar(]]r'Ilrт сЛe]L(1llIlс I] lJlухоii'lуlIlпi. oс()6CrIllo oс-l |{ B]1p\rс 6ь]jI o'|п]).lв.1сI r пo GI) ] tS l l з сoсe]( | l с r ( ) \x I ILРoРx j j l ]Лa I Iо x} 'п" ' l ] | | | lo i ]v l j P ! ]{ t ] ' Гопo\ l ! тсJ |сcюl I \ ' . 6сз)к . r - ' l ( ) ( .Т l lo утoп.nе i r I ro i l y в рекe ] |oсJ I l ] заI rерr] |u l l l я onсР i l 0 l I1 ,(,(|lюIrнYlо ()lInсxoстъ пРe/l(.1.irв'll,'le'r II\]е1IIro Доrrос ||.r]rI (расi(.l'li' oднoго ilз llnf'lюв ].рyпЛЬl, l{с]татll гоrlоPя' rPуппа (о(с)6сян() llе(h0pмa,rl,llrЛ) y)t{о лРlrl]'1cкllcтвI{ilNlitпtlej rra1{ 6ьI тЛlnlсjlЬfloоrrа llс }!lrсI{]цroIril'lrась, HеyЛ}rвlr1!'llьi j O l ] r|О llt1oг]lевпрYсoIlrlсaте"rr'т пpеitlloчитaIоT Pабoтaть гl ()дlll1oчкy,

Page 47: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA з

HEyлoBиMЬlЕ MститEЛиBo3BPAЩA}oтся

[lРc'q'lc чсNt llР|lступа-t'Ь к Itаппсаlllllo сo6стt]о!lllolo виl)yсц llсnЛOхo бЬI позlla.

кljN!п].ься с УГоJloв]{Ьu{ кo/'lексоN' l'l3ll|l1lсTl'к)) :uLl]окaтоNi' B lЦoa"llь]Iоl1 !Lс:\loк.

ра1] l!l cскoм ()6l псстl}с l Qlil lимiro!1Ь|с i]aкоllЬI Jl l | |ll Ь зaкрспЛ'lloТ у)кr сЛo)кl!lJlllyloся

спстсмv rlтпoшсrrиii' зan(I'rцilЛ прll этоll rrrггерсcьr 6o,lrьrrrиrtствa' А чсгo хoчс'г6о'rlьrurirlство? ПравилЬlIol хJIс6a и зрелltщl с хлr:6oм всс 6oлcс пли мсrrес пo.lIятнo, ДaЖе B сTРаllaх тРсты]r'o IJllРа oт r.o"!оil1l пparсгl!чссxll IlиI$o нс yм]lрaет'

со зDсJ|l!llLаNпi )кс с Tvaция зllач]lтеJlЬtto OxDкпeс' l{а фolle катaс'rPo(l'rtlеской

д".p.цапu,' nудnu- и вlt/rсoЛl|.I]усTрIrи 6opь6a с плpатствoll пршo6pетaет вoис-'Lпllу yгPo)кllloIциl]i Pазмaхl yIIIeп{ляя !lilTeресы каx o,гдeЛънo вз'lтЬlх пoЛьзoватe.

'цeii' TаIr lr Brcго Nll]Рoвtlго сoo6шcсrва в целoм, B'цaс,гь зaхвaТиJ]!I l{еIIпаNlаIпa-

1 .ы, <с] lnЬ l lЬ le } lиPa сe fо ' лo661 lPУIoт за t (o}rь l l сЛу}каI r !ис l l арe / Iеся ' г l (oв

мllлJilJаРjlcpoB и пРoTIlвоРeчaщиc иIITересаNI oсTaJlьllьтх' РЯд нayЧ]IьIх Ir ин]{е-

пePншх 11сслеДoвaниi'i в о6ЛасTx r]r14юРI'aцио]lrlоii безoпaсEости .laстuчнo пЛи

пoлносlъro запpещcн, Потpе6rrтс,'rь доке Irс rrмсeT IIpaBa зaUIя]Iyть дизaссеir6

леPlrм в ТoT пРoдуltl.l кoтopьI]lсму впaривaк'r:

Lao||, but tloп't Louс|1! Tоuсh, 1Jut tlon't tаstе! Tаstе, ьut don't s\aal!ou'!

сIaТуация доIlЛаДo свoeтo .'rоr.иveскoгo a6суpла' в вoздyхe зaпaхЛo 6уlпом nрo.ти! ,гoT:LriитаРиз]\lа <<доN1о(PnTичeскor.o Рeжrfi!{а', пpoTиl] aвтopскolo li патснт-

Iloro пpавa' кoIда oди]t пpoнЪIpЛивы'i кoммcрсallТ oтнпl{а.т y чeловeчсствa тo'

чтo eму пP]rlrаД'llс,(ит jто пРа,У, I,IllфоPмaция о6щсдoсТулЛьтi{ PссyРс' 'Гaкoй

жсl кirкЛодaи вoздух' MьIдеTисBoеii Iq7ЛьТуРъ]' Hапrrrмьrслrl и суждсния,котo.

рЬrе IJъr IrснРеlrlle считасlr <своипЛ,t>' нa сir]!1оNi /цеЛс пPсirrсTaвляюT ttомfuflraциxr

v)ке дlBтro пPlдуllaннoгo и !ыскaзаннoro, Уд1.IтrьIс rraхoдltп' яPi{по идe]J'.. все

Page 48: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ЭТ(] Pсэv.nътат o(:]!ll,lс'llенl1я ]r п€реoсrvь]сJrения кoгдa тo ус'll],l1xаl1нolo t]'lilJ п]r.)ч]lтalпlого Iз.]IroIlнrпс свoи рa3roвoР'l в I|уP!I.riкaх л&1кс Pаспo.]iarая /.iI]кто(! )}гноi] зaппсЬю' ]евoJ:\to)flнo vстаIlo]]'тl,. ктo пlrpвьili uъlсказll-ll llдсю, a ктo еe пoц.xватп"!' зJlrllи.] - пpoдукт кo.lr"!eI.гlI!]tlo.o рaзу\]a. нпкTo нс до.1лrеr] eЛljrl()r |rч]lo

Нlt,tлrr кoгo не секрегj ч,гo кoIlпаlJlI'I гI'гaлTьl всдyт нечeсTпЬJii бxз]rсс, д:1вятIlсJlкие фиpмьl и деiiсТвvЮт lrспо,:iтlтшка, С какoil )Itе сTаll'l lloтpс6птель дo:r'' кeп пр l l j l сP)кxgатЬся i \ lора j r i I . ес . I ]и за l toн прпобpеrснло нелrI l Iе l I i lЛo l l l to ] iWiпdoч's в о6лtеlr то rtс JiLnpсщаст,,

Bзлr lмзащптrп , rх l l еха l r l l ; l }1ots . rЬI9сдcнr tев l I i )ус( )в .эТoвъ lpaже iJ ] |c l ] J )oТссTа l IPol.ltв насплllя Il IlеслрilвсдJtxвoстIl' Са,{lTl' зil ]l('lо lro;rсlo. пo 6есrlrl.rсзrro Говсlрят,ts ССсI] oЛlloГo чсnoвска пl]с:lЛllr.||] ijr 1'o. ч гo о]] сlraзаn] r.У llilс IlсТ дс\]oliP:tT||l|'''Allсpnlia' п()xо)кc' дrlDксТсЯ тепl '(e пу tlr. A всilь в3nоп l|рl|iIl l зillЦIlтlIjIInJ ]liJфop l{ац r i r Jе 'Го" ' I r ' к ( ) l j ] rа l . r i l I Io r Iцс , l i n ) l ' ' l с | l l ' хnI{cpстп() r l r |Рo P t r} I i l l Ipовa l l i l c

л ' l " ' | , | ' I l l ,] i l ]1 l l l l ]пnх]\ i cх : r J I l l i lN l0 ts1pс6тсг l l авьrкr l r l r r l зкor ,1rовr l сu( ) i iP l6o l | , , сo l l сp i l J l t ' l l l ( ) i i

| | , , . . r , r i . . , . i i r " ' : , ! . . . . , t \ r l r r r : . r . . I r . , \ . r . r . . . 1 r . r , . l . ! , . . П I ,t1есс t1 l lн r I уuста осo6с l l I l (х . fu ' ] i l i ' к )ГсL| ! , ] ) l l iUJJ ' к ( ) ] l кPсТ l l rnх iф] ! J I l I l , r |яT() l ! ) l l ' L r lБ r ] |o .лr t r t r t l , t х r r i r <6rюлoгr rк> l l t l r r l . rьзусr rь rх 6r l6 . ' l r l r l , г ск ' l t t l t rTом Y| , ( ,0| l с | |P( ) r ] , l lN l l l l l Pо .! r l I l |Я гР t l I rЬ l t с l к ; tу сoбt l ruсr I l rо сaI ' ] l I l l |рог] ) l l r1п l I lP ( )П l l L l l l oп| l l r i i l I r сP .TI roNIсr . i l l i о l ] l rГс , l l i ас ' | ( ) ' r | ,кo ] ]ь r6In j j i J I ] l сv .T l ) j iч l l в ( ) i i , . г г r l л r l с рискr lв l r 'n | i ь l c r , r r1х l l t r r r r ,

l i n . l l r cп{ ( l ToГo ' . | | ( ) 1}(J lк i ! , l l I l l I l ( l l 1 . l L ! | ) l l ] j l r l ) к r l ( | | J [ )6( ) i i дPYГ(] i ] кo] \ l l r ( ) l ] с | l г | lР ( !| ] ) I l \1Nr l r ( ) r ,o o6oсtк ! |{ : i l l l , l ' 1рс .vс .Г | | r ( r l с ] l ь I ] ( ) ru r l l r . сс | l ) ln ) | l l l . ro ,Гс( | | | | ! ) | ] l l l r i l , ] | l lI lрсд l \1сг l ]Ь lяс l |с l l l l , | с ' ( ' | ,aб{r tх| l ] (х r )б l Io . : | | | . I l ( )n rр t l6 (Л1) . I l l !1 )6J] ( ! ' l l ' к , ' ] r r l i r l ll к ) t r l ко l iToк . ' l l ] Iк ) l ] J l I l aс 'Г ( r l . l |0сo0r l (х l ' |ь ] ] i l l l l | | rЬ l l l | х )TI l | ]осI o , l , | l ' ( r ] i l j | | | ( lЛ l L l lpo

l ] | ]1 i )Pv){С i I l lЬ l t J хаксР. r ( r l \1 i l | )сo l lаJ ro} l (к ) l ] l J ] ! ) l l r I l I l к rпI | |] l l l l l I l l l Lo l1 l iЬ lх д1 lс ] ( ( ) ] ] ] . lN| ! ' r l ' Г0pt l \1 l l 3 ! l | ) lУ | l ] |Ь| |Ь l} i l | | ) ] 'Doд() !\ l l l l l I r | I l l t ( l l ]аN l |1 сОO.) ] r lo ' ' l ' 1 i ' 4 , i i i r rо r r | , t l ] l 11or r lПo l ) l l I ! I I r l 11 l ) l r l1T() | r l r I ] | | рo .с1 ' ] ) t l ) ,\ , , | . , | | , | ' , | | | | | | ' , U l | | , n , l , , , l , ' , ' j l , ' , 1 - | ' 1 | | | ' ' ч i , l , J ' | - ] ] | , \ ' .лоe l l l l o с1 r l Р с i l J | I i з а I l l l l l i ] i l r l l I l 1 l , l ] 11 ' PуЛoо\ ' ко ( | ' l I ] кo I t t . l l ] l )N | ( . I сTс ,

нз ' r l о ] \ I : l т ь \ 1onо |o . I r l l ) 6у ]о з l r ц I I т v э1 l ) 1 ( ) j l | , к ) в . ] l l Poс I rPe i 1 t r l l , j l с J r с r , I Lв l r J I l l q rU

l i l l I l I п | l ] i ! n ( ) i \ l | ц l l l i i ] t l v с l r " ! I I i i ' Но Ц) i r I l ( ) ю Рo l ' ' I и зoв l t l п l : | я з l ] L l l l I i l ] 1o / ' ! o ' l I ' l ] J i l o с -1 l в Jя1 .ъ Лс | l { l l х r l vTo i i ] I J I я спoe ro в з , r r o11 l l , ] ( o I I Iq ] ! r т | lы i i r | р r l \ 1 сp ЗaщJ i та r l ! r I п , r -' i . ' l t ' ' l , , j , 4 l i , ' Ь \ | ' , | ' ' i | \ | l , . | ' '

l i l l l i дoгo посI I r .е , ] l ' ) ' 6с( 6r ra распоз l lа rь r l r гpr6уrо э r Iу : rлl r r l ) я l . ] lоPPеI i т I IO заЛ()] ЕI )С/Есс , ЕnIе 6о . iее ( ) l rLфсT l r r , l i i

rlрrlr1сР' Прпвяl(a l. l соIlCTрlI]l спIIраnьlю1] дoPo'{]rl! лi]lleр|lon) дl1сrilL! дll,{. 6vJучll рexnlltI)вtl11нoii 6сз oппt6оlt, о6хoдrrrся пvтL']t соi!]latlxя вJlр,гya,.lьпого с 1).Roi\'1 прtrвода, rrмптпрvrопIегo всс oсо6сннoсTlJ с,ГРукТуp!r ор]lгЛпа-!ЬiJо 1)/(|lс.liа, rlrl' эToгo]]e'ie пe lIv,l{lIо 6llTrtriаIiерoNI -д()(ГlLToчнo зaп\'стl11r, A]сoЬol 1209;'.1опlaюlцrli.i тirкr1с защliтьI аllто]\lа,]]1Чссx]l'

oлшt6шr проeItтпpoваlulя ]aщ]1Tllьlх ]\IехаIll]з]\,()в rlчс]1l дорoгo о6х()]1яlся 11х Paзpа6oTчикапi' rro гaрallrrlpoва11нoзастрarioпi:t,|ь(я oТ noдо6rrьп пpос!|еToв нl]возr1o)ilto, ГIопьiтria пl]rlпlене]]l1я (нa\чIlЬ]x> п0!х0дoв Ii за1ltlrтe прo1.pililItного r:]6cспечe.н'Iя чI]стеi]шеii вoДъI фaрс п 6ессt1t'сn11Ца, ХaI{ерЪi сIiеI() |с,1]rа! axаде]\пlIlесlil ltIltразPабo,Гкам11в сТuJс <.расче,Г тРaеrtТоplln сф€рIJчесJогo коI1я в ваIi}T\le'' лрxli

Page 49: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

51

тIшeскпл'06ая тaкая зaiцIrтa снимaстсяза 15 l1llнут 6сз нanpя'ксяия rввиЛи]l. Boтгрy6ьIй' нo наUIЯднЬii пPимep, ПРoerстирoвaпие oбopоfirloii сIтстеifьI воe]rнoй кPс.пoсти 6rз 1пiетa сущсствoванltя Jlclаl,еЛЬlIьIх aлпарaтoв пoзвo-пяeт з вaтlrть эryсаrryю крепoстЪ чyть лI{ Ile на пpoстoм <кyltуpyзникс' (Мs WDв <кyltypyзнxк')' нс lotsоРя у)кe о6 llс'Гре6ljтелях (solt iсe истPe6Irтель' а IDА Plo _ e|цеп 6oп16аpдиpoвщик).j{ля pазpа6oтпrt зашитtlьlх I1eхr]]и3i!JоR слeдyет хoтя 6ьl иjllетЬ о6щсс l1рсцсTaв.Jeнис o пtстoдах pa6oTЬI lI техllичeско]\{ аPсенале tlpoтIrвппI{a' a сщс Jrучшeв]raдетъ этим aРсоналoп{ flс хужс llPoTrlвlll!кa ('Гo eстЬ в совеРrпellствe), нaцп.чие 6сlев0г(r oпьIта (PсaЛ!нo вз.]tollаtl}lьtх lлюГI]аiII{) oчеtlь и очепь )ltелатcЛьtlo:пpе6ьтвaние в rпкуpс вз.l]oмщиt{а t1озвo]1}lсT ilоскol I:Lпьпo пtуч1lть тaiппку tl стPa.тeгjпo aтaкyioцeй стoРollьi' ltавaя тс]\l сaNlЬIпl goз]!1o]кность onLllпti].]]ЬllьIIi обРa.зoNI с6aJ]а сиPoвaT], oбopoПу, ПолpoстyгоuоPя' I lуж1ro опРе'1еJlить и yсиJ]llтI' ва-IIPaвлс]1ttЯ наl ' t6о./1сс вс l]oят l l ( ) l .o r] 'Гoр)(e l|пя хaкеpoв. сосРелoтoчlIв здссr)! J ' ( l | | l | у \ | с B o , 4 I | l | | | , Л , l с | . . I . , . U n J | х l | , J | А J ] ' ' ' j

, , , , l | г , ' Г ' ' t ' , г г i U | ' | | | . . . t l | | | | ,

дOл{etl ruy6окo lryolIl'lкlJJ\lться психo]lог11сii хatl0рOв' lIас,гoЛЬкo l.jlу6oкo' чTo6ьI

1\1ьlсJll,!ть| I(aк хaкel),,.

тaкtllll oбpaJoN1, вrla/IcIlll € тrхIтoлoг]Iсй зaщll,1Ь] ll]l4)oрпlацllrt tIрсlL||oJlaгae1 вЛa.

дсllис TcхlIoJn)l.иcji взJioNla. llr зп:lя тoгo' (aк JtоIln]o,|с' зilIlцLГL|l Лс:}liаJ{ rlх с"rlд-

6ьIх стoрoн, пс зttая аРсeIl:Llla хaкeРоз] rleвoзllo)I{xo сшлirт' с'roi1кyк]' /lсIIlсDук)ll' гЛaв]loеl l1PooTую R PсaЛ заllllll зarll]rту, ПooтoМуl ollllсьIвa'l Tсх1lltку ilа|ц].l'гьl1

6ьIлo 6ьt tt<,l мспьшeii мсРс, llеIIcстIю за|!JаЛll1lвal.ь l.охll}п(y cc l]зJloN!а'

сyпleс'гвуeт MIteпис' ч1.o o-l.кpЬl,l'Ьlс |lубJlикilЦиll o ЛЬI])itх |] с,jс,| €]!l.tх 6eзollaсllo-с,Г't l|ри]loсяT 6oльпJс врс']a| чcill lIo'0ЬзЬIl ll jlх с,лс,lусt.в o6язl,r.с:Iьrюпt пoPялксзnllpсти1.ь' дРугl{мЛ сJюl]^п1и' дoсToйItylо запllrту о'|. l(oп1I Poваl l,'l'l ]!lЬ| со.JlL;l'|.Ь Ile

N{o)т(eм| призпaвaть свои ol|lи6I(и l|с хо I|.l]\{' ll''lтoбы ]lивиЛпзallltю ltс Pазpуlll[rlпeРвьIr:I лсe залeтEьl'i Д,I-IсJII Nl|)l ]l()J|)tl|Ьl перес'ГрeЛяTь lзсех ]lя'Глoв ilo сдипo].o,

Bo]rce пe .]o6I,IрaясЬ апсЛЛl,IPoваТЬ lс i]ilе3'{сIIlюii lloсЛoR'tlle iктo пpeдуIlрсждсIl _

10т вooру)Irell>, o6Paп{мсЛ за сoвс-rом к 4)арrм.llleBтиileскoii пuдусTр]tп' lъrr 6Ь]о | | i l о т I | е с , | J ( ь t { п o л Ь " l n н | l l Г . | . Л l ' N ] , |

, | | " , , l ' l Г , , | | Л | | | , у | ^ | | I , й , ' с | ( | | i i н | | , 1 ' \ l | | ' l I I F

в l l .е | | | | | , | i i ' | | ' ' Uтп | |eqРгoя- ' ' o J | 'daк l l l ' | | ' , | . l | , ' | | . I i i | |eУu. , l y ,

Nloc ltоЛиЧес1вo зa6oЛеBaппii rI пPи эroм о6Язllтсльlrьrй к пprrмcltепиto? Провo

дlIТь хllMllчeскпll aIl.Lliпз прспаP^тa вьl нс rlllcс-l.с llPава' P.lgllo (1]к lle п]vlеетс

праRa oткрьIтo пу6J1ик()ва-rь peз]/Ль1.а1.ьI свoих jтссЛeДовaIiпiit BьrявI{вrnuх] чтo

зaли.1и11oii 4 alIaцelI' скpьтвaется o6ьпснoвснньlii x дoвo"'1ьнo lllrзrr(JкaЧесTвеrr.нЬliiасllиPи! с кyЧей пoсToРoнних пPимесеI:I !l цс"'lЬIll <6yкс1оi{' ]lо6(rчlIЬIх эф'

фeктoв. ЕпIе 6ьil Bсдъ пу6"'rикации lroдo6rtoю Рoда 3aN1еl.lIo охЛа'rдаrоT пoтрс-

6rrтcльский ltьl;t, t лрel{пoчтепl1е oтла€Tся дPyГппl пPепаpатarl'

ктo ви]roват: фирмa' oбмaIIьIваlo]llаJl своиt пoкупaтелеI:l, !i,rп IrсслсдoваTсl 11, оT.

крьlвnllle по(yпaтелям гЛазa? ЕсJtи aн:Lrloгrl, Ntе)кду фaрп'апeвтиltoli l1 прoгpaмм-

ным o6еспeчellиeM кo]!,у'тo пoка'(е'гся tlскoPPсlrTнoil, пyстъ oн oтветит ]lа вo-' l Гoс: r l ки/ J i l l J ' |и | lP I l I i | ,о | , l ] , | (y| ' |Ь|6 r r t r r r r г l .6oваt l t t l l r n l tи

дoл}кньI oТвсчаТь? всякая ,Геxllojloгriя иlleет свo],l oгpаяичения и свolr ll()6(rч.rrьIе эффектьt, PеtrJaмнrnc Лoзуllгj1' o6ъявЛякnцllе 3ап]Ilттy стoIiкoIi и а6сoлютнo

пeпpoпrп6aeмor1, всeтда нсвсPнш, коЛь скoрo нoс,rTеnЬ Nl{J]кllo воспрoпзвeсти'мo]кпo elo 11 сI(опиpoвa'Гь. Beсь вoпPос в Tоlt как, Зaпрст на xaкерскyю Дeя.

Page 50: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тcjlъ]l0стЬ illlчсго l'е I!eIЦст, Teхl ]iтo заlllil 'aеlся rlеса]lriциониPовal]}iьrli кЛoIПllxJваllllс}l дl{сl{oв в пРOIlьпJIj|сн]rъlх i\fасIrП.а6aх' Jloдo6ltьIс запретьI вl]'lд jlllr]стаjювят' i] вoт "1сl.i!lЬllьlC иссJr(!oBатс.1]r 61'0'т стpадатъ; lIpoфeiс!loГl:LllЬllьiiiJ}ll' вrlnllr c.!шj Лaеl. o се6с знать, Hy.lro поле.lrасrпъ' cсть rrа Зeпriе таrlч категoрltЯ .]IIoлеlll кo1.OРая IJе мo,{r1. yдеР)каTься o1 сo6:rirзна загляпуть пoд кpъппкvчсJrlloгo '!liпtа ]Il дoт])аrIIIа-!сЬ дo вPnxlal)щuхся шестcperток' rп,ттаerся palо6.раться: кaк 'кс вс1] э l.о Pа6Olаст./ сllсЦпфllI(aзitrцllт}lьIхnIеxаtlllзмoa сoстol.l,L в тoi\!'ч'fu срJ"|lJа вп:jvir1ьrlo lIllче]\{ llc o'ГtrlltЧаl]тся o'Г t|JедсIJPa' Bаll ос1.астся Jll{ПIь vl1o.ва]ь lIа аllтoрl1,гст пос|аIlnlllкa Ллп жс nleToдпчllu lIplro6pстaLь все лрс,,1yктьr с';цIлrзa ]]I)уl IIIl, l|с 6vлуЧи уlreРсн]ilnм 9 To\1l чгo lIa Рьlнlte воо6цс пpлсутствуlсlтдоirтol'll1Ьlc i]ilщIJтIпnс lfe)iilIlllзltЬJ, l,I э'Го доl:iс1.вj'tтелr,uo такl ifu.l"ство кoпilIеpuсс.lillх ]]iilJ(|l,l. IJасT0xьxо |tllзlto' Ч1.o o]llr окr:]ьJвaю'Гс,I нс в сoсTo'Л1Ilи с]|pаl]llTЬс'Iс аl]1..)nIi] l lIl ес]( иrl ll lioIlJ 1Роl]lцlJ l{alIr l lIРoгJ)аlll] ' Jа Irу II lс1lI l ьl Nlrl 06ыt.r loBol] D rnr\пl

]'.lrrllloльI' ().Oll l '!и гоноpЛ.Г]il чт1] |Jсllol|иРусIfо(:тЬ anTo l l i lT l lч{] . l { J lN| l l r io r l l I l )o l I i l l ] l l . а ] t l ] J paзум l roс rpс6оrи l l l r с .l|Рслъя|l'llЛol{()с rio ]lс'xoii i'lLLtlIlT(]? L] l|'l.а-1с )(с залllll.а /lIoJl,кllа ]Iрo1r]ir()с1.OЯТЬ' . | ' | | ' ' l l | | ' | | | ' ' | | | , , ' ' | | ' | ! w U | l - , \ ' r r ' ' , ' r , ' ' . . r r ' ' l i r l r ь r ' ' t " ' , r . '. , n J \ . , t ) r . \ r \ . , , t LП . r , , . . i , . . . . r+ . . t ( , , . " r * . , . , , . . . . . , r , r , r . . . . r . , , r , r r .N|ь l o ( ть ' l l ( ) o | l J l l l ( ] i | р с , l ( . | i | л j I с I | | l I l I l l

i n ' l п {C I l oч f J \ l . y ? дn In ) тoму ч r1 l o , l с \ , т с i ' в I | е' ( ( х : ' l o l ] L . l ) r l о i i ] l r ] ( | ) о1 ) I1a J r l l l r r l r r . o i i к r х : ' п r , г с r l r , L r r ] 1 l l Ь l х i ] а J I l l l T l l } l х l | ; l к0ГoD l | { ] l | оi ] 1 ] ( ) J l , ( ' T | l l л . | r с t ' l J . с . ' r l x ) ( l . ! ] l l с ( ] ' 1 r r j l ' П ) ( . о : } l l i l 1 ( ] - 1Ь l ]Ь l i i Uь ]б ( ) ] r ,AР i l J r . a ] ( - - 3a . | с l | j ] ) о .

] | з ' J oд l I l l ' nЯ I | | | i l l J ] ' | | а ' | l ) с ' ?

^ , r l . r l 1 i lN l l l ] iП ) l ) ( . Jn ] |1 ) ) I J ) l l l i i L I l iD | ! | l ( ) l l ( ) | | , f гЬ : \ c ] ! l | | | r | с ' ] с l 1 ]л1о0 Jo I I i l l l ) Т с ' J i l I l l l | 1 ] l Ь l сNк ] I i l ] | | l l l l | | ) I ! Т с l I . | n ] \11 iT ( ) r | | | | c . 1 ) | | | l

с ( )Do | ) l l | с l | . ' | I } ! кЛ r ' я j I I o с tn ) ' l Ь ку y р2 i ] р t l 6оTч l ll< ) | l | l ( , | l lЛ ' ' ' , | с , | р с l l , l | , | l J ' | l l ( | ' ] l l r ' l ' . l ] к ( l ( ) 3а | l I i l )Л (

' ( у l х J | |o . ] | o ( t ) 6 | l Ь r х з ! | ] l I I . l r | | , I х l I l l l L с , l . o |1 ] ] l l r . r r r см r : мa . r r l r r l : пDа | ]и J Jо к | l p \ го i ) i L6;(1вoс l l l ) i r ]n lЛ() ' l , . I 'П(( 'хкрlI l rToГ]); l ( l ) l ! t Iс(|(||хс l rстс l l_г ' ' rаr l lп:сп l i iхr lстr , r r r r i r t l1 l : r()|l])1'll0.]l,I(''r.с'T()Jl')l()(]с

j l с г l I J l I ' l ц ) ( ) l l c ( x ' i l J I r I n l ) l ) о l r l ' | п J , I I l д . l | | nq j I х ) | }а | l л , l . l l ) o [ l ( : ( l с крс1 I l оГо | i J I j o ' I а , О1 ' J I r 1 .l L I l Tе ' цЬ l l Ь | l I l I P l 1 з J l i l ( l l n t l ( 1 r . л с I l l k ) i i зn l I l t l , Г r J _ l l o /uх )6 | l o с ox I l с a l l l l с с e i ! l lOр l l | . i l l i l 'l, .il\lоnI ?цс'lIсj l]lу||o сliPЬr1}i]TIl тoj ЧTo ILil,r'lЬIii хil]LсP lllo'iс1 до6l,]l Ь с no!()|цьl()' | , | ' ' ] . | l , , , | | . , , , : . ' I ' , l l ' ' , ' , ' | , , . I j 6 , , ' 1 ' | , ( , o i , , | | h

l , l ' , ' | о | l , ' , . , | |U , | ' , l ' t t . ' ' ' ' . | ' , \ ' i | ' | | , tм . l \ | о ) | , , j ' г o , , l l , . n j]Il)]всТсTlroвlLTl, tj,ILоllllс l(Лlll()вl суIIl(lс1.l]}'('T тal()o поll'lтllеl кlll. пo.ll}l.l,Га lЦсд.с1'ilIrJlL']lIr' свс,'ieIxIii o '|()rаpе]

ll lIоIIrl|.гl.;l(1)ltPьIтI]я'll'{ьiI lioilсTpvxl.ивIrьlхjLс{bск-.tов, ст1х'lo rtlвr1llt, ttrюбщ. Ilс3акol]ua, Bсяrtoii ХорoIосй Bcrшrr ;,.',..,'".'" ';';",..'l а Pvкy' n rnЛ. l]noх||C веIllu 6о'тся сс кiui ol }|я,;\lIlrjr)}rцЛя li <цrlll]p0воi] Jxoхе' il яко6ЬI пьlToltaкlLцaя отсrоДа rroо6хoдrrпtoстьiIсllес\]oтрi' заl(o]rол :.;тo с"'rоuo6лvдrrе п нпчегo 6o'neс- Бо'!ьU]оe ]ro,1п.lссTв.)судсDнъlх ЛсI.otrl вчlrлен}tь]\ вЛonпе jlсг;LnЬllьIt' llсслeдona,ГсJ]я\' 3j]щli]llеннЬiхr o . | ! ' l l \ | | , ! , , . , r v , | | | Ь , | ' r | | ' , T I . , \ , ' ' | . | ' ' I o г . ' , ' Я ' Ц о а 6 . ' j , | ] ] , I

: : , ' | | . . ' l U ' l | l \ - | \ ' | | | | L ' \ ] v | 6 \ ] ' ' . | ' ' ' | l r ' ц с , | | | | 9 Л | ' l ' .].'IЬI,o уrpолiаloпIеji' чcro до6])оr(). заптpа U shift ]iаI <.хakepскуiо' к.n;lнJlIlJ\, зl-

lr.Tя1j Jrоскo"1ьILy o1lа ]Ioзв.Jtr:Iяe'Г oтILjlк)чllть ilgтoзallусIi Jlaзrpil0ro Дl10{а ! osl'i|ldo\Ys' x нс](отoPЬIо i]а]1{IlтЛь]с \tеханllз}ll! (aN раз Jlа этoNt Л oс]]oвallьI, '1ol

oсj, фаllт.lс\]arор!rчсскLl\l бpедоil. sчеPrr вь]лилoсь в Pс:]ll ьuj сvкl6ньIii ис]l,

Page 51: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

неУлoвиMь|е MФитeли вoзврaщaются

АмeРикaнскlrй зaкoп D|iC^ (DiвiIаI ̂ Iil]с||пiun сoplriEht Аn) Дeiaсitsn|елЬl'o Зa-пpещaeт paспPoстРaнятъ l.ехttoЛolп]ll yстрoйс'Гваl пpoд}'l{тьI и yсЛуr.r! сoзllаtlliыeс це"lrь1o о6хoДитЪ сvrцeствуюциr с!стеl!tьI зaUlиТьl, чтo IlьIгЛяДIlт впoJlне ЛoIич||о, П pJвoJа.!и ln ' ' | ,и пь|1J|оГся ) 6.ррч|, v||o o, oчUвyд||L,х l || je.ryпn4,roв и ван.

ll.LЧoв' oднaко сл!эДirт pаздс.]tятЬ язЛo I l(ак тalювoи 1r иссЛедoвaтLuьскую дeятелЬ.нoстЬ в 06лaсTи иЕфоPпtациotllloй 6ф0пасЛости' BзлoiI, пРсe.lсllуюций л]rчнyювъrгoду иЛи сoверпIaемьIii Irз хулиmrlскl,tх пo6y'{дeпIlIi,l1oстoинrio пtенЬшей мерeп1rPицaния, a 1lo 6oJtъlIJеir I тPaфa Irли r юРсм1roг() 3aкЛюче]lия, ПPичсм тяжестьпaказaт{ия дoФ{нa 6ьrть сoпoставип{а с всЛllч]1нoй llPичиIIerlnoгo yщrP6а, Ilри.

P a P н | | B J I l , х а { с p o d к | l ' Р Р ' , | ' и . Г l r N { , l l p а в o ^ с , n ' ' l 1 U и | | ' l . е P P ' ' t 1 | | , ' r l ' р ' , 0 n o к . n . и х а .кеРс'гвo' демoIrстpирусT каTnстРoфЛческyю нсспoс06ttостЬ а i{epj tкal Iскorо пPaви.Teльствa o6eспо!tить lloJDк]lЬlii уРoвеlIь 6eзoпaснoсти' t1oдчсркиваJr чpезiuep]ryюсoсrJclloточelll loстlr ]]лaсть 1lмущих нa свoUх с06с1.вeIlпьIх иllтеPrсaх n пPo6Jlемаtх.BсеI нrlкаItих llpуПlх Toчeк сoпpлrroснoвcнll'r у тсppоPtlсTor и хnкeРоu нeт!

кiI]тги' paссмаl.PtlBnюljllle вoпpoсы 6фonaснoсTи t'lскJl]oчllтeльпo сo стoPoнЬl] i l l | , l . ГЬ| , I l ) \6 l l I i1 I т .N|Y( , , | , " j | | ко| | ' т | \у| . IoI ]ь l l aпoмиd. l |oIL , ,ху l , rn l ' i l . |п ,p i6oIa .

кЛцих тonько lt]r заtlt,tсЬ! ll ].o| llп ilругoс 1lс I.l]!]ссL ltllка].огo |ц)акт 1leскoro

llриNlelIelI'lя. llo э.].a кнIll.il ||с ljpeдnаlrпarlепа Дnя PазPа6o,1чикoв 3a||lи'гl я нe

хoTсJI ]Iс.]laTЬ yпор ]lIl }lа oднy llз каl'(xnl'lй| пoтoпty чTo пPo6ЛcNlrn заl|tитьl l,tlг(юрrvаl(ltи сrroDeс oрl.аulIзaцио|llIЬ|c' ЧcNl техlI!тlleскпe, Paзрa601,чl]ки j1o Ile Irynс

]litюTс'l B тltкl,Iх l(пl,lгах ll в0о6|цс Рс/Lю l|Рис/lynlпвaются lс сoвcтаIll Лo рсaлlJзa.U|| | t l i | | , l | | | | | | ' l \ J , ,1 ' l jит r |o8 ' r х . t l . ( г l i ' r . | l l 1 , 1 ' , t I l ' . i J . | l r l , .о 6nЛдLIoт I t iVсP iL l | | , l l о

разЛa[аюTсяl TсРяя стllNlуJl lс Pаз]rи-Illlо.

Тсl]миIl (хa(ep' tlMeсT Nlllо)кeс1ll(),lРaк'гоI]oк' кoтoрЬIc 6ыJIo 6ы 6cссмЬtсJleппo

поpсrj!tсJ|'l1Ь зlloсъl а тell бo]lсс _ oсt,аttaвlltва1.ься lla какoii.To из Il!lх| ]tгIloPи-

Рyяoст: l , ' ] l , . l L l с ' l Ioв 1) ' l | ' l , . l i l | | ] l t l c l | | l I l хa , (сp э lо l ' , |д| | l ]и lу l l l | , с \ |oт|1я|п l l l i в l {o .pсllЬ п стiсм'пцПйсЯ Pilзo6Pаr,l'tlя во всeьr лo кollцa. 'цJI'I TакuхJlloдcй и пРеЛпaз-

l l aЧcпA cт : l кн l1г i l ' Bca ,Lс ' г l Le эTo тoлько вoзNo)к}ю, я бу/ ty с , lрeмпTьсЯ

к o6()6lце]lиIо и пoстаpirloсЬ Ilс aкllеIiTtlDoI]ать l]!!I,!манlrс на кollкDoт]lьIх Pеaли-] : lция\ , Эг . I lе o] | | i l ' ' J . | |L вс1|с- I . ся i f , I{о l ]чс| . r 'uх схсм, HnлPo.

тrrв, в Ilих ttc 6yдет нeдoстaтка. Ilо я llе ставJпo пeрeд сo6ori цсJЬ сl1а6'L'1ть хaкс.pa гoToвrnм иliсTруN'еrlTаРиcnl'

Я rrс 6уlLу пьrтaться научr,1rь чи,ГirГеJlеij <ЛоBllть рьт6у>' a Pискну lloii|Л Ileмlloгo

/vrпъtlIe и пpиви,l.Ь ]1rкoTорьlе пaвьпоr самoo6уuснrlя, из Лio6oй са[rой несTaнДаPТ.

пoй с]lтуaцII'т li прl.I сaмo]!l сl.удIloil ttllструмe]lтaрпп всегlla мo)кнo l iaiiTи вьIхoд'

Tиlro!Ьrc схеNIьт частo ortазьrвaroтся 6cссильпьlми r' 6ссполcзньIмlI. Лtо6ьIе павьI

] ,и сЛи lU| .о\ | | |p| |в ' Jс | ' L ] | . | .o l ] l . I jP | | ln\ !v о , ,рv^. | | | |o , d l аш ' ' ЬLJ , \ iя i ' -чш||\ | |сPA

п{cн у,кс IllJздпо хвaтaться за тpадuциоlll] ьle схе['ы ()6учешIя. lla o6учеn nе пpостo

IJст вреIrеllи, БoльпIинству пPоIPаIlмllс1oв rIIrпхoд1Iтся oсвallвiть нoвьIе тeхнo

лoгIrlr (на :rоlly'' no за1oлгo Лo кoнцa o6yвсния or1l у)ке Ilo'!пoстью устаPrвaют.

Page 52: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ЧAстЬ II

лoкAЛЬнЬlE BиPyсЬl

фopМaт PЕ.файЛoB

главa 6

fлaвa 4

теxника вьlживания B мyгHoй вoде, или кaк o6xитpитЬ aнтивиpyс

глава 5

те,\Hика внeдpения и yдаления кoда из PE.фaйлoв

.лaвa 7

виpyсЬl в миpe l]NIХ

глава 8

oснoвЬI самo!toдификaции

lлавa 9

нaЙти и yниЧтoжитЬ, или пoсo6иe пo 6opь6e с виpyсаМии трoянаМи

Page 53: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

o ФoPмAтE PE-ФAилA, спoсoБAxвHEдPЕHия B HЕгo и нE]vlнoгooБo BсEМ oстAлЬHo]v|

--'Xакеpоnвo вьtпесltula всe ' юlюt)' uнtrLе?ес к dевцшка'lt,ёpцэеn, sче6у, pоduпелей, смьlt:л эtсuзнu. Эlnо 6m dpаral,сJ|сuzаК]u\u' oсе на сl]оем nцlnu' oс ]n а a!п1ulluu .|uu1ь 3а11аaн.п.Ilbx1 u сIцnnt ы е x|lр||l ul lк|l |l pol1l||оin в nlL\яmu , I{ozaо'1aкJII\чаJL 1|о]Inь]о]11cР, я l1с||ь||l1ьl|xl/] Ilцв||||lва' 31|.rno'||ьle,

lаaqlнoе, польlсLl зая|)лotr| !/ 1Lа р]|.]jIа ]1!| | кanlo!ь|i 1t|1кoxец

ulllpнllit(:я nосnе Aв!jL,'!есяц юzo <aл adа>,'.

Aloним

ТРудIlo прсдсr.авI1'|Ь сc6е6олeе пpoстуlо Il-tтуку' ч0^j к()Nlln,('Гqnlьiii впРyс, To1.-

Рис. и тoт noсJIо)к]к:0 6у,(eTl о,1llaкo пРoгPаrЧ;ul]Pова|lllс ljlIpус()Ir Uыlrьlвaст1 нa-

ч иHarоlrшх 60.]I ьI,l] l lс Tpy]l | |()сTп кillr вnсдPl11.l сяо ii к( )Л B ()a ii"T ' l(а кпe пoЛ' !lсoб.

хoдиlllo ltзпlcl]яТl)' a к:ll{liе JlyчnJс Ilс 1рofi]:l.ь' llсI1 o,гj|а)к]lвaтЬ RlIPусьl tl Il()ж]|0

ли llс11o./]ЬзoваTЬ я]]Ь|кп DьIсoкoг!:) уРoвlt'l.

пoоЛс вь lхo/La в сBrт пcРвot1 к l l | | г | r <за l I l l сo t{ , ' , } (ла ' ' l сc l l o ' Гскс , |y ' ( : JaпIIс .

киI ' ) .есJ lппо]v l i l tTc ,T lur6ьr l rаглаr lа t l6Э. : rь( - 'ахI tL]N lх r r i lРус1 lх - l r t )мnсст3 .JIlt llpихrl/L]'l'гЬ l]псьI1ll с IlPoсь6aпlи |iа|J]l('ilTЬ <To'Ilrо TilкY|o )ксl lк)-l'().lIь(0I,|o]l Псш.

l,lЬIii Wiпdows}, lleiiствl]TсJIЬIlol l]lI{]/lРеI|}lс ll{)с,loРoIlll(гo lioдn Il i)]]{l)lliiJIьr _.

о( Iе l Ь l I с I ]с l l с l t ' l . l l | j l |0c и I leoр/ lиI I i lP l loс зa| |яI rе l l | | i , геDсс l lос l l с ,Гor lь , (o впPyсоf l r ' .

сnTeJlяi!!' ]Io 1I сoздilTс,'lяIl Ililвеспъlх лP01.сItToP('r/у|lilк()llIIп0()п Il 'Гo\l чl1с.]to,

tI1o )ке /lo э'ГIt.lсcкoii сl.opоllЬr пl)о6",rсl]ЬI'.' lloJlll г||к"l <llolr,1ф,I(аlпI,|' Ц удсPж;l.ilия пeрс,{oBьIх 'гсхl loЛ() |J] ii пoд сукl{oNl Jlиr]rЬ увoJ|||ч Ir:Lel i\lасlrl,гaбы I]r{PyсIll]|х

эпUДе]\Jlli'i' I(оцa ДсJI{) /Фхо'1пт дo сtвa1rtI]l nЛк'|.() rli] IIl]JII..lil/1IlЬlх llРol.Pillllllll.

стoR ('I aлIIllнllс'rPilTopoв сTpатeгll.lссt{rlх lll()oPмall1l(Лt]lЬlх сiiсTcNiI) к llсii оliir.

зьlваeтся нс го'гoB, ts стallе систrllrrьIх проl.Parlмr|(r1]B 'Lеlit оrrсто,1T сщс х}',ке

нe ситyaIЦrя' а lIoJlul,lii ]\1ясоl(оl'6Лнaт. ис]ходl lЬlх Tекс1 olr опeрalIПotlнoiiсj1(,Te.

мЬт lleт, РЕ.фoРмaT дol{УУептI.Ц]oван I{oс-кaкl lloвt]l1еllllc с11сTеl\пloго зa].РузЧl|ка

вoо6Лle ]]e лol1ч1п1яcтс,l ll кA](ой логике, aдoпРoс с ]tPl1сTPасГ e\l (.lt]таii :lIi.

зaссeм6ЛrtРoвапIre) ещс нс мPalllllpуе1| чтo ос'ГалЬнъlс зaгРузчиxu ll()вед\.т сс6я

lla сeгoлняUlнпii дсяI, ]lе суIIIестI]ус,Г irx oдl1ol.O rю'!ес rljlll меllrс ILoppеIiг|iогo

уrlаковпl'II(а/прoтокTOpа ll()д Winсlor\'s, в пo'цной i1срс I1оц,цeр}inrrаю l]rсI о фIl]lM с | | | | } | . ' с п c I l ф | | | , , U | ' U o н , д U ] , \ l I ' ' | | | Г , , l | l ] , ' P n , с ] ' ' ч U , , l l l

]Iовсl1еtItIя систeNЛrьIx заr.PузrlЛкoв в oперацIloннъIх сисTсrlnх \\/indо\\s 9\ \Т,

с) Paзn11чньIх эNly.llятoРаx, тaк11х' l1aпI]rli{eр' как wi11е, doswin32. !|Ь|j\.lше \.\tо,l.

чll}l| хo'r.я tlaс тaк 1I пoДмl,lваст сказаTь' чтo фаii.liьI' ],пairoваtlI]||e AsI,асk. в срс.

дe doswin32 лrт6o нс заrryскaroтся loо6rце, лп6с) Pа6oTаюГ ltlаline n.с aini'lьнo,

A всe поTolfy' что yпаковщик АsPасk riе сooтвL]Tсl.ву.]1. слrltIiф]IliаЦItl!. заN.ra-

дываясь lla тe oсo6сннoсTи сrк1е]ttllоro загPузчиItа' IIp(с\l(rвеIIllоtтlt Ьiolopьl\

никтo и п'rтrомy нe о6сщаЛ, B JrучшeN' слyчае aвтoPЬl э\'1.lяторolj пoсJе ж\'т'iolо

Page 54: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тPexэTаJкжoгo мaтa дo6aвляюT в свoи пPoдyктьl 06х0Дной кoд, гIрeдназначeнriыйдля o6ра6oтIrи fioдo6ньix изврaцсirий, в )(Tдrneп( )ке _ oстaaляloт все каlt €сть'мотI,rвирyя этo сЛoвaмtr: <IIoвтoрять чРкoe пI'lol{epстsо с€6e дoрo)кr''.).A вoссTаIloв'ltеЕиr поpажеtrньIх o6ъerФoв? М{oгиe файльI гIoслe зapаxeвия oт.кaзъrвaют в pа6oте' Й поlтьIтка вьlЛeчить их aнTивиpyсoм лишъ yсyIу6ляет си-тyац]rю' всЯкий yвахaloпiий сe6я прoфессиoll&п дoЛхеtl yA{еть вl1чищaтъ ви.Pуспьlй кoд вРyчlryio' пe имeя пoд pукoй яичеm, крoмe hех-peдактopal To x{eсамoe oтнoсится Il к сIUtпlю }maт(oвщI,llсoв/дeзaктивaции Eaвесlrых прo,reктo.Рoв' эй | I{тo тaм пачLrнaeт 6yРiraTь лpo злo611ых xаI(еpoв и нeэтичпoсть взЛoмa?ПoMилуйтr, ч'го зa фрeйДис:rские aссoциации? ! l{y fie,'rьзя хе всю )ки3пЬ чTo-тoлoмaтЬ (нaдo lla чe]!r.тo и сидeтьl)' B Maйсrсoм яомеPe 4систeмI,oгo aдмини.сTpатopа} 3а 2004 roд olly6ликoвапа зaмeчaтeлъная стaТья Андрeя БeпIi(oва' хивooxl.lсшваюrцая тpах с пpoтeктopам't пoд эмyлятopoм witle' как гotoрится' тут цeдo )киpу _ 6ЬIть 6Ь1х(и!у. кaкoй смь1e7т плaтитъ зa peгисTpaцию, eсли вoспoJIь.зoвaться зaщищc1lEoй пpoФaмiloй всe paвтto дe yl{aстся?lсo6стяe!llo r.oвoPя, зсяtФе вмelдатслъствo в с.фyктypy гoтовoгo испoлняellloгoфaйлa-_ меPoприятиe дoвoлЬIlo PиclФваlтнoel и шlанс сoxраl!итъ cмy pa6oтo-спoсo6ltoстЬ I{a всex плaтфopмaх дoвoЛЬIlo ueвeлик' ollнaкo eсли вьI вbe.тaftиyBeрeIIы' чтo этo вaM fiеoбхoдимo' пФкаJIуйoтa' oтнeситесЬ к пPoeктирoяat{иIoвllедPяемoгo lсoдa сo всeЙ сrpьeзнoстьto и слeДуйтe дaльнeйrДим Peкoмe]lдади.яv' oни вilм помoryтl

Page 55: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 4

тЕxникA BЬI}кивAHияB MyтHoу| BoдE, или кAкoБxитPитЬ AHтиBиPyс

3da?овt!, iРфlсuцlp! Ilmo mа]!oй lp!!anньЙ? IIoсJlеA}l ii ?nрo'яIl, кomopоza mы 3а6Po|:uл| o61ltlpу:,с1lJ|u еl11,е 1lа uзn|'nе.?]4 весb 3аAума]|1!ыЙ 7aа11 nukmеn K че?lт1ц? ] h111u соoЙ ! Ihno 'tl|э!|эlсеJ]ц mак |np1]dllo? (jкацuй vi|iiL.lb ' \сomopь& DР!a пpц.оu в с?|nu, uonrpea! Bсо ?а(rнo nоoя|n? И пРаo|Пь11о _ неma]с'по npaсmo наnuса|nъ rapouluЙ вщл, /Jа е1x)? u ан|luвu-paс|ll1|е сra|leРIL l1pевpaпunuсь в |l еnЙnpе6нь|е эвpuспuкu,О:{ цэ!с э|nu анln uвuplJсuспьL - веч]1oч|na-нu6цaь npulg\,1a-юm, ч|nобь1 uс|1op ]|ш|n|, э|сuзнъ mакLц, ]|ак mь! ' H$ aa нuце-20, 71l' |no,Iе I|е 1la оасu]{е nuса|lъ| ) ДавaЙ paзбщanься'1|а1{ !с]||poаlы эlnu LI с!nеp|щnе,p|lа|}o?oце||ньLe npo,paц-!1|ь|' <ucnaльзg юu\u е't еn oAьL эвp u с|n & е.кa 0 аn а]uз а >,

веndet}HасkGroup

3a миIlУвшие roДъI IIа свLцкy liстоРt1и 6ьrлЛ отпDаI!'цCнъI дeсltl.{jr тЬrс,.J nIр\Lс.Jв' тpoЯнскиxкolтell, сl1стellt удаne]Lfloго aД!itl lI(.i|l!lnoi]^rllrj' lI l'r)..ч 'j1 .'r'о"'l.,lj.нoй братlIи, )кизнellrlьlii цrlкЛ этпх сo:lдаlll]ri (,i!]J(]. jtо rt]iсi.у rlр.rсTl] ii!ii!l.сoв>) oчепЬ lreдолoг' сToит Toльltо пoпаст! ! J:lnы ri l]BГ.яцю каслсIji]l'ir:'l.'. .ileпyTaть с кpисоп{ кaспeРсIоl lvlьl Jle т(),1lьl{o Рxзп;rс jlloди, ]lо дil,кс ]rс о)ilс/l.!i{и.nьцьI1)' кaк в реeстp <1rх РазьiсIirlrаст лo'1lrцпя' /lo6авjlяе,гся I]oЕaЯ З,riл.i,Jloс.lrе чeгo вирyс 6ъeTся !l1ст,,-

Page 56: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

58 .лаga 4, тexника вьхивaниЯ в м}тнoй вoдe, Или кaк oбхитpить антивиpус

Мoхст,1и вирусl{ая эксIlанс'lя пРoтиirостоятЬ aн'г]lвиpyспoIi агP€ссии? Boпpoс

сoBсеNI tlс таlr прос'Г. i{аI{ I{:l,кс|ся' с oДIiori стоpонЬl, сoз,,laть пPинцlIIlиа-nЬпo

Il €дcтсItтиРye]\!ьil|i вllpyс никo}lу пе yдалось (l1в o60зРliNoru 6yдyщсм }rавряlr л!l

yдас]ся), .цеi.lо тyт 11€ сr!'llЬкo в oтсyтствии свсжl]]i и]Iеii, скoлъкo в сJо)кlIoсТи

их pсаjlll3aции' РазPа6oтка <i]lеyJloвипloго' gиpvса тpeбyет кoлoссa1lЬнЬIх yсrr

лиir, пoNllю'(erII'ьrх нa в ысoту к нaЛIlфикaцu]1 ll ]lPо4)ессlioliarrIrзl{аl нI.lчеl!!' в ко.

ll €чнoм сЧсTe' пe noзнагPа,кдасr\lьrх. ну п (oпty xз сlleциirlшстов этo нРкнo?

C дPyroli стoРoньl' Лаl!ятyя о тorl' чТO сTiцo l!1Ьппеri вaлllт кoта,l1oжllo скaзaтьl

чТo сo'ГI Iя .Г},пеIil]rlх (нo сtllе lI € пзB€стнЬlх ]lауке) в1]pyсов iiапIнoгo oltaс]leе o,1

нoro лo.aиlloрфнoгo aPll(:loкРaта, ПPIl усЛoвltn' ЧTo вrjpyс rre ловIlтся эвPис,lи.

t{oпl (а ll €P €xптpl!ть эврлс]]iIt очеllъ лсгкo)' ltoка olI пe пoпaдет в 6азy ДаIllII,iх

at1TивllРусa' olr 6удст )кx,l.Ь Jl Il]loлoтIrоPrro PазIrlto)катЬся. lly а пoтoп1',, <]пlaвp

сдсЛaJ сRое,1€лo''. ]l эс1llc)сТу пеРехBaтnт ДPу|оii. Пpllч€rv сoздaвать пoвый вП

pус <сrIуЛя} сoвсPшсrlJIo Ilео6ЯзaтсJlнo. 11Р и rкеJJаllип (Iпlтаii - oтсуTс1.вии идeй

I,I'ГвoPчсскoгo зуда) ]l(х)'Ix'Гoчнo сЛсгltа ll{vl]!]азать r{схоJ(IlьIс тсltс,|],] y){(е Uзпест-

rloЙ аятпв]1pvоу llР()Ц)ltilll\iьI (нnIlPиIlср' ()1rюпlпиaлpовaть /lPуfllм коlllп'IЛятo.

Polo, ЕсЛtl )к. l lсхoЛllьlх тс Itс]\) в llс'г, i!]оnnю пoпздurаT]]сЯ ll0I]oсPсl]lствellнo rlаll

саNrrlпl !|сlloJlIlясl l'r\f фаii,1oпl, tso,| oб )ToN' l\п' lr погoвоРимl

кс,].irтrl гoвoр,' lIс l ]Ь] T1l i]1цъ Pасц.lltlBа lЬ ),гу t)lilBу кaк пР}i3l,lв IlI4сa'гЬ lUIl|1Toгo

ILyЛle' рilсnPос'l.Рn||'П.l' RпPусЬI, lIа этo c(тl, Уl{ и блкlлyrrtrlс cгo oPralrы. Мoя lrис.

с l ] ' | i l Po lц( . , l всс l !Л l , | | | l ь l |Ь|1 .дx)сьпo l . i Lз i r гЬ(|1/ ioкrJaTЬ) 'чтo ' [ Io6of iЛа]\ loР ,сЛer . -кa oilкPу1,l1в l'IlP!(' N|(,кст п()lIi!1cII) ll0 ()Л|ly с('Гl||o |.тоJlЬзoвir'п]Л0ii' сBяn) всl)я-

l I i l l х l ! чy/ lo/ tс i с r r ]с l l | |у |o с t , t ,пy свс l ссoб lк lвлсI l l r ] , Ix i l l f l l I l ] I lDусoв,

Кстaти o6 o6псlв'цсrrllях' }1 тlк пlьrс''rrtl' .rтo разра6сl,г'llt]('t пoсnс'j(ullх lLс зР' с!oi'i

хЛe6 сдят, [Io:jToi{y lk] |IaДo коllIlPоlrа'IЬ |jPIllx,lellIJъIe 3лссь ItPrtIloPЬI кaк eсTЬ _

сIlустя l(lкoo'|о rtрerrя ра6отaть оrrlr yrrсе lrс 6уitут' ЛpoЯв]lяii'Гс 1JIllllIп;rтпву|

РUSLI ххх rЧо,(ll(J зilмснnlr, ItlL NlOV ]]AХ' ххх/РUsll ЕAх clце тьIсячу дPy-

гlIх ILоI1аJlД, УчпTе I{aтчaсTЬ I1 IlРl)ГРаi\Ii!''Dоrlанп0] БссIlrla'|IlЬlii с6Q п yllивсP.

саЛьrl]nс кPlксРьl 6l'Il]alоттoльI(о rt мЬll1lе'ц()вках,

....лAвxoЕtEciь-lo сoвсЕl1'

Page 57: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

техника вЬ|xивaвия в му..нoЙ вoдe, или как обхитpпь антивиpус

нAши гEPoиts э{спepиlrснтax Jчaс]вy]от: сисТепIa yДarreI l]Ioro aдlII lпистpиPoваrrиявасk oriiiсc 1'0 (вlteстo не€ п{o)к]lo t1спoльзoвать .1ю6oii дРуroii испo-rтrrяеNЬlйфati''l trлrt DLI-)' aнтrrвиPyсьl Dr \VЕB 4'31' AVP 3,6, хalieрсtrиi.i рсДактоp 11lЕW(веpсnЯ пo вrусу)' pсДактор PЕ.файлов PЕ-TooLs IiJlи LordPЕ (oIlи пPаr!ти-че0(ll lloл]]ос'Гьlo l.lllснтич1lьl дpуIдPyry)' упакoBщrfi{ AsPасlr 2,11' a тaкже нс.кoTOpьIс дPyгl.lе TyЛзьI, yпоNoшаспlьIе пo ходу пoвествoвания,

нЕмt|oгo тEoPии,или пoд кAпoтoм AнтивиPyсA

l{ вс].lъ llахoдятсЯ )кe Tакrtс х,,. lji{п{..' хoрol]lиe JIlодlr (нс по xaРaкTсpу' а B сi|Ьiс'Цс сoBсеNl хoрoшиL])' ч'Гo 6cзoгoBоPоЧtlo tloлагаюl.с'l a aпrrlrrиPусlI l]| сапlоjl()'roЛьllo Iloхрю(l{ Ilaя1 Jа'lвjl'lIoтl чTo lJсс i])аilльr Ilaдаttнo]v д],|скс/саi:l].c flpовo|].|1Ьi са]iJI'lllи ]loслсlIIIи]\{lr в0P(l,IяNilI AVР/D|,WcЬ' rю'гoмyздeсьз'lItta всc rrttltrтяк,lllulвпЬIcl Ес.]lu антIIвI'Pус lэвoрuт' Ii,Го оIl lt чcгo llе llашсJ]l тo и |()lllli!lа'Гb сtоt"llсдуст 6yква'lll'llo' Ail'гrширус' Ни.reго' IIс. IIаllIcл, сTiUIo 6ъIтЬ, IUloхo rtскiш!AIliUIиз iIoка3ЬIваcт' ']то IloдавляlоIIloс 6oЛЬrlll.ll]ствo aштивиРyсoв испo.!lьзvIот(]IlгIlа'rуРItьlii пol'lск с '(ссткоil пРиDязt(oii к 1oчкс 3хoдa иJlu фl'зи.lcскolt]у сrto'lцеllrl]o л qrаiijrc' {{'I! всc этo зпaчи1.? IIе вдal]llясЬ в нeра360Риху тсD]v llo-llогlrчссItl1х l.oпl(ос,гсLl! о l.llстиlll' чт0 сlгн^Tvрoi IlaзЬlвастся yllикаЛьllая пoсJIсдoвa-1()IьlкХТь 6iiiГoD' ()дIюзнa'llIо иlLcIl-rlкlrxЦllрyJ(ЛцаЯ вllpyс, сиl'tlаlvpa IlФкет6ыть| , ' I l . ' , , l ' | U I U ! n i i l , | ' | | n I l v . n , D t A D в F t r ) , , ] ' l | , | | P i l , ' 0 е , к ' | | | | U l i ( r : Ъ п l ' I t \ е l ' ,0 L ? ? ? ? A D : ? в t ' Е F , | ! . 1 l I J | . j ] U 6 o " " , ' | ' . e т , , | l , с o i i 6 J i l т ' i l } , | ю 6 0 е I . U , ] | l l L .с1во 6llйтс)в B,t{llljIю]'i noзUЦпи). 1lolсIr пo рaзpсrкснноil сиf]]а-rypс lrначe Ilа3ьI.ваетс,l ]lo].1с]LоNl 11o Nlаско' rr этo lrаrr6oлсе пoпy.llяptlЬtii аЛгоPl'l,l'iu paспознаваlIIlяпа сегoll]IяrЦнlli.'lellЬ,

Дlя 'ц9!i.',].9"чз !rl,lsщ."сl.!oй скoрoс гIr сI€пирo ваl1ия aIпивl.lPусьr лpaктIIчeс к t tlIIlкi)rдa не afl алиilшpylот весь-ф]!щдg.1l!(oy' arPаничивaясЬ 6cIлоil пpoвеpкoiiо,lпсlй.двyх кЛloчeвr'Iх тoчeк 0иxpиillеp' окPсстностiii-ioнки вxoдa в r]lаii'l. тoссТьтехячееI{l с кoтoPых rl ]]aчrt]aeтся еfo вьIпojrпeпие), Pоке ltспl)льз\'стся пprtвязка к сNlещснию сilг11а'lуРьI o'Г]тоси.lольrro начaЛa фariлa,Полпl"i(Ц]фньIe виpусьI пятoгo и шесToгo yPoвIleii lloлимopфrlзlla' нс сo]epжа-Illие ]iи oднoil посToян]toй пoслeдoвaтельlioс,lи 6aйтoв' ситнатvpныrl пoпскorrvке !с 06нару)киваются, и дЛя их детектIlрoвания lтpихoдится рaзpa6атьIватьlесьлl.йзбniръiiпьrе метoдики, сaмoй известнoй из кoTоpьIх Являeтсяэ\NJяцЛяп|oцеiсopir (rтaзъiЪaёмaя тaI6кe Tехнoлorией в иртyалънoй lraш иньl), Aнтlшiрl;с' i . ' ,1 ,н,;n| гo ^, ' 'Pв".vЬ/ фiиЛ ч"PeJ "\ lvля]op' дo,{и]аeт(я, Ioк" пo.1] i r topф.r1ъI',' дви)lсoк Paспluфрyeт oсlтовI{oс Tелo вирyса (если фаi]'1 деilствIiтenьIlo за.цlllфРolaн)' пoс]nе ч9гo пpимeIIяет стaPыйД06рьIй сиrlraтyPн!п"l полск. Этo до.

59

Page 58: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

60 rлaва 4. тexника вьхИвания в М},тной воде. или как о6xитритЬ aнтивирyс

вo'цьllo pесypсoеi\rl{аЯ oxePац'1я' п 6eз осо6oii нyлдЬr axтивxpусьl к ней стаpа-

юТся lIe apll6егaть,

ПoДЛпIIlIo поnlrпloP4rные в],lрусЬi' пonнoстью ]lсресl.раllrакЛцriе свoe lсni] ц()

ttoсЛer1пегo зaхудаЛolo бай,га' эпlу"!ятoPoII у)i{с l1с oбtlаIrу'кlrRaются' од]1аxo' tso"

llrРвьlx' т:tкIIе BrlPусьl суrLкalrrуrот тo']тько тсopсTllчсr:х]]. n Bо втoPъlх' дrlЯ r1х

дeTeк,Г1IрoвaIr]1я за6na1.(,нрeмL'rпlo Pазpa6oтaна l]]xlll]'(oг}lя Jоrlшескoii Pсхoll-0TPyкцпп aлroPllТllа l]сОlеi(уerjоii прorрам]\]ЬI (Тr) ('сfЬ аx,|llвllPyс смoтPII'г' ч1()

дсnасr. даtlЛ lя п poгРall lla] r lгn 0рtlpуЯ [r) ' l{ак I l lrell]lо о flа этo ]]сjlllс l),

ПoскоЛьку 3llPn,(eiЛlьr]] ф:riiJl l1oжст 6ll,|ь уrlа|(Лrlll (lI юrЛa вIlP'v-'сньlс сl1 rlа'.y

ры ока'{уТи 6ei]|iaЛе)I(Ilо 1lскan{сxЬl). аllTlll]ll])}'с noJnrеJJ 6ьrть гoтoв Рn(IIlкouaтъ сгo ' ll poс1 сii l lп e }'r lакoвIrill кx ра сllil к(rj]l 'L нr|( |l ся Rсe 1eпl 'iс эl v.Itя1 0 Pо Nl' l I()

N ioнстPo l l l снa6,к i ] I ] l l ь i х 6о ' ' IЬr l l l l l I кo 'Ц l l . ] (х : , l вoN l а] l r l l оTJnдoчI l I ] l х I Ip) l с ! |oI l

(^.sPасk ' LЕ l (х : l { | | Л l ) ' тa l i н ( t JoзЬNсx l l , ' / LJ rЯ 6орь6ы с J t ] i \ l l i пр l l хoд l rк jЯ ] )с . rЛ l lзoват l ' с l l с l l l l i ] , ] l ь I i ьJс P i l спакоIJ l l t l l i l | ' ( ) | ]о i l l j l кnILJ l с <свoI l ' v I lа l iовU1 l l к |к) его с l i I .

наTурс . , '

иTaк , кPуг замк l lYJ l с ' l ( ] с l l Г l l аTvP \ Iь l I r lча . r l r l1 ] l ( ] l LП l r , | ! ] ) l ' r ] | l сP l l y r l | сЬ r r ко j l | ( ]

0 lе пJ -Taть с т !N l l ( ) l l IL l )м ' | |о L r l ) l l l ] i I с l j l l Jо ( l { ( ) l1 )P l ' l s | . r | | ( )6(х ' I r l L I la .п( ) ' ] t с ] lач i l ' l | ( ) ,

al с п0i}l]o'Цсlili,] сltilзil1't)' !l:''Lс rIc п()JlrосЬ),

плoxиE |l|ДЕщ у|лv| чЕгo нE HAдo дЕлAтЬПодп{снa в]1P}. l i)ii (xIГilа,ГуРьI заPa,ксllllo|0 (l)t]iillit Jl.о хyr.tlllая из lдcii' xoTt).

l l , l , 1 o 1 L | , о \ | U ' г l | ' , l ] ' ' | | | , у . o | l ' , , ' U Ь | , | ' ' | у , У ] i ' ] . | ' , , ' J i | | | , t / ' ' ,

" l l к ' ' l I l ' , т о \ | \ , ! l Г ' , ; / l , | | , : г L " o : о | Ь : ' , | | | . 1 , . U 1 1 1 1 г 1 ' ' . ' t r ' о l ' u " r '

'Гaкое, что отличасТ ]?]p.DкelпIьii,I фailJr oн нсзaрaжеlllloro? cllгfiiтvpа, rlт(16r'l

гrpon,ги сквoзь всс] аl1IIlUl1русrlыe засЛонъI' сrrcдyсT заl.Pyзи'l.Ь пацrтепта в nох-

pсДаlсTop' Ilаiiпl этIr 6aiiтипll и зaIlеlIlIть Jп чeIгто ДPyrlrN{' ПPaвиJlЬxo? IIeт]

H , ч н . ч " I o o ' I U ' | | г , I i ] r y ' Ь п l я \ , | ! . l . о ч l l | | , | ' , | | ' \ г . | | я , l ' , Я { - ^ , | р \ ' n н | " ,arjтивиPvсншс 6азЬi xpe/]сTaв.nяiоT с1160й вcсьп{a наloPoчснllьIе струl{тyрьI дaн-

пьDi нaрeкoнсTPyltЦию фoрliaта кo.ГорЬrх "!егкo потрaTIlть всю oсTaвш1,loся'iIrзнь,

ПPli нaЛIrчиll rrсoгpaн]1чсlltl()гo свобoлнoгo вperIснll сигнaTуРу Ilorкllo rrаiiтli

l1 вp}чную' l1poс]o заТxp:tя РlплrJчIlьIе 6aiiтш11 в заPa,{сннoм фаiine и сIi:i|l!.riпвaq

Page 59: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-'фика вьD'{ивания в мутlroй вoдe, или как oбхитpитЬ aнтивиpyс

.гo aнтивиpyсyl пoс.дe тolo кa1t этo )киBoтI,Ioе пeРестaнeт pyгaтъся, Ton!]ro учтите,чтo деТeктиpoвание виРyса 06ьппo oсущeствлястся i1o ]IeскoJ]ъким незав11симьlt't , t г н э D г а l l , Z к и в o l | и с н о p а з м : L й | | | | ь | м l . o в l e м у ф J й l y и ' ч | o с J \ | o l н t п l ' l | я 1 | o ' ,ваРьируloщимся oт aнтивирyсa к ант вIrрyсy'

Пpи нarrинrпt нeкoтоpoгo ortыта o6ластъ пepe6oра ̂ {o)кнo сyцeствelllio сoкра.т'Iть' пoскoлькy aliтиBиpусЬI ]1prдпoчuтaroT привязшвaться к пeo6ъIчньtlr пoс.'.lедоBателъiloстямl пe хаpаItтсPtrьIпI для пезaРa)кеянoгo фaйлa' lloвсякий yмеющпй oпpeдeлятъ' vтoo6ьlЧн0' aчтo I'ет, сIФpе{.' tlallиI!ет свой сo6сTвснньIй виРyс,чем 6yдет пaчI€ться пJlаl.иатoпI, I( тol'y жe правrrа испoлIrяе]t{ьlх фa}.iлoв n hех'рeдaктope ' зaнятшe IIeд.ltя слa6oнсpвпьrх' flля сoIсpытия сrrгпaтyрьt нсo6хoдlrпrol|epеIllloaт]) oДllll иr1и l]eскoЛькo ФраIмеflтов вIlруса' 3aменяя сигIlаlуpнЬIr ячей-к1l altалoгtlЧвъIмIl Ii]\, коNlаtцаNlи/дal пIьlNtи' Ilo имсющип{il лPyгoe Ilашиr]нoе прellстаsJlL.нIrе, Aесли виpyс nсuoльзyет самoмoдltфIlщlруIoliцriiся кoд или тeм пЛиЛllЬtм спoс060м коптрoJ]иpyст цсЛoстIIосTЬ свoого тeла? зашифPовaяньIe л(r вл-РусЬl нrпoсрелствelшoй Iloд1tф]tlrаЦ]'il{ во06rЦс 1Iс lloддa]oTс'tl а llJlя lJх расl]пl(l)-Рoвlс]1 oпять.татф ]Jeо6хoДимaквaли(DикацlIя. B o6цeп'' lФaк..' Ilo мы 6yд€]t! /leii.сl.tsoвaть пo плаlry (Дalу lIас eсTЬдвa мelul(а oТltltчllolo nлallа!)'

гЕнEPAлЬнЬIй плAн нAсryплEF|ия'или кAк l4Ьl БУдЕм дЕйствoBAть

[Iepвос (rr сalтoе простoo)l что пPпхоДит нa уl1' - o6рa6oтать фaflЛ кaк'tм-|Ijl.oудь навесriъIМ упAкoвщикolll/прo1eкToPoм|, полIIoсlью ytl]lчтo)кaloщltIt всссll.rrатvPы' ll скoрмиTь оro антивирусy. Hсхaй пoдавrITся' чTo?! l]e хoчет .1а-виться? зпaчит! антивЛрус успeш}ro пePеRаpиn уIlarroвпIпIси ДoPваJlсядo вн\т-Peпltoстей opигинaльfloгo фaiiЛа, Tут'тo сиг]raтyPьl и пoперJ1и,Мorкнo 'lrи пpoтивостoять автоlIaтичeсIоIм Pасxакoвrцxкаnt] ничcгo нс с\tЬIс-.lяв асссм6nсре и пe рa3рЬ1вa'r свoюзаДппцу нaпопоЛaм? FIarlсpвьIl'l взI''lя'1. стoI!тлиr1Iь oтI(опать MаJloизвсстrrьIЙ yпaкoвщик пotroвеe Дa пoкPyчe Il всe бv.rеттopчкoм. BзяTь' IiarlpимеP' oBsТDIUN,l (http|,Wаsm.ru/too|s/12lobsidiUm,zip)' }io.

6t

Page 60: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

62 rлава 4. тeхника вь|хивания в мr|нoй вoде, или как о6хитpИтЬ автивирyс

тoРьIй NIногип' хaкеpaNi пr lo6лoма"r зу6ьr и с кoтopъ1м сn{е fle справЛяeTся нrt oДrt}1aнтIrвирyс.

кaк однoрaзовЬIij nrпpиit,'.акoii llPxсlr gпoЛне пoдoйдe.Г' rlo вoт rra Дoлгoсрoq-нvю пePспектпRy его пe ll:l'l.япеI]IЬ, Как тoлько вы6pанньпi vпaкoп]цик стallеTпoпyляptlьIм' allтигlирyсьI тyTжe сlt0iю6,]Tся с1.o PаспaкoвывaTьl чтo 6Ъr тaм п'rгoвори.]il] IlекoтopьIe огoJIтелЬrе хакepьlj :r].a во!]llная хптPoсть слIrшкol' tJепа

А лpyтие прпепп,r 6оpь6ьl eсть?]fla' It lLс oдиtl, а,Irак мIJrrllмуru' цельlх триiэ/r q.lno:Nеltuе .u|на|nц I) цnакoоul;tlко' внеdpеluе пodлoэtсl tьtх cuzlnlrцP l iезаnnuвацuяЭ"|tlJuonopо ' Pю6еp..$1(}| со всс]!1Ir нuruи Ilо пopядI{y,

Еслtl вьl6рaпlIЫй lJnvи уllакoвllll1l( 1taсTo]tl]]{o l{pvт' 'rтo не ltоrrtет 6ъlть pаспакo-ъaIl xa виРTуаJlь]l()iJ мa!]l1lIe i!]1'llвllPу(нoго э]!1уiЯтopa (vнипepсaЛьпоl1 Рaспa'коulцl,кe)' aI]пlul|Pус IlЬr|аe1.ся о||озl1а1.Ь уllаl(orцxк в <Jrицo}' пePедаuая 6Paз.дьl праuлe]llIя сoотllстсTRylоп(еii 11l)оцс/lypе l)l(]]|аl{oвк l J]116о pаспаl{oвъIвaroI]Iеlli

файЛ сaмoсToятеJI ЬI Iо' ,1rl6o l{ЛстPvJ{тlц]vllЛlrcii !lltyля-гоp на ttpсдпrст o6хolra aн.l.t'loт.ЦaдoчнЬix liРшсм()lr, 14сItазIIв сlJгп.iTvPy vпaкoв|цllкr' ]!l]n ||РсдотBpnтunI сгo0|юзнан'Iс' о6.цos1ав a!тЛBr.lP!с lIо lloЛIloii IIPoгPaп']!Iс, ПР '|ем' в o1)lичис оT (uг-ltа].yр сilII11х вllрусoв' lLо кo'l0РЬlх сl|(еЛоriоI|аться Ilа,.lo' сltглiL-IyрЬl ttotlу.Itяpl]Ьlх

уlIal(oвnцlкoв хoРolllо lIзircсT1iЬl,

B час'г]юсTll' для AsPllсk,/AsРГolr'с| Л()сT?r,|ot|lI() irirlc|)сl.Ь llсРl]ьljt бaйт ToчкxDхo, l ra ' зL l l l с l l J l60h ()I||()Л коУаi|/ l | ' l PL]SнAD) || i l90h (oIrко/r коMi l Iu l ln l{oP) ' стрoгoГ()в(Ц),1 l э1() i l с с()|]rc i \ l к() l ) l )скТirьt i i хак ' l l l l I )yI l I l lюlц|| i i 6 i i " l la l lс l |рoI]ку с,I .eка ' одlIд.|() lll,lкiLк ll0 сIta:]Ьlвilк)lIlпiiся rrlr рa6отoсlкlсo6lrrхl'г|l ]loдaвJI,lIo|цсго 6()ЛьlIl!llIсTI]a

1{2к мIJ бyдoм дсiiс1]x)нl]TЬ? I]oill,NIcI! bo2k.eхe ( ЛJl'l ,rll()6oii,l рyroй фAйJl) II' прe,r-вap I l , r с ' I ь r к l у6с l l l в l r r l сЬ t Ч1 . ( ) ( ) l l v ( ! | с l I l | | o r l | | ( ) 3 l I I l о l . с l l в t l с I ' l l . l н т l l в Iрусaми| пPO '

Iтус].ttм eг() чeрe:] As]);rсk, пoсJe l|сГо поR,l)l)llrl l|рoIleдyру ()

и AvI,' ll Dг'WЕв rlРо.I(oJ.]ILаlот 11t]з)кaTь. пo/l'пr{,р)к,]lil,r тoт qJaкT' ч1,oдаяrlшii уna'кoвщllк I'l11 х()]l()l]lo llJrrсс1'cl j,

загI)y)каем (hii]l в lll F]W, ('lllol(])а'l.l||,lll lIil)l(.|L.t1см ]|ll ЕNтЕR IloPсхoдI'Iм в ьcх.pc.

'lill lt] jlавllll F5) llсPсмсUL1Ulсь lr'Г.)чltу вхi]дal яlllrl1 Fз дJIя pазреt]IенLIя pe/]aктпРo.

вaни'I' говoPиll 90, пollТвсP,I]iдa' сcPьcзнoсTь свonх нaNteрelшl"l кЛa]rl,ппеi'i F9.Dг'WЕB нaсvпnлся lI rtоЛчIrт' AVP то'(с зiткlrу.nся 0)ис, 4'1). Ес.eсrвellll()' пo-lI]1No NoP ruoжнo IIсIloJlЬзoвать !t дPуг]aо однoбаilтовЬIe rtомallдьr, кal(.тo| inс eаХ/40h'inс еbx/4зh'inс есxl41h'inс edx/42h, inс esi/46h'inс edi/47h.deс еах/48h'dес eЬХ/4bh' deс eсx/49h, drс edx/4аh' xсhg ebx' eаx/gзh lt Mlloгше jlрулrle' t{e пaДо 3Лoyтio1!

Pе6.]iЯть 90h инaчc а]1тlIвuPvсьI IIPoстo пoпo]rtIятся iiовоii сIlЛlnTурoii' и всeI' H lLW ' t ' , Ьo. I o.| ," ' | i , . .Ь ||o/,ь|I l пnДхnЛq|I|и I ,1 ь| , \6 r -

Рo:!l програ\I\Ioif д,1я aвтоN{атичесirol.о зaTирnllия сиrнаTуP. llх ЛоIко наi'iтив CeTп, ToЛt,].o учTЛ Iе ' .Iто 6( )л Ьlll'itrcтвo rlз нrlх нс рa6oтaeт' пoтollу нто искал<а..Т сo!сеl!l llеTесиf]lal.yрЬl' llа кoToPr'lс pсаIиpуIoт анпrвпpусыj и.nI{ в огojlте"liolll

::oр],1вс э]rтvзIaзмa l.po6Ят фaiil так, чтo вl1сстс с аtlтивI.lP},сoм егo пePeсTaeтзI]авaтъ il са\1 PаспакoвщиIi, Tакl в чaстlloстrl' ве/1еT себЯ lle3дс.!у)кеlIllo Uollу.:яр]rъIй нidс Рх, Iioторь]il .rсж!lт пo адресy http://Wаsrп.ru/tоo|s/12lHideРх.zip,

Page 61: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Pяс.4.1. па]чим файл, yпaкoванный AsPасk, -замeна 60h на 90hсpy6ает а|.]тивиpyсь| напрoчь

КаIс aльтeрпaтивяЬIй вapиантмo)I.llo псзaтиPaть сигltатyPy oDигиllа.lIЬI.lolю yпa.кoв!цикal a' IlallРoТtlв| IlaфapцtиРoзaTь фaiiл пoдлo)tlt.ыми сипlaтyPами пPoчllхкpутьIх упaкosщикoв. oIIIи6oчвoс Paспoзпaпие упакoвIrlикa пDeпятствyeт eгoPaспaкoвкe' и аtlTивиpyс тихo l(ollчaст| oтпyскaя виPyс вoсвoяси' oДнaкo этoтxутЬ нe 06х0Дится 6сз прo6лeм' пeРlor и глaвпoei гДс 6рaтъ сигIlaтyРьt? 'Po.zpсuФ,|d-npomекmopы (тaкиel tlaпpимер' I(aк ЕPРrot http://down|oad'аhteam.oЦ/fi|es/oursofvepproteсto]1zip) пoдIшaдывaчт сиIнaTурЬI' lIllдоpгaппьIe и3 тJeскaнePoв! 'Лpoтив кoтoPъIх o}tи! сoбствеtltlo, и tlaцсЛсны' AIттивирyсы Moryт испoльзoватьдpyrие сигпaтypъil ,lolдa на2I(ивкa пe сpа6aтывaeт,Boзьмеl't bo2k.eхe (испoЛ!ЯeмъIй фaйл oт Baсk orifiсе), yпаrtyeм егo ASPaсk'orrи внодpим oдпy (a лyчrЦe нескoльI(o) пoдлoжIiьIx оишaтурl усЛРKпивo пpедo'ставлeпrlьIx ЕPPrct'ом' Пycтъ дЛЯ oIтPеlIeЛеппoсTи этo 6yДeт tЕ]oсk. в oкнe se|€сt)rкaзЬIвaс'м пyть Iс пoдoпштIroмy файЛу' в oкнe Insert signah.jrc oтмeчaeм вы6paл.Irую сиrlraтyрy (пo oДнoй зa pаз) и давим Irа Proteсt ЕP. 3овем aнтивирYс ri гoвo.РyN{: "Фiсl"

_ АVР с пo6eдонoсl lь lм хP|окol ' l свиrtьи, заr*ивo спvскaе, ' ioй в 1тtt.таз, paзpъIвaет пpoтивllикa в Iсцoчъя' DrWЕв хoтя и нe рaспoзнaет васk orifiсe'нo рyгаeтся на <вoзмo)кпo' wiп,еxе nиРyс>' ч1о не естъ хoрoшo (pllс- 4.2)'Пpичr,rtra прoвала опePaции в тoм| чTo tlе мьI oдни тaкие yrt{IlьIe. над}pить AvPс поп{oщьlo ЕPProt'a ха]rеpъI пьIтalись у)кe дaвпo, и AvР эry штyIсу хopoшo зtrаeт.

PескaвeрампlaзьIваютпрoгрaммьlавфмaтиsес(огooпрсдo,ениятипа!спolьзyer'orc}пакoвUrП.кalпрФeшopа/кoмпилятoPa'

Page 62: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 4' тeхнИка вьхивавия в м}тнoй вoд€, или как обхитpитЬ aвтивиpyс

нo смo)лст Л].l oн Paспoз,lать тe]l(eяйца' есци их развсрнrIть в пpoфllJ]ь? llaваiiтe пPoвеPrIмI загРу)nаеlI о6Ра6oтаriIiЬIji фalir в нIЕW' два}xдьI ]ra''lrшЕсм ENтERдJrя псPсхoдa в ассеNl6"lIер]lьlii рeхrill' давпlf Е5 дjrЯ lтсpохoдa на сl?,.и Poi,?r t1а-6".тюдaсlr l rptr6лизительпo сJ. lеду lощyю кaPтпн], (Pис,4,З), нaимснoваl lиeи pасaoлo,tеl1]lе NlaшIllll'ьiх кol!1аr'] i}Ioгyт lrapдинa'.тьньт:rr o6paзoм oт;rиuатьсяoтпPивсдсннь1хl !сдЬ ЕРPгoteсt пoJIrN'opфпьii,l прoтектop, нo сY'ГЬ oстанотся

Pис" 4'2' вleдpeниe подлoжнЬх сиrнaryрyпaкoвцикoв с пoMoщЬю EP Prot

]lахo]tипi l(еflL)'ll(v illr чoтьlPcх r1'rlll 6оJIсo lurc-Lpvrtц]Iii N0Р ll' llа)tаLr FЗ.l(tlllllNl llаЕNтЕR и r]B(),lnl1 ч'Го-Го пpолс аdd еаx' rbx/sub еах' ebx (щс аdd еаx' ebХЛо6:LR'.ll'ст x Рcl.liсlрy eах illIilчсI]IIе PсГl'сTра еbх a sub eax' еbx вllчI[|rсT сГ() ()'t,tylla)

(p!{с, a,4),lIажиIlaеIl F9 д'i|n .:охРаIlеЛrtя IIэl'cнсIlrlii в (l)aiiJс I] rtPогoнясм сro чc]rз AVt,,

[Iу r1noчeNlу мьr rt.r кplrчlJll? 1t},да дсва.'Iось Itlll]rе сnlюдoвo-1Ьll()t] 1l()х])](]l(Uва.

}rllс? l]ссfo ]Lве liоl|irlIдьr зaтollTа,r!t' ll l{аxoii PсзуЛl'1.атIIl вtlрoчсIi' llашe по'!o-

)кснllc ltРilijl|е lleплe'illo' пoвoдoв 'цjIя пъя!lJ{lt нсT нtlr{arl]]х (зlЦвulll,Tс o,|кРЬl-

Toс на paдoсr,х пItxо о6рат]iо псlл стy''r)' ltarL толькo paзpа6oтникаlr ан-Lивlrpyса' " 6 r r . r ' l r r t r ' t t : t e l r r , ' ' ' ' | , , ' ' , , ' . , , i , l , , " г ,

( r . ' l у ) . , д n г \ \ ' Г B . o I p ъ | , \ l , ! , | ' I l ' l ' . , Ь ' l n , \ , l , ' a ' , ,

чTo lln:r1о сl(aза,гь? нe вал{нo' 1lТo у)кIrflaст дсвушкy, Bажнo' ]jТо сс TajIцуc.LI

I,1 l Ioка остl,.lьllЪIе 6ynyт Tуpы l llЬl удаt] uм ts (аiloе L.l)дцe

ан.l.11виpусa в егo llпртyltЬIJyю r{аnIl1rry. Прeодо"']ст! Эr]y''Iflоp l1oжllo Paз.цl{ч.HьlIlи l lу,|я\1Ir' ЕсT:lвrrв:а) ]iorrстPYпцllю' кoтoPую аl1тl1вIrрvс пpоэI1уJrllPoв!Тn пс

з сoс1.оя]Irrll (самolloдlIфIщI1PyrощI1iiся 1r.ци саl{oТpllссnP]-ющиjiс' под' orrрa& ) Ё

Page 63: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тeхника выrива|]иj в м!тнoй вoдe, или кaк oбxитритЬ aнтивиpус 65

ri\, стрyктурrrЬж исr'Jrюцсний ! Т'д,); 6) кo 1андy! пРrIBязцзаIolIlу]oся t. свoеllУ}!естoлoЛo)кэнrtю в памяTи; в) комaпдy' нeиз'reстпylo эмyлятоpу'

P'..4.з. nатчиM файл, защиценный ЕPProt.oмl замeняя четыpe 0дн06айт0вЬ е кoмандъl NoP(or]и o6ведeны кpаснoй рамкoй) двумя дрyгими двyхбайтoвь|ми кoманAа]Чи

Pис.4.4. кoмандь|' сo6сrвeнHo гoворя, мoг}т 6ытЬ лю6ымиl rлaвнoе, {106ы oни нё oсвМмиза сoбoй никакиx слeдoв п060чн0й деятельносги

кol1' (lт!ечaющий oДloмyиЛи IieсIФльIсllltъьIшeIтрlIвeДelIпьI|!' пyнкта]l' ttьl6уДelll l !?вьlг'а гь aптl.отлцlоЧньI[{ кoдоll ' БyД}пlи в]le/'Ipеriньlм в упaкoваnныil фаiiл,oll пoдЛo)]сl1т хopoшylo свиllъro виpтУaпьпoй l{ilшllнe и ylрoбит allтивирУс eщедo тoro' кaк рaспaкoвщtrl{ усttеeт llo.llyчитъ yflPавлсtlис. Tyпoо попоnнеяие с}f.нaтyPlrorl 6азш l1oЛо)ltония не сrlaсст, Paзpa6oтчrпсa i пРидется всерьез засrстъ

Page 64: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

г л а в а 4 ' . ' , a о E o / в o , , " в v ' о i в о 4 " / - J I a , a 6 ' / - p i - a ё ' 1 v в у р \

til ( (ll]e]]nlеlJ(j'гIюnаIllrе llЧ]'г\'xjlьlIol.i \JanппiЬl. Ilтo iJе T.]Jъко ,rlорoго. Jlо lI !lо

I L 1

,1vлет рa6отать. r.lt1l ьl в:rя вllрr'съr от з:lгре6r'Iпri]r :]IIтrln1r!}'сllых J]xп'

I l ' i ! ' , . ' : | | ' | i . l l ' с р ' п "

4) r j j ' { . BrJ ] ) \1 .Ь l o6Ьг i lю раз ,18 i i гa I ( ]т пO(] . ] |eЛп l .Л() (1 ' l i l l ] i J ( ) ] ]n1 l l к ] | ' l l ] i ]я ( ]Ь ] ] еe кЛIc] I] l j ] l | . ( ) i ] ] 1 a l ) | r О в r r l ) ' / ] l с ' l ( ) j | ( ) ! \ ] ( ) l r | l

P \ ' сЬ j r l i l г сРn|( ' |n l l jч10\ ' r I l l в ' l r l \ ' г , lbяc . i l } r ( ) |01 l loс l ] l сяI l f inTор с r t r l I ( J ! r3а .

I ! l ь I ' i t ] п . ]ст ! I J l l i t \ ' r1псс: вnс i r | r l J} l ся l l с , i j l v сC l i J t lя i l l l B сcрслI l I l1 ' i ra i i ,па Бсрсr l(L )а i i j l , \ ' I l l l ковaI IЛЬ l i i r \ sP i l с l i ' г | r \ :з l t } I с l o в 11J ГW. l l i l , l i l l r1ar r | ЕNтЕR iL rя I IсpсхoдaB hс\'Pс'lllIl дllв]ju Е8 дllJr вх.]lrl r] P(,;'liJlrI зilгo'lI)]lJlll, 't\!l]II F6 ,1!Я |iрoс\It)лра' r i l 6J l l IЦr , l с . l l l l l l ] i . l l о :uо]| ' I l | i \ 'р .ОP Io вI ! iю j j с . l l | ( l l I l d ) l i i . Iа I I с \ ] . J rс I l rо i \ l } 'д l .IDr . I | | ( ) ЕNтER ( l ) | |с . ] 5) .

Pис.4'5' та6лица сскциЙ фаиЛа, yпакoваннoго АsPасk, t4еждy перBoЙи втoрой сe(ци'ми rpапЙ!ески вс3гдa соь нeмвoжeчкo свoбoдNогo мeпа

Tсr l срЬ l lP ( ] l {Р\ ,чI l t ] l l я I i vPсOP в l ]с | ) r i . I ]Ь l в Чс 'Ртoг .1\ с ! ] l l l r t I I , tеx t 'в r iоTОPo i iо6I , г ] I lo I l ) i t з \1(п l l t . r с ' \ ! . r l r l I l I l J lЬ I i i r iод l ]oP\1 l t " . lЬJп , l хпрoграII \ ! 'TaILчтt )

, l | ' | l | | | о | ' l | : ' ' ' | l | \ , . : i

[ . j I l l зд l ' сЬ Pас l lo . . l { ]7 i . l l r ] | l l l ' I l \ ] ' l t j l ] ] l ч l i ) JП) дP] L l )с , ] l l l l ч l lТ ' с | l { J6oднoго I lPoсrpaн.ы ' | | , | П o l ' , ; l . ! | '

" J ' , l '

спo6о1'1пос l\lесто г] др\IгlIri сcftцIiяri, О6J,l.ilIo .\\:IllDl'.W!]в этО во( гlрппl lNlxк)т' .

" r " , ' , . . ' r , , r , . l t l l t , ' t ) t r . t , l

]1 в l r l ]дрсJI l | с i ! l l I l0 | . r l i l ' ] l ( )LL . ] r )Ln) .Lan teх t б( ) . ! сс lпсд l IoчT l l тсJ I j , t lo (pr l с . { ,6)

в U tlJPя Гr, свo] i lioц ll( ]'til l.) в jll(,61 ). r lсс1r) il:lрt,с ri0Tоро Г|r Л aч I ttlа.тся с тoчIlI] Gс'ш'дtltJllt]я o6jI.1.TЬ 4)llii.rra I]с oT.rбра'{астся в вIlpтvаJьIlvю

l llм'TЬ -. ]аrPu]l 11, ll,аiir в РЕ.сl]i1оr' вl)ii;lllTc в Pllздс.'] seсtion ll ]Iр]lравняiiтсviгtL]аl sjze сеl!цl]11 'text N ee rаli size), в rtа!rс]r (.!учас этo мо'Iiст 6ь]ть "!ю6ol:ji LЦa1| L1з ) r r ] [ , l ) l l ; r aз1490Е0h 'З149LГ0h, | !1с гь з | . . ] ] .дс l з149 l00h I iа I . нa]]6onсс xP\ ' г -J5Iit' (]ltlЛа тo п rrvЛе,Г l Jllп])аIlJIеI Iа Jr.rвxя |])''l{nвхоntl iFlя xзмснсlIия кoТoPоii ] lpo.

Page 65: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

r4iиka вьживaниЯ в Mу.rной вoдe/ или какобхитpить антивиpyс 67

iiе всего при6еI,IYть к PЕ.editor'y, BниilанIrеI Точкa вхoДa 3адаеTся l1с в а6сl:r.Jloтtlьlхl a tr o'])l()сиl.е"tЬltЬlх tsирТyalьнЬ]\ aдРесах' отсч]lTl'lвасмЬlх oт 6аз0в0гl].i]!есa ]агPузкrt dJаiiJtа (inа8с Ьasе), п в rlarпеrЧ с''jг]ае oпа Pавнa 01Е001h' чтlr пРIl.аJoro,\l aдpссс в 0з140000h лa€T 01Е001h 'l- 0зl40000h: 0з15Е001h. ип!епIlo пo этo\l.vi.JPссy наlII кoл лoлл(еп возвРaTшть уllpавnснис, что6ы yпaкoвalIrll'ti'i (!а]j'ц сrtor.начаТъ своIo pa6.,'Гу. сoоIве1с1!сtllto дJЯ вьIч]lс.flепliя RVА.цpссt1антиoтrraдoч-нoгo l{oда lпn Дoл)к]lьl DЬlчес1ь tr] l1!]го jпi8е Ьase' Toглa }'Ьl tlonуЧrrll: 0з149100h0з 1400 00h _ 9100h' 3aII исl1васI1 э1o знач€ние B пoле entгy poi nt tt j]нoвь в{rзвPаlIIal]l!ся в нIЕW.

Pис.4.6. ooда мЬ пePeмeщаеMся пo нажатию ENтЕRЪ, Ооящегo на сeкции .rdatа,вь шe нeе тoлЬ(о хвoo.секции 'teх1, пyсгoe месго в кo|,]цe кoтоpoго заfloлнeно нулЯми

Еслtr лсе 6ыlrо сдo,папo IlPilвltjiъllo' II()сJrc двoiiiioго пanrаTxя lla ENтЕR пoсЛcдо.Пnтe,]|ь|loe || l{а1|lo ]irlilв],tt|] F8 rt F5 пеРellсссТ rlас аккyр;tт в окPeсПшr]I нoвоii,Гo]п{It вхо/.lа, К вrlс,lipoн!lю антIloт.flаДо,IlIoго кollа l.оТoвы? Б'tпtlt',, rlу вьr жс лс

на'пleNJ с сaк,!llpoсToгo с са\]оп{oДифи цjtpyющсгoся кoДa, зa6poсиIl tlасTсliиriстРvкlII.l к) tIеpехoда 11а oрrlгI,IIlLliьI Iy]о ToЧку вхo/lа II немeдJ.lе]li |( ) сс n с l l(J.]l l l I t tl,/]ля з,r.оr.o наlr IlРсдстопт ]lа6рAт! Lаl{Yю послeДoBаTе'rlьI]oстЬ ILo\t:l!l:li пoVeaх. а6со]]о]nnьLii r1l|,ес оrnpaй-пoц]|u aIodа/push 0ЕOFF/jmp esp' гiе ЕoFFh прet.стllB.liяет сo6оjiiltаl uIillьrj] лод n'.oilанды jlip eах, Эlipaн ЕIIЕW.aпoсЛез:illeР|llе'rtrlя I] вo/]Ia ЛoЛ)кe]J вЬlг'llядс1.ь пPIr6Jriзи'ГeЛьIlo ка]r на Puс' 4.7,

ПpoгпаB 4]aй.rr чсрсз АvP' lfl,i у6Oкr]Iaе1ся! чтo oI{ Да'ке rl lIe lI()Рlj|нае]ся \pЮ'кaтьl Dт'WЕts pьr.rrrт' нo этo яв"]rеIrlre врeil €нlloо: скoPo мьI eго r:16'ro\tаеtt oт.I{pьrвaeм rra рaлoстях свcжеo lltвo! МarтoсTь прoмoчиn Ioрlo Il ol]\тав раст\'.щш;I j(lrвот, пРисТупаеIl lс 6o,1сc слoяiньlпl фoкyсаrl, A lt\Ie]rнo ri ieрe.]ачеyпpав.IrнIrя пoсРеjlствoN1 сrpуIT],pнoro исitЛloчеlrля, 6o''rсс lrзвесlпoго поr а6.6pсвt1атyPоil sЕtl (I.oTоpylо Word yпopно пьrтае1ся заr1снllтЬ на sIlЕ), llllriа.

Page 66: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлa5а 4. техникa вЬrживaния в мyгнoй вoдe/ или кaк oбхитрить антивиpyс

IвI{PVсьI sЕн не эltулирую,Г, отJ1\дчик1t оT]1еl.o сllут кРьl.шсr1, а н:rчп]rающпc хаксPьI тotlyтв дnсIlетчеpe' Yi!o|piltr зa тРассиpoЕкоii oт стз.poсTrl }1 истorцснJrЯ,

oдl l}r lIз 'ap пaнтon PсaЛrlзal l}пI а тrlol)l;vlоч l к) I1) ко/lн вl,lг'п яl(и1 таIt: зaталкliва-с}1 н ('|.ск nдPсс с.аРol'l тoчшI вхoда (в нaЛIell слyЧae i,ю 315E001h)l эатаЛк]IвaсlI

ука3а1'с.rtь lrа пPс/rыдyIluIй o6Рa6oтtillк (оll .lleя(]{l' lr дBoijЛoпl сЛoвс пo а/-lРссуГs:г0] ) l l рсг I IстР l lрye сво i{ о6Раб0, r . lик y( . rа l lо !кo i i Fs : г0] , tа I lеРпI l ' l l l y стcкn,за1сll llо36yжЛacNl llск.lIoч€lllle! lIапРllllcР tlоРЬtвасNlся дслU1ъ illL liоnЬl вЬl|l('I-|]ясi!J J]ссylllествyкЛцу,о N1allll,I,lllyю кoмаllду l,I./Iп o6Paпlacrvся к lI('(:vulссl'llуlo.l I l с1\ | t ' / з l t I IL r I l | (с | l | |oмy а/Qвсy l l аNu lT|| ( l l а l tр l tMсpI lезсп l в J l / l ] )o) , l {oРo ' rс ' 6 | ' | , l l a 6Ь l(riul'гаЗl]я' а пolrо/LIn ]Ul,| IloJ6y,qleIlI!)l ],lсlсЛ,oчclllпзаIr(er)La Ilaii/lуTся (Р (l.,1.8)'

Pи..4,a. пePeдaча YлрaвлеHия no стрyктурнOму исключeвиlo

11ч-ro)к!? oбaаflтпвпрvсa 11оЛчaT' а o,l,livlriиjtll jlP]l дoстЛ)кclпII.l стpor(li 3149111h' ' in , ' " rьаrо- ." . | :Jr| ̂ п a l I ln, /LJ , (| . ' | | , , i : l ] l i , (L , \ , , , , . l ' , , ' l , с- 'solt-i(с oТo5pазIlть Irс1.IlIпrыii адрес пepeхoда (]IPавиJiьпьIii o,Гrlс,Гl /Lаl.Ь |t)мill|дуxfгапle).

I1агtoслeдoк rroдсYлсм вlIртvаJьнoiI \t:tпIrlне I!еIJзвесT]lv]o сri I'tнстPуI(цrlю' чтoLt116удь 11з набoрa IIуJIЬти\IеД] l i i l lьтх кoп{аttД Р lII+' Boт хотя 6ь l тv жсрrefectсh [eаx],l{oтороIi соoтвeтстяуеT onкoll0Е 18 00 п кoтоРitя oсуlцсствJrясT\треnrl{arоnlуIo пРeдвЬlбr;pttу lalrrrшх в кэlll. Нaвpяд ли анrllвrrpусьI стarтvт еe.r!!''lrlРorrаl ь, ll(J Paзвlr онп не lloryт прoсTo пpo1lустl1Tь се? B тo]\t тo Il дeio' чr ()lс Nюrу1.I I1с]1звсст]rая jrнстpyкl{l'lя ll!1ееT llсrlзвсст}iуiо ]1лпну' ollРlAlrеnиTl ссrl)аllr1цЬL эвprt(тuчсскпl]],r llетодaп{и liевo3llo]fl]]о, Эмvлятop пpoсто tte 6удcт'!rlаTЬl o|l{уда сNlу пpoдol'(aтЬ разбop кoдa (Pис, 4,9),

llрnвсlrснrrЬlй рансe 1{oд раскаJIъ]ваe1оя |]сем11 сoвprмсirнъIrfп аIшrlnr]Рyсапlll] }ro.Toшт '.lзi\1eltи r.ь llеPgъlс тPи 6аIiта на 0F 18 00. кnк эмуЛЯтoPьI скllнyтлaсTЬI, кс'Га.

Pис. 4.7' пpoсгoЙ самoмoAифициpyюциЙсЯ коA

Page 67: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.:lrика вьlxивaниЯ в мутнoй вoдe. иЛи как обxитpпь aнтИвиPyс 69

;l гoвоpя' y HIЕw'а i{Pьпшa сДt]Toжe (I'lс.l,10)' ПеPIrьlе.ГРи 6а]iтa сpывaют, i J IЕ\\ ,p| , 'Ur\ , In6i)| , , ,J n|о r . ' Р,o ' | , IL ' IU ]] l I ,o,L|| lлв1тЬ l Io ' ,1eJ) oЦ|| i . | tu.r .r резулЬтатс чеr.o rl1IстРУI{цirя mоv еаx' з 15Е001h (заltись в Рeгистp чпсла з15E001h):]pевPaщaстся! аdd teах] [0з 15Е001] ' bh (дo6aвr'Ть rс 'чсirrrс ]lамятil ' Рllоii пo а/lресy eаx + з15E001h' ]Ilaче]п,lе Регистpа bh). чтo сoвсlrl1IIe oдllO t{ тo жe,

Pис.4.9. тpивиаЛЬнЬйjump на точкy вхoда/ лoвяцийся в.еMи ёнтивиpyсамиl кслoрыЙ Черeзrес"ольnо се{'iд 6удет д0ра6о,ан в rеr'o -е1отpебroe

Ри.. 4.10. Bнeдрeниe кoианды prеf€фh

l]oдЬfГ('кlllJ пilIllll ]кlс1.ll)ксl ' l.l,l, мЬl

Лрaву Nio'сeм l opдI{TЬс'l.

|юJlу\и]\{ сlc]lvloцyю 1.а6nичкy' Iсотoрoii по

Dr'wЕB

кPиптoгPAФия нA пЕHЬкЕУпаковЬlвaсIl фaii-l.r кх]l{тe-.тъ Jrlo6ыlt пoдхoд'щl'lN aрхива'Горort' пo]цеpжrlвalo-

]цип! IIIифPoвaнис, 11ol.прав.aяеn' арIllв iroJIъзoвaТсJIIo вмeсте с паРolсll n ltн.

упакoвxа oв5lDIt]M'oM

улакoвxа AsPaсk'oм сзатиpatиeм 60h

AsPасk + sHE

AsPасk + ЕPPrоt + рaсthУпaкoвка в aрхив с пapoлel4AsPасk + самoмодифициpyюцийся кoд

вoзмо,+1o, Win.еre _ виpус

вoзмoхнo/ Win.ехe _ вирyс

Page 68: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

70

стpукцисй по erо pасl]Iифрouкe. Ilo.!ъзoвaтeЛЬ PаспакoвaTь d]аilл сl{oя(er' а а1r'тивиPус . яет. правдat пPrI aктиl]]]oпj lrтrспeктopс зaPDкellllrnil файл 6удет aв-тoпlaтI'tчсск]l пPовeреll пoсnе eго из!Лсчонпя (а у 6oЛьIrшnс,Tва пoльзoвaтелеilrIнспeкTop aктивeп)' к тoмy '{e l1аPаIloидалъltо нaстpoellIlьlс lioльзoвaтlэ.Цi]сI(лoll]Iь1пpoвеPять всс зaпyскaeilfыс q]аIiльl вРуЧнyю' кoрoчe roвoря, сoбытияPaзвllвaются' I(ак в al{скдoте: o6loняeт rpy]иtl дcвyruку' спloтPlrт еii в лtlцoIl вздЬtхаeтi <Эх] Taкyю x..' llсrtoртлла|> Лрсд.lioлrell]lая иДeя пpи всcй свoeйкpасоте loдl{тся лIrrпьдJ]я о6х0дa по.l,10вь]х стopoжcji' чт()6ьI тс нс лDЛ6пли вJIo-,{еJl,lя eцс нa излeтe,

i(aк вapиаtlт fсlЛ(tlо уtlPЯтaть в'tРус в сaN,oР:lсIlаl{овьIпаIoщlrjiся aРхив, а дляaвтoNlа|Iизaцrп.I пIlo/ln ttаpoЛя llсt|().l]'зoвaть т:'кую llrтvку, t €к Ьаt-фai'iЛ' хPснкакoii ail1.ивиРyс ег() paс:rппфpyеLI llpипreпительrro к z\iy шифрoвarJие l] уl1а-кoвкацеЛевoIофайлal lь|t ! l , lдЯтпР 6rtиз l 'теЛьпo1. lк:pkz iр,exе.аdd.mаximuп.sfх .раssl'oгd=li$suХ dst,ехe sгс ' €xe' a РirL( lta(oslm (с автoNfaтическим запyском l)1.ак: dst,exe -passяoгd=}l$suх & sгс.eХe' l.lLс liisl]x - паDoлъ. dst'ехe _ vпакoBall-| | L | i | ' l , . , , r 1 , : l s " с , е ^ e - ' | , , i | . . | | U . , l ' с , 1 Ь , | l , ' r r , r . : ' " , ' : . ' в o , ' ' ' n . ' . . к u м a l l д l . " | N | ифаiiJta lrl, loзlliiTo R,\R оlI I loзuoЛя c,l. ав1о^j l l и чcс]tlt запvскalЬ DасI]nковalIl lу lo]IроrРамму,Ioслeеr pасшЛфрoвкl t '

Спaua.la ltсо6хoдпмo сшдaтъ лe!вl|ч|lыij зalIll]q)Р()ваttпъlii |rrхjl'tTсЛЬ, дЛя эTol.o'лPедвnРll'ГсЛЬl,lo yлаl.o|];lв Il0д06llый (])lilJl Zjр,oNl (с ll aрoлeilj ) '

'ГЬ] кaспl в пeго jlc-вoй кnaB шleii мI,lIllll 11 lrыбlIpllсrЧ nv||кTдo6aвитЬ файль|в аpхив. заTом в пoявив.|llсl!lс,l Лrla]ItЛ.otsoill ol{Ile с'Гав],li!I гluloЧкy сoздaтЬ si/.apхив' Ila вкЛaдко дoпoлни-тeлЬнo вьIбиРаoNI гlараlleтpЬi sfх, 'Iзмсllясrv ItyTI, PaсI'lак()вкrt с сl/Progrаm Еiies aToк},rцylo пalJ I(y l{ l] сTрoI.e вЬ|поЛнить пoслe рaспакoвки I| и Lцсм спt ' eхe /с dst . exе .eХtlасt -pаssllvоrd=}tri5uХ&sгс.eхe' lla вкЛa/(кo PeжимЬ| ].oDоDllм R^R'v He пoказь|"вать | .ачалЬ.]ый диалo. ' . , . l ' ' t{I , , | . l , , l{ . тeкст / зF 'ачoк r .u6I lр;nr; , ' r r lнoк по nкv ' ,v r r r rа., к l t ^ | n ' \ | н l o к t J ( l ' : | r о с r ( r . , | ' ] l , к 1 у п i l I . l , | J j , | | | | o г n 4 ' ; ' , , r э r в т n м a i r i r . . , . t rpaсIlrl.крРveтся п 3n1lус,r.lIтся Ilсхo/]llaя пo/lo11ll1ljая прoгPаI!Nla' гaрA]IтиРoваlllloo6хoдЯlIlая всe arlTивllрyспlrlе зaслotlьl, под WiDdоws gх эTo. естeсTвен]lо' Dа6o.|:|- l ' . l l ivnU" ( в н. l i I lе ,гс"1о.e\е || lnr( iЦ ' , в.р по.n l 'у|ovv)

5ii..

Page 69: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ы

щ $ГЛABA 5

ФoPMAт PЕ.ФAилoB3|litкoмсТRo ч'll,iu'()lЯ с pЕ.(l)оl)мirTo]и Ilc Rхo/lит в Itа,]rу Jil/lачу| и IQеll o.llaГaс}сЯ, tl,г() llcксjTopыji ol,l,ll рa6отl| с тIсlIlкartlI у Itсгo у)I(с lll{сстс'l. су|llесTBустr l r|(D|(e( l .п() oпI lсд]пlй PЕ'(|]oPl la 'Га, l lo сP0, ' (и lп lх пет I l t l o/ l l loго l Iо l ,асTo'| lT le l lУIol)o|ЛeГo' OфllIUlajrЬIlltя сIloци(l)|l(itIl11я (M|с|osoIL Portab|е EJ,-ц,|tа|)k! а|Ldсo|r|пa11 objесt Fi|e 11o]1nа| Spесфunh \, |:ЙГlllсal|пая двyсllЫс.r|oIIllЬlМ 6116"r]eii'.]i}'Nt язъп.оNl, ск.)pсс нallоnЛlllасТ с{lrеРЛ.leскоIo кottЯ в вalryy\]с' чt'l!l ]Ditliтl]чссr{(х] рукот]одсTвo. .ца)кс сPсjrll сoTРy/Lrlltков Miсfosolt пeт сДlllroг() rйIlellllя п.)|к)l]оду тогo' как 1ll1сннo с"цодyе1' с Гo ,].оЛ ко]]aт],' и PазJrtчньIс сlrc1,сУl]Ь]е 3аr.рyз.ttпоl ведyт сс6я сплlнo llсoдlllIa|{ol]о. что л{с кaсастся стopolrrих разра6oтvп-коl]' To 3/lесь п вoвсс ЦaPит llo.IrЛirя Лcрaзбeрпxa'

llolпr}'arlпe стpУктурьI гo'Гoвor'o l1сIIoJllIяе]!{oIo фай,ta rrце нe надcЛ,lс1 Bас у]'elllrcj!1 ф6llр.!гь Taкпе фaiI.nьI сaltoстoяl.с.llЬllo' гоЛьтillи рукaп'п. ну иnrl' rla х}',.toiltloнсц' ILРrr ]loNloщ кal1eппorо тoпoРa. oxсpацl1o]rrtые сj'lсt'e]$ь] 06.'rагаюТ Uilс]lесьN{а'iссткпl{и оIpа11l,lчеll!lя]!1Il' зaчаст),ю вoo6щc нсyпoпrяrrУтьlппr в доrtуrlсл.т:iпt]rl I'i вaPьпpуIoщиIlи(я оT о/.Uloii oси It 'цPyIoLli, нс так.тo nрoс,l! создатЬ фаii,l'загpуrкaюrluтliся 6o;rьше чcllr llа oll]lоii ]\fa!пIно (кoтоPo}i' как lЦ)arrIiJо' явlяетсяllаlrl lli.I егo создaтсJIЯ ) ' oДин шаIв сT0рoIIy и затpузвпк oткpьr ваeт огoн ь 6cзllредyпрe'кДеflия' въrдавaя маJloиrlфoРпlaтивпое соo6щcвltс в стll.]e .Фaitl нсяв".тяется wiпз2{p]tЛ()жениеIo'' послeчelo oстаcтся 1oJ-lькo ].адeть|чтo жез.]ссьrJeпpапrlлЪно Grстaти l.oвoря, Wiпdоlvs 9х нaмнoтo 6ojlсс noдрo.'iо ;uiаrнoст]i.pyет опл16ку' неltWindoNs N.l., есJlи' копeчпо, l'eitoрPсiiтIrьlii фаiiJ lle 3гонIlт rев кPyтоrlзав!iс,a висIrсT oнa нa УдltвЛеII11e чaсто эaгpузчпктаtl пxсa.lIi ппo}le

Рь]' пe ппaчe)'

Page 70: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

72 rлава 5. фоpмёт PЕ файлов.Геюrtrческис

писaтeли ' зaтpагивaюlllие TeNlу ]tспoЛняемых фаii]lоts и сoвеpпIеIlнo lre Раз6и РaющlrссЯ в пpeдlleтпoй o6лaсти, за rLoтoруlo BзЯлIrсц зa нeи}Iеl l !1е}rл}дп]lllх rцсri прuбeгают к дoвoльнo грязIloму TPюl{у и подl{eltя]oT ollllv тсп{yдРyгoil' oт1.;Llш1ваясъ огу'(е сyшlес l.вyIoщJ'Iх PЕ фaiiJloв' сoздalrriьrх Лпllкеpoil'ol1и дoJro и зarlv/1llо o6'ь,сlt,lют нaзIlачellие кaлrдого из поЛеii' дi]п1oнстpaтI'вrroпрorvлиlrаясь rto ссь1ЛoчпьIм сTруктуpаl'! oт веРnпlllЬt дo дfia, хa! эTo и !аl{aкaсyllёетl сложпeе pазo6PaтЬся| пoчe]!lу эти стPyltт}'Рьl сЛoнсTPYпрoва]lь! и]!tсttнot.ак' a не rrпa,le' Какoй в них зarтожell за]tас пPlrч]Ioстtl.l ltal{llм lllleннo o6РаJoмllх '1Il]t]pпpстllpyeт сIiс'l'емrlЬliI заrPyзчпк? А ч,|o пaсч€т пPer]enь нo дol lyсТrlпIьIхJI]aчеlIllii? yвЬl' все этlr вoпрoсьl oстaются 6ез rl'l.вс l.а' чт€ Irе стa'|.l'cii ,гrrл l <.TЬсPoг|аЬIс ЕхrсUtaЬlе F]]с Еoгпаt ггom l.oр ro tsot|оm' oт Rапdv Kаth'a IIз N,IiсгоsoltD e t ' | ' , 1 N r l u г k T . ' | . l ' ' l ' ' 5 у G г o r , , r r ^ х , ' г l ' L | | i ] . Л ' . ' ' r ' , ' , , , | ! | t | | | L , , . 6 'lюзгll Ir ll:]LllI|сi,|Ь !r0Pтвopoжлeltttьtii PЕ.дaмпeP' пepeвnРlIваIoщj{li т{)JIьI() i.rс(гIIЬlо' (1)ltiiJIЬl x l]аilаIolцl!ii ||l в(сх oстa.IьlIьIх (duпDЬ]Il вс/lь пaiLlLсr,l), AItll'Цor]н.lr ьlпt o6paзопl пос,l.у пас,t.! ]\]IaLt Рi( tгеk' о6хoдnЛllrli 6азоltЬlс кoпЦсЛ i lt I l l PЕ 1i)aii"!llСT0р()||oii lI Jlач naкЛцllii llPoцссс oпис:lп]lя с (:cPсдпllЬI, ll() Tlli Il ttс дorro/rяUlиiiс l о / lo Лoг l lче(|к() lo l io] l ] lа ,

],IIli]t'lс ll0стYпaс'Г a|l1.oP сlаrьи lo6 уI|аi(овrцикllх R пoсJlс'lillttil pаз> Vоiodyа(http://Wl,\ ,W.1,1,аsm'ru/рr int 'php?аrt с|е=расklаsto1 ' l ht tp:// l ,vWи' 'Wasm,rLr lp . г l , p h p ? а r t . | е - p а с k е t 5 2 , l 1 , i | \ L l , 1 , о ч l I I l ] ' I l l I i y ' | | , | | | ' l , l J | | ( . | с л l I i , i ' | | | l l I l | | ( I ( r l .| | ( ) ] ( ) l I i t грyз . ] l Iк r i \ \ r i l )2 j ( /хР l l noпусTЛЛ!|x i t l l р t I )1 .с l iи 6( ) " l l l ' l |юс кo .ц l l ( loст| l0 ( l )а f i .1 ] l . | с (к l l х oшl I lб lЛ i ' | | ( ) ' l | |Ь l i i P iв6oр к0тoрь!х | l ( )1 .рc6oвa '1 6Ь l o , l LL0nЬ l lо i . i l ) I i l I lЬ l ,I IP l l в ( |0 i ' t r c | l | l (х ] l | | ]Л o i ' i р i16отьr oла t tиcкo ' l tькo l | с JЦ]( ) ' l с | lяL 'Tс l l l yа l l ' l к ) |1 T() , I |Ьк()до6aLI:rяcт вoпprlсоr l , V() lоdуа oетyоT IIa то' Ч,|o pa6oтa загpyз.rrrкa rклtrrоrr r, lol l с / loкуN l r lп l I i )оB i l | ] i t I l J l i l )1 (с Y Pусс| l | |0вr IЧа o6 l Iapу ,{ r t8 i t |o l . с J l r ] l l l лЬ o6рьIвкJ t l l l i 'dхрмa lцtu ' Hv ' 6ылa бt i ( ) l l а ] ' l o I (уп1eIn . l lD( )вaцa чтo 6 t , ro ' r . l r , rл l излк l I r r rлось i )i{акoс rl^N! дсJlo l()'|oгo' ч1o tJ Win2к/хР заIPуl}l(а d)аiiJа свoдIlTс' к Br,lJoll\rNInrс|еxt(:sс(tIoD.l вo.flcрвЬ|х, Л oс'гil'lLьtlых сtк|,гс]\{itх i]1'о lLс тaкl a вo-l]1.()P|,lх'э'Г() ссroДIlя Мiс]rl)sofL стpеt'lIlтся вссL ввoд/BЬlт,()/( lLс'цa1], чсрс3 Л]DаРl l|(r к()Г/lillll) IoРЯч|.|х ;]]\lеD]1каl{сrtlrx парпeli Д(li]дCт| что эTo тоРмoза' n llс Yскоperllrс' Ilo.irr|,i|xi| I]зn!c]l],]тсЯ п ]\'{]псгсаLсsссtion oтпDавl1тс]я нa зaсЛpl".ltllL,|ii ()'Lдых (B ч),-" . r l l I I . ]e ! l1a l IOмо i l кyI ) '

дxзасс.'N{б]rlроваTъ ядрo со]lсe]\{ Il е 6ссll oJ]езпoj llо вo1. заI{jIltДЬI aa,I ься Ilit In)JIY.]]с||llьlс PcзyJьтаTn]j Ilс llPoвcP]1в l.lr( пl! ос'l.а.ЦЬllьI\ oсях,llи lr косill с.IIvчl]о пс,пъзяlBерптЬ в ( r |сцпфll кaцllи l l o мсlr Ьшсir ruepe rla П IrJl o' tsсдЬ всякirя сп flll1(l)lr ка цrlя:'|0'Гсr,Лькo сJ'lol]аj a вс,rкий пРoгpаvмtlЬlii кoд .lиIllь часТl1ьIii с.lyчаii рeа]lJ]ilа-пlп, t,I r.rэ rr другoе пeпос1r,I]] нo x llерeмeпЧIlвo, чтcttие кпи'{cБ (pавllo IiaR Ir пpо.Tпpillll'lе п|l'alir'в в Yче6IIЬ]х зaведс}irtях рa:lЛllчlIoii стeпепп TяrкесТи) сщс IlIlкol.o llс сдc.riа-lro пpогPапlNIIrстоl{. лllшь oпьrт, сьIIl oшuбoк тpYдпь]х' дa ot5щсrлlсс ii()'ll.l1еIа]'j!I спстеlt]lцlll{апIIr пoзволят из5с)кaтъ rрy6ых ()ши6(rк, как говoрnlся,Ilс ]]аДaс.тo:lЬi{о Toт' кто лс'{ит' а IrTо 6сжит падaет' rrаступaетпа гpа6"'rl lr пo-падaeT JJ Jtoг]lчссRиe ямьl' Juу6oкиe' как кo.i1oдцьI I'lз Роllaца MуPаЕаl{]l (r(сTатr'lовoряj кoлol1еЦ Bо jilнoгих рeЛ]l].rlяx сl1\fвoЛизllрo!ал связь с лотус,гoРoнн1lr!IмtlpоNt).

Ав,Гop, lшeюIций .хJl.аTьliI oпьI'г сексуnJlj,ньш пзвpаl]le l]rlil с PЕ фatt"r]аN]и и ll ( )мн'l-lЦxi1чtlсJrcJ]llL'lс зr]aченшя сN{еl]rсяllJi nсeх структуp !{а1r сoдePяi,Irlloc свoxх I{аPIIа

Page 71: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

06щие кoнцeпции и требования. пpeдъявлЯe'']ые к PE.файлам 7з

llo в, в пРoцeссс Pa6oTll tl4.i < запlrс]raм!t,,, ' в таl('Iе коjтoдцъI пoпа]rа]r Лeoll lоЦlaтн.)

(;(а п с€r:iчас Таlu сrtдит)' Bсякoезнаниe пoдo6нo 6oльнoмv зv6}. _ eслtt его нс тРo.

гaть' оrr lrе 6улет пьrтъ, oтДeirьtнe прo6ельr. нсяс]loсти п I]eпопятнoстr1 rtсI fi6e'(iпn' I{сrгдa пt1!rt] lь рa6o.пIе заметкll <.для сe6я>, пPoстo juахаe]ttь Рyкoй ]l гoвo.

рlпlIь:Дa кirtсrя Pa3flrlirа' ч'jo 'эТот 6oлЪ1lloli lipасtlъtii pУFЛrJЛ'lпlк ]]eJасТ? lrnooTает

я(!1' _ и jlаJllro,,, кн]ш.il ,leлoдpyloс, T}Цхoчепrь не xoчeшЬ' а 6у]1Ьдо6I] Раз.по-,JlTь все l1о пdлочкaNI1 A9,юр вьЦа)ка€т глу6oкyx) lDизнатeль1IoсTь удl1rll,Гe]IЫlо\l! че]loв€кy, пtyдPоIly пРогPaпIN1llсTу tt созj1ате.nrо зalrсuатtlltьвoгrl л;ппr..pа ulilk

Iopпю хllpolly' пorJoгающсlllу так]rli тyпьIlI дyp!l'll' liilк я' rryeoдолсвать r\lи(l'I.l0сr{vю рску сTItlс (ftpi//ftp'st'l(,сabе]'пеvptrb/UniLink/) lt,rtIrIIеJl{Bо oтв'rчl1вrut)|у

rllr lrrлr сrтr6yрньlс rr trечeтILо сфоРN1уnиp.]шilllJlЬlс RопPосы ЕQrri 6l,l llс cгО rtоll.

сv'lь'Гall!x]l эТi|г.ЦаlJа lпl зан'ro 6ьr tte пoлy.rrlлась тaNоl:i' l{аltова oIrl с.тьl

oБщиE кoHцЕIIциии тPЕБoBAHия'пPEдъяBляЕMЬlЕк PЕ-ФAЙлAМ

',,ii ц.ilщ

,t},, ' ,1,)''li lfi fi 1:'(]'|l)ук'|!рlIl) ])]l]]lii,! с()стoll1'llз 3dlo'l.x,vl (hсаt|Ls)'t:ltlрапLt,tпоn шut llо '(itlадL

1,,g..1 r.' 'lr,,ьu.,'.т",u,n'i..l oо4rlr,я (сlvсгlaу), 11рeдст:iв,lсrrrro ],]jlllriiil ]l riaьiятirltlirЬ||]ll(''lся ir11) tJl?,l,Z,'{ ь1 '|jI о6pазо,u ('\nlш|i | пlr8с)' илrr rrрoстrl oltla.;orr, lr lll

дrrскс _ фan,ro'll' rl,lrlr i)l оltюl'ьм a6prшш.F'c:tll лo llг0!оJ)||l() ()6раT]|ос''|о lIoд ()6-

)ilз()Nl R0сlflа Iк)l|!lмаeтсЯ впPтуaЛЬIlЬI]l o0Paз'

(]6])aз хаPэ](1срllзvстСя дlr]'N{я 4)yltJtаNlснтa''IьllьI]!1l] lюl|яTl'яNIl аtР|цxJ.ll 6 о. ' u , , r , 7 , 4 , , , l r , 1 , r r r ' д c Ь , . . ) , l / l l l l l , / l 4 ! { | m : е . r | / ' ' l , I I | , | l | | : | | l ' . | | ' , , Л . l j , ! , t , ' , ' , ^ ' 1

' , ' J ' ч ' Ч ] u ' I ' I I 1 , ' | ^ с : | | " n " | l ' : ' | ' ) ' ; ' г i J r l n ) r ( , | ' . I r | ' : ' , ' l \ ' } | , | | , , | | ' ' ,

.lrгlllrllly o'г ilnаge llаse п naзlIачleмо]\!у l]сIloсPсд(l.веlIlю саNюi] oIIoPilltlIl)]lll(lll

сilillсrloiI.

O5paз к:тtr:твенньrм о6Paзo]\j дrлItTся fla с/,24?'tr4ьl (Р.tgcs), a 4)l'iiJ' пl' .",irl,-

pa фсiLoтs), BпpTYaльньlii Pni!\feр странnц/ссl{Toров явlIьi:"r о6Paзrлr з:r:r:Lсlс:l

r заIojloв,rc фaiir|a ll ]lе o6язaтсльrto Должeн сoвItадlllЬ с 4)l|:]lt.leсlilli\!

tlPиt"l ЕчAн иЕстpoгo гoвopя, нИкaкиx вирryаЛЬных стpаниlJсeКгopoв нет, и нe вздумёЙт€ н']iоti o |'lхгoвоpи," , ч ,oб . нe гoДrя1и Рс l !е{ , -еpи/н

гoвopитЬ o миHиМaльной порции (кванте) даннь|х' pавнoй выбраiной кpаrlJс.i t..]a.' rro пoсrояiнo набивaть так0e на Mавиanoе сi/]iс! д1']9r.

иJ,тoмитeльнo, корoЧe гoвоpя _ явас прeдyпpедил. Лo какol4y п;авl n зtэ1свoю -€p

минoлoгию? Дык, Moя сeлeдка (к|1иxка всfiыФe)- чтo хOЧу, то /lara€]

Page 72: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

74 глава 5. фopмат PЕ.файлoв

CIrс'ГеNlньlй заIPyзчик Tpс6yет oт o6разa непреPьiвtloстпt дoкументaция жо о6xoдпт этoт вопpoс сropонoй' lla всом прот*дснии l'eждy iпa8e Ьasс и iпagеЬase + sizс ofi]пage l lе дoЛяrlro пPи(уTствoвaть lшl oднoii 6есхoзнй страницьr, пeпPIrнаДJtс)каrЦeI.:i.rII.l заt,oЛoвrry' lпl секциям тat{oIi фajiJ ]tPостo rrе 6удет загpужelr' (с э1!Ir IJе совсеNl сoг.пaсеп Ioриii хаРоlI, однal{o пJloднoго <прсрIlвистo-го> q)aiinа вьl,!ouпть в ,{rllвoli пpпpoдс NIпe lIe УдаJ.ioсь, a lloliьiтlLа с0здaть Такo-вo],l саNloстoятелъllo всЯltиii рaз 3акalrчпвaЛась неусllсхоil.) Бесхозtтьlх rкесекToрoв в любoй Част'I фaflЛа l"1oжет6ьIть скo'rьr(о уIoднo' кФкДЬIiI сектo]) Ilo-жст oто6ражaться на лto6oс кorпr.rествo стрaпrlrl (лo oдlIor.i с.|pa]rrпlе зa раз)' r]оникаItая сr.раница rlе ]vloжс r. отoбpа,{аTь 6oлеe oд]lol.o сeктopа на oлlIll 'i тот )ке

l{nя pаботы с PЕ. фаii,1аi\I {.1 ] 1спoльзуlo1.с'l тPlI l)aJ]l '1ч]] Ьlх схсNlЬI адP€сацnи: фlrзuцссl|uе аdР.!са \нaзывil{-'}rЬ]с тaк)ке сr'lPьr]!lп yкi]LlrатсЛяУ||' ll'ЦII с\1cIILt]I]l1яN{ii.Гau, Рoiпt€rs/llw offsсt,ll]lп lJpoстo ofiiеl)' oтсчllтьп|аcllьrс, о'Г |lачa.па фtliiJIai.&2.ln!аJtь rrc аа?ес.I(\1||\аl aс|dгеss' V^)' оTс ч I гГt'lвае]!Jь](l оТ liaчаЛa дPсспoгo l|Рo-стPаl|с1ва lrPоIlес(|i]L; 0/,]|осuInе!Ib|l1,|е вuР1n!aJlьll|'/? aф,?с/? (г0 .t(]!с viгtU:Ll ll(ld.гс.ss ' RVA) ' oтсчl .гIЬ lвао]\ lь]е о1 базonогo а] lPссn l ]aГPyзJr l ' . i ]сс TI l{ а/Lp{ lса] lзn leРяloТся в бai iT i lх t r хPaпят(я Ir з2.6 lгГ l rЬ lх укAзатс '1ях (u PF]64 лсс rкa i l l l с -JIп 64-бnт| lыe' l lо t f lс rЬ l ' a l ) lс PЕ6, , t?) . l{ t lpаrPn( l )J ' t l lan, 'n l ]Ь l] , , ' ' t ' ' , i " i ,1uдu,,a )кil.llЬ,,' Booбrцс.1.o сyiцсс1.rry0T r| ]кr,Пrср1.iJij 'r||I] ll/lрссa|(||Lt - .x,lР|'lе о|n oсu-|]ц|lulьk. ао|е.f1' RR4 (RirW ]lclltivс ^d(Ilcss)' |1j|1] on|h|)|nlеjlь]|o aпtlоl п.ilL-]| l , lе 4t)Реса (I\c| iL i ,Jс Rt l |аt ivс Adt|гсss) ' ТсpпrrI l l ( )ЛoЛl . lя DI l l )нь I l0я, l i6() (х l ) l | | l l l .i l " ' IЬ l , loго ||а i '1аI l l l , I у ,гnк()гo с|юсo6i l а i lPсс i l I l I rJI l I rT I l l l c ]|Р(!дB11, l t tтсrr ' ! l l rоr ' /(аoго l lA] lЬI]Jx|() ' r () l l sс l ] ' ( )\ l ' чтo l ,с c()|x|сr\ l всрl l ( ) j так ]r lк o l ][sсt ,ц L l ||Л|,]|o P lJ l IL , iс 6| ' | -I l l l I t rг ' а ] t i tVA i l /Цссt l I}сoГ] iа оTс lI l | ' гLIR2lк) 'Гс ' () , r стaPтоlогr l адpсс;r r :ноl i i r : ' rрyк-1! PЬl (в. lL lс|] l (J(т l l , Ol lsсLМ(Jd0lcNа| l lс зaдaФ сNIolI l (x l I lc () 'Г |I? lч l ln: l rа6.]I]1 l lЬ l дI l i l .I |Цзo l lп . j l . ( ) иI l , I ( )PTa) ,

(]TР;uIl!Чньtii llIlIuрк сoсr\'ff I1з oдноii JlJl l'I J lсс lrо-lп' кl I х .|l?/.4'?i, с riаnц()i.i с{]|{ц|l.сii сl']зaльI ilеIЬlPс a'ГPI I6vт.ti (lЛrзl l.leс к |l ii llдPсс llllчa,]la сешL]lr1 в (|ajiЛе/разм!рсскцll|J п d)аii'lrсl IrItPтуiulЬlrыii ir/]рeс (oltц]tll R ll.Nlя'I||/рilit\1oР .l(](l{ rl в lIaмяTпll аTрlt6y1 хаPnrtтсpnс1]к сoI(цlIlIl olI]]сьIвalЛц'tii UPава '(()стvIlа, ofi)6сluloс'Гll .сo6pа6oтк|{ (t]с-rепlllЬlпI :J!гPузtlllr()Nl Lt T, д' гl)у6о rоПоPяl сoкцxя 8rпавc саIlа Рс-rnа1],l o].ltудil It l.yдllсjl l.PvзIIтьс,lt oдIlaко J,l.ir свo5lrЛа вcсЬпlа yс'lloвua: Ira:lссop.Tli]!lеlll вЬl6]rPаellll'lх знaчспrli,l ||iljlo)1(еIlо ill}lo'(сство оГPаrпtllelIlli] l]aчilJrо I.a,lrдolt сe(lLllll в паlliяTll/дисI(е всeulil сoaпaД^еT с Iraч оIl вxрт\xЛьlIЬ1х с'Граlrl]ll/ссltтoроB соoтвстствеIlIю, ПoпЬП.кn создilть (скцrIIol llачlll]аIоnlyю(я с сеРедll-llьIj '{eсTol{о rlPесекае'Гся с]iстe lltым загРv;lчl1кirll' отказlIяaю1цlI-\1сЯ o6рa6;l'l.lгвaть тaкoii qJаIiл' с кoflцo\f сli"l]а]tl'ваeтся 6o.цcс лl-'l\к)l{pa,ГIlчIl^Я сllTvaцляl 11 заrpузчпк tlс тPсбyeтl ч,Гo6ЬI вr,DTvlU!ьIJЬпi (и чaсTI,Iч по d)llзпчeскll ii) paзr''eр ссl{цI Iй6ьl"1 кРaтсн разNtсРy страппцЬI, вl!ест0 :]Toгo oп сa.voстoяl.с.!ьно llьЦ)авнrlвaeTсскцxlJ. з^бrlваЯ rlх хвoсT нуJяllIJ, Taк чтo llllкaкая стрilнIiцa (сeктoP) ]rе ]\f.D}iсТЛрrlнaДЛeIiать двyNl li 6oлce сeкцllяNI сРазу, Фa(TIIческ!l] этo сIIJюшнoе Ila]lуtsа.ТсЛьство: llс BьrponrlеllllЬlli (B зaroJrовке]) разIlcP автoi\ аTllчесI(Lr вrnpaвнrirraеТсЛв стPапIlЧ]1ом пмидже, Iloэтоilty nPcдостaвnенньle lla! пoлlrоii0чrи Irа п(JtsсркyoкaзьпlаloтсЯ сплоl]lнoй фпкlU,|еii

Page 73: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

э6щиe кoнцe.ции и трeбованиЯ/ пpедъявляеMыe к PЕ.фaйлaM 75

всe секц]lи сoвсpr!сн]rо paвнoправпьt| 1и]1кa,flдoli xз пl.lх 1.еснo связalr с cе aтprr6vтarпr, иптepпрс,лrpvсп1ь]rlrr дoволЬIlо I1еoднoзнач]1Ъ]NI Il 11pоIивoРсч]rвьIlIo6Pазoм. Pe:Lnьпo (чlt-l.аii. на ссIo'lliяilЛIllii дснь) IlI пNle."Nl nвa а]lxapaтньlxl l .1ва ]]рoгPап{}lньIх aтpи6vTа],Aссes sj bl e/ltrlгi tеаb] е ll shа гed/ Lоаdаb] e (пoс,.]enппij _\'сЛoвпo) сooтвcтствrrrнo. вoт оluo,1a ]1слсдует пJlясать] Bсс остаj1ьIloе пзo6'пaстrl a6стрaктньlх коншспцlп1,

.секциrl кoда'' < с€xцrrя ,-Iаll1J ь]х> ' <сскц11я n]!Iпoрта> пе 6o'rсс tсlr o6pазнъlе

" | , . , t . c , l , r i , . Ь . . ' o 6 p d l н L l i j ] ) , ' l x р l | l ( , , , Л l l ' l ' | | l : | , , J , l , j o o o I t . ' .! . , r | h o i | \ l о l " , ' | i ' i i , , b | | l , U | ' o | | ] \ ' ( , ' | | | '' pa].l|ичlllnх сс[!1снтах. а пе бьl"'JIl снeдс]lЬt в оДlrr, кall эт() iIpol1схoдllт ссйчас,

Сjly}кс6нь]е стРуктYрIi даllllЬlх (Ta6JIlilьr ]lLспо]),l.il. lrп1lloРтаl пеPlзNlепlilеIlьlхЭ-'Iсп{снтoв) мoгyГ 6Ьггl, рtlсxo.lloя{сньI Jr jJо6oii сс|illlttl с lloдхоляnllllпI il-гPlt6у.та 1 дot]Tу]lа' I(oгда-тo пРавlJn:l хl)ро[lсlo тoпa пРeЛпrtсr,jвiuljl lloм€Illaть JLa'(n t ' к ) TабЛl l l l у в с !oю l rсPсo i lальI iy i ( ) фкt l l l l о j l l o тc I I l ]Pь j т l \1с|1)/1 l l к i l ] lр I l з I{aI lа\ ' ( l .аPсuпI € j j '

. Ге l |сp l , I l i | с i l ( l ] \ , с i i nPJI I l l . ' J l ] а i |архиЛ l l с |аPь l i l до6!ьr i i i Lв ! r ! ) r | | io -

Г l l сзцовo i i спoсоб ' ]Ф l ) la с r1ц1uкимoc слулrс6 l l r , rх т116; r r r r11 lаз l l aзьrвасrс :я тor r r t r rпrсJ |oсrv r | ( ) в .с ] \{у с ] .Pn ln l l l l l о l l у l lп I l |л ,{v ' чT() .у r l . ( , ] | ]0| l l l оy 'ГЯnrc . r lясTa ' l l г (Ц)| | | \ r l ] ] l с .nрс l i l i ' l B l l с | |o"TI lясI lЬ| i i ( l )n j i r . l l о : ]тo Y) l {с TеN lа 'U)уГ() I r ) | ) i l ] l ' ( ) l ro !а t ] i J ]хЛ lсN| ' l { ; l | (с l IРавcДn l l !o заNсчnс1. IO l ) l l i i х l L l )o l | ' r l cЛО 1!1 . (oв(|NI J ]с | l ; l l l aрх l l l 1 . а B ( ) l f | l l l I l , .зацlll| пo Р.lз]\{ol)у L1 (]коpo(l,ll l]ilгрvзl{li,

( ) | ]cP j lo i i ' l ] ( l ]oc l " l к i I l l { ) l l I lчс( I{о i \ I ( ) r |рuк , . (с I l ! | j ( :Поц,1 j lu l i i ( ) | ( (x I l ( )сПЛn) j i ' . I i t ( , l . l I( l ) i t i i п t l ' I l с l ]аГPvnиC i ! | ( ) i i I l l r l l r l я , I r ' , в I )L j .4)а j jnах \ l r l l кс ' r 6 r , r tь pас: l tо ; r t l ;кс r r п : r r r f iо : i I] \1с( l ' I с дI t скnn Л1) o6Р l l3 i l I l T( ) ] \{ Ч||с - l ] с l l l | (х t ]рСд lL l ro , / t ( . i i сП l | |1 .с ' r lЬ l l ( ) , ссJ | | | r ' c ,{ / (у

/LвуMЛ сNIc 'о l ln i \ J l ! t r Jo l I ]я l \ l Paс| |o ' l |Оr r{oI lo I loс l ronЬ l .o 6ссх l )з | |Ь lх Co lL l l jPо| l ' I l с l |Р| -

l ] l l ' Г l | з l |рoI rа l{ I l ь l х | i I l l . : Lк( ) i j с | | ( | ( l к : i i ' T i l к | ' l с сo l i l 1 )P l l oсT l l | .v , | ( ' 6с : l l l рсдстaв, l r с r r r lлl l ] l а11 ,Гг l | и J l l l с I (} I Dсс ( )с l lол l t I l J tл с t l I lTxT l , . с i ]я { ) |n l )Л.ЯI ! J1 ' впPoчcN l ' к j11 o l I l I $| | | -, r .а IoT сc6я - | l L 'в l l ) r l к ) t ]а){] | ( ) ,ксI l I l хс . r l l I l l oт( ) ILPvn{а l0 l I l l i t , l |6oN||( r l { l l0 , l ( ! l .O| lo0l l ] l r t1 l ) l I с ] lаJ / l с r1яe l , t ГPa l InЧI lT с пJ l t з04)pсI i l Ie i i ' t l ( :у I lас l I сдI I l I l i i овoрr|с i1 Э 'Гoчr .o-тo lсо6стr lеп l Ioг(Л(Ц ' r , l )8с l r . l l cямj l I l \ \1o 'L l I ( J I l : | . ] | , taxтьт{) iЬ l ( )в| |сpсnOL]I lо j l lC I lь Iс

Jlс, сllсц|l(l)llttttцl]я Ila PЕ 4raй"tl,l этol.( ) ,|сl)Nl Illl в YjlL)p Ilс лpIiзIJаеTl ll lJлмк||хl

л:Dкес:lNllnх lЦ)11I!jI'гl|яIIL|х' \1c\aI]llзмoв пoД{eр't|(l с ()lrеpj|с'IiIи \vinз2 r\Pl ]Icо6сс''oчuвасT 0lс счrIтая' IL()]leчlrоl l])]l]i1l]1.l|в]lor0 ввОдI'/вЬIвoда)

вt|имAHиEэry главy вельзя ЧитаrЬ, rcк пpикЛюЧeнЧеский рoман или детектЙв. Paзумeeтся, Я лpЙ.лoхил всe усилиЯ и как мог сгpyкrypирoвал Maтeриалl с|рeмясЬ писaть ма(симальнодохoдчивЬ|м ЯзЬ кoм, хoтя бЬ и цeнoй пoтеpи втOрoс|eпеHНЬх деталeй, теМ не Mеве. дляопepaтивlor-o iepeваpивания инфoрМации вaм iридется oбложиться -опками расn:Ч.'тoки, вoорyхившисЬ hех.редaсoром, сoЛрoвo)кдать ЧтeнИе tзалИсокl' перемещеi']:!кYpсoра пo файлy, Чтo6ы самосloятeЛЬнo <пoтрoгaтЬ pука!и' все описЬваенЬе ]:еtЬ

да осилит дopory идyщий! когда вы дoбeретeсЬдo ковца. вЬ пойметe, л.!.Рj nе эa.э.тaют нeкoтoрЬ e фаЙлы, yпакoванные Asрасk/AsPrрOteф и какэтo исп]аe;iт! l...з.ряyже отоM, fo вь| сяoxетe сoздaватЬ абсOлютНO легаль|rые файл5, <.-оэJс йi cди3дизассем6лeр le дизассeMблируeт в приHципеl

Page 74: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

76 глава 5' фopMат PЕ фaйлoв

Засппr все!Tспepь, пoс.'rс сoставJснIlя r{о l1TуpIroii кapты Р A.фаri.floв 11o'rнo сlle-llo прlrстytlать к еe дстaли3alU{и. Irе рl'|с]tyя зa6]lvдlrться в нспрoх(ЦrlNlЬl)i тcp.NlиtlолoтttЧесitl1х и тeхl{ичeсIolхД'l{унгnях, Nl}')каii|ссьI ЕLF.фаiiл eIце6о.1rе ||а.вopo.тен' РЕ в сpaвпеrrrrjlс Irl.l]\1.' пPос1.() l1св,Iнrrсlстr,кaкая.тol

стPyкryPA PЕ-ФAЙлABсе Р]]{ l ra i ' i j rЬ l (р l tс , 5, ] ) 6с: ' tтсI{,пI() ' lсн l lЯ ( l l ( r l .стe11J lЬ l с lфa i i xсрЬI R T() I l ч l t с ' r с | ) |L i lч l ] l l ; l | ( ) l сяс o lo -схс .зaгоn()8 l (n l ; ,а кoнцo l ! l ( r г ( ) l )oг . ) с ' l ] c / l y .е1'DОs.заацш]xl (МS'DОS rса|- lпоlt: st l t lР|,оl1|с1|rI' ||]n1 l]рoсто s,?,)' об|,I.ll]o 8l,lJt()n,rlILilя

Р i l JoЧаP() l | ; l l l | к ) pyra , | ( ' j I r r ] . l l o J ]n TсРNI i ) l I i r j | ( l l l l с -] ( ' Г ( )Р l ) |х с , l ]YЧ i lЯхI ] l l o ( ' J1 l l кxпсу .1 l lР ( ) ] ] i t l l а l ) ( )s .Псl)0,,l' l|Р()l.рil]\iNlЬl. il() Dl.o y)n] i)|ii|{)r1'liil), N']:''|.Tl I l l 1 - rсрск | r <сскрсTах ( I l с1r r i f | |oГо l lрoгР i l \ l i ! | l . | .

Р( ) I jа I l ' я лo/ l Wi ' rdоws 95> l | |п l |ст : <, . ,ThсJ|0 |o io 'кnк загPv i t t l , l IL w iл:J2 o ' гo6Pа j l r r I t l I i ] i " l ятЬ ] ) ] j .4)a i i J | ' l l сPвь l i i 6а i , i1 . отo6 l ) l rжс l{ l l я ( l ) l l i i J | . l . ' r | ]с Г .сTBуf l ' UсPвoNl ) . 6а] i1v DOs.з !шv|] l l {u ' ' . ,1 ] ) | |с -nеРlloI l]с1)lrl,lii 6aiiт o,l.о6Рaжопllя соотвсr с rл!сrlJсl)ts0l,lv f]niirу с:аN{{л! фaiiла' |1) сс1.Ь ()T()ljpir)xс.l |лo tlсс l)Lh л aчиll:lеl.('l с ('lгlla1.уРlI I1Z' IJ ч1,Ij"rrсг.Io v6сДllTьОI' зarрy:,rlв фai.i"п в rл."'rад.ln1ц црg.-

PE-заzо,l aвox' в лoцaм яloщсм 6o:tt'шrlrlсTпе t:'lv. I i rев начr r l таxrщиI iся I lе | loсрrдсп j ( : | | |1o за к0|LцOI ltlld ехe.rrpoгрaмlrьl' на сaltoll дс,lе Nloлст 6ъл1,

расIro;rожert в..rrо6оlt месTс фаiinа -. хoть в ((iJс

диIJсj хоть в кoнце,1.аl{ ttllк загl)у3чrlrt ol ])LдсJlяетrго rt0Ложe]пIe ]lо двoiillOrly слоttv е-l fаne!'J' сi\lсщеflпoпlу нa зсh байТ oт нача'ra фaйЛа,P]].загoJ ()вoк пре/Lс rав"'rяет сo6оi] 18 h.6aiiто вr,lr;стPvктyPу Дnll]1ЬIхl оп11сЬlваюIllyto фyпДnr1снTа.illнъrе харirl{тсpllсTllкll фаjiла x сoлеРжащуloсUrlIa'гуPv РЕ\х0\х0' по Iio,ГоpoIi фai]J, с06ствel1J1оroворя. и o1.o'1iдествлясТся.

Pис' 5.1. схeиатиcескoeиэобрaxеHиe PЕ.файЛа

r\4s-Dosп4z Header

'v]s'Dos Reаli,4оde

'rdаlа seсl on Heаder

'debUg sесl оn Heаder

L

Page 75: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

: ] епoсРeдстtsс!нo 3а liolrцolt P Е.зalo.noвкa сЛеДу ет onцuo1lа'|ь1lьIi за2оroвок ' сl'|c-

i]jфIlциpуюDj]'й стPyптvрУ сгJralIIJчtloIo и[1lJ/цжa 6o.ncо дcтаjь]lо (бaзoвЬl]i ад

]!.с raгPркп, PазllсP o6paза' стrпeнь вЬЦавпrшанI'Я _ все это ll \1]]о!oе ,llрvlol].r]аloтсЯ rlмснllo в tlем) ,Haы\a|nrc anцuo]Ilnь ьli вьI6pапo не очсlIЬ yЛaчllo ll сlln"-.

коppсJlr.tp.veт с oтrРу)каюrцei,l Лeйствl1т!lдь]lостЬю' rl6o 6сз olтцI]онaль!1оГ() зll

r.]roвtсL фаirл пonp0сTy llе зaгPузtLтся' Taк кaкoii '(e o]l' к чеpтy, <оrlпIloliа.lЬ.

]rЬIii'' (-'с"'Jll oп o6Яз8l.еJll'lьlii? (BпpoЧei\l' кoгдa PЕ{]]oрNlат тoлъко сo]lдaп:LпсЯ.

ir.e ilьIJo пo./tDyго]!lу, а ссiiчас ]\'ьI вьIlrуждснЬl тa|цптъ этo насJк]дri € стnPиllь] зa

.|)6оjj,) l]'кlloii стpУl.t.yРoй опциоrtаlы|oтo 3агo,roвкa яrJяется DATA D1RЕст0RY'

пpслс'l.lLвляrопtая сo6oi] ]\jaссlJn yкaзаt.с'цcii lla пoдчЛjlсt1llьrе стРIIiTYpri /'tаIпIьlх.'laк тo: та 6.lлцьl :'lltспо Pтa tl tl]\ll] oртa' oтЛaдoЧllая i] l IфоРмация ' та6.n1II lа Л сPсм *

]i(l]с]!lЬIх 3лcrlсIlтoв lt T, /I' Tltпr]чlrь i PаlIleР oЛIll1oна]tь!t()t.о загоЛolll!а (:оrтaR-

lJст Е0h 6аii't.' lю rv(Dltет варЬrlр()RaтьсЯ 3 тY rDll] l'ilУlo стoPollу' ч,|() oпP€llсJl'lс,|(,я

lIo.'lllL)loii зnrIятостlt DAтA-DIREстoRY' a,rак)lе lto,п'lчсс'|воi!l NlусоP:r за сo к(Лl|ю

(с(:'llll тal{oвoii rrЦ)уГ т:Lll ссть' хо,гя его нас'Гoятcльrю рсrкllIсrutус к.я llз6сгаt l,),

} i(,кс1. Il(Л(а3аТЬс'l за6al,ilьll{, нo рili']\!сР ()LlIlпоllfun'lu1)i}aгoЛоRltахрrj|||T(я B Pl]'

lllг(),1J()вкс| 1.]rк Ч,].o ]T1l дllс с-l,РJ"к1ypьI очolIь re(l

: ]а кo l ]ц( )n l o I lЦ l |о] lnnъяo l .о зaГo, l | ( ) l rка сJк l tу ( ) - r Cyве l ]с l I ! l l l , ' г ( l l р l l тоP l lя ' о l t | i lп l l .

Рa]ja|||^я lt|!6nuu,l.i &1|i1a,, IIoЛ'l1'ичссl{аЯ t]р'lllll,ljIc)i(Il()стЬ сс ]r('(:ь\1il 1.'(jl()в

r | i t ' ] I J I l ( oд l |оN|y иJ з t l го 'Цо l ]к( ) | i o l l a l r с I lpи||аЛЛсжrI1 r l . су , ] l , l i ( ) l ] ссN lY ' я ] t . ' rяс 'Г (J l

('ili\J.)ст()',l.сJIЬl|Ьlм 3nгоJlo]l,()]v 6с3ьI]\l,lIll,oГo 'ГЛпn (lк'цю6||oс (]ll. дilrl(t' I)liз,1с'

. . r r , r oS i zсO|I -k . l r с l с гs> l l <] .a6лица сскц}t i i ' ) ' Рс r l коc ' J I leДрс l l t l с в l l ( : l l ( ) . . l l ] ' 0мЬL l i

r]lltii'l o6хrl1ц.rlся 6сз пlrirвкlt 'гaблпI(ьt сt''Lltцii, ||oэ,t.o]{у д0llIliLя с1.рIк1.уl)iL lUl,l

: l а к (Л l I l i ) }1 1а6r I r lцЬ l сскЦи i i раск l r , l y . l l ас i , тoпкoo 6оЛo,го I l I |чс i i I | ( ) i i ( )6 'nа(T l . l ' l I c

J|рl1,lаlLnox(lluLсй ]I заl.o]l()вкirм' lll1сскцt'l'N| Й о6разoвaвlLlсiiс,l 3 pсзуrlЬ1.аTc ]]ьt.

P : tв| l l I l l а l L l | , l (р l I3 ! 'чсс]к х aДPссов (с l { lЦтй пo t (Р i l ' Г ] |ь lм ,L lФeсaI l ' I ] ] ]nвxс1|n j l Jс r l l ( rГ

рялa о6сгоятеltl'с.rп' rro,lРО6lIo p r6IlptlсrvЬrх пo хo/'lу ||3Лo'{eIJп't l!il|.РliilJl;l' зil'

60!(,.lflшaя nal{,l,|l, пloжсT lQll( oтоi1l]ilжir1'r,с,l llilадplrсtl.Jс llPoсTраlкlГl]1) ]Цn)ц0с

са' ]alr lI llс (л.о6P^жа,l.l,(я лa п€гo, o6Pа Ijl'l'гьс'r с llciiсЛeЛус'ГкPnii]]сoсTol)()'(r!o'

ril]L ]LaI{ здCсIJ м()Цlr 6ьIть PасlюЛо)ксt1ьl чеii.тo oвоPJcii' l]спo"'тн'сIllrlii код t!'llи

с'Ц]r'I.тyр1t д.lItIlьlх (гa6ЛrtЦa Д]lnIlазоt'яоIo и]!ll|орт:t' наnPl|мeР)'

Hачин.l, с гnW оftъсL'а ]ltlтjоii L].шrt1,1' указаннoгo в Tа6JrпЦe с0(lllJii' пPotl ||рll.

|.1'ся сnp(1нuц]alЙ Ll]шaJl.' 1o1ll 'сe' cгo yllaкоBaнIrьIii дlкxфBъiil о6Paз, <УlIaI{oflilll,

Olt в тo]\t сNlьlс,le, что qnaзическltе pазIlсрьl сelolli.i (с у.LeTorv rrЬIРtllrlillпaIlItя)

вltJlloч?rtoT R сс6я 'llll1llь llпlll0lаr]riзиРoBанr1ъIс/{aIlllьlе и нс сol(cРn.aт rrrlчсг() '.l]llx-

нer.o (ну хoроlllo: tlе До.ц'{ньl сoдop){aтЬ Iiичсго лl,lппlегo.'.), ts}lРTуiJьItьrii рllз

l'eP ссl{ЦI{ii }tо'{ст сущесTвeннo llPсвoсхoдrtтъ физt.lческIiiI, чТо (] сеliцllЯt|1l,1llI

пъlх сJIучаеTс'l сп.no]]rl, Il ряllol!1, B ]lаNlяTlJ сокцlr!т }lсегда уrю]]яtочсxьl. чeго

IleJьзЯ сказaTЬ o Дr]скoвoi{ обрaзe' Ilorujli!ю Дьlр' oсTnвrrlllxся о1.вьIРxвнIiваllllя'

\ieniдy ссrrцt19I{Ir мoIут рaспojrаraться oвeРлelr; п тоI1у хe пoРЯ,:rl)к сlо.]ова1lxя

сеi{цrlii в nal\tяТи n на'lI.Iскe сoвпaдaеT далеI.o нr lсeг]!а',,

oднx сeli]lип l'l,'cЮT xoстoяirнoо llpeдстaвитсxьсTвo в паlul1ll':1Р\'гIiс - i.llаIlIl

\{аЮТся' 'шnrъ rlалоРи0ilзагpyзшr' no заleрIri €trи кoтоpoil в 'lкr6oj] чо\!сllтiюlут

Page 76: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

6ьJтЪ беiroroворочнo вЬl,lвоPсньI отт]']rа (flе .6Pоnle]lъt в свoпl а rlllс]lI]о вl,Iдвo.pl]нъl' ,lo ссть lLеllopтIJрoваlrьl]). чTo яrс ло Трстъrtх -- otп.I !.rо6I]]е llпк()tда rlезагpу)ка1oтся n паllЯтьj t)азBс чтo пo Частяiv. в частlloсТll, сеIillJ1,l с оТ-!ail0Чнolitlнфо|NlаЦxсli веДсТсс6я lrlIснrlо тaк. BxpoчеlI' oТлaдочl1aЯ IIнll)l)PrrlЦxя ]lе o6я.

, , ' l i ' o \ , , | q | | J , Ь п ' ' I J | n , l ' | | l l ' i ' , , | l l , , , l , u , ' | , , ' | l o . , l | , ' ! , ' , , .(rl к фа:i]Jtу в вII,цe ()вср'rея'

з.L Noнцoll IIосЛе,lUеii ссIrпllu (]6ъгпIо 6ь]вnеl pас]lor]о]кс!с] r]elФ].oPoе к()-llrlчс-(Тво мvсoР}п,lх 6ai]Tоu' oсTaв,!яе]\пnх JлJJ]iерL)]!I lrO rle6PсжlftхjIll, Это Jlс oвсplеii(ooprцснr f ] l к l l с l l v l l I l к{) l .да пе J lPо l Iсхо ' l | г l ) , хотя 1 l яечт() ( I ]сJ iЬ I l r ] l с го пoх() .ixсе' PаJYrIсeтся' овсPJ]еeI Noжeт 6ьITь II пe(rIoJIъкoi {r l сTеУ J tr'ii зaгР\ri](rllli IJс r]l, l a гае , | t l а Jто l ]1 l l { i l I { l l x оIP i l I ] l J r JeI l l t i i ] o ] l l i^ко п l l е | lpсдос .авJ ,ст ] l I l r i акI lх v i l l lфI i i l lЦ)oваJп| l ' |х Nсхr l I l | |311oI r рa6o1) ' с овr l ) ' l l с ! I j ] r xрoгPr ; l l i l а . сo] l '1 i lншaяr l rф| loвeрJr(]ii' вьJrrуntдсIlа рil6oTaтъ с |lll]y с:LIj(xlТoятсrr nlo' заЛ(]ii!:Тво]rа l API Irвo/Lr/вr ' l I rодa ( r r l IPo ' l .N l , 4ЛьJJлд ' нс Pа6о1 i l ст в l I J ) l I ] l r tп] | . ' l . а ] i JL lк i j а l Pv , t ! l l l l , l i i d ] l i i , ' ], l l oст} ' r l с | l 1 ! ,1ьк() Дr tя чтс| | | l ' ' а за l ] l l сЬ B l l e l ( ) | l i ' ' ] rvхо l ] t l6 j lо | ( | |Р l ,в l l I l l l ) .|{ ( )po . Ie |1)вopя, ( I ) з l lчсск( ) . J IPсд(тrн . !с i l l l е с l x r .TJ l ' lц I ( ,Г ( ) ( l ) r i i . l l t я8J rя( r . (o60 i il In( , |ояJILц ' " ' l { JскvT|| ( )с o , ' l ся . l l ) ' r l а o i l J i l l l а |oJ| (сС l lо j l l l ,ПJ !сс i{y i ( ) | i i l Pт ! l \ l I l | ) r t r с I J lJ Iс <|] : l с lЧ) r (Ь с . i \ ' ' ' ] l срс l l iUI lTЬ , ' Гv кvх l l J ( ) oI | ( . '1 ]ь i Jе l rpo(1() j i ]о(кoJ lЬxу i } l к ' l IaдьJl rnТЬся i l l l l I l l чТо | |0 ' l |Ь l l ' ' сnс] lvcт (DJ i l Iд l1 r ) ,1 lюб ln) i l ] (D l{ | l i l r I l l ( ) сT0 i i ' . '

чтo мoжHoи чЕгo нEлЬ3ядЕЛAтЬс PE.ФAЙлoмстр l )Г( ] r 'o r lо ] ) ' l ' чy) io ' i l ] с l l o , I ] l l яе\1 l ] l i i( i J i ] l1 . l1 ' l l vч l ] |с r l с 1I l ( ) f l r ' l .Ь j r l ( ) ( .кО, I rь rLvз l l l ) l l l l с с l l l ] l l звсс ' | l l ( ) ) ] i ' l с \1v l1NoII Ik ro l I I IРI lЛяз| , l l ]астся ] ' ' l а rL ' l е ( l |Pvктy 'pЬ l даI I I lЬ lх l Lor I ,ГpO,I ] I I l rYеr ' , С ДРуго1 iсTоро l I l ' | j I Io r lе ]Lс l l I I с , l r ( ' L i rв j l ,поIцсt o6()ЛьшЛ]|сГвa 4)а i i , roв п l |о ' r l l с пpе, IL .сказvе11() l u п l l сдpЯтьс , в ] t J l х ' Гaк]1

Дx.к()вЬr]i фа1].ц II еro BllPт}'а"ll,tlыiio6ра] . это ' ] iа l { гoГ lop 'T] r oД.ссс 'две6onьшlrе Paз нrI I lы, С i,lo\'сll1.а oILо,ILlil.IrnЯ зal.РIзкl] сT.1ндаРTI1ЬIii PЕrDtlil"'l

ра6oтiеT IJскnroчлтеJrtsIlPтуajl Ь11ьIм o6pазo\! rl llсo6рal;lасT.

Page 77: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

- э яоxнo И Чeгo нeлЬэя дeлатЬ с PЕ.фаЙлом

]; нclloсредствеlпro ir сaмoмy файny 0rскЛюllепuc сoсTlвJrЯюT овеP.lсli 'l сек'

]ilIl oтЛiцoчrrolli l1llфoрllац].tтl' lto э1.o y'ке тсIrirДpvгol.о разгoвoPa). I{€т' нс такl.J6рaщсние

к нсмоДlrфlrциPonarrньlNl сTрaнIrцам фal:iJla gсe тaкx лрonсхOДrl'Г

nрll Yслoвиll' что oя затруя(сx с rjинчссlеРa' a нс ( /.ll.lс]trтш ЛЛи сстсвolo дtlс-

]]3.i. Wit]dоws нe пaстo"цькo глу1lа' чтt)6ьl вьIтес1]ятI в свoп тo' чTо в лlo6oii п1o.

'Iеttт м0)кпo поjll.ачaтъ с дnскa, BIryoчеlltl эTo'Г п eхaнl{з)l ]]асто.ll!кo пPозрачeн'

:iтo учrtTьlвать cIо сoвеP!rеllIlo нс о(lяjaтсJlrl().

3lleдPясNtj'lй кoд Ntот{€т ]raк yroднo nel)eкРal1в:rrЬ дtlскorЫii фaйJl' r|о впPтуДпЪ.

]iЬIii o6pixl lreняTЬся Irе дoJl)кен, ToЧt|ее' пoсЛс IlеРедачu у|Ц)авrrсlllLя на opllгll

:l:llьнуo тoч]rу rходa вllPTуaльнllii 06раз ДoJl)Кeli 6ъIть lфIr seдeн в ЛсхoднЬlii ппд,

Пp!I эToпl Доllускается: а) уIrexиЧ'1rrатЪ PазItф стРанrLч iо1.о ]INllrдЛ(a' заtltiсыRa.

;сь в сrc lroнсц; 6) ol{xуllпpoвать lle3:LнЯтЬrс о6лaстл (llaпPlf}lсp' Tе' что llсllоль.

з!ю1ся для вырaппrlванtl,0]u) gЬIдcJIять IlaN!я,Гь нaсIсl(е/кyчс' llсРеi\t €rцaя lуДa

Лос.кoльку сскuпir pасIIoЛаIаJoТс' в фali-цс l|о пьrPoвtloIlllьlпt tlдрссaм, }1с)(/1у

] i l l ] \ lи ] |p: lкт] ' IЧt ]с l { l I Rсе lда oстaсTс ' t юбoдI lос | |PостРа l l с , I l ]o ' yвср1]I l i Jо вN lс | i l a -

юIrrсс в r:ебя I(рoхотIlь]ii заГРyзч]tк' |юлltач I l t]ilnЛцп]jl <хв(х]т} 3l.1рус.l lIз oвeР.

,lся, l(ак BaРиnн,г (eсЛи xс'Г дРугoro ()|lвPJ.lся) r\jо)(|lo уB0.r|I,1чптЬ Piritl{eP пoсЛcд'

llсii сскl!lпl и здllисатьс'l Л со IкnI(lL' Бo.]iсс pilдll|iа.]IьIlo t|астРorIlIl,,lii I{oд мo)tет

с6PoсL l -П, qaстn чуI (o i i сск lo l l ] oBеРлс i l ' ' у ( ! ' t s l I l l l сЬ | l i r ( )сBo6оДl l I lЛ lссс ' l ]uсс] .o ,

а за- le i l l l l о l l ( )сPrДс1.вп i lю ] Iсpсд I JсPc]LаЧс i i упPa8]|c I IиЯ Boсс , | :L lк )ви ' гЬ oс 06p l l ' | .

rro, Brlсrrrrrlrii ilггypaлс r]Ы ГJ|,]/L] l]. l lPoс].о 3iLNlctl ir,ГeЛ ь1l o' Лo r]а/(уI' aiiTс,с Ьl ltl.o lIPо.

It3oiiltсT, ссЛпi a) с6РtlсЬU]iloi!Ь]i'i 4)pilГме]Iт (lсl(IlIIll 6yдc'| (oЛeр)I(a1.Ь од|Iу l1Jlll

I l сскоJ lЬкo с r ]у ' (c6 l lЬ lх тa6Лl |ц ' l tа l IР| l l l e I ) Ta6Лuцу I l r{пoP 'Г l ; 6) сбрас| ' IRасN lьI i i

(l)I)агrveп-r сскILпll6уДс |.со'(сPж?l,l.Ь о'lllII Ir,1Il Ilcсll{o]|ЬI(() 1lсl)смс|IlnсN{Ilх i)'llеп1eя'

iou, TuIоrм o6paзоп'' ,'сPс/t тc}l кa]( с6P сЬlllаrl, ч'r.о 6Ь| то llц 6ЬIлo в oBcрЛсiij

Ill]oдPяемь]il кo/lt /'loJDкcl I IDoaн lxJпPовllr.Ь всr сЛужс6|lьle с'гРуктyрЬl' l|Р()пп

сапrr lе в DАТA DIRЕст0RY' чт.)6Ьl xс||арoком rre с6росuтt, ttt , l ' lсгo лt lпlrrсгo, Зaтсм

rrсо6ходt 'tмo rrPoaпалrrзr lDoвaть,r.r l6лIIIr), rrсPеl ' lсI] lасNlь]х:rЛcмсl lто3 (oсJl l l oнi l

есть) rr л116о вьr6рaть y.rlстoк свo6oдrrьrir oт пеPeNсЩсlIпri' Лuбо vда.lи,Гь сo.

oтвс1ствУющI1e эЛеltсlr'гьl lтз та6;tпцьr с'гспr''lто6ы ПI]oслсдсIr'tп o6pl6отаrЬ

Itх самoс'гoяTсЛъIlo' llo РeсyРсов дoтPaгllв;lться нl в l.ое\{ сJlyч;lе ltcjlЬзя, ]lна.

чс IIPoRoдник иконкrl nе пarlдсTL

нo хвaтпT loвoрllть o ]lЛoхоru. давaitтелyчшe o хороl]rем, все ссl{ttlll{ сral|дaРт.

нoго PЕ.фаiila' зa l'ск,1loч епI.lсI1 сск ц и с 01.]lilДочпoii llnфорitацxеil' lIсlLоIlЬзу.

'n,''.o,uou пv,,t.7кп,r. n VA.;!'lpесацшIо' а этo зtlаL.lliт' чTo ]!1ьт \loжеll свo60днlr

flерeilfещат} сeкции tsllутPll дn(ковоIo or]llазa мe]lя'Гь rш ll"Aстaпlиl вI]еnряTь

Ilс)кДу н]rllи oвePЛeи, и Bсe этo I iI] кa]L нс скa}кеTс,t на pir6o'Госnoсo6нoсT п фа ii'] a.

пoскoЛькy стpirпичнЬlii lllll,]д)к вo всeх с.llучirях 6уaс г о:trпr и тоr.rке| Эrо trе пo.

]raжсTся yl1пвllTеJlьrrьi]!l) есЛll вспоIiIп'IтЪ' ч'|O впpтyLцЬнЬrii п фrtзrrчес!;lii! аrDс.

са lrа,кдoй сeIсции xРaнЯTся n paзлrtчlIьlх' ниltаlс lIе связa]tllЪIхдpуГс trр},гo\t пo.

ляx'и\fенrro rroэтolIу вllе,l1ренис lroдaв ссPеlLиJly фаliЛа clц. l lе обoзt]а.'ает его

внсlrрепия в сеpeДиilу с.1РаirrrчI]Or.o п]\Jиджa,

TсIlсрь нeмIroгo извращetlиr:i д,rя Рaзflоo6paзllя. Bнeдря,Гьс'l в liolrеш фаillа _

слишкoni пpoстo, нeuнl.eреснo u lle6езoпасrlо (aнтивllt]усьI ItPIl этoll \laтерят.

79

Page 78: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

a0 .Jва 5. фоptrат PE.файлов

сЯ Taкl чт0 y]JJи в'Iнyт), B]lеllРятьсЯ в llача.io лoловoli сс].цпl1 сo с6PoсоIl орп.гlrтraЛЬIrогo сoДeP]flnIiIо1.o пoс'rсдrrсii в oвсpлеii . с"lиrпкulr слolкнo, A чтo

"с.,ilr, ' '

пoapo6ou;t|ь впедPlIть(l,I пеPсд пaЧajro\1 xor.iовoir..eкцпr1,11ррgдgn11\,g 9р 11..,..,1о в o6JraстЬ ^lta,ltпx{х а,цPссов? Bпl)тyаjl,Ilr'lji o6P.." .,.,,*..'' ;' ''P,';,.'^,;.;.тиЧссriи ястрorlvтьIi\l ll oста]]еi'с'I .nе)катъ l1o тri!| ,{е сn ь]}] n;ц'...,n'' r.uтn1л,t"заllи]!1:lл цo BTоP;lt €Ji11Я, чro сoхРnнlll фal:lЛv pа6rlroсrLoсо6lLoсть' попутпo:rrr.лraя рaзpа6oтvпк внел1r'IеIJоfo кoда llo-lJ.]!Orr) rtопTакта ( rI!.PсNlопIасr]r'l]1l эJe-]tlсilта]!шI п ]lрoч],l,!llr сnY'{elillЬIп!п с'IРvкlуPalllr дllt;rых' Bсе этo т ак' зa trсrtлкгчеlluсnl oд!]oгo доса,ruloгo <нo'' I]еi)I]а' се]{цlIя lIojlая,IlЯx)lllсt.o 6.эльlLпlнсr.ва(paп]|о9 4}.](] I]ачlli{aeтсJl пo Ilаl1]\]cJIьIlJе]\|v l.li] Bсl]х дoстvlrIIьIх аilресоn' lI l|сDe-,ltsIJraТr' C€ llрoсT() нокyда, ]lрaвД:t' lIOд NТ ]uo)xнrl ()т]i.lк)чlJтЬ в'rpавl{пll;lнllе| ] дс" !а|Ь с сс I t lo lя \ I l r u(с чTо улoл l l0 l l о 1oГлa (ba i i : | l i o | !олrc r Раб([ат| , l l oдWi t l9х ( r lод l ,o6I rсе ( ] I{ , < F . i l с^1 igпЛlс l l L /sес l iоЛ^l iдлпr l ln t '1 . To L l l i l са l lu 'от l rо .сится ] i IL у^1спьJI l с J{I l l ( ' 6aзовor .o а , ' tрссa l l a rРvзк] ' , кoI l I r ( , I l с |Ц) !с l l0N 'v v I1{: ' l I I lчсi l l ] € I l ста| l1)яЬJх адPсс( ) , l ] сех (с l i ] l I l i i ' | ]| ( ' l r ) I l ] \ ' l I ] l ' {n . ,о l l зN lc l l яo ' |сЯ, u n ,u ' uu ' . , . , , " . , , . , , ' ' .n ' . "

. , с г ( ) l l o . ' i ( ) ' кспI rс сTI)n|| , ,ч .

,or,, , ,.,,.,,,r, i"; i i; ;";.::il i l l i, l l, ,;i; :l ,,,1" :1 \ k ' | к V А ' l , | | 1 r , ' | | | ' , h , ,t IPос 'Го в3 ' |T l , и l l сроЛl l l lиyтr ,6aзовьr i i ,u r i , " . | |с l l o , r l v l I J r | tт l 1 l l э t )0] tод|| i ' ' o кa(i \1 ' i l l I l i \ l уп l l l рo i l l { i l ' ' l l l 3 Jюпa ' l ' t , тaб ' l r r r r t l , r э l к ' r r r r ;} la / | | [ lo ( ) l ) , гn , T l l6 .п l l l l v Pc( ]у| )сoПl l с l t l )PpеILI I lP( )в ; tTь Rсс RV^-аx l )0с i l , i l каJ{ N|а l i ( | | l IYN{, ' . т l I l I | ! , l l I I , l i i 6 ; rзo l1Ь l i i: ' l п / \ ' , t ' n . I 1 v , t , I l t . ' > t , t с t t ' ' t l t , , ' , t ' ' r : r ' | ' : ' r r , | ' ' r - . 0 0 0 0 0 1 , l r ' 6 | l ; r r r r r . , r ' ' l ' ' r ' . , r v .' | , j и | | l , ' : ) ' l ' \ | l | ] | | | \ l : | , 1 | ' | | ' , i i i : ' , ] ' ' . I ] ; ' ' ' ] l ( ' , ' ' ' г | , \ , ' к j | . l \ \ , | | : ' I , | | ' ' ' ' ] . | ' ; ' , | . T

l l l l l l ' l l , , ' , , ' ,_ , ,

" , . , , , , 1 ln ' { i i , ' . . , , , , , . , \ ryr , , . i , . . j ., : ' 6 l l l | | v | | л i \ v u | , l ' ' ' ' \ | l | | ' , i " ' ' ' ; ! . ' ' ' ' ' ' , ' ' ' ' . .Ф l l1" ' Ioв ( ) l l i l 0 | |ск t )1\ )poгo вРс} lc l l I l I l ( ) v r lo - l ] l i l l l l l k ) l ) , ] . с ! , гL l , ] ' l r vс1 . ( | |v Р: l ] l I l ( l чToJ , ] l I l ]ксP I lр1! l (o ! ] l |о] Io11 l{c с I l сц l{n"1t , I lo I l { j l rр .с | l ' Lс ) ' ( i n I r l ra : r l r г rL r ' rо rмr r 6 r16: l l rо -тeкaN{I l с l l1 ' )а I l l l , r |с ' г l к ] l J Iа t I | ,8 f l : l (6 t l l о | l ь I i i i l ] lрoс r l ) i . ] l r IpуЗкr I ль t6r Iрar : ,п . l rс : ]a l l i l сoI1 ' Дa | r TабЛица псPсN l t ]цaс l} |Ь lx i ) . ] lC] \ ]L ' I lTOв ' кa]L Г lРавI l - . l ( ) , ссть) ' o /{I1 l lк ( ) с , ] ]о){нoс| i , PeаJ lизаI l l ' t x B l lедрЯс11oг . ) IФjL ' t ] |Poс1 l ) чудoв i I l ] ( l j ; t l l (1 .oI iy , ! ' i rllссгaлдilP,J.IlЬlii аllPес зal.Рvзкll сPaзу 6poсnс1|'l в г:|а...r, Taх vтс, lrcrrrr.,t.r ь э;.r'го11рl]olIa oчсl{ь сoпlIIll1.1]jlьltil'.'

A'.xсPЬ спeпlraльllо r'ltr.Iя IIасTo']U{llх пзп1laщr:rrцсвl Pазnlrlll..rIЬ с1pаll1l.]ll],|iiиllllдж aсe.тaк] l ,t!OJl.}lo ! (jcкцIJя ll()дa lЦ)iltтllчсскrr trrrкоl)ll пc r16Pаrllаотся к ссlilЦIll ДaнflЬIх llo отIloсIlтеЛl'пым алрt]самl ir ]]сc ir6сo'п сlтlп'rс адpсса в o6язiLтс-ть'пtlм пoPялк"" дoillкньl 6ьrr,ь пеpcнпrl;rслr,t в т;i6,,'r" ,."р""'"u1,"',n'* o-',"","','on(кoнeчllo' при yс,roвиJ]' Чтo оl]а вo()бщс е(|ъ). Oст:л.лся .,rtппь пv,l7vlr .llrpcсa сJIy)Iс6яьrх стрyкTyP /lанrrьlх, oДrliL]rо ]rх Ре .rrьнo сxoррclrтxРoв:lTь x гlруч.нyю, PaсшпPенLle стPаtlпчнoГo tll tlджа с Bl1с/'ц)енrlеiЧ rj l.L)нeц ]ioдoвoii сеl(цr.'пбез сбpoсa eс в oвopлeii ;lаllятilс нe д,ля с-'ra6oltcpлпьrх, r,,','..' ,'.1',' .';,...,.сtJсч' пoсltoЛr,кy rакоii кoд llдсальlto вrlxспlс1.о фaiiлa и Ее пp[в,"*u".,.."6" unn,,,l,,',]l",Т,ъ:',жil::i".J-Жj:#-llыil сllосo5 втoр)кcнI'lя' кoтoPь]ir rtсЛьз' pасlloзпать визvальrro (пrlдpo6псе см,!Jа] l I 'ски 1 ' ' 1лaвa 7).

Page 79: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

:-;cниe основнЬLх пoлeй PЕ-фйла a1

oписAHиЕ oснoBнЬlxпoЛEЙ PЕ-ФAЙлAкai{ v)I{c гoвoрn.]loсь' ]ll)nпoстью oппсЬIвaть PЕ.ф^ri"rl мьIl re сo6r'lPaемся t'l пpсдlt.]Лaгaе!i ' ч-гo чIrтателlI: а) рeгуЛяРпo пrтyдирyют фrlpNlеlllI}по спецификaцiiю псpсД с]ro]\'i

1),]aвньI -дaB}ro расlIечата,1'l фaй",1 WINNrh иi] sDк п o6клеIrлx lrl\l с'гeпьI]l!оеil хaxcрскoji 6еPJI()ги rra манеp o6oсв' Bсе llиЛ(епPr,Il,eленнЫc стpук'ГурьlrзятьJ u}rсrtlto or.ТyЛa ( вrIи ]\1а Irис: зaЧ aсТую оIiп llN!енyrотся сoвссм !l € 1.ilк' кaкз спсцx(}jll(aцllu' Ilтo в1roс1lT в PядЬi РaзРа6o'Гчикoв )кутltую путаllllцy и сy-l t яТЛцу) ,

3,lссьo]lllсЬtваto'Гс'I llе все) а.rtIInrь сn11t,lс !lllтL,pесllьiе li Ilaпм€ll €с ]lзвссTttl'Ie по"qя,

сiroiiсTBа 1l oс()6€rllюсTl1 повс,IlсInlя РЕrDаiinoR' Зa остaльlrь1ми о6paщаilтесь

IoLD.ЕxE] E-l"lAGIссoдcPnnrr сЛr]|a'гyPу l1Z' дoста|'ruу,ося ll l|;lслe/(ствo oтМllрка збltJ lr lпскir - BqlУщсto рiвра6oTчпка Мs.Dosl l l.с|lсl)аJьlloг() ilрхIггскTс'Рa ЕХ]]"(1)()Рllltтa' ЕсЛu e-rтаgiс

Раlrсll l.]z' зilгРYзЧttк лPIlс'Гуllaст I( floпскv PIi{:lu]laTyРьl'

в Ill)o,гl.l]lIIoм сЛучас cl() ll()ueдell11e с.].aIioвlLгся llool|Ре.

]LсJlulJпnN1, NТ и 9х ll()lulсP)olпaкIг |lc/lol(уNlсl{т!!рoваll.

1 |у l0 с | | | l I l t турY z l1 , | l сPсд i t lо lцуЮ уL lРaвЛcI lпe пa Dos .зa .

r.;tуluку п o6r,l.пlrr Rь]во'u|щуltl ljll э|{Pllrl <.this Plogгaш сanпot Ьe I!п iп Dos

лlоdeo, ч'гo в дarrrtoм r:лучас llс сoоT|}с,гствуeтДеiiствl,IсJIьrtос,rl{, Лo(,(oльку IlPo.гР.li!11a 3lIlускасTся tlз Witrdo\vsl

О]uIII llз IЦ]llcМoв 3aPа,iе]ul,| PЁil)aiinов свoдlr'l.ся x вnсдPеtltIIо R Dos.заглуш.кy' дItrlаNt!1Чсс]ol IJoсстан^вnпtsill()lцу() с]{l.]Iатуpу llz ll дс.цll(nцую сe6e exeс дJlяЛсpсдilчIt уI|рaBЛelIиЯ IЦоrPаruNк}пoortтe.nю' ДJI,l вoсс1aIюtsJlеIIия пoРажсnl]ЬIxo6ьсктrtв rrростo зa:rrснI{тo z|l lln l,1Z' rI пPп запyскo фaii.'Ia rc WiDdows (вкЛюЧaя

сoal]с NIs-Dos) в] lрvс 6oxьшс l j l Iкoгда IIе пoлyчIrT yIравJ]с l I l Iяj]Iо6итflIll кр}.тoro IIзвРа'].a iVю|yT 11споЛЪзoвaТЬ сиIнaTуpу NЕ, пeредaюrцyюу]lрaв.''lc]1llс llnJаrлyпп{у и yстallaв.Лl1rrall)|lIуюз]]aчения ссl.мснTllьlx pегllстрoв как сoпl'а Лс схс (Ds : Сs). н]I н]ЕW, ни lDAс таtolм фаilлом pа6oтaтьнсмoryT Il сpaзу

нс floслe егo зalрyзкx вьI.]]етa]от n aсTраJ

[oLD-ExE] E-сPARнDRРaзlrcp old-ехе.зaтoлoвкa в naрaгрaфах (1 паРаIраqr paвсн 200Ь 6аiiт)- B нaстo-ящее вpel{я l1иксll riс пpoвcРяeтся (lry разве чтo ДамllсPoNl какrtrl)' olrlакo зак'

naДьInaться нa это нсс1oиT' Nlllrr малънЬIri РазпlсP зaгоJюrrка составlяет 1 пaрa.

Ipа4)' а yaксrпf.LrтънЬll"I ._ or.рir]llгIerr pазlfеPoпl самoii Dos'3агJ\rxкп. то есть eсII'оIl6),лe'г 5oЛьпrlr пoЛя e-,lfаnеW' фailл пloj{rcт и rIе заrрузIlтъся.

Page 80: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

главa 5. фoрМ.т PЕ.файлoв

[oLD-EхЕ] Е-LЕANEWспlещенI1е PЕ зaloлoвка в 6айтах oт пaча"lа фaйла. Дoл)кнo указЬвa'Гь fia пeр.вьIii 6aйт PЕ сЛгпaтyрьt PЕ\xO \x0' вьIpoвIIeннoiI пo граirицe Двoйнolo слoва' при-чe]!1eсJlи сyмlra iп]аge bаse и e-l fаn€ll{ вьlлеТаетза IrP€дeльI oTведcннoгo зaгРузчи.ltoм адpеснoгo пpoстpaнсl.вa, такori фaiiЛ нe гpyз]'lTся.B пaмяти PЕ.зaгo,roвoк (tslrсстссo всеrlи oсTаJIьнЬlNrи зaгoЛoвкамli) всeгДаpас.пo'ttaгастся I]ePед пеРвoii сcfiциeй' вплoTнyю пpи)киl!а"чсь к eе aеРе/]IIIе]i t,pани.цс (этoзfiачитl чтo PасстoяIrие N!Ф(ду виPryaпьпЬIIlаlipссоNi пеpвi)ii секщ,Iи и кoll.цoм загoЛo!ка l loЛ)rrпo 6ЬITЬ меньшel чeNr seсt ion А] ignment) , нa дЛскеPЕ.загoЛовoк ltlo'(eт 6Ьпь рaсnо'llo,{eн в rrю6o11ruсстс фaiiла' Ilatlptlпtсpв rго сеPедЛнe I,tЛи кoнцс (тo естъ ileжду нaчаrroм фaiirtaи llсpвъпl6aiiГ0м PЕ.зaгoловм lloryT o6осIroваться oлlIa и,Jltl flсс(oЛько сel(lцtii), IIе зrlаrо' соjiДсl. ЛtI кarroiiзaгPyзчпк oT э, toгo с yNia ' l io r Windows 9х/N' l . всс Pа6oтаeт. I lРи этoпIsjze0f нeadeг /rо",tжlto 6Ьlть paBпo /{е ii(j,|вltтсr'1ьнoму Pаз]\t€Py PЕ.загоjloвкa IUlIoсe ] fаne1{; seсtj onА] i gnment >: sizeOfнeаdeгs и Еirstseсtioi.RvA >: slzеOfHeаders'

IIмAGЕ_FILЕ-нЕADЕR] мAснINЕT!t]I цснтРaль1lоl.o tlрoцcссoPа' по/( коTopЬ]i1 скoпrлиJltIpoван rbaliл' Еслn 3дссЬбуДcт'rтo.'r.o oшtиlнoс oT 14сh' lla 1386-машIпIах 4)айJl liPoстo }Ie заrРу3I,tTс'l'

IIi,lAGЕ-FILE_нEADERI NUмBЕRoFsEстIoNsКoличcствo секциi i . Фаi iЛ, l l с сoдcр'(а|циi i l l ' ' l ( lДr loй ссtции' эa]]сшI lвaeтWindows 9х и коррeктrr() ]JPсPЬIвi]ст своюзaIPуllкy Лoд Windows NT' Мllкс!tN,:Lllь-нoe кoJIltчссTвo сeкlllll]i ()lIРc/lсJIястся oсoбelI||oсТяNnr рea'llизаЦиr| к()lll(Pс-rнor.oлoa/lеPa, Taк' Nт пeреl]aрllвa{rT <вссгo' 60h ссlrциii' Дрyгltе зaгl)у3чикl{ мoГУ-rимeть и бо.Лсс )ltссткиe oгрat пr't еr rrrrr, B о6щепt, кoЛичeсTtso сскцIli:l до.JDк |l () 6ытьсвe/xellо Iс миnиNIумУ.

Еслп зilявЛorlнос кoлп.Iествo секцlIй меtIьlIIe чЙсЛа запIrсеil в seсtion таb]е, тooсTaJIыtьlс сl]Itцllrl прoс,Г(l lio гРyзятся' по в цеЛoм такol:i фaйn o6рa6атьIвае.гсявпoJrнс нoPмLqьпo, [iасToящсe вeсeльe l]aчинастся, кoг/(а Numbers0fseсtion прe-в l l r r raет к l ]ЛичесTвo PоaльIro сУlr lесТ!yющriх сeкцr l i l i в!Iл l]тая зa т{o] leцseсti on таb] e' Ес'llи здссI' oкa'(yTся t lУЛ и ( как чaщe всeгo и 6ьIваст) ' Wj n d ows gхOтPсal.иPvет впоЛllе llopll:rnьrro' чelo IlеJlьзя сказaть o Wiпdows NT' нaoTpeз oт-кaзr'Iваюrrlеriся .|агрY,кать такori фaiiл, Фаirл с кoЛичесTвoм сскцLrr"', Paвпь]r1ltуЛю' l{eртвo 3aве1xивacтW]ndows 9х' в тo вPемя как Wiпdоws NT о6PабaTь]вa.eт такvnr сrпyaurl1o вIlojl}1с нoprtlаr'lьпol вЬцaвая нeизмепнoс <.Файn rreявляeTсяпpиЛoяtсниеrv w]n32',

Гloпутпо за;rrетим, нтo птtloгиe yllaкoвщtпФ испoJ'!н,lсмьIх фaйЛoв JIo oкончаниllпpoцeссаРаспaковки llскaэкaют этo llолe в пaiяяти' ли6o увeлинивая' ,rи6o уlrепь'Iuая еr.o знaчеIlиеj в резУ.]rътaте чеro ДallllеРьr но ltoryт кopректнo с6poсить тa-кoй o6Paз iiaдиск, B pе.too]s/]оrd.pe исxoЛьзyeTся дoвo-tlrнo нeнaдe)кIiьIй .Lцгo.риTм, скaнЛрующий seсt ion Таb, le и oTтaлкивaюrциr. iся oт тoго ' чтo есJ lиPoj nterтoRe] oсаti ons' Рoi nterтolj nenumbeгs' NuЛbeюfRe] oсаti ons и Numbeг0fLi nenumЬers

82

Page 81: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.nиcнИе oсНoвных лолей РЕ файла 8з

lrанJ{ы rrуjrlo' aсhаraсteгistiсs rlет' зrraчrlт, эT0 сеlilolя Эту свЯту1o пРостoтунllчеГ(r ,tе стoит 0611а]1уТr'I lJа сallol' делс IlPoвср1.у с-rlеlryeт y,ксстoчr11.ь: ес.rrпrrчсPсдltirя Зaпllсь в seсtion Таb] e uьIг.nядllт к.tк (сt{l(llя ('Го eсть tlсZ пoЛя в[пIrдtlLl) 'э'|() ссl(цllя 1l' соoтвс'|с.|велIlо, rlaо6oрoт, Пo1l !аnидIIoстьlо здесЬ ]tl:)пu[tается' чro аilPсс llачa,aa сeкции gЬIpoвlIe]I rr пanят]l ]1'ilс'киl. лепoсреДствсlltio 3а

liоl]цol1пPсдьlдуtцсЙ секцllrl' a pазпlсР ссl(lпnJ llе aьrrlсТaсТзa lРе/1ельr стРан11ч.

}Iл'iе пРЛuсдсн IlpoсToii IIакРос, счllтьlваloшIпii сonеP'rl1IIос xоЛя Numbег0fseсtionlrо указат€'цю нa IlсрвЬl i 6aiiт PЕ'заго''lorrкr:

i i io i ] lе r luп0fs € с{P) (*((L l t ]RD*) (r+0r6))) / ' , р ' ytrа]]rтель на Pг загоn0з01

t t l ' { ,Ъo

IIМAGE-FILЕ_HEADЕR] PoINтERTosYмвoLтABLЕ/NU]"tвЕRoFsYмвoLs

Укa3.r|еJll' и p,tзмср опl]llLoчlюii IIIl(|)oPll.rll || |J 06i,сI{Г]tыrы)i фli]ILlх, в нас1oя.

| | ' ( п l t е \ | q | | n l | l , I l U , | ] , ' у f l ! q ( , , . , | | | j , н | ' | ] , , , | , ' , l . ' , l , Л l | | | | . . , ' | , l | ' ' | I .

uуr.rt6a поля в rro:rь' от.пi'l'lllкlt, ill'lзас(см6.leрЬI ll сl|с1'oмIIьlii itilГllyзЧик cгo rlг.

rюprrpУroт, Для п]lсдогврillцerlпя с6Poсit!(llrvl]l ||рorр l\]ы нaj{к)(зrlrIrшrtTс сюllа

Iiсlll.o отличrtос oТ lLyЛя l'l11oдтянl1Тс (в l]^I''lTll) flolс Nulпberofseсtion oт PсlL1ь-ttогo зпaчения дo 6сlIr l6рaзIlя ' Tо кv ullrс вeРсlrlr Рс LoolS'а L]дoхI lут от зaв11с1r l ' l lo

есJlи NЕox спoдo6и,lОl всTрoIrть нoPIlilЛl,Ilшii ваЛIlдaтоPl э1'Ol.'гРlок псPoс1.illIет

рa6oTать'

IIмAGЕ*FILЕ-нЕADЕR] sIzЕoFoPтIoNALнEADЕRРaзмeР опц'oнL'rьнoгO зaго.noвI(а' !Дуцс1.o сЛедоlt зa IиAGЕ_ЕILЕ HЕADЕR, -lo1'жсl t vлaзътвaTь на псpвыi i 6а i iт seсt ion ТаЬ]e (тo rстЬ е_,] fane,J - 18h -

s]zе0f0рt iоna]Hеаdег - &seсt iоn Таb]е),rлc 18h - s izeof(IмАGЕ FILЕ-нЕАDЕR), Ес l l t

этoнeтaк, фаi]LЛ IIе зaгpyжасTся, l,l хoTЯ lleltoто!]ь1с эаrру3'llIшr вьIчЛс.rяют\'Iiа.зaтenь на seсti on Таb] e, oттa-ц к ll вJясъ от Nuпbеr0fRvаАndsi zes' за li I а:l Ь| ваться нa

этo нс с,l.O]1T, так кaк с11стс!1llыe зar|},зчrп{и эTOГ() rlrJеrпIя не Pаз:1erяют.

.цaлоc пp]lвеllerrЪr l{aкpoсьl) вфвpalllaющис pаз\rrр Oпцiloнаll'Il

укaзaтeль пa та6лпцу сскщrii' r]ьIчIrсneнтrь i с'ГаплартнЬI\! Il lf|ь t еР яатIIвныrl

. - . - \

l ';,, *"Щ

Page 82: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

84 rлава 5' фoрмат PЕ-файиов

r'e'Годамrr, в liaчeс]вe входнoro аPrу]!!еllта ]1pи ]iиiliают yi(a3атеrIь Irа пeРrlыii6aiiT

}dеfr ie хOi]t .sz(D) (*(( ' i0 iD*)(D + 0Х14 /* s izе Of Oрtrоna] l rеа.ег */)))#defrre рsесtrоnТаble{р) ((BYтЕt](хoрt.5/(р)+0хi8 /* s iz0 cf iпаg € heаf € . */+!))#iеfrn € р5.осt1оnтdble а]t( i ) {("qY'|L*)((r{(t tL,]ORD*](c+0х74)))*8 + 0х78 + р))

IIМAGE-FILЕ-н ЕADЕRj снARAстЕRIsтrсsAтРп6уTьr фаi]jа. Ес"чисhагасtеrjstiсs& iI{AGЕ'F]LЕ ЕхЕсUтАвLЕ IмAGЕ):0,фаl"'IJнr гPy3и1.сяl ro есTl] пеpRntii, сЧllTaя oт l ]y'lи, 6!п xaPаI(гср llст}lк 06яз?rIс.I] ьrro дoл.жсн 6ьi1'ьусl.аltOts,псli, У лппам11цсurих 6tJ6-lllотск дo.1жlrc 6шTь yс'Гaпoвлс|to (акri иllиму^I два атPибv,lа: IlttAGЕ.FI LЕ EXEсUTAвLЕ 1шAGЕ/0002h п I |4AGЕ-FI LЕ-DLL/2000h,Io n(с саlllftt oтlIосII'Гс,l '1l{ IJспo.iп-cсN'|llrt1 фаiI'lrаi}ll i)ксllоР1'lЦylоrциlr oднy ЛлI,l6oncе ф}'IJкlLllii, Ес.пIr aтрr|6vг Il']AGЕ. F]LЕ DLL устaIIо]r,1с|t, llo эfiспоРтa IIс'll lIс.lrо.nIlяlj1!1пii фaiiл ilаlЦIсl{i]:|ься llс 6у]tс1'.

Остa.lънькl атpl6утьr нс стo.rr, rIlатir;rьны rr лoД Wiпdоws N.г/9х 6сз6oлезUеIlll()Л cРеll{)ФlT ,l1oбь1c alta\сJ11]я' хоT,l' ]|() и]lсс, д(),'lal Ь i)тоl'() ]{о /tоЛ)lolь]' Bз,l].Ь xo,rя6ы II.1AGЕ .F1LЕ.BYTIS-REVЕRSЕD-L0 п I|4AGЕ- FILЕ.вYтЕS-RЕVЕRSЕD'N] ' olII1сЬI aк'lLlIc IIо'!ядок (]lсдoвall Я 6iLj,i1'r] сJloвс Nio'о{о г"lLуIlЬlii вoпpo(? IQlкоl"|у l6с'ГPак1.1lorllyсofiояlIl.llо 1lp()цcссoРil fi)()1.всLствvcT o/llюврcNIсtIrraя усталoвIсa o6oих aтpи6y.1о!? И кaкпL],1сйсгIJl'l,|Дoлn{oll lIРc!|lPl''lUггЬзаГРyзчI'l(' rсJilt усTаl1oв.,сlllirnii IIo.ря].loк сnqloвaппя баiiтol] 6у,]lсT о г.,Il i чi],l Ьс,l l)1. пo/tЛеР)rl|васjvloгo llPоilссс()lюi\'?oIlсpациоIrtlьrс сис'гемrn 01 ]\4iс|osо[t, I|lIсaIIIlьlс чсРcз l]JlJсстIloc slL,стot l|Poс'|ol ' I l |орлру l ) r . эT l i аTРи6yтI ' i 3 ! l I lC t l i l л1)6 l tосГЬ|0 ,

.Гo I ( ' ( lnN 'оo оT l Io( t гГсЯ I l к n ,Гp l1 .

бУту IмАGЕ FILЕ_328l.l xАснlNЕ/0100h' кo1opЬlм llo y]\lоnча|lltlo IlirlРar'lvlalo'Гся l](о32'рnзр''tllЫс 4rаjinьт ( 1 $paзрЛдl |ьIi'i РJi -_ i)To (]I,IJIЬl,o), I]Iц)()чсiи, бф крaiillсi]Il)l)i(lФl rlуtll]lе llе IIiltlPа||lilTЬся и i]il]|o,Il]Ul'|.Ь llсе lloJlя lц)авrtльflo.

Bссьма и1lтеРесell d'laл 1}lAGЕ-гILE-DEBUG'STRIPPED/0200h' yказЬIвAr01lulii ll]l oтсут-ствие o,]!iilдо,lltol,i l,Iп.рoрмaцrlll и зarl РеlIli1]oll l] l ii ()'1,.,rадч l{](aNl Pa6o l.a r.Ь с IrсLi Дa)lrеToща' когilD с)llа с(:'гь' oT'jaлoчUaя llliфop]\Inцrtя lIРивязаlll к a6сoJ]l(lTнЬl]\1 сNle.ulс]ll'lя]!lj oтсчllTьlвасnlЬ]м oТ п.Lчш a (lrаi'l',Iа' - ц пPll lrlюдРeIIиll в 4)ai,i.Л чужсpo]t.lloго l.(ца lly'Гсм еl'o рnО llPснi]я o,].лil'loЧllая llljфopМацЙ' IIсрeстaеT сooTllс'1'.сTвoва, |Ь дс i i ствпт i )ЛI , I loс . г r ! ' a лo l lе / i t ] I i , l o oТл l tдчикo| l с , ] ' а l roвится кDа i i ] t снеa/1еrBaтllьLм, дJя PeulelIиll 1рсl6:leNlьI суlцсствуlo'Г Tрll tlуl.и:

. скoрреr(иpoвать от,lадоЧl]vlо пяфo1rllацllIo (rt0 д'aЯ )тoгo ]tv)l(llо знать еeфopl'ат)i

. oTрeзa.r], oтЛaдoчIlvlo шI1фoРмаЦIIю .lт фaii.ilа (нo д,.lя это1.o сс н41о пайTli;кРоllе тol-оl зa I(опцorт 4)aйJаr{о'фт 6ьl,Гьplr(пOJioя(еrI lloсToРoнпrili oвсР1leii);

. усTaj ювиТь фЛаг lt!/.\GЕ_ГI LE-DЕвUG sГR{ PPЕD- IloсJeдЕЛii сn irс.)6 сal{ы;l прoс,|oii,]Io и самJ'й наliФю]r'Iri, СоoТRеTст8шtlo, Дrя ]roссTaновJleнllя пoPa,ксflньlхс16ъектов пeo6хoДиlro въпrусить qу'{еPодпьlii lioд xз телa (DаiiJlа и с6росliть

фJaI lflAGЕ-ГILE-DЕвUG sТRiPPЕD. в пPoтипtlом с]lучaс отЛal{чик нс пol.аnreTl]схol{пьrli кoд отnaхивae]\юго фaii'rа.

иначe nедeт сс6' флаI IмAGЕ ГiLЕ_RЕL0сS slRIPPЕD' эапPепlaющий псPrlterЦaтЬcrаiiл' кoгДa рe.пoкацtlй нсТ. к0г/.iа nrе онlr ёс.Гъ ' 3агРузч1fi{ nюжeT с no,ДIrьINI oсrlo-

Eim

Page 83: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 5. фopмат PЕ.файлoв

пfетoдаNIи, B качсстве rrхo/1]l оt o арl.-vllcIrта прrr llIl MаIoт vкaзателЬ пa п eРrrnй 6аriтI,Е.загoловка:#dеfrnе хоpt. .sz(р) (*((шоRi]*]{D + cХ1д /* s jzе Of Oр|rOnаl l reаdeг r/)))+defrпe р5eсt iоnтаblс(р) ((BYтEJ)(хOрt. ! l (p)+0хi8 /* s j re ! f ] i raс € n"u '" . * l+г))*defrпe рseсtrоnтаblе a]L(!] {(вYтЕ*)((* i(]] l ]0 l0*)(! .+0х74)))*8 + 0х78 + р))

IIмAGЕ_FILЕ_н EADЕR] снARAстЕRIsтIсsAтрп6утьr фа iina, ЁсJIи сha гасtеrj st i сs & I |"1^GЕ. Fт LЕ ЕхЕсUтАвLE.] AGЕ ) : 0 ' фаjiЛнlr гРyj}r'Tсяl t.o сстlj rrоРвьпi' сvлтiя от ttу'ltя' 6rrт хaракгсpt1сrrк o6язaтельпoдoл-жсн 6ьrr.ьуr:т,аlкrвлеп, У дtпlа;"пr.rескrrх6tl6лrroтсrrlro,rлою 6ы,гьустalroв,reнo rtак]\'иIlи^rviu дBa aтPи6yтai IIIАGЕ-FI LЕ-ЕхEсIJТАвLE l|r'rАGЕ/0002h и т АGЕ-FI LE DLL/2000h, ..тo ]tс саIюl oтl,oсlпt|я li к псп(J'цяясl1ым ф:lii]lаNl' }ксlloР1лPylоlIlим olilly rlnибo..rсс фупкlltIil Ес,Цll ltl.!и6vт ]мАGЕ FILЕ DLL yстiIloвлeri,,lo )ксlloPта Ilс1.! пс.rюлIrяtnlыii фa]ia запvскaTЬ.я lrc 6.удс1,

oста'ltьяьre aтри6y,гьl ttс сl.o.Ць ()а|алЬIIьi l't ,юД Wirrсlorvs Nl/9х 6e16oлсзrlсrrrroIIeрell()(]яl jlю6r'Iс зllaчеlll|яl хо1.,Jj ll() ltдссj Лl].llаlr, J,Гоlu tlс дo.П,rlп,I, B3яr.Ь хo'|я6ы IнAGE.FlLЕ.BYтЕS'RЕVЕRSЕD-L0 jl I]!IАGЕ-FI|-E-8YТЕs RЕvЕRsЕD-н1,olIllсьlllаlо1цltсlIо.

Pя,'loк сn('lorrаlol' 6айт r] слoRс. Nloяolo ПlYllЬ|i,l вoпРос? Ifuкoму ;l6сTPaкTIl{)мyсoстояli}lю lIPollсссoра сoolrrсrсГllуtT 0l1яo|'рc]!Iсllll;Lя J(.Tаяo]]t(l o6oих ",r.Рп6у-,lo}r? И кaк пc дci,iс Глl.|'l д()JlrlФ ] l l l p(,ll lтрllI l,fГь заГpyзч I'lЛ| rс.]ol устаl I osJIс ll Ill' ii I lo.

PяЛoк сЛсдoljill,Iuя rjаiiToл 6yJl.T o1llltlЧil1ЬФl 01. пollдср)rl]вilсNloгo lIрoцсссоРo !?olтсРаЦиоIltlьtll сt,к:,lсшrt)| 01 l\,]iсгosоIL' Л!tсаIIIlьlс чсрсз llJirссl,Ilос Nlс01!' IlPос1эUu|орлруx),| э1l] аTl]и6vТЬl З:l l|сan]Io6lloс'ГЬ](),

.li) )кc (itlюс о'ГI(х:л1.с,| |l l( itTDr'

бyry ]|4АGE-F1LE-328lТ' АсHINЁ/0100h, кo'Г.)l)!lм Ilо уnlo-l|ча|lllк) ItaГрnхдаloTся всоiJ2'разРядlJыtj (]aiijlLl (16.PaэPя,lllЬIii РЕ - )'ГL) (x.U]Ьrlo), BтIрочсl1' 6с3 lrPlliilIсijIl)9lt/lЬ] ]lуllIllс llс ll3Ir|)i'пIа,гЬ()l || lillL()'(jIя1.Ь I]сс l()"l',] llPlltlIlЛьнo,

BoсЬruLl 'I!lте рeсе ll 4'l^г I[iAGЕ. г I LE-DЕвUG sTR I PPED/ 0200h, vкaзьшluoшL'l i]i п a oтсyT.с1.вие oT.rlа'l(oч l lo ii и нфopмrцЛ] l и :lап Рelllaк'1ll Iii o'lrlадчl Iкllм рa6o1аTЬ с l ieii да)кс,|oцa] кoгltа о]Iа trсr'ь. orrll,]o.rI я Ilri{юрltatlпя ttривяIзallа к a6сoлtотttьlv спtc.lllсllll'мl оTсчl'ть]вaсмьl]!l 01.lIaчаJIa (pа11la' _ п lц)}' вl|цPсxии в фаr:1л чy'(ероll.IJol.o lФ/.tа llY-lсNl сI'o PaсшIi])e}lrtя оl'.Jlадoчllа'l t{flфорl\lацпя |lcРсстaе1.сooтвeт'стт]onir1ь lк]iiсТ!]]'t.eЛьпOстЛ' а ]l()l]сдсtt,l0 оTJIаl1чllкoв с1.aнoв!1тся кРai:tflснralекBaтl1r,lм, ll]п Pсш.нI]Я пPо6,]lе]!1ьl суlllссl,вYloT Тpll l1утIl:

. сftoрре(тиРoвa'|Ь or"цадoчIrv]о lrll4l.'lrllilцlllo (rl0 Д'7I,l 'тоro ]Iркll() 3наTь сc

QoPмат);. отleзaTn o,|naдoчl{vю xнфoрrvаtllllо (Jl.фaiI.JIа (нo ДЛя )1.olo сс надo I1айтIi;

кPоIte Tol.()' за I.онцoм фаi.iлa ivо)rcT 6шГьPасп0лoя(е1I пoс,|.opoнrx]i.i oвсрЛcii);

. усTa] Ioвl,l] Ь фЛаr Il']АGЕ ]:ILЕ DEвL]G sГRIPPЕD- IIoс-']еднlIiiсг10со6 сaмш]i lIPoстоI:l,IIo и саi1ый нaдe,{.ньiii' Соо1ве1l]тзснно' д.1я aосстalloвЛсlll.lя поРаженпьlх. о6ъcктoв rreo6xoДиl!1о вь1кyсиTь ч}O]iеРo]lпьIii j.oд xз телa фaйЛа и с6Рoсrtтъ

флаг ]мAGЕ FILЕ-DЕBUG-SТR]PPED, в прoтивlloм сJ]учае оTлa/]чlп. tIе лOкil'{ст. х o д h | , | й l . n Л U , l ] . , r . и в " ' l l " г o ф ' , | ' '

Инане вeдет се6я (llrar j}4AGЕ.FILЕ RЕLoсs s'rR]PРЕD' зaпре iаloпUrii перeмrщaт!фаr1J' коIдa РеЛoкa] Rl]i неТ, кoгда ,I{€ oнri есTь' 3а]]pузчrlli l'о'tет с пolЛtьlмoснo.

84

Page 84: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oпиЙние oсновнЬх пoлей PЕ-фaйлa

ваtlllrlr на неr.o ltololnсTь (1l ве/:{ь клa/]eтl)' Зa,Ieм жe тoгДa этот атpи6y'Г пyя{eтr?Bедь псpсмсстит! файJt 6е3 Ta6ЛuцьI ЛерejиещaeмьIх эЛe]!!eнтoв всe рaвl Io ]тeвo3'мoжнo.,, ̂ вoтэтo сщс кaк сказаr.l,l с'!у)ке6ltЬte сTруIстyРы PЕ.файЛa испoJlьзу-

yю адPссацию' и lloтoмy Лю6ori PЕ.фаii[ oт poя{дсlrиЯ

у]кe lтеPемeщaeм' Bся зaгвoздкa в прoгpaммнoм itoде' aктIlв]lo llспoльзyющема6сoлroтнyro ;цPссallшlо (л y Taк yж yстроеIiьl сопpемerrныe кolt]тилятoРьI). Teх.ничес]t]t ничс1.o нс сToIlт создать РЕ q)aiiл, Ее соДeр)к:tпi,rй перемещaе tъIх эЛe.мeнтов Л спoсo6ньlii рa6oта:rь пo лlо6oмy алpeсу (дaвiЬINгДaвпo' irогДa 3емлеliв.IаЛeлп дl'I{озавРьI и нnк:l]с]1х о пеРацlюяtlьlх с1'Iстем ещс ttс сУщеcTвoвaLflo, эTимNloг пoх!астатьс' llрaмиtlссl.rl ка]l{Дln ii ).

'IAкиМ oбрfu:loм' вoзl,tикаетrleoДrlозпaч.нoсть:тo Лrr псPсN1errLаeNlЬlх )Ле]\ elt].()в пет1потoмy чтo фаiiл пoлiIoс'Гъю пeр-.мe.. l r . l r r r Г i х . l p " r ' м у ' r . t l ) J { | l Ь , | , , Л l | о | | | | п Л . . | , I e Л n f l ) п . . Ь | | | л c l ' r l l c t t . а t ь r l l o й

файЛ нx 9 ltoсl1сЛучnе ||еJlЬзя.

Пo умonчiutию Ins link вeрсl'll л 6,0 n стaPпJе вlleдряeт пeРeNrеI]laeмьIе эЛeмeнтьl'гonЬl(o в DLL. а rtсtloЛ]lясNьl€ (l)aiiльI схо,ilят с тtol Пеiieрa l leпePeмeпIaеlllьlмиl oд.] lакo зalt'llцЬI!аTt)с,l ttа lJ]() llНiь|я. При вiteдРеIJип со6сTвeIIlloгo кода в чy)Repoд.rпnI1 РЕ.q)аill нсoбхo,lt|]\t0 yi(oстoвеP|rт],сяl чтo сЛl lle сoдеP)кит neрeмещаeмЬIхэлеIтсIlтoв, в tlpoтltll]lo]t' (,lyЧ1lс ll0зI l ка|1'Г с,te/lyюrIllrе пPo6ЛeмЬr:

. BaIп кoд llo tioя(o'г зill{.JtijL]lЬil]:l-l.ься llа iп]a8e Ьase и Лoл)кеll бЬlтъ гoтoв к зa.грyзкс Ilo Jl]o6oму n]LPссyi

. Nlo/t||(]nlкirIпlя ячc0l(, оTllo(}ltllllх(, к t|сpoltсlца1]мЬI]vl эJlсI cllTaм| oбьlчlIo зa.ка|ltlJlвaстсЯ крахoM lll)0t.pаii1NtЬl, lloсI(оJlЬl{у oIIll авТoNlаTиЧ0сl(ll (!ю|1DaвЛя.

l()-|.ся> сllс,j.tMIlЬl]\{ зaгру3чиl(ом.

/l() ||ус,J.и i!'' ll пl)oгРаl!ll1с 6ьI,'t lсoд пrtta mov eах. 0400000h (в8 00 00 40 00),,roвeрхкol.oP()fo ]vl|l ]laчeртaлп push еbp/mov ebр, esр (55/8в Ес)' дoпустим -l.аклФ, ч-Iol] сиЛу IIcкоToPьIх nРllllItlт б.l3oпыii aЛРeс 3aгPузl(и ]IзN{eflI,!JI0я с 40.00.00h tlаr , 0 0 , 0 0 , 0 0 h , ' l ' l ( i i l . . L | | i l r , , , l | . , j , : r I l l ' , \ l ' ' | | | | | в ш r я | | с j I o с P . д l т в с н ' | | | i i о | l l ' Р : . ] | | и | | .

с1,Pу(l lпиmov'бу/letпeре, lеЛaнав1'00,00,00h'чrol lРсвPа,IЛrкoма]uLуmov €bp' espв add [eaХ] ' al сo ]]сеNlII Bь]Teкil]olllll]tll' отсюда l]oсЛсдсTвиЯми'

СyцосТвукrГ lю N|eIlЬlIlеii NеPе тp пyтп pсшсl]и'I эTоi] лPo6лcмьll

. y6и,|Ь IiхnР'Ы (lIo тогДа фail,! станcт t{спcPсмcllIасNIЬIll' a вcllь I1скo'ГoРьIe ис.

IlоЛllясI1ьlе фni]лы л{lдспvднo эrtспoPтllPvют oднy илlt нсскoЛькo фy]lкцийrl6сз [iхuрbв lle сN{огy'r ра6отa'ГЬ)i

. tI{-'Pсj]iLl1llсьIвaTь тоЛьILo rlспcPе]\f.лIасl{ьrс ЯчcijI{и (ito этo nPивсдс'r к Рaзмa.зЬIвaнllю кojlа lto всеllу фаiiЛy' что сУnlестRепtlo усл.]'сrrит eго алгopптll);

о o6рa6aтъIватьпсpс l1сщaeмЬIeэЛeмеI lTь lсaм. rсTоятеЛьпо чтo6ъ lсистeмa

l!,oгла пeрeN{ещать фailл nРl fiсo6хoДrlмoсl.lt, llo ]Ie ]сoPe}киЛa паIII коЛ' lтод.

сушЬтe еii Iтyсryю тa6лI!цу лсpсItсlцасAIьlх эЛемеllтoв 0loдpo6]rее с}1, рaздeл<IlсPсIrcщaемыe элeпf eптьi>)'

IIмAGЕ-oPтIoNAL-tlЕADЕR] мAGIсСoстoяние oто6pаlкаспl0ro фaii"qа' ЕсЛи :l.(eсь 6удеT чтo-то о,г-личнoеот 10вh (сиrнаTурa lIсIIojlllяelloгo оTo6p:Dкeния)' файJ rre

a5

Page 85: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 5' фoрмат PЕ'файлoв

заayзится. PЕ64.фaiiЛaм сooтветствуeт сигнaтyра20вh (всс aДPeсау lIIrх 64.раз.Рядньiе)j в oстirllЬнoNl оlrir ведуT сe6r как нoPмallьliьIe з2.РазряДIrьIe PЕ.файЛЬl.

IIlt|AGЕ-oPтloNAL*нЕADЕR] sIzEoFсoDЕ/sIzEoFINIтIALIzЕDDAтA/stzEoFUNINIтlALIzЕDDAтA

сyNINlаpпъIi1paзпtсP сeкциir кoдa' ин]tциаЛизирoвatlIIьlх и нeпниIlIJа]Il1зиpoванIJьIх ДaIIlIь1х (тo ссть сeкцпii' иfilсю]rlиx aтpибyтьl IмAGЕ sсN-сNт-сODЕ/20h'II4AGЕ sсN-сNт-INIтIALIZЕD_DAтA/40h и IliАGЕ-sсN-сNт-UNINIтIALIzЕD-DAтA/80h)' Il]1.ке]\l 11с Ilpoвrряется и Nloжст rIpпнIrNIaтьЛ106ьle' ts тoп{ чисЛе l.I зaвeдoмo 6eссMtlс.Лeilньlс энaчe]Iия'

Bс,кtril .ri]rнкеР зап0'1]]Яст этIJ пojrя пo-свoсj!ly: oДrпi 6еPyт физпчeсI.rlЙ разNIеPсскЦий IJa л скe, друt.I{с _ вUрryaльllt,lii pшlrеP в пaillяTи! вьrPoвпellrtllii llo гPal l11це seсt i on A] i gnment ' _ пpичeм а,'lгopиTм oп pедeЛe]lия пpинaдЛe)кIlосl.и сок.цIlll i.1.0lry иЛп иlloмy ,l.иlIу ]]с стаlrдap'Гизирoвalr и в с,Гаltr pазpa6отчl{|(oв нa.' . , | | " ] i I I ' , , r l l 60 ,1 l ' | | , n i i I l J : l - P J . ' l . l l q | ' l | | | | r , J I i | , l 6 l r л ' с лev ' ' | , pа . j .Ч | |oр ' o r . | ' ID | | l '

oпpе/lеЛяeT <Poдoсловllyю' Ilo lIpuнцliпy 0R ('Го ссть секц].lя o атpи6утa]\1п 60hсч]паeтс,l lt ссlщllсi{ кo/'lа] и сскцl{сti да]lпЬlх)' иxаЧс лeiiсТBуст aptlстoкРa,Пr-чесl(ая ]lpoсJloЙкal пРилep)киваюI]iaяся пpu]lцl1IIa х0R и o,гl]oсяп(ая к лaIlllЬIм'I'оJlЬкo сcкцпп с атl)ибyтаrul'l 40h (80h?).ll.Ц,'I сскЦn,I ко/uсДcлaпo 'leкol.oPor !lo.с'.lабЛ0яItс (вoilь D(j,|киji кoll пii ]rакorм{'o э,гаnc o6рa6оТкI'I прrдсr.^IlJl,lс'lс,I дall.IIЬlltll), и сскц1lя с ilTРибуTaмI.т 60h ItЛц А0h Bсc-].д(и оTl,o(иTся к Jrоду (в llрo1.|lв.llo]\l сJlyчirс o6P8oвarlt,tсЬ 6ы ]lскJIaссIlq)ицI'pyeп{lnс сскIolt'll Pаз]!IсP кo,гoрЬIх llсбЬIJl п()/lсч|r'Гаlt' д этoгo I{o||уска'I.ь ]lсJпl3я _ pс'll}lГи'I lle ReJJи1,).

I{aк 6ьI тaм ,tl 6Ьшo' сl,lстeмltомv загpvзяt'rкy па этo г'ltу6oкo ]taллeвa]Ь (llaв-IIЬIlI./taBlJ()' к0lдa сскЦиtl кolla| !(аll,tьIх п пellIl]1циajlЛзllровalIlIInх дalIlпnх лo.мс,дaлl1сЬ ll <свoll' ссгмептЬi! )Tl.l lloxя сrцe пмcЛи кaкoй-П) сN]ЬIсЛ. rIо cеii,IaсэTo рудlll{снтъll tlеPежrlтol( стaр r!] l ьl ),

IIlt,lAGЕ-oPтIoNAL_н ЕADERl вAsEoFсoDЕ/ вAsЕoFDAтAoтпосиr.c.lrlные 6азoвьtе a/{pссa Iroлoвoй секциrI 1{ секI]lII1 дaнIrЬ]х' Hl{кen1 нcпрoвеPяtотсЯ lr всяlfl]!l компoнoвlIIпкoм зaxoлняIоTся lIo.свoeмv. ДJlя !осстa.lIoв.цсния дyпrевlloго Pавнoвесrтя oбa llojlЯ lto)кпo сьtе;ro с6росить в нoль' oтда-вarl дань дpeвпrtI{ 6уддиliскпм,Гpall'1циЯNI.

IIмAGЕ-oPтIoNAL_нЕADER] ADDRЕssoFENтRYPoINтoтпoсите,льный адpeс т0чки вхoдa' oтсчи,lывaеIfьiй oт rlaчаla Imаgе Bаse, N{o)кeT УкaзЬlвaтЬ в лIо6у10 1очкy aдpeспol.o llPoстpаrrствa' ! тоNt чисЛe 11 но пPrгlIiЦJlсжащyю страllичнoмv Iil'пдЯсy (яапpиlIер' rlal1PавленпуIo flaкaкyю.нпбyдЬфyнкцпи вllyтPи ядpа и,.Iп dii), lIля пepeдaчи упpaвлеIluя 11а адPесa| Ле,raщ!ен]rжe ]Iпаge ваse) мo)кrio ис]lo'1!зoвать цeЛoчllсЛcriнoе пеpеlloJrнe]iиe, Пpавдal нефaкт, чr.o всс заIрvзчrши lloliму,г riас прaвllЛь}iо (NT пoiiмеT точllo' oстaльlrъleпe ]lPo!сPял)' таll что зaкЛадьIвaться ]laэтo т]eльilя,

86

Page 86: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oписанИe oснoвtrых полeй РE.файЛа a7

ЕсЛи тoчкa вхojla наJтPaвlснa fla заIo'(oвol{ ltЛn после/:illl.ло сеIdllrю фаir.ria] arгтивr1PyсЬ] нaчпнalt)тжуT1.о ]!lаTерIrться ' о6вlrIlяя фаiiл в заРаЯ{с]r]1oс,rи вирусoNj'пoэтoillу вo rlз6ежаllltе Jleдoршумснxil ТoчIiy Ехoда Лyчl]1с всcгO раслoЛaгaтЪв первоii сeкцlп1 фali.na' котор.]iI пo 06ЬIli11ове1lr1xJ я вjIяtTся l.oдoвaя секrlrlя . text,

,,'I,rя ехе.фaiij]oв точка !хi]jl;l (ooT!l)Tс1вvеТ il]lресy' с котоРоro rraчllнaстся !ьгпo.riне}luеi п нс llo]t{Ф 6]rt,|ь Рatr I la l lynft) ' a ЛJ.rя i(]irrаllическrlх 6Ir6Jиoтск . фунt.-цll}1дnсIleI|ера' yсJroвrro IlaзЬrвасlIoй наlII.l Dl l |]a,in' )ioт'l 11а сrУ()I|i(e,]e пPи rLом.пoноuкedll с нaсl Pоjj]ra]\ll1 ll O уN]()лчапI.lю кollп(Лювпl1at вrlедряет стаРтовьr]i кoд,персхgатыtsalol]Цlii llа сс6я yпPаuJспUс il вьlзьlваIоЦ1lr.i (нtlстoящуro> D] ]l'lаjn пo

своеr\I) n{е,Лn|lпl(). D]]Hаj n вьrзьrвастся пPll сJ|сдyJо|r(l|х o.]ст()ятельстBaх: загPyз.xа/въIIрyзкa dll Il сoз]lliJ|ие/у]пIIlft], €Illtо aoтока [сJII тoчкa входа в dli p:lll]la

l l у rю ' фyr lшUIя D l . l а1n } l с l lЬ Iзь l l i l с l ся '

О6Язаr'(].]lЬrlo уч]lтЬllliii|е ') Гo пp1lвllсдPcrппl с06ствспнoгo lioда в d]lI tl[06l,I о,rnиЧ]tTь dIl o'Г o6ъгltп,rх (lаilJoв' с'1(,д}'с Г lIPoilrlilljl.ЛlП)lrn'l.r' l1о'1с характeрl]стllrt (см,

далсс раJдсJl <DiLсhаIасte|istiсs>)' OппРaться lla пa.пrl.ll'е/ъТсvTсТв]lс Tа6'ЦицьI)кспoРтir llII D коerJ слуЧас пr-r]Ьзяl aосiк'IЬl{Y эк(llорl.Ilpоlli1"|Ь фуtlкцllu MoГут llеTоJькo 'rиflaNIIlllсскllс 6rl6'lllI01(,кll' lLо и Ll(ll()'(Il'lсM|,Lе (briijll,ll к Tо\{y '{е uIlol.дnRстpl]чаloтся д!ltlа11ичсскlкl6llб'цirо1,(lor' Iiе irl(сrloртl|РуJ()|цис Лll о'(нoil фvllкцnи'

IIмAGE-oPтroNAL.}IEADER] IмAGЕ BAsEl ; a зo ! l , I i ] nд l х t ЗnГрv | ( l l сTр l l | | | J I l | | (Л1 ) J JN I I I ] L ' t l l ' l I ]мсрЯс I I I , , i i

x абсо r l l ( I r | |Ь | х а ' ( P c ( ; l х ' . ) ' I сч | l , |Ь J I r а0N| l ' | х 01 | l i l ! l l l ' l l i l ( ] . t ] \ l с r f | n

l lЛ| | l I l TсI )N l l J ]юJ i ( ) l ] I1 . l оР l l г l l l |а 'Tь l Io i ! с ] l с11I I ( | ) l l j i l | \ |1\ ' Р r ( l I i |ц ! Й . !пss ( ] | |с i \ \ Iaч .

l I l l . ( ' J |Ь| |Ь| i i |Л|)сс JaгPу i t r ( l l ) , 1 l | ) r J l Ja . J l r1 . I r l l ! ] i t6J I !1 lЬ l I l сPo i \ |o l IL l t сN|Ь l \ i ) J lo i \ J r гов( l )a j i J lNro) l {сT6ыTЬi i ] tГРv) l f tx i i | ( ) i l / l I ) . су ,о l r l1 l | | lo \ l loTI l i i L l rа | | |к)гor rз i l f ( ]Л()L] j{ ( ' э ' Гo, | | . , 1 , х l l 1 | ' l l l ' l . ' ' \ | | | i i ' | | ' ' ' l , , ' | | , ] L ! ' j i ' , l ' | | ' v ' ' ' ' ' l

ко] iб l !6JL tо ' |скo i i lU l I13 l l Гpуr ]ч| lку : l l t roТс . I l ( ) ( ' | ' l rT( ) . l ( )L l ) ]L]J | | |nTI l ,

ЕсJx l l l р (д| lo . l , r l l ' ГcJ lЬ| lЬ] i i a /Lрес сoвпад l rет с Iuц lссо11 v 'ф i l l tЛРY ' (с I r Iю i i ( | l сT l ) I l l r ( ) i i

б I !б" ' I rю1с l{ l l ' ] | ( ) l r сдсr l ] rс ] | ( ) ( ' ] re l1 l l с i i с r i L Iю l l l I1 ' с ' I l с lnc lш. rт Ix r i ] ' Oг j I t lдчxк ' | l | |Ге|р l l .

P0вaluIl,lii ts Nljсгosoli VisL]ilL slп(|io' lilllvlllсп|IьJii пor'l YпPal]Jl(.lllllll NT, Iцю0(a.

к11вaoТ-rочку вх()дlL !l уIlllРilе1.r)lсJr() D окрес1.ao('тях ядPа Фт..r.1,кllвa(l\1ая lЦl)фitNi.

\ ta xP11 эТo l \ l r lРoдon)( i t с ,Г l r спo- ! l l яться) ' Под \V i l ldo\1 ' s 98 1L lк l l с 4]а i ]Лъ lо'IJ {lrваlo'|ся в]l0Л|lс l]()])I1illlьll()' ll1l прп пь|х.)/tс I]з Windоlvs увo,lя.Г сс в llс'Ц)ll.Ц,

Мон,I1ь чу)t(oli Iпagе ваse Iljl |] I.осr!l rj.]lvt|,tL'LTсЛъЗя' тaк ]r:Lr( псpl]llсIцасIlыNlэ.lс.

монтам в этoм с.,rунaс 6удсT Ilрoсl() lIс ()1.'leГ() о,ГIаЛIoпlaTьсЯ.I{ хотЯ с]lстс!нъlil

зaгРvзчllк rl6сlльIIl1lнс'tвс сЛучaсв зllrР!зllГ Ttlxoii (l)il]i,rl tsllonlle п.]Р]vа"'тъ1lо' ра6L)TаTI' olt llс (Il()жeт - ]]о в.якoll сnvчаe' д.r тех пoРj пoк:l всс ]Iсрс]\lсxrаемIne

э,rемонтьI нс 6удут сlrop!скl.llр0вiL1i|'l llirд'lJe']{irnIll]\1о6Pа3ol!l,

IIмAGE-oPтIoNAL_нЕADЕR] FILEALlGN1'lЕNт/sEстIoNALIGNмЕNт

кPa:гI]остЬ вl,lPа!ltlU]а]lЛя секЦiii]l UaД ске п rr пal'ятл. oчеIrь tlнтсрсс]rое llo.]lеl

oфllциaльно o кратllосl.ll tlыРnвIILlI]ая ltзпeстно.iпlllЬ то' чтo oнa пPсдстaв,Irяс.l.

сo6o]i сГеllelll' Двoйкll' пРп.Ieпi]

Page 87: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

88 rлавa 5' формат PЕ.файЛов

. seсtion Alignment ДoJ,rtlo 6ъI,].Ь 6о'!ьrлe ]lnll Pдлнo 1000h 6a}iT;

. Fi l e Al j gnпеnt до'rяtно 6ь'Tь 6ojlъ l -A иll1 pавIro 200h 6аfIт;o seсtion A]jgnmeпt до'r)кll0 6ьlтЬ 6()-rьше иЛ,l Рaв o Fj]e А]ignllrent, Если х.)тя

бьI oднo Irз )тrtх yс"!onliii llе сo6,.ii0Дrс1ся, фailл |le 6Удет заrpужеIl'

в WilldolvsNT сущсствvст llецокYi\!eптl|Poванrtая вoзllo}кlll]стЬ oтI{лloчеilиявьlрaвI Ll] ваrnrя l oс |n]ва1]ная пa To]ir l чтo загpузк], пPlJкJaдньiх IrсI]оJ1I1яспtьш фai'i.'rloв/динамическr1х 6и6.!liL)теl{ ll с}]стrrп]]nх дРa}irrсl)ots o6ра6aтЬIвaст oдиlr 1' ,1.oт

Ес,1l1 sесti оn A] i gnment : Fj ] e A] i Фпent, т0 lloследllес ]!j o)кет пP и ltиi{aть лro6oeзIia]lo]l,tс| пPlrдсTilв'llяIoIIlrс с()бoii стrпellь двоiiкII (Iraupuпlер. 20h), Ус,1oRп}сяrl lL'lвn'гь такпс фаij]rьl Ilсвr'lрirв]loпllьllvll,t. хoтя это-| l.сPnI]lil lle rrlloJ]]iе rropРшс.Tell l .l1vчllle гo Jюка нс пpr|l(\]]!lаnII,

к llсяьIPоr]rlс,lI'Iьlм фаiiлаrv nl)сllъяn.пяе1с'l сJrcду lоIllеc .цoстаточ llo )ксстliое'Ц)e.бO1rlIlllсiв'lртyaj|I,tll'lc lr фlrзltЧс(lкllс aдp."са вссх секцпii o6ЯзaпЬI (t)вlliдaтЬ''госсть с lPа|llttliп'Ii иito '1,{ ]1о.пЛ((',', llo'1iloс1.Ьl() с()oтвстстпoва,].ь свoе]\lv дискoвo]\lvo6Ра jу . I ]UРoчc} i , | |ика l (x . пp iв r l r lo l l с 06ходI l тс l r 6сз l l ск . r r t l vc r l l l i i ' i r в r rpтуа l r , .llЬ1ii Pll3]V'(]l) ссrtцliii i!1(Dк(l tiьrrь rlelrЬlll(: l{х (lЛll}ичс|коГ() PaJircрn' пo lrс 6о,цr:сЧсl\l seсti on A] i gnment - 1 бaflт (ftl 0.'г|, (сIullrя lx.(l Равll o 6y/(01 lJl,Цo в 1lеl |а ]] па.мя 'Г] l ) ' с^ lюс } t j f I0P(\ j l r (D: д i l l l l IO0 пJ l l l | l ' l j j0 l ) cкvPс l . |Л) io , l ! лa){с ( l l )LЦ] t l t скJ ln) ' к ) -] ]и i i l t с ' Г l ) сч i | ) ( ) ] . ся l | ( . r rn| ! ) . l ( , l l | , ' l , - ссЛ ( )11 i i I tЧcсI ( t l i i pа3nrоР l loс 'Це/U le i i сскI ( ' , J ' I ' jЬ l -,]IcTjlсГ 3ll lll)сllсJlы lrlГРvnilсмor.o (])llii.]Jr, olтcРnJL,IOlIliltя сl|с'гr]мil lJl)l6l)асЬtDac]'rоJ |у6() i i i ) i ( j ) i ] l l с [Ч) l I l l i . l l ( ) г r ]6 i ( r . ( l l o l ] ( , l кo^1( ' ,uуЧt l l l ' $ '2k s l ) : J 8сдt ]T с06Я l r^1с|| -

' ' ' ' ' r , ) , ] t ' ' , . l ' J \ ' l , ' ' ' : l , L l | l l t I l | . , l ) l , l o Р i \ l , 1 , т п ' | , , | , l т | j с .l)yю lсяj l1 /liln(! сill1аn IЛlч,гo)oI2|,I ,цll!]Iloс|ь ]Vl('ксT !с1.рoи1ь гРalu{!ro3lIЬIii Dos',/iспtotttlt.р:rrцrrirrrrьrо r}lаii,'1|,l lIl)I1Л;rгll(угся,

U l |сPa] l loп|п , r | с l { .Т l ' \1 r , ' . с I je i ]сTя l Wiпd()vs 9х uо с r r r r r l6 r rь I о6pa6aтьr rиr , ; ' лс .nьц)оIllrclIIIЬI(1 q]:rl|"']ы lr с BозlJvlцL]Il]Jсм ol]lal]Ь|вiLlo1. ll]\J B laГРY3l{l]t вЬIплeвы|Jil'lцс,пьlх ]1l]il дllilJ.Ioг()I]ЬIх or{ln. B||роч(]iv' о6"1nс'Гь рllllrrрoстраlrеrrrrя Wirrdоlvs 9х lrс.yклrlt rrro сокpапlаt''l.ся' 6у/{Yпlее l lРиrlnдЛехп,I NТ.

,'Iля сoздlrнпя llсl]!lрoI]rIсllltь]х (рlriirou rlo)кllO в(Jс|1oЛЬз.)l]аTъсл лl'lIIl(еPo]!l oтNli(rosoli' ]a,1aв сilv к.IкrII /АLIGN:з2 сoвмeс'Гнo с ItЛ]о'юIl /DRIvЕR, Бсз кЛючa/DR]VЕR кJ!кЛI /ALIGN 6ytсT llpollгntlрllрoваIl, 11 JIIJlllrlrР rlсIrоtrrЬзуeт кpaтность вьl-paв] r ] inа lo lя l l o у l loлчaI l l l l 0 ,IlрtI;uсрlr пlаrr1юсol для вЬЧrавIlIiDitll]]Я с oкРyirtснUtll <rrнJв' x <вRеРх':+.еT ina ]52рO!ег(х) ( (х 3 { ! , , , ,+cеf ]n"A AL lGNi D! !N(х , a l |9п) ( r i ' . (d] ! l 1 , ]+def ]ne ALLCN ] ]р1 l i t l r !n) ( ( t & (а l r5п 1) )?AL]GN D0 l '1N{ i 'а l ]qn)+а]]gn]х)

IIl'|AGE-oPтIoNAL-н ЕADЁR] sIzЕoЕIмAGЕ. , ' , . r l ' г с ' o l r r r t , t r r u r о ' у . | , , l , l l ' ' ] ' o o | | ( ' ' r ь r l i ' , u , ' ' l l I l . s е ( L l o г А . i g ' r п e . ' , P J J\Iеp стPаllичlIo1.o l{мидn.a всеЦа Равеп !иРlуа,llьнoj!'y а/1pесy пoслeДнсй секцl'lиlI'1юс eе Размсp (nЪryo]rIIeннr'ni. вrlРTy:LIrЬньIIi). Есi]lразмер страничнoгo о6paзаI]ычислeп 1]ellpав}'льllo' фаii.l не зaг]rуr.астся'

Page 88: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

описаниe oсновных noЛей PE файла 89

jtfaкPoс iIЛя вы.rисJrснrrя Pс,UIЬltoгo Pазllера сТРal l l пllJо гll |l]tl!1i('{a вrn1,1Ядtlт 1.аx:

+de i :ne x1mаgesrzе(р) (*(DL iORD*](p i ' . ! t :eс t rcn(p] + i ] i l . /+ !d n/ ) r \^LIGN ] ]Р(*( ! i i !RD*)( t ]L .5 t :е .L r i (p) - 0 .g ] " v l : +/ r rcb . ] . с iA] ] - .n i i ] ] ) )

I IlvlAG Е-oPтIoNAL_нЕADЕR]sIzЕoFнEADЕRs

СуммilрнЬlil paзпlср вссх эnro.IoЕков, сoо6lilаIоnIиii зa.Гру l ]чикy l с t{o] lь I ro 6аr" rтoв чита lь or H iч lnn (ра i ] J . l '(- J'Гим ]iо,jlсм связаllЬI llBa оl paничсl1l{я

1, sizе0f}leаdeгs,ц0JlxФ] 6Ь]'rь вЬl6pан таIi. что6ьl З.lгP}'з'чlJк сч1lтrЛ ]lсс| ч1'() сIl} l]t)()6ходlIпlо IIPочllтal.L,

2. oн !rс lro)(ет прrBьrrпатЬ RvA перIloii (jcltJUlи (в llpо.].ивнoI1 сJ]yчас liaкая.тo частЬ сeli]ll!lt оказl]-'li|сl, il,lспpoеIIlЦ()unпlloii lta о6Llatltl, LtlLьtrtlll, llp1lttirц.lJсn{tL-lJlую зaг()ioIrкуj a JTo lItlltottуtlr.;rмo, и6r' lllr lr:r rtltJ{vxl (.тРаllIlц] ()lii'1а lIс Nlo.жeг oruб1;iшrа,trl'я 6оlr]с о,lrltсllО ссllT()Рil oЛl1oUPпl €||||()),

О6ь i .пю s i zе0fнeаdeгs у( . ' |а I lа I l j | l tв i l ст (я l l i l кo t l сц seс t jon таb]е ' o , ' L I l ; l кo )To l l ссa[ lo r Лyt l l l ]еc Pе l I l € l I I l с l , сyЛ l l Гс с i lMи. с ( )Uо l (у l l I l l , I i i | )x ] I I l ]Р l r ссх lаП)"1ов](Л l l IP| |сT i l l rд l tрт l loй Мs. I )os .*LI ! Jv l l l | ( с ( ( )с l i l l ] J |яo| . - : ] ( )0h 6 t l i i I I I i j l l l l a ' i с l \ ,o I |с0 Toг l ) 'l t To l }рсп|я кx l ( ( )из l , | i | с ( l {и i i ! rдРс( l ]o l rПо i i сс |{ t i l i ] | ( ' r 4( )0h 6а ih l r ] r l ' r l l | с . OTo.

l l l ] l , l I l y ]Ь сс] ( I l l l l o I l i l i ]aД l l сЛ l , : l , ] . . , lЬ l l ) l l ] l I I | . | l t l l I l l l ( ' l ] ( lю l} l lunяc ,Г ( (n l , <J . . i | с^ l ]g] l -п l cnL/seс t iо l rA l i8 l r l l ronL ' ) , r Iр i lп l l а ' сс r l l1 в l , l l l !11 , DOs. i ] r г i l \ 'п ] l i v , мo}к|k) v ' { i l1 . i ,s i zе0fнeаdeгs лo 200h б l ] i iТ , ак l rуP . l ' | | |0р( ! l l l t l . l l l . , l o rv лс 'p] ]о i i с r l ( l | | l ] ' j l ( ) ) l .o v){ r ]l'|звра1, Itoloчt] l'oвoPя' сс'lll.| с,llo/lo1jaI, Pск(|llсIl]tr]lllnNl oT МiсП)s()li, . t00Ь 6tlii|мьт пеиjlбФ|rIlo 1.сPrroi!{l tlIo rto ость \()рolllo' }Jот ]]t]J((n!PЬlo .'r Il l|ксPЬI п Рaзм.ш:u.]т llilесь ].aбл цу r|мelll сo,,rlPx(tttlivlo llL'РсЧctlь :ln r.р'1,i t]е(!t Ь]х D[,L IlЛи чT()-r .o т r tпa ' гoгo , I loэТ{ lму . l т r l6ы l I r : r r lporLr l l r пс r r : rр l l xт | ,с , l l l l r i r )Dар l i J ' l i ] кoнф,u l1к l ,j l y ч l l I . l J с с l . ( ) ш o д 1 ' ] I у r l s i z e 0 f H e а d e г s L l m i n ( p I i . s t s e с t i o r . > R a w o f f s e t 'pFi гstseсt ion.>vа).ЕIeкотоpьt е t rехopoшио Л PorPaм мьl ( в l! Pусl 'l ' уЛll кЛnl llпl,I, дам l lt.p Li ) -vсTaнaвЛи-naIот sjzeOfнeаdeг rl?l rа19 offset первoii сеitцl,lIt',lто пeпlаnи,rrьI]()' Mo1iдy l{oнЦor{RсехзaгoЛoвкoв и фиэilчосItlrм lraчаЛorl IIерltoii секltllи r!]orriсr.6r'Ггь pасlюЛo)кс.tlo,1Iо6оe trрaTxotj Fjle A] iqnlпent кoJuчсство 6аii].' пxnР].l!lt]Р 1 1.6аiiT, и эTo llP],ITolli| чl'0 вr]PТуаЛьIlЬlii адрес пePBоli сeкцlrli 1000h, как Tакoс llon.ет 6ьlть?A oчl:ньпрoстo size0fl]eаdeгs <= l000h' rl ()стаToк наltloго г1lга6аjiтit }le чптаeTсJlr] нe проецирyе,tся в llа]!1J1'г') IIоэтоIly ]rIп{ar.Irх коlIф-rlиI0()g rt 11с noзникас1, ЧтоNlо)кeт6ыT' в эTorl Ilm6ail.гс? ну' папplll{Ф' rnTl)nlil()r.Pnс]i, I]t |'],1P.lrньnl nrNIже виPyсoNI (lr тaкI]е Ilирусъl yжё eсТЬ),

IIмAGE-oPтIoNAL-}lЕADЁR] сl.! Е{!t5t., i.'lI(онтРoлЬн:tя сylfмa фnй;tа, Ilpoвсpл'lт,:я ro'lь'lо N.Г' дa.Гсl l{ .ll','Jxr' lцi!] ::..i,.] ] iнскoтopьrx спстeпптъtх 6ll6Jl|оlrJi ti lrаЭvy.етсr' сaмоro яr.|а. AiтnР!;Т "f n .l'мoжнo найпJ s IмАGЕнЕL.DLl.' (]l\']|li]lN' .i].сksuпlqаррedFile ilо ']Jtу}:el. ']i .i ' 'l

Page 89: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ные Тeкс1.ьl вхoдят R SDK' У 11сня ссть sDK, нo нllчеt.o пoдо6]toго я тaм fiе вIl

ДсJl (]!1oжсT' ]1Лoхо искLrт?), Bпрочcм' аЛIoP'lтll pасчс,l.а TPlшr1а"leII и дeкoмпi1.nиPус1ся па уpа'

IlMAGЕ-oPтIoNAL_нЕADЕR] sUвsYsтEМTpс6yсмaя llL'дсlrстeУal котоРylo оЛеPацnoн11ая с11сTеп1a Дo.lt,к}lа ]реiloсTaвитЪ

фariлy, Moжст nриtlnNlа,]'ь с,tелуюrIIие зrlачсrпlя:

. 00h l}.1AGЕ-sl]BsYsТЕl,l UNKN0IiN rie]'iзuестllaя пoдсxстcпla, фaiiJ] яс заl.ру)кaется;

. 01h I|4AGЕ-SUвSYSТЕ}4-NA[IVЕ Лоnспстепla яе ТPсбyстсяl фaii.I tlсnoЛпяетсяв <Рo/lпoм} окpv)кснl1rl ЯдPlt и, ско!ес всего' l]pелстаRляет сo6оji ДPайgеp yс'

Tpoйс'L.вa' o6ьгlilьIll пYTсlll нс загIrу)кrсTся. Еслi,I вьl пlJlII €тe uIIPу(/уrlaкоB-цик/] ЦхIгerffoР, ]ln в xосм сnуч ilс l |с o6Рa6lтЬпrаiiтс такпх фаiiЛoв' ссJln ToЛ ь-t{o,loчlк) lIе уBeРсflьI B тоIl. Ч'Гo t]]J /l(е'(aeте;

внимAниЕ

rлава 5' форм.т PЕ фёйлов

nри загpyзке драйвepoв Windows иl|loрируeт пoле пOдсис|емьl, и oнo Мoжeт 6Ьть лю-бым, noэтoму, если subsуstem l= IРIAGE sUвsYs,],Е|.4.NАтIVЕ, этo eще Ne знёчит' чтoда!ный файл нr явлЯeтся дрaйвером'

ксгати. сэтиM связана oдна зaбавная пpo6лемa, скотoрой сталкиваloтся мнorиe <пpо.гpаммибЬ'l пь|тающиeся noдaвитЬ сOэдание ненyжного им oкна (нY мало лиl мoжeт/oни шлиoна какoгo пишtтl аэтo oкнo eгo деMaскиpyeт)' пpeдoтвратитЬ автоматичeскoeсoздaние окна оЧе3ь пpoсrо дoстaтoЧно''. He сoздавать егo!

90

02h I||AGE_slJвsYsтЕl{.liINDOt,ls.GUI _ грil()ll.Ic(кll' Will:J2.l|('(:исTeNlа. OпоPllци.o]Illnя сис1.с]\lil заГру'(llсT (|)aii']I l]OiNIilrlL,IUnN! oбPaзоill, Ilу il /l.L'1ЬlIl. 4)Jlnl.сi{уI] Pу( l ] ' l l l lуст l | вСc ' Ч1'() CNIy ||y)к] l () , до6ЬII lаст с i l l \ i i

0зh tl.tAcE-sL]вsYstЕl]-!,l1NDOl,Js-Сl]I _ lсI)мlrIlаJ|ьlllи (ollа жс lroIlсoJ|Ьllaя) $,in32'llоlLси(Tеl\lil'

'го )(с olnюс' ч11) || ]|4АGE-sUвsYstE}.l шINDolls'Gt]I' l|{) в эTor!' сJrучaс

q]aii,ltу lIд х'Lпяву ДосТlс1.с' aвг(lN{iL'l.иtlосlol соз!li]l]аollliUI lсoIlсoЛь с гo-LовЬlIlll

iIеск])пптoPаllx1tsвolLa/|rыlx'1a. вoо6щс rоnoPя, рili!]l Ilir ]\1фIqiу ILоllсo"'lьllЬINiп

и гPафrlчoскимll |Ц)lrЛ0'(епllяl'll ' 0ч011ь ус]lоl]]|.l: шnlсоЛъпьIс jlpllJ]oя(Jtrlя iill]'

ryт вЬIзьшaТь G U l з2lU s Е It32 q)vнl{цl1r1' ll Гpnd'llleсlo1e пPrL!oжlrl1llя ' oTI{pЬt.ватЬ oдtlу Il'll l l IIсск('|ьllo кoIlсoЛсii (llаlIPиIlсРl Ir оTJIа/I.Лппnх цс.n'Iх);

пPи!lЕчAHиE

05h ]}'tAGЕ'sUвsYsтEl{-0s2 сUI пoдсI{стcма os/2, .]ilлъtro д.Iя пpилoяtcнlrй oS/2

(oдIrll{ шз коТoPr'х] l{с,l.n'ПI говoряi яBлЯстся всerJ ,iзвесTrIътй llIЕW) и Toль-trо для Wiпdows N'l., Windo\l's 9x lIе мo,rеТ o6pа6атшвaтЬ Tакие фaй,rьI;07h Il1AGЕ'sUвзYsтtl'1' POSIx сU] пoдсr lстeп{а Р o s lХ, ToЛькo для прилo){сttийUrt!Iх lI тoЛЬко дjlя Wlrldоt\т NT;

09h il,lАGЕ sUвsYsТЕ|{-l,{IND0l,ls-сЕ GUI фаii.i пpодtlазначсн д,'1я l1сIloЛ]lefillя s сPс.

ц ' ц | | с о \ ' с Е , | | l ' \ \ ' i л l u ' : N _ , l ' ' \ V i r ' о о ц . 9 r r ' v o ' 1 . " 6 д 1 6 r . ь r в э

. ' , .

кпe 4]xilлЫ;

Page 90: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

описание оснoвнЬ|х полей PE.файлa 91

OAh l.]AGЁ sUвsYsтE|'1 ЕFI0вh I|1AGЕ sUвsYsтЕ|4-ЕFI0сh il{AGЕ sl.]BsYsтЕl.l ЕFIInitiаti\,e),

APPLIсAтi0N;

.в00т.sЕRviсЕ-DRIVЕR;RUNтI|4E DRIVЕR пo,1систеlIa ЕFI (ЕхtensiЬ]е Еiгm\\аrе

IIМAGЕ-oPтIoNAL-н EADER]DLLснARAстERIsпсs

Оче]lь стралlx)е пoлe. Маtt Piеггek пliшIeT, ч'гo otlo опредeляет па.,op флaгoвl YI{aзьIваIощ1rх' пPи (aких yслoвilяхтoчкa uхoдa в DL]- пoлvчает vпpaв'цение (I{aк.тo загpyзI{a dllг | . r{ с ' Ioe п] 'o Гp:rh. ГBo прoц., ( J , .о | L ' .н| lс J]в.DU ' н, . tнoвoгo floтoкa ll вьIrрузrrаd]]xз Ilам,lтn), в сllсцlrфllкrциинa PЕ.фopItaт эти IIoЛя Ilo]!1счсrlы каl( заpсJсPвrtp()ва]ttlЬtс' l1Wiпdows ]1flк)l)]1.

Pyст xх значеtlис, пoэтoп{у y 6оЛьUЛlнсТвa фaii"ro9 о]lo paвно flу'цlо'

сorлaсllo спецпфиItаIпlll 6,0 oт 1999 гoдa (сaмoii сtsс,{сй слсцllф}lкаЦll1l llil (с-

го](IlяIlIIl],l'i деIп,)l загРyзч]п{ /roЛ'{сп поДдlrР}кивaть и дPvl.l]с фnаги: 800h _ jl(,

6UIlll TЬ о6P^]' 2000h - 3aгРy}I{аTь дPa'lвсР xак WDМJц)n'iвсРi 3000h _ d]tlii.rlIk);uLcp)кивaеT l)а6()1y п(,LтсPi!{иIlа.rrlпьJltl ссPrrcрoп{, Эl{спсРllllсlITа.IIьIlа' IlPoItсp'кa покa3fuIa' чтo W2I( tlгIlоРиPус'I эl'l'i ()rlаг,l.

IIМAGЕ_oPтIoNAL-нEADER] sIzEoЕsтAскREsЕRvE/sIzЕoFsтAсксoммIт, slzEoFнEAPREsЕRvE/sIzЕoFнЕAPсoммIт

{)6.ьсм зарсзсpяиpoвaIrlloii/вЬu{eЛcllllоi'i пai{яTи пoд стек/куiry в 6ariтax. ЕсЛxsizeOfсoп]mit > SizeOfReverse' 4)ai'i.1 ilе llitгРy'(aеTся' lloЛь oз]lачасT зпачeнше пo

IIмAGE_oPтIoNAL-нEADЕR] NUмвERoFRVAANDsIzEsколпчесTRo э"'Iементов (не 6аIiт) в DAтА.DIRЕст0RY' с.ЦсjryющCj'i нсnoсРедствellI]оза :rтIlNl пo".lеN{. I,Iз.зa гpу6ьtх oIIlи6ок в систсмнo11 зaгPузчиxс кo\x loнoвщtl л |l oтBoгlаnd и M iсrоsoft всzzаd выставIяюT IloЛнI,lii pa:J11ер дирct{'|oР,1и ' рaв]Iьrii 10h'

дaл(е eс"ttl Реа.nьнo eго нr испoлъзvюT,llаllPЙruсP' WlIrdo!vs 9х llе nРoвeрЯeт'чтoNu]rrbeгOfRvаAndsjzes >_ RELOсAтI0N Ir/или RЕS0URсЕ' и сс,rlr пoдсyнyть cNIv зallpoск oДнoйllз эTl1хсeкциii. а TаIсих дирeктоpllй пет кpапTъr' WindоWs NT не пРo-веряeт (пpи зaгpyзкс dll) {дoстa1oqнoст!> тLs-DIRЕсТORY' и eс'nи этoт TLs мехaflизNl аItтивиРoваrr, a ТLs.дIrРсктoPии нeт . oпять кpаl1тьI.

компоповпшк Юрия хаpo}ra вьirоднo oTличается темj что yсекает pазмср дrгреI{тoptrи до l{иrrllмyмa' нo и кoда вl]крyl пpoцедyрьI <сoltPащснии' Tа]i1 сTРoкпЯтьсoт' a y'{ сIrоJ.rькo вpемeirи 6ыл0 y6итo n иДЕ,,-

L." jpvг iя рoб,1Pvа, I lо . 'nLифиhаLии OAтA-DIaЕст0RY pас||o |с| ,аLт ' ,я в(: l .lIом I{oнцe oпциoнanьнolo зaгonoвкa, и нe]loсpeдсTвeннo зa егo кoнцoм lIачllIlа

Page 91: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глaва 5' фoрмат PE.фаЙЛoв

стся та6"rтицa секций, Таким r,6разоII, yrrазaтеJь rtа тa6лицy сeкциii мo)r{eт 6ьI,Гьпо]ryчell лIJ6o тarr:((вYTЕ*) ((*((!юRD*)(р+0x14/+ srze of oрi]oni] l h.аdег 1/])]+0!]8 /* s izе оf ]п i !е h.аdсг -/- !)]

.Ди60 такi((вYтЕ*) ((*((Dl iOлD*)(р+0Х74 /* l !uлRvАаndsrze */)])+8+017в /* Lrсqrn DAтA 0 lлЕст0т '/ */+!))

сисTeмвьIй загPyзчик исllo.пьзyе.Г пeрвllli сl1oсо6 ll дoпyсl(aeт' ч'to Mс)1{дvDAтA-DIRЕстoRY и SЕсТI0N_тAвLЕ Nlо'rет 6ытЬ распоJ.lo,кеrlo нeкотoРоe кo'rlичсствo.6eсхurньrх" 6ай гnп' l ]сI .oropL. Л'| , r(11 '116, | ' i 'Ь , ' ' v ,|4| ,oв | , , j , l | ' - l | || i l ,U | |||| i r l leи ищyT SEстI0N'тАвLЕ IlеlloсРсlдствеп||0 за lсo llorv DAтА_D]RЕст0RY, ]]o.r x дав:lilтепoдсyнсм пN{ пol{Лoжну1o sЕстIoN ТАBLЕlПyскаii Ilх ilв,|oPьr почаЩс зaIJя,1ывaJ( ),]'в WINNll.]' кoтoрЬIil нсдвvсl{]nсЛcннo l-osopЛ1.' ч1.o:+def]nе ]мAGЕ.ЕIRsт sЕст]0N( nLt].idег ) ((t,I|iдCЕ-sLCтIcN ][дl]Еli) \

((L.] ONG.PjR)ntlreаde. +|.]ЕLD-O|.FSL]( ll.]AGЕ Nт нЕADЕRS, Optirrnа]]'.oirdc. ) \((рI AсЕ-Nт-нЕADIRs)(nt l reаde.))->|] le]0adeГ !] lс0 i0рt оnа]нс i r . . . \

) )

'.'Tак ч1.o JIозть /Il.|JJLсс0tl6Л€PоNi в сисlсмлЬIй 3:lГру3Чllк сoвс0N1 llс oбя3a].rлЬI|()I

DAтA DIRЕстoRY. 00h I!iAGЕ-D]RЕстORY_ЕNmY_ЕхPORт у,(аJllTсJ|ь |||lTn6Лlпlу

oксlloD'гlJРyсllых фy]lкJ(rtji и Дaв1lЬIх (дa'Ц(,с l1o тcксTупpoстo (l)y||кцl]ii), BстРeчa8r.с't IlPсrlм) |цсс'||rс|Лrc 8 д]I.l l aм lF leс l r l i х б l j6Лцоте l (aх | | l l Pа i i ] l срах ' o j ( l l i l lФ : | l I l .

92

I{aться )ltс|loPТoм тoвirрoB ru())кст II р,/(()l()i.i llсlIОnll,|смЬIji (|)li1.l. l,](ll|()rrЬiIy.ст RVА- t,t VА.адpссацl'llo (lIoдpo6llсс сtl' l)lli],loЛ <эIiсlк)Р1>),

. 01h I I ' ]AGЕ-DIREсТORY_ЕNтRY-]нPoRТ _ указ t l | сль па т i rб r r r r l1у r rмt l tц l . гпpусмьIх

ф у t t t . r . и й ' r r с r . o r ь . у е м t , i t . 1 1 l | l , I q , , | | ] ' , , i ' " , . . . ( | ' | | , ' \ I ! | | ' n ч | | : ' с | | в l | | j )eмyю сисТсN lньI\{ зaгрузчиI(o]vI l кo l .да всo остaль||ь]c i l сх i r l I l i I i l l L l l lN lпoP,ГaнeДостynнъI..испoЛьзyсl R\rA- ]r VA-lдресa (rj0дPсr6lIee сll, рaзjrс.l| aI{M.пopT}).

. 02h IllАGЕ DIRЕстORY ЕNтRY_RЕSOURсЕ укrrзlrтс:rь нa тir6lицу ресуРсljвl хPанящylо с, . I]o l i l l t пикToгРaNrr1ЬIj r ivрсoPЬl , д] iаJ]or Л пPочи.A к}rP l luч l lк11пoльзoпaTе' lЬ(fioгo Il]]тep4)еiiса (хo,Гя Iак11(.это кирпILvrrrси? llастoящrrс 6стoнriьк] 6.10киl)' Tа6.{llцa PссуPсoв 0pIaнIrзoвaпa в виДe тpt]хуpoв]lсвогодвollч]lor.o дсpеllilj фlишкoм запyтiutнoго и рaзлa истото' чTо6ЬI сIо 6ЬIJомо'(]lo llPивcсти зllесь' tlo'к счaсTьlo' испoлъзyroЩеl.о тoлькo RvА aДPесa-циlо| To сс]Tь lrечyBствитсnьнoгo к смещс]lt.lю <]свoеji} секпllU (a этo' IrаrL пpа-виr1o, сскцrrя .rsrс) внyтPЛ фaйJ1а, oднако eсЛивьI вздуrцаетс IIPaвlrть R\'.A(пallPипlсP' Для внедpeнI'lя пoвoli ссttцlllt в сcрсдиrry стpанllчнсjго ill\l}1Д{aили rr{rPeнoсa Image вase)' Ba]!l гlPидeтся oснoватejrъпo IlотPyдитъФ1 с эToiiстрyктypoli' пoдPо6нoe oл исание l(отopoй] хстaтиIoвсlРя' можнo ]rаiiтп n \L)кe yпoмя]tyтoй с,гатьe (Тье PortaЬlе ЕхесutаЬ]e Fi]e Foгnat fтoп Тoр 1,oBottоm',

Page 92: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

описаниe oфовных лoлeй PЕ файла 9з

0зh Il.lAGЕ DIRЕсТ0RY-ЕNТRY-ЕхсЕPтI0N ] Yкa3ывac,| lla еxсeрtjоn diгесtoгу (Ди-

РеItтoplllo искЛloчеllий ), o6ьIчt1о pазNIепlaeiyn] в секциIl.pdatа ()roтя это и lleo6язатeльIto). Испoльзус,гся толькo llx с"rlеДуlolцliх аpхитerrтypaхl МIPS'|t|pЬaЗ2/64' ARlvl' PLlwегPC' Sн3' sн, Willdowsс!. I( мlкPoпpoцeссoРnillс€п{еiiствa Intе] эr'o нс oтнoсптся. п IХЗli6'загpузчIrк иrlloPирyе,г эTo 1lo'Цс,Лo)тoNlу oнo мo,кет пpинI'l]\{атъ любoe 3]]aчсl1ие,

04h II4AGE-DIREстORY ЕNтRY SЕсURIтY - указьIвает нa mа6'tlлщ сepmuфutсалtoв(ссгtifiсate TaЬle)' plсnоJla1.aюЦYloсЯ стPoIo в секцllu ,debug и aдpесуeNryl{)не пo RvA-aдpeсaN'' a ao iDuзичrскиlJ с\lеlII €lпlяNl вltуTpп фaiilа (так пРollс'хoдltт пoтlr]\ry| чтo Tа6лUца сср,|I lфll lraТolr rlе грузrrr.ся в пaпrятъ п о6lrтaеr.лс.кЛloчllтсJrьrlo rrа диске). Ес,Ull ]I4AGЕ-DIRЕст0RY ЕNiRY SЕсURIтY I- 0'tl]lв Ir()e\lсЛучас нс пьIтаriтесь вllедря1ь в lDп]iJI постoрФппlij (olt' IIнaче ol{ отl(а'{е'Г

05h III1АGE.DIRЕсT0RY-ЕNтRY.вASЕRЕL0с - ol1 ,fiс iijruPl исIl0Л,зуст RVA.а]lрeсa(сNl' ttiulcс Рllзl1с! <ПеPсм€пlаeI!ьIc'xсNlulты'),

06h Il.lAGЕ DlRЕст0RY-ENТRY-DЕвIJG. о'|:J1а](оЧl1|l,l r1I1фоPlllulи'' l1сllo.!ьз\'сilа,lлп3ассei!16Лcра]!1lt li /lс6aггeрaN{]l' l,l(lli)'1ьJ\,c,! RVA- ]tAW Ol,.гsЕT.:Цре'сaцпIo. си(1смвьIй заl.РY3ч,lк сс |]Гllopl,lPyс1'

07h I},1AGE.DIRЕст0RY-Еi,I]RY-ARс|]IтEстURЕ _ ollo ){е i(|csсгil)tioп'. l{l] 1386.lt"'Jaт.(хРNlс, сyдя Ilo Bссму' nрс'l пiljl lnчп l /lЛ я хDillIс}uln J l Ilil)oPl"lа |ltl и o к0l11]pniilах(tla этo' 3 Чaст|loсТи, Укiвьlllilе I. oIIP()к]Jlo |]ио iIIАGЕ-DIREст0RY'ЕNтRY'с0PYRIGнТ,дltl!Iloc B WINNтH)' фoPllllpo]]:Lll!1с I()г()Рnх oТllсчает RrII()'l -0' nоpсдal{llьUliБal]iа"'lс(o]tjу Л l|l l lrсpу i|iп]kз2 'eхe, l I]),l )'lоrЧ D II.iАGЕ-DIRЕсTORY .ЕNTRY-АRс|] IтEсТUREпoмcrцаeт'ся livA.указаl.cЛъ лa с'гl)oку коNlмсlI1.llptlс]]' ll0 уN|oЛчallllю PilсlloЛi]-гаIoпIylося B сflntии -teхt' I(oмaolюlllI0rl( l]rs ijлk llрlt Iltx()'г()PЬlх /lо кoltцa HeRьIясllclтI!]nх oбсt.oяТсJtьи.вaх пo]\1сllLа.l'в э,Iо lIоJlс пl|(l)оP]!lацик) 06 аPхlITe(.Tyре' oд]laкo сlrсTемltЬlii заl.Pyзч]Jl( ee lIllкo|]La tto испoлЬi]yt!Г,

08h IIiAGЕ-DIRЕстORY-ENтRY GLOBАLP'IR - vкaJlтс,пl, rla Ti6n11цу Рt]l.llсГpoв гЛo-6aлъltьIх указaтслеi l . l Iс l loль:rустс;I ТoJIькo I la np()цсссoРах ALРНAп PоlveIPс. t]a Iз86.ll,1iтфoрve :)тo ]l0,по -l]]Il]Iснo сi!l!|сJta' u загрузчIIк еl.оIlгпoР]1Рyет.

oah lнAGЕ.DIRtсI0RY-Е\тRY г| s { l ' J| , ' | , I l l ,U. . , , ,1ru", ' \a i л ' '^ ' l , l , "юu nL\ lhnuЛo,лo?.Z/ (Thгoad Loса] slогa8r)' TI-s.ruехаlIllзI{ о6еспe'rrrвacт <пpoзpанпую>ра6oтус гxo6а.]1ь]lьlllи llсPсмeнньllfil в nnl()l.()rlorочrlьlx сinj,ilш 6сз рxска, ч'ГсlпepеN{eппaя ! сallыii I]слoI1ходяп{]Jii мо11с}lт 6yЛет [loдl lфrlцrrPс'ванa ДPyгпNlпoтoltoп{- сюдa пoпaдatоr ltсремcнньIо, o6ъяв'll"A]lllЬlo Iiак deс]sрeс(thгeаd)'п o | | P | | ч | | н e 6 n , | ь | U . ' l i | | | l | | ч \ , 1 и в o . | | | , , к l l i , , t | l ' i i | , l , : . | n п P . ] | ' ' , | | | p c , | . | | | J а L l i l I(oдlrп rпаI в с,|oРo1]у * t{ oпePацltоllпirя сис1сllа сTреляе| 6ез llPсдvrIPe'{Де.rIпя) rIспoJt'зyсTся крaliпe peдкl:), к Т.)r{v ]liс Windl}ws NТ Il Wi]1do$'s gх o6.ра6атЬlваютэтo пone с]lлъllo rlеoдtlнalroвo' хpaппlltrцс o6ьгrнo paзrterлaeтсrrв сel(циlr 't|sl xoтя этo IJ нe о6я]aTс'lьнo, I{сiroлByeт RVA' ll vA 41ресn'10h IмAGE-DIRЕст0RY ЕNTRY LOAD_сONFIG сoдеp)кllт ltlфoPмaцIJlo о кoпфигУ.Paцпи шtoбаЛьнЬiх флагoв, rтeo6ходимlr1х для порlrыrьнoй pа6oтъl пpоrрalr.]\'ьI, имеeт смьlс'll тoлъко в Wnrdо$,:J NТи пPоизвo/.Ulьlх oт Irео сIiстеr'Jaх. э'Го

Page 93: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

94 rлава 5. фоPмат PЕ.файлoв

пoЛе rlрaкl]lчсс]tlт нlIкеп lle исI1(),1ЬзvотсЯ, нo есЛll tsoзнIx{нет жeлaние yз-l{аТь o нсNI 6oлЪrlrе сN!. lЦ]oToTи'l стpуктvpьI IIIAGЕ-LOAD-CONFIG D]RЕсТ0RY32r WINNIh' а таrLrке еe oлJrсatlис в Plаtfогm sDK, Зa oписaнпеrl с:iмпх ф'lraгoвoбPащal)тrсь к утп".lllте gfаgs'eхe' входяDlеIi в состаr RеsoLlгсе кit rl NTDDK,иflфopма1tlrя о кoiIll)I.ll.уPaЦllи Ilслo,!Ьзyет VA-:tilРссaцпIo (тoчIlee' пoка сщсl1с испoЛьзyет' Ilo рeJеI)в0руt]т эту вoзмoлоloс1.Ь |ll6}ЦyЦe€),

llh II4AGЕ-DIRЕСтORY ЕNIRY BOUND_I|4РORт vказaтe'lь tlа тa6лиц1. дr]aпai](Л]Ilo1.oипllroPта' IIм€IoIlo4o пplloPnl.ст LIад I AGЕ DIRЕсТ0RY_ЕNтRY-II.]Р0RТ l] o6Ра6aTы-васlllую загPvзчl.Iкоi\I Il леpвYl() oчсpсдь (зa.laстуloдo II{AGE.OIRЕCIORY ЕlfliY-I Р0RтдсJlo воo6III€ rlе дoх()Лlt't.)' Ilo JстoяsпrL'iiся ТРalllцl,lll та6л,ща l1l'lаliазoннo.оl li!1rioPта Разlfеlцae гОI r PЕ-зilго.'iorlкr' хогя i)1.0 u нообязaтe".rьпo t't нскотoрьlеЛинкeрьl вeлу,t' (!6я иrrачс, исЛo.nь3уelся llVA.ll RRAW OlrlrsЕт.aдPeсa(пя(пoдPo6Iiеe сlI. nl!|сс РаJДсJI <иlIпoi)т').

12h IмAGЕ.DIRЕсTORY ЕNТRY IАT vfiaзате]lЬ l|а lAT (шoд.тлrrеrпraя сrpуктуpa.La6Jlпцы пlt!пo1lга)' I,I(jIrо'|||,зусТсЯ загPrчirr(l)Nl \Yindоws хP' oстаJlьl|Ьlс ol]o.Рац11ol1tlЬIс сlIсl'о]ifьI ]то |lоnCl Ilt).l],I]tll]\Io]\Iy' l l гI lol) LlPy]o l. (пoдpo6Ilее сN|. Pа3.л € J I <|4s1 lюр, | ' ) ,

1зh I|4AGЕ.DIRЕстORY ЕNГRY-DELАY.I|,lРoRT vliаtа,гс.lll, tra тa6;rицу (),l.]]o)l(e!lпoгоnI lпoРта ' l к ] | lo , l I l ) i ]уx) |ц( , i i RV,V\ r^-ад l )сс r | ( l l l о ' t to ( )aк1] l . ] сск1 l oсT i l l oU lсйсяt l c с l .aп/ IaрТиr lo|}a] i I t ( ) i i l | о rд l t1 t l Io i i I i l L ( ) ] r{yJ I вo j l0 ] . ( ) ' l (Рс - l . l j ь ]х l ) сaЛU:]a1oров( l lоДрoб l lес ( r ] ' | )aз]Lс , r i зИ. \ l l l oр | ' ) ,

14h ] I4AGЕ.0IRЕст0RY..ЕNTRY-С0],,I-DESсRI PтoR _ ссJ o |кj Р|] в | |() l.ly.,I кj' To ()аi.irl ]l Po/lс ra l l l лс t с< lбо i j 'N l ] ' Lл l ) | , J lo ) (o l I J I . ' сoсTo 'n l l c l l ] l 6а i iT 'ко] tд , по)1 .оN|v ] |oI lЬГГ .ка вr l с lu]с I Iпя в l IoГо х8( j .кoд i l ] | l l ч0г( ) хo! ( ) | l l ( ] , ( ) l ]0 I lP ' l , l cсcт .

тAБлицA сEкцийtlсткoго oгIрeДелеllЛ'r l,oPll I1Il lr ..]l4,я l|с суlIlсс,|вуст' Упрoщeпllo l.()воp'lj Llcxцl|Я :]тo ]lеllP|PЬ]внaяо6Лaсть паiuяTr1вIrvrPIl с1.рillillчllогo l IrulЦ1ra сo сrro-ипlи a1.P116yTаIlrt' пе зa]lttсяlпttмu от ачlл6yтов oсlnJIьllьIх сrкцпii, пpqrrставлспllе сl]кцl'lll в пaмят]l пe обя заТе"'l Ьнo r]o'rDкнo сoвnaдa'r.ь с еe дrтсковьtм o6paзом,коTоPЬIii' ! пPUнцIrпe' Nro;кer. яr lo6Цо oтсvтствollal.Ь (сс1{цrIяrи ЛепlIпцlli из]lPс)вallнЬlх llаtlнь]I пrчеrl) Дe]lir|ь ]]а дlIсI{еj ]i поToIiу 0lllt пPеЛстаIrnе]rы tlс]кJlючI.l

К;r,чtдаrr сскцrrя },прaвляeTся (сt]осii) заrurсЪIo в o,цl Iol]i\lснJio11 стpуктуРе lLанньIx'11.J| яlJJсi] x\1я пa6nuцЬl сeщul', Tа6Jlица секIIпii ]lачl{lrастся сразу )кс зa кoнцolloltЦиoнa]Iьнoго загoЛoвкаj рaзмcP которогo ()Дсp,liится в I]оЛe sizeof0ptionа].Heаder, II JтPeдстaв"!яeт i!6oii llaсспв стpуIil.уР I|4AGЕ-sЕст]0N нЕADЕR' lrо'rlrчeств.rзадaстся пoлем NUrтbег0f seсtion.

I r o р ' Л о r , i P , , U ' I i i N o ; ' , 6 r , , ' ' i ь r т , r r l J | Р ) з ' , l к о ' l | | | \ | | | ! j ' г w d а ,пoj1та].ylo ]toсЛедoватеJiьlloс'Гь] с1laчi ]a iIдст кoдов,я сеxцrи| за liеr:i сЛеllуст oДIra

Page 94: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oписание oсtroвнЬ х пoлeй PЕ.файла

и"1rl }IeскoлЪкo се]tций lrницlalrизирoваI]}lьlх ilаll]lь1х, и зallr'l(aeT стpoкy сеl(| | | | я | | р / н | | ц | | i r , ' ь | | P o в d ' - | \ Д d d i t ' | х ,

CтрyктyPа IiiAGЕ-sЕстI0N-нЕдDЕR сoстoи,I ]1з сЛeдyкЛцих поЛей ("цl{сTипг 5'1).

листинг 5.1. г]ротoтиП сгpyкryPь ll.4AGE-sЕсl]oN HEADЕR

Lypedеf st.uсt -l|lAGЕ-sЕ.т]0N |]ЕАDЕR isYтЕ Narnсl]шАGЕ-siZЕ0F'S!0Rт-NдJ.1E]:

ljlil]tD Phуs1саlАddгess:01 '10RD Vi . tuа lsrzе;

Dl'jOпD v].tuolАdd.е5sDl'j0llD s]Zс0iRaWData:0|l0RD POi te.lOiаWDаtа:DшORD PolnterтORelосаt iOпs]Dl'l0l]D Poin|егтOL]nеnumbегs:l,]0R0 NuпLbeгofRelOсаtionsil"]0RD Numbе.0tL]nenumbe.s;DL.l0iD сlrагасtег]st]сsi

) i|1AсЕ-sЕстI0N-нЕADЕIl, *PIмAGЕ-stст10N-нЕADЕRI

пoлc Nane llрclloTавЛ,Icт (o6()ii DoсlЬмl|6ajiкЛlьlii Nlaсспв с AsсIl.ЛмrIlем сrкIUIliRIIyтPIr (t'lI1с11нo l{мcllс]\{! а I|с укfl:rTcЛеNI Il"i llrvя|). ЕсЛи Л.]lиlItt li\lсlll.| NIcJ]ьiIlо

вoсЬмlt 6аiiгoв' oсTaю tltiiся х}rосT доl]oJ0l'c1,с'l ||у]lяNl11; ссJ|и ){0 n]\Jя lаlll,l]\1it €т

вeсь пlассllв цсJlltкoll| зiDjoPIllilкЛцItii llyJ|Ь в cfo кolпlе Ilс с1'a|llrгс' (JleкoтoРь]e

]lrtзасссIlбJ]сPы aс учЛr. ваюT o1.ol.о о6с1.o,r|еJlIn:'Пla и захl]irтЬ|llal0l. прi,l]\1ьlкaк].Lщ]й к массltвy мус:oР).

Caмо пo со6с rrм-'r сскцrll1 l!о Ilссtjl. 'llltсакoго t1е'lil4Л{Jлчесltoго сNIЬ|сЛa I'I6ьlЛ0ввсдснo в эксIIxyаTациro иск]Itoч Й1.eJl Ьl к) и3 )сте,гическllх сo()6D&]сeпий, Cпстe]!г

пьпi заrPузЧ ик его пгIroРиpуcT! хoT' l itrкoтoPЬlс виРусьI/rlPoтск1.oРьI/уnа(l 'вll tr г

ки paспозIlаIoт <свoи> сскции тoльl{o тaкl j1всякoс искажснио имонtl 6ьст Ltх

папoвrл' Хoдят сЛухп по пoвoлy тoгo' вго 6и6;rиoTскao|eаutз2'd]|, вхоrrяца' в сo.стaв Wiпdot ' s ' oпoзr raсT сскцr lю PссуPсoв xo еr имс l l x , а l l с l Io зaI l l l с l lв DAТА Di RЕстoRY' в исхoliньIх тс]tстах JIoIrуJиpноl о yllaкoвщIlкa U Pх llprrcу lс,|вy.е,г следующпI:i кoмNIcнгаpий]

.,,АI|еr soпе I|)iпЙzе dеbug|i|,lg I fa nd thаt thе паnLe of thе sесt,ia|1s DoEsnlattеr:(.rsrc is usеd |1ц olеаu|32,dI (TYPЕLIBS)) and bесаusе of this lаmе dlI'thе fеsoulсе stu.|f nшst Ье thе fiБt in thе 1rd sесtian thе аuthoт a.f this dllsее?ns to betaoidiatюusе the dLt|1 difесtо1iеs ' '. M$ sцx1с 1еllеf| ,,,е|е|1\oоlsе:ехphder,еse in Niсе1)v аlso d,эpепds an this ta la|:аtx |ersio|1iф,

,\uзaссе'u6лupoванur пodmвеpэdаem, umo 6u6lLuo|neКа olеаutЗ2 ,d]l i)ейсmвu-пeльнo сodеpэttum внg ||tpu се6a пе].сmoвgю с?пpaК! <,rsfс' u аEmuвнo ее uс-nofuз!еm, Дa.маno лu нa свеmе uluomaв, npuвяlывающIьtся 1{ uЛенФ| сеtt.цun? Ilaэпo,w 6ез осa6oi ||!эюаъl ш||ена сеt|l4l,|i чцэ\rczо фо,iL1о ]lцчu|е не

95

Page 95: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

96 rлава 5' фoрмат PE файлов

ПoЛя ViгtuаlAddress u PointerтоRа[Oаtа соlepжaт R\rA адрес нач.Ulа сljкцJ{l,I в пa

мяLll и еe сlterЦс rlс oтlк,сllтеЛъtlo I1ачаlа 4)аiinа сoо'ГвеTсТвенно BllPTуiLlЬlIъIii

x фltзическиiI.lдPсса дoЛжепьI6ьiть вьЛ]oвltсtlьJ Jlа nеnпчпIrу seсtion Alignmеnt/

г ' e A | i o . r n e . I , п P o , 4 . l j , l у | о . п : r , ] t , ' ' } | o | | г ] ' - , ' ' ы п

адpес ltервоii сеIrцЛ 11до-ц'ке lr .Л'тъ Paвен AL]GN-UР ( si zФfнeаdeгs ' seсtionAlignm€nt),

в пPo,l,j1вllol] сЛУчас фаi]r| rle Зarpyз]1тс'l, Фllзичeскll]"l адPeс ссrrцlll1 ilo)кeT 6ъIть

'цю6ь]IJ ' дoстатoчнo ToЛI,кo' что6ш oн 6ы.rl вьшon]iен lla веnxЧшlу Fj ,] € A] i gппеnt,

Ilonя vjгtuаlsize и sizeofRаwDаtа сojlсp,{аT BпРTу ь}Iую ll фrЕI1чесrqlо ]rJrIrЦ,

сскцl]l.l сooтвeтсТвсн]l()' Boт тyт'тo ll flaчrjlrае,Гся сaп'oe ll}lтсPсснoсl Ефп] впр'

туа"1ьrtЬIii PазNIеP 60ЛЬшс (l)li3пчесlto.o' Тo ]tP1Lilаl.рузl(е сеInltIrl в Ilаll'l,Л, ee хвoст

зaлonl1яе1.ся пуляIlIrI lrPll эToIJ ]laлrtчIlс атPлб\,1'а llll,ljt]'а'!lIзrryoваннlllх/tlсllIJII

lпJaлrlзupoваjl]lьlх /(апIrых совсРx|сlrrlo lle о6яз:rrсЛьlL()' Есrlli (],п]Irчeскllii раJ-l{eр 60.11ьшс вjlр-LуaЛьпoгol 1.(r.,' сдl.|||сTD[,пlioс' чТo i\lOn(ln) скаJать с уl]сpсltl](гстьIo' тtLкоii (laйл 6vдсг rloРлrа;rьлrl загру'flсll в llilllяl.Ь. I{nit? l\ вo.| :)1! v)iс

зaвrlсl'r o,| рсl'(llзаlIll ] lIач|lсM с того' чтo It\'jк]вoii llIц'Гуli.'JьпЬII:l Pilзi!Ч) ||Рсд

п!lсыrrасТ зaГРу|rчrIrry o'Г1 il.Ц к lJ]]aт],ся oт (blIзl]l с(]r(Л.o Рaзl1€Pа ссI{ц]Iи' ]lP0Лlr;(Irи.

тсЛЬ1lo oI(PугJlп]] {'r.o llil вс"1ичjпly seсtiоn A]jgnпeлt lI irа||o.IiIj]'в \rr(х'] ll]l,Iяl\UI'

всo l lporvc) I{утoч l tЬ l . (осTояI iЛ , l l с ( ) | lРфrc . l | с | l I lы ' загPyзч| lк N|o){( '1 .с . lи , г i l ть i

a) PoBI lо Vjгtua l s izе 6а i iГ i 6) AL1GN UР(v i r tua.] s ize ' F i ] € A] ignпеnt) б lL i i ' | ;

в)АLIGN-UP(Viгtuа] s ize ' Phys Seсtoг s i2e) 6a i1T, []006lщ-r() i rсс l ]] r ' | IктьI кроN| i . j

I reрвoкl _ гру6r,rс оrr l r rбJ{л Рса-цl lзa l1 l l l I , пo l I , ' , с\ ,poвlrя pсarrьr loс ' r .ь 6ьrшtя в l tоr lгс

0 Tс i !1 l lк):) to]\1y 1aклх с l l 'Гyа l(|I i i 'цуЧl l l0 L]с0 l r) | l l ]6сга,|Ь ' q) l l3| l ' r0скUi i l ) i l3IIсP цoЛ.}ксп6Ьl , l .ь l lьЦx)Ir i IeIII lА l ]o, l || l I l | |||уF, j ]eA] iqnf lent 'Пьlра lJ l I l | |IаI ,| ,Пlr]) ' l ,у: l , lЬ l iЬ l l I l ) i r rNlер ll0 06язi11.с'iIьlю (jlгPуlЧиli IrЫD^lJI]ltl]il1]T C|o а|r1o\1rl'||ltIL'(кll). ()Lllllк() ll ')1.о

:ц lавt t : rо l l с о6хo] lп ' гсл 60]] j | с l {Лk) l l e I l | | i i ] oс j lи l | ) | | i r ' l . l с ( ]о| i i рд i l I ! |oP N l0| lЬ| r Iс | l J l l I

рa l lе l I вuРт]v t tЛЬr lo l l y , To l l0Гo l ]ыРn l ] I lRaтЬ l l с ( )6 ' з i t |с . ] ]Ь| l ( ) ' ILP i l l ]д i l ' сN lысna

в этоNt ll(l{||()Гo' llоско,]]Ьl.a- |lil'Itl"lo сJlсдуl()|]к,ii(1]lllLlпt П 4):lii'llo ||о..rrr()6()\lvll(),rll(.

н о j , r r r ' r . . ' 1 ' " п " ' t t . ' t t ' u , 1 | | . | | | | v I l . е A . . g .

tsllpTуa'lЬ]ll,lii ад])cс сJсл}Iоtllсi.i (|cloU!Il 116'зllтсЛ|,iIo /lоЛлiсIl 6ы|ь PllnсLr nпpту

i . I l . ] l n l | \ , , , Ц { ' ) | | | , l 1 ' I J - ! , I t . | | l , ] , | | l , ' , ' 4 ' ' . | , , , \ | ' 1 ' , , t ' | | l l | ' 1 | | | l L , | |

, l ' t | , ' l l | , l l I

i l y seс t1onA l ignment ' сeкц l !11 l l с i !1( )ГуT l I l JпсPп{РЬ lваI| ' ( | , | ' | | l l о5р lзовЬ lв i l1 .ЬR lц)1уaЛьlпnе дьipЬl, ]lll4Лlзпчсскuс ll!Цrсса сеrnlli ii 'rакl lх ol рiIlLll(Iеlпll.i lrс l1ill(J,кеl|()'

и oнп II()IуT 6ьiть РазбPoсxIlь] по ll]aiinу в )кrJвоппсrюм 60сllopЯдкe, BlIPoчсII]

t n - e , , r ь г я 1 . I ( ' 1 ' ' с r ' в , r | | ' ' \ l , | | | , J г ' , , | l , " | , . ] 1 , | , | ' ' ' , , ' | | . , ' , ! ' ь i , ' , l

I l l ! : r l l | | l l а \ ' , ' , , ! | l | . , : , , к ' | ' l . i i ' P " i Г ! ' ' , ( ' | ' ' | | д | | . | l | , | J , I ' . ' | | , п

I(стiI| , пaсчrт сl]rtих экp:lrroв, lIarl(JNlllll]!f чllтатс"!]o' чTo rr(Jlll sесt1оn Aljgn.

m€nt < 1000h' a фlзIrчсоrtiji pазмeP ссI{цllи въlЛетастзa xpcДсrl ]'l 4):lii.iа' W2i( sРз

(и' tst]рoяTlro' всо ос,|tlJrьllЬrе пpcдсTilвl1'le"lrl .lrпнсi1ки NT) вьi6P1сьlваст сrlIt]1ii

экPаrr, Й Tоtла сIlстсnlс rrас,ГупаIo.Г крaпTЬ|'

Полс сhагaсtеristiсs oI]pеДej]яeт атРп6уTЬ1 ltoступa к сокцl1ll ll ()ф5епtloстI{ rс

заrPyзки, l,INеются r prl aтpп6уTа, !{aк 6YД1.о бьI опpeдc.riяющtlе сoдеРniI{]\!oc сск.

цIrи liali кol]' ппrщиalrrз]]Po]]аtlньle lt нсl1rxЦltlr-lIlзllpoвarrrlыс дirtlxЬIе (IHAGЕ

s сN сNт . с0DЕ /20h ' 1 | ' 1AGЕ - s сN сNТ IN1т IAL ]ZЕD DAТA /40h ' I | l AGE_s сN сNтUNIN1тlALIzЕD-DATА/80h t]oотвс,l.сTвеlIflо). oднаl{O с!lс't"ANлJьпj загpузчlllс I1ГпoPп

Page 96: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

оnифние ooroвнЬ х пOлeй PЕ.фaйла 97

.}'eт rrх зlrаченIle' ll пoтомy ollпpaт],ся ]]аних lill в кoсм сЛучaс сЛьзя. Тсopсти.llесюl сешt]iя ]]еI.Iнll1II]аЛпзпpoван!rьIх даt]ньI]i пPIr oТсyтствlIи пPoчих атpи6y-т.)в не дo'rтл{на гpузIrться с дI1сI{аl нo',, всдь rpузитсяI

HекoтoPьle впр},сьI/vпакoв1цIIнl//IIPoтcктoрьI о]IРсдсляют кoдoвyю сепцию пo

lllll,]чrпо атри6y.Гa I|iAGЕ sсN сNт с0DЕ. чтo л(I t]е тai{ое y'( п aлoхoe P€l]Iенr,l €,lo'llr'lio 6)'дt'1с l.oТ0l]!] к тo}Jy. \то i|тorо аTprбyта п€ окaже,Гся ]jи y oД]rоir liз сек

цlli] (чTo встPсчаeTся ДоnoЛьllo чaсTо),1и60 жe oп 6yne'Г пpI'lсRоcII сeкцll'l ДаrlIiъIх (чтo всТРсчaсТся lrоPс,кe, lю в(:е.1аки вс'IрeчaeТся).

.ilрvгая тpll.lдa аTpи6уТots оllllсt,]!ilсl.lЦ)аllа ]l0сlyпa ко всei!1 с'l.Р1lliтnlali секItиr]'

i1 зafрузч l пФlj пi ) y}''( ).rNnl i l no (6yлyчlr заrРy)кеl l пьl\' ' 4]ai]Jr\Io'{ст св(16одllo 11аn l | |у.rl и Рoвa'I Ь ппrl l ' вьrз ьlвая AP] фyr кloЛo v i гtuа] P гot €сtЕx),

B , ' , о ' U . " ' Г ' I l ! , ' | l l , , L ' ' , , l ' , I l ' l . I l , и 6 у | i '(ll,tAGЕ sсN l'1Еll ЕХЕсUТЕ/20000000h' Il,1АGЕ.sсN.l]Еl.].RЕю/40000000h' IltAGЕ.sсN'HЕ}l.!]RlтЕ/80000000h). ]tl пЛаT(1)oР\lc InIrl:rтPll6Yты чтrнllя/l1спoЛItснIlЯ поЛIloсTЬю эI{g]''ва-.lcllTIll,L || (j(!)l llстL. ПrуЮтаппaPnтIloп{yаTPIl6утY t]oслvлlttlспи (aсссssiЬ1с) стpанlг

ш,r. Arрrr6утlrarrlсп о6pa6атьtвacтся впо',Iно cстсствсrrяьrlI o6рaзoпl, Слсдoваrс;rь.J Lo , ( ) ' ] ' , r l t l ! l l l 1 ' Ь ( с к l t l l r ( ) l к , ( a о т с cк I i п l { Лa r I l l ъ l х в o6 I r r см слyv . t с н сBoз I l о , l { l l 0

' , , . ] ' l ' i l . , j | ' ч l , , , , , | , . , , , o l i | , | | l , . я Я

\!tазЬI]rilсl. t()чl(l ]]х('(il.

,rlвr ц|)у Гl lх | l | | к]I)с() lьtх аTРl l6v,r.а _ э,гo I AGЕ-SсN ПЕ -DISсARDAвLЕ/2000000 h ( |l( х|jlс.]rIPv3|l||(,lii,1Ir с0lLlL Я пк)liсг6l,|1ll Y||ич,lо'ксIlil l] ||aNя,гl|) IмАGЕ sсN.|']Е|4-sндRЕD/L0000000h ((!{|0r ' i , lПnЯ0iс, сoвI!ссТl]о Irc l loЛЬirYсr]() l i ) '

,\'ГPl!6! г IмAGЕ'sсN-!Ем-DIsСАRDABLЕ o6ьI,llIo lIl)|l(llilllllас1с,l сск|Lll']\tj с('lс|'|{itIцrlN|I l (| l ( )Nl()] , i )Т! ,Л| ' ||| t lс (r . l ) ! l l , гу1)ЬI Л,uII lЬ]х (TакlIo к l l r<' r rarrРиlroP ' , r r r6лrrr tIr r rоPoьrоrrtас.i 1 ь i х ) j l сN l с | гП )н ) ' r l с ( ) 6х . ' l ] lN l ь | ( . . ] l I l L l | Ь r l a э1 ' а l | с з1 l ГP \ r3к l l ( ) а i i nа r t в l I o сцсд ( l 1 ] ] ] '

Iluxш] ]tс ltсllOЛЬ]]усNlь|c, ^ l):lil l il]. _ зaчеN{ oIlи 6улyт )ltptl'rL лaI{'I'гЬ? Фtl'|llJIЬlttlя

olпl16x.l Ill)дaвJl,IuIrIr) 6(!|Ьll]IlIlстIlа I]IIРусol] сoсToltт l] тoмj чтol вltoдPяЯсь |] Iк}

с ' r l сдI ]nЛс l (скц|| ] ( ) 4) i l i l J l а Q(оо i i кaк paз DIsСARDABLЕ.сскц lUI t l6Ь lчIю l |о l t t l -

з l , luаcrся) ' ( J r l I ! l l с l Jро1reРЯ l ( )т ес 1 l тP t l6YTor r ' нс <вь l l tvna lо ' г> l IPавt t l l а l IaмяTI l , o l1с .

Р . lц l lo i {яaя сnсr0\1 l l | ] J l к ) .n) i i l " lо l " lепT l lожеT вь l грvз l ITь oro(vг I ] tpoвaI l I IЬIс l lN l l l

стPaпIIцьl' ll Torда ]lIl{])ll]пц).]lraпl|ьli,i пРоцeсс рvхнсT' вы]ral]aя хоPo]rlo nзяс(lг.

rlоc вс.ll сoo6щсll!lс о l{р|11.IlI!ескoir оrrlибкс IlPиЛo]t{cнxя,

,^тPш6vт ]|4AGЕ-sсN-нЕl4-sнARЕD 6e3o6плпеe' но тоxrс с хaPaктсPоil' ]t ltollсщill.t,

сIoда ]lспo.!Ii,lcllъlii l{olL кlTeгоplгIескIr пс Pсl{oмсндycтся, Bo ]tсРвЬIх' я Jlrorх,ii

lloмсIl1' ox lю}ie,l. 6ьттъ затерт постo роI'нu11 пPoцcс]соNt l и 'ГоЦa зара}ксn ll()"A Л рЛ.

рyхrrеT, а Ilо-втоPЬ]х' Wiпdows 9х нaсrlльнo пcPсl.он.'lсT( T T A R _ П ' " т o | ' ! { н | o U ] ' , 1 , , o | | | | \ ' l | { l , | | о - n г | - , ' ] ' J , | с Г л J , I l I Р i i . I n l г n , | ,]tl,li'i аnрес зi1гРузкlr у'(е но 6улст сoотвстствсltsа'l.ь вирlyaJrьllotliy ilдрeсу сек

цxп (пPаtsдa' ]кrЛrlo(jlъrо пеPеп{еlцaемЬIr,i кoд в тaк]rх ус,повиях tsпoJrI]с сr1o,{еT

Рa6oт:tтЬ)'

oстaльньIс aтри6у'L! "'tlr6о IlеliIПeресIlы, nпбo Il11еIoт oтношcние тo'rьпо к o6Ъск.

тIrвньlj[ соtt-фa]inаNt (пe Р Е ) rr пoтo\lv здесь нс Pассмar pиваются, эTo, ts ч ас'1.l to-

сти' oт}1oсxTся к il1.P'l6УTa}' пз семeiiс'Гвa iнАGЕ sСN АLIGN-XвYтЕS' индllвlцy:l.'Lьrto

нaсrрarI!aюцl'l}l кР;]:ГrroстЪuЬiравririвalInя ]ran(дoil секцпи,дЛя 116ъскTивнЬrх 4,lij-

Page 97: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

9a rлава 5. формат PE.фаЙлов

Лoв эTo мoж€T 6ьIть и Tirк, rlo систeп{rrъIri зaгpyзчиl{ этl1aTРuбуTьI s yпop игнoPи.pуeт,

пoЛя PоinterтoRe]осаtions и l,lumЬeгOfRе]oсаtiоns (YкaзaтсIь на r.a6-тj{цу пePепle.щaеI!ьIx элеNlентoв и ltoличeство эJ]eментoв в этoй та6'1ицc соoTвe,гствeнно)иMеIoт oтllo] eниe тo.цl,кo к o6ъeкТивrнм файrrа}1' a испoJrняeMЬle фаillъI и ди-1]аlliичeскиe 6и6лиoтски упpавляioт свo1lп{lr псреluецaL^мr'l11rt зЛel{eнтal{rI чеpсзoд]lor'меннyю запись в DAIA DIRЕстoRY' пoэтo]!1у i),Ги пoJ.]я мorут сoдеPжaть 'lю.6ьte знaчения, FIскoтoРьIe виpyсьI/yпаI{oвцuки/lIрoTеt(IoРьl пo]\{eчают Такиjllo6Рaзoм свои фаi1IьI' Чтo6Ьi пe o6Pа6аты!aтЬ rtх Дваяqtы. спoсoб глупЬlir и нс-IIаДе)Iffiьй (зaдумajiTeсьi чтo прoизoiiдст ( фаii'цoNl пoсЛe еro yгIaковкп Jю6ыN1пoсToРoнtrим yпаl(oвщикoм?).

Пoля PointerтoLinenumbегs и Nu]тbеr0fLinerumbeгs (укaзатсЛx llа1абJlицyпol'еPosстрoк и IФличествo эЛепrеятoв в этoй та6лпце сooтвcтствснrto) Pаuee псполЬзo.вaЛисL Для х l ' f ,нен||я o | . Ia!UчlIn i i |||| l 'o l , rV1| l l lи , гв l l | , |вJ|oш. i i | |UI ' ] r| . с ]| n, , || ' .

lolrнoii rЦоrРaмп{ьI с адpесаllи oткоl{пплиPoваннoгo фaiiJlа, в uа(]1!яrl(ее вPеNIЯ1'lсIloль:]yIoТся тoльl(o в 06ЪcкTивl lЬIx фali".тах' a в rIсlIoЛн'lсIlЬlх 4):LйJinх oтjaцoч.ll:Iя ипфoPмaциЯ хpaниTся сoвсем Il ДPyгoм пrсстс lt r дpугoм фоpN{атr,lIижс пpивcдefl кolt, скal ЛlРуIoщиii Taбnицу сеltILий и rrЬIRoдяnluйI j13вЛ0Чсl,IlуIo

иflформацию l la 'ГеР]!п'{Irал (лllс't.иlirи 5.2 l1 5.3)'

лисrrrяr 5.2. МакpoсЬ, вoзврацающиe yказатeли на IIчАGE-5ЕспoN-нЕADЕRпеpвoй и пoсjeднeй сeкций файла

+def ine хоpt-sz(р) (*(( l ' lORD*)(D + 0х14 /* s lze о i оpI jOio l heаde. */)))

#dеf in € рsесt ionтabl € (р) ((BYтЕ*) (хоp|-sz(р) + 0хL8 /*s]zс 'Ofrпаgelrеa iег*/ + p))

#dеf ine рЕ]гstseсt iOn(р) (рseс!]оn, lъbl0(D))

*def ine рLаstsrсt iOi(р) (ps lэсt iOnTаЬle(p) + (хNul l r0|seс(р) ]) i 40)

лис'инr 5.з. проryлка пoтa6Лицесeкций с вЬ|вoдом ee.одeрxиМoгo на теpминал

а - хNuiюfseс(p): рNехtsесt iоn = р|- jГ5|seсt]On(р)]

{рг iпt f(

'Nаme 15\n, ' \

' \ tV]rtudlАddгеss

'\tPolitегТORаrllDаtd'\ tPOi i tегтoRelоса|1Ons : 104lh RVA\п'\, \ tPoi i tегIоL i ienumbегs ] 104lh RVA\n'\' \ tNumbег0тRеlосаt]oлs : l04 l t r RVA\n,\.\tNumbeг0iLinenL]mbегs в04llrRvA\n\n.pN€xtseсt]oп pNеxtseсt]onl0х8]' рNеrts€сtioп[0хс]pN €хtsесt iопt0t10] рNехtsесt1Ont l] r14], рNеrtsесtron[0х1l]pNextsесt]оntoxrс]' pNei|sссtiOn[0х20]' рlieхtsесt]on[0x14]):

pNехtseсt]оп+-40| // сЛeдуюЦий эЛеiевт sесtion тab|e

Page 98: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

опифние основнЬx пoлей PЕ.файла 99

экспoPтTa6лица экспоpтa прeдставЛяеT сo6оil с"1о,t{нyю xсрaPxичeсli1пo структypYj кФк.дьili 1rз l(oмпollеrlтoв I{oToР0й Nlo)кe,г 6ытl, paс]Ioлoжсн в лю6oпr пreстe стpапи.l.нoго rпfr,ДяQl хoTя пo сaецrld'lкaции онa дoл}кнa 6ьIтъ сoсpeдoтoчeUa в oдпоii0б''rасTи, кoЦa-тo Tа6ЛrlцсэкспoРтa вьЦе]rялaсъсвoя пеpсo]]а]'IъIl;l.'I секцrя 'edаtа)нo ТсIlсpь этoгo пPавп-]1а пpактически никTo t'е придep)киgarтсяl пoэтoпry гoвo.pIIть о секЦIrn ппtпopтa не совсеlf кoррeктпo (впрoчelf' eсJll'l вьt назoвстс дирек.торrllо сeкциeii' 6ольIllоii бeДЪl Ilе бy/reт и всe вaс lloilпtут),

Hа верnпnrе пеPapхии Ilaxo]lится сTpуI.Typa I}.iA6Е-ЕXP0Rт-DiRЕст0RY' та]r,{e rrзвe.стIraя lioД llпlе llе]\{ eryoti di1'есtary tablе, сaДep|LaL\iи укaзaтслIr нa тpi1 пoдчине11.ньr€ стPYI{тVрьI: ,и6,lц! эnс|LoРnшP!е'llь|х 1L|1ан (Namе Poiпtег)' пa6ли4ry элс.пaptnupuе.ltьtх оpdulnлod (oгdilra1 TаЬlе) И mа6!Luц! эксnopt1upцrмъLt аIjpесoв(ЕхPoГt Addгсss TаЬlс), Пoлс Nаme RvA yказьiвaет Ла стрoкy с l'l]ue]tе]!l ]1иtlа]!ll,l-.rсскoii 5116'llиогскп, rсотopoс, судЯ пo всrNIy' ]тrнopиpye'Гся Ir мoжeT гЦ)l,l]ll,tIlaTЬrtю6ьIс значся11я,

э к(lloрт фyнкш lй/ДaнlrьIх l{o,Irrт rlрoизRo,1итЬся каx I]о llх имеIllllTак и tlо opдlгllaЛY, Tа6J]lIllЬI имсIl и адРссoв пPсдстaвлЯloт сo6oii мaсси вьl l'l3 I{VA-укaзатoIcil,ссnlЛаIolrlrхсЯ llа Asс]IZ-стpoки с ипtсttaпш фуll]o(пii и aдРcса экс,loPТиpуе]tl],tх(h\,Ilкцlli'i/ЛaIllп'х соoтвс].стBсllнo, Тa6лиЦa oРllllIIa'Ioв пРс)LстaвJ|яе'l.сorюй мас.сl]я 1(i6lтIlrnх rtl'1lсксoв (oPдlll'lаJloв) rl сЛу}{uт свoеo6paЗlп'i!1 связyкЛllи]!l 3Ilе-ll()r1 llсx{ду ТaбJullсii иIl0l,l и табJlиllсi,l адpссoll. пус1.ь iэЛrмeнт та6лиllы п leIl\rкiвЬllJаcТ AsсllZ'с,l.pоt(у с l,tNlcllcм IlIггeРeсуюLцeй пaс фуIlIсц}Iи mУ_funс' тoгЛai эn сIlс,l'Г тaб'lu |lЬI oPдl,|I l1ulов сoдсРл(ll1.иЛliскc эJlcNlсптn 1'a6Jп,il lы aЛрcсоR с RVA.aдPсф^l 4)vlll.ц||l.| my.funс' llnи| гorropя /{ругl,tljи сЛoвaNjПl eс oр/]lлIlaЛ.

B | | ' , i , . , , ' , ( , i . . Л , I J | , с и , , I U i L | | . | Я , l | | | ' J к :5 " . ' , l г ' O O . . ' , . r o ' l . l - а , - Г ' р о - \ ] r n . ,

о г i i n d l ' Е r р o . t 0 Г d ] n а l т а b l е [ i ] :SymhоlRvА = txpогtAddгessтаble [о.d]nаl - 0ф1]rа lвasе];

Ес'llll lliLl"i llj]Bсс'lеll oрliull?Ul 4)уIlкциI1' 1.o o6pащаТЬся к та6Лицaм имсн/oрДllнa'Лolr tIr o6'заTL,]ьll0, orDell €Лcrlllirя nyТallицaсвязaIlа с Tомl чтo oPдIlнаi зaдаeт неrll],]Lскс в 'гilб.]rlцe oРдиIi.Llюв, a lllvleкс в табЛицe аДpссов, T.блиЦa oPдин:rпoв пPед-сТaы'сТ сoбоii всnoмor:!геnьrlую rloдстPУкТурy' нr rlмсloщую сапloстoЯтсльнoilцсllrю(r'и I] всеl/laисIloJll]3уIolцуюся foЛьlto в llaPeс Tа6Лицсй uмrн, ПоэтoNlyта6.Лl1|IЬl иNlеll tl ордlllIiLlтов всeгдa сoдeр)кaт одrola](oвoe кoJ]11чество эJlо]\]снToв, за.дarrnемoе lloЛем Number of Name Pointeгs' кo1opoе ]!lo]]сет и 11о сoвп:]датъ с IФЛичс.сТвol1 эЛсNlс}lToв Tа6Лицьl адPссoв' задaвасмьli{ пoЛсм Ехpогt Аddress таb]е RvА.

Trпrpьo тoнI{с,стях, Tа6:rица aдpссoв мoяtет сo]lер)кaть <рaзpьlвьт'j тo естъ эЛe-]\ eпTьI' обpauleijIlъте B ]iyЛь Il укaзьтвaюЦиe в IIliI{удa' к счaстЬIo| их JIсr.кo oтсс.'.l.ь, хуже, чTo jlаJ]скo не всякий элеNlенl. та6Лицьr адPесoв пPедставляeт сo6or:iдcjiсTвитсЛьнrnii аДрCс эксlloртиPусlloй фyнкцlrи: ведь динaмичесrсие 6и6лlтo.|сltи ]loддеpживаюT фoP9aPдlrltг (iolwаIdiпg), тo есть сttвoзtloс пePerraпРавrrе.rrиеэкr:llopтaв lrpуr.уro DLL_ и тoца сooтgетствующий элсltснт та6лицьr адpc.сoв сoдеP,сиT RvA.адpес АSCI1Z.стpoкt тIrпа NтDLL'Rt]Dе]etесrjtiса]seсtioл'oпrlсывarоlrteii пepeпа.зIlaчeпиe' кaк oTЛ,IilиTь fonvard.стрoки oт действитсль-

Page 99: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

100 rлава 5. фоpмат PЕ.фаЙЛов

]ых aдресов эксl1opтиPyeмых фyпкЦий? да oчень lipoсTo: folwагd.стPoки всe'Iдa Pаспorio,l{еньl вп}"тplr та6I'lцьI экспoртa (иMe]rнo поэтoiIy спeцпф[кац]1янастоятслъlio peкoмeпдуeT деЛaть ее нe]rPерьIвl1o'l ' ниI{акиx дPyГих пpичlttl дJlяэToгo y сllстeмIlогo зaгpyзчtlfia нет). Pа3мep TaбIицъ] экспoртa сol1сpжllтсяв DАтA DIRЕстORY там )кс| цс нaхoдится:Lцpес eхpoгt direсtoгy taЬ]e, r.t раз06ЛачrнIrе Ioгr\Iar(t.с].Рок oсyщсствjтяeтся тp]{виа"цъ]]o'

ПpивсденньIii ЕижeДеi1оllс1.PaциoнtrьIii пpllмeр скaяиpyет всlo та6лпцу эксшop-Tа' oто6Pа,{ая ее Ilа экpa]]с в удo6oч]rтaемoм вliдe' o6PатI'rтe Rllrlмаnrtс' ]la тo,чTo обрn6oтк:t огdinа,l BAsЕ trrскoльIю IlзмeIlеllа| _ тепeРь orlа иЛeoJlol.]lчсскr'I6oJlсс пpав]Iльна (листиlIг 5'4),

лиdинг 5'4. пpoсгеЙшиЙ pаэбор тa6лиць экспopта

// пnлy.аеп ] 'яазаrслЬ |rа PLp. *(DюiD*)(рвd5 €дdd.сss + 0х3с /*e. l fаne! */) + p8asсAddrеss l

// rOЛyчаеl] y(азателЬ на DАтA-DIRЕстO8YpDAтд-Dl lсс i0лy . {0я0RD*)(р + 0х78):

// пOrr!чae yка3ar 'aль [d экс iсprpЕxрo.t - p0Ат^ l]IRЕстORY(0l + pвasеAddгessхЕtрo.t - рDA],д-DIRЕст0RY[1]: // оcpсм Dа3м'.D, но не nроoeряei

// изuлсlаeм свеneния оо 0сновsx стрyктypаxnаnелVА -

"(DшORD*) (pExроrt r 0хс) + рваsеAddгessiOrdi ia lRАsЕ . *(DLIORD*) (рЕxрогt + 0х10);add.еssTablcЕn!гres . *(DIORD*) (pЕxрогt + 0х l4)nцпbегliNal'ePоinters - *(0l,]0RD*) (рЕхрOгi + 0хi8)exрo.tАddrеssтаblcRvА - (Dli0RD*) (*(DL']OiD*) (pЕхpOrt + 0xlс) + рBа5еАddгсss)lnaпoPo]DtrГRVд = (lll'loRD*) (*(Dll080*) (pЕxpoгr + 0х20) + pBаsеAddгеs5)о.drnalT ib]OltvA (рЕrpo.t + 0х24) + рвasсAddгess)

// рdспeчатьва.П 3сe и iенd/ординaЛь/aдpесарг]Пtf( Oгd]nаl/h int V1гtualАddгess Foгt lа l . i \n \

- - - - - - - . - - - - - \ n ) i

fог (d = 0 i а < ЦAx(аdd.еssтаbleЕntг]еs, numbeгOfNаmePo]лte.s) a++)I

/ / л0а 3и l а 0ораб0тки по и i енdв и пO Oрди[aЛа[] f (а < numbсг0l .NamePointeгs)t

v / , nd d q ' , v | , op ФJa%| ' | a Цб | | |

паmе = 'rdnrePornl€.RvАlа] + рваseАdd.еss: f ]ndeх - oгdinаlтаbloRVА|а:]i

l/? выЛ!ленЙе tlфдекса фyн(ЦиЙ' зкспopтиpу€ ьХ 1Oль(O по OpдияdЛаl1

I d " . - o :

Page 100: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

опиGниe oснoвнЬlх пoлeй PЕ'фaйлa 101

// Oпределение адрeса фyHкцииf аddГess - (]]']0RD)(еrpo.tАddгessтаbl..8VA[i.]ndeХ] + рBаsеАddгess) ;

// пo[с( 'раФЬвO3' 9 rаблиue aдр €с0вr i ( i ad.геss == рваseАddгess) сont inue|

// oпPeдeле| иD 0prrпиналаoгdrrra l - г indсх+ Oгdjnа]BAsЕ|

i fпoиск форsaрдOв (ссли .aсrь)((i add|сss > (DL,iOR0) рЕХрlrrt) && (f-ddd.е55 < (0!0RD) (рЕxport + хЕхрoгt)))

pfoгaагd = (BYтЕ*)f add.oss e l5 € ргоNагd _ 0:

/ / 9ы3oЛ рeзyльта l 03 l а 1 сp l 1 i валpГ]пtf( ' t з0s I l03d/ l0!d] 108хlr ъs\ i

ia i ro, Oгdrnd]. а ' f dddгess, (рFOгld. .)?р|.oг 'ard: . ' )

==========..*'==-"-""'----==\n )

имnoPтl](IIl с экспортoNl в(c 60,]lсс |{JIп lllонсc пo]{яTl,to, Тo |{мпoр1' _ этo кцкoii'To т(опr.!аР' э1о цсnых Tри Рi]ЗJll]чIlЬlх мlэхаllllзмal o/lиll стрaшнсc дPyгoГо, yпрaвЛ'lе-\ 'L , r ' tL | , | , |ЛЬtIя i l - l | | ' ' ,Я\||| | l DAтA-D1Rt(т0c\,

сTlЦlарTilr'il Nl0хiIJlllз]\{ имlloрTa p^6oTaeT пPи6xизиr.сJlI'lo,].al(: сI]сц!t?rJ|Ьl|аЯIir6Лпцil (|laзЬ|Daемnя пабluu]еi) u'цnоPna) лсpcчllсJlяе1 иrtIeпa/opди,laЛЬl Rссх

r'мllop,!.llРyoмьIх фуЛкLulii' укаl]Ь|вir'l' ]] кaкoс мссTo с'1РaпичlIoIо имиДltа 3lrгрУз-llltt{ltoJ],кc||iJ.]I1'lс'lтЬ )(р(pсюиl]Ilrni'i aдрес каIцоji lI3lrпх, Э'гo пPoсTo, uo ]lо у)кa'са тopпюзлo. Грyбо гoвopЯ' lla шDкдyIо импортl'lPyсrtyi() ()упкпtrю JlPихоltЛтсяодин вЬlзoB GetPгoсAddress| фaк,|иЧесl{ll' спoдящIIilс'l к поэJIепreипloмy ]ItjРе6o.pу всcii тa6xlц|,l 'кспoрта,

Болee прoизводиТсЛеII м eхaНлзм au a1aзoн||o/a LL|,'op,лi? (Ьouпd jпrрolt)' свoдя.

lциiiся к тPl{виaЛЬlo]\lУ пPoeциPoваниlо lrе()6хоДимьш 6п6Iи()т ( пa aдPcсll()е

nрoсTрa]lствo llPoцсссa с '(eс,гкoii лрoшивкой экспopтиpуc]lIых aдресoв сще lla(l].а/tи и ]rоN{пriJIяц] шr I lРr'rлохeния ' Этo 6lrстpo' llo не у}lивсpс lЬIlo' ПePскоNr1}! -

.IIяЦl{я DLL т|]с6уcr o6'i].rlеЛъrioй пePскoмlI]'lляциtr прилoжc11]'lя' пtlскoльlty llo

сTaРьIпl адрссам TепеРь lllгlero хoPorxсfo у)кe ]rет'

Ме)кДу Двумя эTrlмrl кPaй]loстями oкоxа]lся мeхaнИзхLorulaэn:еннo2o u.мnoРma(dсlay ilnport), pеaлизоваll11ый с 6олЬiпliNl коiичесTвo]vl оЛш6oк' noдДеР'o{вас.l!l'пi даIс1to пе всеп'и кoмпoновщикaм!'| llo все таки Pa6oTaloпl1пi. B 06щихчеp

Tах оснoвнaя идся закЛIorlaется в пePонаrlpaвЛепllи элrмeнтoв TабЛ!пlы l{мlloр-

та нa спецlтапьпьlй o6рa6oтuшк' дrптaминески заrРу,каloпIий соoтве'|ствуюUrис

фунIrц]1!l llо мeре rrозникrroвсния в lIих lreо6хoдuмoсTи Л подстaвляlolllий rix

а]1P{:са в Ta6.]Iипу ип{пoрта,

ПpIroPитсT рaзЛичпьlх мехaнизI1oв иlllпopтa нс olrредeлeп' и загPузtIlпс nпPaвсиспoльзo!ать nю6oй ДoстyпнЬlй' пeреxoдя к дpуIorlJу тoльlto в случac r'е)Цачи,

эrrс]lсpjlУeптпоIiазьIвaст' чro Windоws 9хдT снaч:Lnа 1IсполЬзуюT bоrrnd iпPoтt'

Page 101: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

102 rлава 5. фopl4ат PЕ.файлoв

и ToЛькo есЛи штамп вpeI1ени/прeДnочтrпельньп1 аДpес загрyзкrI иI1портируе.моli 6и6Ли0теки нr сoвпа].I с o,olлаeNlЬlм) !ьl IaюTся иIпtoPтиPoвать фун(циiio6ьIчньiI' путем. Windows ХP постyпает иllaчс: пlrсЛe ноyдачи с Ьouпd i;lpотt,опlпьIтается и]!lIlopтпPовaть фy}iтoulи нспoсредс,l.вснIlо пo Тa6ЛIrцe aдPrсoв, vкaзa-тeль liа xoтopyю сoдeР)кится в пo"rте ]I"IAGЕ-DIRЕсТORY-ЕNтRY-IAT, lЛтатrlo та6'1ицааДpeсoв сoдep)кит кorlию тa6.nицьI ппIенj l1 пoтol'Y o6РащaтЬся к lloслeдпeii нстлПкaкoй l{е06х0ди]\{oсТи. Если )кe это нr так' зarpузчrlк gЬItiv)r{лerl иIlllopтllрo'вaтьсЯ o6ьIчI'ьIl{ путсп{,

КoPoчe rовoрЯ, сeксa (с oтЛaдчrfl(о]u) 6yде1 |lРедостатоЧ]]o, 1lo ]!Iь] все.тaкп llaч.нeм..' станДаpTнаЯ тa6лица lrмпоРта пPсдстaвЛяст сo6oii Utoriiнyro пeраpхичrсl(yю стpук1yPy] кarкдьlЙ из э'ц€ll1еI]тoв кoтoPoli пroжeт 6ьrть рaсttoloтtеп п лrо.6oм пrссте стpаниuнoгo имидхa.l{а вeршине иepаpхии нaхoдиTся стРvlс.yрa Impоrt D i гeсtогy Та b,l e' п P€лс1.авJlя-loщая сoбoil пtассиB стpуктyР Ii{AGE-I PORТ DЕsсRIPтoR, завоРIIIаeiIЬIх нуЛеRЬIlIэлемeнтoп{' ка)цьIй I!iAGE I PORт'DЕSсR]PтoR сo/lер)кl1т ссьI.Цtot яа двe пo/lчl1llсl{-IlьIс стPyкTyPьl kюkup -mа6лuщ ' сaдеpжalцую l{]!tеl i a и/lIЛ I1 oРЛи llа.lr ы rl]\l п.4)Tl,pyсмьIх'q)ункций' I'i r, n6lLuцу u'lлnpmupуемьtt сфссoа (Thuлk TaЬЬ). сoдсp.)кащуIo RvA.aдPеса Ячсск стрnllt,Iчного lllltjlд'ra' fl()вс]rх oторЬ|х 3r].PvзIпlкдoлжсн taппсaTь эФФекTl1вяьlс адРсса сooтaет(:'ГI]уlolllllх |lМ d)yljкцllii llvсlЬнe06хol(имirя нам (рyI l кц,tя my-funс Ilaхo/tttTОl в i.з'rсмсrr,r.с lооkLi1l.r.а6лlп1ьI'-rrlг-дa iи l lllекс ,га6JI ццьI 1lNtlтоp'ГllPyс]!1ьlх а/lpссo! (o/Lq))кит RVA-y,{азаTсЛь r lа ,l ч сi!ку] в lсoToРуlo 3a[pузчlll(у сJ,сl(ус,]. 3а]l сaTЬ cс ivQсс (JIj]стlIllГ 5'5).

лисIl,l|lг 5.5. пpoтoтип пpyгrypЬ 1МAGЕ-IмPoRт-DЕSсRIPтOR

tуpеdel stгuсL -]|]AGL ]МP0лт-0ЕsсR]рlоR {

DП0R0 с l rагасteГ ist]сs i // 0 foГ Leгm]nаL]n! .u l] ]mpо|t drsсгrрtoгDL, i0R0 0rrg]nа]г1гstтh0nk // RVА Lo о.1g]ni l !nbound lAт) :0ш0RD т]meDаtеstаmр // 0 rf n(]i ЬUu|!,

// t i f bound' and .ea l datо\trme s iаmp// ]n ]IIАGЕ-D]RЕСI0RY ENтяY-8oUN! ]l,1P0Rт (iew)// 0, l , ] , dаtе/L]me sIamр oi DLL bOuпd Lo (Ol i )

Dl . ]08D Еoгaагdеrсhаrл: // -1 r f nO fo. 'd l0eъDш0R0 Namе |DL'i0RO г].stlhunk: // RvА to ]Ат

] I!]AGЕ-Il,1P0Rт-DЕsсRIР]0R

имя зaгрyжaемой DLL сo]lеpжится в lloлc Name сTрyктyРЪI IrrAGЕ_I |4Р0Rт DЕSсRI PтOR'прeдставляIoщем с(16oй RVА'указaтеЛь нa Asсi]Z-стpol(у,oст;vtьньrе пo'lя не таrс и]ITсPесtlЪт' ЕсJII.I вРеl{е]Il]a' oтlleткaтilneDаtestаmp Paвнallу!'1ю (кaк чaЩе всeгo и 6ывает), To систеп{llьlй загpvз.rик о6pа6атътвaет та6лпцу иt'1поpтa Ilo всel' пpaвилaм' Ес.lrи же oпa pавнa мirпус единпцe (FггЕFFЕth)'зaryyзчик игlloPиPyеTукaзатеnlr 0гiginа]FiгstТhunk и Fiгstтhunk, пoлaгaя' rlTo даIiflaя 6и6J.iиoTека ilмпopтиPyeтся чсреэ 8OUND-IмP0RТ' и тoЛЬт{o Ли]l1Ь кoгllав0LND-IмPORт ItрoваЛиTся (наприluеP, из зa Ilесoвпа'1епltЯ тjпеDаtestапlp), возврa.Iцaется к IAт,

Page 102: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1{a этoNI oснoвarl одпн xю6oпьIтньlй rlPиIIеp пPoтивoстояtiия oтлaдqикам и дrtз.aссеlldл€PaNl: с6pасьIвасl1Тi meDatestamp r FFFFFFi-Fh' д06авляеl! в вOUND IмPORтипl.

порт 6lr6-1иoTеlfi' yказaнlloй в Ndll]e, сTавIrм тi meDatestаmp в нoль, чтoбьl гаРанти.

l)овaнIro заl.рyзrrгъ сс (кolIeчнo] знaчеI{ия эI(спoPтиpУeмЪiх адpесoв в РaзJI,1ч]rЬIxверсиях DLLмoryт п нс сoBI]аДaть - нy Il хвoстс н1rмиl ГJ]авнoе'чTo 6и6Ли0.

Iс].;1 спPorцирoвal]a нa aдpеспoe пPoстpal{сTвo пpoцссса' a paзrPrсти экспоPт

}]o,rirlо п Pyкaмl1), Tеперь l1(t€)каем уI{aзаTeЛп ori9inа]гiгstТhunk и Еirst'lhunk'

п]rидавilя им зaвсjlollo IIекopРсктньIe з]lачeния, сIrсTeNIньIii зaIрyзчик, 06наpу'

'ijlвl чТo TimeDаtеstаlrrр : -1' пpoстo rlрoигfiоPиPуеT Irх и о6ра60таеT ,IAкой файЛ

впolнс lloрNiaльнo' Дlt:rассем6ЛсpЬ1/oтЛaдчики _ ипoе дerro, o вOIJND lllPoRт пo-

taЕJUllo]цее 6оЛЬrnиttствo из них ltliчeп] не знаеТ' и' чeстнo Pltllyвulись в lAT'

о!iи ts Лучlпеl1 сЛучас сoo6щaт' чTo та6лиЦа иМllop'Гa r{см}I{снa' a в хyД1nсll -

пoеrrуrкРъп сйи аraРпliнo завepшaт свoю pa6oTу. стaPьIeвepсЛ't идъ] и нlЕWo так. rIoI,ьIe _ нс1.' l]oэтoi{y данн],tй трIoк у]l{с у,rya'Гил

сllо Jo 6ьIЛylо актya.rrънoстЬ'

'iIiо6ое дрv1.oc aпaчrIrItс'ГiпeDаtestаmp o6oз]la.lаeт дl.iiсTвиTeльнyю вpсNIеlпlyIо

ilcTкуl ll сс.]ll'l ollil сoBпaдасT с вРеilJевноiI i!lеT'{.)ii импopтиpуeмoй DLL, загРуз-

Ч|lк пl)oстo llрoсltI{pyrт сс tlа ilлРeсrloс l!рoстрalIствo llрoцссса' Ilе пaстpаllвaя

lil6irr'rшy а/]Рссов, 11Рслполагас,гсяl ч'Гo Эффсt(Tl'lвIlЬlе адPrсaзадaIlы elц€ вo врe"

ь|}l к()N |||lЛяIlrlrt' lla эToiu oсllовall ](PyГoй хrlTрr'Iii ТРюк (rrсe cщс актуальllьlii)'ll()]LNlotпrl} o,'1иll иЛlr lleско]lЬкonJlcмcIl,].oв тa6JI}l,л,I аrtРeсoв адрeсoм дРyгой фy к.

l1I11I' п Ь| DI]с/lcill llи3irссспr6лcр в r:rryбсrкoе зa6лу)кltсlЛ'e (Bеilь olI игlюPиРyст таб-

x1il,lу luЦ)ссoв ],t тlРOLI|оIl Taeт Pa36ID:tтЬ вeсЬ !lмпoРт сaмoс1.oя1.с]!Ьllo).

Foгv/drdeгсhаin ()l|cIlЬ стlrlllIIoс |loЛe' вpoдс 6ьI lrме]olr{сс oтlloшсllllе к фoрвaP.'lltIt|У 4JуIпцtlii,II() o,,lпп]!1llаI l l Il)lltl иllдeкo в цсllочI(e фoрRapДа' Ilo/lРyIltll _ RVA.

vказaтeль Цa \1ассtlв l!iАGЕ-1мP0Rт-вY_NАЛЕ. o6ьIчlIo рaRнo IlуЛю (Ilет3деcЬ нlкa]сo.

rI) (lx)l)IrаPДа)'1,:rк ч1orIавPядЛl{ э1o укaзaтcЛь, сlroPee yк aдpeс' хoTя спeцпфикaцияjl у].перЛцаcTl ч1o зA oTсy]сl.виeм фoрRаPдa зaI(PeпЛеIrо зIrачсIlj{e гFFtttFFh' ЛиIl.

ксРЬl| похoI(cl llPllllеРкиваIo'Iся с0веp]llеt]нo инolo NiIleния' чтo){сДo систсмj{oгo

зaIPyзЧ}t]€' тo этo IIоJlс оп п{lпPосту иг]IoрI.lpyет, и здeсь мo'{ет 6ьlтЬ все чTo угод-нo, Тo }кe сlN!оeoТнoсится I,l !( оTJадчика]!1/дизасссм6Лeрaп''

ПРllпlср прa]rтIrчсскоi'i ра6отьI с та6xицеr:i 'IмпоPTа пРllBедeв в л1rс]-rиllге 5,6.

лясинr 5.6. Дампep та6лицЬl импoрта

// пЁЧАтAЕi] тАБЛицy ll|1ll0рTАn2k р|]nt']Aт(0 0RD* lmpoгt|00iuPтаbl0' Dl.rORD* rmрo.tА.drеssтаb]e' вYтЕ* рBаs€Аd..ess){

DI,]0RD loOIu! ' hrnt ' andгe55:вYTL *nаmе: с l rаг DL] l I !1Al-вUЕ s lzЕ]:лап. = nоt !геssепt ' : lОOkL]р = аddГrss = hi i t = 0|

"":ll . it:l t:T1::11::l ::l;i""'! h i l е ( 1 )

{, o ' p J " ч o б , / l f l о P , а l 0 o е

Page 103: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

лЙd rн. 5'6 (|1 poД aмeни е)

// извлeкаeф 0чopeдные зЛеieнты и31f (rmрoгt looкL]pтаble) 1ooКup =i i ( rmрогtAdd.essъble) аddrеss=]f ( addгess) bГrak i // это кOEeu?

i f (]mроr|LookuPтdblе)

]оoсkU' и аdiГеss laблиц*impoгtLoоkuртаb]e++ i*iпpOгtАddгessтаbl e++ |

if (lOоkup & 0x80000000) // функцliя экслоpтиpуеrся пO оpдиtrаЛy{

spriпtf(b!f '#вd',]ооkuр & .0х80000000)]nаme=buf i l r iпt.0:i

{// Фyнкция з(сп0ртируется по иllени

iаnrе.( ] oOkup+рBаseАdd.еss+2) ;h int"*( (L iORD*)( lOokup+pBasеАddге5s)) ]

)

n2kt

l] pгrпtf( ' I l04d] 3.з0s t08Хtr\л ' ,h inr . nаme, ddt lг € ss)|

Ip.i rf ( !=-=-*===-*------=--===-------=-=-r=-------===.\n\n )

nр0r}лLiвa €мся по та0лиte и пopта, вЬвOдя е € всю_Wd]k-]d.6х(вYтЕ* рImpоrt вYIЕ* pBаseАddгеss)

0tl0RD *inpoгtLоokup,lab]€|0l.10RD *iлрo.tАddгessTаb]€ ;

// пepeоирiei всe rа0лllЦы дескpиптopов сl{oЛЬкO иx eсть тaм ,,wrr i 1. . ( l ){

// li3вЛекaе[ 0сloвные параiетрь.*(Dli0RD*)(рlmpont + 0x0с) + р8аseAddress:

l nporILоokuрТаble .(DL']0RD*)(*(Dl,loлD*)(pImpoгt+0х00)+ рBasеАddгеss):]mp0гtАddГеssтаble -(DLi0RD*)(*(D!0лD*)(p]mpoгt+0t10)l рва5eАd.ress):

//рГ]nIt{ '15 вх ях\n ' 'паmeRvА, jmрoгtLOоkLrр iаb]e рBаsоАddгеss) i

// пеpeхoдим ва сЛeд,юций дескpиптoрр]пpOГt += 0x]4 /* srze оf.]l1AGЕ-Ii'jP0RI DЕSсR1PтOR */|

]f ((BYтЕ*) jmportlookuртirblе.-- pваs€Аddress) b.еаk: // эrO кOнeц?

ргrnL l ( ' l s] \n. ' 'naпЕRvА)fог(n=0ia<stг lеn(nanreRVA)|а++) pг i i t f ( . . . ' ' ) | рг]ntf( . ' \n"):

// пeчатaе[ и[пoртирyеl'e функЦииn2k-р.]nt lАТ{imрlrrtLoоkuртab]€' imPo.tАddгessTаb]е' pваsеAddгеss)

Page 104: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

itiAcЕ DIREсТORY ЕNтRY-в0IJND Il,1Р0Rт _ в0UND Il.lP0Rт Дo у)кaсa lleзaмrnсЛon?!Г rr прoст,

с rrпм связaп всero oдиl{ ]!laссив стpУкТуp II1AGЦ0UND IliPORт DЕSсRI PтOR' сoстoя-

п1liit из тpеx пoлеri: зpeNlerrнoй oтilе,rки; сlrеrцeния и}lеrrи DLLI oтсчиTьтвael{oгo

от нaчаrl^ Ta6лицьl в0IJND II']РORт; кoЛичества фopваpДoв, тoч}lос нaзnачениe ]to.

ЕсЛи вPсIrе]Iпая oтмlrтt(aиN{поРтиPусN1oй 6и6лIroтск11сooTвeтствyет ес со6сTвеri

]Iоil вреluсннoй oтl{еткс' пpoписaннoй в PЕ-3аго'']oBксl за1.рузчt'п( пPoстo llрo-

сцllpуeT лoслrднюю IIa a,tP€снoе l1poстpаrrствo и yмъIвaет pylси' lLрeДoстаBляя

ЛроrPа]!li!]е ДействoваTь сaN{oстoятeЛЬпo. Захoнст _ 6yдет paз6пPатЬ Tа6лицv

ЭxсIloPTа пllпoPтиpуcмoй 6и6Лt1oTeки вPyчнyюl 3ахоче,г )Itсстito llропtl]l]ет

эxспoр-|иpуel{Ьrе адресa e]цe нa этatlе I(oмпилЯцrIlI' как o6ьlt!llo ll пPo11сходrlт,

I I),Лсвoс :]l laче1rие вPсмe]Iflo11oтмeTки сooтBстствует лю6оlry врепrснl' и o6pa.

щaтьс]l с lIим слeдуc1. 'lРeдельIrо oс,ropo)кнo' и60 llPи пеРeкoNIпп.Пяции 6п6ли0.

ТсI{l.! '(естIto прoI|исa]пlыr адрcса 6yдyт ylф3Ьl ва].Ь Il itoсltос п llPor.Pa\lillа повис.

llс,l Gпстияrи 5'7 и 5,8),

листинr 5'7. пpoтoтип ФpyKryрЬ IМАGE-Bo!ND*IМPoRт-DЕSсRIPToR

ryрedef stгL]сt .IмAGЕ-B0UND.II1P0RТ-DЕSсR]PТоR {UIORD тimеDaL€sLdmр:ш0R! Offs€!мodulеNаm€ill0RD ].lumDenofМоduleгог агdeгRefs]

// Aгriy сf zогo Oг [ro.е ]МАGЕ-B0UND*Е0RI,]ARDЕR-RЕЕ fo]]о!]s

]]l,tAGЕ-вoUND-IМР0Rт-DESсlliРl0R. *PIl,lАGЕ-в0l.]ND-IllP0Rт.DЕsсtIPI0пi

l]рAктIlчсскиii IlРимсp рa6or,ы тa6лI,IцЬl вoUND-ll]PORт привсдсli в лlrстllI.lгс 5.8,

лисYиfl г 5.8. простoй дампеP тa6лицЬL диапазotlH0гo импopтa

n2k-!aLk-bounr](BYTЕ *pBоund' BYтЕ *pваseAddгess)

{DL'iORD time.х llORD naNo Oifsеti |ioR! n_г€fif ( рвasоAdd.еss) pваseAddгess = p8ound:

{// и3вл.каец sсe зяачeниЯtrmr-х = *(D1iоR0*) pвOrrnd: n гef = *((!0a0*) (рв0uпd+6))]

nаmе.Offsеt - *((! ' ]ORD*) (Pвound+4)) i f (]nаmе оffs € t ) bгeаkI

// gывoдин их нa тep[инdЛ .

pпntf("t104хl 1.!05 id\n' trпe х nаflе-Offsеt + PBaseАddless n-.еf):

// слeдуфL]]иЙ злeBeнт

J р г i i t f ( ' \ п ' ) ;l]l,tAGЕ DIRЕст0RY-ЕNTRY-DЕLАY-II1P0RТ _ вoт lьI и Дo6p:!'l,lсь дo oтлo)кснl]olo IrNIпoP.

та,', Рaссl'o'гPrrм егo ЛиrrrЬвкPaтце' посколЪкy ничеruхоpопIero oжи/1аTЬ всe pав.

]]o пe прихoдl1тся (лис'Гиlrl5,9)' ДЛя экспеPимеll,гов ]]al{ пo1lадo6r'l,Lся пo мrliь.

Page 105: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

шеli NIере oдиli фaйл с oтлoжeн]]Ьrм импoРтоlf. Если хс такoгo в вашeпr paспo.ряrкeнии rrетl сoздaliTe сrо са;rroстоятe"цънo' ПoЛьзoвaтели Мiсгosoft Linkeг мo.ryт пoстyт]ить тalr: ] ink d] ] 'test. imp] 'obj /DЕLAYLoADid] l.d]] dl l , ] ib DЕLАYIl4P.LIв,а пoJ.Iъзoватели лиttкеPa tllink oт юриЯ хаpoяа (кoToPЬIм Я сам дaвJrо поЛЬзv.юсьx кoToPый Bсeм нaстoяTeлъIroрекoN,e]] l lую) TaIr]u] jnk.dd]] ' test . imр].oЬjd l t . I i b .

Листинг 5.9. протoтип пpyкryрьl ImgDelёуDеsсr

tуpedef stгL]сt тmg0elаyDesсг {Dl'l0лD gгAttгs| // dttгjbutesLPсSтR szNаme // polnteГ to dl] паlrlеI]|IODULЕ* phmod: // dddгess ol nodu]e lrandlеPiлgтhunkDаta p]Aт] // аdd.€ss оf the IдтрсiпgтhunkDаtа рINT: // add.ess of th€ INтPсIпr9Tlruпk0аtа р8oL]id]дт| // addгess ol thс Oрt]Onal b0lrnd lАтPс l[ !T l runkDa|а pui lOаdiдт; // dddгess o l Oрtro id, l сорy Of orr9rnа] iАтDL"rORD d!тinrestапр; // 0 ii nOL !оunо'

// 0 L'i da|в/t]me stаmp оf DLL bоund ,JO 0]d B]l,]D] ImqDe]dyDesсr * P]пqDе]ayOesс.:

ПoЛс gгAttгs зa/(aст']llп адpссaЦии' лгJимrllяIon1ийся в с:lуrксбlrых структyрaхо1!Io)ксIlllогollмIJoрта (0. VA' 1 . RVA)i ll1).lo szNаme сorrоplror'r RVA/VAarta.зaтсль пa АSCIIZ.стpoку с Irмe}Irill 3al.Pyя{ас]\l с'ii Dl.L (тиIrадрeса оlIpсде;rirсr.ся oсoDelllloст,liiIи pcализaцпи кollI(ретIloлo D€lаy I.Iе|Рcг' Bl|cдРясIloгo, тlРo..рамМ5, l l I l |кcРoм

I l вJ l )ьи| ly lo , | (с loся t J ,Г рc ' l J ] | | , | j t I I I Iи ' { | ) ! . l , | | | J : ' I ( l l l | ' кс ' I j , ' l Ll oRoг ' | , бvлL , |o гoтов l . | кo вся|\иЧ п .1| .Uг-ям, , | - ! | |з I l . l , | ' ' J , L I ln | ' у . те nU.с n| , l ; l ' | ,зal.py3чиI( (всс Toт }l{с Dе]ay нelpeг) лoмell(ас1.Дeсtq)пl|т()P lllIllalillЧеск)J зil.rPy)касlltoй DLL'

ПoЛe pIAт сoДcPжит указaтeЛЬ I{a та6.!ицy :lд])ссos oTЛoЯ(сlllк)гo lIмII()Pтаl oрГа.низoBallнyrlr Tочrrо Tак жо, кaк и 06ьIчIlaя IAT, с тoй лиl!Ь pa3lI|'lцсi{, ч1I) всс э-llс.мспты 1а6лицьl oтл{r)кеннoгo имrropтa всцyт к dсlay lоartЬЬlpег'у спeциаJtьIlo'мy диltaмичeсlсoму зaгPyзчику| тaIOке нaзЬlваеvovу IIcPехollfl]{ком (tЬUnl()'кoтopьtй вызЬIваrт Loаdlibгaгy (еслIr тoлько 6и6лиoтека yтtе пe 6ьr-la зar.py;rсе.xa), a зaтsм дaет GetProсAddгess и заNtещаст текущиli элeмснт тa6лrrцьr oтlЬлrеrr.нoго иNIпoРтirэфФеI(тuвrrь]I{ aДPlrсoIlI иr\lпорTиPvrмоii фупкЦl.lII, 6лaloдapя чсI'tyвсеlloсJeдующие вьIзовьl ,цatrнoй функц{и oсyщeств''rяютсrr нaпрямyю, в o6хoдdеlаy lоad lrеlрer,a,Прrr вьlгp1,зкe DLLиз пaNlяTи пoс-1сдI]яя можeT вoссТaпosить тa6.rlицvo1.Цожen.

в l | с Y о Л ' I о е . о . , l U я н y P , o 6 p а - и в ш l l . ь , ( . o р и l , ' P 4 1 ь | | U i j к o г | | | | ,| 1 v А , у i . J J а - P , l ь | а ' , o 1 o t ' v Ю ч ' l а i l , Г с я в п o , | c O - ' l ' o а d I A г , Г r - t r , n , , n , r н д r ' , nуказaтель 6yдет o6parцeв в нoль,Пoje pIтт сoдсpжи | R\ А уьа |"IeJ Ь | lа |а6n||цу ичс,, вo вt ' .У гoвгoPя|оU.уЮсTaндapтнyю тa6"1ицy имeн (см, nаme таЬ]е) To n."

"o"'o" o,,'o.,'.",

" n no,.

pвound]Aт' хрaпящeмy RVA.ytсaзaтель нa та6лпцy диallазorl] lor.o rrNlпopтa' Есnитa6ЛицaдиaпaЗoннolo иl{пoрта нe пyста и указаnIlаj{ вРе[{eн}rая 11сгIrа сoвIIаДa'eтс вPеlIeIIпoй мeткoй сooTветсTвyloщей DLL, сrrстeyньfii загрузrrr1к пpoсто ]тРo-

Page 106: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oписаниe oснoвных пoлей PЕ-фaйла LO7

eциPyст ее нa aдpeсIroe пРoсTpaнстBo Даrrrroro пpoцесс:li и мeханизм отлo,lсeн.

пolo импopтa дезaктивиРуeтся (листиIIr 5.10),

ли6.rн1 5.10. прoсгeйший даltп€P та6лиць oтлoreннoгo импopта

// npoгуливae ся пo тaблице dеlаy.иifiоpтаnzk-!аlk deldу(вYTЕ* pDеlау, вYТt *рвdseAddГess)

ш O R D a = 0 ' h i i t lBYTЕ *nапe' *f-nапе;D!']oRD аitГ' Oгdinal IсhаГ DufIPIАХ.BUF-sIzЕ]]D|iORD *]Nт, *1Aт *i-аdсг]

//аttг = *(D!10RD*)pDelаy]

пh,] l € ( l ){

// извлeка€м укaзат€ли Ha 1Aт и lN]1Aт . (D!ORD*)*((DП0R0*)(р0e]аy + 0t0с)) lINT * (DшoRD*)*((0|J0RD*)(рDe]ay + 0х l0))|

// изBлекаeн yкaзателЬ [a [мi l loдyлinаmе - (BYтЕ*) *((D|{OпD*) (pD € ]ay + 0х04)) i

j f ( IАт I l lNт) bгеak

// звp[ст[чeск0е pасп0знaван € aдрeса' ' ,D i00n, ,a]е < \D"00D) pBаsеdddrеss) ,а €if ((DtlORD) tАT < (D!!0RD) pBаseАddгеss)

Iд- . , Dь00D. , , , 0ю0D , IA,I . ,D, locD)

+- (Dl'iORD) рваseAddГrssi

if ( (D!.]oRD) INТ < (DП0RD) pваseAсdгess)INт - (D|10R0*)((D!]0RD) ]NI + (Dl,lORD) pваseАdсгеss)|

wlr i I e(1){

- l а l р - l в l , . , . | \ н

, а с o . / D l l r ] P D l ч г |

r f ( f -namе ]L ] f -dddг) bгеаk]

if ((Dш0RD)f name < (D[0R0)pваsеAddгess)f rame += (DliORD) pваseAddгessj

Page 107: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

лисrинr 5.10

i f

i f

{

)

{

((Dll0RD)f ad.г < t DliO8D ) рвd seАdd Гess )f аddг = (DП!RD*){(D!O]]D]l-id.iГ+(DюRO) рBasеfuJ0гess):

((Dl'lоR!) f nаme 8 0180000000)

sрг]ntf(buf , . '+id ' ' ( (0 i l08D) Г паmе) 8 0r| .ЕЕЕ)]f.nаme = buf lrint - 0

l r jnt . *(I ' ]ORD*) l mmе; f -nаmo = &l .namеt2]|)Pпntf("tx04d] i З0s l08xt]\n . t r|пt . f -nаne. f .addГ)

] рГ]пtf('ъ==.==-..===*0 D " , ' J . 0 ' . 0 ) д J о , / i o r 0 , l .

ll

пЕPEМEщAЕМЬ|E элЕ14EнтЬ|'l.a6JI!]Цl

|rcPоп'clIlаc]vьIх элe]!jeIlтo3 l|с яl]л'с1.ся o6'lзnтсJь]Ioii Il lтс]|()J]Ь3vс1.с,tтoЛLкo кoгдil 3aгРузкa lIo ддРeсу' IDоllиoalllIol1y R ilтlа8c Ьltsc' ot{азЬlI|t|сT;я llс.lloз]vк>кjloii' тory]0 сrlс1.с^]ный заl.pузЧ'tк о6Раlцaст(я к]гa6ЛlЛ1с lIrРсм0пla.м;IхD,lс11ellТoвl пРсдстaвJl'ltolJ{сii сoбoii J\laссив укili]?lToJleii tlа RVA.al(P0сa с'гРaлlтЧ.lюго I]мl.l/l)I(a' кoToрЬl c 'гie6yют кoPрeктlllll' !I ),всJlrlllПвaе,r lrх tl:l Pilзllllцy IlpciL.lloла].а0моlю и фa(гlrчссl(oГо аjlрc(loв зalPy:JI{||.

допусlttNl' ll ||Рoгрalv ruuoill кo]lc ll]\lе'Ц^с ь l n lсТрукl1l UI ти I Iа mov eаХ, [40l000h],lдс401000h - a6со,,lloтIrьlii aдрес ЯчсI]iкlI Лам'].ll стр^Ix{ЧIl()l1r ип|lЦжa' ЕсJIx (l)aiiл6удстзarpулсett пс пo a/LPссv400000h' lJа кo11Ц)Ьll'l oIl li рассчI1Tьl|]аJ]| аj сIta,I(cNll Iloaдp.сv 10000000h' ячеiilra401000h в о6,|зiтeЛьllo]!l пoPЯлlфдoЛIota 6ь]]r| с]Lоррсl(.Tирова|lа) Irнaчe в РегисTР eaх lloпа/lcT сorrеPшсlIllо непрсllсl(а]уcllое j]нaчеlIllo'вЬlчшсЛllts дeль,Iу загрузки (10000000h . 400000ь : гсооo6оl; л вшyдпв rrз та6Lrll-цьl lIеремсrr{aеМr'х эЛепlcнтoв RVA-aдрес коpР."i(тup},емoi1 ячсfп(rl' с]llс'гel l1ЬIiIзагрузч!x( ск"llirдывaет сго с дс,]ьToji зaгрузкIr Л lloлучас-г' л]ov eах, [10001000h],пPи внсдрelrл]l в фаj.iЛ пyTеIl замeщсIr Ля сoкциl'1 (Iraпрl ll!ер, сrкаr.t lи и/иJl]1с6pa-сшваxIIи часТri еe сoдер)киilогo в овеPxсiI) nTu .n"дu"т .,"дyк,щu" пpu6,"мu,,LlсPвaя и шаRпaя: eслIl хo'Гя 6Ьt oдпtl пеpеIlcщаeпrьпi uлсr,rellт пoпaдст впугpьв н . Д p Р I | ' I o - o | | i l м и к п Д ] и ф . i i , 6 ) , L ' " д . j i , , г в , , - ' , , I l н o r . р . v . д ' 1 , 1 - 1 , ' 1 1 . 1 n 'lto]l оlt:l'котся noJJtIостъю иJrll частичнo шспoPчelI и сго IIовeIе|1rIс сTaIrст fleпPсдсказyемIljtf (всс зависит от ]oгo, кyда пp11дется (parlенпe'), вo-вTоPьIх, да'(eсслIl o]l и вЪl)ltиветj тo вoсстaнoвJlе]iная сl]кция oкажется нсРa6oТoспосo6ноir't]сдь сооTветс1.вyющиe адРeса нr 6ъUIп скoрpсктиpoвrllr,l,Ntrloгие Pyltoводства сoвотyloт':rи6о lrpи6пвать Тa6Лицу JreРемещаel,flnх элeмс]r|ов, o l j ||I . |яя гoЛр l1AсЕ DIRLсг0чv LNтPY 8AsЕRrL0с в DАiA.DlPtстoq\ tI lо 'Гo l ' , ' JPI, J ' : и J п ' , \ | o o | l Л L н | , ч ) , Л , o o ) | ,

Ь о в l L н n ' ' ч l ш в J l ь ' ' . | ' . , i ] | 1 \ | | | , . o д " г ^ J | . | | x , i 6 .

Page 108: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

109описаниe oсновrjых пoлей PЕ.фаЙлa

lr]пv lLеDeмс iaеllьlх эЛементов (нo этo не пo-хакeрсi{и), NIожнo Лп зaItPe'Гить

.n.'"'uЬn'u "u'py.''oу

тpo6лтъ внедpенньtй яами коД' не Лtilllая файл своjiства

n"p"'"urn*u"й oказъrвaется' lк'жно - дoстатoчllo сoздiLть пус,|yю Тil6.п1lцy

n "р"'"u.o"n,u,,

o,"","u'oвl ]Iepеyсталoвив lla riес l}4AGE-DI RЕсТoRY-ENТRY-вASЕRЕL0с

,. np,.'.иl'o,'o*'уIo 'u6,,rrлw пеpel{еЦаeмьш эЛeмrнтoB о6Pа6at.ьrвaтЬ саN остoя,Ге.nь.

Iiо' дсЛая этo ужe пoслe тoгo' кaI{ всесекцrlи 6уД)т прlrвeДсн],r ]r псхоill loе сoстоя.

rllI € o)aспalroвallЬI и/пЛп извЛeч€нЬl из oвсрЛея),

Iloчеvy 1toдлoжIlilЯ та6Лllцa LlеРeмеЦаeNrЬ1хэЛer{ен'l.oв Дoлжна6ЪIтЬ rlустoii? Пo.

тоlry.rтo системньrii зar.pузvик сoаepжит гpy6уIо 0ши6ку и nptl oтсуlствIIu Ln6-

, u,ri, n"p"lu""uro"мь'* ,,сlllеllтoв llе псрeмeщасT (hаl'lЛ roо6цс (а ueЛь Ix] сп0цl1(l)1l-

кацni{ дo]lжеtl,,,), Pазуl'!еeтся' BнeдРяeмьIй кo]1 нсoбхo/:rrlмo спРoсктrrPовaтъ

. u."'n"i ,"n*'o,''".uo бaзoвoгr l :r.rrрссa зaгpузки. тo eсть l Iслoл ьэoэаl ь a6сoл кlт.

nyn, nдp".oц,''o u",o", ,' пеo6хoдимо rrи6o or.Раппчrl1.ься oдA()ii отr1осllтслЬrюЙ'

]tl16о аgrrli\raтичсскrr ottРедсЛять п!ссTо свoеii ,,IIIсл()I(aциII l] )IaмЯтrl и B дiulьllсlг

||lеrl ]l'сать У)ке oт нсгo,

]{ сoжnn еI lrl1(], Nl пкPo п PoцсoсоPы (eмeiiс,гвa I386 с пеPсмcrцаемЬI$t кoДoм IlcB Jlа.

дах, Tirк ка( oриe]шrQовaны lra a6сr ш roтнуlo :црсс1|lиIo ll ]liшnгato1'3aпрс-L па яrr.

llос исll()льзoвaltис реl.IlстPa ЕIP (yl{азaтcЛь слollуloпlсi]l в])|пoJl!'elIоl.l I{aIlIl.lll.

I Ioii r|l |сl'Pукцlrl] ) ' Мьl Л е llio)кeм скAзaть п рoцессopуi llюv €аx. leiф66h] (зllilос,ul

o t'".,n"r.t,Ьu* д,i,ii''o" "JtоRo'

л€)кaurсс lia 666h 6aйт llиlrrс с]|с/lуIоUrcii сl]оЛl1,lе'

ivoii кoNlitIvЦn)' ll llрIIхoд1!тся lrDи6cга'Гь 1(o l]сc|Jo3Nlo)оlЬl]!l ух|lIцрc|||{яIl,l|Рo,li].]l-

, .uonu р". . , " '1 , ]]IP "up"3

стс к, Л06l] Раясь дo I loгo 'Га l{:са]] @]aЬe]/@, lаbe]:poр eаx,

чl'o )квl'lвitlrcл,t]ю: nov lesp] ' eip/пlov eаx' гesp], u(с esp - yl{ai]ir'Г0лъ ljсl)lIIllIlIn

uгсl(n, ItсTn'гш o сTeкc' Dтo уд.)6lIoс хРa]IиЛl'lfileдапllЬIх' uс 1'Pе6укЛlleс к'l.()Itу '{с

заl(alпrЯ а6сoЛю1.IlЬlх a^ресoв'

]lo сoо6nмiснrlяN{ edxDектиl]Iloст1тaбЛица переllсЛla.мьlх o'llcNlсI'тoв хРдlllllсЯ

в упакoвaпнoм d,oPмalе вмсстo массивa 32faзPя/LlIых RvA'адРссoв' укa3ъllrаю-

, lL||х ||: ' \ lо lyq ' l l lL||рv ' ,N|v|o я ' IE i t{у | ' ' l ] \ lя ги UlIv lр l lсTп' ' | .y ' |||o.o || ! ' ' u .n ' vI ' . l | \1 l" N

! ' lсс l |в ,d.]1,] lя , l I I| , .х LЛоь, i сгэршrtх 6rr ,гr кo"oГo|х '1 ' rа UI т ' ' , | , le| ,nI ' ' , ' I I ' ' ' \ l 'и

ячcilкп' а 12 lr''raдпlих 6rrтoв - смсцепlIс| oтсчитывaeмoc oт нaчilrlа с'Грil]lrlцll

(рage). Пo!( <сTрall!lтrс!i} 3дссь llопимaeтся o11пoдь IIe стPaн цr rlамятп' a IlеIlPе.

pЬltsllь]li]r pсlиoн пa]!,яTи, RVA.aдрrс котoPoгo зaдaется вllутPrl спецxaлъпои

стpvктyрьr. Tаким o6рaзoм' тa6,/lицa псPeмещaемьтх э.;rемeнтoв сосToитIlз o/]]loгo

пJ'Iи lleскoJlЬких lloслeдoиTeльllo paспoЛo'r{rнlrьIх 6jlокoв. B llaчаJlс 6nом t{дуT

. ' o п v ' . . . 1 . . , ' ц , * . p , l з i н | | м I t | 6 . 6 и 1 F Ы й м r . . и | { у п ' к o в t | | | | , | х . ^ l ' ш е l | | | i j ,

Зaпlяпvв в фаli-! WINNтH' мьI o6пaPy)кliм стPyк'Гyру -I AGЕ-вASЕ.RЕL0сAтI0N (нe

пvтailт; ее с.lшAGЕ-RЕLOсAтIoN' отпoсЯцейсЯ tt o6ъeкTивr1ым фаlixaм)' onреДс-

Леннyю тaк (Листинг 5.11),

лисrинг 5.11. пpотoтип сrpy|qpы ltчAGЕ-вAsЕ RЕLoсAтION

tуреdеi stГuсt .]мAGЕ BАsЕ RЕL0сAтI0N lDII]RD v |tuаlАdd.еssi0!0RD SrzеOfвloсk;I,]ORD тtpеOffsett1]: // ltdссив !пак1r3аEных перr!ецаeвых зЛемeПт0в

j IrLAGЕ'вlsЕ tЕL0сAт10N]

Page 109: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

истинньrй pазмеР мaссj{вa т}рeоffset 6yдет тaкиiIiтуре0ffset l (srze0f8 lOсk s izeof(Viг tuа]Аddг € s5) .5jz €о f(s]zeOf8lOсk))/sr:eоf(!0 iD)]

1386 зaгpyзчlrr пoILдеPжпваот двeнaдцaтъ 1иlloв пepо}Ieщае]\lьlх элеrrll]1lтoв| ]loItа.пPaIспrке o6ьIЦIo испoJIьзyeTсЯ лllшъ oди]i из нп] ]нAGЕ-RЕL 8АsЕD нIGнLol,l(0Зh)' уtt23ooo..-' ',n пlЛадIlиii 6айT 32,азpядпoгo зпачеlll1,l, к t(oтoР;My с.]re.дуеT дooавиIЬ дejrь1y зaгPузчика' B пеpeвoде нa мсжсrrстeпrrtьIrl прorpaпllrrrст.скиr' э1.o <звYч]lт> так:i f ((тyрe0f ls € t t ]] >! 12) == 3 ] *(0 l ' l0лD*) ((туpe0ffsс|t i ] & ((1<<12) 1)) + раqoRVд +(DП0R0) рваsoAdd.еss) +. ((DПI]RD) pваsеAddгеsi . (D1"10R0)рр.€i..гдdd.еss)

l(orда 6yДеTо этo дrлaтЬ' не за6yльTс пpeДваРll1.сЛьпo y6eДfiтъся| чтo (looтвст-стпyloщая стрaпиla пal{ЯтI,l ипtee-т атPи6ут WгitаЬ]e' и есnи егO нет. вPeмеlrнo]tзмснитe атРrl{]утьI с,l.Paнltц'Il oбpат'lsшисЬ к API-фyl|кциI.l v1гtuа]PioteсtЕx,a лoсле IIсправЛенIIя всех гlсpсп{erцaеliь]х э.aeмсптoв вepните ar.prl6утьr rrазад.oс1аЛыIьlс типЬt пеPel4сIllaсмь]х i)J]с]!lеIlтos onl{сallЬI s сlI €пифrIlraц'tJ Ilа PЕфaiiJ], o6сща]0' чтo вы yз}lаcтс liп0Iо rлl1.сРесllo.". B

"^..,,,""',',.,' ""!";.',i';;;, ; l : , |х]] l ; ""] ' '

]nAGЕ. oEL. BASЕ0-HIс-AOJ хP:|||ч, , l ' ' , l .h ' ' ' i ]лР,\ ' I14 t ! ' ' днJ \l ) , | ц ' U I l s e t а х , I l ( l u Ь | i i y , t : l : | | , | в . . . , . j . , я ' | . i i | . ' , . U l г l , ) . l J \ 0 L 1 : l | ' l L с с l ( г l { l ; | | , l с

мoe сЛoao, a втoРoii _ lla сoдeP,{alцуto ]!fл:lдr;lеc' [Ia lЗ86-rrрoцеiсс'paх тiкaя кoм.oиIlацllЯ I]е llмеrТ н какoго сNlЬlсJra (pa3вe чт() сtlеJlиальIIo сo всTpооllIlьINI ас.ссмoлсpoм Лol!з]rРащaеl.ccъ)| Ilo нa llpyтих IIJаT(юPмах ]tlo)кст 6;]ть tl|иpoк0РаслрoсTрaIlella.

ДаЛee lIривel(eI{ исхoдliI'ii Tекст lIрoсTсitлJei.o ДaN{l]сpa 'Гa6'll!lllI,! псpсNlсIцaeмI'хэЛcмel1]oв (Лиcтluп. 5, 12).

лисrиfl r 5.12. Paз6оp тa6лицы nеPемeцaе,'1Ьlх эЛементовn2k-'a]k-relOс(вYTЕ* pR€loc' 8YтЕ *р8аseAddГess, BYTЁ *рP.efeгАdr].ess){

BY1Е *ра9 €RVA: DLi0RD а. b lOсkSize, tуp €х , оf fsсtх i

// 3ычисЛяе| l дoлЬту зarPузкирГ]ntf{ , ' \ndelй := 108хh\n '\

======.====='.====\п\n'рBdsеАddгe5s pPrсfeГАddгrss) i

// пeрeбираeи sсe fixuр oЛOки oдиH за дpyги!Whr l е( 1){

// шЦисЛяем адрeс EaЧалa стpаниЦы ираз$ер бЛокаpageRVA = (вYrt+)(*(D|.10RD*) рRе]ос) b lOсks]ze = *(Dl lORD*) (рRеlос14)

r i (]b lOс[s izе) bгeаki // этO кOHeцJ

// paспа(oesаefl пeремeщаe!ьe зле!€нтьl// вьчпсляя адресa кoрp€{rирyеfiьrх яч€ €крпntf( ,rIlUP BLoск . раgелVА в06llr, srze R06d bуtОs\n \

- \ n .

Page 110: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oлисаниe oснoвнЬlx пoлeЙ

раgеRvA, D lосks i zе) |

fO. (а . 8] d < b loсks]zе i а += 2)

t// извЛекaе[ тliп fixup'd и с €щeвие отнOсительно pаleRVA

typex ' (*(l']0RD*)(рRе]rrс + а)) >> 12|

of f s € t х = (*(юRD*)(pRе]oс + а)) & ( (1<<l2) } ) ]

// обpdбoтка ра3ныХ типO3 fiхuр ов

{саsс 0: ргiitf( \tlt1AGЕ-RЕL BАsLD-дв50L!Tt\n ]|

сdse 3: pr,]ntf(.'\t1IIАGЕ-RЕL.вА5ЕD-N]G!L0W a l08Хh ..> x08Хh\n''Offsеtx + рPГefeгAddГess' offsetх + pBаseAn.гess):

pnintг( '\ttx - not s!]pрOгted\n' ' tyрeХ)|

)) р r j n t f ( ' \ n . ) :// беpеП сЛeдуюlциЙ 0n0кpRe]oс }. b]осksize:

,',Уфl нaкoЕсц-тo мьI дo6Pмись дo кoчlси, oдинoкoтoPчaщeй сPеди тoпIсoгo бo.

Лoт;' TёпePъ пlФlсlo o6сoхвyтЬ' oтмъrтЬся' co6рaтъc,t с IttьIсЛями и кaкoe.тo вpe-

мq llсDеДo;!iу],ь, вы сure lte пеPе!yма-0и писaтьсвoi:i виpyс ? .[Iа ytr | такoй мapш.

6pосor< лю6oе влeчсrlие угpo6ит,'' и aгaвилl,нo| в этoм миPе вьlживaют лишь

,", вou ",р"*л"u""

рaзo6paтЬся в сис,1eмe дoмиIlиpyeт }iад '(eлaЁиeм }.aпaкoc-

титъ 6JlшкllемУ свoему. l{aп,iсать IрaмoтtIьIй и !o вceх oтяoшeнияx кoрpскт.

]IьIй <внeдр!tтeJ{ъ} oх как lieпрoстol и пoкa Bы бyдетe г'еpевapивaтъ пoлуrrrr.

нvlo rtflфoDмaцию' вIlезal1ньIй поPъIв вeтPa oт тaрахтящeгo кyЛepа псpeлистl.ет

n."nonono "'l'on'u " "oвoй

пoрцисй ипфoРмaциolilloгo кoriцeнтpaтa. кolдa oни

соt]ДиllяTся вМeстс' llрoизoйдeт свoсoбpaзнaя алхимичeсIсая рeaкция' Й нa свeт

рoДится крoхoTЕый oргaнизм oгpомпom ки6еpнrтическoro миpa. кoнIсретвo

в следующeй глaвe 6yДr'г lloкaзaнol каI( имellнo oсущeствляeтся вireдpeвиe мa-

llrиIIIloгo кoДa в пoстoрoнниe тeла,

Page 111: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 6

тЕxHикA BHЕдPEHияи yдAЛEHия кoдA и3 PE.ФAЙлoB

()Пil(llLя(ll 'lР()с,]]lь|х Ila]lадoI( IlуPtjс11)вl сi(]l()лllых Pa(.мill.])||Ba'Гl, дo6рyl() ]()'lIо.3Jl]ly асI]ск'Гo|] с]tс'Гс]\{|]()Гo пРогPа]!lмиpoBalll]'| lrаrr llФryIII(lIIlс llil аl]1.()lхlк()o tlрa-]r()' IIодPЬInаroLJrcс (!vIIllaМс]l'r ЛпiIllol]i 60]0пaсIloс,|n' ],j n(].'lчсс|i'l lIpcl|яT.тn];к)tц l l \ пу6n l l r r ' l I (uям nодo6 l loГo P()д i t j а l lTОp tsь| | l ухд( l l i ] lдчJ{ l raT l , с 0пР i IBд l t l | ] | i i

сnо6oдv сn ()ва еlllе xиктo I]о отIlсliял| |l са]!ll] lIo се60 тсхl l()'ll()J.l.|11 вl leЦРон Ля л j11:Ilо"l]lrясNIъlе фаilльl11с ]!|()Гут 6ьnЬ нIr хoPoЛlullпl l]lt x]roхиi\'ll t]ilрyсш 0Laк кotrгIlьIoтepньrel Tак и 610,!огичсскIrс) эTо lц1)rЬc]!J'lloN1а}l час1ll сстeс1'вoзIlаIlllяjlloсyпlil,l не ToJIъкo вPол' Iк) rl лonЬзу, с кI'пllечt{оii lll,roчкoii У rlас y(jl.анов|l-,lсяBзarlмовьIг.цliьrii сt.lм6rloз cще illl'ljl,тионьl 'lIеT ilalадl коIЛIьIотсPIJЬlе виpvс]'l ус.IIсflпlo <сIrNl6xотят> с проrскTоpаNlIll yпак()вщlrкa]\1U исIloJtl]ясlllnх (Dаr:lЛ()вj п()-t lс I{oвыIIu маrrlппaI1Il' о пеРaцrlofl]rы ]\irl сис18мa[1и ,1 l lI0гrI}1]t дl}yгl.lIIl] o61сliтa-\'rI вlIртy?UIьнoгO NIIrрa' oкpу)(аюlц]1мIlпдс

Mсхarlr']IlьI в]]сдPепия ! PЕ.фаl:iЛы вeсьila рaзнoо6разIrЬI' нo гl /Loстvлllо]i.nrr|с.])аTуPe oxисallЬl Довojl],]rо пonерхllостпo, ипieloщпeся ilстoчl]иlоl JIIi6о xaTасlpо(!xчесr{и }rетIo.шrьl' Ли6о o,1l{рonellнo пcточIrы] дa I( тoNly,{l] pасссЯIIьl Ло сo'trr'InlpазЛ'LчI'Ьп ЕАQи Lu|оi.iа1'oв' ПрихоДится' вы рDкаясь сJloва\111 Mа-чкoвсl(( )l.o' Jтe.

' n t д , | , п a F ) , , , , ' Р ! ' 6 н J I j ! : ' ' 1l r п ц ъ р ' U o | а | | j F , с , P 1 ' c , с ' j 6 U ' ч п , , | ш l | : \ . | | . ' ' \ , , , | , I l L I l I j . , 1 ф , " U ltsссx п:Jэcстltьrх сп()с06ов внеДрен!rя' ЭTо сarия поJ1]]ая колЛекцпя из lп{eющшi.

сЯ] вo всяком с1}Чac, в oTltPьlтoii печaтЛ rIrlч€го l10до611о1() сo вPемсн NIs.DоsIrll paзy нe rrшЛo опy6Лlrкoванo' Если вам всТPечаJ'IIrсь l1poгp:rпlпm. !не/.lряюI]IIlе.

Page 112: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

техника внeдреHия кoда в PЕ фaйЛЬL и удаЛeниЯ из них

ся в фаji'll цPyгllrl спoсo5L'м' пoж,LцyliсТц irаiiте о6 этопI знaть. ведЬ тeхrirнеский

, l о | L , ' ' ' , , ' : ( Д L : , . , , ' г | | | | o . | |

Пoтolly rlе воспPиliппlайre irTy гrrаву t{алn()l\r}, этo вссгo,rIIlшь tlyTeволIrто,rь пo

I{иoсрЛе l l lllескor,I стPalIе впpryalъIIoгo I1l1Ра

Il1атсprrа:l 6улст пнl.сpс(]eIl Ire тojтьIio сllсllIllлIlстav по 11нфoPi\taЦItоннoii 6сзо.

rlасI]oс1.11' сllецI]аrrlзnpYкЛцпltся на xдorтllqЛrкац r1 Il vдl'll('ll|l'j nпРyсou' но

rl рaзpa6oL.тrткаrl пaвсс]lL,tх 3апolт ]io]tgсpТtI()го Tппa rl yгIа]ioвщ11кoв' ilтo Л{е кa.

(:ается rrl llry(0lLj ] саTe.nеil,, Гoсrn '(a пypl lстьI, дil lloiiI1лте )ке Rы нaконсцl ч,|l) eсЛи

чс'!овeil заi(аJl(,r цO'll'lо папllсатЬ вlll]ус' тo он сгo lrаllл|Леl l lly6.riпкацllll noдоrr

l J{ ] r r ) l )одaпа этo n . l r . ] ' r lо вЛ l t} t loт] AI IT0р нI l I l чсм) ' r tе iц)U lЬrвaeтr l н l1oТ l l с l .o Лe

o]'l ()BitIrlвасT, эTо пР€рolllт]tfiа кaрaтеЛьнЬtх оpГilll.'] B,taстп] Pс-1ltt,tl()]llьlxдсяTсJеii' llv п r]оPаnllс'|on uaлollсц. lvlоЯ ,{с зaдilЧа l]а[j||()Го скPol1нсс _ lloкa.

з r1Ь. как l Iе п l 'T l l r r r ]eдреI l I Iя суцсс1 l} ,ют ' I lа чTo (16рr t |L r ]ь r r l i i \ {a t l r l с l l P l l l l oпскe

rl(х-Гo!сЛlriсl{) ]i()j(r r{аr{ oryсм(,|П1ryoв.rТЬ d)tliiJ, уryо6.]JспllьIii I]с(oРрек,l]ьIм

К ЧeMy пpивoдит внeдPeниe

цEли и зAдAчи x-кoдAПсpед Х-ltодot,l с.t oят пo п{епьlrrсli illсpеTРи сеpь€знЬlх 3аДaчrt: а) Разl'естить свoе

Tс,.rO вllyTРи пoдollЬl,|lloгo фairЛа (иJrr1, каir сiLазa[ 6Ln 1lсЛевпп, с"!rrтъс]Я ! r]иNl

в а''rхlrмrrveсliом 6рaкс); б) пеPехватиТl, упpaв,rение дo начil]'Ia ]]ьlпo.nнc}lия oс.

нoвrrой прoгРaNпlьI иJrrl в llРoцессе онoгo; в) oпределить aДрссa API фуIiкций'я{изне]]]rc вах]lъIx дJlя сo6стRеtlнolo dryllкциoIrиPованиЯ,

Page 113: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 6. тexника введpе!иЯ и yдалeния кoда из PЕ.l,]JdиЛoв

N'lстoдoлor.ия перехвaтa yltPавлellи'I U oпpсДо.ne]тr1я а-lpесoв API.фyпI(Цllli y)кеpaссllarрxваJaсь на\fи l)aнсе в <.зап]iскaх ]> (гЛaвьr <Бopь6aс wirrdоrvs.впруса.м1r 0tlьIт коnТpTeРр(Цxlстичeсхпх оltсPациi]', <.вIiрусьI в UNIх' иЛl] Ги6еxьТtпiLrl]1liа II' rr <oпrrr6лIr перешoлнеrlrrя 6yфepa извно и пзнyтрп>) и пo'l.oмyз/-tесь }rе ortrlсьIваeтс,t' o.pаI1]1чIпfся тсI'j чтo нaJlоlltlипI читатеr.llo oснolll lьIс пIo

Пеpсхвaт упpaв".теrtrrя o6ьr.rllо oсyrцсствляс r ся сJе]]Yю]iпll{и пv]ями|. пeреусТaнoпкo]i тoчки вхoдil l]а Тсrro Х-rrода;. ь l \ | р р | | | | l ' r l B с l ( { . l , о l Т j ' , | , I | ' . | | | ' . р r \ ' , J i l '

Х код (rсTсстве]п]()' IlсpеЛ lrсpсдaчeii упpaвЛсIlпя X.ltо,,1дoлпerr yдaлитl, кo.l'аllдуl вoсс'],анoвIlIl Лсхoлi|()с сoдepжl{lloе ЕР);

. liePеустnllовкol.I пl)('lз!оnьl|() взят()ii xol1аr|,цri Jl.lPlсALL llil Tс,1о х-I{ода. (: rlo.слe l l у roI ] !е i i | |сPeдачс i i ) 'ЛPа l ] 'цснI Iя J r | ) оP] l г | l r l аJп]Jп) l lY a ' t (Pссу ( ) ,1) r ' I IP] l cN l l ] сraPа|t,urPyеT,чтoх кrlд1вrю6ruс удrс rcя зall<lirvuи r.,vrryав,lснпе' llсl зато о6сс.I iе ' I r ! rает e . \ l у (bеIJ ( )N lся l l .Tь l l ! ]o { ] lЧ)Ь l J} loс]т r , l t l l aкс l1 l l a , l ]n lую i l i l |цЛrJ l с i I r l ( )стьот а|l,|l!вIrРусoIr)i

. J\loлl.l(рlrкaIlli01l о,llll()|о IIjIli Ii0(кoJп]liIlх i].lсil1(]lt'l.oп 1n6JIl{ill' ll11rюР'|il с цеJl|)|ol Io/ l ] \{с t l ' l RЬ| l lЬ t ] ]ac i \ lЬ lх ( J )yIJкrLI l i i с l l ( ) l I l l j i сoб( l .вс l i I l ь l i l i л (э , |o i l тсх l lоЛoГ l10 i iD oсll()Пl]olli п()"'IЬзу0|rj,| (lтсnс'lи])vсЬll y[lсjк) (lкpьiRal()]]lrle св()с lD||сv|стDис

o l lрc/{с ' i | (x i l l с а , lРссoJ] A|) l rDv1J a l i i l )бЬ lЧ lю o( :у l l LссTЛЛ' tс ' г ( , , ( l j IL 'Лy l ( ) l l l | l11] l l l y -1яlll t1i

. поJ l с j rом l I0o6х() ,U]\ tЬrх ( )y I l lo l l t i i Л ' |a6n|| | lo l l ] \1 l l ( ) l ' l i l ( ) i l i i J l а .х l ) i lЯ I t I lа (6удьTeгo1.oвlll к 1,o]\1у' чТo 1nм rrх rtс окlrrкl'rсl: ,пlrбо tl1r(iвЬllrajiГс(:Ь 01. вlle]Lpсul.tЯ,Jiи6o l Iс ]|oJI ь3Уii].(' дPy].уl0 сTрaтoгxlо поискa)i

. по1]сltоli Loаdl,jbгaгy/GеtPгосAddгess в т:l6i||цс Irrllк)]]].а 4)аiiJla.х()зяIlIla с rIoсne'LуюnllIN| ,l]\Iпо])шIPoла|ll]oll всс'х |Ioобх(']1llltьlх 4)уtп{lLl1]iIlруч|lуIo (6удLTсго1l)tsьI к T()rlv] чТo ljТlrх qJl.Jlltцxl:i )r Tа6,trтIlс lмпо])Гtl тl1кяrс lre oкая{стся);

. пl)иI1ЬI\! вьl]oвоll API фylrrrц]lii п() r!х aбс()'Цloтпьl]!] аr.{рe(аIlj ;к(l(lTtrо пр(ЛIxсar'lrьlI1 !пуTPll х'rrода. ^ltl)сса фу|u{цпii кЕRNЕtз2'DLL/NтDLL.DtL llспoс;o,ulflьI п NlсI]Якr|ся от оl1lioii nсРсrl]i сl,lс1.or"!Ьl к дрyГoii' а aлРсса UsЕRз2,DLL tl tsссхост;l.ЦЬllЬIх |lo]]j]зoвa1.с"!ъскllх 6п6Лuoтек ltсlIoсToянIrы Дaя{e в РallIrах оlцIoliI(oп |{рoтl lol1 сlсте]\1Ьl и пaРь]1PyIоT(l,i в з:lв llсIlllo(lx1 оT hilа8e Bаsc oстаЛьньIхзirpу)lLа"дMЬrх 6rl6nloтек, xoэтoму rЦи вссl.i полуля1,lloстli дarrнoто сrrосo6atlo.Iп,зоваTЬся п]\1 ]loп\(j LllNo тoЛЬкo в о6paзопnT0-1ъп( !xoзl lаtsателЪ]lllх цeляхi

o до6аll,rснпеlr в тa6лrtцу ппlпrrpта пеo6хoдltмj,Ix х{toдi. 4)ун]Lц11ii (иl!п, кaк]Iравrl'1o' яnЛяIrтся Loаdli brаry/GеtPrосдddгes s' с пoNioщьlo кoтopьтх l{oяolo вr,t.тапlиTь I,lз lt(цР сllсTсillьl ll всс oстaJtъньIe . дoстaTочrю нaдe'rllь]ii' хо'].я и слIrпlttoпl зaмстlrьrii uloсо6);

. tlе]тoсPсдсTIreItньII' пo]1сltом фy}rкцlй LоаdLibгагy/GetPгосАddгess в памяTи.xoско"lrькyKЕRNЕLз2'DLL прoeI]иPvетс' ]raадРсс}rоe пpoстРанство вссх пpoцсс.сoв' а ес 6азoвl,1i,l а,IРес всeг/la вьIрoвнcrr пa гPаницу в 6.4 К6aйт' oт наi всеr.oЛиr Ъ ц)с6yеТс' nрoсканиpовать пeРвvю пoxовиllУ адPесJ1oIo пpoстpапства

Page 114: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

reхника внедpelrия и удaлениЯ кодa из PЕ'файлoв 115

пPoцсссa па пре,'Iмст xorrскa с rнатyPьr tlz. Если такая сllгнaтyра паri/ieнay6ежДасlrся в riaличии сr1ПJатypьi PЕ' pасnonо)кетlноii сoсNIсщениеM е ]fаnew

oт нaчfula 68.]noго адpесn загpузкn, Есrrrl ('I.t ДеilстuитeJьнo llрUсyтстlyeт'атrаЛuзuPyеп{ DAтA DIRЕсТORY lr oпрсдсnЯе}l ililрес та6.11Iцъ1 эxс]loрта, в itoтo.poй тPс6уe'Гся 1lайтu LoаdlibгаryA п GetPгосAddгеss, Ес"1lr яrс хoTя ftn однo из

эт]lxус-цoвl]il rre въIlto]lllя e'Iся' уllсI{ьrxасNl yкаЗат€..1ъ lla 64 ]t6а]jт и lioвтoPЯ.

сj!1 9сю rlРоце/]уpy заtloвo. Пара с0o6ра'кеllllii R поruolць: llpсжllе чем чтo'тo

чI1тать ]1з ]lдItяти' въIзовx1с l!уIlrLlпnо IsваdReаdPtг' убеДnBппrсь, что !Ьl впРaвeэTo дer.Iaть; гloмtIltте, чтoWindows 2000 Advanс0d Sсгvor lt Dаtасeпtег Sсrvсr

пo,(ДеРnrllвают зiLl.l)уЗoчньrii IlаPамс'Гр /зGв' пPcдoсТaвЛJttolllljЙ B РаспoPя,tс.' l | , l | l j о , | с . с i ] | С ' ' i i r о r ' ' p а ' ' l " r , Ц , ' | | | | | l \ . , t r , j , , Г ' .ваr| ия нa 1 г6aiiт !trсРх; лля yп Pоllсt l l|Я отoлiдсст!"'lсrrll' КЕRNЕLз2 , DLL пIo)t!!lollспoJтьзoваТь lюJLс Nаne RvA' содср)кalцeесЯ в Еxport Direсtory таblе и указt,гваlorЦrс tlil l|Nlя д]lllаnlrl.rс(к()ii 6п6,1lJoтспl1, oдtlaкrl orro моrкст 6ьlтt' tt rroД.

лo'o1Ьlм (систеNiньlr"l зll|pY]чrt JL сго l.lГIlоPrD!с r);

. oIlРедеJiе ' l l tcпf aдPL'(а (l)у |i кlUl l I кЕRNЕL32 | exсeрt.hапdl eгз' I]tl к()Т(шyloуказьгвaст о6p:r6oт.rпк rr'рук'гyРllъlх ]Iсl{Jlкl(]|l||ii Ii() уllоЛчaIll]]o' э,га 4)yrlftцпя tlс

эl.сlloP.ГиРyrтс'l ядp()]\1' oдIlа]{о |Ipllс\']rjlrr\lс'r Il отлаЛoчlloii Tiiбjlи,lc с}|liвo.

J ' roв ' кoToрy|1) мo)к l to ( ,к i l l lа| .J l с се1)ПсPа httр|//msd|.m сгosoft 'сOm/downLоаd/symbo s (вllflru;Uiljсl сrрвср lrc ll()'lдсP'ril0аст ll]roс]\1o1]) брiLyll.'I)омl с нI1I1 pа-

6oTaюT-l,o.ЦЬкo lloсЛеi(illIo вcр(||||| N'liск]s(rli l({j l01 ])сЬuggсг Л NuМе,,4.l solt.]се). э'Гo дсJl01.с'| l.ак: i]ov еsi ' fs|[0]/lо.sd/,lod5d' i'ioсJ|с lrы1()JI1lсl'lI'lя кoДa

рeгllсTр EAх сolLoР'( l Iт адРс(, ]lФкll, ilI1ii |.]Lс-ю R г'ц16I',l.э кЕRNЕLз2, вь]РaвIlивa-eм eIо Ilo гpа!Iицс 6i I(6aiiт ll llLLlсм N'\Z/I)I].с'tl.IIil|.уP]'ll l(?ll{ l|()l{ai]ilIlo IJ IlPс-

llЬu(уlllcNl lIуllк-rс ()'гo Ili]ll6o.]lcc кoPPсIr1Illnii lt lIiLдс,rnlыi]l()|осo6l]oис(а'вся-. | с . | , , ' ' ( ' . ( . \ | с | | , , ' L N | ' r i i | , \ l 1 | n ' ' - Л ( | | | | | , ' ) :

. o I l р с , L c Л e I t п е N l 6 a з о в o г о a д р с с а з а l . D у r l r к Е R N E L 3 2 . D L L ч с p с 3 I ) Е в :m o v e a x ' f s l t 3 0 h ] / m o v e а х ' I e а Х + 0 с h ] / m o v e s i ' I e a х + 1 с h ] / ] o d s d /mov еbx' Leах + 08h] 6llз0 в |,l ii кo,'l RозвPaщa.Tс,l в Pс г'l(:тPе ЕBx ( э'Гo oч 0 uь

пpост.rii' хoT,l и llella.I]enlнъlii llPиoм) r.ак l.aк стР),кTурa PЕв в nt()6oй пlоNсн-ri!lo)](eт изl{сни'r'ьс,Il }t ]lа nсе RPc:"tя суrr(есIlJоB:utl,Iя Wilrdоuъ оjrn уn.e NIeняjliLсь пo пleньшоl:l tlсpе ,цnr

Рaзa' к тoмy ){с PЕв eсть'Го,1ъrLo D NT);

. uс]lOJlЬiloЛaпl]е]\{ паLivс АРI оlleрarIIloнноii с]lllIсNlЬl' t]iиI Nloдl]i]с-l.в11с с ]{oTo.pьlll oсу Il leстIrjiяется Jru6O че])ез прсрЪlва]rис INт 2Гh (Wnldows 3,х' Windows9х) ' j!и6o чеPеэ l Nт 2Е h (Wiпd о\t s NT' Win(l0ц.s 2 000), "'т116о чoPсз м allllrпнyюкoмalI.I{у sуsса]] (Windoч,s ХP), Краткиii nсРсчеllь осrlоrrньп фyнкЦиii мon.нo xaiiTrt в InterruPt LisL Pаль4)а Бpavна, 6cсll]Iaт]]о Рeспрoстраняемoм че.pс, ],Iлтеpпeт: httрi//WWW.pobox,сom/-rаlf/fi]es.him], этo паи6олес TpуДoeNir.ийи rlaиiuепее падежньIii сlloсo6I з всeх. N{a.lo-t.Ol.o' чTonativeAPI функции tle

/]oкyl{еrrтиРoвaпьI п пo/.iвеР}(сltЬl ] loсToяпl Iъiil изNlеЕeни'lIl, Taк o]т11 еlцe Ir дo6eзo6разияпримrrтивrttl (всмыс.ne Pсaxшytотпрoстейшиенизкoуpoвпe.вьIe (l)упкЦIrI']' нспPиroдllьlе к нeпoсрсдсTвсltlloпo, I'rспо.nьзoвaнию),

llринципьI вн."ДPенIш х.кola в РЕ фaйльrс тс:сн[rlескoй Toч]iизpеI1l'tя пpal.тj]чески lIичell ilе oтлtlчаются oт ЕI,Е, развенто пlrснами r:irуxе6ньrx пoлей и стрaTeIиeii rш ]lfoДrlфrп{аЦlи, o]rrIакo дeта.nьньIri aнаJlr!з спeци4nrкащ1й и д]1зас.еlll

Page 115: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

блирoваrпre сlrстеlпi{Л o заГрузчикa IrъIявJlяют Цельп:l плaст тoпк.Jст€iI, ,l"дЙзвeст'| | | ' | \ | ' , . д | p o ф " . с | | J l n Л а \ j ( | j o в ' я ' , o I | . , \ l | ' r , l ' | о Л | | | l . , - п Р . T н L , l v | | r | | P o l e | , .TоPlvпaкoвщ1lк Ile из6erкал t.pу6ьrх ollrи6()к llpoектирoваrluя и Peали3ацnII)'CyцесTвуloт с-'lедуюппre TrlII;l (мeTодьI' спoсo6ьr) rнсдреl1ltЯ,1, I]aзмсllеlurс х кo,1а xoвeрх opllгIlllil]tl'нoI.i прorPа\'iиы (тaк'{с }rазЬrвaсмoe

lrxTlJpaнпеI1),

2, Paз]VIеlцcJiи€ х{roдa в свo6oдIюм ;uесте ttpoгpa]!1NlЬl (!lIITсгРaция)'

З, дollисьlвal]ц€ х{oдa в нач;Lпo' сepe/ullr.v lJIи кotlец (!аtJJra с сохpа}leписмoPпг| lнальtlоГo сojlеpжLt11oгo.

,i. Pазl"Iеlrlcние х.troда впе оснoвlIoIо тслa 4'айла lioситeJIя (нaIIрIlrvсPlr\1ичеflroij 6п6Л11oтекe ],l,l NТ}.s-Iloтоке)' за].Рyжасмoгo <гo,tовoii'внrnрсl{Iloii Ir фаfiJr сflосo6aп{и 1, 2 и"Tи 3'

х кoда'

ГIоr:rroл ьку спoсо6 1 п pпl,()дl,l l. IL пеo6paтпlI oii xoтерс pa6сrloслосо6t юсти rlсхott.llоij Лpоl.ParIУЬI tt Pсa,IЬ,lо ]IР1lIlе|lястся ll)Jllllo U lJl'lpyсах' здссъ olt t{с Paссмi]T.Pивaети. Bсе о(j.].аJU,пlnc n'цгoРIf|]\!ЬI вIle/LрсllIJя лrllнoс'гьto rIлrr.rастrгlпo rl6pа.

тPЕБoвAния, пPEдъяBляЕМЬ|E к x.кoдyХ.коlt с.ltоДус,r. п роeк'I.llрol]aтl| ( y'lc1.oпl вссi.i жс(.'l.l(oстllс]\1ЬIх llcизl]сс|l|оli и lto/tЧас Oч(|lЬ al.pессI,lRlкJi] сре/{ojiroРv'O оII буд( г за6рoIIlсl| (в сlпnслc - впc/(Рol'),

IJо lIервЬlх' Х.l{l)ддoJDкeIr 6ьrть полrlостьrrl rrсpсмсr]l с11j T() oсТь сoхрillr'ть с I]olop;r6отoсlrосo6нotr,r, незaxисrrмo оT 6iвовoГo адPесa Заrpуlкrl, Это ;кtстlтгаerr:яllсII('Л,зolJа]]rlсll оTЛoсrIтeJlЬll0й адрoсацп : olIpсдe.llrlв сIl()е тсl{ylцее Pасl1оЛo.'(еIlие вьIзo!оl1 ко]vlаltды сALL J+5/P0P ЕвP' х.кoд сN'oжст прсо6разonar'ь смeп1e.lIrUI вlrvЦ)I'l свoeг() Тcла в :j4)фсктпBtlllс а/{Ресa IlPoсTьIiv сЛо)кc]r]1см Ilх с ЕBp, Pn.зyr]сстсяl зТo не едllнсTle]lllilЯ схellа, сyIцeсTвуют п l]рvгие' оДrакo пtьr llс 6yдeмIla l1llx oс].анaвЛll8lr'!ся' пoскoлькy lt PЕ-4lаii-lаl' oll1{ riе llNlсют llil ]tllUlс]illIего

Bo.втоpьt х' гpaмотt ro сlLoпстРуЛрo вal1r1ьIii х.rrод нrIl(olда fle мoДиф1IцЛPvrт с]roj1ячсйкrI' lloскоЛьку ]lе зпасl'J иlfеIoTся ЛlI у нсго пpaвa па запись lr,,rrr нет, Стaн.дaPтшая секцltя кода Jшшejla aTpпбvTа I|jАGЕ-sсN l'iЕIl-l1lRlтЕ' l'i IlРисBAlrвaтЪ eгoIфa]xrtr не,кo'цaтельltol так ка]t этo l10 тo,rьк0 дсl1aскиpyeT х-кol{' jlo и снюкaсTrlмNIуI'итст прогpаммЬl'ltoсrrтеля' Pазylteeтся' прl'l внrдрe11иIr в сеl{цию дaIlllЬlхэTo oграl1ичеllпе тсpяет свoю aк1уаль]IoсTЬ, o/.lпаl{o дaЛeко нe вo !сeх с"]rучаяхзaпI,Iсь в сеl.цию даlЛIЬlх разрex]еIrа' oптtIмизм этo лрeкpaсlloj нo пpoгРal]'IlIlс,Г Дo/'i'(eI l j]ак"'ralьlваться пa напxyjlший ваpиант paзrитIJя сo6штий, Pазyп{сстся. i)Тo с]IIе rI е o6oзна.1асT, ч,Гo х.кoД пе пlo)i(ет 6ыть сaпloмoли<bицrrРvющиlrсяlгilr fle дoлкell NloдIiфliциpoвaтЬ ниiraт.ис Ячеilки llallяти вoo6щеI К eio усл-.,.гам]l сTеl( (автollaтическая гlаlIять), и диIIaм]rчесIliUl пап{Я1ь (кучa), и коЛr'ЦсвойсTек сollpоi{ессoРa, I'акoнсцl

,ГPс6oBaUIlii, лрo/l,ЬяI]Jя.чул{cРoдIlогo кoдaj 3 ко-

Page 116: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тe\ниtrё внeдPeниq и удалениЯ tоAa из PЕ.фaйпoв

с(|'ll]l suЬsуstеn > 2h ll'(jr subsУstem < 3h' oTк1lзЬIвaсnlс, от вrlс,1РсlIlUi;

l ' J ' l L A ' 2 0 0 1 ' l , | , ' s д < 1 0 0 0 | ^ П . 1 l U ' . l ' 1 в l 1 | ' , . r г : ' ' | l с l | | ] t | | U , i l Л v r I | ] P

l 1 l l чo l .O | | с l l l | с / l l I ) я ' l ь i

Lt7

ts-тPeтьrтх' Х ltoд дoлжсн 6ьtть пРeлелъно коlrпактt{ъlil, lloсю.цьку o6Ъeм JтРoстpalrстЕаl nрJ{г()/цilirго дjIя вl]сДpснuя' ]ft)](час oчеflьдаже oгPаничсti (vo,flнoдnже скa-зaTь'дРaкoпllчен), L1мсст сl1l,lсx Раз6rlть х пor.l Ilа две чaсти: кpошечllь]й 3ar.pузчик l1 lD(lтяженrrьlli r(Boс1, Зaгl)уJчик rr)лllU€ всегo paзlleстиTь в PЕ.заIoловltе]пu Pеrу"']яpIlоii пoс".lодовaтсЛЬIr0сTл i]llутpи фailЛа' а xвoст с6р0сить, oвеPЛей]L'lx NT!.s-rioтorL' i{oNI6ин]]pу'l тсNr саN!ыrt Р:Lr.nпчrrьIв NtетoдъI вIlсдPсния.

llllкol1сц, Х коnrrе rvioя(ст Ilозвo'ЦиTь сe6е lrа/IеPnrrlватЬ yпРaвлrrrис 6о.]1сс чем нttнссxоnЬкo сOIr,ш' xу oт сильi десятьlх дoЛсll сс1.у]lдьI' в пpoтrIjrпolJ слyчaе ФаI{тq | | , ц ' e | | | l ч с | | n , I l I l l t | | , l ' \ l , t i ' r , р 1 , ' . r r r 6 - ' r ' r r , r ь r r u r , ' p " | | г U в , I | ' | | U , 1 Ь r n п 1 | Р.ця' l] €ro лoп"vсIiать llt1в кoс]\l сЛyчае rrеnъз'

тЕxникA вHЕдPEния| , ' ' . ' , l | , ' ' . l ' , . l ' ! B q ' , i i . | | , ' ' r ' } , | | | \ l r : " , . ' ' ь ' a в r o r r , ч r o o r ' ' | ' , r в | | ' , I l ' ] L | l i ' . ]

ПeIх)п{' пe содср'{llт ltс(Til |rral)TIiьlх та6лпЦ u DАтA DIRЕстORY дo(ТуUcIl ](Ля пro'

Л l | (ЛIкапJ l I I , П| r l l (у l ( ] ' Г r r | |с oUсРnee l l кPа in l с нс}{сJ lnтс l l ь l l о ' l l 6с i t ( )ф6оj ] r ]е i r6х0 .

Л| lмoсr l I в oвсрr rс i i l l L l j1 ( i )a i i ,1 JYчII Ic l l I IЧс l .о l l с в | |с ]LряT| ' ' ^ ссЛ l . | l J в r lедРЯть l тo

l lP l , l / ] t ср} l ! l l в i L t ' ся l rа l l6оЛе l r 6сэ6o j l с31 lс lL l lо j i с , ryn]c r r I I t j l е / IРе i I l i я . спoсo6a 1 '

ЕI I rжс l ] сс J ' l I l , l .р0бо l r l l l rшr p l зо6ра l rь r r lo lрo6t tсс :

. ссJ l l ' (1)а] I j l р i l с l l ( r . r ] (D l ( , I l i^ | |oс l l ' l с ' l l с ] заn l |п l l c l I l toN l 01 .з i l l I l1 ( l l l I l , J | |{ у | |ас l |едo.

сT i l l .оч] lo I Iра l ] ]Ц ' 0| .o з r l l | | |с l l / . |1 .с l т l l , I ( l l а | ]р l |мсР ' ( ) l l i i J забnoкиPо|] ; t J I . l (Py .

г ' I \ J l ]ро l l с (сo[1) ' о ' |к l l l Inв l l сN|с , l ( )T l l I l с / ' l рс l | | l ' | i

. сс]lII ()lii-l] |I]\|0с'l. it,ГPlt6у1,, i]а|lРclllлloIlllIii Nloди4Л]кilILt1I(), "ци6о сlulNlilсм i),гoт

llТl)ll6y,|, Jlllfю oткllзЬ|вllo]!lс' (rl. ]]lllj,(рelIl'яi

. cсJ l r l фt l in l ЛI1поРтпрyс] . on l l y lu l l l uoскor lь (О ( l )у l l кци i i l ' I з hа 'd l | l r /uлп

nФsкrn|'еXe' or'кilзЬlвilсl\{ся оT впe/'1pеlIlJя

. ссJrп фаiIJI mдсPжr|r.секцrпо INlТ,оп' IroзNio'(но ' ,1 вJtяс-|ся дРаи всpoм yстроЙ-

ст]lа' :l l]озпl o)tшo' l'] l lс,t., lr(] 6e] o.о6oii пуn(льI лyч шс сIoда ]rичol.o flс вl lсдрятьi

. сс'lIll DАТА D]RЕстoRY сoдcP,кllT ссln]lки lJa Ta6лпцьI' ]lспоЛьзylощ'lo qЛaзичс.

(]{уro :Lлpесaцllю ' .ril t6o oTкаэЬlвасI|ся 01. l]lIe/lрerпIя, ЛIi6о пPllншмасr] llа сс6я

о6яinте".lьстrra кoPРск,l.}rO <pilсll(),Гi)оrIlrгь> псe irерaрIlrю стPvкrvp дallllЬrхl1 сl.oррeктLlровaть фllзичс((rlс аjrРесаi

. ссn||AL]GN UP(LS-г off + Ls.г_sz' A) > sj ze0fFi ] e ' ф:tйЛ' скopее вссго, сoдер.жttт ()верJreii' l1 внсдPяться в нсl.о Ilo)llllo Toлько лo lleтодv 1,

. ссrtx фlBnчeскrrii Рaзп{еР oднсlii xj1l] нссli.Jx!].]lх сeкЦItй пPeвьппaет виPтуaльньпi на вслrr urrtty, 60Лъ]lЦ4.) rl.nп РавI'yю FA' Л ItPlI этorl виPтyа.цЬxьlй Pа.з'\Iер rrе рав€н ну.J1lo) lloдоrп'тIiЬrii фaii-rl сoдер'{ит оверЛсlil дoпyсмя-reNi сa-}Iьпr испо"!Ъзoвaнllс вllсЦplrшtii тojtьт.о Tппa l.

Cледует пolltlлть о нс(16х()ДиN1осT'l вoсстаповлепIrя атPи6yтoв фа]inа и вРеr!le-flи егo сoзданIrя' пloдuфrlrraцrl,l ).t ]l(х]ilеiЦlеro Дoступа (6о.flьIxиtlствo разPa6oT-

Page 117: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

118 глава 6 . ' е ' , r d в l едpеРиa / ' дd J е | i q \Oдa / J Dг .qа / l oв

чrrкoв olpaничIJвaеТся oднI'rl' -!ltrnrt вPепfепlj}l lloдll4nrкацrlи' чтo демаскllрует

ЕсJtl lloЛе коIlтроЛl,}iоiI су]\ill],l не ра]]]Io ну,rro' с-цедy€т Jlи6o oставjtIЬ такojir!аi1л в поltсlе ' ;llr6o paссчrl1'аl.Ь l]oвyx ) xol]трo.r| Ь l tуrO сv\Jму сaп!oстоя 1.с.]] ьriоj rla-tlpxl'ер пу1еIr вьIзoIra AРI.фvнrrrItj}J сheсksuп аррedFj ]e' o6нY-.lятъ кoнтpo,]ьllуюсY\l\{vj кirк эTo де.na]о1 tlскoтоРьLAj каTсгоРпчес]{II нсдоllустr]r]оj 1аx I{ак прЛ ак.Tивнъl)i (ерТифIIкaтaх бсзoпасJl{х:Тrl oпе!aцl1oннaя сl]ст€Nla пРoсто от].а)fсTфaй"1у в зilгPvзILel

Епle lie(r{o.!ько соо6Pа'ксflIliI о6|rсl.o тIJпа. в llос:lеДirсс вpепlя ясс чallle и ЧащcxPп\оЛlf|сЯ сTаrrкпBатl'с}' с IIсп1lJlIlясItьrl'Il ,l)lliji..]аlлr LrуДorrпlIпio1.o 116ъeNа' l1с.l]tjlol'по llРll6.1nтL:Lrolll('foсЯ x оTnIelJiс в IJ €(]l{оjlЬxo гriJl6tlilт' o6рil6aтьIBaTl, |n.]{llх ilо]lс1.]n)в IIсl кvсJ(rNj -. IlvдJJо ll сцо'(IJ(). Заr.pY'{атЬ зссь (|аiin цеrrr|rcr\l.с.rll1шIioп| \]сд1]снrlo' /lа 11lloз]ror1l|Т \viпdo\\ls в|nдс]iliтЬ 1.аxoe к().ll]lчсстllo ]|il]!Ur.'lll I ПoэтoN]у llr!!сст сп1ьl(-ц восп.]Л|iюваться (I)niiJlIllпl. IlPoсц1Ipусi\ll,lillll в llам'Tь(Мспогy N' l lРле. l Г i1с), улрlвLrясr lъrьtrr r l lyrrкцrr lпrrr с г е a t e Е i l € | l а p p i n g]i Hаpviel,lОfFil e/Unmаpvje*ofti,le. Это Ilе Tоnьrto YпсJ]lli]llва0T l|Р()llJвод]rГcjlь]lость]упP. ) l J (аc ' r r lPогPаN11| lРoваJ l l l е j | | ( ) | l .TI i J i11|| '1 l lрveт I lф о] .рап||ч( ' ] l ] l , J I Ia l rП l ] l с . Iь lк )доIlvсTlIrI ii o6n0l|' кo,|оPI)lii TсllсрЬ l\(,кс1' jLoсTJ tr.in'L' ]8 )ксx6iIiiт, чTo {tr)отвст.ст r rv( " l 115292150,1 ( j06 8 '16 97t j 6а i iD ' l { : r rL ; r rр l l l l r r r . можr l r l oц lап l l I I l lTL PnзмeРo6J)а6| r l r i в l l0п|| , |х ( ,а i i ] l ( ) | ] l | l : ск( ) . r | r i ] l I lN l l | r l с | i l ( ) i l l l r rп l | | ' . ! с ] . ] ( ) ] ( ) r I l1Pvс i l fЬ l \ r l I в o l Jс -] ) l | ] r ' в | l ь l i i 6 \1 l )сP I l с | l ( ) ' (яLr r r l ь r r r l к l l r rчссr . rз r l <r16r}I i ]oчr | ( )L r ) ' к ( )д i l к 11 l l l 1л}IyN|у (к l t )P i ln 'Г l ] . ! с 4) lL i i ' l i l r \ l l I oт ,1 l i l l i iT | | | ]ь r r l Io ' l ! r I ] ( ) i i [ |o 'Г ) .

пPЕдoтвPAщEниЕ пoBтoPнoгo внEдPE[|ияl l , |O l ] р |п |Л] t ак ( l | ) с j ( l | с r ] 0к )1Лn t , iU | х I IN l l l ] ( l l i ] n1 ' а J l l ' сЬ ( ! ) з ] l i l т l ,

a - l l I )N l i l l ц r . у I l J 1 l l с р с i l n l n r ] j I i I l ) a с , | l r ( ) P l | Гo J IЬ l р1 l с ' |П (Ц , l IO ]ц | ( i i

в . я l l в с с . . l l х o l ] | ( ) | l l ] | l TЬ l ' з | ] l f Г с J | l , l | ( ) i | l l l l oча ' r ] l ] : ] t i l д : { l { а i i

T(lсЬj n trспl вьl сft) 6yд.к' хplrrrIrтьl l.1 хoтя r,rьмaгсст тaкl l !Iс 6ьl'l1 llJ(J6PеTtll' сro It'lся |lс vilеPJlll ll дo сltх ]|()Р буЛo.

Paж i i 1 . l I r 1 r ' l в t l р у сo I l l l с аTс " l r с l l j н Ln I : ' п l | ] ] r l r ощI I х l | д с l o лP l l п .цxпIlа,lin Io rlсllе,Гeк1rЦryоlIoГo нrlp!'сil' мОжoT.nп (yrrrсс]тво-

nlтl' тxк()ii вllpvс х('I,l 6ьI п nрllIlц1lпс? ll сс'lп дx' |O l{iк (xI сIlo'{eт (r|nlчaтъvжlr пl |'l)l I цl lрou] l ) |r,lc (hаii.пьl oT сшlс пе ]а pll'(.r lr пn rr ? B пр( ),|j lвrtоII случllс зара.}icrпl,r о?illloгo ]l т()Гo,кo фаiinir]удут пl)()uсхoдпть ]\JItoгol{РlLПIо] n пanР'Iд,IlI1 l]tl.!1.oчllсЛсII11ьI. (.rпllll вIIрусо]r (Iloгyт r,иPl]о сосc'lс|вoвit,Гь дPуг с дрyгoN.х'rroд' сoxрilll'lloUlпi ])а6oTоспoф6нoсть дn'io IЦIl ]vlnoIoкpaTlloN в]ieдpс]rиrlj||,dзЬIBАк|| ре]unа|jеr|ъньl', Рer]Til60"1ь1]о(:1Ь ]lрсдъЯ]]]l'сr.'(eс1'l{lrс трe6()вilн11я какfi alrгоРи.Г\lalj ull(Aдlr(rx]я u jleJlorf' тllli lI l{ стратеl.|lll ]loве/1еlllЯ х юILn, oчепrl,l.нo'.lт() х.l{оr'l. вllедPЯю рJifu' в NIs DOS.зaгц.lrку' pепта6сJ]ь]lьli\ llсЯвЛяется:к кдa' ]loс"!едYloщая lioп]rl зaTrryaсT (116ой пPсдьI;lyrllvro, ЛрoтcкTсlРьт' v('lo.Ilо'lIl]зlIPvю]цl]с (]]степlпЬl('pсс}'рсЬl с ЦL..nьb ]|ротшвос'|('lнпя o,Гnaдч]пLall (lla-прЛ\rсР, дrlIlаll}Iчсски рaсlu].rфPoвьlвaloщпе/заruI]фPonъlваюпUrе зnrдпщаeМvюпрoгра]urjv пy1.сi!1 rrcревоЛа сTPariиrl tlа-llятIr в сToPoIевo]i pежп[I с пoсJeДуro.щIт\' xсpcxва]t)l{ ]iрерьпtаltttti), 6vдут нонф-'lrrктовaть ;lpyl с лруГoill вьIЗьll]аЯ.l]J.ro зiвrlсaнпе. Л]16о с6оii xPoIра\Iмl,l, It,]асс]lчссlLLIrl пpипlеpoill pс}iтa6eЛьllo.

Page 118: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тeхника внeдpениЯ иyдаления кoда Из РЕ файлов 119

сти яв"1ястся х.кo]1l дoлисьiвaющий сс6я в коrtеЦ фaйЛa rт после сoвePш€ниЯвсеx зaпланl'1PoBаnIrьlх oперaций вoзвращающnii ylrPавJlеIiие Лрoгpaмме нoсli-теJю. ПPи i1}loгoкpaтнoNl вIrедpеrlrlи Х{oдъ] каlr 6Ьt <р мal.ЬIвaю'Гся>, пеPеда.вая упpaвЛсtlие (J]oвпo I1о 3сТaфете, oднal{o ссjl11 xlr,Гь уllравЛelrrlя зaпyтaeтсяlвсе нeмсдЛе]]нo Рухtle'Г. JIoпyстtIм' х-]roд пpивязltваеTся lt свoе\]y физичeсI{o.пry сilецснrrю' o,|сч l|тьI я цa фаil'Ila' ТoЦ(а пplr мl]oгolLPат.| | o \ l в n . J l l ' | | и и | I o J , Г ' , r , i Л L ' r ' ] ч 6 ) . ) | p i l , , U , , , , l \ l | Ь | ! , ' ' q l , Р N l . l ) | r я l e i i | , , , п P l | .

наiiле'{aщис чужoму х-кoду' ll поuедeIrr]о 116оrrх сTaнсT нсollpеДeЛellшьт]!t'

ПеPeд внедPснис;it в фаiiЛ ]IеРellтa6елъпoгo х.кoда нсo6хoдuмo ltт]еЩaРи'Гeльнo у6сдиTЬся' чтo B фarliл не 6ьrло внсдpснo u,t'o.To erце. к сo'(aЛerrr1ю' yнrlвеР.саJrьnьlх пyтeй PrIIlенlJя Ilс сущсс1.вусT' xoэт.)пry rтpихолптся при6сгать к paз.

лпчпъlNr эвp1rстIrчeсIсlrм llpxсМaм. Pa(JlоillIаrr)rп1rпI присyтств11с l1нopol1ltoгoх{{ода Ilo (()свснlLьlNJ llPIiзJlака]м,

Рo,tiст'енныe х.xoдЬl вссl]Lа ]!()гу1. .]Л()гoBol)иться} дpуг с дpуroill oтlllсч.tя св()e

IЦntсу-Iствlrc ylll]кмьrlоii с'lгнаTуPoii, l]ilxl]ltNJЧ), cс]|ll (l)aйn соЛeP'сr1т стPoкт

x'сode zANzIвAR heгe' oткilзl'tвaсNlс,l оT |l]'r/LРеll я пa Toll оспoвaниllt ltто здс0Ь

уя(с cс,гr, <своЛ>' К соnrirпеIlrпol этoт1.рlо](oчсllь |lс|lal(c)кelt. ljри ()бl)а6oTitе файлaЛю6ЪINI улAкoBtц!tl(опl lt.rlи l]p01,ск1.()lюпf сl'lгJlaт"vрa rrсrrз6слоro тсрястоя' lIу p:ш.

I]с ч'гo вясlLрtt,гЬ с!t1.ltа,l.уPy lJ Tу IIIlс'rЬ ссl{IlliЛ Рссyрсо,J, кoтoPуlо уltaкoвl!иlФ/IЦю- lск lоpьI l lРеЛпочrг la Iот l l с |Poга ' г ] , (1 !к 'L l { i l ' l | | | (х) I )N l I l l l L1я o ( l )а i i J |е l i T , д ' ) , ЕЩc

Ilадс,olеc в!iс'l{ря,|Ь (lI.Iгllit'l,уl)у ь Л;lTy/UPeNlя IIo(!l0lLIlсii Nloд||q]|u(ilцult фaiiJlа ( lIa-

lIРIltlcpl l] l(c('l-IlJlс il(),'l!I сir]rу|lЛЬI), УllilкоIJI|11lки/uрo1.cк1'оPЬl 0с oбыЧlIo вoсстa.

l l i l l J lива l{ 'Г |o ,ц| | i l кo] \ laJ lа ' l ,ц ' ' |Л1 iа(иГ l ln |vPЬ|вЬI i}ь] I l i t8 l .6 ( )nЬ|Лo. l ( ( ) J Iичест l ]oJ lo)к-пьIх срaбатьlRаIlI1ii' чl.o 1'(Dкс |lсхoР0l|]o.

IkDoдс'ГвcIIIlЬlN' Х.lсо/(апl rryrrхoдr.rгся rrit]!]ll()Гo хy,е' LLу'iIlх сIIгпа,гур oпrl Ilс

]llIilIоT Л no'Го]\'у llс illor.у'г tiаBсрll,lка yTDс]))iДrTЬl ]\lо,{Ilo 'Il|'l oсyulсств]t'|ь кoP.pеIr'Гl|оe lJliс'LРcIll,lc B 4)аiiЛ и,t],I нсT. I]oi)1'0I|у х-кoд, |Рс1.с||,llу|ollll|ii п.t I(оPрскт.

нoсть, о6язrrтелr'rrrl дo;rжerr 6ьrть рснтa6сrrьrrьl\ll l] lЦo'Г|lвll0м сJу(lae сoхрarle-

llие Рa6oгoспoсо6]tости фaiiЛal{ уж0 нo raPtlIrгj'lpyеTся,

УпaкoвЛlllшl.л{ilзъlвaюTся ll дoвon!lю вЬllrЦ]ьlllllю|!i по.no)кelIпIl:двDl{дьt oдин

файJ нс сo)ItмсlllЬ, ссnrl кoэqnl)пЦI,IепT с'{aтriя окil)кстс'l llсчoзaющС lr?Ullупn](oв.

щик вllpaве oTl{a]laTься о6ра6aтьtвaть такоil t]хji''r, Ilpотcк]оPьr _ дРугоe делo'I ]POтoкToP, o'|lсl]lЬlвaюJц,Jiiся o6pа6aTьIваTь v)xo уr Iакoвaшlrr,rс (зalrиr|рoваппыe)

фai'iЛь]' ]!'aЛо т(oNIy ну)IrеIr. ЕсJlr nPo'r'слтop ruоrloлoЛпlиРуеT Рeсyрсьl' отказьrва.

ясь rIх прсдoставЛяTЬ кol1}r.Tо еnlе' оп /1оJжeн 06язатс'rьпo кoнтpo,lиPoвaть цe.J]oстнoс'гЬзац]1ще]1Il(llо фaйла rt' о6IlарvясIв внсдPснlс IIoстoPotttluхl вь]rroдиTь

сoo1.веTствуloпlеe пPедyпре)кдснI{c на эI{pаlL' вoзlкDl(lк)' rЦrекраl]{ая пpи этом

ра6oтy' в пPотпвнoil сЛуЧae здirlиDlепlIыii фaiiЛ моryT yпакoвaTь и xoпштаTЬся

защитить пoвтopнo, I loс]'lе/.lствirя 'Гaкofi зaщIrтьi нс заставят сс6я ждaTЬ',,

клAссиФикAция мExAHи3мoв внEдPEHияNIсханt13п1ш внеjlРеIlIrя N1о)кrrо класспфпц!Ipoвaть пo.pазнoму: no l1eстy (IIaчaЛo' Itoнсцl ссPсдuнa)l no <iгеoпoЛI.lт]Iке' (зaтIrраrrlrc исхoд]llrlx дaнньlхl вneДрe-нllе в сво6однoе пPoстрaнсTgo| пеРeсelеIIliе псхoдriЪIx ДarrньIх на irовoс месToо6птаЕия), ]rо наДсяtностt1 0lpедФ ьп( ) l.oрpектlIoе' впoлнe коРрскт1loс и кpaiiне

Page 119: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

12o rлава 6. техrrикa внедpeвиЯ и yдалeниЯ кoдa из PЕ.файЛов

riеI({)]rPснтнoе вrlеДРeпис), xо PентaбeЛЬнoсти (рептa6e.'rьное или шеpента6ольпое) lt т, д. N{ьt хe 6yдспl oттшкпваt.ься oт.тaj]акm?pа вaЗaеnсnвuя на фШuче-сttu й u вup1n!а]ънь|ii oфаз nоОоnыmlюй npozpа:tLм ыl рaзДелив gсс сyщес'гвуIoщиеlIeхапI'l3l!]]' j]rсдPеI{пя 1ja чсTЬrPlr патeropиIt, o6oзliaчe]l]IЬlе латIrнск11мrl6ушa.пflt A' в, С rl Z.

. к кaтегop'rи A ()t.нoсЯтся мeхаlIllэмЬIj I{е вЬl3ыrrа1()щ11е IJзl e]]ellия aдp€сaцIi1{нu ф]Iзпческоl.o, н11 виртvалъЛ()го o6Paзов. Пос']c вне,1репия в файx ни егoд"lIlнaj пи кoJll1чсствo вьlлеjIetlнoll пPIJзaЦJузl(с tЕlIятп lle изt1снЯются и всe6aзoвьre rlrpуrrгypьr oстa]о'Гся пасвonхпpеnс]их адPссах, Этоrrlу усЛoвиюудоu-ЛствopяIотi B]lедpс1111с B пустоe !ссTo фail,]а (I,Е.3агorioвoк' хвoстЬl ссI{цпiI,PuYJlяPr{ъ]е лoсЛсдoватcлъIrосTl]), внсдPеllие пy,|еI1 с'ra'Гия часLIr (сI{ци1.ll.l фзданIlе lIorrоГo NТгs-пoтокa BI]утpи (baiiJlа]'

. К кaтсгoPnи B ()тIк)с,Tся пtехаlIlllll\1l'll вьIзьl]]:lIопlltс пзмrнe]lltя аllpссацni{lonr'ко фвlI'Ieскoto o6Paза, пос.Цe внсдprrпIя lr il)aйJl сгo,.1лиllа увс.!ичивa.с1'ся ' oлпaк( ) кo]l llч{сTвo в ь']e.,rcI lr] oii I Ц] зaг!yзI(с tlilI{ятп l ir иlМсl I,]с1.ся и llсе6аз0выe сl.PукTурl'l пpoсlllrРуI(),|с)l llo тс\] Л{с са^1ь]м аЛPсс^^|' oДIIакo rlх (ЛJJrl.]ескl.|с см('ЦlL'нxя ]Iз]uelI'lJ()T(]'tl Что тРс6усT lкr'Цноii ".iIl час'гичIrоii rlеPсстPоiiш|(j1.]).VктYp' прllI]Яl]ь||]аl()l]lихсЯ Jt свonNl (l)rlзtтчt'сI(I,IN{ allр0саNl,ll ссЛi]хo1.я бЬI oл l la ] |з l t | |х oс ' | . l l l l сTся I |с (кopрсктtЦn)вn l I l l o i i (иЛ l | 6у/ l с - l ' ( rФрpсf fx '

г ' , | , , ' l , l l | с | . ' : ' | l ] , 1 | , | | , ' ) , ' l ' ' | l i , ' . | , . | | | 1 J ] , ' J j , | . ' , ( ' l ] l , , | ' , | l , | . l ' " ,

кll)!lс1'в Pll6o ro, I{а,|сГoPl'll в соo Пn]|с|||},l0|.: Ра:rдB !i)r кil 3аl,oJ|ol]кa' с6P0(| Чa-с1|' (1]) Ги|lllnI'Ill)гo {i)Ilii''Iil I oвсPJ|с'ii Il с()l,'lil1lllс (8oегo со6()1.llсlllIoгo овсl)"ц.я.

. ]{ кaтегoр'lи c oTl()(]яTся мсхnIlll]lItLl. вLIJЬl]lilкЛIlllе l|:l]\{0||c||,l'l а'!{рсса|lllll ttаIL( | ' | : ] | tчcскогo ' 1aJ{ | l B l l | )ТYanЬ| lого о6Р i l зoв . / . I .ц l I i l ( ] ) i l i iЛа l l в l ' l дeЛ, loмая I IрI tlla].pyзке llaмltTЬ yвorlIlllпвitI('|t:rJ, Базoлыe с|pyl{1'уPЬl ]\loгу1..!ибо oсt.ilвalьсяllil своl1х ilj(x'1.ilх ('l1r ссть ]JзNlсl|яlo,Гся "l llпlЬ сNiorцoxl{Я, oтсчЛTЬll]аoljl,|с oT коl|.ц1orrрtlltl/4)aii,nа)' ЛlI6о 00р(]мсlL(aTЬся пo (],фlllIичjIомy l.lN{l|'L'(y lIpo]Iзво'nь.11ЬIlI o6pit]к)м ' rРс6yя o6язатt'l ь1i() ii кoPРeкl L]J J 1, Э r()i,l ILaтегo]'J n сoоТвсTствy-ют] !aсljll l ])сlll1c l I(lсJleЛlIеi'i сrкцlt] 1 tDаiiла' (joз]LаI l I]о сIrоeii со6ст]rсn l toii ссr.пиl Ir l рaс l ] l I ]рс lЛ{o сcpсдr l I l ]п l l х сек] lп l l ,

. к <зlсcкI)с.Jсurtоli> катerоРии Z OT]rосятся i\rехarrизмьr, вoo6rrр нс дoтpar.п.вaюn{rlесяnофillшlr-нoсrrГеля ll вI]сllPяl0rjпieся J] cго;lдрeспoe]lPoсTPaнство| , o . п r | | | | ь | \ | | | \ | \ | ' l | ' ' г ' l | \ . | . I ' | | | ' р | ' : ' ' I l l | . . ' I l U l : . I r . . I l l J , , г Р ( | с l в l ч н о Г nза автo]\laTичссI.ую загpузкy lLl1liамrtческlrх 6}l6nиoтек. этоil технoлoгllеiiIJIIтеРесуюTсяв псРвylo оlleреr]ll сo'rlrвЬIе черв 1t и l]lIlUorIьI, Bllpyсl,l к tlсLiРаR-

катe1.opия ^Irаиvеllес коrrфxllктнalr пpиloдxTк откaзу ЛxIIь тог'1а, кoца фаiIлкoxTPoJирve,Г сI]olо цеjIoс'ГIroстъ, с4]epa пP'iI!eIIеIl!lя наTегoриi'i B и С IoPaзlto6.rJсс огparlrrчсна; в частIrосTIl, oни не спсlсо6Ilш o6Pа6aтываTЬ фаiI,rьI с от,1a.дoчI'oij rlll4)opп1aц]rей' посI(о'Цr'кv oтлaдоIll]aя ппфoрlraция rrpактrтчесItи rrс...1да сirдеp'iит 6оЛj,Illо0 6сoЛютrrьiе aДРеса. Ео фoрмaт

кnк !nр!ая]. х JLо].l llоxсr !нLдрIIься в х'Oсr кJасTcрn O(кt ]пl)]rя oд|пl плп noск.trЬlo !cзаяятьlx (|ЕIoрo! (ссJи.пl Dм соD'o!нalо]']r{'d,JIoTваPЛalтпeрaФ]IlаIрIвxeтся] тatхакя!какorc.т]lоtr'с!п'к PЕ фaii]aN o! !с !мeeт,

Page 120: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

техника внeдрeния и yдалeвиЯ кодa из PЕ.файлoв 721

пeДoкуilrевтr'lpован) и It тoмy жe I}a3лич]Iыe кonrпиrrятoръl испo"r1ьзукJт paзличnше фopмaтьi oтладочнoii пrlфoрN{аЦrlи' tloэтoп1у скoрpеi.Tировaть ссL{"ткIr нatloвl'е aдрсса 11сPеальlro' ПoNпrмo oTЛаДoqнoii пнфoplraцrl]t е]]rс сyществуютсеpтификатьI 6озoпaснoстI{ и пpoч]re стPyl{тyPьr даrilrЬIх' nу)кдaiощи€ся в }rелp!lкoснoвенlioсти свoиx смеrцеппй, к сo]ка.1снию] IfехаIlи3мьl внеДPeния кaтеl'opи11 A нaлаIаютдoвoJrЪrio nreспiие orраIrичeI{ия на пpeдeЛьнo дoпустпмЬliio6ъeм х-кoдa, oпРcделя€NlьII:I l(oлllчестlJoм свo6oднoгo пР(rсrpанства| lrм€IoщeIoся в xрoгPaп'мei и дol]ольlloчасТo здссь не lraxoлllтс'I niссl.а /Ia'(e Для ltpo'i n l н o I o J а . р \ J ' | ' i к . , п n : l I n м v I l г и х U д ' | . с я n Л , l и | | J P , | I l J A д t л п t , i l ' , , . ( , l l l I j ' l , I J .

зyя дpyгlIe катеroРиIr впеllpеltllя,

IftтатIr roвоPя' pазлич IlьIe ка1.cгopии пlo,{нo кoм6иl u.lРoвaтЬ дPyr с ДРyгorl' ()су.цествляя <ги6pпдIloс' в]IcllрснIlсl наслeдyкЛцee хуl1ш]1е кaчества Irссх l1с]1o-ць.зyсNIьIх trIехаilизr'Iоr' lto и aккуlllуЛпРую lее ]lх JlуtlUr]rс ч€PтьI, корoчс' дoЛаiiTс(вoil вьt6opl гoспoI(al

кAтEroPия A!BнЕдPEниE в пyстoЕ ]'lЕстo ФAйлAЛрoп1е всеtu вяcдрrIться в пyстое мeстo фaiilа, На сeтoд.ня IlI] i иii ЛсI l ь TalФtх llicст I,lзв€стr lo тР иi PD.зal.oЛ 01]on' хвo'стoвыe чaс,ги с0кциЙ ll рcIyлярlЬI€ ll(х'l0l{oвa'гe'1ьlloс'1.и'Paс(мoTрим I,lх пoдp06lIee'

BHЕдPEHиЕ в PE.зAгoЛoBoк'Ги]тич]Iьlji

Pг.зaroЛoвol( в]\leстs с Dos.3агoЛoBкo]\l и:]аt'.itylцкol'i зalmмае1.]l0.Dя](ка 300Ь 6аiiт, a мIrпимaлъllа' ]tРаТлoс]Ь I]ь]PaвппI]Axltя 0скцпit сос,I.aвляо1.200h 6aйr,.l.акиN{ o6Pазoм' l!lея{/lу кol|цoм загoJIoвка пад llачa,цo]!l tlсpRoй сeli-цlltl праI$liveски вссt)la имссlтсЯ .100h 6eсхoзrrых 6айтoп' tсrlкцrr,rс мoжнo ис-lIoJIьзoвaть для <IDoи3DодствснtIь!х целeй'' Размсщая здесЬЛIlбo всto вlroДpЯe.ily]o пpoгрallIмy ЦcЛиl{оlr, rrrr6o тorпл<o зlrpyзчик x'кoI{A' счиTЬlваюЛlпli свoeпроlloлл(еlIие r.в Дискoвoго файЛa и.]ll'l PсссTPa (Prlс. 6't),

Pис.6.1' внедpeниё х кoда всвo6oдноe пpoсгрaнпвo x6ofrа РЕ.зaг6лoвкa

Bнeдрение, Пеpед внедрelmеNi в заro.пoвоrt Х'кoддonжсн y6едr,1TЬся' в L.oi,'. 'll{)хвoстoвa'I часть заIо"lтовI(a (jlaскoвo rlазьl ваe\faя <]1Pсдхвoстием> ) Дeiiств1'Т..I !-uo свo6oдrra, тo eстъ si zeOftleаdres < Fs.r off.ЕсЛl1Хеsiz€Ofleаdrеs:: Fs.г оff'

0

Page 121: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

'.22 rлава 6. техника внeдрeния и удалeния кoда из PЕ-фаЙлoв

вoвсе нс фaкт' чтo свo6oдIloгo lIеста I] концr зaIoЛoвIQ нет, (ПoДтягивaTЪ> xвoст3aгoЛoвкак }1ач:L'1у псрвoii сокции o6ьiчтrая пpaк'Гика 60]rЬш11]1ствa .liинltеpo!'yсN1атpltвающих в этol{ гарl{oнию вьiсIrIе.о смъrсла. скaниPoвaниe такi,lri заго-Лoвt{oв o6Ьlqнo вьlявJlяeт дJ]]IJ]]yю цeпoчlryпу:rAй' pаспonor{сн}rьIх в elo xRoсTеиl oчсвtlднo, ни1tаit iJ llикем не испoльзуel{ьlx, N,Jо)кeт Jrlr Х.кoд записa'гъ в ниxсвoстслo?дa' пIo}кет, tlo тoлъito с пpeлoстoporкпoстяiiлr, Hеo6хoДиlrо oтснитaтьпoN1сяь1!сr iмсpс10ь6айтoтпосJ ieдr iегoнe1ryЛerroгoс!rI1вoJ1а,o

учас.roк нстрolryтЬri{ (Е концс нсrtотoРьIх стPyктyP пPисуTсTвyст дo 10h нyлeii,иcкФкe]{I'lе кoTоpl'х ни It чсi{у хoРoшсмy нr пPивeдeт).

нeкoтоPьiе пPoГPaмNiпс'ГЬl пьrгaю1\jя |lРollиl.tlу,гь в Dos.зaголовoк п зar"lylll-кy. Дсiiствитeлънo, зarpyзчI.Iк Windows Nтpе:Llьпo псlIoЛьзyствсеloлIlI1Iъ пleстъбайтoв: сIrшaтvPy мz и yкaзатeль e-] fаnew. oстl.n ЬllьIe ){с сro никaк не JтlrтеPесуют и мotуT 6ЬtтЬ исllojlьзoвaньt х{oдопt, Pазуп еeтся' о ]loсЛсдсTвиях запyскатaкolo фaйJав r.o'Цol] МS.Dos"'rYчшс aс гoвopитъ' пo'.' МS-DoS yжcдавно тpyп,lIpaвДa, нcкoтoP],lс впoЛнc сoвPс]\lсllIJые PЕ-jалpvзЧ и к l l доToшнo пpoвеpЯют всепoля Dos'заt.oЛoв].а (в о(oбсtttloсTll это rrасnстся win32 ,rvyЛ,l,loРoв), lloэl.oNlу613oсс)6с)ii rtРк,xь|ЛyЧ|IIe в |||]х |le 'цсз1'Ьl а ts0-L tlсttoлЬзoвaтьдля сuoих |ry)rд Г)os-заг,yrпкy - illо'(ll0' лyск.]ii и ltс бсз ot.piul'lчcl]ий, ДonoJп'Io мlloГo сЛсTсмIiЬtхзaгpузq ]roв fie спосс)6llьI тl)апсJIllР()B:LTЬ Лиp'Гуа.rlьIlЬlс iLдPесn' .JIе)кац e к зaпa.Лу от PЕ зaгoJlовка, Ч1.() llPсl|'TстI]усT ра!мсrцсll'jIo B Dos..laгоЛоI]кc/.laгЛуtпксслу]кебпьlх с'ГРyк1.yР Р]]r])tli]Jlа lliu(c ll '{с IlЬlTaiiтссЬ в]l €лPя'гь сIo/tzr'Га6Лицуl,Iмпoрта llли тaб.rl lly lILJPс]IIсIIlaeпlЬIх )J|o\1с|ln)BI A вo1.тeЛо х.](oда вlIeДрять

ксTaTII' пpu oбPабoТкс 4)ai'iЛa тlопyЛ,]PпьI]\l yпaкoвtll'|коtri UPх в[lсдрсняЬIйв PЕ-загoJloBoк х.кoД lIе,]ЬDкпBae,Г' пoсItоЛЬку UPХ лo'rrroстьtо пcpсстрaивaетзar.o,!оsoкl вьI6Pаcывaя сrTтyл^ все <rlJerlуnoюe} (DoS-заr..rlyIlпty oи' к снaстьlo']lе,грoгaеT), УlIако]llцl.rки АSРасk rr tЕloсk вoдyт сс6я 6oлеe коDI)екTIlo' сохрA.Пяя и Dos.заlЛу!rl{у и oРигl1IiаJrЬныii PГ загo.lloвoк, oДrlaкo х.к)д доЛ}кeЛ I,lс.хол l l т ь ' | , l х J Л | | ' | 1 ' d ' . l l и . . |П : l l j , l | l г '

" ' о6ы | | | i i

в 06щем слvчae вIleдpеппe rr ]дгoЛolrок oсуlllес].вJIяс,I(' l.аl{i

1, Cчптl,lвасм PЕ-загoловoк 1I пplrступaeN' к elo alIа-nll3y,

2, ЕсJIи sizфfнeаders < Еs,г.offи (sizеofнeаders + sizeof(x.сode))< Еs ' r-off' To:

o увелIlчивnе]\l sizеOfнeadeгs rra sizeof(х.сodе) rIлIl же просTo пoдтягивael1elo к гаi offset rlсpво].j сеxцпи;

o зaпllсываel{ х кo,1нa [16раз.)]lавlпеeся мeсro;

с' сliа]'i1Pl'сNl PГ.заГo.ioвоft Ila пPе/lмет пoilска lleпpерI'lвнoй цопoчки нy.| ' ' . , | | r . | ' . J . " я 6 ' | | . l i . | в г n j L н o н J | i д ё ч J . ь | l , / l р Я е м ( в n / | е Л n ,

вaчt{lrая с 10l) 6ай,гa о1.ee llачnЛaio BlrсдРяем х.кoд в Dos загjlyппry' lle сoхраняя сс стаPoIo сoдeр){иirогo'

з, Есrrи BнeдреIrlre пpor]IЛo vс]1elrl]lо. лсpехватьIвaем yпPавленIre lrа х-кoД'

Page 122: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

т*ника внeдрeния иyдаЛeния кoда из РE-файлoв |2З

идеIтгификация пopа.r.еIflrЬrx 06ъект0в. BIIeдрение в PЕ загoлoвol. в 60Ль!rив-. т в е с - л у ч а < в м o ^ n o P а с п o J н i Г Ь и в | l J у i l , I Ь н o , P а с с i V o Г р и N l ' к f , к в ь | г Л я ] l и | B , l г х .

рeдalстoре тиxичrrЫй исполвяeNfьIй фaйrl(pис.6,2). BФедзaкoнЦoм Dos.заIo.ЛoBкal L)6ьIчнo сoдeРкaпIим в сe6е сгpoкy 4This Pгogrаm сaпnot Ьe гuп in Dosmode' (или чтo.тo пoдo6troe)' pаспoЛo,к€нa PЕ'ситнaтypa' за кoтopoй с.'ieдуeтIlе]trl{olo мусopа' щедPo Paзбaвлeппolo }ryлями и IтЛавIlo пepе]екaюЦelo в та6.лицy сeкций| сoДсp){aщYю лelкo y3llirвaeмьIr им€нa .text' 'гsгс и.dаtа, ЕслI,IфайЛ упакoвaн, назвaliия сеIсЦий' скopeе всеro, 6удyт дpуrrrми.ИнoгДa зa та6лицей сeкций пpиcyrствyeт та6лпца импopта в0|JND с пеPечнeМ имeпзaгpyхacмых динaмическПх 6и6ли0тек. да,'iъlпe, вп.дoть дo наqaлa первoй сок-ции, нe дoл)rrfio 6ъIть ничer.o, (рoмe liyлeй, ислo.Jr!зующиxсядЛя !ьQaв]tивания.oтo'(дeствить lIачaлo jrсрвoil сеrщиr,r лeгкo' нIвW ставит в oтoм мeoTc тoчку.Если дe эгo rrе тaк' то и(слсдуcмы.a ф]й,т .одеpжит х..roд (!ис' 6,3)'

Pxс.6.2. тaк вь|глядит типичный PЕ-загoлoвoк нeзаpaxeннoгo файла

вoсстarroв,tеIrие пoражeяньпr o6ъектoв. i.Ie все дизaссeм6лepы пoзвoляют ди.зaссeм6лиpoвaть PЕ.заr.oлoвoк' IDА PRo oтнoсится lс числy Тex' ктo пoзвоЛя.ет' tto дeлaeT этo тoJIъкo в сщrчаe кPaйrrй fieo6хoДимoсти' кoтдa тouтсa вхoдayкаэьrвает вr]yтp! зaгoлoвт{а. застaвитъ ,re ee oтo6paзить заIoловoк вPyчIтyю'сyдя лo всеNfy' 11евозмo'оro. t{IЕw в этoм oTrroшerши 60лее пoклaДlrст. пo RVA-

Page 123: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлaва 6. теxNика внeдрения и yдaлениЯ кoда из P

адPеса и пеРехoДъr вIIутpи зaгoлoвка otr не тpaпсJlирycт, и их пPиходltтся вЬl.числЯтъ сaмостoятeJlЬtlo, Дизасссм6nlrpoвав Х.r.oi( ri oxPсделив хaРактeP и с1.pa.тlJпrю ]тrреxnaтa упpавЛенtrяl вoсстанoвl{тe пopaженншй файл u псхоДпъIii вl1диЛи пoтрaссиpуiiте х-кol1в отJ'raдчrпel по3в( )лLlg ему сдeЛaTь этo саI{oсToяTсJь.do, i в мo\ l rР| , | .p.дачи упlJп |P|| l lя Ut 'игина,1Lнo: l l 'oг l , ]мNc (сpo.ЬГ. дJ! lпФaзуttlсстся' пpoгoн aктиRrioгo х.кoДalloд oтла/]чпкoм в(сща таит ! сe6е yгpо-зу, и oтла,киваeмaя пPогРaмNIa ts lю6oii п{oi\lент N'oжeT вЬlpваTЬся из.Iloд l{ollт.poляl пoэтoмy eсли вьI хoTя бЬr чyтoч]ty нe yвePепь] в сс6с' пoльзvйтeсь ,цизас.сем6ЛePoм, так 6удeT 6сзoпaснсс),

Pис.6.3. А тaк вь|ГЛядит загoлoвoк фaйла лoслe внeдpеlrия Х.кода

Если Х.код oказaлся yTPaчe]ll ]lanpиNleP| вслeДствиe yllакoвки UPх'o {' распa.кyйтe фaйЛ и пoстарайTеоь идeнтЙфицIrровaтъ стapтoвьIri ]roд opиIипaЛьпoiiпрorpаlllмъI (B irтoм вali itoможeт IDA PRo)' IlrРcyстaнoRirB IIa пeгo т(JчItу вxo.дa. Boзмo,спo, вaм npидeтся peкollсTрy]{Poвaтъ oкPестIlосTи Toчки вхoдa! Pазpy.IлeIшъIe Iсoмaндori пepехoдa па x.кoд, Ес!'iи исхoДIIьтй сTартовrnй кoд ЕaчиIlалсяс прoЛola (a в doлъlUиIIствe сJtyчaeв э'Гo тaк)' тo нa Рeмонт файла уйдет сoвсемнlri{нoro вpeмeпи. первыс 5 6аriтoв пpoЛoгa стaндаPтньI Ii Лeгкo прeДсказусп{ьI]o6ъIчIro этo 55 88 Ес 8з Ес,55 8в Eс 8з с4,55 8в Ес 81 ЕсI,ши55 8в Ес 81 с4' пpa'вильньIЙ вариаlrт oпpеlllrЛястся пo прaвllсlпoдo6нoсти Pазмepa сTeкoвol.o фPеii.маl oтвoдимolо пoдJloк:rпьньIe пepeмеIlньIe, IIpи 6oлее сeрьeзпьrх разpyлrснияха.illюpитм вoссTaпoвJlения стaнoвится пeoдfioзнaчсн, и вal'' вoз]t]oжllo| llPидст.ся пеpе6pать 6oлЪIпоe кoЛичествo вaрlraптoв, lloпpo6yйTе oтФкдестrить l{oм.

Page 124: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

iexHика внeдpениЯ и удаления кoда из PЕ.фaйлOв L25

пx"1яToр lt изyчl!тъ пoстaвJiяеillьп] пlleсте с !иIr стaPтoвЪlii кol1 - эr o сyщсствeнно\ llpоlrraет задaчу, хy)I(еj если х кoд внсllPи'llся в пPоrB]]o.l']roс мссTo пPorрalгrlL'l. tlpсдваPltтсльно сoхраfпrll oРпгItllаllЬ]1oе сoдеP'(иrrce ts зaroЛoвI{r (котopo.Гo тсnсPl, с нaмll нот). вoзврaтпть иOloPченlrьIri фаil,r 1]з |lебыТllя' скoPее всег(]'6уlLе1 llевoзпlojr{нo вo всякolr сnyчaеl llt1l{аких yнпверсi].llllЬlх рсцептoв e].o

Реatl'INlацrlи ]1с сyщ€ствует.

HекoPре'{тj{o в11сдpснньlй х.rrод l'o)кет3аТсpстЬ та6лIrцудItапюoflнoro r]мпoРГ ' n l i | ' l ' l I l U p i ' | , o . | n | r ю | t . i " я r n ' ' , л t t т , 1 6 , , r r r ц u ' l ' , ' l | | i ] ' , I , U г J : | . , , , с | . t | ' . | | , ' ' : r , е , ,ll,аiliу в зaгPyзкe, этo пРoисхol]l1т Torда' кoгдa pазpa6oтurrк oпре/(cjlЯеT aкl.у.а ' l lЬный ] roпeI{ зaгoЛо8кa t Io фoРI !yлr e ] faneW + 5 i z е 0 f 0 р t i o n а ] н e d .

dеr + 14h + Numbeгofseсtjоns*40, rtoтop'.l, к |ожаJlсниro' IJеBеplIa, ltал yхс rоu.)рir]ioсь I]Ьпllе' Лl()6oii кolxl'lЛятoP/,]l.lilкcр r1IPавс l'спo.]rь3()вaTЬ всс sizeOfнеаdeгs

ГсЛx та6лпЦа /tliа П a3o]]]]oro tlп'по pта ,1у6JI 'Pус.L стандартпуrо та6лицу иlпloртa(а чarrrс всегo эт() 'Гaк)' r! ltPoсl.lriiuпli] сrloсо.) pсNtotта фlii.lа сUoдtlrся ( o6lrv.nсllllю 0х 1 1.o,пeltel Jтa DАТА DIRЕстORY, а 1oчrlсo - fijы'r(rl пa с-ryук'гуpy IмAGЕ-D I RЕсT0RY_ЕNтRY-вoUND-I |lР0Rт. DсЛ 11 )кс та6"! и Ita /tlr а пa:1ol'tнoго I lrjrюI'Пl ф,цсp)кnT(Toчl lсс ' содер,(а. , Iа) упrкаJIь] lЬ|с ] i l l I lамl lчсс]( l lс 6л6, l r r t t l r .с l r ; r ' oтсутствyкl t tцrc вollссх 0с1.аЛЬlllnх тn6лпцах)'Го /(,Jl' l](')cсTn!IoвilcJlt''r Лoс1aточl]о зnаTь 6it3o}J]'iinД.])сс l'tх 3агpyзl{Ir, IтРи оrJ{,lIoll l] |lll oIJ ,цпaIlaЗol Il iо:}t l|]\IIJoPтс э(]хl)сктrl8lIl,|0 aiФссarlNllloPTlфyс]\tЬlх фуllкll|{ii' )l(сс'l,хo lIpolI,Iса|l||ьJс ,l llpot.РaN iiс' 6удy'l. (с],l./lllTЬся]|il ||сlJЬlll(ljlсlIIIЬIll с1'Dа|illIll,l llaмяTul Il ollоl)itILJIolttlil ' l сllсTс11a Ilс]ue,l'll0ll]к) a],I.6poс иt. l lсtllt кl. tспltо' сoo6Ulа' rrи рl.yаЛ ьI пn ii аЛPo( Я ЧcliI.I'1' к к(),l.()Poi'i IIPоlt3()Ill.,loo.P iLцlсI l I]0 ' oстаe1.О|JI l ' | | lLЬ ||а i ' i t j l д l l l lамIIчсurvю 6lr6J ' tо1сrtI ( r l э ' |o i i 6 l16J l I ro ' |c .l( ) ii' (I(oPсс всcгo, 6yДе,l. r:r l6с'гвс цл aя 6l t6rl l Irуr.о ка вo(:сTaI I1] ItЛ'l I]aC]\l ol.о пр,tJl orкe.l |||я 'вхol l 'Uцявк. l l ! lп ' l leк1. l ()с ,г^вкt l ) ,со/(сР). i l r I l ) ' rorIoд: lп lк lмvадРссv6oлссиrtr tllс!llсc ос]!{ЬIс'(ctltlыt.i кол' сoll||a]l;ll()|цllii с Toчкоii |}х('la в rрyrlIoo|](). зlIllя llitоilll]lI'порTltРуёмых б|16Лllo1.ск, вoсстnll()яl'ть тa6:rrrцу дlrаlrазorrнolo l'll\1пlЦ'гil llссостalrиT lп.lкitкol'o TРудa,

/IлЯ прUjlj1Чxя'.rто6ьl не pyгалlсr, ал1l{впPусы! Ilo)l{xo удrлlIтЬ llеaкTlвtlьIiiх.l.оД u3 (])aiinа' усTаноBLIв sjzeofнeаdеrs Ilа посjlс1{lлrii 6аriт тa6л и цr,r сскциri (плпта[1лlтЦr,r диапaзопlIсlгo ltNllIoР1.а' сс,']l,I oпa есlЬ) rl впJloть дo Еs, r-offзапо-1Il'Iв Oс.ТiL'Iь]rЬIе 6аriтьl ]lуJU]IЛl, с}INIвoло]v * tr",]и лto6ы\JrIДрyrllмrI сll\!волаrflI ]lo (l]oollуnILyсy (Лriс'ГlIllг 6,1), напРип{eР' 1ексTоI1 ,od7??.? онlllhl 8upцс.L1] в1oA вo.npещеl!.

листинг6.1. ДИзэссeм6лepный фpагмeнтх.кoдаl внeдpeнногoв заroЛовoк (всe комментаpии принадлeжат идe)

нtА0ЕR 01000з00 : т l rе сOd0 аL 01000000 01000600 5 l r rddei f . . .m nOrлr l d isа5зemhly]]ЕдDЕR 01000з00 : аnd !а5 lOаi]еd bссаusе thе u5еr Ord0гer l to Load ]t схplrс i i l !! | .ADЕR:01000300:HЕADЕR:01000з00 ;<<<< Iт мАY с0NгА]N тR0JАN N0ПsЕs V]л]]sЕs' Al,]D DО l]АRмЕuL тl]INGs >>>P|.ADЕR:01000э00Fi .ADЕ8:01000300 рubl iс 5tаrtH:АDЕR:01000з00 stаrt:нЕА!ЕR:01000з00 са l l s+5

Page 125: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

126 rлава 6' техника вHедрения и yдалениЯ кoда из PЕ.файлов

л'cr|rнr 6't (пpoДoлхениe,)

HIADЕR:01000з05l]tADЕR.о1000306l]tАDЕR 01о00з0сHЕА0ЕR 01000з0DlЕАDЕR:01000з0Еt]ЕА0ЕП:0l00030Е

BнЕДPЕHИE в ХBoст сEкцИИoпсрациolпlaя систсNlа Windоrrъ 9х тpе6ует'.rт06ъI физичсскЛe а.цРесa сскци]i

6ЬlJlи вьryoвrrеньl llо мeпьшеIi llсpе nа 200h 6аIYlт (Wi]dows NT нa 002h)' rlo-

эTоllly п{еясдy сскц]tя]!iп пPактl1чсски rlсегдa ссть lrскoToроe колич€ствo с106oд-

вoгo ]lpoстpаrlс'гвa' в котoPoi1J1сrкo затеpятьсЯ (pllс' 6.4)'

Pис' 6.4. внфрeниe Х.кода в хвoсг секции/ Oflавц]иЙся 0т вЬ|Pавнивaния

PдссмoТPuNl сTР},I{тypy (l]aiiЛa noteрad.eхe i посTдRкu Wilr(lolvs 2000 (ЛисTпtlг6'2), ФпзпчoскЛй разNllrP сск]Ltllt 'teХt lla 6600Ь _ 65сAЬ - l]6h 6аiiГ пDeвышaс-rвripтyа,rьвьli,i, a ,rsес _ It,. u.l с00hl BIroЛI1o lLoс,ГaтoчпьIй 06ъсм llPoстрaнотвal1Ля впедрc}tия' lle правдa JIl't? ])азумсc'l.ся' l,ак()е вeзеI'll.Iс вьlllаДaе,г /laЛrкo r]с

всеIДa, пo nаpy Дeсяткoв свсl6tцrп'rх 6ariт лкll(llo rlаiiтп прак1rt.leс(]l в лю6oNl

файЛe'

лисrи'|r6.2. так вьrЛядит тaблица сeкциЙ фaЙла notераd'eхе

NumbвГ Nаmе v srzе RVА Г,.51zе . Oiist flаg1 . t € l t 00065CA 0001000 0006600 0000600 600000202 dаtа 0001944 000в000 0000600 0006с00 с0000040З гsГс 0006000 000A000 0005400 0007200 40000040

BIrедРeние. ПерсД tslleдpеrпlоr нсo6хoДиllto наi,lтll сelщ]llo с пol1ходящими ATртJ-

6}тaltи и дoстaтo'rнььr св06однь111 пРoс,lрaпствoll в l{онцс иЛи рассPсдоToчитьХ.Iroдв нссl{o,.lъкпх сlrкциях, ПpU э'гoll }rco6хoдI,lllio iл{итываТЬ| чтo пиPryалLныli

Pазмер секции зaчaстуlо paвсн фIlзrгlескoмy иЛи Да)кe пpевьIrnаcТ сгo, Этo ещe нс

з11ачиT, что сво60дtrое пpoстPaнсTво oтс}тс'гвyст: rlolipoбyilте прoскаlrироRaть

хвoстoвylo частьсс]rцriи rrа пpсд]!1с1. l lаLlп.lчия i1спpсРьIвlюii цепoчки нyЛей rсЛи

тaкoвая там дсiiс.l.витeльiro np]1сУrсTвует (а куjra 6ьI опa Делась?)' сe мо)кflo 6ез.

6()язIIelrнo r,]спonЬзoвaTь д,.Iя внrдPепия, праЕда' туT eсть oДнo <rro', lloчeмy.тo не

учIlтьIваеl{oс lloдaвляющrrпl 6оlьпrпrrствопr p:r:;pабo'Гчикoвi eслlr tsиPlу:LпъlrьIrj

$

Page 126: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

'eхнИка вNедрениЯ и удaЛениЯ кодa из PЕ файлoв 127

pа]Ilсp ссxц!ш i1сньlшс фl]зI]чсс]toгo' заIpузчIrк пгtlopllруеТ фuзичссtlltii Paз сP(хотя I,t пe oбязаrl это rlejJ]Гъ)' r1 оll iLо,{еT 6r'lть лю6r'1пl' u топ' чlтсJе ir зaве]lоNlo6ссспIь tс . '1снньI l l |Ес ' ' l ивиРтYa] iьныr iрaз l lеppaвепr ry" t ] ( ) j за|Pузчв огo кaчествс физIlческltйl oкРyl.iяя егo пa]lе"1lllllllj! seсtion Alignment, Пoэтolfvес',lи г off + г sz]]еlLо,юРl)ii сеl{цl1r1 1lPсвьlшalrт г-оff сЛе,.lyiопIеil секlll{rl' с"lJе]lvст '11116() oТliазаTl'ся oт о6pа6oткп таloro фаriлa' lrи6o са;rrrх:'гoятe'll'rto яl'tчrlс.lrrr'lь

фIlзrпескпii PaзпIер нa oспоuе РазIIr]цьI га\, оiisetbн.1вух соссднlх сскц]]i],

lleкoтоPьrс пРоГРaNlп{ьI хРаlIя1' oвePлсl1 вlLуr]]l1 фаiша (да' пNfer]Iro впvтpll' a пeв lioitцcI), пPп этом Pазн]Iцa фпзпческoro п llllpТyаЛьIlо1.o pa3мсpов] Ir:rIr праBlIrro' опазъrваeтся 6oлъnlе кp1тrlос,ГЛ (i'iJЛЧеско1.o вьцrавнl1ва}llJЯ, Taкyю секцl.lk)jlучш( l]с тPоl.атЬl таl{ l{аtt вIrсrrPспlIc х IФда' сIФ])еc всr1.сl' lцrltвсl:rст к rrс;116o'тoспосo6llост фаii.fl:t. к сохшеlllпо. оBсl)'1сlt ltсl1L'lrсIo РазпIсPа да]lпьп:i а.!rо

PIl'Гll o1rrо9llТЬ llс ! (oс1.oЯltllll' lIoJтolly всeглa прoJrtРяlгге lllx]дpяс}IЬrll участоriI{а нy"]rli x oтI{aзЬIваrIтссъ oт Bl{слРсIliIя. eс.lllr 3jLe.Ь l)а. l()nonrcl{о ч,|о-тo llPyгoс

Бoльпшrrствo pазрa6отчr]кoв х.JФЛ:t пРoяBnяЯ |Ц)сс,l'\,IlllIIo )iа.1rат1tосТt'l llpсllс.6РсГа l ( ) | r |Рo!срк l ) i i а lрL l6у loн r :скцл l l ' чт( ) lЦ , IgoдпT к l i ! I i т ] l l l eск l Iх orпл6кaпr11]|p{)ч l lN l ( ( ] ] r ln ]з | lь1N l ] |Р( )6 ' ' ] с ; \ l i l I l .B l | ( ]дРЯс l l l i lЯ (с l {цJ iядoЛ)r{| l . L6Ь i 'п ] ' l ]o 'пcР] l l , l х ' / (oс].Yп floii ((l)Лnг Il']AGЕ-sсN-МEi]-RЕAD устаI loRЛ cl l ) r I ' llo вr.oРЬ|х ' l n]B l'Il.lrulilсAlo] i Gl']агtHAGЕ.sсN-HЕl{.D1SсARDAвLЕ с6РоlJlсI ) Яtcjll|l.('r|Ьllrl (rrrl lrс o5язal сл ьпo), .r то6ьI пок l]iliirrcii r! сPс oдll I l tlJ (l)rlill ot] Ii'1AGЕ-SсN-сNт_с0DE I I.1l I I AGЕ.SсN сNт l N IтlАLlZЕD DAтA6ЬI',l yстnIloвJJсjl' Ес,'iIl '(с:)r]' vс.TоllJtЯ llс (ю6jк)даl{'|(lя li д|)!l,l.II ll(,lхoлЯIц|Iх ссi{.r r r r i l r ( r r ' . l v . r r \ \ r ' . r r l ' , . . r l t ' r , : ' , r , ' r , ' , | | ' . " i i . r . r , r , r r . . r . { \ , , r \ r , r r l ' . _ r

l l vк ) , o/ l l Jа lф р i r6( )TосJIo( !6 l | (x j .П ' l ] ( )д( ) l l i ,Пr | ( ) l1 ) | l ] l J . (o ' (с l l l ! , l 1 l !TоNI с ' l |у ' l i ]0 ! ) (c l l сl.iч)ilIl11lроl1,lIla. !..j]lr (),rliГr| ]l4АGЕ sсN шЕш sHARЕD ll IмАGЕ-sсN-мЕH-l,iRIтЕ ус1|lri()llrl(l.] |Ь l l I , TaILv lо сс]L l I l I |1) l ! ' ( ) i l { . t l I l l са l ' к1 l ) \ ' | ( ) , l ( l l ( ) J1 ' r Io у]1] 'L |к) l l l t lдр( r ' 00 i } l l | . ] ) ] ' : ]к l l

n{v Tll '|Lo Wil].]0\\'s {)\ lюзll',|.TLьuL('Л''Гl P.lздсn'сIlyl() IIа\1Л |l, l.ojlЬ'ф вo l]IОPоЛ IIoxОвI,lIIс а/ц)ссli(Л.() )|Р()с1.l)ilIl.

Пoскоnьку пPI t в|{cдPспt I ] l в хвoст соILI ( r t I l I l своз] \{( ) ' L l lo ( )L , lи t ] l f lЬ / (а l l l ]ь l с ' 1 I l ]и .

ц| |а- ! j ' l з l , l Pо ts i l I t l Iь1е 1 tуЛ ' l I I l l ' ( )1 . I l с r lЛ l lц| |а . r I l t з l1Poва l I ] ]Ь lх ] ( l l t I l |Ь lх ' I l сpсд п .рс/1a .чcii vпpaв,'lcни,t oсl'oвtlоllv l{oдv прoгParlNп,I х.кo]1]lо]]жell iliLlIе(lIl (Лt)(ln, lк.ltуpa1nl) ll0дчllсTив всr зa сo6oii, 1laIlрrшlсP' сfioпllpoвать свос тсJо в стек rlЛпв 6yфсP ДlllIaNtl.IесILoil паlfя'ГI,l п верпутъ }lуJll tta lteстrl, К tuк;шtсttttlo, мttoгttсl()6 этol1зa6ьшают, в рсзуJЬТатс чoIо часть прoгpa]\]N oткaзъllraеT тJ ра6oтe,]tод' внодPeнньIiiв ]toнсII секцriri' ILакпРавrlЛo' вьnкt t вaer. пplr уr raкoвкс rlrrrо6pl-i:]oткe фаii"'Ia пРoтeкторoNl (тaк кilli вIlеiЦrе|lJliulor).'lnсTь nамятx тcпcPЬ ]loмсчcrraxaк за]rятaя). исIIпючснIIс сoставляют сJv'{e6llыe сeкциl,ll liLкl,lе кill{ сс]tцll}l ]lс.

рeмenlaеllъrх элеrtепTов ]l-l]r! сeк|lIlя Ill\11()l'ru' ())iР;LняTЬ кoтoPьlc упакo]rщик нс.)6'зан 11вfloЛно IlожlrтPскoliстPуllPoвaть и\ вь16расьIвая oTT\./l:l все <]le'lу'oюе',

oбo6IJ{еtIньIti алroрtrтl' внеДрения Bь]lлЯдпт пpl{6ЛllзltтеJ.rЬllo Тaк:

. счи,l.ьt!aсмPЕ.заr.o'шrвок;

. J н a п и l , , г ) P Y s д с т i O r , а b r е , . I j J l l l | | | в ' и ' l ' l J y ' | ' , | | ' I i i . в ' l p v ' , | |

. ищel{сeкцпIrjу кoтoрЪlx г sz > v sz'и 3аll].lсывaсм их в lLанДидатьI на внe,.Ipение' пРrдвapпТельнo y6eдLIвпIисЬ| чтo гl )illостe секJ lllrl содсрхaTся o/ll{Il нyjrxi

Page 127: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

128 глава 6. техника внедpениЯ и удалeния кoда из PЕ'фaЙлoв

. eсли г-sz . v sz >- FA' нcтpoгаеN{ Tакyrir сeкrrиюt таIс кaк| сl.opeе всеro1 о11ас o д e P ж и | o d е ' , l l и '

. eсликвopУмаrra6рать rrс yда]rось' иUIeм сeкции| у кoтоpЬlх г-sz <- V sz'и lтьгГаеvся най Iи ||eлгeрыв ,v o U.]|Uч|.} l lу jeй в ,х | ,ohLс:

. из всeх i(aндlцaloв oт6иpаем сeкции с нaибoльпl!пl iro,/Il{чествoll св060Д]]0-

. rtaхoДим сeкциюl аТpи6yTьi кoтoPoii PaonoЛаIaloт к R]reltpeiiию (Il,1AGЕ-sсN_HЕl{

sнARЕD, I}. lAGЕ'sсN-мEl , l -DIsсARDАвLЕ с6Рoш0нЬI, I l4AGЕ sсN l . ]Ем-RЕAD иЛиII{AGE sсN.l.lЕl{-ЕхЕсUтE yс].апoвлelrьil I|4AGЕ_sсN сNТ-сODЕ или Il{AGЕ-sсN_сNТ.I NIтIАL] zЕD-DАтA Ус1аl Iо в"rIеrrы )i а еслитarФхсрeди oстaв1rпrхся I{андидa.Toв пеT' ли6lr ltoppсt(Tl1Руеll aЦ)и6yты сailoс,l.oятeЛьпo! лrт60 oтказЬlвае;!lс'I

. eсЛп v-sz l: 0 и v sz < г-sz| yволIlЧrlluсм v'sz lla sjzeоf(Х-сode) иJtu 1loд'l.я.гIlBаеп1 lс v-а сЛeДyк)lцеп сeкцrm.

идe}Iтификация пopaя{elmых o6ъeктoв. Paспoзllilть внeлРe]]ия эToгo тl1ла/lrtt l оЛь l l o лPo6 , . | сма | | г | | | о , о сo6сn I I i J L ( , |и х . ко , , t л ' ' l l l n . | ь l o поN| (шас , l с ' в ле I1 | l о ;

кoдoвoй сcкциIl фaйЛа' (oтoрolil как Ilpaвllлo' являстся сelсцllя .tеХt'

Bllедрeflиc в сcкцию ДaппЬ]х рaзo6JIачао1. се6я lIaлrгiиeп{ oсмь]слcllltогo дп3;rс-сем6лeрнoгo кo/iа в eе хвостe, нo cсJ]и х.ко]L IlеРrхвaтывnст y!]Pilвllcllиe хЛ'ГPЬlмo6paзoм' Дизасссiu.)леР ivo'(ст l{ llс/L()l.Ф]LaTься дизас(смбJIltpоl]ilTl' )'l1!I IсoЛ и IlампPllдeтcя сllcЛaть )то вPytl]lуlц с?rN'oс'|.oятeльtlo oTЬIсI{aв Toчку lJхоДa. IтDaRдa,eсли х.зarrrи4)PoвalI ]'! рacIЦUфpoвшlик t|2lхoлlI1.ся l]!lс кoJLoвoй сскlLr|и| )1o,r.]rl)rt.eм yj*(с ltc сPaбo,гaeт'

Pис' 6.5. oсмыслeнный }4аu,lиllHьLй кoд в хвoФe сeкции AаннЬlх _ призHaк внeдpeния

Page 128: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тeхника внeдpениЯ иудалeния кoда из PЕ.файлOв I29

впeдРенr1с вo всr с.]iyжc6пьlе секцltш (Itё]tp]tмсP, сcкц'пoРeсуpсов t1J'll1 fiхuр.oв )Pасtlозl1ается пo нaпrпI]llo в ]l].1\ чvхсpoд]]ъIх эrrellerпoвj ltoTopЬ1с l{с пpIIнLцJrе,fiат IrиIiаIioI]i пoдстРvк,|yРе ]Lаrlнr'lх (p]lс, 6,5),

BосстaноBлепne поРат(енньlх o6ъектов.liaпir ]rсегo прихoдIrтсЯ стаrrкIrваться. тс\f' чтo пРогpаi\{ ]\1пс'Г r lе I iрсдусмотPrл спeциаrьr lоii о6pа6oтки д.]iя вI.Iрryал ьнoгo paзl{еpa' pавil{Л1) Itуnю' u llrссто тoro что6ьr впедрrrться в хвoст сeкцlпr'нсo6pатпмo эaтеp еe l r e.{:L,lo'

.Гaкис {l]аiiЛьJ во(сla!o&4ertЛIo lrе rloдIс]{ат и доJ],l{

ны 6ыть унп.rтoлсепьl, Pcжc всr'pс.rастся внедPerrпe B секциto с <(IlсYдaч}lьil{i,J'аlpllбYтaltп: сеrtц1llо' ljсд!)с|!llrlую ilля чтellЛя, п"lll DlsCARDABLЕ.секциI()'Jn' Pеаниilаlпirt 1|1iiJlа ittl6o за6сplrто y X.rtoдa упpав.rrсrtrrс' 'rп16o oтpепlоптlг

]lIiiтс aтP!l6v'ГЬI сeкцlJЛ.

\1ol-/г ТaD{e l|('laс'l'l,ся фаilrtы с t]епPaвп.iьIlо <lюд'гЯtlvтьIм> вIЦтуL-пnIIn]!| Рil3.}rсром, O6ь],llJ() rrlIPY(оllllсnТсJrl устаЛaI]ЛIЛ]аю'г в'Цryil-'lьIlьli'paзlIеР вllellРясi\loiiсскJlDи PanllыN{ qЛli]]1Чсскопtу' за6ьIвая o то^{' l|To с(,,]JЛ r-sz < v-sz! тo BЛP]..уILЛr)'llJ'll pазl'ер t]]|cдует J]Ьl'l|.l(''lяl.L'j ll(хoдя j]з PaЗll}lll]]I RuPlYir-lьuЬIх адPесоR тcJ$llIiсji x llосЛедукnцeii сскJllIii. к (чaс'l,Ьlo. оI]jll6xп вlIе/IPсIllIя lJl.ol.o пlliа l]с /l!:сT.])\lкTliIr Ьl. lt llспраlrIlть ]r]Ц'Гv:UiЬI|Ьlii рa|lrvIср iloжпо в Jп()боi.i N{()Nlс]tl,

BHЕдPEHИE B PEГУЛЯPHУю пoслЕдloBAтЕЛЬl-ioсTЬ БAЙтoBЦoпoчкll llу''rеii llс 06'за-|с,]Iь]]o IIскaтЬ в xгlостaх сelrций, дался IIa\I этоNI хвl)с1.,кoгдa остlnьпЬlе чilс-1.ll (rliiJа flпчvть IIe ху)Iе' а зaчaсTyю дaniе лу'Illle коllllаlс(:l'(сll 6о",rьlllе: llе ()6'заТсЛьно I,Iска'ГЪ иNielllJo llv.Jlll для вI{е/.lPеlIll' пoдхо.дrrГ Jrо6:Lч Pеl.yЛяpная lloследoвilтелъпостЬ ()taxpurиоP' цепoчira FГ tГ гF,,, ll,I1l1| ' ( " L | 0 0 г г 0 0 , , , ) | o - о р \ t l l | , \ n / , L , , в , . l ' p . Д

пepeдiчеii уnpавЛсния, Если u]]еДряeМьlх цсnочск 6олЬпIe oдпo]i, х-кoдv пPtI-дется как 6ьI <paзмaзaться' пo 1c,ry фalira (а скоpee всеi.o, Tак x 6yдrт)' соoтвсTствонrro' стaртoвtilе iцрссa и д]rПIlь] Этlrx Цeлoче]t xpllдrтся lr]e тo храlllf|Ьjlllrачс ItаIt потoм пPllкiD{сГс их вoсстaн:lвливаTь (Рис' 6 6)?

Page 129: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1з0 rлaва 6. техника внeдpeния и Yдалeния кoда из PЕ фaйлoв

Pис' 6.6. Bнeдрениe x кодa в pеryляpныe цeпocки

PeГy".]яРlп'c IloсJl".Довar.t:nr'lloсTl'l чаlrrс вссгo o6нарy'r,IRlются Ir pесyрсaх.l1.оЧ-

Irеe в Ьitшap'aх п r'rкопli:l}i' -l.ехпЛЧcсlill

вIсдPI1Tься сIoдa нпчегo rlе стoпт' пo]1oЛьзoвaтсJь тут,{с зa lll чсrc дoпyс]tать н]l в ltoejil слy-чаc llrj"цr,:J! (дФкс с(l'Цx этo и ltс l.Лaвнaя 1Jко]]](а пpllJо)к(rlll'' ПРоroдl1lrк llо]{а.3ьII]ае1. ()сl.а'1Ь l t Ьrc ]l0 lli1'каLllu ]t]]оlll{и сМенить знаЧoк D ме|l|o св{)iiсTв яPnыкa),сylIIeствyет лРyГая пl)о6Jlеntai ссJ]11 |]сгIЛяPнаЯ пос.r]е]1овaт€r]ь]lос'Гь оTttoс11T.сЯ к сЛyжебпьIм сTРуктуPnjll /{аl l l tr,lх] il]1il.lltrзllpvс]!1ыхзaЦ)Yзчикoп'' то фaiiJL <уlIiL.

/lagг> eJILc,l(о т0гoj кaк х']tоjl усll('ст loсФirloвитL этy PeгуJIяРllylО |(x]JleЛoва-телЬrloсть в ]1схoЛlJьlii lrluL, сoоTвrTс1rruJl|()' сс.rlll Рс]..YЛяpIl;rя lJoс",JедoлатсЛЬItoстЬсo/lcPl( I l1. ка(oе.тo l{o.]J l i чес1 Irо Л еРсl\|еI ILасNl ьt х )JIе]\t с l I Ioв ].lJl t,l эnci' сltтo в Tа6Л п.

цьl и]\1пoр,га' тo B l.Iсхо]LIlЬlli i]пil сc вoсс'Г;]|lill]nl||]а1.t, ||ll l] l{o0Il сnучilс IIсJIl)зяl, | ' | | / | , i | | l . | ' ' | , , г ) | . l г l ) , l i ' ' \ ' i ' | | ) , r , , ] | ' , i ' ' + . J , | , I J . . ' | ' J , , I ' . ,' | . c j lЬ l loс , ] . J l суJ i l eсTIJс i l | | ( ) УсЛ() ,{ | lя (T(J l . | | ( ) ( )T| | | l ' lЬ l ] с сT i l l к ) ! l r I ( , l t lр ] , l I tц l l l l I , l а "цЬ l lo

IIplв/li]' tlсxo'гopьIс lll)ol.PllN|]\1|.lсTln llс||о]lтjtlIll(а 1l]lc)tl),rl()]Ur в laблr,rrlу lк1lсьlс.x(а0i!]Ьlх э,,IсмсIfГoL]] |l0обРIl,гlII1o зaTlIPaя сс сo/lср)(Itivоel liоскoJЬкуl I|o I]х tlJlо.IiI1'О' 'I 'оJl'l,lo\]I.'м фаiiJlаN olra llo |1\rxora' ваPваpьII хоTЬ 6ьr ylloсToпeрt'Jlись

с l l ач lЛa,ч1.o01,00,00.00h >- Imвg € ваse >:40,00 '00h 'Bпрoт l r r r l Ioп 'сЛучacTa(F

'nпЦa пеРe]!{епIaei!lЬlх !'lIеnlеltтoB l)сilj||nю ||у}кllа фtli].,lУI к Tому )t(с нс всc фаilЛЪlс рaспlIrрeнIrепt ЕХЕ _ пспо'nllяе]\ll'е' ПoД пх JlJ).]Лlюii вnonllc rvоx{cТ rlPятa-rьс,I

rI лиl]aNJrгlескaя 6ll6ЛIioтeкa, а дппa!I.lческПI| 6п6"uюl сrtам 6cз лсPсlrсщснrrянIlltyдa' вoпрскIr рaспрoстPанcrrноItу мflеIriтю| устапoв|ta аTри6yтa Il]AGE_Е]LЕ-RЕL0сs_sтRIPРЕD tsoвсс ILс зanpcщaсT сl1(тсNlc ]lсPсi]сщать фаirJ' дЛя корpектпоrooтк;tro.rеrlIrя та6lrrrцьL rlеpсIlсщаollьlх э.lоIlсtlтoв нсo6ходш;ilo о6lrу"lпть пo"те]llAGЕ DIRЕсТ0RY ENIRY вASЕRЕL0с rr DATА DIRЕстoRY,AtsТoP знаItolt с паPoIi Jiа6oрaтoPньтх виpусoR' умeЛo иllrсrPиPyющrш х{oдв oPIJгIIнальнyrо пРorPaпi]\IУ I,I акTlIвпо IJсЛl)льзyroЩrrх сTPorlTl]nьI]шii п{aтеpIJаJ'llaiiДeп]IъIй в Tе'']e фai'i.!i1.хoз'uвa, oснoвнoii IIнтсрес представляют 6п6'пиoтeu.llьIе фyпIсlltll' Рaсlioзllallrlыс ''o '1х сигнатуpс (нaпpиrшер' sрrintf' гаnd), a есЛиTaI.oвь]х lIе o6]]aру'кl]вaeTся' Х{OдЛr16o oIраitпчl!вa€т свою фyrп(lIl.loIlaqь]тосTь,Jlи6o pс.rjlrlзyс.т их сalloсToятс.l!]ro, в деЛо пд1т ]l oдllночl lьlе lraшllIIllьle кl lмаll-J1ьI' Tакие как сALL ЕBх пли J]'lP ЕAХ, с!riс'] ЭTorо тpюкa зaкJ1ючаeтпlrдо6ное пероNlепrIIвaние кol аrr/'1х lLoдa с коIlаlIдa]vlrl Oснo!]lоr'i пpol.pамllrn нсI1с,звoляeт аJrтIIвIiP},сам oтодPaTь х'itод от (l)аiirа, oдflакo данrraЯ тrхникa еЦelIeДoвсlrеla дo yмa rl всс ещс нaходится в ста]1llЛ разpa6оTки'.'

+

Page 130: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тeхника внeдpения и yдaлениЯ кода из PE.фаЙЛoв 1з1

BIreдрение. Алгopиlм в L1сj\Pс|1||Я ВI,IrnЯДLlт пP|16lи з и те''lьнo так:

сканиpусjll фaй,r нa пPсдмст пoисitа p€ryлярньIx пoслelLoваTе.ЦЬtlotlТсii tl oT.6uрaеi1срсди tltlх цспoчI0r на116оль lel"r длIrньI, Пpичеп с\ll'N1a lх lu1l1ll jloJr,к.

l lа нссrto..lЬкo пpсв ь] шaтj, pазilсpЬl Х-кoда' таlt как на кDкj1yк] Цeпoчку в сPе]l.l]епl tlpuхoдиTсЯ 11 6аilтoв слу,кс6ншх 'цанньIx: чeтьЦe баiiтa l]a сTаPТoвуюIloзltцl1lol oдI1116аiiт . 11а дЛnlryl oдин - на oPигиIJалЬlIое сo]1ер)ки[1oе rl еще' ятo б , j гГ .Ь l l | \ |сU|| | l | . ] / , ! | U]\ l r j ] | \ | , . | с Ioд" | , IP\ гn i ] | leпo ' кe:

, , l , + , , , ' " r t . , , , ч , о l l | | , а к : o l ' : п ' U L ' ] | o Ч t , н г | P | | н a r , , к l | | | | ' l ] | | n i i , , , ' I l l ' гс,|PукTУрl llсPсчrtсJ]сннь]х в DAтA DIRЕстORY, имerrнo пoдстрyктуРl a rle fl.pук-|уpI 1loсt{oЛьr{у Taб'.lи]rЬ' эксIJoPтa/''I{лоpта] РrсyPсoв' пеPe]v!еLцаеN{ЬIх эJ]е.Ilснтов о6Paзуют пtпoгoyРoвнeвьIс дРeвoв!l,1llьir llеPаpхиll, tlрo11звoJ]!j1],1Nlo6paзor$ PaссеяппьIe по фajiлv' оГРаIlllчlIться олlloii '1ишЬ ]lpoвсpкoй npл.нaдrrеЛoroстп' IIIAGЕ.DAтA.DIRЕстORY . Vi гtuа ] Аddress U ll']AGЕ DAтA D IRЕстORY . si zeкaт']гoPrIчсскIr ll €лoстатoчнo;tlPorсPЯсl\l aTРи6утLl ссliцп11' ]{отopЬr]!l пр11падЛсжrlт цепoчкa (I}.]AGЕ sсN-14Е14 sнARЕD' Il'1AGЕ sсN МЕl1 DISсARDAвLЕ с6Po!rснЬI, I AGЕ-sсN-l.]ЕI4-RЕAD rlлпIllАGЕ.5сN'14Еll.ЕхEсLJтЕ уfl'аliot}.lсllЬl' ]}1AGЕ.sсN сNТ*с0DЕ lrЛlJ IHAGЕ-sсN-сNт- I N IтIAL1zЕD.DATА \,сTaI i()rln el I ь] );(liaPcJaсм' х{ФЛ |l;t /(оJlЬкll| /ю6irв.I|яЯ п кolIcIL кa'{Лoй |l]} |llrх кONlаllilу |IсPс-хoда lla JlаilaJкr сЛе/(yJo|цсii' Ilо 3а6ЬiBaя о тоN, .ll.о тоT jnр, к()T0рь|ii ((хЛr]с'L.('п]:r'e1]\laiIIjlIlIIоl!'y к()Л) Евh' ра6отаст с oTIlос|1TеЛЬlrнNjl't il/'lPcфl\Il'tl || i)1.() Tс(а l JЬ|c ;1дРс(a1 кoT()РЬ lo ( )бP l l ]ук ' гся l I0О l r r зaГPу)к l , I l l poГPa j i l \ lЬ I в l I i l n tЯгЬ 'с <сЬ|рЬ|N l I l ' ( iЧсU lс l I14 , lN j l1 l ] l |у 'QП (D l l i i J l ! l о I l l ! | l l I l ) l l | ] с l l с сoв l laд i lTь . lQ l I ( lQ i гвиnЬл0 ЛЬlчll("цl.l1,Ь o'LlI(lс]r,гсJlЬllЬ|ii il!Ц)oс l|('PoхоДа? o,lpсllс'llяс^1сNl0Ll(с|llIсfioмitllдЬl Iloр0ходa o-г (ljllзI,!чсшrcгo l]?lчa'llil СcкЦпЛ, !ю6aвЛ'lсNj lt llсIlу ItятЬбаii'l.ов (дJIlllla ,{ol1a!ur],l вмссГo с оllcPаuдo!)' ] l('|yчollIl}']o вcJIUчllllу СкЛa.

реNlcIlllук) 4:/, зl1сl\l oIIре,цeляeN{ сlllclIteпие следуloцei'i lLе|i{)чк}1, o1.счx1.ь]вit.

еNIoе оT llailAJla тoii сe]illllr', к коToроii опa пРиIlа/.iлфкttт' Il скЛaдЬ]вllеI' сl.()с вuртyilllЬl l 'I 11 ?l/lрес0]!{ ' зalIl lсьlI]:lя поЛучel I l I ьlii l)eзУЛ |,TAТ в r lcРеIlеIr ]lуl0 .l2-T . : r ' 1 | L 4 2 l I a / , ' I P | ' ' i | ' , | ч r ' t ' ' й

" l , ' ' l ' ' l | , , ' , , l ' I I ) | ц | | | | j I p

адPсса,ll]llнЬI и rlсхoднoс сoдcP)lс]Iloс вссl цсlпoчскв rlltIIрoвизlrроBaнIrоN хранl{JIlIщe' сooрут(еIrнoм jiи6о впутрп PЕ зaroЛoBкa'ли6.)лпу1.lЛl ol1поitи] IIепочeiL' Ес-1llэтoгo1lе сдejrать' тоlДа Х-IФД пe с]vlo -

)кeт I1з]]Лечь с]]оe TeЛo ].'l фaiiЛа'хoзяrrllarlЛя 3пeДРеIlllя во Rсe пoсЛeД}4oпIие'llскo,гopьtе plзpa6o,гlикл вмeс1O I(ovaпдьl jmp испоЛъзyloт са,]], Ja6рaсьшаli)-

циji Ilit !еPl]rllr1у с1слa aдРес вo3fiP;|га' кaк llе,l.ру,I(ll() сooбpaзи'|ь, сolloI{у|l-]loсТь адPcсots r]oзвPа1.а rQеДсlaвJlяеТ сo6oi] лoкаЛ]lзilц11ю <хв0с,|oв)' всeхl1сllo.lь3yемьtх цcnочек| a aдрeсa <Io"1oв' хрa]lятся в oперa]Це (olиr]ДьI сall ll,IзвJrскaсI oчсPсднoil aдpсс вoзвPа1а, ),]urfiЬшaе}] еlо на 4' и оTнoсlTсJlЬньliiсTаpTI)вЬtil адрсс сxсдуloщсй цсnoч]{u llсрс/r наl 1I

идeнтrtфItкация пopа'(el{ньIх 06ъект0в. BпeДpeппе в реIyЛярIIyIo пoсneДова-тс,'1ьI]ость дoвоЛьнo лсгкo РасIIoзt1аTь по дJlиннoii uспоvкс iпrp'ов rrли саil'oв'пpoтяtlyвшихся чepeз oдlly илtI нссr{oльlto сcкцийфaйЛа и зачастyю PaспoJ'aгa.

Page 131: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Lз2 rлава 6. теxниG внeдрения и yдалeния кoда из PЕ.файлoв

Ioщихсяn совсе]\{ нe свoliственllЫх испoлI'яeмoNlу lсoдy мeс'гахl llаIlpи]\lср в сeкшrидaнныx (лnстIrпг6.з), A ссли x{oд впeДpиTся внутpь икo]Lк'tj oнa lraчиrlae1.хapal{тcPнo <шyi!{еть' (pl1с.6'7), хРке' есЛи o/lttа р€ryляp]Iа, цеnoчка' Pаспo;rожсннаЯ в кol1oвoй сeкцI.rи' вмeщaе'Г в сe6Я вeсь x{tод цeЛикoil- тoгДa r].]тявь!явлеlJия впeдPсннol.o кoдa пPихo]Iптся пpи6егaть к elo дrrзассем6лllpoваl11'ю!i пРoчll]\] хt.lТpoyпlньIм тPIoкaм. к сЧaстьюl таl(иe pе1.yЛяplrьlе цeПoЧки пpакти.чесI(],' tlе всTpсчaются, вo всякoм сЛyчае' прoскaниPовав сo/l"Ap'll1,\loс пalioкWinN1.tr Pгogтаrrr Еi]еs, я o6паPyjrrиЛ ли1Ць oДи]t та]roir фaйЛ, Дa и тo дсинста-1.

Pи€.6'7' внедpениe х.кода в главную икoнкy ф6йлa

листинr 6'3. внедpeниe х.кoда вpеryляpныe цrпoчки0l00A708: 9с0100А109 60 рuslrаd0]00А70А Е808000000 сd]] 00100А7tА . ' . . ' . ( l)0]00А70[ 64678в260000 mov esp, fs:[00000l01004715 6167IF360000 push a fs [0000010100Ai1B] 646789260000 mov fs |00000] сsр0100A72i: L800000000 с0l] 00100A/26 .. . . , . (2)

' 0 1 0 0 А 7 2 6 : 5 l ]0 l00А/2i| 8зtD230100А72А Еi]2в

0100A75/. Ев0Е

, 0 1 0 0 A 7 6 7 : 8 B с 5' 0 ] 0 0 А 7 6 9 ' Е B 2 с

0l00Аi9 l] Ёв5Е

,0100AlГ; , : Eв5Е

'0100д857: ЕB3Е

0]00A897: Евзг)

0100А8D6: Ев0D

sub cbp 023 #j л p s , 0 0 1 0 0 А 7 5 / ' . ' . ' - '

jmрs ,00100A767

.]пlps 00100А797 -.

Jnrрs 00]00AlF7

jmps '00i00А857

jmPs 00100д897 .- .

Jmрs ,00100А8D6

jпрs '00100А8Е5

( З )

( ] )

п )

( 1 1

( 1 )

( 1 1

Page 132: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-эявика внедpения и удaЛени' кодa из PЕ.Файлoв 1з3

. 00A8t5: 2D00? i0000 5ub еах '000002000 :. r0AвЕA: 89157Е070000 пcv tеbp]|00000077t] 'eах

] ' r lд3Е0: 50 рush еa i]0 i lA8г1:05001100n0 аdd еar '00D001000 i ;

00A6.6: в9857Е070000 m0v tеbp:] t0000007/Ё]eaх. ]00Aвгс:

50 Dush еaх-L00AвЕD:0500100000 аdd еdх '000001000 i >

- .00А!02: tB31 jщrs 00100A935 - . . - . \ ] r

вoсстailoвлсtlис поpФfiснrrьIх ()6ъект0в. oтoДPаTЬ {Jт фat]Jlа х.кoдl нalrухo.,ll|вшlJnсЯ с нI1]!l в иtlTсlpaцrul nЛхllil}lчсскol,o 6Paка' llРактrruески нсвrrзмож.]iо, пoс(ojlьl{y oT.{llчllTЬ фрnl.пlсяТri х.кoдa oТ фраr.,vеllToв opпt.] lнiL'1],]{oг0 li]ilii -

,la llllак'Гич€сl{п IJ €PсаJъно' Да ll нуяtllo nи? BсдЬ l1oс1.a,r.oчrlo oTo6pатЬ у нсro, !lpав,lепllr.'' к с,Iастьlо, тartltх Ilзo[lpенньIх X.кoдoв в дIrкoil пРпpoдс пpaкгl1.llt(|кlI llс lrстРrчаетсяl lI o6ъгпro olпl огpaнививaroтся впедPениспl в свo6oitньrс.с 'lх T(,.rк'l]rрtJ|ия) РегyjrяPill'е посJrедоlrатс]iьнoстlll l1oтoРьIe впoЛнс ]!toгyт Ilрl'l.lr:ril'rLrк:ггь 6у(leparl rпrlпol:rлitЗиРоваIппnх,lallпьrх, и ссли Х.пoд пеpсд псрсrra..l.ii v]|l).L|rJJс||l|я oPllП'llrаnьllоj] пPоIpамi,r нс пoдчIlстtlт их зa сo6oil' сс IIoa(цс.r I l Lс l ) скусT с , | . i l ' | .Ь с ( )BсP l l ] сянo I rспpсдс(азу0п1 l l ] ! t (o} lа oхидаЛа увnдe,ГЬ]l ll lиlolaЛ]t3lllхЛ]аllrlоi{ aсPc]!|сн!lой tloЛЬ, a сii чTo Iю/r0yнyЛп?)'

]Jlх'(|'|ilIloв'llсIlllc иксllю]( l] Ьiпlrn|)'oll1lс сoс[a8Ляc I боЛl11]oil ltPoбЛсмЬt ll oсyIIlс'.lП'l|Яс'гся трlllll]ilJIl,llоii lIpавкoi] рФ\,l)сoв I] Лlo6ом lц)!l''lич|'loNt Pс/lаlffoPс (||ll-

]|р||]!1eР' l] VisLlа| str.ldio), :Jадilчy суul0с,l.в0lux) уIlPo|цас,г ТoT q)aк1.' чr'o Dсс ||ко|]'

] i I l o6ЬI . I l J ( ) х ] lа I l , lTс , l в l i сс l (oJ IЬ l (11х э I t ]}c] \ t l l J l ' l P l l х ] вЬ|I lо .цI ]c I l l l l , l х с P ln I lч l l0 i1

rl|]oT()]loii ||aлli'Ц)oit Il рiLзрс|]Iс|lllc\{' I{ Тoму хс !l3 llссх рсгyЛ'Ц)lЬIх Iloс,lIсl!otlа.

|с.'ILll(х||1]ii lLР()Ц)дN|мrlс,пn ()6ьItIIlo вЬIб'tрalo,l'дЛ' вIIqрollllя rtyJlЛ] сo()1.Jlc'l1t]]у.

k) l |L I1L l I IPo;1 l r ( rч| | ( )мv цBету l l икo l l кaх п I rср] lо] \ Iу в Ь i t lnаP 'aх ' сarч i l l raPT|] t I l tа oс .

]ilс'Г(,| ||с|l()|rl)с'qlcIllloii' rlo oItPу'tсIlн(]ji мусoPoil, l{о-l'oPЬlii JIoГIro ylli!'l|'eTся

Lr(t.1rlio]!', Ес,'rlI пoс,tс yд.r",lc11lrя х.кoда ll)аii"'] oТ|r:rilЬlвac].ся 3:1|lус]r.t'|.ься. прoстoс\lсlIlr1C рсдакгоP PссlyPсoв Jlll6o Roс|l()xl,зуi?reсь HIЕW, пPи r\ll]flIrп{альI{lnх на-

rlьrlLaх pа6or'r,l сl кoтopьI]!] I1x()1ll{ll I{o,{|lo l1рilRI]Tь n heх-Ре,(пмe (счЛтаii'гс, чTo

IIpllзllv nlcстнаllцa ГoPl.lчll Ьlх к'l()в),

oт,]e,.IЬilый сЛУчali вoссTанoвJoнlс Tа6nlцьl llереI1еЩaем6lх э'nе]!{еllTllR' I!еo

.)pа |l1N1( ) p:urlrуl пell] IЬlх гlпeДрeппЬrм х кодol' ' I(oгда Imаge ваs6 < 40 ' 00 . 00 h' Tакoй(l)liiJl llе мl)жеI 6ЬlTЬ зaгрv]кеll пo'ц WiЛdows 9х, ссЛи в нсм liот ]lеРсi{el|lае]!{ъlx

JjlolloнToв. ]lPrlчсil пojrе II]AGЕ-D]RЕстoRY-ЕNтRY вASЕRЕL0с имrст IlРиoPl1Tст IIад

4,"lаго]u IиАcЕ FILE RЕL0сS-SтRIPPЕD' и ссI]1 II]AGЕ-DIRЕсТ0RY_ЕNтRY вASЕRЕL0с 1_ 0'x та6-(IIILa rleремещаепlьIх эЛcllcнтoв сoдrp!{иT мУ()Ir' тrr ЛollыTrta перeмеrцснпЯ(рarfJra пpirBедет к lJепРедс}iазуcllЬl]\l ItосЛсдс 1.вl,lя ii1 _ оT зaвllсa] ll'я /lo oткaза в за-l.l)узкe. Есл]l rjозlfо,llнo, псPснссl{тс l1oврсжllсl1llЬlй фаii..! ltaWindows NT' пolни.tlilrrъllыii 6aзolrьтii аДрес загрузкI,l кoтoPоIl состaв.]1яет 1' 00.00h' ЧTo llo3во-lтяет еI:io6хо'lllтЬся 6ез пеpelle1цеrпrii дa,кc там' rдс Windоws 9х у,сe 11е сflрaвЛяeTся.

х-к0д,1Iе гцювеpяIo]j{r]il фЛaгa IмАGЕ FlLЕ DLL'мoжrТ!нсДриTЬсяи!ди]]altиile.скrrс 6л6;rrroгскrr, rrllеroщ'tе lraсx]l1реlпie ЕхЕ' вот этo действЛтелънo пРo6Лc.\lal B oTЛичис оT r1сllo]]]rяei!Io1.0 фаiiлa' всeIДа загPyхаюrцeгoся пeРвьIll, дrlна.

Page 133: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Lз4 rлaва 6' ,р\ nPd в' рдPеlиo / yд.' еь,9 {oдo iJ Pг.фa;-oв

]!1иЧескaя 6rl6.(иoтсI{а вЬll1vj{денa пoЛстpаиваться ]toд I{oнкРeтfly]o сpe]ly сirlJo-сToя,ГеJ,ьlJo' rl беj] nеPсп1сЦaспlьIх эJe]lегIтов eii пРlDioдuтся oчeнь Тvгo' поскoль-r(v ria оди]] rl'].о1.rке ill1pсс }1оrут прстеtlдовaтЪ IlпoжесTвo 6и6lиoтei{, Еслri раз'PепIить ltопrl]ЛиItT IасOванисr\l 6!l6лиoтеil в г'alrяти ]IeуДaстсЯ (3то llo)кпo сдeЛать

уruJrltl.oii ЕDITBIN из sDк, запy leli]I0ii с кJючом /RЕBASЕ)' пp1.]Дс,|ся вoсста-нав,lIивaть пеpемеlJIаrNfъle эJeмсн'|Ьr вPучную, ,цля 6ьтстporo oтоrкдeствлeпиявсех a6со-.тrотпъrх адрtlсoв ]!]ожнo tIспonьзoB^ть ulсдующIIli aлroPптlli прoeци-Pyеrv! 4)ai1jt в llaмяTЬ' lзв,nе]raе]\f /.lBоiilюе сJloвo' lIРt1сваlrnаeN егo nеРt]r\lснfloii х,I{e1. Х l |r] Год] lТся, goзьNlсll Y, Есjli Y - ImаgеBаsel1 Y <= (Iпiqе 8аse + ]mаge size)'()6ъявляcll ,|е(уIruii aДpOс lQндиr]aтor1 R l|сpсllсl]1асIx'е элеlriеrlтьl' спjeulае,!1с,lпa 6aii'Г' r'iJBЛе].асN1 сnсдуtoщсс двoiillое сn()lr() Jl IlРодo.п7{a€пI деi]сТBовaTь I] 1.()Nj}I(е,](yxe. пolLa l(сдo(тlllrrсll ltoнua o6рaзa, Teперь ilat.pу}xасrl xсслелvеllъlii q)aiirlв идy п апаJr,Iз pуеi{ кrж]lot,o l{андrIдата ]Jа <пllаrt]1оrroдo6ностъ> oн ]]oлтrеrrllpсДставЛятъ со6оji сrvellLсljисl n l]с констаIlтy (oTJ]Jчис кollсTaнт oт сNIсцrlIrп:illoдpo6нo РaссNjnтРrln:L]о(|ь н <ФуltцапlсUтa.lьIlьlх осlювах хаксPсl.ва' I(PпсаКaоlrсpскп) oстaется ,п]|lЛЬ с{]oPrllll]х]Baть тa6.IttIIу ltсрcilсцaсillъIх элeмеlIтовn запxсаTь r€ u (l)aiiл' I( сo*(|.l]с|tllЮ) пPcдJrагaеNlЬ|ii а.rl].oPtl].ru чРсЗnьI.lаiiJкJ Tl)у/ lo l ]] i joI{ t l l ie сJ||||J|к()nI ]|rд! , iкс l l ] тaк l{aк с i \ l tп l l ] ]|] lс " ' ] ( l t1to спvтa 'Гъ с коIJс ' r iUr|0 i j .нo ЛРYгlrх |Iv'Гсii, у!r', l l(' су lLLсс'|.вyс. г, OсTаo1сJt ,]а/ilс'Tься 'l|l]пll] lIa To' t|1o Х'кoдoка ) I { с ' r ся i \ J а J I i r l 1Рс , г ] l с l J сю L i r 6ЛI i I l v ' l 1 ) ' ' | Ькo с0 . I i l с L l , .

кAтЕгoPия Ai в}|ЕдPЕHиЕ пyтЕпl сжAтия чAсти ФAЙлABt lе l tрс r r r rо r r pсгyлярr r rno l l ( ) ( . ] l с / lо I ] i l , Гo ' l Ih l | ( ) ( '1 . | . | ' ( | l i l l { 'л tЧсс l r l l ' я I J - , ]ясTся Р l з I I (n] д-lюсТью6oЛ00об| к ' j iT0х|L l l к11_ в l |с j ( | l ( t l l ' ' l l ] ( | )a i ' i J I I l )n .с ] " t с ' .a ,Г l l , егo ч i rс1 . l l ' в l Lа| | .IloilIслYllt1e oсvIiк'(|'I|]Л'|сN|олo Ilо nJlГоl)rtT[lу RL]] (p||(' 6.t])' Ес.nl' )|(е l,lс|loJ|Ь:]o.rla'rь бoЛсс (t)l]с])|l|0||lIЬlс llJlL1)РгrrtЬl (|lllлPr!NсP' Хllq](i]маlla lI'nпЛс}1псna - З вll),то стрaтегlrя вьr5rl1lrr lюдхo]t,l|цЛх часTсii iЛlaчllTс,]lьIIо упPоlц;lc'к:Я llаПaii-ro (orlrIlclt коiLоllуn) .скI lI ! Iо] il Illl oспо6оiппnпсесЯ N|с(l|o заrllЛлcll свое,].e'no, JlcГl{o в Pс.аiп]3alLttllj lliLцo)ttto в эltсll.llyатaпlnJ] l,]ск,!loчсItlloсостаIlляю'Г, rlo}riulуii, одrtlI"!]rr|]Ь

у|llutoваlIныcфaiirьl' l.о,Гoрьlc v,l{с lrсужllсrпI,j хoтя, ,lrJl(n.oJIи х.ILoдY нynolо прo-с|pаllсТва? ^ сскЦrlя Iф/.laу|lilк('rа|lll0гo фail,]а по.-пtо6olrудo''rжла содсpл<aтьyпа-кolrцj]к) хoPol]Io пoд]1аюппlik'я с)кt|ГrIю, с()6ствеIпlo roяoря, paзра6атьIвaть свoilкомllpсс]сop сoвeрnlс}lпo пe ()6яза'].сjlЬнo' Taп rtaк соoTlrеТсТнуloщlli фyнкцIlон:L'треtUlllзoван п в самоii oC (lrrlllу.lrярrrая 6u6лиoтекa zз2'd|] дJDt наI]I!ж rrеЛеIi пe-пРril.()]Lrlаl IloскoЛьI{у рa6o'Гает исl{"1ю.nlтсnьнo lra рaспaкoBкУl oд]rакo в PаспoРяniellllli х.кoда lllteются IJ Другl]е vllaлoвщrпor: ayДrlо/вllдеoкoдски, экпopтеРы].]rа4ntчссl{!x форпlilтов' сеTевЬlс фvнкullr с)I(a,Гllя Il т, д,),

Естоствепrrо' },пакoвкa oPlll.lнtl.пьI'oго со/lеР)кlr^юГo ссiLIlшJ (плп еe чaсти) нc06х1r'1ится 6eз l1Pо6Jlcм. C-'Iед1,ет' 3о. '.,' ',rq ,6сдиться в тolr'.lтсl секщrя вoo6пl"A l1oддасTсЯ слiатlJlo' Bо-втiJPьrх] ]rрсдoтвpa'Гшть сжaтис pссуpсoв' тa6лиц экс-пopra/шI]ioрта Ir дPyгоii сnужсбнoii инфoPIlarIп l кoToрая Nlo}]rc'г пPrlсyтсTвo.lать в 'цю6ori пoдIoДяnleii сеxции фаIiла I.l кo/'I0вou сскц1i]1 в тоll чис-1е,B-трегьrrх' пeрестроrrть 'Га6Л llцу lrсpсмсщаeмьIx элeivеl1тoв (ссl]r' кoЕечнo' онaвоо6lr1e сстЬ)' ис]tЛючaя rrЗ Jiee э.Цсl{снтьI] пP]1на,.l"тежaЩис с,flимaсмoй секцIrи,Il пopyч:tя llaсTPoйкy псре]fеrцаеnьlх адрссon нrпосpeдствellIIo са]!1oNty х-кoдy,

Page 134: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

*NN-"***Рис' 6.a' внeдpениe x'кoда п}тeм сxaтия сeкции

:. ,зJ lr п{aroГ пРо6J сN| l,l l I l IP 11 рiL0lаIlовl{с' oнa Лoллo Iа о!]уI цц:,|в.]l'l'I.!ся на пpсl1сl ь-]t с]'oРосT]i' IJr|;l.Je xPe!1,I ijаЦrуJк].l4)ilii-.raзначllтслЬпо noЗPа(:l(r lr llо'(ЬзoвaТс.ць

'Iiс Iiочyст чTo 'Гo JlсjlL'ltюс' llrlэ,t.olIl о6ьruнo сllilliltаlо-l.l|с вO0 сскц111о Цс'llll.бpав мсс,r.а с наl16o.lьIпоii с'Гe]lrlпn() O{inllя, С1PtlullцЬI

] l l )BoI l сскц l I l l . )1 ' ] lnпJ j ( l l i : }а| | l L1 l l l с | |ЬI l l l no lп 'Тлn l ' х l l опoс l )сдсr , | rс | l l l ( ) i i Nоr] l l (D l | .l : ( l l l в r l | эЬ l lас| . J i с t i , l lЮl l с I J ] ]с ,N lo ' t l J ( ) ' к ( ) r r .ч l ( ) , ,Ц] l l внсдP!| i l l ] l х Jmдtr I rР l i сн( ) 11)

(1)в( ) i i сс l tцJ l l l a l ] ) j I61T IмAGЕ-sсN | lЕH | ,{R]ТЕ ' ,к ) | i ] ) i l сx I rЬIN l э 'Гo pс lпс| l I l с | l ]п{ак | | ( ]ln)sс| l l r ) jо lюj l .N lа( l r J IP] ( ]тхJ( ) ' L r |с | |иn( i lg r l1 ; r - ' t ( 'жtкхr .ьлpограмлrьr , i ) r r l r l ссpaвrп l' ) ( ( ) l ) | ] ' lТ ' ' . ' to | ' l | l l l l ]ЙPr l i j I l l ' I i i кЛnf iа I | . T l t l i l I д( ) } l rP l , l l а | loл i l J l скo ' J IvЧ| l Ic ( r l ЛРt l, J r, I k]o] ) дl1l l!11 l lIL'с п l Il рlr(]lr()l]1Ь a'lрlr.)уТ PAGЕ RЕADl.iR]ТЕ в LllolJ()I! Vi гtuа] Рroteсt '

l r l l ' . r c Jа| ]c l ) lп l ) l I l ' l ) i l с l i i L |Ф l ]к l l l tоJBрxI l lTЬ l lT l ) ' rб\ ' |ьJ I iа r Jсс , l . ( ) .

I ] l l с / lРсI lие . ( )б( ) i . ) | l к , r I r I r , I i i l ! l l !р | r lм r r l I ( 'nР{] l ] I lя I rЬ l l .ЛЯд| l l . 1 . i l к :

. (r|кРьIп^сI1 (|)lliiJ' с.]lf|шlrilсIt lrЕ-tilго",lol]oкi

о rrlхо,\llii1 8 тlLб,l пr(r: tx!сlulil((ll{jцII.:] с ll,l.PlI6Y'Гor!1 IнAGE-SсN-сNт-с0DЕ (lLак flPa.l l r lno ' эTо 11CPI lаx с ! ] ( ro] ' 4 ) tL j iЛ l l ) ;

r r'ijсlrrдaоllсrr ' ч го эт.a сскцпя 11Рl Л.oд Lril д,l|Я |]l I|д PсI irIя (оrla Фri11NJa."r(fr. lс со.дс]D l t l l - l . в сo60 н l l как l tx слуnrс61 l I ' l х 1 i l6 , ' l I1 IL ' I l с I lо 'цЬзyсI Ых за l . l )v ] ]Ч l l l { ( ) r \{ ] l l ] r сlrI]с(||tllрlIб\n.il ]l']АGE sсN Еl,l D]sсARDAвLЕ)i

. с)ot]\1ас]\1 сскцlllo I1запllсывaем сe6я lIir ()сн(16одrвrшссся прoстрaпстпo' раз-tlеlца,] х{tодJII16.) Ir на.ralе с".кttllи' rrи6о в cс концс;

. а}tItJизtIруе\l т:l6.nll]Iу llереIlсщaсlll,Iх эJrcilснтовj <(]rьIl{УсьLвaсIl' оTтvдa вссэJсI]ctlтЪlj о'ГIloсяпLl]eсr л (,{аTо]i частl1 сеxцIirl' 1' Ра3ItещасIl rlх вrIy-гPих liодa' a па RЬlкyluеllllЬLе r\1CсTlL заIlllс],Iвalrм l|lAGЕ REL вAsЕD АBSoLL]тЕ свo-' о r | " ' , ' , ' l , ' ' ч ' | | t , ] \ ( r P ' ' . ' " l . ' ' ' | " n | | , r , ; ' " ' ; o o

I,Iдеlrт фиitация пoрDкeнньrх o6ъeктoв' Paспoзна'ГЬ фап вIlсjr]rсния в фаilJIr}'TсlI с,LaTllя частI,l сеlllolrl TРудllol нo все такп возмolою, 7]rlзaсссlt6,пировa.н] lc с,(aTo I,1 секп'1] I о61]apу'{l.lваст }1сIioто рое ILo,rriчeсr.вo 6ессrrьlс''rсннoгo lIyсoDа] 1{отoръпi flаLTорr'кl lвасT onьlт]]oго иссЛ€дoRaTеляj ]l o зачас]тvю vсt{oJ-Iьзаeт oтнoвxчIа, PaзрIе'"тся. Речt']lеидс.Гo внсдPенIrп П сeкпIriоданrrых - ]lр]1сутствll0JIoстoPotiпего I.ода в ]lеii нсзa cтит тоJrькoсЛeпoii (Oд!акoссlllх ILo,цперe)iва'тЬ]вает упрaв.J]снllс кoсвrнIlЬlN образоI'' l]1l flс 6yдст дIlзассel'б,rироваrl l,lдoiill I о)кeT Ilprl{]1нvться невиrrrlоii овечкoii I1ассива даЕньIх)'

4

Page 135: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1з6 rлава 6. тeхHика внeдpeниЯ и удаления кoда иэ PЕ.фaйлов

o6paтиrе вllrrмаrlrе rraPаскnaдкy стpaнлчногo ипtиД}ta, Ес.flп виргуa ьЛыepaз.п'epЬl 6()"1bl|]].lJкjT}lа сеt{циil l1но1.o 60ЛЬшс физичrскпх' фаl:I".т' по nсeii вплп\'{).

' l \ | и r ' , ' , , " l n Ь L j " U ч t s ' | ' | , oтеp l I . ) n jтя l IpоIекToров ' в l , lРусь l жe l lрa t | ]1чес l t ]1 r rпI iог ; ia пе vп l1]пьп iaют

фllз]i.k]сIl()t.о рi]]rмсPа сскцllй' r.ак xакдnЯ этoгo иNf пpпnlлось 6ьl пеРeс1РaивaTЬвdo сrpукTvPу заPа)кaспIoго фaiiла цctrrикoll' что lle BхоiцfГ в l1х llЛаflll'

Boсстапов,Iсппс пopalкспныx o6ъектoв. Tипп.пI.|я orlrrt6кa 6oflьlrxlнс1вa PaзРn-6отчlпtов отсттствце прoвeркЛ па lц'ltlaд]rс)к11осTj,(}кj'lNlаеllоii секЦ!ai сЛРке6нъlJ\' стрYктyРам (rlЛll пrкоPpeкт|l{) IrЬl||oЛl]{]llltая IЦюtsсPка), B 6оJЬUЛIirстuе сЛу' | ' , 3 , , , | ] , I j l я ' l ' l ' : r l l ' ' J j | | ' 1 | г Г | , ь , 1 , | , ' ' , | | D A - A 0 I R Е с т 0 р Y ' ' , J ) , ' ] l I l '.DаinI в Лl lJассеN6rе Р' Рeк(lllс гp\'lrР(lвaтl iUll.0])ll'|]v pnс]lаl{oвЛlпJrа It I lап1IсатЪ свoiiсо6ствсliIJr,lii' Рeaп]'IЗoваllllьli,I пa]побoN с|lNЛ|аTllч}loN вапI ЯзьIIrс (напpIi\fсp' иЛaсIi''Гог;lа Л'ця вoсстa]ioвлerUlя фаr1,па лаже IIе llI)|Ulс'|ся вr'Iходптъ IIз I4д!I),

liсJl1 )Ф ()riiJl заl|ускас1ся вllo]]rlс нoРпf lьlIo' .j'о д,rя Iд:LЛсlIll,l х-кoдa !oста.

| ( ) t ] l l l ) | l с l \ l ]ю l0 l l0 ' |p i l сс l Ipoва1ь сго в o ' гЛaдчt 'к r ' дo) l { ] lав l1 t I l сЬ ] \1oм.] l l та I JсPс/ lачJ l

уltI)nU.Ц{)ll1)l oprlпI]la.]Jьtlo)ri п!огР:l\jI|е' lt IIel\jсДJ|с|]Jl() с6Pосlll.Ь дnNUJ,

}(AтЕгoPия Al сo3дAt|иЕ нoвoгo NтFs-пoтoкA внyтPи фAЙлA( lh i i , r ()ва, l ( l l с ' гс]v i l N ' l . [ :S t toлlсрaоrпаст. пt l rоr П J)r\ tкrх ( ' ( |к) l \)( l ) l l i ln l l ' I l l l t iЧ( l I lа l , | , I I rаcмlnхpаrulryсx l|1,| ,|||uunРL|6цl l?/r ' , / ( l jхtсn( lсd^t1r iЬL|1сs) l |Лr|l l ] ! l l ] l ( )|r] l r l r l r 'N l I l l ) l l i 'к]Лl t\ l l l ' l ]с i}Ь lNlЯ l l | | l , l i iа1. l ) l rбу|(n)] .| lе| .с1|]yсT(х.] l ()|r i J() i \|v1,|у(l)liii,nл' а'l.llll611 $DATЕ - |rр|NlеllЛ созда|lIlя 4)aii]|а ц'Г' r]l. I:}ш Ti|ю1Ф [lo)l(с,Пr (t)l,'lil'п;r l . l ' r r с l r l r r r rтрrr6v rr ,L r rр2l l (TI lчс.к l1 l lсoIраl l | . |чсIr l lо i i ] l " [ '1r l l , l ( l ) . I l l !с , 'L() 6 '1 |(6| l i iT) '] ) i l i t l t0 | l l l l я Л l l l |х l l с , l ку lо l r с ' |Ч l I I I ] l ( l J ;L lЦ) l l rvсP , х . l ( ( ) j l ) , A l l luюг l lЧ| ]у l ( ) ' ГoхI I I l кv l I с .п( )nь:1уgГ N4 i l с OS ' ' ГoJIЬко TnI t I lоToкл пмe l ' у lотся T l )Y , l ( | |о| l0u jDo,цI IN lь|N l ( l ' ] | ( )н( ) I l

/Or*!' ]1о'lpО6lIсl] ()6 :rтo]\| t]о,olo прoчl'lтil,Г1, в <o()l(Jваx Windо\,s N'I lI Nl.l..s'хсJ I l ' | | | ( i к r11) ' <]Iсдо l .y l l ся 'Г j lPoвa l l I i ь l х вoз\ ]о 'o( )стях W]n. lows NТ ' A , I ] , l i o .6сpI l I lЧс l l (о l l <WiDdоt\ , s N.г l i i l с sys t ( 'п i r l to rn . l ] s> Rа iееv . r N^grг 'а ,

с l | , ' . ' , , . | , ' о , ' | | ' ' I i , , l ' ' | ' J , n l j | | | \ l , ' я , , , I j | ' , ' ' l P , | ' U ' | : i i | | 1 " ' | . I n . L ' ' | ' | . l ] | r '(r.ll' Til]r r{llк rr|!цI1l'1ыji о6ЪсNi фli]'llа пpи !гot1 I.е yRе'llllчllвaсT(l''I (lIoд pllзI{i]Pollq]lll'llа с стсjfa l |.rпIillae]. l )тIllодь llс зaIlимaci\loo xll прос,ГРаr]сl.uoj а раlr!ч) oс-no]]IlOгo t|оToI{i); oдIlaко сrЛIсoк дoск'llк],]]r ltil э1!)Il !l зallaflЧItвасTся' TcпсрЬпol оllо])|lill o IIL)0сГаTках, ] 1ln1пoPсмcщeн1lII ф.]ii",ra IlaNT]]s,iL]r!с,! (|l]lIlplrj'rq].

дllllNсTу' ziр lljlп СD R/RW) псe РуIiо1}оРlll're rroтoкrr 6ссс'.rсдно rrсчозаrот. Тo' ie саN lос l l I )оxсхоr l l1T r lри кoп l lpoва ' rиП фa i iлa l ] ] о6o. ' l oчкr r l ]a I lодоб l IoТоta] СoлПlandеilа (n,.LевrlчссT}rс Wiпdows сoпrnraлdеI.,a) плп о6pl16rlrricaрхlr-вil,ГоPo , 1{ Tollv xiс поjlнorlепIIая по/.ul.l))ккA NTIrs ссть тoJьIrо I1 Wiпdо\l.s NT'

BнeДpениe. вtsxду хрyпIroстr] расrпиреrIIIьlх атРrr6утog х{tод н€o6хoдl'\1rl IlрoеliгilР0ваlь Tаl{, чTо6ьI lioPaжefiтrа-q прolpам]\rа сохpанялa свoю ра6oтоспoсо6]lо.:тЪ дD]{e llpr.l v.|Pатс всcх Доflo.пнI,tTeльIlьiх потoк0в, l{xЯ этoго в свo6однoeIlсстo lтoдoпЫтlroii пРогpaмNiЬl (напpиNlcp' в PЕ заro.]roвo].) вlIедpяIol.крош(:.l.ll|rlii заl.pузчul.' fioтopьп:I считъlпileт сBoе flpoдо']жсниc из NТFscто тa\I Ile о'i,кeTся) Ilеpсдaст yправлсниe прorрarvlмe-llосllТеJlю (Pис, 6,9),

Фушriцпtr ра6oтьr с потокalп1 lIе докуr"lсllтllpовaньl li дoстyпнЪ] тoлъlФ (tерe]

Nitj!L-AРI. Эго NtсгеаteFi,le, NtQueг)taгi,le ir NtsetЕаЕil €, опUсaнисiLоторьlхмoжIк)

--,

Page 136: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

теxника внeдpения иYдaления кодa иэ PЕ.фaйлoв 1з7

Ili:rLi,lтrl, в чaсTlloсти, в кtlnге <TЬс Undoс0mепtсd гunсtiоns Miсгosoft WindoNs

r'T/2000> Tomzr-sz,a Novalс'а' электpoнн:я кoпия кoтоPoi1rvo)кет 6ыTr' 6eспЛaт

нo скачa]la с ссprеpa Nтinter|nа|s'nеt.

сoздаl Iп.. llовor.о noTотrа oсуrцeст8ляeтсЯ вr,l3oBo фуitltЦllu Ntсreаtегjle' сI]елп

пPoчxх аРгyмеIrтoв пPirнимaюUle i l yказаTель f ia сТpукТуРу FILЕ-ЕULL-ЕА

]NF0Ri{AТI0N' передaвaeIIЬпli чсPсз Еaвuffег, Boт olla.тo паl{ и нy,r!lal каir варllal11.'

rlo)tlнo вoспo.r1ьзogaTься фyнl{цией NtsetЕагi]e' пePeдaв сii дeскpпптoP, r')зра

iIlrrrн ь]ii NtсreаteFi,]e' oткРывaющ."i1файл (16ьt.ItIьIi$ (]6Разoм, fIcрr].пiс.nсн1iсм (U

чтcнxсll) всeх ппlсюlлихся пoтoкoB зil}lI1маl]тся il)yrtк1Inя NtQuerуЕаFi]e, Пpoтo.

тIпtъ] lrсех 4)ytlltцltii п oгlРeдcЛснI{я стpуктyр сoДеРжaтся s фаii"ц€ NтDDK'H' B кo.

Tорoil Ilрl]суTствуст11oсTaтoчIJoе кoЛllчествo ltoм]vеЛтаРll €в' чтoбьt сo вс€N э IIr

\oзяiiст'olt раro6pатьсЯ; оЛпакo Дo .rсх поРl пoка Windows 9х не 6yдс | lio,1пo(:l], о Dьrтссttсllilс PЬlIrка' llоДool Iaя тcxtlltt.а в|IeдPсriltЯ' суд'l Iк] BссNIyl oстаIlстся

IlсDсn]трс6оBil|{Ilо'I,

MЕт (i/]аstёr F lo Tab|e)

Г-jГ.____-l

l._L

Г]L] Гl

Pис.6.9. Файлoвая сиФсмa NтFs пoддepxивает нескоЛько пoтокoв в pallках Oдноrо файЛa

llдellтuфПкaцfi' пoPа'(снl{ьIх 06ъск'10в. I1o IIепoн,I1'ным runРкtjтlllll.овЬlм сo.

о6рaжсrrlIrr:rl пlта'гньrс сPс/lсTIra Windows lтe пoзволя10T IЦх)с]\|атPrlвaть Рil(lllIl-pеlrньrс aтрп6утъr t]lаii.l]о]]iмне TaкЖс пe IJзBес'Гва ltl! oДta уT|lЛliтa сТopoппЛх

IlPoll:llrо'lIIтеJIеfl' сuL)со6llая LxlРirtsl|1.Ься с эТoil за'(аЧеii, Лоэтому tlсoi.)rollпl|ый

r1llIll{]\rylt пPofPаliп{Ilorо o6ссrre,tеппя прихoдlrтся pазPа6атьrва'ц' сa[ oстoя'Го.цr'.

J|.r. на,!1lчxе ]loсторo1l}1]1х 11oтокoв внy'rpu фаiIЛa oд11означlll) свпд0TсnЬс,|вуеTо сго зapa'кеrr]roс'r]l,

дpугoй flс IIснсе I.paсfloPсчияЬIii пPизIrаквllе]tРеtlIiя с)6PaщеttjJeri фунItцxяNJNtQueг)€аFi l e/NtsetЕаЕi l e| кoтopoе ]\1oя{eТ 0сyliIeствляTr'ся кalt I IeпосРсдсT]rсrпtьI\]

xr1llopToмпз NтDLL'DLL'такIr nPямЬп{вЬ]зoвoм INт 2Еh'ЕАl.067h/INI 2Еh.ЕАx = 9сh'

a в Windo\\,s хР eIце II trlаr]lиlllloli кoмaнДой sysса]], вoзпloясе|I тaкже вьlзoя lto

пpямьlIl аДpесaм NтDLL.DLL IlлrlдинаnrI.tЧесrо{i{ пoиск эltспoPтlrрyемьшqlУllltlIиIi

BoссTarroвлeriиe пopат(€нrrьrх o6ъeктоп. ЕсЛrl ltoсЛе o6pа6lrтк11 уllакorЛпЛtоll/а!хивn'ГlrРoll и.Ilи llnьп внеrпнс 6езo6lrднъrx дсйс]в}iii фaйл Есo}xиirаtпIo отxа.

Page 137: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1з8 rлава 6' теtникa внедреHия и

зaII в рa6oтe, oдlшII1 из в(]зllorкrlых о6ъяснelrиii яв,!яe1сЯ гп6e-u' PасlJlиpсJl]lЬ|1nГpи6yтов' llpt1 yслOвиIl. ч1.o пoтoкIl ]lе исIlo.пьзoв1!цxсъ дxя xpаllен]]я орul.пlliуrьIrоr{] сoдеp)кимoro фaiijlа' у пaс н€плох!lс ]паl]сЬI rra roсстаIJOвjIеrпIe, ПPoс1o загРyзитс фaiiJr ! д!lзaсссll6.IeР иj пPoartа-!]rзrЦ)oвав Pa6oтv х-Iroда, iтpll;I.ГенсooхoД]1r'jъiе NlеpьI ]lротиводei.iств]lя' БoJIее тoчнoil pекoпIеIlдaцLIп дaть' yвI,llпе l]o'llYчаeTся] ilоскo;Iь]ty така' та].1.ш{а вЛeДpеIrпя суrIIeсlЕyст JI11шъ теоPсТlJчe(ки rI св{)сIo 6oeвoгo i{])ецсн]]я eщс не пoj}чпJа,llля }ЦitJtснI.lя нснyкiIьtх xoтокoв п!oж |Io вoспоJrьзoвaться yrкс ол исlrtнori фуlrк.

tитЕгoPия вl PAздви)ккA зAгoлoBкAliLIкal{oii уl]ll){;rюul||ii сс6rr Х.lrl/L rrc зaхо.rrlT зtlil||ссТь ()'Г Ilа-,lи.Illя ('06ollllоI(r r oс1 . i t в r | ( '1о| lЬ fГ| |oN l (рa lU l l ] ' l l ( l с l ( ) " l l Lку эTо v l l r t зП | .с ] |Ь l lо l r 8o l )6| l ( | j ro l Io .х l l ксрск ,l\.oгда lrРoсTl)iUtсTIla, ||\1с|0lцеroс' B ])]r'r1гotrlо|rlto (пnIl кnI(()ii-,1lIlбo д|rvГоii чl]сТ||ФаJJnn)' oказЫвaсTс' |('lос,ГaTочIlо /l'rDI раз^{сЛ1сllrl' Лсci'() х.lФдn Il(!lIlко]\|' IilnУo,кo,v llопрooолатЬ рnс,гяпy'ГЬ 3llгоJ|oвo]L lIа iJ.Jl]ч||l]у' лЬl6рlllIllу() llo с8осI{v ус.l'к),гPсrllЛl),llo r.сх ll.)P' пorи sizе0fllеаdeг5 llс Ilpеlrl'ILlltcт llxlэl|Чсскoгo сrкllLсrirutIlсPлоll ссltЦlli.l!'Гilкaя oпсPа|{IIя oс\,uIес,гвr|ястся эJlс\tеrll2P,l() G]м. ра:tд0jl <вllo-дPсIlrle в PЕ.зi]lOJIоnо](')' нo ]l()тда-,rьUIe IlачIп|aIотся прo6лt.мы, для рсшсIшrя кoт.)РI,Ix llpIlхoдиТся llаpдI II liLllьIl0 IIересTаl IватЬ сl.Pукl.ypу пl)дoIU'тl]оr() фaii]]а, кaк[lJl]xlllyrv llсo6хo/tlllto уBеЛl1чlrr'Ъ ril\v оftsеt ы всех сolrцIтll I]a пеЛrlч]пlv' Ji]lаТIlvll)прrЛ,lтoli с1.Cпсl Il.1 IJь]раrrIlrlIra]Iпя' l ЦroJlпсal ll]oii п llojlс Fi l e Аl i gnгient' п ib ll.'lчссlolIlсP'r\feсТ,lть хвос-г фаiiJl;r' зaпl]сав х ].o]l 11а осво6o.tlrв uссся rrсстo,MаксrllllxьнЬlii P'rзr'Iер загoлотrкil pаве|l вlрlуilrlьнovу адРeсv nсPв()ii сскпllЛ.ч'Гo lJ lIeудивиTt]JlЬноl1.ак кaIt 3аfoлов()lt llестpa]!IlчrroгоxlIпi.,ка,У",,'..n'ou"'u',.u"u,nnn,ujJi,#;;?'lil,',.;i'fi::i::i::}:,i], r ' ' l 0 n 0 | | , I l | г l I l | | | , , i ] | ' j l \ | ' | ' ] ' ' n j , . o s | . i - { 0 0 | , , . l | | ' ' ' " ' " . '

" " " ' ; , ; ; ; .

жснrlе пopЯдrLa 3 к6аiiт сво6oдrroro прoстpaпсTвa' ЛосTатol]I]ol.o /.i-llя Pазlieщснr 'я ] ]PактtтЧссI (п ' l tю6oгo х-кoДа, B к] )а l f l e rv сJvч i1с l !o ] l { l lo пo\Iес]т l Iть.rстав]Jl}4ося чaсть в oвер'ltсii. Хптрoсть заклroчilсTся n Lo]}I' ч1.о сшсTeмнъIй :lal.-pl,зчиI{ зaгРyжilсT-1rrllrЬ llrрпьlе sizeofHeаdeгs 6айтoв заl.o,rоBl{a' a ос1а'Iьньlе 0]рttусловии' чтl) oнI'! е(:Гъ) oстав,яст бoЛTaтЬся ! овeр;rсс, N,fы rroтtell сдвипyтъ гirvo | l \ , L ' в l ' х { ' . i ц l l i i I o Г ь . " x | 1 6 ' , i i | в | | P Р , s \ | J 6 ' i i l , \ т o , ' в , ' , ' ' ' в o ' , ' | | Uч l | d \ , я , ч L , ] j e I J ' l р ] ) . ё ' , , I o . l h | . U s z e O . н е . d е . s i , l , ' в i | o , l , o I , ' | , е . l 1 | Ь | | L rх . i o л , t a , | , " | | | ' " : l o о | | | , l | , ' я t , l \ | o ' Г o я l r , | | l

Page 138: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

1з9

I( сo]tа-це]lию, oднoй лиlrlъ iioPPcкцr]rl Ialv оtТset'oв дЛя (oхрalrerlия файлy Pа6o.тoспoсo6нoсти ]\lo)кст оказаTься нeдостaТoч]to' посlioлъl{y NIнoIllе сЛуже6нъIc

стРуктyрьI ( I1а]lРtrп{еP) та6.rr!1ца о'ГЛaдoчнoii 11Ir4'oP мaцr1lr ) пPивязывaюTся r{ сво-

еп{у физичсскoIrу llестoпoJloжеlIl.lю' 1tотoPoс rlос.nе paздвIr)ккrl зarojloRкa I{eиз.

6еrкпo oтнесе,г в стopoн),, tlpавrrлa этllкстa тpe6ylот лп6o скoppектиpовaтъ всс

tlсьlлки нa a6сo.ltloтпьre фIrзlческl1е aдPсса 'a lUIя lToгo l{ы дo.1жнЬr:Jпать фoP.\tат всех IiopPек пrIryrl'ьlх сTpуктyP' сpсдll кo,r()рьIх есть пolнoс 1.Ь]0 llJiп частlч.

]lo lJедol{yNlсI{,Гripoвaнньrс (взять хотя 6ьr ту же оTJадoчную llнфopl|ацl1ю), .

ll16o отказaтr,ся от вrrедPснltя' есjilJ oдrlн x'llЛ ]|еС]{олькo эJсllснТoв 'Гa6лпцьr

]АтA DIRЕсТoRY сод€|'{aт rrссTаiIдартIrьlс сТPу].гypъt (pосvpсьr, та6'trruьt экспор.jr. rjl пoPтa]L lLepеr\leщасNtr'tх эЛепiептol] ] lсnonЬ]vlот тoJ]Ъiio вrIPTyа'lr'] lу]o :Llре.

.ilцIlo, пoэтol1у llи в кaкoй дolt0JLlillте.nьrrоii коPрскTиРОllкr пс нyrflДаI(IГся)'

с]lсдуeT такл{c у6сд11-l'ься ll B oтсуT(lГвl]1l оR€РЛссвl Itо(t(()]]ьl(у l\ lloгl'с tl:J l1]1х

r:rPссу](|rся oтIroсllT€ЛЬrю llа,la,rа r!аiiLrа, 1lpо6лсi\lil g |osl' ч-Lo 11ьi пс lvo,кcNl ltr.

:lс)к!lo оT"! !lч ть на(-t,oя U U Iil оBсPnсil о1 j\lyсoРa] оставnсll] to1.o ]| l l i ll{с poм в I{o] ] цc

lhaiirrа,lr Лoтo ly пp11хoд Тся ll/1тll l1il 1lс0 п l)аRдап Iro (lIску'ц''гивJlъlе]loпу 1сtll'|я]

всс. Ч1l) зilп1IIlаст ]!1сllЬ|i|е ОЛпoГо (ск'|()Р1l' - Jrс oвср]lсii. l,lnl| жe PaзЛичrlN,ЬlN п

trl]рис,rIrчeсI|ttill11 Ilс-|1'lаNl пЬIтiuЬся LlЛc]lтlld)tIllLllrоBа] Ь J\lусoР (Pпс. 6'l0).

Pис,6.10. пoдопЬlтньй фaйл иeгo прoекциЯ впаliять д0 и пoФe внeдрeниях.кода rrtтeм рaэдвихка зaголoвка

BIlедPсtifi €, TипrпньIii axгoрп,гм в11l]дpс]r]я вь]гnядит Так:

о счlrтr'rваем РЕ эагo,.loвoк;

. пPовеpяeN{ DAтA DIRЕСТORY на пРсдIlсT гrрпсyтствn' сТPуLоуP' прIrвЯзывn]o-

rц1rхсЯ к своeiuy фпз]rчcсI(о]\у смe]дениюl ]l eслIr таIioвыс о61taрv)кllвaюTся,л116o oткaзывaelrся oт внсЦpeпrrя' л116о готoвllli1ся rrх скoppекT]1poваTЪ;

+

Page 139: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

140 rлава 6' тeхника внeдpeниЯ и yдалeнИя кOдa из РЕ'файлoв

. есЛ'1 sizе0fHeаders - Fs.v а' oткaзывnеNjся oT вllсдPеl II'tяl таI{ кilli в}1сдpятЬсяv2. 'дк}.1.:

. eс"'ljl sizeofнeadeгs |- Fs.r-off пеРRоii сспIIпи' I]oдопъrГr]ы]i фaiirl сollep)кt1тoБерлel x пoсле nl lс]lPсliI lя ill0,]lст oI{азa [ься I'ера6oтoспoю6ньlпl; oдrакo ес-rп0т siz€of|]eаders дo rаW ollset'а содсpкaтся однп rlу'1!l] B]rедpЯ'|ься сjoдa всe

. .с.п] i s izeof(х.сode) <=

. с(!iЛ sizеof(x.сode) <:

Fs. r_off' переходlri\r rr pазllс"ly <внсдрeIl]lс в PЕ за.

Fs, v а ' To:o в(]таl]].Iяe\I Nlс}кду I(ЛIцoм зaгo'lrовкa ]lад ]lачaлoпl (ТраIlllllIl0l.o IINпtrlжil

АLIGN t ]P( (s j zеof (X .сode) + s i zeOfнeаdeгs | , s - г o f f ) ' FА) 6 i i i т ' l ! | | . l I lчсс l i l JпcpeпIсlilая хвосT фaiiJla' ПP]l з:rгру]]rо (l,aiina вссь Х.кoд 6vдcl шpoеrtlr-PoR:'л B llaмять;

o yвеnL lЧuвасп{ l IoД] s i zе0f | ]eadeгs l l a i j а ] lаЛIIvю нс .ц l ' l ч l i I l ! ;

o вс'l.aIrrr'lс]\1 ]\Iс}Jq'tу кollIlo\I заl.о''Ioвltа l|аrl JlачаJоI{ сTl)illt|]чЛoГ() |l]\lt1]l7iitАL]GN.L]Р((sizeof(х'сode) + sizeOfнeadrгs Гs,г.оff) ' ЕA) 6^iгГ, (hl l i ] l|чсск11IloРсl\lсlцltя хBoс,| {tai.i.]Jа. llpu заГP)lзкL. d)lii,!r сl|сT0llllЬliiЗ:rГPуi}lrljIi сllрl)-сjll'pyсТl.()JlI'tо I|еPll'lс Fs, v-а.size0fleadeгs 6lriir Х.коЛ:r,lr llсс rкхlrс](r'r(l.lILl1с crily ЛPl|/1стс'l сЧ||1.Ьll}aть с;lNlo ]o,|Tс.llьl]();

o sjzeofнeаdeгs := Fs'V a]. Y t ]cЛ Чr tBасN l l . : l \Y О l l l sсL\ , I l ] ссх сс l l Io1 i i I i . l I l сл] rч| ] l Iv ( | ) i l ] t | |ч( r ] io i1 P ! l i ] ] tв l t ) i l t l lq)aiiJn;

. IФ])рcк1. PусNl I]с0 Lt.P]r'кTYРьlI l|Рt'llя3ьllli|юllLr|сс,l к 4nlir||ч0сlolNl сI|сn(с|ll|,|IllJIlу ry|| '1)а11Jlllj lleреЧЛсJl('lлlЬlс |] DAтА D]RЕст0RY.

llдсIrт,lфшкaцlц пoрa,(сIlllыx o6'ьсктof'' l1ll1]]l].lii ruсToд r]lJ('lPсlIп,l p;lсl|оlll|а.с11'' анaЛoгuчlloo6ы.lrlollv ]!tетoд! ]lяе/lрсllIUl в Il]].itaГo-.loвoIL (см, <вIlсдpсIпlсl l)Е.загoловoк>) и пo сoo6pа,{сIlия,\l э(оflо]\ll||r lrсста 'lдось пe ду6:lиp1,сL:сlr,BoсстапoвЛеяис поРа}(rппьtх {)6Ъскт0B. lIPIi plrсT,D{кe зiLllxoлкa с |loс'llсдvl0.

| | | \ | | l | ' \ | . ' | ' с | | | | ' , I , l | ' l | ' { \ l | ] ' t l ' ы г | . . l | l n u o -

fioстl, lrаP.vUreпl|,l Pа6lrToсlloсо6яoстll djаiijIа вс(ьl"lа вe.]lllILa. а п]), ' Ly f i ) r r lие i l I скoPPект l l i l , l корpек| l l1я rа tv о t t sс t 'о I l J l l l p I Iвязк l к флз| lчoсxr rN lадPссalI I11y, п-poтllП I1скoPреl{1rroii корpскц'tп' вr'lзBанпоii l.pу6ьI\Iи ll.llгopIrт\1r1.чtlскпlпl oшlI6кalлI' rrс llопpеlrllrl и с лсl1opчснпьI\1 (l)аil.n()I1, скoprе Bссl'o' пI]u.,,lе1с,] pас]стать(,t (нo всe.Taки поIrr,lTaiiтeсl,' oттaJrd'вilясъ oт вlPTvалijllЬlх раЗ-\lсpon/адPссoгl секциiI' oпРсдсJить их 4)xзпч ес]rиo адPеса ll.IIl lrдeшTxфrlпltруiirс1.PанlI llьl сскцltii вllзуальпымrl llетола мrr' 6лагo о нп дoсrllтоннo хirpaктерпt,r' Ь схРсдar0op ]1хoлoДIloс ЛlIво ваNl в пoi\юцЬ])' а во,t IlPеoлоЛсTь пplrвязкv к фIrзx.чс(lкnп! &lресаtrl lfo)кiro1 IIPoЦe вссгo этo сд!Лaть' rеPrry]r сOдсp'rLIIloе сскцпii/овеp.neев нa стaрoс rIестo' J1а ]1х 'lс,|оp]lчeскуro рoд1lllv' так скnзaть, По(IсдonаTс'lIЬно соt{Pаrrlая pi1зIlоp зaго'цoвI(а llа вс-!]JlппrY Еi lе А]ignлent lt d]изиче.-п1Лодтяl.l1tsая сеIlц!lи на oi:lо6одпвпrееся rlесlo' до6еih.ес], его pa6oтoспосo6нoст , Ilv а ес'п1 Irе пoЛучитсяj зJ]aчrIт| прllчинa s Lleм.Тo e]цc,,,

Page 140: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кAтЕгoPия в: сБPoс чAстt4 сЕкции в oвEPлEЙ

ия иyдалeния кoда из PЕ.фаЙлoв

B\!естo ,l.оIо чт06ы no".]]lостью ]I.nп чaстllчtlо сr'кuпrirть сeкпlrlоl lloж]lо oгPаfllг

'lrlTься псpеll()сol{ сC сoдеpn{Llllorо в овеpЛсii, Рaсполo'{сrtIlьIi! R (oнцс' сеpelrr-

Jс l|ЛIl пачanс фаI:iIa, Дoписaться в конец файJ.rа пl)о1цс вссгo, Hпкaклe пoля

PГ-зlLгоJoвка прIl irтoм корР€IrтIlpoвlтЪ пe надo _ прoстo l{ollпpусlt sizeof(х.

сode) 6аiiГ,nю6оij чaсти сl-'кIo1и в кollrц фailJa, а l]a oсвo6o/i]1!lпcеся мссто BIJе

rl,сi\t х{roд. кoтoPыii rlсрсr1 псPсдачеii упpaвJlel|lJя пpoгPa]lNlе rroс]l'Гсn].r счп.

lLlвiL(.'г eгo с,!l!lсllа, вoзвpаU(ая ltа ].](холпoс liсс|о'

с 'rо'rпсс PtLir[lrстить оl]ерпеIi в ссРедиrIе фai1Ла, Рaспo]lоx{llв eIo мс!{]rу (:ellilll'r.

\lll r({rда tl l(illlIJьrх, ]]аtlр|lмeP' ч'гo ()6еспeчиr еNу вьlсol{ую сreпеrlь сl{pьrгlIостll,

.L.lrr этoго 6yлет пeо6ходrrlrо увсLrиurrть гaм'оl]iset'ьr вссх пос,rrелyrоцuх i:еIttц'lii

l l а |ЁЛxчr l Y AL lGN 'L]P(s , j zeof (x .сode) ' FА) ' ф1в l lч{ rс lo l сдвиt lу I ] l ]ек l l l r l l в l tут l l l l

(l)lli]]|l. AllаЛol.t.lЧlп'пj o6pазом oсуlцсс].вJlяeтся l'l rc3iLаlI e овср.цФl П загo.1овк.'

.) I('Гоl)оNl llьl y)кс l.овoРllJl1l (сrJ, РaздсЛ <РaздвID|J(a 3aюJIoвка,).

l i I ) |{ о6p i r6o|ке ( )aй i l i l y ] |акoRцrLкo8 oRrPЛс l l (осо6сннo ссрt l , , t t tппъtе) t16ьt . r l Io

rL6 i{ !т .1]o i i a ) l {с ссЛ l l l ] l |ьDк j i I ]а lo1 . ' 0кaзЫва,o , |ся рaс f lоЛo, l {с i r l r J ) |м l I сoI l с I r I l i e r |пo

l l l )дРу l l l r \ | ( l ) l ! i t l l чcск l l I | ( l I Jе lцс11t , tяN l ' lюэ 'Гo l{} Х коЛrIр l ] ] Iо ис кс o i l cP . l l с ' l l l | |D к}

.iIс-llv']il('Jlс,](ffl)lt!|l )к(lс'|.lio Ilpljl]яi]Ьll}:lтl)ся l{ (l.() а/lPссilNl' I]Ь|чпс'(xЯ llх tlil oс|l()

|]с .i)Il3|1чo(](о|.() аnРсс.L сnс]ryю)цсii сскI(llи' ПyстЬ дJlI!,Iд ol]сP"Tся сo.ТxD'l|Яс1'0x

б i l i i г ' , to l ) ( i r с гoсnI . I i l с I l l ] с6удс ' rР в l loNs , г .о f f -0X ' l l ] l 'цяп0с" ' I сд| l0 l1)оI r гp lO l

l )a i i , ] l l - s l ze0fF i ]e - 0Х. oBсPJJсI l l ] з i tЛor IoПках l l i lN l | |оГо 6oЛсc l ] ] ) | | |oс ' ( | l l r l ' ] ' ] |o

l |р| l у l l l r к ( )Rкc t ) t )Х 'оI l | . l r6 I l уT и ( ) l I l I (р l l с ' 6 .11) ,

{r

{}

Pис.6.11' внедpeниe X.кoда вфайл п}тем с6poса ЧастИ сeкции вoвePлей

Blrедрeяиe. О6o6щеIIпьпi а.{гopитj{ lllедpсн я вьlг].Iяд!lт.Leк:

. счlrTывaelt PЕ зaгo'lюBоI( п r]РисTvпаеlVI к сIo a]];Lrтrву;

Page 141: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

742 rлaва 6. техника вllедрeния и yдаления кoдa из PЕ.lludилaв

. eсл]] DAтА DIRЕсoRY сoдеР)киT ссъlЛкy нa стPyrrтyPv, пpr1вязьrвающуtoсЯ к фи.зическIlNl сNtсщеЛltяN!] то Лx6o гo1oвIrliс,] сr.оррсктripoвaть ес нaдJtс)кап{имo6pазoпI, r1и6o oTкa]ьIвaе]!{ся oт вlIедpe! ияi

. ссjiп Ls.г.off + Ls.г sz > sizeofFi]e' фai]i.ц' скopес всer.o, сoДeр,flllт oвсpлеii'и .riyчrrrс oтlGзaться 0т внедРенUя;

. сс.п]I физrПескrп:I Размеp l(аt(ori лlt6o сeкц]l1r прсвьппа ст впР1уaль lIЬlii 1raве-л'lчJ'tнy' 6o'{Ь!Ivlo иnlr Равнyю Fj]e А]ignment' (!ariл' скopeе всогo' сoдерхrrтсеpсдЛIпILlri oвeРЛо}:i' п laстoяTсльпo pс]tоlle]]д\'e.Гся откa3аться oт вIleдpо.1Ilи;

. ::l!']Pl:", ссrrциr0l пo,'lхoдяIllylo для вllсдl)еtlиЯ (]l']AGЕ sсN-|,IЕll-sнАRЕ0,IPAсt-sс\ ЧЕ DlSсАRDA8LЕ сr]rUшс'| ], iPA6Е )L\ .1t l ' I RFAD ' , . ' i lи[сг sсшl4Fи Е(Ес-гt}сl]|| l ' l rл.| |, lчA6Е sсN-t l .п С0DЕ,.,II l , tAG| sй сшi lшIт'дrтzго oд-д, , с | ' ' | | U в , | р ' I - ' ) , | , ' , , U , , ' | . i ' | . п p : ' Ч | | J , o " u n . ' . l ' " p o ' . ' . " ' , ' r * ' . ] ' ' ' ' ' .

. (nlзrlчсскoe сiliсlцеllxс начl]lа с€кцlrЛ в 4)nйлe Равno ес rаN o|fsct'v (этo lla.дс'tl{oc ]loл€' I't смy мо)кtlo вcPить)i

. (l)]1зпчсскoe сnlсц€]llIlэ кoJtrlа секllJlI] в ()irilлс ll,tчt,tс.цltстся 6олсе слoяrпшlI06ра110r\1: min(сs.гаW offset + ALIGN-DOI,{N(сS'г-sz ' FA)' Ns,гаW-off);

. I]ах1']llIl!I чaсTЬ секцl,II1l lle oo/lсР)кащyJ() |IoдсTРуктyР с.rry'rе6Itl'х Та6Jrиц РЕ-ФаlUlaj такпх, ItaпP]r]Vlср' к;lк TaбJ|ullьJ IlNlllopтa/3ксгJ{)Р,гаi

. ll вЬl6Рa||uolYl час1.п (часT,х) сск|lЛx ljaхo/ll,|l{ o/llJIl I'lll l|ссl(oлькo pег|'olloB'(ll]оoоiLl|Ьlх оT IlсрсIJeцaо[]ьIх )JIс]!!е|lTов| a o(JIIl O1,o lJеRозi!Iо)кIiо1 <']Ь|кус]ы.|]аcМ, llTll э'ЦcмсlIТЬl и3llхuр taЬlслля t roс-чe.1ylrrл1с ii o6pа6oткlr Х'кortoм ripy.r.лyro;

. лри x{сЛаlllrl,l вaхoдп]t{ Il €РвЬlii IIPoЛoГ и rlосJ|сдлrtii эuuЛoг вl{yTРи rrь16раIIr lь lх чacтеi i сoкl{п , что6ьrlrппl lя <оrрсза* lrс paзo;lвa"la qly lrrоцr, iю rrапi lrro.Jlni!' (эТo fle Ilaруll|пТ ра6от0спос{J6н.)с1ll фaii.!!' no ..д",лeiil,,'.' в',"дPerrr,''6oлeс замe,].IlьIII);

. ссJ.III NlЬl хol,llNl сo3дaть oвсpЛei'i вl{yTри фaйJlа, гo|o yвoxI lчивас]\ ' гaw ot lsс]L 'ъ l всoх пoсJ lсдуJoщrlх (с l i lLu i i нa веЛUчпl ly

АLIGN UP(sjzeof(Х.соde) ' FA) io 4)llзи'leск!l с/lвигireiи всс пoс.]]сдvIощиc сeкцlIп rr (l]аif.nе llа этy r1сс велrlч]I

Ilу;

o пеpсltelцаом lьr6рaнпь]с чaс].l,l секЦиrl в oвсpлeii' зaпrIсьIвая ]tх в пPоrв.вoЛьпом фoрмаTе' пo Tакj чT06ьI сalll пoтo[! смoriоr рaзo6paться;

o дoпI.lсЬt!аeN{ вы6PапнЬre чaсTи сеI(цnЛ ]] lloнeц файлa, зaпIiсь]вая r'х в ]lpо-извoJlЬнoпl фoрIIaтс, тlо Tа]t' чтo6ьI с?lми потoм сllorтп разo6рar.ься;

. ] iа o l q.roдив|,] l Pся Ir"ггn .а ' ' сьrв"nrr Х. :о.r

идrlцифIrкaцlrя пopОкенньrr o6ъектов. !пзассепl6nиРoпаlrlre тaк11х фаiiЛoв нeвъiявл'lеT пичeгo пео6ыч110го: х.кlrд РасJтoлo,кerr r сскцl1и кlrДal таlll гдс л пo-noхеIlo всякoмy JroРпf:lllьlloмv кoдy 6ъlтъ, нllmкoго noдo]p тenьнorо llусopa

Page 142: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

техника внедpetrия и удaлetrия кодa из PE-файлФ

Taкя(е r{€ riа6J.IIoдaстся ' ПРавда) ornrаPуЖивaeтся 11скoTоpoe кo,!rlчсство псPскре.

сTl1ьIх ссъ]Jloк, веДyц х в серсдIl]ly фyнкЦиii (п эти фуIIкцпll' как rleтpyдl1o дo.

t,a]'Iатъсяl пРrпrад!сжат Х кoду: Лaт(е с(,rll oн rt 116Ре)кет вьrдиpae]v{ьrе фPаr.ll € llтьI сскцlli] пo .pаllпцa\1фуJJrrциii. сrlелIеtl,и фуIlкппir х.кoда впyтpи кaтцоIo

llз фparN{eнто! 6yЛyт oTnЛчaтьс'l от oРrг нanЬllьlх' вЬlpсзэTь кaя{дуto фу1rкци]oпо o'ГдельI1остп IlPoсr'6а llе пPсдлaгaть эTо с"1rпxкоllI]yлнo)] одllакoтaкое Ile

родко сJlvчaстся и с завсдoмо ]rезаpа,{erlllьilll I1 фа ii"!alr . lloэт( )lfy oснoвапr{ii ДЛя

вoз6ylrления y гoлoвноf(r деna каrl 6yдтo 6ьl ]Ieт Прису'L.сTвпe сс pсlll,l п I{rIo oвсp -

Jея Лсl.l{o распoзна,гь пo tlссоответстЕllю 4nвl1чсскlrх п виpтуn.nьнь1х aДрeсoв'

utlгo не нa6Lrюлaется rlpi:litтпчl]сl(tt пIl Y o]1l]оГo Ilopмanьlloго фаi]Лa' oдIrако 1|а

Jтllчис oверr]eя n коr'це фallnа этo нoрпIaJrънo

Еlltчeгo дPyroro lIe oстасTся' кaк аttilr|пзпрoBаIЬ !есъ х.кoд це,1пI{oм, u €слr1 пra-

l i Ii пyлЯцlLи с I,oсстаttoвЛеrIпс}1 (|eкцш]J 6удуT о6наPy)кel lьI ' фaкт вl lеДPelrn}l oка

т(rтся pа3o6..тачс!t, х код в ьtitil.ст сe6я вьtзовоll фуll кц lJii v i гtual Р гoteсt ( nрllсRo-

сljl]c aтpII6IT Jaп'lсl0 lr GetсоmiandLinr, Get|1odu]еваseName' Get11оdul eгu]]Nаll]e lt''llt

Grtliodu]€Fu] lNameЕх ()пРeдсnсrllIе IIпIсIru 4)aiiJlа.11осl],Ге.lrя). У6сдл'Гeсъ тaюкc' цтo

l(o]lовая сeкцlя j(остуlJ rl:L 'l ()Jъко ЛЛ|L|ь лля ч,|(lIl||я' B I I l)oT] lr ||ol1 сJrучае пJаIrсЬl

rra пpиr:утствпо Х.кrl/la суrriсflr]eliIlо lr()зрaстут (ll сrvy ужс с бyjleт пу'кlю вьг

i lЬ|в lть v iг tua lРгоteсt) '

BoсстаIloI'лс1lие пoрaжeппых o6ъeктoв. o6Llll||o lJр1lходlп.ся стаЛкl{вa1Lс.'l

с ] lBу i\ l ' l nЛГори' l .N1IIчсс l{rrпrrr оtrrи6каr l l I ' Дr l r tуrцc|| l tЬ ln]I l l ) i l JРа6oTч] lк iLN|II Dl]сЛРя.

сьloitl кoiLal кrцрcктltoi.i IlРoвeркoli ltll пcРссc,lс||lIe с6pil(Uв;rсrvol] чirсTj1 ссшlt1ll

сo сЛy'(с6,lЬIмIr /llutllь]NI'l ]l вlI('L|)с|ll,|c$l l] сск|ol|o ( llolк)iLхo/1яlцlti\{и aтр!lбуrl.

Nlи' о6с llo'цlloсTЬю об])a'ГllмЬI,

Рс,{с вс,ГpeчаloTс,I r l t t r l r6ки r lпредс, lоrrrrя i ( . l I l t I lЬI с6рaсьIЛl!сMоi i сскцl l}t : cсJ| l{

с s , v _ s z < с s , r - s z l l с s , г - o f f + с s ' г а ! ' l - s z > N s . г а W - o f f ' T ( ) с j к : T е l " t l п ' i . i 3 a г Р y з ч l l (.,n.Py;o". n,u* сs , u-.' 6-aii'г r.скцrIl r ' i в r rсдряспr ьril кolr с6p.rс ьrлrlcr. сS , г-sz 6aiIт

сскЦl,lll' захвa1r'||]ая l{усoЧе|{ с"lс/ryl()||(:ii сскцI!r!l Ite учlr'ГЬlва', что она Nl(Dl(ст Iцх).

ецrlPoвir,Гься совoPllle]пlо xо lLPyrпI' aДpс(lr!1 Ir llPll |]оссTill,oвJIсlllll{ oPиr. Il,lJIъ

Ilогo содсРжlll1ого с6PaсыBaeiuoil (скIlrпt кусoч{J( с.noдуI0Лle].t сcltцj'lll,Гa]( и Ilе

6удст ts.'сс'l.A]rов"!,rll- ху)кстor.o' х-кс'д oкa,кеIся каI{6ьt РAзoPваl l дlryiuл сскцI'Iя

Ill1 |laпoпoЛa]\{' tl этrt пoJlо]r|ппot пlofу'r llaхoдllTЬся кaI{ уl.O1(]lо ЛajlсI{o '1Рyг o,г

Друrа! ЕсTeстRеulto, Рl6отfтЬ lloсЛе i]тoгo 0|l I]е сNlо)кс,|,

Если жe пoрaжсlllr'lii фaii,.l з.lЛусIiасTся I юРNn"!ъно, ,'l"l]я yДаJrсlltlя х кoдa прo-

сTo r]емпoгo гlo'QnсспрyilTс еГo rI' дo)кдit]lпILIсъ l{o!ellтa псрrдач1I yпPaвЛeния

oс1Ioвпoij прor.Paмме, сн]]Nrlтe ла11l],

кAтЕгoPия в: сoздAHиE свoЕгo сoБствЕt|Hoгo oвЕPлEяoвеpЛей N]oя(ст хPal ть нс ТoЛьlio oрип]ll;Lnъrroо сo]leр'кrпtoc секц иl нo и x xoд I

ПPatsдa, полнoс'гl,ю вь]нестx весь Х кoд в oвеPJr.iI llс vДастся - кalt нrl l{рУти' нo

xoтя 6Ьl крохо,гныi1 зaгpyзчItк в ос1roвнос Teлo всс'Talrп прIrдстся вrrедPl.l t.ь' Pас-

noЛo)киветo в зal.oловiLе' пpсдхвостпи' pсl.уляPнoй IxrсЛеДоватсJ!ьlIoстLl ll'цI.] дpy.

1.их св06однlr]х часTяx фailna,

f{oсTоrr}rства э1.огo мехaнrв\Ia в пpсlстоTe ero Pс?l.lIизalIпI.t' t1аДе'(нoс1иl llекoн.

фЛиктtloсти и т, д. Tепеpьужепе трc6устся aнa,rизирoвaть слy,ке61rЪtе lloДстРyн-

14з

Page 143: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

144 глаэgj!!:Д1!Lзlчr:r )дсl e l9 \oда /з Pl .фa,, oв

тyРъ1 на aPeдпteТ иx пepeсeЧснr lя со сбрасl,lваеNroй чaстr,ю ссiцrrlr (nIьI нпчсro IlесopilсъIваeпi])' Ir eс'Ци слуЧится'Гак) что oвсP"lтеii пorrr6нeт' заrpкl.rпIt просто пe.peлас vпРaвл'rние oснoвIrой пРotpalllle 6сз flnрyrIеrlrrя eе pa6oтrlслосo6rrостп,Pаспоjlaгaть o!ерлeii следyсT .It'6o в кollцir фaiiлa' Jt16o в сlо зaгo',loвке. Хотьэтo и 6vдет 6oJee запlcтно' шaliсьl gЬI)JtIlTЬ !р t vtlaкo}кc v ]lсfoзllаll]lте.nьtlo вoil'

BпeДpеIшe' Aлroрllтni вllсдрeпи, пoЛtlосlЬl() ll/IеЛ,|ичеJt l]Pе/lьIдvnlе]\lv| зa 1сtIл шь исllJ,очеll!lсп'' чТo в oвep.:lсii сбpасывастся Itс Чaс]ь сеr(lIltjr ф:tjijln'хoз,Iинa,l нспoсрсдстlrеr]]ro с:t\1х-I(о/1' o6P:6атr'lsа!,Ijl,Iii с l|сцшаrlr,ньil| зilrp]'J,||lxor' ' в]Iе,'tPсние 3аl Pтз.ll ll{а 06ь] чно oс\,1Цсс'ГI],'lЯстся l lo ]iатtll.opиrl i\ (с;lr. < Е педpс uпe н uу(jl.oс jvесTo фalinа'), xо1Jl| B flрllllцlIпcj illonoю tl.nu,u"nn,,.u ,' дl,u, ''" n'l.".nl'n,i,llдентификaцIrя llopа,кеннъIх o6ъcктов. Bllслpеlrrlя этrlr,о тllrtа 'lcгJ(l) рaсп(!знаx) |сЯ 3lrз)'аlьlJо llo J]:ш иЧlrlo Jrг|rуЗ.lllка (irlLк 11p:l]lll!оl Bllсдpсlltlol.o ||o liilтL!гоPI l A) I I |ц) l l сyTсТ| lЛIo о l rсPJ rcя ] r uaчn" l с j l Lо l I l l с ] ]Л l | ( ]сPс/LиILс d) l i i . !а .lloсстaновЛециe пoРa?кспяьtх o6r,eктoл. Еслrr Х-лoл tlIlPосктlrpr]Bxll коРpскт.llo, Л.пJi сl.о уЛаЛсl{ия досTа1oЧIlо yбиTЬ ('rсPЛе'i (llar1l)ll,\lep' lllaкl)Jrаlr пl)orPilll11у ̂ s]2аd(bll сo с6Porrleli]loii гаn().rlфii сoxpанятЬ oвepлeи)' ,\'1с1ojLrllra yri]Lll;l|пJ|! i l гPv i l1 ]x(а , в] ]сдРс l l l 1ого l lo кa 'Гс foР l I l IA ' vn l ( 'бьrл l r oпr r l :a l rа Dь l ] I |с l T i l к I l то i l со\i/(j]!l IlоIl'юl]я-Пnя'

кAтЕгoPия сl PAсlЦиPЕниЕ пoсЛEднEЙ сЕкци14 ФAйлA] , ]доr l l а t l t t t l ' tрor tия t l r r t l l ( l l | |0 i i сcк l l | |и 4)n i i , r |а ] l с l ]о ldL | | ( l l о l tNIL l кoр||ям| l vхo/ l l ' ' lГnvt ){) l ( ) ' l l l ] с l . ( )P l . |к ) j Bo3 l}Pа|] l^ ' i l i l с l l i ) I ipс[ l с1In |1) ( : I lO ' ( (11]} l l о | |o] ) l ] l l r ( ) r l l l о i i ( . r1сTс-м ' ' Ms .DOs | | ( )а i j ' 1 ( )в ти l r . r o I " l ) . l JХ l J ( r ro l l r r l r г0 j . l сП)р l I lo с { | ) 1Ь l I l l l l l ] ' IN|| | l l ( ) .l l с l . i t I I ! ' l ' j l i l к . )1 .oP l jх 6Ь l J Io 01 .чска l l с l Io <2000 г ' д r l r r ' э ,>? / (ронr r r Iс r lo з r la - ' r r r ' . l т l lо l l | { ' {пBv1.дo I lа rDсй )рьI ] o] -D ЕХI . - |огд l l o l l l с | l | 6ЬIЛ| l O] . I ) ) ':Jт() Ilаll6оjlсс oЧевlдIlЬlii ll I]аи6о,Псс lIoпvn'Pt]L||] irJl'орl|'ГIl 'li] l]сo\ аJIгoPInIюLвlIе/lP0пllJl во()6 Lс (.la. rс) д'Dкс Лaзьlвaс\1r'lii сTап,naрпrьrlr спrltо6rllr вrrодjtrrrllr)'()д]lilкo (lго 'Гaк1.lrкo.Тс.{нllчесlсle

хаPагГcllt.lTllкIl oстi|вJ]яl(rl, xLслaтЬ JIvlп|Iсl.о] оlIчpсзвьlЧаihro ]{ollфJrtlктеllj сjlxllпt()м заIl01,сл |1 poltJЬlю лрr|11снrlNl JrlllrlЬ к llсkо.LорьI\] PЕ фaiiJам' кorоPь|с oпrечilот Пссlf предъявлясr"п.trr к пrrrl ,rpс6онанляiir(за'Го ol| 6ез6oJlсзне|lllо пeрсноси,г yllar(ЛЛ{v ll о6Pа6оrкy прoтсктrlрамrr),I Iапеpвr , Iйвз lЛяД ' l ' l дся l l cвстрeчJс tт I l l t l {ак l l ) ( l Ip .пяrстл '1 l l :дОп ' |сЬIваe\JхI io/L]l хвoст ]loс,leдllой сеЛllиl.l' уtsслIl1lиваei\l Pаз\lеp стрillIllчlll)r.o пr1ll/!}in IliL соoт.xel.ствyющylo вcJЛllllrнy' ttc забьtвaя о eс вьцlil!flIrпallшr. t1 Ilсре]rасм IIn х ю,,lI llРanлс11ие, }l]шaкtl х дoпoЛнитe-llll{ьIх ] lсрс/.lв Jlясппii o:r пl Iх сeritIl ii отпt х:rrтсл r'.

l ь ' | n l ) л н o ' , , | l | t P c | | ' А , ^ | о | , ' r | , ' | l ' n ч i ' | ' | | ч' 1 t . o , | . n U ' , | | p o u , I n l ' | , U , ф | | | | , I o ч . U . , I r , к . 6 н | ' \ l , ' Г l ' \ , h I v l ' ' I r l | ] r : . l ' i I l i J ' j " к'(е oтIтадaст| l1l1аiJ тIечcro oxасатьсяl чтoх кoд rIеpезаIlrппcrЛirпllr']r, nрllнадлe.

liarцIlе та6"1ице liNlllopта илIi, па]lрrlN1сp' PесуРсам (Pjlс' 6,12)']lо стorlт 'Гo.llЬIio снять poзовьlе oчки ,I загnянv,ГЬ в гЛа:]а ре:LllЬнoстll] каIi прo.6лeмт; попpyтттзсl всех щслеii, A что ссJiи кotl €Ц пoсJ.iе/.Illсfi сeкЦllи пс совпaДаетс fto)lцol! фаiiлa? NIо'(eТ }ке TaIl oiraзaТься oверлеii илп прос1.o t,!"\.с(lP' oс,Гaв,оIl.lь]й nинкеРoм? A чтo eсJnт пoсЛсдrIeй секциеil4lаiiла являeтся.сeкullя псини

m

Page 144: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ц11алl.lз]{рoвallнЬlх дaннъlх tlr]}l

rlснl.Ito'(eт 6ъIтЬ в ьl lруnrerra rr3DlSС]\RDAвT-Е сeкцияl t{.]lopaя в лIо6oii мо

Bн сдPяться в пoс,lсдl Ilоlо ссrщ]rro 4)ajiJi2 I '.] l .r.4 'ко техIltlчсс l{ll ]]еIiPaвиnьнo' по

Il гIonll-t,l]ч'ёскrl нсI{oPpеJi.Г]]o. Тс}1 lll'['еllе| ll JТo,г спосс)6 пl1сст nРапo rrа суrце

ствoBaнI]с. tLo:rтoi\{y pi]ссIloтpиlt сгo t1oaoлр()6!rсс,

нoвь а v -sz' lnage slzr /

Pис.6.12' Bнедрeние x.кода в фаЙл пylем pасшиpeHия лослeднeй секции

I]lIедрirIllrс. ]jсnll 4)ltзI1чцrсlrii P.l3N0i) rll)сjIcl(lloii(l('ll lr,tll' будуч|l ll|,lр0Bнс11IlьlМ

l ]а л( , !ЛЧ|| | |у F j ]e A] ignп]ent , r i с <дo ' Iя ' !в ; tс 'Гся ' n( ) 4Лrз l lчсс] i ( ) го l (о]пtа фa i iЛa ,зlIaчIlт, х lк)'ц iloЛ'iсj1 'r||l60 oтI(азl1,П,с' o.Г !ll|дрcIL я' nI16lr llPис].егивa-Iь свoе

TeJo нс к rrolrIlY сеI{Цrш, tl к коllцv (])tlii"1а. P;lзj1ILlLil lli' пРilt]ЦlllllIilJ|ь]la, зa сItJllo-(IепIIсi{ r.oго, чTo овсPjlcii тeпcPЬ lIр||,l(eтс' зaгlу){ir'].r] в пill,|я.rьl увcлпчlrв;Ul каl(

вРсl\iя загPузt{ll, Titк 1l кo,rlI1LI.'стlrо IIоTPe6'цясNonх PссуРфв' впсl1РЯ,lЬся '(е Nt(r)к.

ду кoпцоll ссrrцt l I l ] l пaча,l o^l oIlер"!оя кllTсГ( )П lIl eскIt ltсдс)l lyсTпlIo' Tак кnк oвер.

Jlrxl ч а |]Ie вссгo aдресуlt)тс'l o1.] ll хl пl]"l Ьrto llаI l'Lta фаrjJIа (х0тя N'оl.ут а,rPесoвaтъ.

ся и oт] !ос l l тPJ . lЬн0 1r ;o] ]ца п0сЛсДпrй ссxц11 l l ) , l IPyГа ' l т0пкoстЬ связaна

с пePcсчсTоIi вripт),а,lll,ln)го раэllcPа секцIlli ссЛrl оI I 6олъ1шс физriческolo 0(ак

чalrle вссгo и сЛ'\^laс'гся)' то он у,{с вк.]rlочitет в (с6я кaкvю тo чaсть oвrPJrея'

IlоэToмy :rltгoритrf вЬIчuсД l я нoвоl.o Разпlepa сyщесTI]ellIro yсJrожllяeTся.

с aтри6y'Гамrl секпl1il дсJlit o6стoЯT сщe хуrке, ссl{цJlll ]IeI'пIицrtшr]зированнl'х

дalпrЪrх вс)06Ul.. rlе сr6язаnj'l заrPyjrrат!ся с /]пскa (хоtя gх/NT lх все.Tаки зaгру.

жaют), а оl1oке6ньrc с:еliцlпr (наrlРиr.1ер, секIrtlя rIcpепle lасмых эnеl'е}rтoв) pe-

aaьно вoсTрe6овапьl сxсте]\tоI1l r.lиllrь I ta этaпо зal.pузки PЕ фа1"1Ла, aкTивны тoj1Ькo

rra стадtIи заl.рузкп, а l1?!IьIrей!Iсс их пре6Ъiванlrс в пa\fя'Ги rrо гapa!шIrPованol

lт Х ]toд зarlРостo ilожеТ сх-rтoпотатr' lсIiJюч0н11с сrцe до тоro' кaк yспeет пеPс.

Page 145: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

746 иЯ и yдалe|ия кодa из PЕ файлOв

дe1.ь yпPaв"Iеl1ис oсfloв]Iой прoгpaiимс, I{oнeч]to, х.кoд мoлсeт скopректиPоBa'ГьirТpибvтЬт ll.]с'{сдIlеii се]rци]] пo свoе,!rу yсlioTPсниюj flo этo yx}ЦпIиT llpoизвo'lи.1.еn!нoстЬ сllсТсnIы и 6vДст слипrкo}1 зaпteтнo' ЕсЛи фи3u qссIrий paзмсp пoс.neл-пelt сскц11и pаgсI{ нy.nloj чтo хаPакrеpнo длЯ секц1rй Леинициа-tllзl.lPоваrrflьIхr.IaIl]1l,1хl rrучrnе сc l1ропус,гить, вrlедрlrвшIrсЪ в пpсдiтoсЛед11юю секц11to,TппllчнъIй L'тгоPитм вIleЛРеl]иЯ вьIпIядит так:. загpу,каспl PЕ 3аГoxовolr и анiljшIзIrpуenl aтPlI6yTЬl последпeй сеIiцllrl;. ссли q]ЛаI Il4AGЕ sсN_ E|4 SнARЕD устaIJов'Itсl]] откaзывa€]\ся о1. вн€лРeI l и'!li. есJlи фrraг IfiAGЕ-sсN MЕ -DISсАROАBLE Yстап()вЛсн] j1lr6o oткaзьiBаеltсЯ от 8||е.

лpeпrtя' 'lп6о саlloстoятe"'lъlю с6pасьlяaсlr сr o;. есЛи ф'raг IPlАGЕ-sсN.сNТ UN I NIтIALIZЕD-.DAтA у(. l ill1oвr]eЛ j rtvчшe всeг( ) oт]{aзaтЬся

. есr|LL AL]GN.I]P(Ls.г-sz ' FA) + Ls r а > siz €ofFi]e, фaйrl сoдсpлогг oвсplтсi i 'П J lучшe o ' гказаться оT вxсдPсJ l I l ' ;

. ссJ I i Ls .v -sz > Ls . г гz ' хBОс l . ссxц l l l | сo i rсp}кJ fГ ' l i ] Lн l l ь iе l и r |} lЦI lа r l I l3 l |Рoвn l l -1 lЬJсI lу . l l я i l ] I l l l сnслyсT. I J l l .юo lтa i |aTь(Яoт l ] l r cдpcнr 'я ' r ] r16оп € l ) cд l l срс l l а . |е i i

управJ]с l t l IЯ поЛч l l ( ' l r l ть u( l с ' а сo6() ' i ;

. дoI I j l сь I I rac i ! ] х .xoл l ( к r l l l ( v ( ] ) l l i i r l а i

. усTa l laвJ l l |вaсrv Ls . г -sz i rа s i ze0f F i ]е - Ls ' г -о f f ;

. cсJ l l lLs .v-sz >_ (Ls,г-а + Ls 'г .sz + {s izeOfF i]e -(Ls,r-а + АLIGN UP(Ls.r-sz 'F A ) ) ) ' ( ) с T а в n я с У L s , v s z 6 с з ] l З N l с l l e | | i i i l l | | i r ч с L s , v s z : = 0 ;

. ссJ lД Ls 'v-sz I_ 0. ]|сpoсч!1]nl l i l cп| 1паge s ize;

. Ili't Ilе()6хoДxrvo(-r.}l l()PP!м l)!сIl а1pП6уTЬI l]l|сдP'спloii сс I{цI t]1: с6paсЫ r]il.eN|lгPIт6и I|lAGЕ sсN ПEм.D I sсАRmalЕ I ! п рl |с l]rll lвiсм ll Ц'r6vT II,IAGE sсN l]Е _RЕюi

. IIсрссчJI 'ГЬlвaсNi Inagе s i2e.

Идeнтификацил пopаlltсппых о6ъсктoв. вrrе/lрcltuя эт()Г0 Tr,lIIa lr,.]сIПrtф ци.| i r Ь - ' ' . ] | ' ^ U ' в . с | l j _ U н | | . ] | 1 J | w . , . ' { р l , . у | . ] o | | ' \ | | . n | , ' o i I o . , , l е | l l , i i l , n к | | | | | |' n ' | | | , , ' , , o 1 , | . , ' U . ' , ' j , j , , в . , ' | . , ] , l , r o ' | . J | | ' ] , , . | | | | | | U | | J j ' , n I l ' U Ь : н l | , | \ , | ' | | , , L ] хJlx6о сeкцЛя Pесvрс0в' ".ll16o с,rlу)I(е6пaя с1rIoп я, rraпPлllеp сскцrrя импoртa/экс-пopТа плп llcPсlllепlасNlЬIr( зnеIloнтоп,

ЕсJtj l.lсходIlЬlii фаijn с0д.р'{аn l)всPjIсii ('1!! Ilv.op) oставЛеннЬпr JrпIlксpoм)'r ' ; , | r | o | 1 , , l ' t ' o J ^ | . ъ | , . r . J | ' ' | | ' ' , L , ' | lBoсстанoв..IсIIие ЛoPа'(eнныx o6ъектoв. ЛIо6oвь I'aчr1IrаюпIllх пpогРаl|IIис1.oвк Pасl]I]шсllrrю пoсЛеднсl1 се(цr1]] фаiiJa впoJпe 06ЪЯспlllla (6oJee иJ]и пIelreeподр!)6ное оllrсанIie )тol.o спсlсо6а внеДpelrxя i]оnоlo ]1аilтr' ]lРа]rтrrчесI.n в люi)oNI вирус1lolf '(ypна"!е)' п0 вoт аJl.opиТмI,гrескrlо oпп16кrr, сoвеpлrcннъre rпrи,пellPoс,Гите'цЬнъI rr TPс6yютсyPoвoго lIa]rазall],я IlЛrl' ло краiiнсr:i rvерe, о6ществеll.

чaл]е всегo всТрсчаloTся оп1116т.ll TPех тиlroB: нellеРl{olr oгIpедсlеrпre lloзицlrriкoнцa q]aиЛaj отсyтств е вьLРавllивa] l].],] и нeпoдхoдяIrрlе атри6yтьr сскuпи' пpи.чеN{ 6ojьпl;Lч чaсть liз 11!lх тrеo6рaTr.!fa' rl ]loрDкeпrrьrе фaii-lьI вoсстaнoвлeнrлo

Page 146: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

леllия кода из PЕ.фaйлOв

.чaчIirll с тo1.o' чтo Ls , r off + LS , г sz l Je всe1да сolr падаe,l с lorlпoj\I фаliЛа, I] eслифаli'tсoдePr(итoвеP,rei,l' оп6удст6езж.r:10сТн0Yl]пчтo'кеx, ЕсJrrI Ls. v-sz < Ls, г sz,]o г sz Ntoжст 6еспpeпя1.(Tвсlнl'o Rъl-llеlа1.ь за преllt].]rь] фaiiJ|а, rr pазPa6опlr'к\ кола ,цo'lжон это }"t lттЬвaTь' в пPо'Гивrr.ru сjlу.rае в t{oнце пос.цL'дtiсii сeкцпп .,6.

UчеfiЬ частo встРечaсTся I'i тaкnя ()tl1и6пa|nмесlo Тoro что6ri ]lодтЯIlyтЬ Ls'г-szк lioнцy Х i{о,la' Ilрol.Pампlrlст увс]r]l ч]rвaе'Г Ls ' г-sz н a раЗi\I еP х.IioЛа' x cс./ll1 1rо.нсц пoс"rт€,1пеll (скцпIl II € сов]lаllrt с xоll]lоll optrгппальлoro фaй:ta' Х.кoд пе.( )ж!jial{нo д.liя сeбя ом)]{ется i| Orrсp..IссlI{ сч:l(11'lo' этoil6еIL(] -'rсгIro пoпftЛ|l, -.l1Po-стo сi{oРpс1iтIrрyii \] |loJ]с Ls, г-sz' устанoвllu em rIll дсilстrrЛ ГeЛ'ньпi кОrleц фirii.la,Hереltкo пpпхoлптся ста''rlпваться rl с oшrl6кal\lIl tropprкllIllt вnpTyajiьЛьIх pаз.rlеРo }]. Кilк Y,{е говоlJ ujloсь, тBeл U.l IlватЬ Ls , V sz ltll pазl rcР Х. кoда llyл{ l Io nxшЬтoгЛaj кolla Ls,v.sz <= Ls.г'sz' п 1lРo'r]IRrl.l\1 сnyчас Dпl)'JYаIьньIit о6рi]l yкссoлeР)кll1.Часть Xо,llа ll.Цtr jlат{с вc(lL х-Iiоr.l ]tсrпJ](оil. Ес.пЛ Ls'v sz I_ 0' TlL(aЯ, , | | | r ' | . i | | , o J | ' l | | l l , , r | | | | | | ' , ' , | , | , I J i ' , t l , l ' | ' , ' , ' ' . , ' , , ' ' ' ч *

ствo I]аl!1,1ти, вЬlдсJlell]ll:)ljl llРoцcсс()lrу яо cс'lJlL L5,V-sz - 0' ||oс'lс BIIe/Qс|||l'l otl( ) I{ : t , (сTс ' l Pаn l lЬ lм , ' . l )а :}мсPv х к) ]Ln ' кoтоРr , l i i r \ | | |o|0 i \ l с J l I ) J l | с P i l змоРа l loс i i сск .llIlll] ]] Pсзультa'Гe llсIo cс lIрoдо.'rлrr'tllIс rtс 6vдtl'|!itl.|)Y,icJIo ll {i)аji'( оTкакx.r] ра.6отe ' l Jля вoзраr l t с l rL l l с гo в с r .1х l i i r rpoсLо rб l rу ' ' Lи , |с r loЛс Ls ' v sz иЛ l l Пь|ч сnr iTос l 'o ис ' | . l . | | l | |oс з l ]ачeI I l l с '

l l oсЛс ]тзмrI l с l lия в l lр1 .vaJ|ЬI lЬ|х Ра i , l ' сP( ) | r ( !к | ( l I j l TPс6ус|{ j , | l l сР0сч j lTaTьImаge size' ч'ro l t,oгис llРогl)аnt11llсl'l'ЬI l(Ll'цiLю,| |lcl|l)а|rl Л|,||oj Лrlбo i]Pос1.o оylliill,t.I ' ) , | ч l I P l v ' l , l ' | , | ' l , P , , I I | с l ' | , l , r 1 ' \ ( , | \ | | | | i i , , ' , / , ' ' \ ' l с , l | | , | | l , , ' l . 1 l , , , , I l , ' , . У ' | 1 | I I l с , . г я .смtlto кодa' лrr6oзlt6ьшаlr OrLРvl.'lll|1.ll п(),1уЧcIlIlI,lii Р('i1у,rlЬ1'.rT Iltl ГРаulIllY 6.4 l(61iil,'цЛ6o l(0|1ускaя /lругrIе ()lrlll6rot' ГIРaв|llЬIпnii !l'lll.оPII'гll IlЬl.i с,rlоltlxl I]тage sizeвьr гJ] 'I l( иr. ' r .акi Ls. v_а + АLIGN UP( (Ls.v-s)? Ls'v s:Ls,г.sz.0A),Саrv'ьIй 6еi]o6nднъп.' 6aг -.rrov,1а'IIл;е arprr6утьr рlсrl|пряcIIoii с nll]l]' напРl,1NleрЬ н n д D c ' I ' U D T s с ^ R I J А l J L L . . | i | | | | | ' l , I U р ' ' i i | | : | | | l о . , l I l ' l . ' l | . { l L ] , , J , яrlсprlleпLаеi!] ь]х эле]\lel flu] ' с)6Ьl.Il ю рil(xo]lilг:lIоn la' (' Ir lLo lll lc 4)а iixа. кoррeкI l11яаTplr6vтo! дoл,{{на pеlllll Il] э1у ЛPо6"llеIlY,

, / t , . v ! ' 1 Р , , l , х , | . o | ' | l ' . l ' | | , | i r | 1 1 , | | | | ' , n | г . ) ( Ь | 'sizeof(х.сode) 6аiiтoв .rT r{оllца lIoсneДIlсi] с]lrloп rJ ll llсpCсчпTnii|с зI1ачсIrlя к!.]Lсй: lmаge ваse. Ls,r sz J l Ls,г оff '

}цтEгoPия с: сoздAниЕсBoEЙ сoБствЕннoй сЕкцииAпьтeplIа1]1вoI.i рaсrllrlPенlIю пoс.neд.нсri сеlilllfl 1 фаirЛa сTilllo сoздaIlпe св0'еil сo6с-rвrlrноii ссlсц]]]lj чтo ]Jc TоJ]ъкo <tvloднo'' пo lr тсхнпческu 6oлоегparu()l!o- Тeперь, ]lо llpаIiпeii мсpс'нIr oвер]lcи' rrи тaбJ1]lЦЬi пеРeN1сщаc-ijъIх э'']емснтoв rlе 6yдyт поt|аllрасlly6oлтaться в паNlятlr (pис- 6.1з)

Page 147: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

|lия и yдалelиЯ кодa из PЕ.фaйЛов

нooьll v-ьz' lmagв s * 7Pис.6.tз. внедpeние Х.кодa вфайл путем сoздaнил собсrвrнNoй сeкции

l]Лодp€ll!tе: O6o6rllсJl]lьliiалг()PU-lI' lrllcr:(I)сIlJ,я Il|'[n'Iдl|-L тaк;. 3агPy,(aoм l)]-.заг()Jк)j,]ок l,J сIl('гPЙм, чTо PilOlo-llо)rsllo 3a тa6Jlиllсii сскцl'liii. сс.llи зj(ссl' Ilс llу"'lиj ()rкa3ьIвaе]!lся оT вIlс/lPсIпl';. l ]сЛI] e.. l fаnel l + sizeOf0рtjona]|]eаder + 14h + (Nunber0fsесt ions + 1)*40 >

si zфfl]eаders, Рaздвпri]eIt з?tг0Л ()Iloк' кaк l loкa3ll Io 8 Pаз]IeJ с з вЛellPolrиe в PЕ.llitГо':loвoк,! a oсJIo э'го IIсв.)3можнo' 01.кaзшваc\1ся oт ilaРФI(сIll|яj

. дl)IllIсl]lвilсli x.кoll I( l(лllly фaйJ|tl;

. vl]cjlIitп]вaсм N!|nbeг0fseсtiоns па сЛlrшЦУ;

. Jlьц)авUrtвaсм LS'г-sz нa IreЛrlчIIнy FА;o /.1ollисIriBaoм к та6nuцс сеliциji еЛle oдnн )Лсtrlснт' зnпoлlIяя Itо-ця сJ]eдуIollIIlNI

(J6pmоl{:

o ?]r!'.'l] нr ]lllсст зlIаЧсllпя;

o . r?;Ls 'v-а + AL]GN.UP( (Ls.v sz)? Ls.v_sz: Ls.г-sz) . seсt iоn Al ignment) ic l ф' ! € . :s izeOfГj le;o z ,!": sizeоf(х'соde) иxи 0х0io, , . . l : : s izeof(х.сode) i

o сia'..i IмAGE'SсN_сNТ.с0DЕ ] IliAGЕ-sсN ПЕl4_ЕхЕсUтЕ;o oсп.u|ьн--' aх0:

. псРeсчиTъInaеNl ]mаge size,

llдelrт!фIrкaцпя пoРa}кeнRьD. 06ъект0в. Bнедleuitя это1]o тIrпa Леrтo Рaс]roз.]iilются l1oналllчllю кo/.iоtsой сeкциив конце фai]rrа (стar цаPтпo пoдoваясепцпяfr..гда 1lдсТ neрвorl),

Page 148: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

теrника внeдрerrия и yдалeния кoда из PE.файлов 149

Boсстановлrпlrе пoPaаrеннЬtх o6ъeктoв. Оrnи6оч]I0e oflpeДeлeние сi\{rЦеt1]1я

внсдрясNФii секЦllli обычнo llРrшoДrn к поnнoй нePа6.JToсIloсo6 oсти фai,lna 6eз

\Iалсil!rx1 tlallе)IiЛ llа егlr вoссТанosJlе]ole (пoдpo6нос 06 этoм }ll,l у)кe гoтlорилir

гl предъIдуlцсlll Pixl/reЛе), o1Uп6r oсТar]ъilьlх тиaoB e}iсс кoвapllЬl,

)кr1вaя кraсспIia. нс вl,ц)овпer]rr Ьlii ф]1з}rчс(к1ji] Р^змеp пP€ДпoсЛсдвеii секrtl'lи

фaii..lа' как yж€ гoвoPItjloсь rlьпrIе, sЬrpаB1lI1вa1ь 4nltllчeскl{й paзмсP llос"Ieлпeй

ссr{rrl]lJ 1rc o6язaтсJIЬt1о' no IlРll впcдрсlllrli llоroii секциr,l в файr xoсJ1еlillяя сек

ilrJя сTlн0вr1Tся пре,1пос.]lсдllt] 1 со всеNllI Bьl'Гсl{ill()lцl'ivtl (rтсюдa ЛослсдсTgllяN'll.

кAтЕгoPия с: РAсl ' lJиPEt|иE сЕPЕдинHьIx сEкциЙ ФAЙлAГlrlеlrРонIrс в r:qх.lпrrIv фаii,Iа 0|lкпlтся ri вr,Iсшсrrу ttл:trlтаlrу и o6есrrс.rиваeт

Х кол1, пl l 16r-l.lll,Lrrую сltРЬl Tнoс1r'. l lрtЛпoчт птс.IlЬн сс все го вll e/(РятьсЯ ли6сl в llа-.rалo' лl,r6o в rrtllкltt колсlnoii (скц11lr. кo'|оPoii в пoда9]1,юlцL'Nl 6ольrIUIllстsс с.Цу-

чаl]в яв.]J,lс1Оl ||(r])|]ая ссiiцlUl (l)iliiJrа' ;JTот аjIгoPlj1ll l|1lс-цеЛует всс Jrучш11с чеР

1r'| со3/'laIlIЕl oвсРЛс' il ссPс;цxЛс' \|l|()|oJil]а.l но \Jсlllllr]raя ||х] nIrrЛРсrlн!lii х-кoЛ

I lр| | | |aдJIс , i l |1 .с l j ) r | | ] t ' r J JO l I \ ] l t I l l | ' L )ку ' on .Pnся xс , | ' l r l ) i ) г ( ) l ' l y l l cт l l коr t ( | ) JЛктоu

с l rР( )тc l{тоP l l } l1 l / i у l I i ' l (Л l l I l I l r { t t^1j | .

I} l l сдрс] Iис I ' начаJIo . в| l сnPcI l I l . l l ] |ач: l ' l l о IФ 'L( ' ! ) i l сск i l l l ] l i \ {o , i l l ( ) oсу] lL0стпить

L , . ' { ' : | | | ' : ' ' ' ' ) ' , l l | , l l | r t | | , l ' | | | L п

(0r ( l l ] t ' Iм l l 1 r ) lP rпo) ( l ) l i :Л lчсск j l r |с l ) сN|сс1| l l r с ( | ! ( l )x i ] . ' | с ' с (оррс '{1 . l l iю l l1 ' | | ]}сс ссЬ lЛ.

ln l I l^ n6(o , r Ix ' r I lЬ iе i l ; ' l ] ) f ( i l | ] ( | l ] i l I l l l ' l l Iо I l l l \ ' l vР|{с ' n I l6o у r ! |с I l I ' l I l l lТЬ v_а п г o f f

ln ' ( ) | r ( ) i i сo| i l L l l I I l rn oд||у l l Tv ' {с l ] .n| |Ч|| | |y l 3 i l l l оn| |Я , l oс8oбо 'ц l l I ]п|cсс , м0с ' , . ( )

Х- (o l lon l ' Т l ]D la l l l r 4 ) l1 i } | |ч| ( i { l I ! , i ] l l | ] l !PTy l l JЬJ i ] io ссЬ l ' l l к l l l ( ( )рP0| i | . I lp (ЛJa 'Гъ I l с

I l I ) | l , | l стс , l . , l ' i l к к i l J t (с |{| l | |Л t )у]Lc r с l | | ) ( ) l ' i L I lро l r t l l ] : l | ] l l i lN lяTЬ по I lPс 'o t ]111 iц l )cсa l{ ,

. I l сГ l (o ЛoI . rз i l1 ] , ' Ч Гo l l с l ]0 t ' ( ' l I Lс| l | |с к ( )до|]o i i .o l iц | | l l l I l ) l J | ] i i t : ; lрс I I l t l l х -ко l la в ce

l1 l1чar| ( ) ( ) ( ]у l I iес1 в , ] l } r 0 'кLr i l l I :L ro f i !Ч l | ( ) r | (1)С l \ |с lцс| l ]1 l l ) сс |{| ( I | | | / l i l I J I l l ) |х l l l ) l r i r I Iс /1рс .

l l l l l l к ( ) / ( i l l ] I io I loц ! l l r ( ) )1 . ( )n lу Лo l l збсx{ ! | l l l . н t l ко i ' у i l с l l у ) Io lоГo / l vбЛ РoваI l l t , l( ) l l l 1с l l I l raс ' rС , ! ( ' l | | ( ) | | l \ l0 ] i I loм P l l зд( ' Jс (с \ l ' oв l l с ,1pе l l l l e B ]Lопсц") . i i l Lесь ) l ( с l l ь l

(lосlI)сl(llточlINlся lIa зiiпrjuloii l.Pllrrl l(с к)/'Loвl)ii ссl{lllrll п тcхпllчссrcrtх aсneктах

cс o' t)дв|tгrrrIl'l вfJI!6Ь i]xгoJlorrILil,

o)6ствcн!lo rоПоря' nСЛ |Ipo6nсi!'x rl то11, ч'I() l|()/ti!в"!яloщcc бo,1lЬr|lI1llстRo кoдoвЬlх

сrшoli,l IlачjlJIiLeTся с arrPц]rL 1000h \!l'uиIIiLl||,ll() дoIIусlТlll]оlo aдРeса' дIпtTyсмo.

i.о Bьr6ран IIоii крiшl krсT Ь]o вЬЦ)il! llI]Blll п и 0A' 1а к trГо отс'r.уlIаTь уЖe I Jeкyда зal.о.

'!orr.rli за наIjп, з]lесЬ l!о'кlto ||o(t.упIrTь двvllя сJJ()сo6ампi лл6с) yN1еЛьпп1ть 6aзо-

в).Iitfu]рсс заl?vltк'Iпit DcJIrгlr]llу' xрxт]tуIo 64 К6tlii|, lJ с]юРl)сктlIPoBilTь r]се ссl'Ulкl

tia ltvA-.1Дресl (чTo !Ц.()]!llrт0ЛьIro] да ll6aзoвьlii aдPес :]aГру]llol подaв]l'roпIего

6o.flьшиrlсl.nit файЛoв - эjо lt{i п пrllajtьllЬLii ?цРес, пo]цсPж]шae\JЫii \\riпdo\\'s 9х)'

.nIт6о oTкnl(Ir'lть въrрaвtlllваl olc п фаiirlс' oT( )дjrIi] lyR гlraнIIцv l ll 'rl I06oе коJ1xчсс1.в( )

6аii'Г, I{PаTIIOC ]r вiц{ (яo To1дa4);lii"t ]Iе 6vДс'1 з.Lllyскaться Irод\\/iпdows 9x),.l.l

|п oвоil а"1ropllTr\i впедPснl l'1 l lу,геlr yпlеяьl]rсIlrlя 6:lзовoго aдPcса ]aгРvзшr въl-

счlTЬtвiLc]\I PЕ за1.o.rlовoкi

есJrl ] mage ва s€ < 1 , 00 . 00 h Ir пе рсrlсщn']Il ьlх элеllентoв tlеT' ( 'l казЬiваоllся оT

Page 149: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

150 .Ejj! 1!a"] едpe'.9 / yдалe],я roда ,з PЕ.фJi..oв

. eсЛи Imаgе Bаse <- 40'00.00h и irеpeпlещаеl'ьIх эЛемепToв l{eтj Лучr]с oткa.3aться oт вrrедPe]r]rя' Taк как фaйn нr смо'(rт запускаться в \Yindоws 9х;

. B}iеДpяем 1,00.00h 6айт в загoЛoвоl i пo l leтоl iy ' oпЛсaпIloпty в Рaз]]еJrr<.Pаз/IвI,I)лка заГoЛ0вl{а), офopмляя все 1' 00,00h 6aйтa как oвсpлей !тo естьoстaвЛяЯ sizе0fHeаdеrs fie,iJмсtlньIr\0' a ос.nи этo нсвoз]\loжнo] oтт.азьtва€мся (]1'внсдPеrrпя;

. \ \ l р | | | ,ш , | ' ч с s . v а , | г s , . o f . j | а l , 0 0 , 00h '

. уве,]Irчr 'rаспI Fs.г sz lrа 1.00.00hi

. есxl i Fs,v sz нс pauеп 0, уBсЛIrчивaспl его ] l i r 1 '00,00h;

. yвоЛrrч ивaell lrтРтyaЛlllыс aдРeса всeх сеIций' кPoNtе пeplrой' t{а 1.00.0ohi

. aналпЗIlрусм все сJ]yжс6ныe сTруктYРьr ' rtсPочисЛeнньIе в DAГA DIRЕстoRY(тa6.rтицьi ]ll{спoPтаj jtrullортаj пеРс]ilсщaeмшх эЛeljе|n.oв и'Г' д,)' yвелlrЧивая uсeRVA (сЬlJ]]rll Il:l 1. 00.0Ohi

вt1одPЯеl1 х -кoд R l laча]Io (o, . loв0i i сскцЛlr oт Fs, г of f/]oFs ' r of f + 1.00 '00;l lсрссчl{ть|васм Imа9е s ize,

Tппoвoii nnroРlп.м,J]tcдpellия llуl.сIJ rlеРеtloса 3а|lа,llloii ГpаllllцьI lIсрroii секцr| r' llьl ГJl,t]1].rг Taк:

. сIllITьIвaсN] PЕ-з;rfoJ]oвoк;

. cсЛ I'l 0A < 2000h, ЛуЧ x Iс oTl(a3ат Ься oт в |lсдроI l I lя l 'гaк кlll( qrаi'iJt 6удо1. Il сpil6oто'сnосoб0II пa wiD(lows gх] Ilo 0сJlи мьl l]сc.,].aки хol.ttlll BIlс/lрl'тЬся) To:o ус ' га l l аnЛ l ' I rасм ЕA l , l 0AР lв f lЬIмI1 20h;

o дx ' lка}к '(() i i . l c l ( l l r i l l :oсr|| tNs 'v-а *сs 'v_а.сs,v sz > 20h' пoдT, l l .иnасм сs ' v 5zт N s , v - а - . q , v - а ,

o rl,rя lф){дoii сскцlJ |l: oс"ц rI v sz > r-szj упeJ|и ч]{ вnепI iLJI пl lv сеJ(ц l,t]т па v_s z -г_sz 6aiiт, 1|oPс:"!спlаЯ всo oсT lЬ||Ьlс в 4;llrl чсскоlr o6paзе и странлirl.lпr

o /LЛ' кaхлoЛ сскЦI,Iп]eсJlи v sz<r s2] пoдтяr.l lвасl!1 V-sz rr Ns'V-а - сs'v-а,,1о6иваясь pавclrствa r]l u" nu".nuх ,n o'1,'уr-',o,'ъIх pа3,\]срoв;

. впeдрясмвзагоJr()вокALlGN- i]Р(s iz €o f(х.сodе) ' 0A) 6a i iT, oфoрNlJ l , lя пxкaк

. уI ,e] lь1xас]u Fs 'v-а и Fs.г of f t iаAL]GN-UP(sjzeof(x сodе) ' 0A);

. nllедPЯrм Х-l(oд в нач;шo ]lсPв.Ji' сeкцnlr фаii/lа;

. ltсРrсчиTьItsасl{ lmаge size.

B]IeДре|iIе u iсонец. aIтo6ьr внсдprrться в тtolterl l.oдoвоii сcкцп'il Ilсo6xо/]ЛмoPaз/]вllга'rъ не сTPанич]lыi rINI]lд)ri' заltoвo пeресчIrTaB ссьIЛl{]J lla все аДрeсalтак кi}l{ стapьIх дa]]тlьIх lla пPс'(нe]!] I{cсте уже ]le oira,]сстся. Зaдaнa кажетсянeвыпoЛlil,Iп{ой (встраrlпaт], в х кoД rlо..lнoцellньrri дизaссеlr6лep с пнтeл'lек.тol{ иды нe прeд"lrагатьI)' ilo pсnlelrиe jlc}l{ит 6У1tвалЬнo на пoвеpr]lости, B xo.]rвJ]яющеN 6oЛьI]lиrrствe с,пyчaeвДЛЯ ссt,IЛoк пlOк]ly секцияIlи ксlда и 11анIrьlхllсllo.!ьзуlolся не oт]lоситс'.тьпьre' a а6солroтньlе aдрссa, пеpечислellпшс в тa6-

Page 150: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

техникa внeдрeния иyдалeния кoда из PЕ.файлoв 151

.nr'пre псPсмсщalrмЬtх .]JIeмеllтoв ( пР]'1 )'сrroвttlr ' ч'ro orlа еО.ь). B кра!iнеl! слyчаcа6сotrrrотньIe ссьUlки Nlo)кl]o РaспозI'атЪ эвpl]t]тllчсскими lIрl'еI'a\fIl если(Iлrаgе вase +Imаge size) >: z >_ Imаgе si ze' то z .. эффскT!]]]! Ьlй аr1рес, тPе-6уюпoIй кoPpскц]1и (Pазуl{eе'Гся' пPeдлo}!iен]1r'пi lIpnсll нс с./rиlr!кrм падежоrr'I lo всe жe oн Pa6oтaе1),Т | | п o в o : ' i L л | o p ' l , N l " н J , | P ' ' | | | | , r P ] | , | я | | l I j . | ,

. считьiвaсl1PЕ.зat.oЛоBoк;

. если нот псpcмсцaемЬIх элеlfеrlтов, nyчшс оТl!азатr'с'l oт впellреп я, таIt Itак' t ' ] , | j \|o^"| , ' | ' , ' i r | ' l : . '1 ' '1о.пo. ,o. ' l o .

rlахoдI.INI I{oдoвуlo сeкцrt]о фаiiла]

если сs,v.sz -= 0lUtr] сs 'v-sz >: сs, г sz ' yBеЛЛчI]васм r-sz кoдoвl:) i i секЦrlи1I,.'йлa;eслl i сs, V-sz < сs ' r s? ' 'госs,г-sz]:Ns,r-оff+AL]GN UP(sjzeоf(х.соde)' FA)i

ссЛи сs' v-sz < сs, r.sz ' Tо Cs'v_sz:: сs ' г.sz;

физrl .rcски('LI] l iГaемtsссЛoс-!сДуro!11rcс. l i I l ||J i lALIGN UP(sjzеof(х-сode)' гA)6iliir' yв()Jlr,l'Iltвая пх r_оff ltir,lу )к. (]aNyl) llenll.l llvi

. сдl]]lГilc]ll всс ЛoсЛедуlolцис ссlщIllIr (1.PnljI1ч|lo]\{ Л\l]l/'Ln{е' уп€r1jllll{вaЯ Llх v-а

! l . t ALIGN UP(sjzeof(х.сode) ' 0A) 6аj i г i

cсЛl4 Tа6jlицn lIL,Рi]Nlс||lасNrьlх l)'!cNlrll'l,o1l llРl|(1у11j,гRv.'rl vЛс,Itl1ч|lJ]а.Nl всс n6.

с0J l ]оT l lЬ l0 С( : l , I J | l t I ] | l . r I ]срсN 'с | l Lс| | | l ь ]х с ( ] | ( ] l | . | l l I l i l ALIGN UР(s i zeof (Х с0dе) ' 0A)

6айтi cсlЛI x(c Tа6iItJLЬ| l|с|)с]\1с]Ilitl]]\lьlх i)Jlс11clr|oв llсT' l|сlIoJlьзусII рaз"!IrlЧ.Ilь]е эвРIlс'ГцЧc(l(Ilс a]|Г()рlI.гNlь|i

псрссчlr,гЬIвacм Imаqе slze,

и 'цспг t tфикa(ия ) ropа, l ( с I lпЬIx oб1,скros . / l | l l j ] l l ' | i i 1 l I l l B l l i ] ] ( l l с lпD l Лo с l !х | IoР | l с

l]ЬlJIовJJel| в )lnIвоit IIPuP()дC' l|():)T()]!1! г()ПоРlfГl, о сго ItдcII, 1q)|lxtlllll|] ]шс)1t](е.

BoсстаtIoвЛeIIис пoP кснньiх o6ъектоD. I{I] oдltо1.o I]оPll'(с!l!lol.о о6,ЬсrtTa I]oкa

Л е ;aфrпtсrDoвill o'

}итЕгoPия zl вHEдPEHиE чEPEз AвтoзAгPDкAЕмЬlE DLLBнсдPI l] .ься в 4 'a i iл ruo '{пo' да}кс l lc l lp11касаясЬ I . пе11у' Hе Лeрl lTс? ̂ .зPяIWirкlows N'Г пo:ulePиLIlвaсT сIlсцlIiUlьll|'lij ]{Jll()'L реесTpa' в которo\] пcPсчисnсln'DLL, aв loIraTПчeски зiцруЛiaющl,lссЯ xpll fiа,кllol1 соllда]Jпп llоBогo пPоI]сссa, Есn]1Еntгy Pоint дr1IlамиЧескoй 6l16лпoтскl нс plrвrlit ]lyЛlо. оlIа no.rllл{rп yпрaвlcнис

. ' ' | P , | ' ' , ё n r o | P о ] l | r J ' rtsать всс llpoЛсхoдяll{lте в системc сo6ытия (такl1t]' llапрIl\Jср' каir запyс]r iriтuви-

русньrх rrpoрапшr), БстeствеIrно' 6орь6aс вЛPусаNlи]loд их р)'l{otsOдсTво]\! }lи l( чепlyxopolше\]y нс прnвoдит, u систeltа долlrсrа 6ьrть о6оззаpажона, У6сцurесь. чтсlв нKL|'4\soFтWARЕ\мiсlosoft\Windows Nцсurrefrtve6ion\Windows\Applnit-DLLs псpсч11с-]'lепь] Tо-lтько Jeг:LqЪньIc динar"rrгrсскrrе 6lrблloте]lи Il пе'Г }l]lчeго Л1ппнrгоl

Page 151: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 7

BиPyсЬl в 1vlиPE UNIXГ]op B Ьl0 l I i p!с |'l. l IоPатii\ кЛц l |е ]] I-li()аiijl |,I ()сtlrr Iloii фq)м:тr пul |Л яeN{Inx 4)irii,'|l)lr ||o/l UNlх). бЬI'ци зn])rl)lс1])ЙPовllIlъl 8 к()l,ltlе llоBЯjIoс,].ых| a ].сllepЬ х noпv.Л,|lll,lя ]|асчll l.ьlвilol. сIrlnцtе пo.!Iyсo1rlJl xPcдсl.ilвll,гсJIсi] (сl!'. ко,'l".]сl(lll,|lo ItиРУФ|lI ll http i//Vx' nеt Uх, org ) ^ |rII t l1l ll)Yсl l ilя эl] l1l1I(JIoIl./l ll' Ё B Гс |1I.tя IQсперсIс0Iо (см,' t tp : / /WWW,v i .Ls| | . l , сoп. /v| rus] in ' | . t . r , ) 'd=з l06) ( . i i , | | ' | , | . I l | ' | | | ,U . , . , | | ' l l ' | | ' l / j IL j | | | | | | , l

rIl1х] ч'|() lla!0jllj1. lIa се])ЬезiIЬ|е PазllЬIIЦtr.]сlllI,l o к;lчес1r]o AVP lt дo6P(lсr)вссTlкь(.ги сГо ф:]даTсJ.l.t'i'

Пoyмоjlч.lIU'l.) UN1х з;tllр.lц:lеT Nlo/1nq)llкаIll]ю lrсlIo",]] ]яeIlЫх qJайЛoв, и успelп-пoc Рaс!Цx)сr.Pallсflr'e вIrlrvсof] lrо3N{о)кrlo ToJrьк.r ar урoD}lо loor, кoтоРьlii ЛибoпpIiсваrlвaеТс'l зaPа'{rнно му фа iiJ у aдIlиtIистPаToPoм, Ли6о сaмoстoяr'ельl l o :rа.хвaтЬ]вaе'Lс,l вllРvсом чсрсз ,1ьЦьt в ядPс систсivЬ]' прlj ltPaви'lьIroii пoлIlTикe

р:l3IpA]lllчсl1llя дoс1.угI;L l1опеl)i1TЛв1ю11 ltа,IIoжсrIиIJ зilIIJIаток угpозa вrц)усlI0l.oзaPaкеxrl' (вoДи:гся rL м'ltlпN]уNlу, К Torlyжо вPе:rrепa то,r.а''rьнoгo o6rtепaсоф'юмдавtтo пo:rцu- сoiiчас уя{с п],rJLто ]Iе кorllPyст IIспоЛrlяrмllс файлы /.]pуг у Дрy.].a _ кlс схaчUваIoт пх llanpямyю из интерпета,.(aжe осли виpyсухитplтся по

Pазиль цеIlтР:Llnxьl'I с €P tlсPl да.rIЬIUе перIroгo noнoЛснIrЯ eло Рi1сl IPостраrrеI'ие пепo':iДеT,Ir вТoр!rч !rЬlc зapа'(енllя 6удyт носиTь едllнIIчlIьri]хaPaктеР'

Фal'rлoвьle lиpvсьt у;кс rrеактyaqьlтьIl и oтсyтсТвие кpу]lньIx эпидeNfиl.l llaгЛя'ц.пo пoдTвсPяtДаст этlrт факт, Tем нс меrrсе нaкоllJtе]]l1ьtс lleтo/.lиlоl !!lедPс11ияoтпtoдь нс стalrr 6есгIoлeзtrьtltи - 6сз нпх rкlrзпь ].poянoв Ir систeilf уl{i'tснtloгoaru{и]lистР]lрoвaния 6ьi,rа 6ьr вeсьма нодoлгori' зaхвart1ть yпPaвлеIlиe aTa(ус.]!!ЬI]\' к{ll{пьloTсPol{ и зaпoщпlllTI) пPaва гoot'а всeрaвнo чТo 6р0ситъ зeр]tы!r.ltо на рaскдleяншй асфалът, хa(ер дoЛ'ссн yiropеIrиTЪся в сlIстеl{el цeпJ.lяясъ эaвсс lrсiloлпяeNone (ра'lJьIl чтo встретя]tя ем)' на пу'гIIj пo ]r тorда oн нr llо]кеT

Page 152: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

15з

iЬlтъ ни в чet1 yвepен, lloскoЛьI(у с}rцсствlе1. TаI(оe попятlle, liа]t pсзерllЛo.р lt.)

rIЦовaflrrс, lloзво,Jlяllrrцсe вoссl'аllrrnriть по|]а,I(снrlуro спстelry' как 6ьr г''tу6oко: llрvс не 6ьr',r вltеДрeп....чLi'ГaетсЯ' ч-ro!ирусЬl. внсдрjl]iljjleся в исхoдJlьlс 1'еliстъl ' 6oJеe,olвУч!tl о'1па

]) в деilствltтс.Ьflостll з1o rrс так' ].Iсхo,'{tlЬl € текстьl цt6уlorr:я пe6ольrпolr 1: .t t t с.

, | . ' ] o . а " , , ' ' i i , ' , l r г . ' U п , | j , , | , ' , r | | n | . ' | с : ' I o o , , " Ь ' | , ' | | | |

Лс,'rе'{Irвaющих цел(rстнo(тЬ aрoгPaп l\fl]оr.o xoда 1l пo3noJяi.ЛlIrlх rlс'ЦаTЬ ]!,ll(]

oYровпевьlij <(o'l.ка1''. Бьшo зap{:Iliсl]n]ПlBarlo }1oo(o'цькo rloпьrтгЛ{ зара,ксl1ияjlсхо/(rп'х текстoв ol] €paпЛolrнoii сис к]NlьL I-INIJХ и ссрвсрit AIlдсhе' oдltаltсl всс

]]|l I с 'ГР€скoru llPogа.r]}tjlI'iсь,

].() '{с сanio€ oTнoсtlТся Jl к rrllPyсаIr' обиl;rlЛ1ll.ll{ в инrсрпPст11Р)'ei\{Ьrх скрI1п-

,ilх. lnкпх' пaпpll lсpt как sh' pсr1' p1rр rr нсt.tlсс Bсе, IJ UN]х сfiРtIl,l'U ltсздесl"-

Lllli. Il llх l'o]rпф]IкацI!,l Iю yмoЛчаlIll1{) !:LJPеI]i €tlа. чго создасl 6]lаГ()IIРIIЯтшьIс

r,с]Lt)вllЯ /lJr,l рaзм}к])ксllЛя вllPусoв' ]j(JL|.Лj пользoBатс.url о6NlсllllljаJlrIсь сIipuЛ.

] i ! \ l l I i ro l l l {1{со l lДxn i i l \ l l tp погрvзuлt lя 6ь l в элох . i - Ра l lнс i i Мs 'Dos ' кorдa l r ( ) ! l ' l с

l]|DусьI l]Ьlх0дIIJlll с/(вa ЛlI llс liiD0lЬIl] ,ilс{|ъ' a lilIi ' r|r1lу(|Ь| (х]'|rl().l.сЯ вllу,гРlI l|о

lril)tсllllol1D кoN!пЬloIlpа' ltс Л сJlЛllх l]ьlрвal],ся llaP!)кy.

I)rlv11oсTся, l]иPус мo,кс'Г Р;lспI)остРitн't,l.),с,l ll tloР0it 11JJ'rсРlIсT' lIo,г()l)l1l эT() 6v-

, , , ] | l ' l | ' l ' . ( , : l l ' | , d L I l ( г . l ' ' | , ] , | ' I l l , , , , | L n l l t . , 1 1 ' , ' ' | г ' . | n | ' , ] , | , ' I i ' i I Y . , | ' я . ' , , ,

] | | , l [ l L l opГа l | | . | J i l i a l \ r l I , l I0]{оT()pЬ i0 . . pа]ЛюяI lл l lo ( | rЬю } ! |рyсоU1 l t l ) ( l t к .n ' | там | l()|)l'Цo' чсpBl.l.. т €Nla o'])LсJlЬ|l()i.о P1[r|.()lrоI)il'

l] 6nл2|(аiirlIс(j ']PоItяl lio.вlllLLIi!]oN|у' с.цс,цус1 oх|l,lаTЬ 'цitR Iloo6pазlкlгo рoс,r'aЧи(!lclllЮстll ЕLli.1]}lPусoв' lIб() д,ll'| э11)Гo 1lNlс)оTсл I!сс усJ|оt],|я, t'с0.l|()ск llll,rс

рссаrс l-INUХпolrrс,п rrc |lil l]о",lьiJy эюii оxcРаllln']lюii ФlсТ.Nlo' I,] Il()ГoIIcllitу'llyч-

Illolt,lяl\lи ee IIРсrlpа,l.tl'l|ll II Рeluс'l.o' lryикру1.ll'цll <<tll]1уll'l.l,1вllo-l|()||,n]lJnIj' гp:IЧЛ1'

ЧсскIIii пптсPil)сiiс' lio llс tlpсдуIше,.lIl"l]l] l.loJЬэoвlllc'цс;i o 11)N|',iТo iЦcждс ч.t|

llnча,гь Pir6оТil'ГЬ с сrtстlrNoii' сnс,]lyeт l]еPсjl()llll1||,l'ь'l.ьlся lIl с1'pillolIl l.CхU||I1eс-

кoii доку[lеllтаЦliи и пPoЧптirl Ь х(rтя бъl lIаPy у\1l|ьlх кllll)liек, lr llP0тl1]rlIoм сЛу.

чilс заРаJa nc 3nстaвlrт сс6Л доЛl.o )кlllTn'

Llcll60:tь!rе llарo.Ilу пcPсilдсТ ll,t UNlх' теll60jlьrrrс сpсlllI llrlх ()l(а,iс'Гся хaкcроl]

]i впPусonис]атe,lей, 'i тoIда с UNIх лРоrlзоiiдс'rто )ксl чT0 в сtI{х] llРеl{2 гlрol1зо.

п]Лo с, Мs-Dos, Будyт ли этп вирyсьr дo6pодyппп'rмrr и''rr'r з,lrсl6ltьl:rпr этo за.в lк : l l l .оT I rас (рис . 7 ,1) '

вирyсHый Pазryл пoд UNlХ

Page 153: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

язЬlк PAзPAБoткинrc1.o'rЦI'1е хаксРьI flprLзlrают }Iаl{сиI]yп! двa язьlка . си !I Ассем6ЛоP' пpичсмпoсЛсД1rиll иJ Irиx стрспIl]тeльlIo yтРачltваст сь.]] Ilозriции| yстуI]ая lfестo Бerjс]lкy' DеlPhi п пРoчeiIдpяпIJj ]lа кoтоРoii элегarlTньlIi виPyс Iiевoзl{ФкrIo сoздaть

Aчтo пaсчст Cи? C эстети.lесl{oii тoчкI1зрerlrlя * этouyдoвищнl,пi вьl6op, и ви'pyсописатcЛп сlаpoii пiоJ]Ьl вас Зil tlсIо IIe jlРoстят' с дРvгoii стoPопr't, 6yдyчIrяrвкoурoBнсвЬIп{ сlrстеNIпо oРllснтlцюва]rньIil язьпroпr' Си неплoхo подхсlдлтдляpaзPа6оTк'1tsIIPyсoв' хoтя o,i'зl]аIrпя AсссiI6JеIlа gсе Pавrro нe освo6oлrлаeт,к кLtДу' геIIeрtlPyспioruу коlIпnJяТopoпJl пpсдъявляlсlтся слeдуroпtис трс6oвaпия:оп д0J,1,]{сlr бЬг|l, пoл]юс,гьЮ пePс]\1с[IaеIlь]м (то eсtь незазllсrrмьlм oт 6азoвoгoадРeсa загРу3ки)' не lv(rдtlфI{пlJPовать пl|кilкЛе я.tеiirпr папl'tти, зa исrслюvеttисмстекoвого llpoстPапс1.rаj rI ]lе и(1lor.Iьзo|]а.l'Ь ста|ЦapтнЬ]с l{ехапltзмr,I Ilмпopтаt|lункцпii' :rи6о пoдrt'lltlчaя всс rlсo6ходulrьIс 6ll6''ruoтeкrr с.alrостoятсльIкl' Ltи6oo6РаIIIая(]l, g Лativс'API, эт 11 1.Pс6oв1rIlияlJ Y'rФв-'lствoРяст пoдalляtoпIee 6rrль.|l1]lllстl]o llo}lпll.r]яТ()lхx]| оЛ||акo оT lJРоГPil}llliи(|1.а l.oЛ{e кoс.чTo llo].pe6yе-j.с,l'l.lс 06,Ьяl]Л'liiтe гnlвrl\,ю 4)уllкцnIo Jll)iЦ,PаlllпlьI кilк п]din _ встP01]1в такуl(), ЛIтfl.кср вIJ'riЦ)и1.в q]:ll]i"'r stl|1.UP кo]r' кo'Г(DЬlii вl,lрvс! tlа хре|l llc Ily)ftrl! lJе rlс]IOЛЬ.зу i'i|1 I"llоба'ц,,l lь] х LUIl t с1.a].l гlt{)(l lх ] |L'l)l]]\{ 0ll l,ьl х |(0мл l1.l,tTор l]Р и |lуll'Jт8JI ьl юpaз; ! l с l l Iaoт | |х , J ссг ] ! lo ]ГГс i l i l I I I ] | ) |х ' | |o у | ] r lPус] lo| 'о l {o/ lа 1Iе мo ' (е1 '6Ь lTЬ сeгп1еI lTа,ца|||tЬlх! дaл(с ссЛ!I Лиl)Yс 3ахoч0,| l]l)сllo,illioaal.l,ся (lOг]velr'Гoм ЛoРажсlIIlоli IЦю-гРaммьI! oл доx]{сlll Bo-ll0paЬlх) (llll'oстoя1,с,цЬ|lо o||Р0/lсJlи1,l, а!(pес сго зхвoсTa'ja во-вт.ll)ьlхl Pаст,ll|у1,l] ссгr1с||T llo llсо6хoд'tмьlх Pазl'oр;r' всe cтo TPивиaJJьIIopеаJI изус1.сЯ ,la ас(:е]\16Jlсрe' IJ{)ll'llя l(o]\1lIи.llяToрa oказЬI8acTся чeрс'счyР сЛo)|{|loi.i3адaчeй, хpа]iuTe в(! Дall]lь|с Тo-цlко B ]l0кaJIInIЬ|х JlсPсNlшIrlыхl зiuulваЯ строlto.l]Ьlс кoнс'|а||'ГЬI I] чll(iloвo\I вrIдо, ЕсJrI,l Bln пaпIlltllTс сhаr xr] = <hel]о, Woг]ф'к()ваPньlii ItOмlll!J|яl ор сбPосIr| TсILсT hel ]o. Wог,ld в ссгмспт дaнIrьrх, а затсм дn.Irаl!x'lчс(jl(|l сrtoпIrрусr с,го B n()кtl,rlьflylo llоPеl{elllI),Io Х. /цcЛaIiтe 1alr: х[0]*'h''Хt1]='e' ' хг2]=,].''. r|JJ,r lIplro6ра]]yjiT0 сhaг в int, oсу||lсствляii|с прuсuoеIlllодвоi.i.IlЬ|Illr слonа]\lllt 11с забt,Iва,l o тoNl, чTo l'tЛaдllll.lii 6iIiT дo.Dкеlr ра0loлarатьс' пoЛаll]t{с]lьUIе]!у illlPcсvl tIтo pазворач|lваoт стРоltу задoм llаllePе/.],не исllo,Tъзуiiтс нп]Laкl.rх 6и6лпoтс.rrrьIх t|уrrl{цЛйj ес-qj1тoлЬко вьI нe yвеpоflш|ljт{) oнI{ п.]лll()сTЬlо у/l(()в'rloтвоPяl()-r всеll вьlшспepeч]'lсJIеllпьIм тPe6oваI]и'IIl.сисTcмr.ъте фvнкции Q6ЬIчнo BьI3ывaIотся чcPсз ипTеpфеiiс паdv;.APl' таюкexзвест]rЬIii пo/] и\]снс]!f sуs.са]] (в I,INUХ пoдо6ньrх систеlrах за этo oтвeчастпPeРьlванIre ]Nт 80h' дрyrrrе спстепlьt o6ъrнпo испо-'lьзу]oт да.пь]lий вьlзtlв llo ссJreкТоpу сеNiь, сllсIцеr]rLе fio,riь). I1oскo,rьк! (:истеNлlЬlе вызoвы lapьIФyются отoднoй спстеNlьI Ii /.lрyгoil, этo ofРrlничивaеl сpeдy o6и'o.пrя o,py"i, и iipn *eлa.l]ltlt orl }1o^oт 11р i]6r] t.llY,l.ь к ьlrr:дpсrшlтo в тa6лпцу иlIпоРTa,UТкoпIпUjrl1pовав 11о.l1vчсirIiЬlii Q,ai,lx' вЬl пoЛyчIrтe o6ъсI.Tпвник Ir рyгатсЛьстnorir!li]l'rятopa пo I1oводу оTсy1ствll'l tnаin, oстаl]тся ToJ-Iькo сJlиt1ковaть егo в дRo-]J'1ныii:]2 l lJ] и 64 разP'Дньlii фaiix, ЕстeсT!енно, rrl lеlipять eгo в жepTву I1ридeт-ся ъIr}'чrryюl т;lli как системнъпj зa].рvзчIlIi o l.кaжeтся o6ра6aтЬшать Taкoji файл'

Page 154: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сpедсгвa анали]а, Фладки и плагиата 155

сPEдстBA A}lAли3&oтЛAдlки и плAгиAтA

Hу какoй виpyсoписатсЛь мoжeT yдep){aтъсЯ oт сoбЛаLзпa пoпoлнить свoй за]1-'leчныri мешoк зa чy,.oй сЧeт' вътДиpая идeи и aлIopи].M ьl и3 тeл пoliавrrlих к tlе-\fу в1lpусoв? Чaще всeгo виPусaI!Il oбмeпI.lваются тст.а.теT, кoлЛeкЦпи, найдrн.ныe в сети' llля oпьIтl{ьtх хaкеРoв нe пРrдставЛяIoт пlllсaкoгo и]]теPеса, lloскoльlсyнa6иPаюTся и3 отI{PытъIх истoчпикol]| Ilo для 11ач наloщllх исcлeдовaтелсIl этo

Есnи llсхoдIrьre тelrстЬt вирyсa oтсутствyюT (кr]ивЬIr ДrrзaссеIl6леPньlс .lIисTиl lги'вL,дaва<мЬle,Ir 60^.с |в( н||оe o1](poвРl]||Р. м|J| в Pа(чe | , |р6Pгeмl ' l lPспаpиг 'oЬ:||| ']вoичный кoll вирyса пPихoдиTся самoстoятоnьнo' тyT-1o яaс и подяшдaет oдяil6oльпrая пpo6Lteма' Дизaссс]\{6ЛeP Bсеx вpемеIl ll Eаpoдoв _ lDA PRo - tiс Ilри-спoсo6лен lля рa6oты с ЕLг.вирyсa ol, пoскoльlсу откa3ывaeтся загpy,(aтЬ 4)ai,i.lЬI с ]Iска,(eнньIN{ seсtioп hcadег,oм (a 6oЛЬшинcтвo вllPусoв lI!пrак }le кoPpcкTt'l-pуIот €гo пoслe 3aPDкelIия |). .цругих j(oстойIrых дизассeм бЛepoв! пePeвaРивaющихЕLF.фopмaт, м lle o6нapуxитЬ Тaк и lle уда"rloсЬ (а самo]!lу llи сal.ь лeнЬ) ' Зa яоимe.Il l lrм л}лIruих идeй IIpихoдится трах0ться с l{Еx.рeдafl.oPa]!1и (xагlPиileр' тeм я{cLllЕW), Раз6ирaясЬ сo cЛy'ке6]IьIми сTpylсlуPaми фaйла вP)пrнyю'

Pxс' 7.2. oтЛадка виpуснoгo кода на интеГpиpoвaннoм oтлaдчикe эмуляroра Boснs,зaпуценнoгo пoд yправлeнием W]ndows 2000

с oтлaдчиками де'lo o6стoит eще хуже, Фaктичeски, пoд UNIХ существуетвсегoодин 6oлсс илименeе сап(oстoятеЛьIIьIй oтладчик пprrкЛaд]loтo уPoвirя _

Page 155: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

156 глава 7. вирyсЬl в мире UNlх

8dЬ (GNU Debugsсг), являющIrйсЯ фyндarvIентol{ дЛя 6oльшl1IlствaoстaлЪIlьiх,ПрoстсiiпIlre aнтиoтлaдoчньie приемы' пaPЬ]тыев xaкерских NIarlyа.llaх nрel{еrrflepвoй пfолoltoсти Мs.DoS, пускaютgdЬ в pазпoс или пoзвoляютвирyсy вьr-рBaтЬся ll3.lloд егo кol{тPoля' I]oэтопlу oтЛa)кIlвать вl4Pyсlrьlй кoд ira Рa6oчеймаlIIипe катcloРиtlески rrеДoпyстIrп о и лyчrпe испoльзoвать дJ1я этoй цеJx' эпtv.ляГoP, l lа l 'pи l l lРг Boсн5' o.o6eJ|, lo ||peЛпl ' ' | |и 'e,Лч|Iш JN|у | l |орo' . . : , "p^".щие ип1.er.pиpoвaнньIй oтЛадqит(l обoj'iти ко1.opьlй виpусy 6удeт ovelrь тяжелo'ав идeiЙе вooбщc невo3мoхнo (BoСнs такoй oTЛадчrrк сoДеD)rсиT), I(стаTиroвoPя. сoвер|| .eннo he . '6ч l iГP,Ль||U дjя и l1,J| l Lnл' j ||||Я FLЁ.виlугnв усг"нaь.лива'гь UNIх, ЭN{yJlятoРaдЛ, этих llсrlсri 6yдeт 6oлеe .rспr достйнпo jpис. 7 '2и 7.з)

Ptс.7.з. иссjедование виpyсoв пoд UN]x с пoмoщьlо дизафемблepa iсeiх

кPиBoE зЕP|(A"лo, или кAк AнтиBиPyсЬIстA,lи плoxoй v|АЁEЙ

{нливиPуг|]ыe npoгPaммы в 1oм видс ' в кo]opov . ' l Iи е.ть сёйча. ' к i rтсгoDич...ки ||ё спpавЛяo|.я с4 свoсй зJЛачeй д i и нe могuт с нoй .пpави. ь.я в r ,рrrнrrи.пP, Э10 dс oaначаc Г, ч1о оIIи поrнoсr,ью 6рспo;re"no' ' нo nuд"я гo. , n, их ' i '*or l ro6ылo 6ьl ' lo vcrrь lnй vе lc н.pа]у^l||o, |{ак y,ке оГvPЧа"Io.Ь вь lшоj в ||nс]U |щ||ймoмerrт rкизяeслoсo6ньlх UNIх.виРyсoв прaктичeски нет. И стa1o 6ъtть. анти-виpyс}lьlм скaпeраll скапиpoвaтъ {:)с(160 и нeчеro. ЭвDистиveскио ана-.тизатооьr

Page 156: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-эуктyрa ЕLF файлов

]ji lI нс tsышЛI1]1з JlссJtr'rr.Jii |Руlriьl деTсt.orc |aда ll i{ рсa'цьrroii ?ксп-lуаlацlll]. jrpoNlьlll]rснных }lасl]1Га6aх явнo нс |oтotsЬl,. l1тr'ацrlя yсуry6JtЛсТt'Jl 1 с11. ч ro в сl{Px l jTo!r'ш rr иPY(а х лрai,Iнr тPvднo вьrдcЛI{тЬ: l . ) i i ч l1ву loс t l r . l l атуPу . .1 .а i i ук) ' \ , гo6t ' l l l евс , | ] )ечаr raс ! jDrчсстнLrх 'пPoгPа l l l [ tа r i

. БЬI11сp'к11ваJlil )ioIя 6r'J lрoсгl]iil]|l!е 11у1ilrll1l.1' (Л1x.)дЬ rlе лpстсl{д\'юnllIс нll riо.irlюln})rlзN1, AltтrtнllP!с KnспeРсj()|o.l()вl.1T }l]l()t,l]0 11з (y!]ссTвv].x!rt]i сxP]lIr1'.}

.:'l)i вlllvс.']. Лo'', ]Фк т.).тpaпllo оlI lrх Лi)l]]Jт. во пеР|jЬ1хl rllpyсt,l о6наI]v?кIlва-

l сЯ l l t ] вo вс( ]х d)а i i . Lах ' а в( ) . ! ' Г ( )p] , l х , r tр( )стс i i l ] l ! с l 'CPсdrс 'P l ]ат] IPован ' rс:rра)tcнно'.o 'lrа'''1a nРLl]n)!lll,Г li тo]\lvj llго виP!

]с. с|{РIlптЬl' lloзаиNlсTБoваl]uЬ]! xз llo1.с}lцjla.цьIlо |lс11iljtс,ltlllrl]i ]lстоrпlп]iоl]' с.lIс

.''.т пpoвеРЯть вPtчIIvJo' ЛoсI{oлЬx!:

' ,Самы|i dц Раl| t{u i |n ро'1t| ,lп)1lrcп за 1]с|,io!ь]i|| |..кцi ]1оpаjl|l3о(за п ь .]lt I1JlIl)|: пц| ]{ox|l1.)Р, ]ioпaРьn.lаЛtnn1о ]n()оonlс'l1!x Ра:Jllь|е |1t|пuвl!рцсьl

иropЬ николаев

i J i , ] ' ( | l6o 6с3отo l rоР( ,ч] tо ] lo | lеряотс ( ) ] ( ) ! l I Iy l1oсT:п]п( l |к ] . ' J I !бо ] | ( ] , | ' I ] | | ( ) " . r !Чс| l | 1)s l. l l ! l l ( | ) . i i i J I с}1 l ' кст6| , l r . I ,в ( ]счтo\ ' г ( ]Л l lo ( l tлpосTonскopPеr{Г||оpa6oI l l | ( ) l I l l l я | iрo

P i l lNa B Toпr ч l l с J l сL) ,

i . r l ]o l |ч| l l , lмx ( i ) l t i i j |а^ l l l ( l Г lY i | l L l I ' о r ]с l o ] l т бо {( t ' ] |л iLч l ) J I lo , О] ! ; t ( j | | | ] | ( ) П)I1Y ' lП1)

| , \ | | | ' ' i i : l l , : ' | | | | , ц ' . \ ' - ' 1 \ r ' ' l , l ' , ' . | | ] | l J l , l ' , ' \ , , | | ' , | ' | ' .. l ! ! l | | ,o , гчaс1.J i j |o , | ( )N1"\ ' , l l |o i l l rГ l ) i l i l 1 ] . l l ]L lроJ] i | l ] I l ( )N l ! i l l t1 l . | ' l l ] \ l | | ( ) I ] l , l | i | i | i ( ] l ] lрус] i

] . l | ( , l l ' l i l l i ) ' r . ( ' , | i j J I l ) l i 1 l i l t l l l с , I l ( ) J к ) I ' \ , r lY I | | r l l I l ] r с | ) ( , ] l ( ' Г r r ]L r \ | 6 l )pL '6ь] |П)- | l I )с , l { | |с \ ] \t ' r l l к ) ' ГО{ ] | l )ав l lЛЬ| l i l , t I l ( ' j l l r Г I l к i l | )a r ]ГPа|| | |чсI ] l i , / ( .х" v l I i l , ( l | ] ( )с l ] l ! ' i ! j с r r l I i l , |v ( lГ l l I l1 ) |

, . l ( lDОl ( j ' l х 3 i l r lЛa l l ) r ( l1 р( ] i } ( ' l )x l I ( )с l l ( ) l ] t lр l )L ] i l l ]Йc ,

стPyкTyPA ЕLF.ФAилoB(1P!N|yРlr ЕLГ(])aji'lloв GxхlrаLщxlllс o|..'1?.l|,i|,] t|l ]-in|nbl? I:onJ]аt) n сo\\IнoГo o6Jjll|\ чoP'| с PЕ (P|,||аL,h! h?|1lIiоl]) o.I'OL'']Ь'Il Ii.ltоJ'Il'сllы'' 4)оl)['ltl.{,l1 п"1атфr,p11ьI Windo\,9\ rl NT, а lIol.oilv IlоIпLспllI1t.r llt l,rРа'i.l],lя ll('iJr]\|:l (]хо.:lilj xотя Il PеаЛr]Зy1.]тся l),lзJIllLllьIм ot)p.l3оlI.

(. в],|с('lьJ Лтl'чЬeIo ]|o"1eГr F;I-l.4)x]tJr x]',lt1l'lс'l l1)с1\\я||||\1||'I l:I'Jца.0to|}м (Е]']:.i eа( tеГ) ,oпr rсыв: l I ( ) l i IeГоoсЛon l I lnеofu6е] l l l ост l i l l .Лrcде l l l 1я4)а i i . . \ , з{ lx l , |o|ка11 lю-||n'u,|люl1 lпаа1l1l,||n (p|QgГiL|п hеedп. titЬlе) r' о,rl|{'о ])J]l.1 IlссL{onl(tl\ .l]lлc]/,,O(J(sсgInсn t). сoдеP,каЛl! lх l!o/L' rn l !l l Ll It!l | |зllро tsi1] | |I ь]t]/ lIеll I lr lЦl lanllзиРовaннЬll] даl lllьlе u ]lрoчllс с']Рyl{ГуРьL ("'1и(lrlillг 7,1), Кn'{дьLii сcгll0r1 llPl]Дt]та!,jl'ст сo.nrii нс.lЦrеpЬlвIlуt(J o6ЛaсTL' xаrlятrt со свOxмrl aТpn;у|li!ш дoсгуjlа (кoдовьlii сorмсIlт06r'l.шrj jroстl]Iсн To.'lЬк тIr] д:lIlнЬIх nостyпrjъl каli \IlIi]]I\!vllдЛ'I чтetnlя' a пР]l }leо6toдIlIlостlr rщ{r п для зап11сп). ПустЬс'цов() <ссl.]vll]lf|'Hе ввol{i,т вас в за6лyл{денIlе' ничего oбrl]ei'o с се].N1еrl гIrо ii r!|( )дenьt) rlaмЯlrl TуTlJет' Бо-rтьппnlс.Гвo 32 6liтllъlх реаJи:!rц li 1]N Iх,а п o]'leпt:LI0'l. tsсс сeгIit1L1.rn ЕLlr.

l)xiiЛа в оцfllI4-гигабaiiтllЬJil <iпРоцeсс.]рп'Ii.i' ссl.NlсIr1, ts IlаNl'lTll всс ЕLF-ссr\teIП.ьl '1oJl'кIIьi въjpxnllпвxться nо ]]еJIпtliп]t] (j,L.рnlUrriы (lIir rr86 pавнoii.1 ]t6lliЛ.),

Page 157: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 7. вирyсь в мире UNlх

Eo ноrIосPедсTвe]lнo в сап!oм ЕLF1lrай]rс xPаrlя'Гся в llcвьIрoRтlerllloм виде' пpи.жrrпlaясЪ BпЛoтIIу1o дPyг It лpyг}r Сам ЕLЕ зarоЛoвoк и р.ograп hсаder s пep.выr.i сегjuе]]т Ile вхoдят (нy' фoрNliUtьllo нс вхoляT)' нo сoвveстпo r.Pyзятся в пa.мять' rтРll ll.olt начаrro сег\1епTа сJlсдyет нeЛoсрсдствепп.J зa нoнцoм Рг.]gгаmлеаdег'а и llo гpаIlllllе стpall].]цьl нc вьryaвllltвастсЯ!

Пос.лсднппr из всeх иде\,заloловo1| mtl()Jl1|ць| сеr4an (sесtion heаdеr taЬlе)' !ляис1loltlяcltьIх фai:l-цoв 0x нсo6Язате,tеll и Реа-'1l,но rrспользyстся тoлькo в o6ъeк.TиtsниIrаx. Епlе в ]]еNl нуя{дaются oTJaДч[liи - испoлuяеluьIй файл с изуPoдo.ваннъiif sесti()n hеadег taЬlе не oт,rажuяается нIr 8db' lIи ]rPo]'IзвoДпымrl oт нсгooтJlадчиltаllI'll хoтя l l(Jрпrаr'rьнo o6pа5атьlвaстсл oпеРaЦliolr ноil системor|1'Ccrмснтьr сстeствеппьlпt o6pазoпr дeлятсlt ltа r;с/.4rrirr. Tl.tгп'IчttЬIir кoлoпый ссt.-мeltT (oстo1lт I.lз се]tliлii ' jn]t (IЦоrleдуРьl ]rltllцпa.]ltlзaцIlи)' .p]t (сrкllия (:в'-зo,!) ' . teхt (oснoвoij кoЛ l ЦюгPаIIмьI ) и . fi i i t ( xpo]rеДyPьI (]) urrапrзaции), атpи-6утьl rсo r.opьlх опrrсъlвalо-rся в sссt]ioЛ heаdеlс' заIрyзч]tlсoxepaцllofiнoii систе11ЬlIlичеt.o !]с зпarт o сеI(ll],lях, ]lгнoPrrPyя пх а1р!6vтьI rl загру}(aя вeсь сeгмеll1цс.ЛиlсoпI, Tепl Jtr N c|l0e д'ця сoхPаllеlпrя Pа6oToсIIос06]юс'гrr зара'(er]rloгo фaйJIаllo/roтлaдчI'Iкoм вliPу( llФ]x(с'н кoрpсJr]]'lР()llа'lЬ 06a загоЛoв].a сpазу' как Рl.ogгап)heаdcI' тa( и sссtiolr hсаdсr'

Лисrинг 7.1. стPугryPа исaол!яемo.o ЕLF'файла

Pгo9.аn lrЕid0г Ldb]']sеgmerrt ]segmсnt 2seс l iоn hеаd0'г tаb lо (Oрl , lоna])

oспoвIlьlс с'lpyктvpьI liI,F.()trii)ll зa]raются в ()nй'iс /Usr/iпс|lde/elih и вьlluядятсЛeдyющl] NI обраЗoм G'||,1c1l11 L t| 7,2-7 '4,'

лnстин. 7.2. сгpукrypa ELF-заrолoвка

tunsr gned сhа. е- i .еnt[Г i . NI!ЕNT:]tlfз2 Hal r e-tуp."t lT32 Hal f е mасhinеГl i32 l ioГd . veгs i .nЕliЗZ.Addг с eпLГy:ПiЗ2 Ol i е . ,рhоff iЕ l fз2 0 l f ' " ' shof i it] г32 шо.d е-flа!sЕ l l32 Hа ] f е-е l r5]ZeiЕ]fз2-наl f e рhеn|s ]ZaЕlf32 Hаlf e-llrnumiЕlIз2 Hаl f е 5hentз i7e;Е l f ]2 t]d] l e s l rпum:Еl fЗ?'r]dl f r slrst.пdt:

] Е l fЗ2 [ l rdг:

Page 158: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

159

листинг 7.3. стpyКrypа р.оglаrn sеgment hеаder

ЕlfЗ2 шoгdПfз2 OffЕlfЗ2 АddrЕl fЗ2 АddгЕlI32 l iordЕlT32.!OгdЕl г32.ЦOгdЕl |32 l,iогd

]t l '32-P l rdг:

листинr 7.4. стpуl.|ypа sесtiоп headеr

{

[]fз2 liогdЕlf32.!]Oг(Е] r32-дdd.Е l i32-0 iIЕlf32-lOгdЕ]fзz-liordЕl |32-LioгdI l f32-L'lо rdL]f32-|]огd

)[] fЗZ-s l rdr]

3a 6o"rсс rrrl,цPo6rкlй иrlrlroрNlацLIeit o6Pащ.liiГ0сь к oр|1Ги|l jlЬl()ii сIle]ir'rlnlкaцrпtЕLГ{l)аiiJIа <ЕхeсutaЬlе аlrd LiпkаЬlс гoЛЛal]_ I)(лlaЬie ]iЛ]]]аt sPесiliса|iол''сoс'ГaBлeIlItoit' ссTссTвснl1o' nа аIJJrllliiско]!1 язЬпLе.

мEтoдЬl 3APA}I(EHияПPirсTсйшljй и llаибо",rer унп вcPсаJ ЬflЬlii r\1с-l.oд зapa)JсеIll'lя свoдllTся к пог"l]oшtсн r r ю o р l ' r r l а , ь r , ' г ' ' ' | ' r r , 1 i п ' I p I . o \ | B I n I . l . o l | , , , , , l , l ' | , | B : , ' ' | , r ' и г | | | | . l , | ч , ' Ь | i ]

фаil"'lк свoeмyTe.nу кaкo!еPЛcй, a д,пяnсPсдач Уl1рав"цеllпя )керTве пpoдrJt ьrваст o6ратпьrй rrpсlueсс пpoпyскает псрвьlс vj гus-size 6айт своeго Teлa (что о6ъIчнo oсyщссTtsЛЯетс, фyrlт{rIиeIi seek)' считьIваст oсTавIrllijся хвосr. '1 3аписьIпae'Гегo вo вpсI1с}lный .l)аjiJ. ПPисвanваcт атPи6уT l1с]loJtllясмoго п ileЛaeт eijy еxeс'пpоДnaPиTеJ]r,]]o рaсцeп в Nlaтер!rrски!.i пPoцссс фУ11кцией f oгk. lIoс,re заReрnJerrия pa6oтьI файia.'керTвьI виPус },даnяет вpeмrнньIй файл с дискa-

o п и . J I l . " i ' 1 o р . 1 ч э . | ' r l , н , 4 , l Р . г р a r l t l ^ , , t . я r t l л r o 6 " r , q , ' ь , , . п D о - D l v l | | | P о в iпия вплотЪ До БrliсIrка Ll nPиr.одсll как ДЛя llсIтоЛIlяемьжфaiiлon' татt и Д'iя скpипТoв, oДflа].o elrу пpliсущIi слеДyющис нсдoсl.атки:oн ]lIедnитeЛell !l l!е'лeгaнтeн,Tpс6уст воэI1oж]]oсTI.l записи тrа дIrсI( и пpaв устaнoв]rи аTри6ута <.исllо'1l lяеiuЪril>;

Page 159: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

160 rлава 7. виpусь| в миpe UNтх

кporllе'ГоI\)| гlоявЛснrLс пoстopс'ннпх Фaилoв нaдl1скс tlе lloя(eт ltоЛl.o oставатъсяI{езaпlечe]]пьlN{j и учасTь вирусa зaраIlее РеrпeIIа, Пoэтoму болЬlлltrlсTвo lupyсoвнe lrсполъзyю]. Tirкую ^1€тoд!1кy' a прeЛпочитаIo,| gl{сдPяться rr кol]eц lloсJlсltнсгoсегNfellТa ф:u1ijla' рaсlrиPяя eгo Irа llеo6хо/lиIllylо вcЛичиI'v'

Пoд (пoс.aеlIпим> зДeсЬ tlo]lpазvllсваrтся гIослeдlш1ii lloдходяlilпй сeгмент фаii.Лa' кoтoPьllll кaк пPавll"!o' явЛясLс,l сс1.мснт llllllцlrzlпI]3иpoванньIх лaIlпъIх| заI'иN{ с.lreлyeт сeгNt.дtlТ llс11llrtцl1а.цl!зиPoваtII'ьrri rtnll|]ьlх' 3аl]r1]1аIoll{иi'l Itonь 6аiiтдискoloй пa}яти, кo,rечrlоl Nio)к]lо вllсдpиТЬся Ir в негo.lк)i]To 6удствьIглядeть

ПP]r6лизIrтеЛьпьIii;LIIг(]lnIтJtl внсдРсния в ]rонеЦ ЕLF 4)аli.Itt !ьlr,rядпт слеlIYю

. вlrpус oткPЬlваст файl rI' счптыn;rя еt'о 3iL[o.Цoвo(l y6е'{/lae1ol ч,l.о этo дсil-ствlrтeльпo ЕLF;

. I iРосмaTРUBlяРгogг i l J Ъсaс lс r tаЬ lс 'впP} ,с( ) ' Г l , l (кив i l стпослrл l l l l i i сeЛ]\1е l lTсаT.pи6уToNlPL-LOAD;

. lI:lйlle||ilr'lii (cfllсnт <.PасlIахI.IRnется> l1о коlI]lil ()ilii'Ца ,i увелll.I!lRаe'l,ся ttit вс.ЛиЧиllyl pnвнУlo pa3]!lсРv тсJJa l]иpv(а' Чтo o(ynlссTRnяе,Г(:я пy'|сi\l сllнхpolJ.Iюii кoРl)екцUи l|()]]сй р_fi]ez lr p-memzi

. вllPy( ]L()llllсI,lBaст сс6Я B l(oпeil заРaжarмort) ()iLii",lаi

. /Ul' llсрсхв1\1.il уIlpaB'ltсll|{Я IJllp\,( ((DрскTljрус r 1)чl{у 'хoдд в.DаiiЛ (e-entгy)Лrlбo ,{c вlrс,Q'Icт п ,,(l]]|ilIYI() Tol|ку вхоn:t jlnp пir сI]oс 1.сJю (ПlIl)()чol']| мсТо.д]lкa псР0хвil,l'il у]|Pа|J,rlol]l1,I

'l'0i}]ll ()1)(с'!Il||ofо бOJIЬl]l(Л,o I)азrorropa)'

TeoрeтllчссJol лltPу( iuoxr.l. lJl ll]Лрl |,].l,0' в сеРс/lllIIly (l)aiij|а,дoIlисаl} ]oс TeJ|o в кo.llсLl кодoвol'o ссгNlсllтil ll сilIllIllyll ]rсe |l()сl.Ilс.]l\llоlц|lс ссГN|с|lГьl ]]lll|з' o/llJ.l]{о iTи}Toм eNlу Ло'l'Po6у0Tс'l сrroPрс|{1]1Poв1lTь Rсe УкillJil].tl'rItJ llil дчсiiк|l ссгNlcllта Дall.}Iьtхl llo(llollьI(у ](ослс з^рlл(ollIIл ()lll1 6у]Lш рa()|o,l]ill.ilТl]0я Лo соRсPпle]lIlo /Фy.].uм а/.lPeсаNl' l!l1к llllрlIillITl ||cptl'l |](lPсдачL'lI YIIPа}rJсlll,lя |lpoГрiшI]\l{].||o(It'ГonюIlирус ]\llDкеT < |l o/11}t] lу'Гrt> ollvщс|lllln. ссгl\]еll1]n вlleрх| Hсpllyв их lla свoC зalLolr'нoс мсс1.o' Oдllдко eс"Цlr 4).li.ijl содcр}{u,l. ]к]Pollоlllас1N{]nс :ljlе]!lе1f|ЬI ЛЛи llpoчnoслу'(е6ньrе с1.РуктУрl,|lLnlrr|Ьlх, ]rllрyсу llх ЛPидстся сr(оррe кT Il l)() п|lTl) 'к),кс! в llPo-TивtloN| О|учаo сuс'l.сNlнl,lil зaГPvзчl]к Ueо6Pа1rlNlo l|скаlr11 зtlPа'rснl1ьrй файnjи ГоT oТI{a)l{oT в Pa6oтс. Bс{r э,Г.] сЛI.пlIкt]Nl сЛ()'кljo дЛя riaчrtнаlolllllхj a llоToi!1утlиРусьl п0д()6l]о1.o ,l.и ll a llс IloJIvчn]III 6onьlI]оГo 1)aспрoсl.pа|lс]ш1'l'Тeopеr.иvескrr вoзlroясно внсдрrrться в о6лaсть' ()6pa:Joвaннуlo вьIраuн вaпIievссгl!1сI{тoв в пa]\{ятIl' Пoскоrr]ъ].y ].РаxиЦri ссгj!]сяToв всeIда вl|IРавltивilloTс'l I]авrJпrчlнv '1 к6ali.г' пie'i/iу l.оllцol1 ti0l1oв0гo сcгIlcнтa lI ]lачаЛо]\l ссl.Iiсl]r.а даl1'пьlх 06ь]чIю ]!1ожl1o нaсl{PссгI1 ]lскoтoрoе ].оJ.I]lчес1.вo 11сзaнЯтoro прoс'Гlraп.твnjoдtlакo нlп(акllх l.аРaпl llll llа э'|oT сrсT y Ilaс нет' п пo'Гоl\1у lLJlя ,.lрllжcнля пoдходяr даnскo нс кс фаiiлъI' этоделаeтся таI.:

. вирyс оTкpывaеT q)aiiЛ tl, счптl,Jвiя e.o зlГirловoк' !6сждаcтся| чтo это /]eIi-ствrlтeJьrto ЕLг{lrai:iЛi

. пPoсNlатp]]ва'I Pгo8тап ]rеаdеr taЬlе, в'lрус llaходnT сегnltrrrт сатри6yтомP l . O A D l | , P A G | s | / ' ' р | , ] e s l ' / i " J s - s i z 6 : Р ' , | | ' , | a е , l , | , ' t , l ' с , | ] \ , l н | а н Гвr'pyс oTкaзываeTся or. ]aPа,лсil11я;

Page 160: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

о6цая сPyкrypа И сrpатепlя виpyсa 161

. пoля р.fi l ez (Pitзllep пa дlIске) ll p.пemsz (paзпlep в памяTи) сooTвeтствylo.щсгo сeIiile[Га },велrjчllваются на ]Ul]]lIy TeЛа вирyса;

. l1oля p offset и фaкyЛьтaTltвl]о sh оffset всеrr пoсJrсдyloщIlх ссl)lrнTor/сeк.циI{ yвеличrfBaю,Гся lIa Д.nиIJY телa вrrрyсa;

. пonе e_phoff (l' факyльтaTlrвя.J e_shoff) ЕLF зaroлoвкa yвeлпчиваeтся нaво.'!ичиIrу теJla впPyса;

. вllpус B]lедpяет сс6я в кol1сЦ в]'6panlюIo сегNteIlтa;

. &lIЯ пepeхвата yпРавjrсflия вIIp},с кoРPекTr{pyет тoчкy вхoДа в фаiIл (e-entry)л | | 6 0 A с в l j ( . r Л я ( I r l l n , I l | | | | | . | i ] | o ч | , ) в \ o , L . j f i o н а l в o ' , T с , I L J ,

Il!кoтoрьIе вllРyсьI вЛeдPяются в ()6Лас,].], nаll,tTи мФк/lу 3агoi'IoBкoм I,l llачалoмпeрвoгo сегм€нтiL (Лли| вo всяl.ol' с-llучae' пьIтaются этo слeлaTь). oднaкo 60ль.illIIllствo фаriлoв (IlpliкJIепваloт> свoii поPвьIii ссгмсilт I( зaгoЛовкy, rj потol{y llЛяlJIIqдpelI я пPостo !lс oстaстся свo60дlloГo мес,Га. сTPyктypa фaiiлaeсho Irз ltoм-пjlсI{та Iloс.l.авки Freе Bs D 4,5 пoказанa Ir JlистlIlll! 7 '5. o6РaтиTe вI IиItaЛ ис| п{ея<.:t! секЦl1ями .fjnit и . гodаtа расIloЛorкelю Bсeго,ппIuь 1ЕЬ 6aliт да]rныx, чтo irс.]остa].oчI lo lL'ця РаJ]tlcпLеlllи /iа,(с fipo!rсчl]oгo l]иРyсa.

лисrинr 7.5. фpy|0ypа файла eсho иэ кoмплеKrа пoсгавки ЕrеевsD 4.5

l]am0 Staгt Е i i А] iq. B05с туре с]ass з2 es ss сs fs 9srniL 080480Ас 080480в7 dцо.d 000i рub] с0DЕ Y ЕFЕЕ гЕlг 0005 ЕЕЕЕ ЕгЕЕ:.х| 080480в8 0805зAвв d{оrd 0002 рu0] с0D! Y ЕгЕt |Еlг 0005 ЕЕгГ ЕГЕЕ.]ni 0в05зAвс 08053Aс2 dwОr( 0003 pub] с0DЕ Y Е|ЕЕ ЕЕ|jF 0005 ГЕг|. l.гЕЕ.Oljdta 0805зAЕ0 08055460 32bуt 0004 рirb] сONsт Y ЕгA|, ЕЕгг 0005 ЕЁгЕ F|-ЕГd.ta 0в056460 080575з0 32byt 0005 Dlbl 0дIl\ Y ГГ|.Е ГЕгг 0005 ЕЕFЕ Г|ЕЕ

A л Листингс 7,6 lIoкaзаltа сTpукTvPa фaiiлa ]s и3 кol!1||лeкта lюс].aвкri RеdLIat5.0 ' Mо)кдy сeк il}iям и . гodatа II , dаtа Paсl к)Jlo,ксI lo 1 000 h бaih.' .lтo с Л ихвoй дo.статoчllo llr1я рaзмеlцeни'i дая(с ltь]сoкo'Гcхll0Л(lгlll]Iloгo виРусa,

листинr 7-5- стрyгryра Файла |s из комплеКга лOставки RеdHаt 5.0

sldГt Lпd Al qn ваsе тrpr сlаss З2 е5 ss ds f5 9srn]t 08000Aш 08000A18 paГa 000l р!o] с0DЕ Y ЕгГЕ гЕ|,Е 0006 г|.Ег Е|.гЕ

'p]t 08000A18 08000сЕ8 dlOld 0002 publ с0l]t Y Ег|.Е |.Е|.F 0006 F|.|.F ЕF|.FLсх| 08000сг0 08004180 paга 0003 рubl с0DЕ Y |.гГЕ |.|.|.F 0006 г|.Fг FF|.Е

,i]n] 08004180 08004188 pа.a 0004 publ с0cЕ Y |.гГЕ ГГ|.г 0006 г|.гг |.гЕ|.,|Oddtа 0800418в 08005250.WOld 0005 рlbl с1]Nsт Y ЕгЕЕ |.ЕЕг 0006 Е|.ЕЕ ЕгЕЕdаLа 08006250 08006264 d'rrrd 0006 рuol 0AIА Y FFFF ЕЕFг 0006 гFг|. ЕFЕЕ

oБщAя стPyктyPA и стPAтEгия BиPyсAКoнкpeтная стPyктyра вltруспогo lioла завIrсlrT oт фантaзиir elo PaзPaбoтчикаIl вьII-цядит пPrr6лЛзиl.еjlЬllo Taк )кe' кaк п n Windous'вирусаx. o6ьнtlo в начa.-]]e вl]Pуса нaхоДrпся рaсшrlфPoвщltкl зa llj'lll paспoЛo)кeнъI NIoДулъ пoискa под-хoдящих )кepTв' иIrх(еI(тoР вIrpyсttoгo l{oдa и [PоцеД]rРа llередaчи упрaвлe]тllя4]irйЛ}-пoси'Гелю.

Page 161: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ДЛя 6oль1llт{rrствa ЕLF'виpyсoв хapаrrеPrra тaкЫ пoслсдoвaтe.лъностъ cистем'ньiх вьIзoвoв: sуs_oрen (mоv eаx' 05h/int 80h)r _ oтIФывaет фaйл; sys ]seek(i]оv еах'13h) - пePeluещаeтфaйnoвыIlуказатеnь lla rtv}кпoe мrстo;o] d mmаp (пovеах' 5Ah/1nt 80h) п|jоeUиРJп фJi i j|в пJNlя Iьisуs-J l| l tар (тov eах. 5вn/int 80h)yДаляе'г oбpaз из IтaмяTи' заlтисьtвая fla дtlск всe измeIIeния' a sys-с,lose(mov eах' 06/int 80h) зaкрrnвaeт са[l фaiiл (p11c-7 -4).

Tехн\lKa npoeцupoваfl zя (иЛи' выpa)кaясъ за6yloPнoй тepминoЛoгией'rnаppin8) э]1aчительllo yлpoщаeтpa6отy с фаiiлaми 6oЛьrцoгo o6ъeма. TeпepьУ)ке ]rе ну)кпo вьIделять 6уфсP' кoпlrpyя Тyдa фaЙ'л пo кускам, и всro vepнуюpa6oтy Nlo)кнo перeлo}i(ить нa плeчи oпePaциoЕнoй систeмы, coсpсдoтoчивсвoи yсиЛия нeпoсpeДствснEo пa IIPoцeссe зaP tеlrия, ПрaвДa' при зapa)кe-нrrи фaйлa rlрo'гяrкeппoстью в тIeскojlъкo lпгa6aйт (ilaпримep' сaмoРaспакo-вьIваloщегoся дистри6утивa кaкor'о-тo пpoгpаммlroгo тlрoдyктa) виpyсy пpи.дeтся либo пPoсмaTPиваTь фaйл чеРез <oltнo'' !трoeциpyя в 4.гигa6айтяoeадрeспoe пРoстpa сTвo PaзличпЬrе еro .гaсти, ли6o пoпрoстv oткaзaTься oт3аражeIlия' вы6рав'!айл гoлpиЛичноP. ПoдавЛяющее 6;льш;t lствo виDvсoвиМенtlo таIс tl пoстyпaloт.

P'..7,4' тиnичнaя (ipу|.т/pа sиpyснoго кoда

г гипe j t | ны ' ноv "n J (и .1 ,шь \ фy | ,dи l Фнп q r cq ь L ,NUх ,

Page 162: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

)o_ая сгovктvDа и сDагег/я вир/l. 163

п ЕPЕxвAт yпPABлЕHия пyтЕt"t мoдиФикAциитАБлицьI импoPтA

K.raссическиii мехaнизм иllпoРтa в]1ешIIихфуI{кц ii из ЕLF-фaliлoв в ЕLF.фar"rlы в o6щеNt видe вrrrlлядиT Tal( нa пеPЕoм этaпе uьrзoва tllll1оpTиPуеп'oи Фyllк-|ии ||J сeк| l ||и , re i t вЬ|,|Ь|в". с} l ! ||егeхoЛн']| t . ' lа( пnЛo,кёn 'Ь|й в ' t |\||| l I j .p. l

(Pгoсeduгe LinkaЬlе TaЬlе) и ссьlJlаloЩийся, в свolo oчeРeДъ' нa yказaтеЛь rra

фyнIrцию pгintf, PаспoIo)кeпIIьIй в секцIIII .got (GloЬа1ollset TаЬles), кoтop;LяiiсouииPoванaс тa6лицeй стPoк' сoдеР)кarцей имеlta вьIзьrвaeмЪIx фyнкцпii (пли

Лх хэши).

дaпeе привeдена схeма вьl3oва фyнкции ргintf уTилитoй ls, пoзaимсTвoваrrнojiltз кoмплeкта пoстaвки Red наt 5'0 (ЛIrстпIrг 7'7),

Lехt|08000Е20

.p1tr08000458,р]t:08000A58рlt:08000А58.р]t]08000А58

qоl 0800628с

;хteгn s0065s0

вЬ1зoва фYнкции pr ntf iтиЛитoй ls

са]] -p.]nt f

.p.rntr рг0с nса.

Jmp ds оff s00628с

оff-800628с dd Oгfsеt рГiпtf

eхtгn p.]ntf near 'rаk

69.62 6З 2Е 7з-6F 2L 35 00-7З 7473 74 72 63 1a:]9 00 69 6Е.63 746Е 74 66 aa 1З.14 72 65 72-72 6|

0000065в]000006680000067вl

70 6з6с 007? AA

F|. 00 6с70 79 007A 72 69

B кaкoe мeс'гo 3Toi,i tlепочItи lloясе,I. lir €дpиTЬся вируc? ЕIy' пpс,{'це всeгo оfl Nto'жeт сoздать пoдJto'(tlуIo та6',rицy стРoк, псpохвa,jl,Iвaя вьlзoвы Bсех l,llтlrPссуlo'

щих eтo фyнкцЙii' Чaцс всcГо 3aРa)кeниIo подвсргaIoTсЯ фyн!щlr'l ргintf/fpгintf/spгintf (пoскoлъкy 6с3 эToй функцtlи llе oбходI,tтся IlPalffltleск],l ни оДna ]ц)o.граммa) и фyнкцпи фaliJloвol.o I}вoдa/вь1вoдa' Ч,го aвТoмaт]'lчсс]tlt oбeспечrвa01прoзpaчньrir lrсхaIIизlll пo'tскa нoвrrlх '{eрTв jlЛя зaPфкепllя'

BиРусЬ1.спут}Iикп создatoт спeпи:urънуrо 6и6лrtoтeку{IеPсхвa1чик в.J всeх зaPа.я(асмых фaliлaх. пoскoЛьку IDA РRo lЦlи дизaсссlr6.'rrrровaп:пr ЕLг.фай,loвlte oтo6pажаeт лмя ипlпoPтllруеNloii 6li6лиoTскl1l 3апol1oзРrr'гь чтo.тo ]leЛаднoсв этoй сrtryации }Ieлeп(о.It счaс,rЬlo' нЕх-редaктoРьI ещe lI1пrTo не oтNlеllяЛ'r'цPугие.ке вирусъ] сlсЛolrнъI NiallllllyЛирoвать ItоЛя]!лт тЛo6anЬrrоij тa6ЛиЦьl сllещс.ниii' пeрeусТaнaвЛrlвaя их на свoс 1е.J]o'

ссЬIлки пo тЕltEвoсhs

кaчeствеrrньlй эму''Iя'ГоP Пк с иIlтeгpиpoванньli!1 oтЛадчикоNI внутPrl, хорoш o п o д х о д ! i - д , ' ' к с п е г , , I ' e н | о в ' в и p ) с 3 r ' | н р , o . P ' L ( 1 d c I l l l o j | в а U . , l а .6ovel.t lrarшrrнe 6eз pискa у]rичтoя€I]1lя 1lнфоРrlаЦllи. БесплаTе1r' Pасl'lрocтрa-ttяется с исxoдllьlми тексTaми'

http://boсhs'sourсeforge,nei

Page 163: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

главa 7. виpyсЬrв иире lJNlx

Еxeсrrtаblе aпd Linkаbiе Fomlat - Portaьle Forrпat speсifiсаtion<Poдная' спeциф]l]rащrя Irа ЕLг.фoPмaт' I.Iaстoятельtlopскol{ellлyeTся к rlзyченJrIo Bсeп! виpусoпrlсaте''lяIl' пPо6yii)щllпl свoи сrr!ь] нa плaтфopмс UN]Х,WWw'ibiblio'oгg/pub/historiс.linuХ/ftp.аrсhives/sunsite.unс'еdu/Nov.06-1994/Gсс/ЕLF.doс.tаrgz

Liпuх Virusеs _ Еlf File Formаt. мarius vап oersБ.Ieстящий o6зoР сoврсjveнньIх UNIх.вIlРусoв l,I анaЛиз ]'lспoJtЬзусмьIх иitlltl!1еToliЙIt BI{eдpeIIия в ЕLF.фаiiЛ,I (I'а аtlгЛПiiскolt я3ь]ке)'

WWW' nаi' сom/сoгn mon/media/vi|/pdf/mvаnvoers-vв-сon|o/o25z0200a 'pdf&е=-747The Linuх virus writing Алd Dеteсtioп нowTo

Il'o Jal.oвoо Pyкoво]1ствo rjo пPое](,l.иРoBaHЛlo 11PcалIrзalIии вЛРусов пo]lLINUХ с ryчei.i гoToвr'х nРпllePoв (пa аll lIrii(x(oм яJЬlкc)'http://WWw.сreаnge|'сori/pаpеrs/writingvirusinlinuх'pdf

Uniх viгusеs oт Silvio СesarеCтатья' oпl,lсьlваlolllaя осЛoвпЬI!э пplIllцI,Iлы фy|кцIlollrцхЛrаllllя UN]Х.Rи.Pусoв l{ сllосo6Ьt ltх llст€l(T p()|]аt1xЯ (lIa alll,.Циiiскоrj язЬп.с),http://vх'nеtIUх.orglIiblvsсO2'htmI

глAс нAPoдA'.Iteкomopьlе аОмuпuсtnpапloРьl |loilа.aюп' ц]na oi UNIх |uР!JIxх| lIm' Bu.pу с1j| жr n| udе Р Э1с uво|I} ]n с я u 1 l o2a Лx е1 l,u я ;, ,1l( к|l]|lUРьц

6nпtl'o]n ц о|]",v| nа ur'*'h юal Bur'ц' bl .'ьrя',, l't'tк,tt лol'-l", 'l'л' ,t' ;.,'маnoцualе1l1юсnъ вuP!]|bв в r|uРc UNIх комnе]lсup!епI:я оt|ю!]nс]nвuе-i||a p.rr aп ь1 | ь Lf d н m u|r u Р ц с о.] ;

.''oсaл u ]l|С - вoЙ1 ос1юo|1ьlе uс]|loц|lulill i,ш nano]]]|aшя вtlшcЙ кonnеxцuu

''omlФdtnосm ь ELF-фolllvаmа вI! |1е ( aос]n!ш lосrnыo uс'Yaa ьft 1 nе ксmoвсuсmе'\!]|ozо 3а2p!зчu]|о з]|ацunrеnьlLa !]пpoщае|n кoxсmp!uРо0аl1uс |luР!сolrnod UNIх;

..,сoэaа|щe вup!)сoв 1rc npеdrcОцеtnся no зaко ц По эак|)нц npесле. ,h!еn|с'| (:o3.o(tнuе в pеoono.нь1' nPozpа'|t1м;,-'l|з I)ёсяmка вoз'11оэ1|:]1ьLТ r1е|лaloв вt]сapенu'1 |] ЕLF фabЙ lupцсonuсаnе-Jlя'м gaaлось oсвoumь nuшь aaа'mРu, пак чпo .Lа o|)1с!]]пс|nвuе пвоpчсскоzonpaсmopа 1|аnaваn|ься не пptuioОuпся;.'UNIX - u \Уindauls'-вupцсьl c\лpояrnс!,l 11о oa]11Д| u mеЛ эIe ц)ut1ц1l|1а'м ' npu-ц6| UNIх'вup!|сы dа]r2 nРaще;

''' Ан n] u в upц |:1 l t1 я энцu1a lo ne i) u я l{ а с n еp сt сo z o с о l е р 1tL uп 6 oл ь ш о e ко л u ч r с 1в aфакпuческu1. aшu6o]{ в anrcанuu UNIх вulgФв;,'"ltнozllе UNIX-вupцсьL завxlсяm om веpсI1u onrpацuo|lнoй сuспe ы, nоэmо''l! tlсяКuй uссnеaoва|nеJlь вьutужОен lеpэпаmь на с|]|Эеi ,|lашuне цеJLь!й Фoо'nаpн'oсеIi;

''.azpa-ronя коJL|eкцuя UNIх вupuсt)в ]nхoauпш на hftp://ох-nrt|ш'o1 в,

164

Page 164: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-ЛABA B

oсHo BЬl сAtvl otvloдиФи кAЦи исаlloNloДиq)иЦиPyIorцI4iiся кoll встPечaeтся вo мI]oгих виPyсaх! з^lцитllЬlx !{eха-

?]llзNjaхl сcтсвьIх чePвях и пPoчих прo1.Daммaх Л0д()6lloгo тила' и хoтя тexllикa,'ГoсoJлаIlllя нс llР()1с'],J 'r,] яс1 6оЛЬш10|o ''екрста, '(а'|сствellllьtхp.iа,']изlllий с кa,{.

,1ьlм гoдol!1 стаlloвится всo мeIlьlпe и мoньlпе. вьIPoсЛo цeЛoс l]o!(оЛениc хaке-

рoв' сч'iтaю]цих' ч1.o самоNIо/{ификацl,tя пoд Windows пeвo3мo)к]la или сJIипI-

lioм сЛo'(па' oдIIAкo в ДсйсTBитсльIl0oти эTo нo1.а]('.'

зHAкoмствoс сAмo}4oдиФи циPyющимся кoдot"t

oкyтанпьIй мPакoм Taйrrш, oкрy)кeнньlй пев0ir6РaзимъIм кoличeствoм мЙq)oв,

зaгадoк ]l Легeнд' сaмo!!oдифпцUрyюциiiся кoд lleoтвpaтимo yхoдит в пPо.

шЛoe, ]шr-'ДЛeппo PазJlагаясь на свaЛIсе IlсториI'' PaсцвrTэпoх1l саlloмoДификa.

U|| l l у){р 'Io: ' JJи ' Bo вDrмct|а нUиl| , lерJкГ l lBI lь l l o| ,1aдчи|.( 'n -||пa deьug.сom

l1 пакeTrrьIх дизасссм6Лeрoв тjlпa sourссг сaмомoдифllкaция деr1ствиTельнo

сepъезнo затpудllяла arraЛиз, oднalФ с пoявлellиeif lDA PRo и Trr.Ьo.DeЬuggсr

Саvolrодyфикаuиq Ьe пP( l |я1сГвус1 трэссr ipoьк. . илля orлa!чика oна | loЛно.

стьlo <пpoзpавнa>' Co статистическnм allaпизoм дсла 06ст0ят нeскoлькo слФк.

неe' .{изaссiм6лep oтo6paжаrТ Jipolpaмму в тolll виде,в кoтopопr oнa 6ьrла loлy.

чeнa нa мoп!eнT сttятия дампа иЛи загPуэкll rtсхoДrroгo файлa, нelЛасlio

paссчитьrвaJl lla To1 чтo 1lи oДнa иа мa['инньrх кol{aвl{ но преTepпи'г измепelrиt{

Page 165: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

166 rлава 8. oснoвЬ| самoмoдификации

в хoдо свoегo вьl]IоJl]l €нl.я. B 0poтnвнoм случас PeкoпсTрукция arтropnтма 6y.. . | в ь , о | | | F , j n н . в ' P t l o l \ ' I . l ' o ' { , i i . оp161L пp ' , . п J . к ! на вoлу l ] , l ' ' т ho r ]o .са'lъtlylо 'гeчь. oДна1ro €с.nи фaкТ сailoNtoДификaции 6удeт o6нap}Dкeп, скoPpек'TиpoвaтЬ ДизaссеM6лrPнЪlii лисTинг не сосTавит 6ольllloгo тPvдa,Pасспlотрипr слсдyloп1ий примeр (лlrсTliнt. 8,1).

лисrинr 8'1. пpимер нepёциOнaльного испoльзoвания самoмодифициpyющегосЯ кoдaFL 05 ]nс b}te рtг D5:t t]55 mеl33 с0

/4 хХ jz t]ss.a 'ayt8 58 '' сd,l] pГо|есt pгo.

зd lеHи lЬ j z (0пкoд /4 Хх) на jnz ( /5 i х )

пeрехо] l , ссл[ флаг нуЛя вэ3eденвьзо3 сс(pетной фyнnции

.цавilii1.с пpoапаЛизuPусIl стрoки, Сначaлa llPоIpnNIмa o6нуЛяeт Рel.исTp ЕАх,yстallавnивая флar. ll)rIяl a Зaте]\1' L'(Jшl oil в38сдсн (a olt rз!одeп|)' IIeрсхoдитк мeткe kiss'аWаy, l lа сal\lolf яrc !(сnс все пРoиохoдпт с тоuнoстьro До наo6орoт'МьI уrlyстплп oдну детaль' КсlнстРyкrшя INс вYтЕ PRТ Ds:гкIss_l4Е] Irнвeiти-Pус1.кolrаJllly у(jloвrloгo llq)с\oда' II lrMсс1.o мcткп ki ss_аwаy y1IpавJIоIrиe пoJiy.Чnст пРorк'L!pа рroteсt.pгос' Ij'цес'ГяIlulii 3аlциTlIInii ltPиrveP' Itс lIрaвдa ли? [Iс) U l l \ ' ' | 1 ' Г , | . , | , , . ' ] \ . i r ] , | ' | | l | ' , х J l . ( Р | l , r l I l I | v ! м o ] : l ] \ , l ' г l | тINс вYтЕ РRт Ds: tKIss'|{Е] (\,)Iс сЛlп]l|()]tl olIi] 6Р0с?lсTс,I B .JIAза) rr тут яte разo6-

A ЧTo eсnП P:lс]ю''lo'{l',|1r JГy |'lIlс,l.рYJ(Ilи|() сo']ссNl в ЛPyl.oii l]01]{с l lPolpaммьi' ]la'J|cкo.lLа"lloк() o,г Alо;lп(l)lllljiрyсмoго кoда? C дрyгllпr дизaссем6lсPo]!l 'Гaкoй (l)o.кyс ' мo)roT 6L|TЬ, I l l Ipo|tа, l r r ' г , l Io ' t o. l tькo r lс с IDA P] lOl вз lЛя| l l . lТс l rа aвтoмaiи.Чс(!оl сoзд?llIIlylо сlrr IlсРсItP('с,l)lvlo ссЬ|Jlкyl вc/lуIILуlo llспосРс/lствctl}Io к с,ГРоl(сINс вYTЕ PтR L0с-40100F (,ril'1с1'1пIг 8,2)'

лисrинг 8'2. IDА PRo автоМатИЧeс(и раoroзнaЛa факт сaмомодификации кoдафxt:00400000 ]n. b l lc рLг l0с 40100| 3а[0Пяef l j , н i j i rtехt:00400000 //tехr 00400000 ] // Пl OгO няого стpO{ (0/]а1 e r t r 0 0 4 0 0 0 0 0 : / /Leхt:00401001rtPrt:0c40100Еtехt 0040100|. ]ос 40100г: : 0АтA хRЕГ ' tеrt 00401006^WtrrL 0040100Г jz shoгt lOс 40ш16 : ссЬлка [a ЛoдифиЦLipyюциii кOдLеl t]00401011 са l l rхrх

Tак вoт, х.noпцьl, Самo]vloДItфxмцIrя в ч]lс10I1 |lиде ничегo пe peшaL1т' и есЛи нexpсдпрrпиTь допoЛпllr.сxЬнън зaщитньlх lllер' сс yчастъ пpоДpеrЛeпа, Jlyчlneeсpeдствo 6оpь6ьl с rlcPекp"Aс1llымll ссьтлкallll зтo уvе6нrпс пlaтспraтrки дляпеpвoгo классa, Бсз ]lryтoк| IIрoсTеi'iшI1с apифI'етичссltllе ollеpации с yкai]ате.ляIrи oсJ-IeпЛ'lo'I автоNiaTичсскпI:i arllllизатop II)A РRo' и пeрекPесTtiЪlе ссъl'Ц.кlr 6ьют lшNl0 цс!пr.o6новjIеIllIьlii вaPиaпт сaмoмoдифициPyющегося кодa мo'tеT вьlгляде,гъl т]arlри'Ileр' так 0rirс,гинг8-З).

Page 166: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

L67знакoMсlвo с самомoдифициpyюlдиllся кoдol{

Л'сrинra.з' XиФый самoMoдифициpующийся кoд' 06манЬвaюциЙ IDA PRo

mov eаx' offsеt kjss-ле + 669hsub eах, 669lrrпс bytе ptг 0s: [еdr]

мн0г0 Nного с тp0к кода

сall pгOteсt рr0спеpехrrд есл11 Фlrаr н}ля 3з3eденвьзO0 секpетн0й фyнкции

Зто здсс:ь tтpoисхoltит? ПсpвьINJ дeлoпl в peгистP ЕAx 3aгPyясacТся сп'ецеItrlе r$o.

.lj(l)!!циpуеN1oй кoмaнlrьl' BoзpoсrlIее !!a нскo'Гoрyю веЛпчпну (усЛовппlся lIaзьг

]ать ee дсJtьToi1). Baя(I]o пoн,Tь,llтo этl1вьгпlслсl1l1я вЪ]пoлняlо'Гся тpirllс.!ятo.

:o\l ещс нa стaдиIr aссепr6лиРoва}r]$I 't в ма]]r 1lllыLli кoд пoпадaс,г 1.oлькo

::orreuпьIй pезyльтат. Зат€п{ из p€гпстpa ЕAx uьrчrlTlется llсЛьTа' xoрPскTlrРylo.

:iая <пp цeЛ' Ii нaцeJп{вalоLIrая ЕAх llсI|()q)едствсllllo нa модl(l)ицllРусN{ЪIй кoд.

:lpll услoвltи' чтo llизасссм6.'rер rrс сottертtит в сo6e эмуЛя-lоPa цп ll Ile тPас(Lr

l r 'ет указaтели (a tDAPRo Itе дoЛ сr l lи , toгo ' l i l r дpуIоГo), o l l сoзЛа €T сд lJ| l

:твсI]Ilую пеРсl(pсс1]lylo ссЬlЛкy' l1аlryalrлсllIl\,ю ]lа пo!L.]]о'tllylo Nl]llIIr|п'' какo-

. aя PaсI loЛoжсlia дaпеl{o в с'кl1ю r rc о,г ,гсaтpa 6octll' х Лoi] c1]'l ii !I l i 11как l iе сBязal |а

. самolroдифицируlопLrrмся кo/lо}1' IIpичсNi с!].l|lr I|oд]l())кllaя Nlи lcllь 6y/lсt рас.

:lоJlox(ella B o6лaсTl'l' Л0)кalllсii:la llрс.'lеJ|,lми |Image ваsе: Imаgе ваse + llпage sjze]'

::срel(Рeсl aя ссЬi]lIФ вoo6lltc Itс 6yдсI сoзд,lirl

: ]oсмoтри,гс J lис1.и1lг 8.4, l l ( ' lу ' l сI l I lьt j i с поN{oLI lыо IDA РItO'

листиl|r s.4. дйзассем6л€piый листиHr, 06маH!тый lDA PRo

:eхt 00400000 rnov €аx of fso| -рг]ntf"3 i лояrа! !и lевь

:ext l00400005 sub еах, 669h сФътaя кOрpе(Ция ' r lицела,

, o ' 0 0 д 0 0 0 0 Д n O ' , " P , , . ! '

нdцeливael eal на лOsнyю мlшeяЬкоpр€{тBpуеi лриl]еЛ

jz shог l loс 4010]с пер €{р0стtLrrЙ с.ьлtrи rer lLeхt 0040101зiext:00401015ieхt:004010i/

сГeпеPиpoвaпtrая пrрeIФестная ссьшкa вeдет в lЛу6Iiнv 6и6Л!lотeчноii фyнкЩlri

рrintf, сrтyчайIro oказaвпIейся lIа 3тoм : есTе' саru )кe Nloдt1ф]lцltрусNiь]il кoд I]Л.

нeм нe вьrдeляется нa фoпe oст:UlьIlьш мaшиппьlх кoмаlrД' и взлoмп{иrt 6УДет a6.

сoлютнo увePсrl' чтo зДссь пaxoдится ril1енн0 Jz, a нс JNZl Естсствеr]нo, в дапнoNl' . |учaс ,то не с||Льнo y. ,U)к||||1 а, ' 'LпиJ, в.д|, | , l I l | |1 |A п- l . ||eд) n l (p.o ieсt Drос)

тoPчит y хакеРa пo/l сaмьlм пoсon1l и eсли он нe Даун - obязaтеJьllо пoJrюLroпьI,г-

ствvет. oДпaкo eсrrи пoдвсpгпуть саNloмoдификaцrnr alгoрl]тl{ пPoвeРп]{ серпrl

ЛЬlх нoмеpoв' заltеllяя RoR нa ROL' взnoмцtrк 6удет ДоЛfo ма1.ерIrт!ся' поч{rl1у erо

хакеpскrriircнeрaтop tlе сpа6атывaет, А когдазarlустlrтoтлaдЧиI( зapуIaетсяепIe

гpoN!че, поскo.цьтry о6нарРкirт) Чтo ero по мелrr, незаl{ет]lo заi!1ell'lв oдну Nia rин.

ную кoмaнду ДрУroй, БoЛьrllriнсTво хак€Poв' кс'Гати с(aзa,гЪ' llNlе]]Лoтак n пoсту.

паюT' зa]lDягaя oTЛадчик и llизассеNlблеp в оjllly упPяjl(кy,

Page 167: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

168 rлaва 8. oснoвЬ самoмoдификации

БoЛeе пpoIPессивньIсзaпIlIтIltn€ тeхrlo'Цorии6азиpvю'Гся нaдlirlам11чrсi(ой шиф.poвке l{oда, А lllифpoвка 0дяа Irз paзнoвидlloстсr1 саNloп{oдIrфI1кацпr1! o Че!и;'ito' чтo вl]лoть дo тoгo lfoNlerlтa] поI(а двollчпьlii код Ilс 6yдет I]oлнoстьlo Pас-шифpoваlt, для дизассeм6l11PoвalIия oн }]епPllroДeI], A €слп рас]IшlфpовщuкдoвePхy наi]IпI,Iгoван апT1lo1Л&1oчltЬl11II пРnсI!a\п]' lICпoсpeДсTвсIJilaЯ o1..I]адкaстаIioвится ]leвoзi1о'(Ilo]1 тo)ке.

с ] а г , | ч е . к J я ш t ф . n п к " , \ J г ] r т e п | | а ч , , I c 6 U , | ' | , ] | с o ' | | | i Р F . n , | \ л | j . I l l , , o P o | 1 ,

в нaстoяrцее вpr]\lя прrIзнaпa сoвсршепlto 6eспеpспскт]шlIoii, Дoл{r]aBш]]сь п!oпIентазавсPшe]Iия рilсl]ltlфровки' хaftеР с]tuп{aет]lа11]I lr зaTе]tt xсслeдуе1.сl.o стаlI.дapтньl]tlи сpедстваi!x1, ЕстесTвсllно l 3а|цl l |]] ьlс lieханI'з]\j Ьl | а ll llrl и tl I ]ачс пьIтaloтся это l l l y пРoт l lBoстoятЬ. Oн l l скажaIoт тa6 ' ' rлцу ппtпopта ' затupа loтPЕ.загo"'rояoк, yстatlавливaтот атpи6тп,r стpaнlпr в No_ACCЕSS' одlraко опьrтltЬIх ха](еРoв тaкIIl']r ф()(уса}Irt II;ЦoJrгo llеJiutс|'киЛlЬ. Лю6oii' да,Iir сaNпnii l1зouгРellltr'lii IlaBeс lloil пPol.сl(тoр BpvчlIvю с]r]r мe,l.с'l 60з ,] рудa' а ЛJ|я !L'кoтoi)Ь|х lINlс.IoTся и аBтоNlа1'Irчrскlle взno]vIlцлкtl,

IIu в к,акoi ,ltaлеtm вpе;tlеll1l aес|, lюa цo?]1anL\|ьt tn Оalrltсы 6ьuль pа:tuutJ4loвапцotulсaл| Boзьхlll'l:с сс6с За пPllвlUIo: Pnсшl'l(hРollьJira' o,'ll{ll фl)аrnlсп1.' ]l]шx(hП}в u п э й t ' д t ' r t r , i , I I t ' t r ' r с r \ l l ' ' ' . U 1 | 1 ' J , ' | | l , , , J u , t , t , ' t t ' . t , t t r , ' , t . ' ' t t с r t ' \ | | | n | , , ' , I i | , ч n .

o l ' | х а к ( л | | г v n | , | | ' l . 4 , | | ' l о | l J I U ! | , l , . ? ' ' , . | | , l I l ' | ' ' | ' ] , l ' . I l ! , | ' ' ' \ r \ ] . ' , , : ] | ' ' , ' , | | , , , : , лvяз l Iи[1oстЬ 6onLшrJ l l с - l | l i l за l I l l | т l l ь Iх Ntсх i l } l l |З r l ( ) | ] ' ха l rcP l Inхoд, r r ToЧку входав Dас lu l lфPoвxn|к ' вoс( ] .a i l aПn, l ] ] i l с l oГ( ) | lРo1.о 'Г | | J I L ! l ]PoI Iyскr01. t l c l ) с3 l | с f ( ) вссзaшЛфPOвa l l I l ь Iс 6noк l I l lю. / IyЧnя l l а | l l l l хО/Lс го1 .0вьI i i | i у l | ( гф06Лс l I l . l | l ) даN|| l , l l р l l -чсAl eсJll] p;rсIlIи()Ро,rll{lll( llPсЛс'1.ll,lЛ,с'Г со6()ii ,ц)||Пиа"lll,llыi] хOR' хil|Фl)v 6у,J(ст/{oстаточЛo опрсдoJ l lu . | , N|с( : ]n хpaIIс l I l l , | к ' l I | ( ) l | с i ' i . a p l сx l l | { i )роI]а|1 ' I IрoГ|)nNIN|v о l l

Ч'гoбьt э'r.oгo лс'с;rv.rиЛосьl iralцл,гItlllс Ilсхi]ll||зNl|,l дtlJ])l(l|Ь| исllonЬ]()|]iLlъ lloJ]ll.itIoP()l l ЬIс 'ГехI J()'ll()l.I l l' п Гс I|сPа1.с) Р Ьl (oдil, AB1t^t.tl Ll3rtpoва1r, p.lспlll.i)Рol]ку Лро-rPам]i1l,Il ILol.орil,l состolIT из Iloсl{o"l]ьItllх сoTс]t 4)Рагl'cll1.()п' зaIlпl{)tn,l]lltl]tЬlхкpил,I.opаNIиj с).cliсриp.)вallllьlj rl <lIil Лс1.у'' l|РaкTIlЧL.скп ]|ся()зIlo)к]I() oдпilкоп pешпrзoпaть r roдo6пьrii заlцl rПIьl ii N схaнIIlrll опrюдьпе rrpoсто. Bпрo.lсlr' пpеlс/{е Чсм стаRll1.ь IlсPoд соб()ii гPандlr0]llьlс залllчЛ' Лaваiiтс J|учшc pаз6ePсIlся с oс-

пPинципЬl пoстPoЕниясAмoMoдиФи циPyЮщЕгoсякoдA

Pанниe мoдсJ1и х86.l1Рoцсссopor нс пo&1epжuвall л lto].ероljтпoстll i\lаlill,lпIloгo ltoдаи нe oтслOlt]lв:Lllи lloпьIтoк п{oдификaцl]л l{oltаi]д' y'{е }rахo/.iящихся rIа кr}iвcl:iepr, C oдlroй стоpollЬl, это yопolкня.то разpa6откv саilloмoдI,Iфlrц]]Pyolliе].oсЯ кoда'с дpyгoЙ . пoзвojlялoдypa.rпть oт".ra,1,tик' ра6oтаIоIци1i в тpас(иРyюп{еII Рс,rlЬJе'ПРoДемoнстPируerЧ этo нa припrсре "ltrстияга 8,5'

Page 168: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-];1нципЬ пoстPoениЯ самoмодифициpyloщeгося кoда 169

lибин.8.5. Ploдификация мaL!инной кoмaндЬ|l l2(е наХoдЯцeйся на кoнвeйеpe

r'tl]i. aL 90h

sг0sB

пPимЕчAниЕ

.l!|l пPoгоrte пPoIPамNrьl rrа 'rивоl{ пРоЦсссoPе r'iнстpукпI'я INс AL за]vreнястся

::] N0P, oднal.o пoсI{onькy iNс AL yхе нахo]1xTся Irа кoнвeйeрel Pсг]1сЦ) AL всс.

itliIl у}]еrrпчIlgаe'Гся нa сru]IпruY,IloUjnгoвaя тpасспрoвка пpоr.рalrt:яьr вецeтсe6я

rпauс, oтлаДo.rное пск.пIoчспIlе1 сгсrlсРЛpованнoс ltепoсPедстgеппo IiосJrе вьl'jl).]lпеtiия rlllстpyкцrи sтosB, o.lllrцасT коllвеiiеР -. n упpaвлcнllс xoi\^laст у)кei. i Nс AL' а NOP' вс.nедст]rltе чего yвс'ЦичеIlия РсrlстРa АL pкс 11е пpol]схоlllп l Есл]l.]l:lчсЛrlс АL ]lспo]lвуeTся д]l,l pасrшпфIn)l]кп прoгрa\JNпn' тo o-l.Jl8дчrп{ сI(a)кет

' .пrcрY: aKiss пv ( l (Лrkеvl '

,l|хЛlессoPl,l ссNCi]О вr Pслtitul] ()тсJ(]rri,lваx)т мoiL11(l'lI(а]('пo ltoIrallд' yжc нахo.

1я ] ц | |хсЯ l lll l{ol Ll}сii € Рс' ll l|o'Гo}Il- l lрoЦ)aмl{llа' jui l lа ко l lвсij ePа PаBяа l tуЛIo' l{aк

. | . ,цс 'Г I l11с .3r l ILL l ' Г t l ь l с ^IсхаI l l l з r l ь к ( ) l lRе i l сP l lо rо т l I i i а , l lФ|аD l Iа PсDt] r l l r l ' o ruI1-

.оч1 j ( ) l |о .1 l : l гакЛ ' ' . l то вс( . | ) la t |с l Io j l l l я |1)тся ] ]oд oTЛaдчик0N1. Э] ! Bпo 'Ц l l с ] loкyмся-

l l rpor tа l l l raя оr : t )6сr r l roс гь r lо l l c , I l с t l I I} ] I |ро цс(со l )а , l )aссч итЬ l в l l к ' цaя сoхpа l o l ться

; I t s ! |oсJ i :дvю|ц х \1o] l с . l | ' х , l1с| I ( ) ' (Ь3ouaп с с1 lN l{ ) ] ! lo / ] I lфи| l l i Pyюl l l cГoся кoДa

' l I l ) | )N1 l lЛЬ||o i ] , го . Ix j i зрс l l | |я в r IoJ] l l с 3 iLкo l i l к ] ' сЛсЛуe] l r cNr l t l l ' l .Ь ' ч l .o чРcз l t l сР] iоc

] ' i I1)у| l ( ) ,Ц)06]|o l l l i . l l o ( ) j |сдI l I !N l o l ,P I j l l а IсJ IЬI l ( ) l ln l l J l c ' | . l i i ] l IPo l ] : J t lo ]L l tTo j lЬ l loсть з i l .

I : l ! | | l l i l t ' I l ( ) l ( ) r l l )L l , r | ( ) , l ( ! l I l t , r , l ( l )дo l lЬ| i ]п) l | | |ц)Boг( ) .VI )o l1 l l ' j / l ( l с , | .y l I с l | ' t ,oJ IЬ l to t l i l ч ' I ' с .,L l I с ' l | | l lD l \1 i l ' i jn j I l ' ( 'Ь | r I l ( r l ( ) l l c ]n l з} lо)шlа l ]P l l r lо ' L l ]4 , l ка lL | l ] l N lа| l |и l l l l ь Iх J{о l ! l а l l l {

l l l r r r l rя , r ' i r в ;L r : i i с ' r l l r r r слr , I lосП| N l ( ,д| | (1) l lц l IPус ,Гс '1 к i ) l | ] / l L ; l l I l | | ) |х I Затс] ! l ЛР()исхо;Lиr .

' )кс1рс l{ lLЬI i i с6рoс кoдов l l r с l l i э | | J l L ]1 l l срсз l ]Грузкr l | з ] \1с l l с I l l lЬ lх кэxI . J l l l l l сoк , I lа

','o tlасхоirv"тсir д.лю.'rr,rrrl 6o:rьrrкir: rrrl".rll'rсстпо lIl]оllссс()Pi]ьlх TilI(1,oR, lJL{кo|]la

]L0 l r | )L l lоn l l ' ] i i | . ( ' (а i ' o I l ( ) ' L | |4) l lц l ) r -Пn| ! l t i i с ' I кoд l r Г j |у6окo в"1о ' (o| | l ]oN l 1 l l l тLJ Ic ' ссJ lи '

](ЛIсч|l{). llЬl II| хol ll,]1, 3rl'|()pIюзl|]J, сlloIo IIp()Ц)aNlN{у дo (l()Pос,гI1 tl(фаЛьТoвoгo

хo,ця1'('llYхll, ч'Г(] сaмоNloitlк])Ilцllруx)|цI1iiоl кrlд возI'кllкclr r.о,JrьrLо в lvfS DoS'

il WiDdоWs laпРсJцаcT rrам э.Го дсJIаTь, И хoтя lсlli?lя.Tо дoJI,l lIРilвЛьI в эrоIi eсть'

tiPll 'l(слillll]l NlЬl llo'(ell о6oiiтIl lr(е зaпРсты r! oгРаlll|чсrlrlя, ПРс}кде всегo Paз.

бiрсlrся с aтplI6y'гаплl лoс1.уIlа к страllиЦxll It сofllе)lгaм' х86.IlРoцcссopьl пoд.

дсP}l']Ilаloт Ц)Jl ltтPll6у,Lit д-!л дoс1vlIir к ссI]!{ептalI (ч'lellпе, запIlсь 't ]lсIroЛlle.

llilс) и два дJrя l1ос,г!'lIa lt стрaнltцаlll (/1осТуI! Jt 3allпсЪ),

oieDациoнliыe сисreмь сeмействa WindоWs сoвMeщaют кoдoвЬЙ сeгlieнт с сеfrентом

данных в eдинoм аApесном лpос|ранстве. а пoтOt1y атриб!тЬ Чтeвия и испoлнеrrия Aля

]'tс]lo-цllяeNlъtii коД llо'{rсl. 6ьrтЬ PaсгIолотiсtl в ЛIo6oli дotlГyппоIi o6Лaстtr пaпя.

T1l - стeкe' Ityчс' о6Ласт11 1.ло6а"1ънЬIх пeР€llс]]rlых rl т. д, СТeк с кyчсii поуlloЛ.

чaнtrю дoсTyпнЬl дл' зaписrL п впoJrне ]lpl'гoдньl il-qя разlltещсrtnя сaмoNloдифи'

цl.lpующе1.( )сЯ кoдa, Itонстaн]ЛЬle rЛо62UБ]Iьle и сTа'l.иrlеские псpeмerlньIr o6ыrr]10

Page 169: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

РaзмеIцaютсЯ в сeкции ' rdаtа' дoступIiой тoлъко для чTеrrия (ну и дЛя испoЛне.ния| paзyмсeтся' тoжe)' ji всякая lloпьiтI(a иi пIoдификaциIr зaверпIаeтся Iiеиз.NIeнньI]v исiir1юченlIем,

Taки}r oбPaзoМ' 8сe' чтo нам llyж]rо, ст(oпllPoвaтЬ самопfoдифициpyloщийсяi(oД в стeк (кгIу)l а таll oп смo,rrе-г харакиPитЬ сe6Я кaк з&ioчeT' Pассмoтpимслсдуюrцпi примсp (лисТинr 8.6)'

листи}rг 8.6. сdчovoдиФиiёLlя roда rа ое{е/кyчe

// l]пределяе! разиeр сам0[1rnЙфиuиpyюцеЙсл фyнкци!#def rne sELГ-s IZЕ ( ( iп t ) x ' se l f mоd-е id . ( rп t ) х . sе l f mod-сod € )

// началo сaiо OдифициPуюцеi]с! фyнкции// спец[фикdтоp nаked пoддepдивaeшй коflп Ляroрoi lls Vс }кdзываeт кO пилятopy// на нео0хслl1lloсrЬ сoздания чисloй ассемблepнOй фyнкции, ro естЬ rакoй фyвкции// кyдa кof iпил ' .Oр не внeдpяeI !икацоЙ пoс!OpoннеЙ отсебят[фl

deс speс( ndk €d ) iпt х-sс l t mod сode( inL а ' rnt 0 ){

аsm{

nrоv eaх' [esр+4]

а d . е а х , t e s p + 8 + 4 ]

хог byte рt. [еdx] ' 28lr

вaчал0 сaмoioдифициpyющe.ося кoдdnолЛaei пeр0Ьl аpгtHeBтOпpeдеЛяeм своe reкущeе п0л0жeниe в па яти

с(лады30e i /gычиrаeП иэ пepв0гo dргy l1е l l та втopoЙв eсХ аЛрeс начaЛа и lс rpy(ии ad. еах . , '! € няен aod 1а sub и taoоoротв0звра[Laeiся 3'1аlcршlскyD фr| кцию

lеnd(){/* коПeЦ сaмoвоЛифицирyюц€Йс' фyflции */ ]

I

rnt ( сneс l *sе l i .mod соde)(]nt а, rnt b)

// pаскомментирyйтe слeдуюluю стрoку LтOбь yбeдиrьс,' чтo вeпосpедстseннaя// сa iомодифи(ация пoд l ' ] indo9s !oвоз iOпвa (сис|e id ш Urюreт ис l(Лючeниe)

// se l l mod-соde(4 2)

// 3ыдeляе пaмять 13 куcи (в куче ioдиф[кaция кl]да pазрeшeHа)// с такl1и яе yспех0l1 l1ь мoIли бЬ в|дeлитЬ// 5e l f m.d-соdr[sЕLЕ s l lЕ ]sе l f mОd соdе = ( jnL (_сdес]*)( ]n t , ]n t ) ) mа l loс(5ЕL| . s ]ZЕ) i

// кOпируeI сaвo!одифициpуюцийсл кOд в стек/(!cymemсpу(seli mоd-соdе х 5e]f_mod.соde sЕLF-sIZЕ)'

o , о о " д р l 0 р o '

fOг (а = 1а< 10 а++) рг]nt f ( . 'ъ02X ' sе l f - ] iod сO ie(4 ,2) ) i pГ in t f ( ' \ i ) |

Page 170: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

t7LэЙнципь| посrрoeния фм

.-а\tollloД'lфициpylolllиiiся кo/.1заlrс!яeT Iап]инIrуn] кol{arrДyADD lIa sL]в' а slB

:ja ADD, и потoпlу цlrкЛич€скl1i'i jrьlзoв фуIJкЦrlll sеlf-mod сode вoзвpaЛIaет тaкуtо

;oслeдolaтeЛЬнoсТt' чllсел: 06 02 06 02,,,, ]lo/.ll'веPхд?rя TеilI сa}iъriv yсaеnrнoс за-

] еlnIе11ие ;Lliтa сaпloN!oДiIфrп{aцlll l.

:lекотopьIс xахoДят прeЛЛoя{ен1tуx) технo.l0rtlIо сr.llIl]rкoN] фol'IоздI{oй' неi{oтo.

trr'lх вoзlrуцает тol чTo JФпиPусllllii код дon'кеll 6ьiть xojl]юстью псРei\lеЦaспl'

.oестЪсохPa l Iятьсвo1opa6oтo( l toсo6нoсть!езавr i с11 l lo ( ]TTекуrЦсr .oмeстoпоJ lo -;}'сlIЛя в пallятt.l. l{oд. сгенсPиpoвarптьпi кoNl]J'I.nятopоN]' в o6rцеlr сJlуЧае тaкo.

!r]|11 пе Явn,етсяl что яЬпl"v,rдас| Лас спусxir|Ьс-'i нa чxсГо lссеilt6JсрIlьп"I уp.].

i]еllь, I{a}1е]ltпnli Eск| нeynrcЛtt со вpeмсIl I]еaпдсPтa''Lt,ltеrt' дo6r'rваяrпих оroшь

тpе]lIiellrI кoстянъIпr Il1l'.no]!l пpсвРalIInвIuxх fl(тфoкаpTу U ДvPllIлаг' lIpоrРа]i1мlr'

стьl tle дод],lIалпсь дo 6()Лее пРorрссспвllЪIх llcП)/uJк?] A как ]кеI

.]аваiiГе Лл'l pai]|loo6Pазrrя попpo6yепt сoзlat|, ltРoсTсitlllrx) ЗаxII,кl)рoual{11уlo

лpoцс l l y l )y ' l l аx l r .а ] lну l0 l1oл l loсТ l to ] |а язь tкс l l ] , l со l rо to уP l )в| lя (gаrЦ l JмеР ' с t l '

Io'Гя '|с '{е сa]!lЬ]с ЛPl{спl! lIl)lIгoдllьl ll ЛJя I1nс|injlя с сгo IPо'LЛIпrь]Nl Рo/lствсl].

, , uN r t ) r l i ' l , i ) l l ; ' , r r u r r r , i .

. ||()P,iдoli Pili}l\{спlсllllя 4)vllкцlIiiп пaпlJl Г11 соlЛiа,:rnс,| с ()'rсl)е/lIlOс'l Ь|() ]lх ()6ь'Il

nс l I I lЯ в l IPoгPaмп1с ( l lРaI$1 lческI ' ] ]сс к)N l ] | | t JU i loPr ' l l . ; l l { l I l jo ! : l y l i^ i (Л) ;

. I I lи (hрYсNl l tя ( l rvAк l ( l tя l l с ( ( )дсP)o| , l . |к ] l l с}1с| l ( l l с i \ l ь ]хэ , r |0r l с i l . кЛ l '1aкжc l IaJL l l ] l

смr 'х l i хuP 'а] \ j l l l ! l l l Pо] loк i l lц1 ' I \ j J1L (эTо с| l l ) ; l i t сл 'цr rвr l д , ' rя 6ольr l r l r rк : 'п lа r l с t tо , ' t -

пЯсN lЬIх q) i r i ] i J IoR ' I lо l ( ' l r rа ; i r r rчссr r r rм 6r l6 ' ' r r l r l l с r t i lN l 6 . i I Pс r lо rL t l lU l i i | | l ' I кy , ' L ' L ) .

jh|я успспп|o i i Р . \с Iu t t4) Iю|r ] ( l l I l |ю lк) \ \ , | ) ln , l i lN l | |собхo l l L t \1( ) ( ) | l1 ){ rдсr l lПr ' 01 . l lP1o .

в l ' I i i iULРес с0 P? l r lN|сI l {с l l lU| в l l^IU l111, : ,Tо J loП() ( iЛrpoм0| l | |Ь l ( : ' : lЬ I I{ l l 3ь l ( :с )к( ) l ] )

yрo l ]} lя | l ( )ДIсPжI l i rают o l l ср: l l lпп с l у | i i l з i L ]с . l l ' л l | | l j r 4Ц ' l l l ( l L l1к) ' ] l i l с I I /С ++ ] I ( )

вь tг ; rя ! ( r r , r .пpr :6: rиз t . rтс" ' l ь Ix) Tак] vо jd *р i р = (vo id*) funс: , ( ' Jо ' { ' | сс l | l ] i ' 0РЯTЬ

дЛIrпу ( l )у1IкI l l tЛ , э , |о вaN l | |с YЛаDI l | | |o l Iу r i l I I1 .YI I1с I Io , l l хoдя| . iТ( ' r I l 'Ц l ' lп , Iс сРC ' l .

с'].ва яlьп(а rtс лРедос11l в]|яroT -ril l{о ii возIlo)]{||()(1|ll, I1 JlРихo,rlrtTс,I хll,Ц'I1'Ь' ()|jpе

дc'llяя /]Лrtнy кlLl( Paз!lL)сTЬДпyх у кillxтсJlсii: у lixзaтCJlя lr.r lаllIlI()Р()Пaппvю (|)УlIIL

цrlю rI yI(aзa'rсnя rla фуIIкIlltIо' pilсll()"!о'(сllll)lо tIolI0сI)ецс,гвсtlIrо зa i]е коllIl()]i1'

PазуNlеетс'l, ссJ]и кo}tll']'lIятopу захочстся nIlР\rIlrlГrl ц'|\{|,|IlснIlЬrii поря]rolt сЛе

доваlIия фуrrrtцur:r' этoт ЛРIteм нс сработаoT ll рtrсIпrr4lшlltrlа пoiiдсr цахo;rr, ,tatt

чтo ]rсp)сJтс свoii хаксPсlolii хвoсT в 6oerrоl1 сoсToя п Ir Il I

и пoсJlсдlleе. llll o/1].'ll rIз tsссх llзвсс'IxЬlх i\I]lс кONlllпЛя'ГоPots tle пoзвo.'1яет гсrio'

DпDoватЬ зaпIЛфPOва1lньIй l{o]l, rl эTу r)пeРaцIl]o Iц)liхо,]пTс,] oсуп1ссTвЛяTь вPyч.

нyЬ с пoмoпрю 1lIЕW,a l lи сRоIrх (L)6стnсннь]х yтиЛ'lТ, l1{) как \1Ьl llaйд0Nl

шифрyемую фУпIщию в Двoич11Oм lhaiiJс? Х:lкерЬI rк:по-tъзуlоТ llескo"'lъrtо коrr

кypирyloшrtх спoсo6овl в завltс]1IJосTll oт сllTyaциx o|/IаваЯ xреllпочтсrille тo

oдtloмy' тo дPуIоrvIу из IllJх,

в пPOс1eйrпем с,rУчаe ll]rllфIlуеr'Iая ф\пкцпя ot{а11тoBЬ|ts^gГся ll|1p]tеРа]lu у1IЙ-

rсалъными 6аirтoяьrI'пr rroсЛeДoватсJtЬlIостяlllI r'al)аrrтllpoв.L]|пo rrс всr'речaющи.

i{исЯ в oстаJlьяЬIх частях проIрalll1ш, o6ы.rllrl ltaрксpьt задa]oтся с поllоЩЬю

l1иPективы emit. прeДсТaвxя]оIilеii сo6oii ilнаxoгассем6]lсРlLоIо DB, 11aпрпмсР'

j oтaнl]l,rс]oсat'оп лсPeьJrщен]t

Page 171: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

172 rлавa a. осHoвь Ймoмoдифиrации

.леz iУюLlxя хoпс|nукJnс сoз*аf l |eкс,овylo с 'po{у (PNс: аsn еnl t 'к ' аsm

еIт i ! ,P ' _аsm eni t 'N '

_dsт en.t 'с ' , ГoлЬ|,o n. nьr"и '*n pu.no, ,ъ*мapw.PЫ внampu ЦLIфPyeп'.]й фyJrкцrl[ ПpоЦессop lle пoймет юмopa 1r вып.lю.нeт исключeниe' нак:l"IьIвaiiтс yаp].еpьI Irа вeршипy и дпo функции, нo ]ie тPо.raЙте ee TeЛo|

Bьr6op ыrr.opитrua rлифрoвания пe lipиrЦипи:Uie]l ' кто тo испoльзyет х0R, ктo.тoтягoтeeт It DЕs иЛи RsA' Естeственtlo, х0RЛoпlается нампоtю пpoщe' oсo6eлиo eслlrдлина ключa невeлиIсa. oдllакo в демoнстPациorIIIoМ пpимсPе, пpивrде}lllojllIlш1(е| п!ьI oстаIloвtlмся имellнo rrа IoR' лоскoЛЬкyDЕs/Rsqкрaiilie гPoмoilдки п сo.вepпIеIrfl o не нaгляднъr (лисTинг 8'7)'

л'сrинr 8'7. самoмoдификация на сл)Dкбе !]ифPoва}rиЯ#defrпe сRYPт.LЕN (( int)сгуPt- €nd . (]nt) fOг сгyp!)

' аsm -1rл j | с . ]

]oтк-oп!пиnIrрoвав этy nPoгpaпiмy o6ьruньIпr o6paзом (}rапPrIп!еp, с] 'eхe /с Fj]eNаne.с)' мьI пoлучим o6ъeкт1rьI!1 фaiiл Fi]eшаme'oц, Tепeръ нali нeo6хoди-мо cкoмпotloватъ llспoЛняeмьIii фаiiл' rlPедyсNloтритeЛьllo oткJlючll]] зaцитvкoдoвoй секцl.Iи oт зallиси' в Лиirкeрe Miсгosoll Liпk за этo o'u""o", n,.u/sЕсТloN, зa кoтoPъIм rrдyт l{llя ссlщlrи и }rазнaчасN!ьте еi:i аTpи6yтьI' IIaприn,еP] jnk.eхe Fi]еNаme.obj /гIXЕ0 /sЕстI0N:'teхt 'ЕRш.

maГk.begin(){-а5m -eл]t 'K

_as i r €mi t .P ' i5л t] ] t 'N.

// зашиФp0вавная Фуlr iцияiOг сгурt( int а 1nL b){

)с.ypt-end(){]

nd*-е]r . (){_аsm -em]t 'к ' -а9лr

.0rr i t 'P . -аsn .m t .N

с|урt-r t(Lrns]9ned сhа. *p i . t с){

int a fо. (а = 0, а < с d*) *p++ ^- 0x66l

{// pасшпФровьaаем защитнyю функциюс.уpt.rt((0nsignеd сha.*) foг сГурt сRYPт.[Ll,

// в63ь 3аем зaцптяу]0 функЦиюpг]ntf( ,u02хh\n ' ' 'Or сгypt(0х69 0x66)) i

// зашифpoв[вaeм Oпятьсгyрt- j t ((unsrgned сhаг*) foг-сГ lpt ' сRYPт LЕN):

Page 172: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rри|ц/пы |oсгоое |и9 ЙцоyoдlфицирyюJreтсq кoда 17з

здесь /FIхЕD _ IсЛIoч, Удanяющиli пeР}мeщаeмьie элемeнтЬI (мьI вeдъ 11oмним'

чтo JlepeмelцaeпIьlc эЛе}lelrтъr нeo6хoд,lмo yдa.nять?1), . teхt _ мя кoДoвoй сек-

циJ{' a ЕRl,l _ cTo 1теpвъrе 6yквъl ЕxесutаЬlе, RеаdaЬle, Wтitаьle (хoтя при жеЛа.

ппи Ехесutable мo)кЕo и oIryстить _ на рa6отoспoсoбrioсTь фaйЛа этo ltикaк вe

l1oвЛияет)' дpуrиe лиtrкеpъI исIlользyют cвoll '(лючl{| ollисаниe котopъlx мo}Фт

6!lть найдеrlo в дolсyмerrтации. имя кодoвoii сeкц!!и нe всeгда сoвпaдaе'г с 'text!

пoэтoNtУ есnи у вaс чтo.тo 11е пoлyчaется' иclloлъзyйТe утилиту Мs DUMPвIN

]ЛЯ вьIясtlеll1lя кo!п(рeтныx oбстoяTeЛЬcтв'

сфoрмиpoэаIrньIйлипкePoм файл еще вe пpигoден для запyскa' вeдъ зацицeя.

ная фyI'кция пoкa пe за lифpoвaнal чт06ЬI ee зaшифpoвaть, зaлyстим l{IЕW'

пеpеIсlroiпrilIся в нЕх.Рe'(ипl и зaIiyстиlll кolпeксTlrьпi пoиск маpкеPlioй стpo.

кll (Е7, K, P, N, с' ЕNтЕR). Boт oнal (pис' 8'1), тeлеpь oстаеTся ли1rrь зашифpoзaтъ

вс€' qTo Paслoлoя(eнo вrryтpи маpкеpoв кPNс. }lФкимaя Fз' мЬl пepехoдим в pe.

xим peдактирования' а зaтrм дaBи}4 F8 и зaдасll мaс](y ппlфpoваtlия (в даняoмсjlyчас oIIapaвIra 66h)' кaждоe пoсIleдуIoщee на,(aтие lra F8 зaшифpoвывaeт oдиIr' . J , l г ' l IеPеveIL iя кyPсoр пoте| 'с гy ' F9.oхI)a[Iяcт измeнeния нa дItскч ' Пoслe тoгo

как файл 6yдeт зaшифРoвaн' пoтРe6нoсть в маркеDaх oтпaдаетl !l пРи )кeпal]ии

Ilx ]tloжtlo зaтcpсТЬ 6ессмъlсЛcllIlъllt кoдoп{, ч'г06ьт зalцищeннaя процeдуpa пo.

l]elt''ле бPoсaлacЬ в Iлaзa.

Pис. a.1. u,]ифpoвка защитной npоцeдypы в illEw

1 lIpи !ппrcвкe исфляяeмъIх файлoв Мs ]ink aвтoмaтnчeски лoдстаыяm э1ol Мюs по }мoлча.!!ю, тaк что eсли l1ъl за6удeм eгo yлотP06!ть! п!чeтo yxасioгo пе случптся'

Page 173: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Boттепep6 }raшJ файJl готoB Iс вЬIпо.llпeнию' Зaпvстип{ eгo и'.' кoнсч]io )кe' oн oТ-к&.кет n Pa6оте, чTo ж| гIервьй 6JrIrп всеrдa IioмопI] 0со6еIr]10 если тeстo зап{eIra-no на саl{oмoдифI'IциPyюUlеllся кoде! пpизвaв Irа пoNroщь oT.laдчик, зllpaвьIйспrьIсл riдlзaссeм6neр' I1oпьITайтeсЬ onpсдeлиТьl чтo иI1еннo Bъl сделалlt нсIlPа-вилъно' Как гoвopIrтся:

ЕI]еrybad! fаIs thе fi|st ti1пe '(с) тhe маtrix

.ц06ившись yсILеха' зaIрузим пслoJrняeNIьIii фаiiл ts IDA PRo и пoсiloтРl,lм' каквЬi.ляlil,IТ зalпlфрoвa1rпaя фyнкllия, БPед сI,I вoй к06ьr'rы, .цa I,l .roлькo (ЛистиIг B'8).

лисгrrнr 8.a. в|rешний вид зашифpoваHнoй пpoцедyРЬlte i t :0040100сL0хt]0040l00сt € xL:0040]0i1

' tех l ,0040101ЗteхL 00401016

.texr:00401019,tехt |0040l01A' lч.хt 0040t01Аteхt]0040101Аteхt:0040]0lс

' teхt i0040101Е!eх| 004010lЕteх!:0040]021

loс 40100с:сmp еdх 0Е0з3д53вh

аnd ebр' [еs inj5 l r]аid еbp [edХ+зBlr]

]ос 40101А|

mоv bh' [сbх]

mоv dh' .s]502Dз130h

с0DЕ xRЕг: sub-40102Е+50vp

DАTA Хi]ЕЕ sub-40102Е+6vo

Ес1,сствellЛo, зaкля1Ьс,{aЛo,(сI'rloй llrифрollк}t J]егкo сl{ять (oпъIтl{ьIс хaкеpl,Iс,i{eJIаIoт Dl.o' Дaясе lIо вьrходя из IDA PRo _ IIoдрo6Iloсти см. в книге (o6paзмьll]Iлснпя IDA})| тaк чтo пе стo'tт пrРсoцeпивaть степeпь свoсй зaщищеппoс.ти, к тoMy,кс зaп{ита кoдoвoй сскЦиll от заIll,lси 6ьIлa пpидyi1аUa нe с,tучaйнo,Il rс oтклIoчсниe Разyмtlьlм дсйствисм пe ]laзoвеlUЬ,

АРI-фуrп(ция Viгtuа]Pгоtect пoзвoЛяeт Malrипyлupoвaть aтpи6утaми стрarlиц пoнallleмy yсмoтРению, с eс пoмощь1о мьI Nto)кeм [IPисвaивaть aтри6}"r йгiteаb]eToлЬкoтсп{ стpAIrицаNi' кoторъrepcально llухдaютсяв модификaции' и сразy,кeпoслe завeрпleflия рaсшl.Iфpoвки oтбирalъ егo o6PaTпo.o6нo^вЛeJrный вapиант фунIсции сr}Pt.it мo]lrет вьlllпядe1'ь' напpимеP, Tак (.J1ис.тинг8'9) '

листинr 8.9. испoлЬзoваниe viltuа|Prctесt для кpаткoвpемeннoго oт|(люЧениЯ зaцитъ|от записи на ЛoкaльноМ yчасгкe

сгурt- l t(| ' is ignеd сhаг *р' int с){

// orклюqaei зацитy 0т 3аписl1v]Г|uа]Pгot€сL(р с РАGЕ RЕАO|.lRlТЕ (DL']ORD*) &i)]

Page 174: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

175

МAтPицA] I{ )J I |оlIeriнiя pабo,lа с с:LNiоIloдt]фrl ш1Pv Io |цi irJсЯ rioдoi\1 rtсвoll]v oж па 6сз знiL] l] l,l

. l l к ( )дoв и l l стPyкц l t i i n I lP l I ] iЦ]Jпoв t l х к ( )д l I l )o| l : lЛ l tя , l l o l l yс1r l l l ' I IЬ l хот l I l J за iк}

] I l I1 .Ь I l : l l I l } I l lпyIo I iомrI l / l у х r la Y ( / t ' ' 1 ' O] lРе j le l с l l ]1oсr l l l |ус rь ]тo 6удс , |p .DD ЕAх ' ЕвХ l l sUB ЕАX ' Евх сoот l rс ]сTЛс| l l ( ) )

чТo кo l l l {Pс L o дr lя 1) ' гoГ0 l l сo6ход l lN() сЛеJ laт l , . l Пpо l rL r ' | rсс r ) l1 lп\ (П l1ь l l1 ] iW l l ,

l r сPe i i ; tя п ассом6 l rсP lп j i1 р t ' к l t l , l . сP l l I r J ] | l rЬ I Iх о l Ix ( , rLы (L rс | ]x6Ьпrа , | о l lP r l t l l ' (Ь .

Jю l{ вы6t lpс рс 'к l l l Ia . 16 l l J l l l : ]2 6| l | ) , j ( l l i L I r |ц| l ( ) ' д i )уГ (Л.дPyгx ко^l r Iv( l i ( ) l .Л l l -

l l i l 0тo/ l l l l l .0 l ( l { l l L l - | . | ]с | l | | l l l i i 6 l L i i Г ' :1 ; t \ Iс l l l l ]ю1oPо ' .o l l ( ) | l r l ( ' | , | ( t .TI loРt lП lчуЛ0сa:

00000000 03сз00000002 28с3

I ( сo)кдJIс l l t tю ' э l r с I Iсpи l i с | l 'Пn с [1 lЕW к l l1 l t сЦroqr| |чсс lo l | |с | i t l r .Л , / l I lЬ t l l l l р (Л. l l -

ЛoPсч l I rЛn, l l с I rоTop l ' | с } tз ассс l r6лсPr IьIх I r r l ст ] l vк| l | | i i сooTвсТству l ) ' Г | l0с l ( ' lЬ l ( j lN l

iv'ilUIIiI]lIьI]!l кoNla!t]Lа]vl, It]ЕW DЬI6IrPllсT сllмуro tl()1хЛ'куIt) |lз ]|llх' lnrl l|с в(|сultl

yдo6|Io 'пoскoJькy lц]п l lро lэкT l lPo l r^| l j l l l сaмоNf t r ] l l t ( lЛ1 juJ] )} l ( ) | l ( сL . ( )ся l (oд l r l l a \ l l ]P l l '

{ n Л и г . . l ' I U Д 6 l ' Р : ' г | , I l I i с 1 l ' ] ( , l | | . ' I l ! ' | ' , , ' ' 1 ' | ' ' i i r

Пoлpо6уI i тc ' ] la l lр j jУер, скоPNl ] l ' ГL ' l ] IЕW х0R ЕAх.66, O l l ( l l l еЛзмс l l l l ь l l l \ , lц )я11.

ствolr 6удcт асссм6"ш r1ювать с1r в Tpсх6xiiП iYIо IlaI Ix lrl Ilyl() кoNlal lдv 8з F0 66'хoTя

суlцествyIот l{ ]Qyl.rle вrР'Iaн'l.Ьl:

// paс]iФрoe ваex aун*цLll)iOГ (а = 0 а . с: а++) *p+: ̂ . t)r66i

' , / в0сстаяавливае l зaци lyv i r t !а lPnr teс t (р . с , PА0Е.R!ADONLY (D/ jспD*) & i )

.тIioNttutлиpoвав фai.il o6ьгпtъtпI o6pазolt' зalttrjфРyilTс сro llo lleто,.lпxс. oltll-

:аilljlrii gЬtlпe' п запyсTltтe пa въrпoлнснrrс, Бyлем падсятьсл' .r,lo tлr зaPa6oт.rст

00000000 8з|.06600000003r 356600000000000008: 8lг066000000

eах , 066 : . f. . а х , 000000066 : '."ах 0000c0065 ]. f

э'ЦекTрoппoe спpаtsoчнoс рyкоnoЛствo .1.ЕсII гiЕI-Р' nЫ,ro)кс]rx()е rla мнorxх

xaкеPсlrj1х сepвeРax, сPедlI Itp0чeii 6eсцertнoй llнtl)()I)NlаЦIrп пкjiючao,| в сe6я llarлядныс та6лицr'I oпкoДов' позвoJlяI{nпlle 6ьIсTpo OlЦrе]Lе"lLllтЬ' какиo Itашrlllllьiе

т.ol'aндьI llto,rшо rl()"пyчlттЪ из Да}lнoii lпIстрr-Itцl!l, l111жt] nрппeден оc фрaгмeliт(рис. 8.2)' Пом]ttем' кaк ].l]!] пoJ]ьзOailтr'ся,

гoрrlзo]rT iъньi!-"l ст(JЛ6еll сoдерnrит ju''lаДrпltii поц,баilT tlсPвOro 6ai'та оll{oдil

кoмаfiцьI, a стаPlxиii llaxодIr'гся ts всpTик:Lnьlloм, B точ]rс их лelreсeчcни'l tlaхo.

дится aссепr6лepнaя rпtстpукц'lя' сooтtscTс.твyIоrцая даннoItу l1аnlliнrloNlу кol]y,

ЕIaпpuмep' 40hoзначaст INс Ах/INс EАх (Ах в 16-рa3pяДrrol',аЕlй-в32тазpяt.нoм Pс]ки!Ie)' а 16h PUs].] ss. PассIiотРl l\I 6olсC сnordlьIii прп]\fер: 0зh' сoответ

Page 175: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

L76 rлава a. основЬ| cмol1одифиraции

cтвующий rv!а]Irrrl{rjoй l{oN'аrrдe ADD г16132 ' г/rт' здrсь г16/з2 o6oзнaчае,г ЛIo60й16/з2.PaзрядньIй pet.истр о6Це10 lrml{ач..ния' a r /'I J1ю6oi! !6/З2'Paзpяt\|1Ь|ilpегистP o0щеIo нa3rlачrнl1я иIlll ячeliкy llамяти' а/lPесyeмylo чeРсз этотрer'lстp(ПапРиNIeР' гebx])' Bьl6op копI{pетньlх pelrтс'грoв x сп0с1160в aД;есациll oсvlце'-ствлЯe |ся вU в,оPoNl6di j Ie oп|,oдi , lз] , ||JJЬ в i iцNloпr лоля |nod q lн,"oсгoящеiorrзтP.r Io,]е,1:Чoо, Reg/Opсоoe и R/ l4{|1| ' ( ,8,З ) , , I lЬ lРpлг i|||ру(\ .U|х дoвoлLr lo сЛo)п.н ь | v o 0 p " з o v ( p I I г , 8 ' 4 ) J а п о , Ц l o r ] r r o с r я м и o t ] p r I ц а i i ' с с ь к | p о Г Ь с r ] \ , о ч v с п o а .вouнoгo Pyкoьoдс-лс Iп lP, {I l ] l | ' |с| ion s"I Re|с lР| lсе)

" , ' ' л .puon'у l r"д"n i r lo

<Teхниltп и филoсoфип xакepск'lх aTаIt> КpIrсa Каспсpскrr, а тЬ.rI'е; _ к глaво<.Тeхникадrrзассeпr6rпrРoвa]Il1Я в уп'e'' l(стaTи' TЪе Sviп нaureл п lтспpавил Irлlo.Гиc l l J до||уЦ' nJ| , |х I|нoй nul l |5J,( , l Io,|||Ь| i i п.pt IP ' I l l I .oIo l l | r lх r lо}| . ' r , n, . , . 'n ' l "саитe www.Wаsm'ru,

\2^1

| ,юD I. /n ,116 l 116, t /n I aL, im8

х 5

Aх' im16

1х f

. /n,rB

l . /m' г16

| д N Dt /n , r \6

I INс

l (16, r /n

т N с

| в х

ADс ADс ADсrB, r /m 1116, . ln I aL , im8 lй ' im16 | ss

| АND sЕGАХ ' im16 i Еs

lц ' iml6 I 5s

INс т N с

t s r

xOR xoR хоR.8, ./m 1f]6, . /m I aL, im8

4хl INс I I N с INс

l D r

D х i 3 х s т | D т

, PoPд I . вOUND дPPL ш sE6 Fs]ш 5Еc Gs lцoрsjze шаddгs i2 lPяс.8'2. Фpaгментта6лицЬ опкoдoв из сnpавOчнoгo pyкoводсгвa тEсH HELP

допустим' ]\'ьt хoTlllli сJlo)кrlть Рerшсl,P ЕAх с рerистрoм EвX, псpRЬlii 6аIiт oпtro.дa кoNшrrды ADD l!ьl y)fll] oпрeдrлtlЛ]r - 0зh, Tсперьдслoзa PегисTpal{rr и сlloсo'6a;rrиадpeсaциr'r. Cмотрпм (Рис' B'4):,цля I tепoсредствeпrloii aдpeсацип двaстap.ших 6иTa втоpoгo 6aйТа oпlсoда дo-'тжrrьr 6ьтть paвпьr 11' Тpи следyющих 6иiа(кoдиPyюIllи е РегllстP.пpпeмник) в нaI1leмсЛvчaе pавrrъI000. чтo сooтвeтсTвv.ет pefистpy EAХ' Tpи младших 6иTа втopol.o 6aiiтa oпкollа G.oд"py.щ,. p".гriстр.истoч]trrк) рaвнr'] 01l' ч-ro сooTts€тствуст регистpy ЕАх. нya gссь 6aiiтце.nикollf paвeн сзh. Tаким ()6разом'ADD ЕAx' ЕBх ассe!6лиРустся в 03 сз' и I{IЕWпoдтвер,tдает эToI

Page 176: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

177

s|в

,l-____,4 L

6 5 6 5 з 2 0

Pис' a.з. oбoбценная стpуlс'урa мацrиHrroЙ к0Мандь

r8(/г)r16(.)|з2|h) ЕAx

MTI/O0000

оL

Есxlvlм1

DLDXЁDХMМ220 1 0

вLвХЕвхMMзз011 100

ЕвPMМ551 0 1

DнslЕsIMM6

1 1 о

внDIЕD]

7111

зqaчeниe ModFlМ.бaйта

lЕAх][ЕоХ]tЕoХ]IЕвx]Ht-.t,

IЕD|]

0000010100 1 11001 0 11 1 01 1 1

о00 l020з

0506

03

0сOD0Е

1 11 21 з

l 5l 6

l a1 9

1 вl c1D

2a2 1222324252627

о809

ов

OD0Е

з0з]э23зз4з5t6зT

з3з9

зcзoзЕ

dsр3lЕоХ]dsр3IЕoХ]disр8tEвх]disр6!.]I-.]disр8[ЕвPldisр8[Еs|]disр8IЕD|]

01 0о0оо10 1 00t11001011 1 0

42

4C4D

5о51525з54555657

5A59

61626з

656667

68

6в6C6D6Е

T1T27з

7576

7A79

?в7C7D7Е

dьрз2lЕАx]dьрз2IЕсх]disрз2[ЕDХ]dcрз2[ЕвхIdьpз2[..]t..]dispз2[ЕвPId]spз2[ЕsIldsрз2[ЕDl l

1 о 000оо101о011'100. 1 0 11 1 0

303 1a2вз

858687

3389

8ввс8D8Е

9091929з949596

9899

9C909Е

вD8Е

в0

в2взв4в5в6в7

в8в9вАвввcвDвЕ

ЕФ0c}(сUMN!1Е0'D)0DUMM2ЕФ0вювUмМз

ЕsvsvD|.]/Mм6ADi/0l/в|.]/мM7

0о00010't00 l l]оо101l l 0l l l

с0с,1c2сз

c7

сaс9

овcосDсЕ

DOD 1D2

D5D6D7

D8D9OADвDсDDDЕ

Е0

е2Ез

Е6Е7

Е3Е9

ЕвЕc

ЕЕ

Pис. 8.4. вoзMoхныe знaчeния пoля lчod R/Nl

Page 177: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

t7a глава 8. o.нoвь| самоl4oдификации

пPoБлЕМЬl oБHoBлЕния кoдAчЕPEз иHтЕPHEт

Tеxника сaмojшoдифпкац11и 'Iсс1lo связaпa с зaдач€ri aвтo}1атическoгo o6]Ioвnc.ния кoДа lrеP€з иrlтеpltет, этo oчепь сЛo){наЯ зaдaчa' Tpс6Yюiцая o6шиpньrхзнartиit и IrIDкelIeрнoro мьlпJ'{еliия' вoтнопo.riнЬlй 11ерrчснь пol1вoll]1шхкallllеiJ, с кo-тopьI]t1Il наNI прlJ]lется сToJ]к]]vться: кa]( всTрo rlть Лвo],rr]]lъпi irо]1в rlсltoJI]]яепfъrйr!ай.л; кaк oпoвeсt.ить все экзeilxtJ1яPь] yдалепIlllii rtpoгPaммъl o фашe o6rioвЛe.ния;l €I( защrIтиться oт l1olЦсilьньIх o6lloвЛсний ? По хоPoшсnjv этa 'ГеN! a тPс6v.ет oтдeJьrroli rrниги' зДссь:x€ llьI ]!Io)кеN1л}Ir]lь оvеpтпть прo6лемy'Haчнеlr с тoго' чтo кoнЦспциIr lf()liуЛЬнoro !I пpoцедypI{oгo прol.раI1пIиPoваIrия(6сз кoтopьIх ссtYIчас tlикyдa) лyждаются в опрс]1с.J]сiJIlь]x Nlсхаtlltзп{aх Iе)кIIр0-цедyPtloгo взaип{oдеiiствпя. 1Io пIенЬпIeii д'сРс oдна пPоцсдуpа дoл'(Ilа vrllrтЬвьIзывaтЪ /lРуt}ю, Boт, llaпPиl\lсp| кЛaссLlllескlrii rvсToд вЬlroва фylllrц}lii. кoTo.pьIЛ леЛаc1. l(o]l неII€PeNleщlс[lr't]il:

{ргrn| l ( 'k]ss a 'аy mу dоn[сy\n ') ]

lчто здeсЬ пcпрaЛиJlьI lo? A вoг ч1,() l Фуl lк!ия рr jnt f l laходnTся xI lo ( l )у! lкЦr lиmy-funс' и ec a/lрcс IlallсPеll ]lсl'lзвcс,l.сl|. B ()6ьIЧlюii '(IiЗпп )Ty 3A.,tilчу Рсll|аel,,Д,'tl{.кeрl otillакo мьI вeдь II€ собиpасivс' вс].Pа!t8aI' cгo Л 06I]ов.llяс]vlv!о lЧ)о].PаNlму'вepIIo? Поэтоi{y llео6ходlr]!ю Paзра6oTаTЬ со6с-гвсllIlьlii iltсхaIlltзм rI]!Iпoртa/эксIloРTа вссх I leo6хolluNI',Iх (l)У l | к| l}| ii ' ]lс п угай'lcс Ь I эTo паrv Iioг0 J|сгч o заll рогрaiv.мl,lpoватъ| чeм ].lрoи3lIсс-,rl'

в прoстейшсli слyЧаe 6у/(ст lLостaToч I Il ) лepсдirТЬ нlп]еii (l]упlrцI,lи y]ФзaTсЛu нaвсr нсo6хoДимЬIс сй фvпкllи't каItаPIумerlTьI' Tol)]lа oIrа пe 6vдoт lIP]tвязarla ]( свo.еil1у ]tlссгol1oлoхe]llI]o в памятlJ и с].aнст llojlпoстЬIo llсремelllасмl (xlIстингB,10)'Глo6aльньlе lт с'га,r.ичсскl'lс перe]!lеllllшс и коflстаlIT1]riс стрoки lIсlloJIьзoватьзa.пpeщается (lсомпи-!]я,l'op Pаз]!Iel]lас'r ]rх в дl]vl.oii (скцl!ll), Tаклtо trсo6хoдr,rпlоу6еД!TЬс'I в том, ч,t.o кoi]rlпJlятоР в ltoPядI.{r прoяIl'(erllя со6ствellnoii xнrtr(lla-тивьI ]Iе впсIiдюриJI в кoдникaкой oтсе6ятиI{ъl нaпoд( )6rlс вьrзовa 4)yllкциii ' кон.тролиpуIoщIrх пеPепoлlIенио гpаtlиIlс,|скa, Bпpotlе]!{l в 6оJIьrtrппсTвe сJlу чacв тal , l я и | l и | l и а г | | в ] J P г к п о o l | | , , o \ l J | | ] ц o l ' г p o , r и , l ' | . l | . , i . l | | | | , | (в nрилаIаемoji к кoмпплятol]у lloкvl{.нтациrt '

листинr 8.10. вызoв фiнкций по yкаэaтeлямl п€редаHным Чepeз aрryмeHт,о6eспeчивает коду перeМeщaeмостЬ

пy l !nс(vо]d *f1, yOid *f2 ' vO]d * i3 ' vоrd *f4 vOrd *|5,)

{int ( сdeс] *f .1)(]n| а):

f - ! = ( int ( cdес]*)(rnt)) f] :

f -](0х666):)

Page 178: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

nDоблемы o6нoвлeния кoда чepез интepнeт 779

oткoмпилиPoвав полyчеtlt{ый фaйл' мьl i1олЯrньl скo!Jl{шoвa,r'ь егo в З2.Paзpяil.

I]ый 6иirаPник. д:r.цeкo llе каrкдьlij 'Ц llкep спtlсrl6ен на такoс' rr заuaстytо двoпv-яыйкoД вьIдиpается ltз испo.nпяе\{oro файJIa ЛroбьЬJ пoдрyчньIпI нЕх.Pсдaктo

]o\t (пaпрIrмep, тсм хe lIIЕW'oll),

oK, мьI имеем готoв],rii }1o/.lулЬ o6нoвЛснlt't, и:rtеe:"r o6новляeмуro rlpoгpаt"tltу.

oстаеTся Toлькo дo6aBrtIЬ пepвoе ко вТоPollv. ]loскoЛьку Wiпdо\1'S 6xoкиpует

зaпtlсь вo всe испoЛня]olJlиеся в да11tlьlll 11() Nle]tт фаilльi' 06]rовиTьсаIi сe6яфaй,.l]iе}lo)кет, и эту oпepаI(иrо пРихoдится вьtпo,tflять в нсскoЛьlr0 сTадllii' Crlачалai lспоЛнЯe}1ъxl файЛ (услoвнo о6oзtrачe tl l t ьrй паl!rl каx A) псpсимe1ю вьIRает с€6Я

t фаl.tЛ B (пeРeЛl'erroванfllo залylllеllllЪrx фаiiJloв willdo\l.s ]!e пienlaет)' заТсl1

!aйЛ B сoзДaет свolo кoпltlo пo/.l им€неУ A, ]tollrtсьlвасT N,oЛ},Jrъ о6нoвлснtrя

. сгo l{oнeц кaк oвeP.nей (6L)Лrс 0llьгГIlьIе хaкr!ы r oГyТ сl{oPpск,|llрoвать зп1rlr-

illе пoЛ' I|тLаgesize)' пос,пс чсгo 3авеPпIаrт сuоо вьIIlоЛнснnс' 1lЧх]jlnllaя бРазr1ьI

]lpавлeпIrя фailЛу ^.' удаЛяlolцei\ц, nРeilelltlъU.i фaiiJl ts 0 дIlскa' ])аiJ:r'меетсЯ, этo

lie eдI'ltlс'гBеIJIJo вoз]\1oл{]l?],t схeN|1l x' кстitтlI гl]вoPя' llа.]tскo 1tс сilIr^я .lJyчnlaя lIззсех' lIo на псpвьIх ltopах сoii/l €т п oпa,

Бo. l lеc ar(- l .уaj ,ьI lЬIм пPсдс1aвn,с ' ] . (L l l lo l iРoс PaспPoстPaUсlIJ lя 06l l ( )] l J rc l l i i пoI Irrтeрlrетy' Hо пolспrу 6ьl lQ(х]'Г() ilс вЬiю1а,'lьIIJать ().,()!,rlсl|||Я |l.t-tluк)ii.|o сср.зеP? Пyсть удa. lсп l lЬ lс l |Р! lлo)t{o lJ l l , i ( l lа l Iр l lп jсP ' lc )(с ЧoPв, ' ) ||cpIIoдjI .]сскП l Io-.еLцаюT сl.o' l,Ьi'l,яl.иI]2lя сIJс)качL)к,,' 1,[у ll схоJIЬI() 1ar(oii ссР|]еl) |lросl",lL(х:1ljусr?: ' , 1 и o l l . ' о p у \ | | . | п ^ J L | | ' l , , l l ' , к U ] \ , i , v I l ' | ' ' | ' : , ' \ | | | n , , , : j | ' , | | | | х ' , ' ' | ' , ' | ' i i , ' ' | , ' 1 | | ' ", ' l l ' ' ) , c I l I l I ' I й : | l \ | I , ' t l I l , | 1 ' ' , t 1 ' , } i ' t l I - ' , t . ' ' t \ ' 1 ' ' \ | ' ' ' | 1 ' * ' | , ' | | . | ' , ' | . .

lIpсдeЛсппоll схсlllс.

] ] Poстeй |пt lй ;UIгoPI ггм ]rьI I]Ulдl rГ 1.ак: l lус | ь кir,9u'l i] чоPllЬ сoхpal Uto'Г в свoсrЧ | tj,,li)

]P . ; l J lpеса зaPaя(a .N lЬtх ] ! ] i l l | l l I l l ' , l .oD ' tа <]Po/ l I гГсJ Ix ' 6уду ' | . l r l l rTЬ сBo||х <rLе]c i i ' '

ll <]Дети' пoмIrlTь <poди'j.сr|сi'l'' ]]|IJ|oть;lo пос;rc/(ногo кo:rсlr.r, lЗrЦrо.rсх, o6рат.

нoс у - r ! rР)кде l lиe ] iевер l lо ' </цсду luк l l> l l (6 lбу l I |ки ' 3 l ]а l rГ J | , ' Iпn св( ) ] Iх l I с l lос .

pедсTвeIпIьlх <ДeтсLI'' rro ]lс rtlloюТ IlIll.аl()l.о пpс'lсl.авЛсIIIlЯ о звuу'ltt\>l ссJ'',

Ioxсчlю' <впуки' явl{ьгrr o6pазolI rrc упlrroвяl.с IlItNil] сое,.lllllсIlIlс Л ]lс (()06.

]цат свor.I адрссa.,, ГJlавrIос - l]ас(rlilт:i]Ь rtнтLIlсIlвносгЬ o6l1!нa r1ItllхDrЧаlllIеii

тaк, vтo6ьr нc сoжpar.ь вeсь сетепоiI Tpaфlп{, Torдa, о6]lовuв oдlloгo чеl)пя' уъr

с}lожем дoстучaтьс'I lI до вс.х ос,|aлЬlIьlх' пРl1llем npoт'IпостoяrЬ ЭToItу 6\rДеГ

cчeнь и oченЬlJспРoсто- РасrlPсдe'llе]lпilя с'lстепlа o6повлснlпi нс пlrсст сдrrrюl.o

кооpдинaциoннoгo цсll1pall'.цa'{e 6yДylll] yнrlчтo}кснноil нa 99,999%' с()хРаllя.

ет свoю pa6отoспoсo6нoстЬ,

Прaвда, для 6оPЪ6ь1 с чrPn,lлll мo,t{e,l 6ьIть 3aпvlllrпо о6повJiенио камикaдзс'автolllатически yнllчТOltal0цee всeх чePвrri' rrотoрьIс vспe,.iп его заrлотlть, Ilo-этoмy пPoгpсссntsнo nасIрo"ё]IIlъle nlJP},сoпlrсатrл1l а]tТивнo исllо'цЬзуt(),| мeхe"l lизI'ы цифPовoй подilисtl ]1 ]]eсltNil'еTpIlчIlьlе крllптoL.тгoрtlтllЬl, ЕсjIи nс]r! раз.pа6aтъIвать свori сo6сTвeппьlii двrr PGP (бJlaГo eе

}iсхoдньIe TeксTьI открьIтьI.),

Гlавнoe _ иMeTь идеи и уNIетЬ деpn(ать I{оIfIl]JlЯтoP с оTIa'{чIнoIl r pУках' Bсe

oстanьнoe _ вoIIPoс вpeмепJl,

Page 179: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чeл0в€к с otладчикoм a Dvках

глAс нAPoдA

..'CаltoioОuфttцupgloщzlliся кaё ooзлoэюен moлъкo на lсo.цnьюпеp.|х 4)oн-Itе|й'цaнoвсКo,й apm|neкпуpьl (o1нu u me жe яllеЙtсu nамяmu в pазлiuнoeвpеj||'] lvoцm nryа1onoваmься u кalc кoО, u lcaк Оaнные):

'.npеОcrnавumеlu пpсlцеcсopoв n'\е]|е|1u Pеntium o aeйсmвumельнaсm1l no-сmpoенъL no zаpваpdс1co.i аpхumекnцpe (кoa u aанные o6pа6атnьLвaюmсяpаз-dеJtь'1ol, а фotl-J1еiLцанo|]с^uю oнu пo]lbко э'ч1upglоn' noJmoмg LаJao.мo-o u ф u цu p ! ющu' с я кod pвкo с н u'( а P m L1( n po lnвoaum е n ь]1 o. n ь :.''ф анаmы А сrlэм6 леp а у вep яю m, umo Аc c е м6 лep n o a a еpэ|с uв а е m c 0,чo Jro au -фuцup!'oшuil.я цod, эпо ]lPвPpl|o! У АrсеЛ6лopo неп нuкакuх rpеoгrnа o вpdbamы с са'rrouo,Juфuцupующttмcя кaDoл' кpaмe dl|pPкпuвь| DB' х(1I Iа1{ая, с naзвaчнuя c1.а3аmъ, <noaaеpэlo|a' еcmь u в Cu|

Page 180: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.ЛABA 9

H ̂ v|т v| и yH и чтo)l(итЬ,или пoсoБиE пo БoPЬБEс BиPyсAMи и тPoянAlt4и

' l . ] ) . ]д l l l lUо l l r lo 'дJ Iя l lo l | ск . l ILОMпЬl ( ' l . cр| l l ) i i ] t i l р l l : !ь | l к . | | ( ) ' l |Ь i ] \ ' x ' I сяa l ITI lв l rРусIn 'оn-

r i t ln , рc i}y ' r l ь ' | ' аT l l х дс '1( ] ' l IЬпост l l l I c l сс l ) l l L o rЦ] l l | ]дЬr I ] i l с r o) i l l дa l Iия l I l i l I IoI r l c изl l IPvсo|] Jачaс1yЮ осra lO 'ГсЯ ] l сPаспoзп i t I l l lЬ t i l l ] t j осO6c l l I lo ссJ lи 0 l l l l I ] : lп ] lL :а l i ь I\lссТnЫIt хаItсpo]\{ It llo a/'tсlrтоB lllI Г}'вlIl)v(J|()ii jIIIдyс1P11ll сЛ{с Ilс дollIItt' к счас.:ьlot B 6oJlЬlLIl]l1сTl]с с"!учасв ]aPaзa o,кt]16ЬПr, обllаpvя{снa BP],чIlYю' rl сеii']llс

в ходc сBoеi1эвonюцlnl oIl0PацIlollныe с]lс,Ге]\'ЬlrcмсiiОва Windоt\.s PllзросjlIIськ) |lcllеPoЯTllьlх I)азмсро3l пРrврaг'IвIIlЛсl, ts iloдсJlь llaстояlцего Ioсy/lарствa.llllllиаTloPс, кo.lllчествo фаiiлов' хlrаlt,lщихс]Я Лoll каrlотotl )кe0т].oIo /ll]сl(а,вlIо"lIнс сoпoстaвпI!о с чЛсJ.Iel tl Iос1.llo 11ассЛl]}Л.lЯ l(ако ii rll'бyДЬ eвроllсjiскoi] сTР.l'Iiы llaпoдoбr]е швсi'iцаPI1lr и.IIii ПоJrьпIll, сyпleсTвуl{I| согlnr Tьlсяч ]\fес'гj прlr'ГoдIlьlхllJ1я l]нeдрснrtя вrlpуса' lt в этихусI1oвIi'х смy lluчeго пе сToI'т зa1.еpятъ-.я таltl чтo нI]кaкoil сьInIllI( eго пe llaiiдеТ,

lInкто не в сoстoяпr11l пРoallil.{trзиpoваTь всс 1l\]еющиеся в elo расllop,жel{lll]IiспoJrняeIJЪ]е фaiiJъJ, l1].lllаNl чес].ис 6]l6л],loтеILrI' oсх-юмLloxенТьl и Т, 'r,, ]lo.' o x \ г а D а н - l | г o 0 . н l о о i ] | ' | \ , , . , l 1 L J , | U l j l с , , l , ' { o , v e I o l 4 \ | ] r ] , , l , , , 1 ' . | | J ' , , : , .Ilевo3мoжllo, 0с06еннс) tla par]нr,lх с,Г.ulllях !ToP,nснuя' кoгдa заPа)кепo пe6oJ.Iь.шI,о l.oЛичeство фаIiлов, oдпeко сгol'lТ 9upусy пopази.Гь сисTeNlIIьIlli файЛ иJll.tсl!еЦиfurЬнo пoд6PoшенIrvю дPo3офr.]ny (a oн Ра}1о l]jтl' позДпо сllелаeт эl.o)' какotr ТvТ 1ке sъlдаст се6я с rо"!овoril с ]IepaзмнoжaющLlпf l'ся тpo''l]lски[lи пРorPаrг

Page 181: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

142 r лава 9 . t sd , , и и r rи ! o ! и l ь , nлy l о l о6ие гo бooь6е ( Bиpv .ами i тDOcчаv /

мамr1дeлa 06сTlrЯт нa]\!пo1.о слo)кпее, засeв[Illri в yкpoмноlI\IесTe Tpoян l'o]кeTпpятаться гoДaNIIjl IrIiчеnl не вьrдaва-s свoero lrP]IсvтствrlЯ] а зате]\l в oдrJн <iпре.].Pасньп'r> Niollснт нeoxидajillo прoснyться и сдсrraть tjз вuнчесТepа витreгpeт,э.t,o не озrвчаст, что pyЧнorj пolrс].6ссгIlrлeЗен, ПPостo нс стolrт пеРсoцerII,IваT'сr.o вoзNIoжltoстЛ.''

Eсли BдPyг oткPЬlлся люк...впрусьI ll тРoяl lсl(Лс пРoгl)ампrьI чаillе gсспr пIl|llуIсЯ нaчиllающIrlIlI IlpоlраrvilJи-стаt1]]! I'е т,iljеloщrlliIll a/к]t{вaтнoг() ollЬlта пРoек1.lrpo]ralllя rI прnкTItЧссI{,I Rс€гдitдo]tус]rаIoпll1lrtt 6ольIIюe кoлl{чeсTяо q)aтarrЬrILlх lrш116()к. <Б.riaгo]LаI]Я' этоruy са-lIoчувсTвие заpi)ксннoii фlсTсlllь] резкo ухyrllIIаcI(я. пояrr"цяются со()6щснrIя оItPитичсских оп|lt6к:rх в сaNlЬlх нео'(идаl1llьIх ]!]сс'lахl поЛllостьlo UЛl{ чaсTЛчIlонaPyJllaстся Рa6оToсIIoсо6IJ()стЬ нскoтоРl,Iх nрIlno'(с]]llii (рlк]' 9,1), вРervя 3.irpyзкU oпrРaцl{ollIlоП сиФс}lьI3IIачl1тс.!ъпO tsозpaста€T' lIс yЛaс,|ся вЬrпonlUr,гь 11Рс)вcPкy r:tUс](а Л/l,|JlLl сtt) деq)Р1lГr!сптaI(|r|o' l1poизвl)Лl'l1.сЛьJl()с1ь ]lil,]аеТ'.'Jiстrстпсttlto, всс cт;r llр'IзlIaкп 11oГут |]Ьl3ы!a||n]'I rllloЛп0 jjo]'i!tъllьl]\1' lltl llскОl)Dсктllo устalIoIl.]lсlшЬlм ]Tll'цo)I(сп|.|с}J I.IJl]I nilпаРaIllьIIJ]l llс'I'спPnI}|loстЯnj, I]IcстoIU.в ка)vк)м н(:TРсЧIIоN| 6аl! IJ||,цcTЬ Bl,Фусa Bl|Русо(ln)6rl,] _ ()l,ilсlla' llсlцЬl]lдM]|()t.o rюлсе ollilсllая, чсrv ,]IlPусЬ|. Ollа сll(с JJ]1коГo I Ilj ,цol]оlll,l.]Jil iL() дo6рil,

Pис.9.1. так выглядит сoобщeнЙe o кpитиЧeской 0ши6ке вWrrdоWs 2OOO веDный сп!тникнeKоppeктно написaHных пpoгpамм, тpoянских кo|eй и виDvсoв

HoBЬlЕ пPoцEссЬlTpoянсttие пpol.pамIvrьl' oq)oPllrtеtпlьIе в вIrдe aвтонorIногo испoлпяепr oгo фafi-пaIl пll]tа]t IJе скpьIваюrlllle свoсгo flрr'сyтствIiя в систспIе (а 6o.riьI]lпllсТвo !iз II,пIrrreпнo таI( п ус'ГРoено). ;tеr.ко о6паружпвaютс' д]1спeтчеPoм заДaч илIr лIо60й,IPуr.ой yтиЛnToii aпаЛогичноГo пaз]lаче]lия' с]]oсo6поii oтo6рa'(aTl сппсoк ак.1'ивньтх пpoцeссoв (напPtllteр, !.АR'оrц' xPllчеl' FAIi даrкe 6сl'rсе пpeдnоvтпте'лен, пoскolьi.y ItoЯвляется всс 6о,.rьшe тpoянцeв, yда-.lяtoшrrх сс6я из дпспет.re.Pа заl(ач).

ЗЛoвреД}iьтй пPoцесс ]rЛешнс нIfie}1 l1с oтлr ]aется oт вссх oстаЛь]I!Iх пPоliес.сoв, и нтo6ъl pаэo6лavить еr.o' тpe6yется знaть всс пPоцeссL.l своеl:i с uстоNIьl n .l l1.цo. B чaспroсTи, све'tеyстаIroвлeнIlая Wiпdows 2000/ХIl сoздае'Г сЛeдyющLlе прo.

Page 182: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

18з

] ессы: intеrnat'eХe (PyсификаToр)' smss.exe (сеРBер l\fепe/],кepa qеаlrсo! ) ' сsгss'eхe

"pвPP пoдсис ' PУ ы \^ inз2 ' , W nIo9on'eхе l || ' J ,г i r ' ] r|э г(] || .тг: lUy. .] | r . ||с , l . \ |e || l Pевoй DDЕ.аrеtrт), serviсes 'exe (диспстчср уllPаtsЛсни' (еpвисaмr1), Isаss' еХe ( сeр-

iер 3aщитнoй пollсис'гeмьi), svсhost'exe (конте'iнсР д.liя сJiy}к6 и ссPзисO!)';poIsveхe (Дr.Iспeтчeр oчеpeди пeчaти)' rеg5vс'ехe (Pегис'гpaтор)' mstаsk'exe (IrJIa.:ijlpoвщиIt)' taskпrgneхe (ДиспеTчеР зiцaч)' еxporе[eхe (пРoвoДlrпк).

-l p ш устaнoвкe нo!ьIх ]tpltJto)]сel lиi.i r' дpiliiвеpов этот сiтrlсoк }Jоnrет 6ьшЬ зriач'I-,еlьнo пoпoлнен, Диспс-l.чсp задач l1е i]гобpая(ает llоЛ]iогo пvти к пCполlIяеltoчу фaйлу лPoцсссa' заставJtяя lIaс].eРяTЬся l] дoГаДкax, кaкоп{у lipиложеtlllю or]:ipI]!lад.JreжиT' пoflpo6yйтe пoIiскaть ф:ll:lл по егo Л]\{€пи rlaДriсl(е пл!I запyстnтe.AR и, пoдогпав кypсoр к сoотuетстRyloll{еllv iтPoцeссy в спIJсitе' tlа,ItмIlто Езl;l тolдa ЕARсooбЩиT пo/пIьlй rlуть к пeiliy' q)аiJ,rьr' lJaхо,]япIlrеся в кaта".lоге..lе-:?-1ьIlo устанoвЛеннol.0 ItРиЛort(еllия' cкорее всeго' эTo\fy сil 1olJy пРrlro'(еlIпl(l;l пPrlнаl!lr)1сат, ФайJr!]l нaхoд'tщllсся в сllсTе]\llIоNl кaт:Lчоl.с \\rindows' N{oIyт пPll]iirдлеяraть lroму y.oДI{o, rlтoбы !tз6с)кать ltу,|ilнl]Цl't| lo3ьIlttTс сс6с за lц)аl]I'Jlo:iaждьlй Рa.з пPи yстаtloвl{о нoвoro пРилo)ксl1rlЯ o6paца1ь внимaflис xa rlроЦсс'.ьI' IroтoPoe oно дo6aвлЯeт (Jп{стllнI9,1)'

Hеo}кидaltlroе пoЯBлсllие пoвoгo пPоцсссаl !lс (]]'IзirяяоIo Illl с oдttltll ll! ус,|n-:JoвЛснllьlх llaми прrlЛo}I{сltиil,.. Лaдс'o!Ьlii lIpl,l3llilк LPoЯп{]l(oLo вtlсдPсll].l,]'скopt ' ' iитссвязaннь1йсниl l i ' Iс l loЛl l J lс[1ЬI i iфir i i .ЦсвФк. i iвсPс lI ' t t j i i ] l l с f ()J lk)6I!N{()iо аlIтивиpyса илIl llсpсдайтс oГo (!,сItltil.lисT^N| ll.пя ,tс0,с/lоваlil,l,l.

листииг9.1. пeрrч€нь апивных пpoцессов, oтoбраl(аемЬй }тилитой t|ist. вхoдяцейв сoсrав naкeта slppolс тoo|s, бeслЛатlro распрoстра|lяeмoгoФиpмой М]сюsoft

: is teл (8): l1ss'ЕxЕ (Зlб)

сsRss'ЕхЕ (з44)l,l1NL0G0N,ЕхЕ (364) Netl]DЕ А!rеit

sЕRV]сЕs'ЁхЕ (з92)svсh0st ,eхс (548)svсhost ,e ie (580)5рoolsv,ехe (624)smс € xе (672) syqate P € гsоnal F]Гe!а l luрs €xе (696)vпlaгe-аuthd eх (i12)Vпrnаt,eхe (748)Vmnetdhсp схe ( 760)

LsАss Ехt (404):iр]oГeг,ехe (972) P.оg.am шanаgeГ

daelrron еХe (1092) V]Гtual DAЕi4ON |]апdL:Jeг Vз'41inteгnаt,e ie (1100)сl1D ЕХЕ (1152) OбрaбOтЧик яO[dнд li]п]Oщ NItаskmqГ,eх€ (1168) IlиспеrЧер 3аЛач ш].dо!s

лpaДaлxеBие nJ

Page 183: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

184 rлава 9. найти и yничтoжитЬ, или пoсo6иe пo 6oрь6e с виpyсами итpoянами

л|1с1'|rr 9' L (npoДoлкение)

rrrsimi,ехe (1i08) Bхoдящиe - Outlook ЕхDгеssFаг.ехe (1196) t]1st t s .D >u ' lаг

сМD.ЕxЕ (L268)t l i s t 'еxе (1280)

srdvо]32.ехe (1252) 0ошийеmu]е.eхe (820) (| .] :0 '9 D:1 '6) ef lu le v0,З0с

liINl.l0пD,ЕXЕ (l2l2) г€лоve'doс I1iсгosoft l,lord

пoтoки и пAМятЬв noслeднee вpeмя виPyсoIIисaTeли всe 6o?tьlЦе Tягoтeю'г к фyнкциям сreаte.Rerтoteтhreаd и llrl teP.oсessl.{anoгуl пoзвoляющим внeдpятьс,I в aДpесньre пpoстрaп-стIla у)кe заflyщен1rых npoцeссoв' этo знaчитeлl,нo yслo,Iо{яет вьlявЛeппe 3apa3ьI'и пpихoдится пpи6eгатъ к стaРьIм дeдoвскиItI средстlам' активtlo испoльзoвав.шимся eщe Bo вpeмеIla Мs.Dos, кolДa систeмншe oпepaтoрьr следиlIи заl(oличсствoм св06oдfloй oперaтивнoй пa[яти' сi(pyпулeзнoзаписывaя ]Io(aзaния

}"I.иJIиTьI mem ru 6yмaжку' и xoтя пpoсryЦtry леm 6ьIл0 лerlФ 06ман}ть' нa этoбьIли сtloсoбtьI лltпrь I'eмнoгиe извиpyсoв'

с тeх вpeMeн мнoгoe измeнилoсь. oпepaциol{l{ыe системьl ста,tи слФкtlee, IIoBмeстес тем и yм]{ee' ItoнтPoлЬ зa cистeмllыми PесyPсaми з}.tачитeЛьпo у)кeстo.чился, и прямoй o6мaн стaл пPактичeски !lевo3мo)кilым. floждaв!ltlсь oкollча.t{ия ззтрyзl(Il сис лl'мЬl' зaпyстите диспeтчеn задaч (для этoгo дoстaтoчнo Il;lхаtЬALт+стRL+DЕL) и зaпoмнитe (aщЛ{шeзапишитe) Iсoличествoдeскpип'гopoв' про.

цессoв' lloтol(oв и o6ъeм выдeлеIlнoй пaмяти. при aпсдPellии всякoЙ aвтo['aтп.чеcки зaгрy)кающсйся пPoгpаммы aти пol€зaния lleпз6e'сIсl измeпятсяl

Pис' 9.2. диспетчep задaч _ пpaвнyчатый nЛeмянник yгилить mеm вpeмен l4s.Dos

Page 184: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

(oнтрoль цe]oонoс.и файлoв

l]зме]]е}tllc rtoличeствa fioтoков в прoЦессe рa6oтъl с систeмoй . этo впo-1нсiJop]\1а.1ьнoе явлe]Iие ]1 сa}lo пo сeбe еще нri o чeм нс loвopит, Boт пpостoй экс, р , ' r ' ' ' 1 , 3 i л J , с т l | | . Б r ] n . l l o т , Д и ' п e - ' | P р J а Д a Ч . o o 6 | l | i 1 . , l Ч , о q l v , \ ' " e | . q

вссIo J]lJluъ oдин пoтоlt' тaк? А т€перъ oткporiтe диaлoг сoхpанить как.''' ],i кo-,lllчeстBo lloтoкоIl тут Яtс lloпo.]iзeт ввepх' oдиII пз нriх прlJ I IaдJlсжпт лРaйв еpт.rnу](oвo11 каPты, озвучl.lвающему систсмньIе со6ьlт]ш, oДIrп _ нспoсРедствсннo.а Ill]Ily д]rа.! oгJt. oстa'llь}iьIе (eсJrи oIrи eсть) прoч11м сисTlrNlньINl ]1t]аiiвсPамl!Ьlllo'llняюu{lr l свoй кoд a itоIlтекстe данIloгo Ilpoцессa (prlс, 9,2)'

КoHтPoлЬ цEлoстHoсти ФAЙлoBOlIсPallпollrtЬlс систeмьl Windows 2000/ХP oснaЛlепЬl сп€lIIlа-чь]lьIпrI.I сpе/lс,г!а.\1ll tlPoв€ркll llеJloсl.нoсти испo'ltllясп{ьIх фаjiJloв' aвтoNlаТич€скl] ]]ьl]loЛtlяIo]llilNlll(я llPll RсякоN' оr]Pащснии к пиill l,I пPи rlеo6хoд]1rloс'ГIt goсстаIlaвJlurаIo.] l l J 'N l l l L i ск iDксnпъI i i фа i iЛ в } lop i taльI lый ! j ]д , Пo у] \ ' с l " l ]Ча l lи Io РсзсPвI lь Iе к( ) I |и l ]\l)rl|я1.ся Il I.a.г&1ol.aх WINNт\systemЗ2\D]|сасhe и WINNт\sеrViсеРасkЕi]es'\' ]]]jPусa oс'|Ь шr.t пу,ти:JlIt6o oткЛIoч|{TЬ sЕс (зa эrc оIясчaсT сJlсr:(уlolцrIii кjIк)Ч:tt!. I Pil: H к ЕY_LoсAL-|v]AсH IN Е\s0 FТWARЕ\м iсrosoft\Wind оWs NТ\сu rrentversio n \..]inIogоn\sFсDisаb|e) ' .JI иб0 сlшl !oвP€i{el пlo пopaзитЬ и сaм зapa)(aсNll' 'i rbaiiJl' l l Ilсс

l) Рс.}ср3llьlс кo||IJlil TаIt ч'].о llaдc)сlioс,гь aвтомaтиЧсскOii пpoвepl{л t]ссЬмit со.'IllIi'Гс,lьIia !l Jlучlllс вссгo запускtlть sl.с вPYчllylo с кЛюtloм /PlJRGEсAсHЕ, т()UlаllIr (Ilпсr.lп 4)аiiЛoвый кэцl !t 3аЦ)c6yст l(!'сTр!,16Ьютивllьlii ltомlIaкт /lЛсIr /UUlro p.Ito}lс,фvltlu{шj IloсJlс ч0l.o llьIIloЛliит сI(аrlI'ЦоваIlис сl]стeмIiых фaiiЛo|l Itll])сд\]с'Г lIoисItil tlосоoTвстств й, ЕсJIи сo l]реNrсIl llсРuоii иllста-ЦJяЦlи lJ сllСrс'

' ]\' noбая.lЯJlllсь 'l.е иJ!' иflыe IIaксTьI 06floв'ler|иii, y'гиЛиl.l sFC лl16() в()116lllсllii'хc]с,l llсPссTpaпIlа1Ь (])aiiЛoвI,lii кэш, Лnбo ]rыl(aсT 6.)лI'пloc кoJIlIчeсTB()'1],l(l|Ьlх сPaбaтъlI]аuиi.i, вoсстaltав'lttlв:ш o6lloв',lеllIiьiс ф;li'iЛы D их перBоз'rаllньrii

!ll,1, !r|O ']jllo Ilс вхoд'l'].в нaши плaill'. Пoэтoму вссrда прпo6pстаiiтe Windolsr1'lT.грltРoнаllllьIм Sе.viсe Pасk'o^{ саl'oм noслс ДЕeii I]еpс|l|I (|1мeллo u]Lnrcцu-.ваl|]ь1-\ a Hс |IPoc.Гa з''l]lисанньIlli в olцcльнyюllиpск'гopиlo, чем сЛaвиTсЯ.хUIЬ.]|UlсTtlo пlrpатов) тaм этrrх пpo6лeм пет,

] it|l,}tc ]\{o)lt]lо (\ul.аil: нy)кпo) испoЛьзoвaть и 6(r,rсе пр{lдвиllyтьIе aIlr!1вnP},сijс сРедсГва (такшe' ItаIlpll]!lеp, кaк ADInf (рис, 9,З) или AVP Disk Irlsрcс-

: jГ)] l в lrr( отсyl,ствие уTиЛrt1у пoсимвoлЬнoro сpaвItcнtlя фaiiЛов Fс'ЕхЕ]l1(, 9.4)' вхоДяlцую в'ulтaTlllnй кoмIiЛeкт tloс,гаrrки nю6oй вepсrlx Windo$'s,l)']rькO нe запyскallтс всe эти прoгPаl{l{ьт пе]ioсpeдс'Гве]lно Irз сaNioli зaпyскаe'

lriJ спсTе,uы ! steaith.вl1pyсoв пoд Wiпdows с rса.lкдЬш дrrе]!{ сTaнoвIrтся всe 60-!ьj. Ir 6.)Льшс, a llе'ГoДикa их мaскиpoвкtl все rшoщPс]iнеe и изощрe1l]]еe,

]ollрскll РасхOжcмy м1rепию' Wiпdоlvs мoжет заryyя{aтъся и с сD, Пре)кде всe.:r lI:L vrll прихoдит Windol.s РЕ - сJIсIкa усеченнaя веpсl,l Windo\L's хP, офltjliulЬI]о рaспРoсTpaняeмая тo'llькo сPeДи пapтнеРrв МiсгoSoft п цerlтpoв серI]пс.

:.]гo 06сЛyжIiвa1]Jrя, B oткрьIтyю lrРoДаJlсy oI]а дo сих пoР 11е iтост\rпа.цa' п eслIl::i\! претIlT ltорlfитъ IтиРатoв (мнoгиe ш кoтoрьIх к тому,(е и xaмьт)' вoслo'rь-. ' i ]Tесъ 6eсплат11ым Bаrt,s PЕ вui ldeг'oNl (http://WWW'dаni]premgi 'сom/nu2/

185

Page 185: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

186 rлaва 9. найB и yничтoхитЬ, или пoсфие по 6opьбе с виpyсами итpoянаl4и

pebui|dеlз0з2'zip), aвтoмaтически фoPмиPyющиnt зaгpyзочиый диск нa oснoвелю6oй веpсии oтWindows 2000 sР1 и стaDшe.

Ptс.9.4. yтилита SFс.EXЕ пepeсгpаивaeт файлoвый кэш, oбpащаясь нeпoсрёдсгвeннoк дисгpи6}.rивнoмy диску

кстaти гoвоpя, пpи '(eirаяии мoxпo и вoвсе изъять )кeст{ltй д,tск из кoмпъIоте.pa' Рaзместllв систсмyи всe пеo6хoдимыe для рa6oты пPилoясelrия Ea сD.RoМ.Д"1я зaпI4си врeмеrrных файлoв сгoдиTся виpтyальнъIй дr,iск. BпoлIre yдачнoeреrnеrrиe дЛя игрoвoй плaтфopмъl' не пpавда лI.? Тeпеpь ни виpусьl, ни o6pутre.

Pис.9.3. Peвизoo ADhE2 за 0а60т0й

II Ifi

Page 186: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

'.нopмальнaя сетевaЯ апивнoФь

:1ffi(a

Pяс' 9.5, Утилита тсPviеw 0тo6ра){ает все уФанOвленнЬе сoeдине!ия и покaзываeт,'tкoЙ имeннo пDoцесс их VФанoвиЛ

]neсткпе'1|lски oчсяь нPаnят.я впylPсfln!м ol]гапaм' 8с'дЬ хcсTкийли.к бьlсrPo ясспрячeпъп пе,чпчтoяqп!Ь (осo6eннo e.лll o ] llахО!птся в!ут1,l к.lllЬюlерtr.l 'lc ':!l,0Tсл на стoлej пoдтлIo'

187

:;tя oпеpацLIoпIId{ с!стсIrЬI ваIf не стPашньrL AнaлоIIiчIIым п}тeм мoжпo мo1-ернIrзrФoвaTь ].l oфuс11ь1е rroп!пЬютeрш, o6Pа6aiьIвaеN!ьrс фaй.flьI в эToм слyчaе

DIIдетсяЛибo ЦснтРa"]]изoвalI]Io хрaнить на сервeрe 0raи6oлеe пepспективнъIй:. rкoltol1liчньпi п},ть)' либo заllt{сшвaтЪ нa ДпскeTу' ziP, CD'RW (Чистo хaкep-.: ; i t i i путь l) .

H EHoPмA,tЬHAя сEтEBAя AктиBнoстЬ].]кпIiтPояlI мoхlrт yдсР'{aться от rc6"llазнa] rlто6ьl lIе lIсPслать }larра6лсннoe.(jРo пo сеTll I1.r1и нс yстаrlоn -гь сt'сTсIrv удaлеIlJlогo аДпIиrrr,lстРирotsаl1ия, ПРп

::oм liа l'Iaшrlнс oткрьrваются Ilовr'tс lloPтьl lJлll IIo'в.]],1ются сocl1l1}1снIIяl кoтo-:iJI вьl пe vстанaв-tjlвалll.

l.lя прrlсмoтpa шcpе.rпя о'ГхpЬtтЬ1х ЛоPтoB ll ус].iLнoвЛсrпlъ|х сoсд]IнеIrпii мo)кltor.lro''Iь3oвxтьсЯ уTlUiиТоii псt]stаt lIз rll'Га,LlкЛ.o I{o]Чli,]ек1.ir rloстаuкп Windolvs,

JlJ1-с,|ив сс с I{r1Iочоп| -а' l{ сoлr:r"псrпло. оrra rrс gьIдa€т Il}Iс']]ll lрoЦессal усTarlo.llnlIlсГo дatlJlос соc/l|.|||0l]ис (a ']lЛЯ rrollс|(('] TрoЯIJoD эr'о lктуaflъrlo)' вЬ|||у)кДaЯ] . l l с ] iа1ь 6oЛoL, . ( ) | . с l ) l l l с l l l l ь l i i ] ] l l с rPy i l c l l l аPЛj i , Боnьшoi i пoпvЛяРI loс- l .ЬIo. l , , tьзуcтся 1 ,т l lл l t тa

' fС l ,V i сw М, iркa I Jус( ] lu loB l l . |а (WWW,sуs in tеrnа s .сom), } l с

,'rЬкo Ilьlвo/]lЯJIlil}| l)аlrl]0PrryTv|o с'lnт|кlГllкvl ||o |.| пoJвoJJяк)U(а,l o/:lIl ]\l двfiжo.: j l с \ | NЬ|| l I l | : l а l (р l , t ' l | , J lю6()0 ссTo l}o(] с ( )сд lПIe||пс (Pr l с ' 9 ,5) '

Page 187: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

188 глава 9. нaйтИ иy|иcтoжитЬl или пoсобие no боpЬбe свиpусами итрoянами

Ещс 'rуvшrlii сrtосo6 _ оfрilд TЬ свoii к0lrltьЮТep l rсpсoнa'lьньrll 6pандltaуэрolr'

i!l]юl.l].. l1J l(о-l'opьIх' J{с'tати l.oвоРя' сoдeР'{;r| (|uсr.смы l:16нару'ксIlиЯ втopжcниi]l

ll аLП.l.lвr]Pуспыe моцynи. БI)а||дNa!эр JIе T(rnЬIio сoо6шaст o поiroзpитсльньrх сс.тевьIx сoе/:IпtIеilпяx oн пoзвo:rяет пх 6,.rolоrpoватьj 11ре]1o'].]rpацl1Я vTсЧl.y цaн-

сPа lI вь]давая пPl]ду11ред11тe.nьпьle сообlIIelllTя Ла с:IмьIх

Pаrrн]]х сTi/чIrях втoP,кснпя, B п рouоv ' 6paнлllауэP этo е|]lellеlllIIаllеяl lt otI lleмo'ксТ зацllТllТЬ (]T атак, коroPЬlc сoDсPluаются rIе ч€Pез пего' вIЦ}'сь] lIе егоспeциалuзaциЯ, x Е 6oPь6сс ниll]1ofl IrеэффектIтвеI]'

сoкPЬlтиЕ ФAилoB, пPoцЕссoBи сEтEBЬlx сoEдиHE}|ии B LINUX

l {Р( ) r l l l к | l уTЬ l l а r I l кvс] \1 .у| ( ) ] \ jа |LI l l | |v J1o сntс Лc вссI I Iсo6хO/ l l lмo с| |ря 'Г l |ЬсI ro l I q rа i jль l , l l Po l l сссЬ l l l ссT l r r rьJс Сос/L l l l i с | l l | ' | ' l L l r l l ч ( ] | |Рr I jLсГ адr I lЛ| l1 | ]ЬI6Рoс TlL i l ( : l I i ] ( j l сT( j^1 l , l , Э l l t ] ! l i l r l U | ] t I i |к , l ' . , i аdorс , kDаrk i I дPYгJ l с ]1х)Lk iL ' I , r ' I ( rП)p| ' l с 'ЦсГ .к0 | l l i i l . l l B ссTI l , l ] J ) i I l ] ' l l i l j l 1с l Jсc | |з | | | l \ !1160T; lк 'Г ' I t To!v ){с l po , I ' J ' I ] j | ( )6( ) ] .0

J I I I ,Рoкo P: l с r I l ) (х |1Рt l I l с r r J l ( )R) l1х)Lk i l In , l ( l l к l l I l 6 l ' 1 х | l l . lюyN|J lL I I I oI I r I r r бьr ' ' r ' рaзрa6o] aI l l , l с I Iс |п|а . ' r i , l l i , l { ] I IcT( ,дЬI б( , l ) ] ,6 l , | 0n lс ' 9 , ( j ) '

Pис' 9.6' последс|виЯ аdоre 0,42, запyu1евнoгo из.лод KNoPрIХ з 7 LivесD

Page 188: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

модyлЬ Pаз, lioдyЛь Aва,, 149

I1асToЯщий хaкep тeNi и oтличается oT свoих,rranl{их lloДpФкaТелсii' чтo рaзрa-6aтьrвaeт вeсь неo6хoдимыil иfiстpумeнтаPий сaмoстoятeЛьrro или' нахудoii кl:).rle]l' адаЛTllpyст yJ(e сyureствyющllii, хoтиTе yзllaTь, как этo сдeЛaть?

МoдyлЬ PA3, MoдyлЬ дBA...Гloдавляюrцеe 60льшинств(] метoдllк сTeЛсиpoвания рa6oтает нa ypовнe ядрa'l ]р l lстьп(oвьIвaясь к пeпlу B B|lДe заzp!эlсае]rolo '\к;dylя (LoаdaЬlе Kстnсl Мod Lrlе'I-KNI), B пporpампrиpовании $IoдyЛей нет llичelo сJloжнoro, oс06еннL) длЯ стaII'lх,дсp с веPсIreii 2'4'

l1сходньIli ТrксT пPoстейшеIo мoдyля вьIгJядит так ('1истиllr g,2),

либинr9.2" скeлет пpoсгeйшero мoдyля для ядeP свepсией z'4'со0бцаeи коIпилятOPу чrо зтo l lодyЛь реяиiа яЛpa

.,.ilnе l']ODL]LЕ

. .]е l rnе (ЕRNЕL

t 0д{люча € ! зd г0л0B0cньЙ

" .nс l ! d с <] ]nUХ/mcdu]е h>

iа м l OгOL l ] l н ьХ i аши[aх-.ldеl *s]']P, nс lUdc <] rnuх/smp-]осk, l r>

п0дключае[ еLr]е и smр l0ск

0 l l кция ' 3 ! i roлfe iая пpи 3aIpузкe одyля"r in ] t .пОdUl" . (vo id)

// сa.орlиЛoсь] ш 3oшли 3 рe)iиi Лдpа// и теп€pь i0яeD дела'ь -3сe- чrо y|оl]DO!/ / s , l t iEe l c r0 . lибyдЬ// ) | ln tk записываеr вeсь вывOд в с [стe i3ьй жyрEал /p .ос/kmsq, / / l то0ь nрoсп0трeть его сoДepди iсe дaйre dmsеg ' a цтOбы вЬв0сти// p . l l t I Lа (онсоль дайте: xсоnsо le . f i ]е /ргос/Кп5!// в oо0Йх сЛучаях 3arpyнать sys]ogd не Oбя3aтeЛь{opг]ntk( \n l lO l l 0uг ] r rОdu le has been

, lOаdеdL\n , ) :

/ / y .пе!gая и iициаЛизаЦия

nyякЦия, 6ып0лняюll]аяся npи 8ыrрyзке iодуЛя] . i с leа iup-modu le(vO]d)

/ j tяyкнем чт0.ни0tдьpгr i tk ( \n0! r г nюdu le l rаs bееп un, lOаdеd\n , ' ) ;

Page 189: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

190 rлава 9' HэЙти и уничтOхитЬl или пOсобие пo 6орЬбe свиpyсами итpоянами

ли.-|инr 9'2 ( ,p.]Дo1\|ehrc |

/ / пр11ст i (O8Ьваe ! лиЦeв3ию ' пO {O ioроЙ рdспР r с тpа |яотся// Данвый файл' есл[ зroro не сnеJral'' lrrдyлЬ yспeшнo// загрtзитс l , rO oпepaциoнная систе а eдаст !агn]ng'// сохр.няoциЙся в лoгаx и пpивЛe3аirц[й внифdвиe адl11нOs| l t ]DULЕ LIсЕNsЕ(.GPL.]

нa.lипая ( всPсии 2,6' в ядpe nPoIiзoIJIr.lи 3ltаЧительrrьle измсне]1ия' Tепep! пpo.грali11l.lpoва-гь пpIrхollитсЯ так (лисTrшr 9,З),

либинr9.з. скелeт npoФейшегo мoдуля для ядеp свеpсиeй 2,6

#i |def L]N!х26stаt]с ]nL ' inr| цy iпrt()

lnt rn L- f r r .dПleo

#i idef LlNux26s|atrс vO]d 'с l i t i ry с leаnr ip()

i i | с leаnup modtr]e()

#i idei LlNUr26modu l с- ]. ] t (mУ.i nr t)mоdu]е..exi t ( my.с ]еirnup )

зa I lоll ро6lloсTя м o6Parцаj,i1.сcь к пl аn'у (п]аn . k modul e), oфициa,lЬlloii дoкyмe -1аIrии (/Usr/5rс/linuх/Doс!mentаtion/mod!les'tХt) IrЛI,t кIlиl.t] <Linцх lrcrnel intегnails' 'кoTopylo ЛcГ]to IJaйти в oсЛс. I(ак 6ьт там llи 6ь]Л0l тoЛькo чтo написaIшый !to.ilуJ]ь flсo6ходпмо oт]сolllllЛиPoвaтъ:gсс .с my-modu]e'с -o my-modu]e'o (нaстoя.T0JIьпо Pel(oNIt]IlllyстсЯ !(еi]lствoвать опт!l]!I,l3aциro, дo6aвив клIoч -02 иЛи.0з),а затeпl зilr.pузtl'гь внутрь яДрa; i nsmod ny-mod!] e ' o. 3aгPy'фTЬ Ntoдy,lr,I !'oжeT Toлъ.кo гoot, Ilo сllPallllваl:lTe мен,l' кaк е.o пoЛyitи'Iь| этo Tсмa отдeльIiolo рaзгo.гlopа, r]'rо6ьI Noдv"ць aвтoмаTпч€скп зaгрyжaЛся вместе с oперaциollнoй систе.N1oii, дo6aвьтe eгo в 4)айJr /etс/mоdu,]es,

комajlда l smоd (или dd j f-lprос/поdu] еs bs=l) oтo6pa'(ae1. сIltсoк зaгрy)тrcнныхNloдуЛей] а rmmod my modu]e вьIl.pРкаeт п{oдyЛъ из памятt!, o6paтите вIlимaние ЕaoTсуТсТвl{с pасIrптpеппя в nоследнеN' с"r]yЧае (J]истпнт 9,4),

списoк liодyлей, выдaнный кoмандoй |smod' Hаш мoдyЛЬ назывaeтся

s]zе Used by тd]ntеd: P240 0 (unus €d)

251?8 1 (аu.Oсleаn)7460 09008 0 [ .hеrпаl]

l l

Page 190: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

'.дyлЬ paз' мoдульдва', 191

: : з

1600 0 iuлusеd)2700 0 (unusеd)/004 0 (аutoсl €a'r)

8З6]2 2 (aUtrrс l . "аn]64з88 1 (al]tlrсlеап)

]Iсoя{t]дaн oe пoяr.lreнис нoвьlx N1одуJlсй всeгда нaстораживaет адмиI1oв' пoэ'Гo..l]'пРe)кдe чсм пPистулaть к 6lrсвь]м деIiствия]цj }1ьI Дll-DкIlьI каlt сЛедyетзat1ас.:rlpoваться, Автoру известIlьI тpll с посo6a ltaскиpoвI.]ii

:, ИсклIoчeluс мoд}..1я rв сllис(a Nloдyлeri (мeloдJ,в,' см. фaй'Ц modhide1.с) _кpaЙЛe IIеIlaдс)к€н' пPеЛяТсTвyст нoPl!aJrьIloii pa6oте Рs' toР и дpугих п.)дo6.llь]х утилит| частo Рol1''lст систеl{у.

] ПеР€xвaт о6PацeнI{ii к /pгос/rnodLrl es ( метoД lluпаr.JсDsе п'а' onУ6Jrикoваl ll u,rjiIlа вu8tгaq lI Pеaлизylоrцliiс'I так 'r(е' как l'l псPrхвaт осTа-ljьньIх o6pащенийк фairловoii сl'tстсruс ) довоjlьяо l.PoмoздкIll,i 11llснaде)кпьlй Nlстoдl 6ессlIJlЬ.||Ьlи lIpo]llв i.оУ]]Lltr.lЬ] dd if=/рroс/nodules bs=l'

] ЗaтиPапи€ стpук|yPьl module info (l1стoд sо |a1. Dсsj8nсг'а' оIlисаttньIi]i в ста-l.],с<Wеal< спiпg thе I-in пх Kспсl'' oпy6nиковalrяoй в 52 м lloNIеPr РГlRAсK'а).)Jl0lъltLньпi I.l /'toaoЛЬI]о яадс,{Iпni,i' Plсскaже]\r o IIем подpo6ilec'

!].я Л ldюPмaцllя o ill oдуЛс хр Iится I] с,|,РyкТyPо пodu] e i nfo, сo.(сPжaЦсйся вIlyт-:!l (lIстемIIoIo вЬlзol]а sys-injt.пOdu]е( )' Пo.Ilго'ГoвttB ]!loдуJll, к заI.])yзкс л зaпоJIllив.Odule info I lа l lЛся{aIци]\f о6pазo]!1 ' oI l neРсдaсT у lтРаBЛ.I l l rc l la l l l € i i фyt lкции]nit-rтodule (сlt' man init-module)' ЛIoбoflЬI laя осo6сl{ttoстЬ яlQа] 6езЬlмяIillь]c llo-lYJI l l 6cз рефсрeIlсоl] I lс оТо6рiuкaI0'гся l чтo6ы v]l:l-l] |{1.l] ]\{о/{уЛ Ь 11з спискll, дoсТатoLг]o о6,Iу'1ll'r.Ь rloЛя nаme n гefs. эTо Лcl.к(), olIPсДс'nI]Tь :uQсс сa!{oii nоdl]]e info lla.

\lIlого сJloloIсо,,IдPo нс 3arlln.еpссoваI]o соо6lIvll.ь сIo Лсрвol!1у ]lстрeчlroму хаксРу'jl lцnlходиl,ся дсйствоя;r'lЬ исxoдпrllп{а, иссЛсдуя liyсop| oс'r.авцIиiiся в pсгистрaх]l:l l10i\tсnT пePсдaчл улpaвnсниЯ injt_пюdule' solaг d siglrсг o6нaру)кил' чтo в oДIlоrv]l3 nlц сol(eржится уItаздте.]]t' Itа,,, пodLr]е jnfo! B сго версиll ядPа этo 6ыЛ PсгIrстр:Eх' в иl1ьIх веpсirях оl I Nlо)I(от 6Ь]Tъ совссNl дPyгrtlr rш ll ДD{rc вовсe яикaким' к,rомy.riс сущссTв},eт сгlещr:uьI{ая зaп.]]a,ГI{а для сTaрьrх ядсp| зaтьIftaющая этy "rтазeйIrylrрaвдa'Д;!lеко пcy всех ollitус-|анoвлсна. вl1Poчс]\1,эффeкTl,lвЛьпi црес modu] e infoii:гкo Yс'ганоI]IIть /ll1зaсс]сI!бJr]lpoваltl.rcll; тoчIJ."e' llе адPсс modu,]e info (пiiiятЬ пoд

]t.гo вьIделяе1.Оl дxнa]\'lгlесlrjl)| а адPlrс Nlaltlrlllнoii пIrсTРукцllt' ссьIЛaloщсiiся пa]irdu,le j nfo, правдa' в каJ+iдoii верспи ядPа oн 6vдет своим.. 'ПРoстei ' iшlr i i прr l i l teр N]a. l i11ровкl l вЬl l .лядпт Taк (] lистиlIг 9,5) ' I{стATu'з PнRAсK,е onсчаткa| гef]rместo гefs'

л{стинг 9.5. l.4аскиpoвка мoдyля цетOдoм sоlаr Dеs]gner'a

гes istег s|гuсt mcdule "пр esп( gebх '); // пoдстаsЬт € сюдa peгисrр '// в котODol ааш€ ядрO дeрri т// адрес mо.ulе jnfo

пpoдoDkе}Jиe d'

Page 191: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

192 rлава 9. найти и yничтoхитЬ, или п0с06ие пo 6opь6e с виpyсами итpoяна!'и

л'сanк 9'5 (lтpoдoлхениe,)

*(сhаr*)mр >naпЁ.o I

l

// 3атираеф иПя мoд!ля

// заrираеф рeФеpoHсы

непрaвиЛъное oпpeДе,'ieнIrr адреса modu]e iпfо, сItoрее всeгo' yрolrит ядPo сис-TeмьI или эa6лoкиpуeт пPoсмoтP спиcка мoдyлrЙ' чтo сpазy )кe llастoPo,(ит ад-миlrиcTpaтoРa (pис, 9.7), llo у rис есть ts зaпасe eцe оДиtl вaРиант,

ПPoсмaтривaем списo( усTaнoвлe!п'Ьrх мoдyJleй, яaхoдипf самый нr1rylgьIй и3ll}lх' вшIpу)tGeм eгo tlз памяти и зац)y'(аeм свoЙ _ с 1.аl{Ilм )ке 'гoq}lo ипlel{сМ'

Если яaм troBeзeт, адмиI'йстpaтop tlичeгo не зaметI'tт''.

Pис. 9.7. пoслeдсгвия цaскиpoвки l'{oдyля мeтoдoм so|al DеsigneЁ -командьl insmod/lsmod/rmmod 6oлыj]e н€ pа6oта|от

искЛючEниE пPoцEссAиз спискA 3AдAч

llePсчсrtь всeх прoцессoPoв хpaнится вtlyтpt{ ядpa в видe ДвyнarlPaвлeянolo спис-r(atаsk-stгuсt, oпpeдeлelrие котoРoгo ilo)кIlo пайти в файлelinuх/sсhed'h.l,lext tаskyrrазывaет tIа слeдyющий пPoцeсс в списке, pгev tаsk нa пPeДшдyщий' Фи3и.

Page 192: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

!rсмЮЧeниe прoцeсса из списtа задаЧ

чесl{и tdsk.stгuсt сoдерхIrтся внутPx Рсts-6Jll'|<1'a (Pюсеss Сonhт| B |.,сh), aДPсс

Iютopъlх ]]звсстсн кiLждol''y IlРоlIессу, ПсрскJ1.rче]]].1е ].o]lTек(Tа о.у]цeств.Iяет'

ся пJaflrЦonxrrкоll (sсhсduler)' котoрьпi опpcде.'1ясT. каrroji xPоцесс 6уДет Bьr

пl).1lliя1'ься с".lе,.lуюrrцJI (pис,9,8)' Еслл ltьt пск..lloчrп1 нa]]l процссс rв сxxсl{ill l)lI

i]в'ГоNliI|11чсОt11 j Iсчеlllleт rlз спlrсliа IrPоцсссоts /ргoс' lIo 6.].nl,пle ] JrпiоrЛа нс J'оjll.

чIп )rпPавJснnсl ч'l.tl }l Iraшrlr п,lIaяъr воo6цс'тo нс входrtr,

Pис.9.a. opга!изация прoцeссов в LinL]х

]lрОсNатрllвaя спltсoк lIPoцсссoD' rrсrln) ()6lInPу)rIl'l.Ь' l]To ]r tlеIJ ('l(,)'т.]тnvi]т пРo

:с .с ' I ) ID кoтoPoгс] P t lвсн I l уJ l lo ' A всдь T l l xo i i I lРoЦс( j ( ] o . l I l сс . - l l се| ] jL ( ) l lропLtс)11J,l Oll с.]з'i:Lется oпсрацloннoii сllсlс\loii д,rl' lloдсче1il зlll.pvзltl1 цll и llрочIтr

. l1l'iс6llr'Lх Це.neii,

.1oпустtшI, rrам uсо6;rr-rlrllIjo сl{I)])lгь пporlесс с lj'1еllт]lфЛк:l1.о|оl' 1901, иLxi']Iо

]асlI cro пз двунaIIpаЕJlt.]xк)lt) сll]1с]<a' скJlеIll]rя Nехлу с()6()ii пo.nя леxt task/

r.е! task двy:r сoссдllLlх xpoцсссog, 1loдцеIljl,lем LliLЛl пр('LL,сс к прoцесс}.с lry

lr!ЬlIJ PID'опl' офоPм.liяя сс6я liali i\laтсрlrlскjlii ]lPоцесс (зa эlo o'П]еч.tcт пoJe

] рptг)' II,', мoДr1ф]lцllрусNl xoд ll.llан'lpoвrrrrlкa1.ixt, чTо6Ьl Ро!L|l |еnrl ]цх'1eсс.1с tly

:.вЬlr] PlD'oм хoт,16ы эll и3оц'1Чес I.I i Л( )J}^lаЛ управ,rеппe 0nтс' 9.9)' ЕсJirl нс.)6

:.]l пlо спpьlтr' 6o,rlсс oдI]O].О tl рoI]ес(,а ' Лх ]!ю)]nl.r о6ЪeЛиI Iи,Гъ Л lIепoчlry. Ilспо..l Ь' l o . . p _ D p t , t . - . | - , . , . I

Page 193: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Pис' 9.9. yдалeниe прOцeсса из двyNаправленtoгo слиска пpoцeссов

ГsЫll 'noxt;г]

Гъ*.-;]

| ^o1Ьtг l'i,-vjpv

Г._r_lГ..--'_l

Г P lD ]Prcфsч]

ГsБlгйt-t"sп

Г.,,-lГ . _ ]

ш

Гst"lnt*-ФЦL!T"-1":-]

l .p'сptг

||

'pJsр(r I

Г._:-lГ.--_"_l

194 глава 9. нaйти иyничтoжитЬ, или пoсoбиe rrо 6opЬ6е сPирyсами итpoянами

Исхoд'1ьlIi ко/L lIjlallxPовпIllI(l! (('lcP)l(и'Гся l] (l)lliiJlс /usr/srс/|inUх/kerne /sсhed.с'ну}]{JlЬIй llaм 4r |)ahr с I l1. ,rlсгкo пaii'гll Ilo ]LЛIo'lcl]oJ'1y сЛову goodnеss (]Iмя 4'ylIlс.циlтl oIlpoдс.]IяloIlleli <(i]|Ia'llIloстъ' пioцCсса в rЛ аi]ах n,IIа!lиl)( ) т]lIlI1кa) ' B разЛrtЧ-tlъIх я/1рaх oн вьIгЛя].lll'Г no.paзпоNlу' l1аlцnli!rcl)' r\1o' IrеРсl1,l РoilJll,IзoBап?т'1'а1(( " ' тпсTL lнг 9 .6) .

лиФивг 9.6. сеpдцe лЛаниpoвщИка

с = . 1000 : / / н i l l аЛЬ l0с зBачeRие . l ] e са '

/ / иЦе l прO ]ес с с наИболь !и ! 00с0 I в cче reди исполняюцихся l рOЦeссов! h r l с ( р ]= & r l ] t t а s k ]{

/ / опр0ДOляe l вес ' прOЦoсса в .Л iзах r Jаш]рoe lик i rrгo нy3дЬ| 3 прrrцесс0pt0{ вpеiени)

weight = goоdness(ргev p)

// eoipilеl ]рoцесс сиЛЬrre0 3сel нyrr]паюцихсi в пPOцeссOplоп вpеiени// для л]rOцe.сrrроs . oдиiаkOвlfl 'seсом' irсrользyеl пoле ргev

{

Page 194: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

,.9ючeние пpoцeссa из списка задач 195

с = !с iqht: nехt = р]

. i с )

// все п|]оцeс.ь вьрaоотаЛn св0и кванть, начинаe{ н0вtю зпoху// хоjroшеe месr0 чтОбь дOбaBиiь п€редачу упрaвЛе iя iа зa[аскИpo3aнный пpOцссс

') сoхРa]{ясll зillирaeNьle инстPyкцllll ts сTеItе;-)

IrставЛ,lс]tl кoNl.tп,.lу пеРrхoдa l1l trаI]lу фyrrкциro'сoPнъlс кваtlтЬL IlyлеIloго пPoцсссa сpсr]п скPЬiтьIх

) |lЬlпoлrlяс]!l Pаtlсс сoхPaЛеrrнЬIс llrrстpуltц1111;

) U()ЗrrРаrцаспl уllpаtrj|сlIиc(l)y]llсjlr]П.нoсllтсJlI0.

]рoцелуPa внсrrPсttltя в плаtlIJРoвщlllt oсуrцeствляется пo станlraрт]к)Й сxeме:

PаспPсдсJl'to|цylo пpоцсс.

]Poстсiiша' llрoIРамм]iaя Рcал}lзilц]rя l}Ьll.Jlялlrт тaк (Лиcтинг 9,7)'

лhФинг9.7. пpoцедypа.гaрпyнl sоlзаЮцaясЯ втeЛo планИpoвщика

l]оub1cс]]o ln. а s jшOl0 п]nс!|o hrrokeI! Dагk.^n!е] <0a*0Фап9е]f rгr солr>

.. .nnё, , , - i iЕRl lЕL_

. i] е IIO!L]L[i]nr L l]!L.]х

. ":]udе <] ]nuх/ i rOdulс,h>' : i rnr с0DЕJUМP 7

- l l rс nuirD'4. оf thе bytes tо baсkLrp ]s VаГidb]е (аt ]eаst i )

. r lp0|tant t l r ]ng ]s пeveг bгсаk dn rst . !сLron

.: с сhil. bасkuP onetBАс(UР+CODЕJUМP]= \r90\r90\r90\Х90\Х90\x90\х90,' \хD8\х90\х90\190\х9c\хf 1\re0 i

s tаt iс сtrdг jumр-сoieIс00ЕJUПP]= \tb8\х90\190\х90\х90\хI|\х00'

. : : i ine Е]!sI АDDRГSS 0хс01012з5 // 'Ad.г0ss Of thе fL]nсt j r rn to ovег! . i te: !пeо oпq -mrlю.}

: l сe iobi tе(vOrd) {ргrn ik( ' tuпс i iОn ]OOkеd s\rссe5sfu l ly\n ') lasn VOlаt] lе( 'mov lebр tesp]рOpl lе5р; jmp bасkuр onе)

: .sm соde is foГ stасk геstor inq ' тh € f i гst bуtеs оf a tunсt ionnpФoлхeние 9

Page 195: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

196 глава !. Fа;ти i y' / |тoч/-o' илi гoсooie rO 6opoое с в^p'/сdу|v ]poa| 0!/

лиqrв. 9,7 (лpоДФхен||е)

(сепobit." nO!] аre alяауs for thс рaГапeteгs pushrn9'JumP]n! awdу tlrеilnсtron саn L .estoге tlre gtасk. s0 'e must do it bу hаnd.L1jth tlrе jumр ie qO iО eEсLtе tlrе baсkuрреn соdе and theп !е jLrmp rnthс O.rg iпа] funсt]On,

r nt rпj t mоd!r lс(VOid) {*(unsrgned lоnq *)EJшф соdel1]=(uis iq l red ]оng )сеnоbrtе

*( lns iqпei ]O.9 *)&baсkuр опеtвдсKUр+1]-(uп5]qnеi lсп9)(гт8sт.АD0RЕs5+вдсKUP)]

m.noгt=(unsrgпed lопg *)| . lЦ5т A0DRESSпепсDуlhdсkuD.onе.пeпогу с00EвAсK)nепсрt(mсmnгу JLrщ.сodе,с0DЕJL]иp) ;

i

v0 d с eаПup-пodt] l с (VOjd) {mспсp]](irеi0гу.hiсkuр-оnс BАсKUP) :

)

] kx]к()rILкy N1irlпnllIк)с IЦс/IсTд|]ЛeIlис lI.llаll,]ро|]]](икa 3аl]llcЛ1' l]. To.цЬкO оT I]c|г( ! | l | яд]) i l . I lo l l 01 . I t J ] ( ) ! l cй l .o i iл l l l Iя | l l j I l , aТaкoвaт l , I IPo! !з ] ro 'пЬ l l v | ( ) с r l ( тс i \ l у lрак .TnЧсс|Lfl 1iсрс:lЛьIlo llpoд!ilPDTсЛьIlо lloo6хoдItNlo скo]lи Pо IlaI) лдPо IIlrсвоlo }Jд,l]IlllIy 1J дu3nсссп{бnliр(Лlать сгo' ilпoсno Paзрn6oTaI, пoдхо'1я||Lуl() сr.Рlт0гrlк)

]j(.'rII' аTаkyeУaЯ ]\laш],tпа ]tспo./1ьзyст ll]тa1]loc яllPo, IIЬI AIо)кеl{ пol1рo6oвaTьo]lозла-гlr егl) вL'Pсl.llo по спгIrа1.уpсl llcпoJlьзy'l зapalIeс Лo/{гoтОвЛеllllуIo стрa-тcгIrlo в]lс,lPcнllЯ' /]iaJleкO ]lо все аlllllиI]rn пeрек{llillrljlируloT своx ядРа| лo:]To.Nry Taкая тактпкa усllсшно рa6oтaеT- впсPвъre ('lа6ьIr1a пРeДol'aвJlorla пa eBpo-пеiiск.)ii кo}Iфeр""]I цr.Iи Blaсk IIat в 2004 гo,iу' 'Jlсl(TPoнrlaя IlPсзcl{тaция lro rt)PoijI l а хoдится в фai'i.Jr с http |//W\^,W. b|асkhаt, сom/presentаtions/ bh.eu rоpe.04/bh.e!.04.but leLрdf. По эTомy пP]Inцпny pа6oтaloт NIнolue |оotk i t 'ЬI l l ' п чaст lк)стr l lРhапLаsпа8oI ia '

гlEPЕXBAт систEМнЬlx BЬlзoBoBПor\{Ilптe МS Dos.l Tам стс.]iсировaние oсyщeсTвЛяloсЬ пyTe]\I lloдмellъl прс.г l | Ь | Р l | | i I r l r з . / i r t 2 l г B | | N l х | - ' { r i ] , r ' е L c . l , . п n ] , \ n ' . q п ё l х Ь а | 'темlrЫх вЬ]3oвoв ( sуstem саl l ' !l.]iи, сoкpаще]rно' sуsсa]

.l ). для сoкPьIтия процесt

сов n фаrlлов дoсTaтoчпо пеPехвaTить всеIо oДпп lтз н11х getdents; ]ia пeгoo Л | , р , . l . ч ' , \ | - в р . - | | J . е а d d i . ' к o Г o i o ' l ' в | o 1 | , ^ l \ { . o | | i l . и ] l , U . в о | j \ | \ | l !

Page 196: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rэpеYват сисгeмнЬ|Y вь|зовoв 197

ie\l' чи'Гaе'Г сoЛeР)J(tтlJoе диPсItтoрIrIi. и дjIPсктoРиIr /pгoс в тoм чис.!сI дрyгоr.)lегалънoro спoсo6а пPoс11oTPa с1luскaItроцeссоr floд LINUХ, ! o6щеlгTо, rl lleт.ФуlIкЦIlЯ'пepехBaтчик сaли'Гся llosеpх getdеnts Il пРoсматривает вoзPaIIlенньlй.ю Pсзyxьтaт| вьlкyсьlвая и:] llеГo tsсe <J]ишtlее>l тo есTь pаrirает l.ак (l)t'tJ]ьтр'

. , ' , в L , ' ' l , U l , , , l | | , | | и Я ' - l ' , | l , l | i l } h l Г с с з | | a п . ' | | | | | Ь ' У n 6 - l : r , . \ | \ t , I j I l 4 | П I ' P ) ' | . ' ' !

/pгoс/пet), aIтс,6Ъ1зaмасI{иpовать сниффсp| нсO6хoдl1ilo псрсхваrr11.r' сuсTсмньliiнЬlэoв iOсt,l, 1юдаts,]JяЯ PRoN'IIsс фJar. A п€Рeват систепlIroгo вьrЗовa getkeгnе] sylbo]s поз8oляeт замaсlшPoватъ LKNI-мoдyЛь таIt' что eгo никтo нс наiг

З вуvrlт эalrан.r uвo, or:t.lc'|.ся Tоnькo l)eaлпloвaтЪ это па пракTliкe' ЯЛpo )кспоl)тtlруeт пepсмснную eхteгn void sуs са]] tab] e' сoлePrкaпlyl( ) N!a( и н YказaTеnciilIe sуsсaL|'ьт' кaл<лая я.lе!irrа котopoго сoдеP,r}tт ли6о дсiiствптеЛьнЬIii yказатсЛь]lil сoo1встсl'tsyюUрljj sуsса]]' JIU6o NU[-]-' свr,tдe'Гeльству|olIUii] o r.оNl' чTo лar]]rlIii систсмнЬ]ii вl,lзoв ttс pс.Llllt3()вalI'

llрoсILl 06Ъяв!lr.c U свoeм мoдуле пеРемеllllylо *sуs сa],l.tаb]e|] TогДa uсe,{yтся u u:rшпх Pvxltх' ипrсlra;IзвсстrrьIх svsсаll'oв пopс.

.lПсJorr|,l в (l,li]Jс/Usr/ nс|Ude/sуs/sysсаl|'h' B частilостll, sys-са]l.tаb]е[sYs.getdents]lx)ЗIrРаlцa€г укaзатс]Iь на get0enls,

lJРod.ciil]пrii IIРиN|0Р пеРехI}:]тtl въlrЛяnirт Tal{ (.]Iliс'пlпr 9,8) (за 6оJIeо lюдр06.rIoj i l l lxDoрl !| i lцUсi . i о6Рl l l I lA i i 'Гш| l , | i с , l 'аTыr <WсаkсЛiI lg thс ]- i l l1 lх ](сmсt>' or lу6.,1I lкo i] . t l l l lo i i л l Iorvсрс 52 Р l , IR^сK' t ' ) '

листинr 9'a' тeх}rикa пepe

. :хLсГn v1r ]d *s !5- .а] ] -LdD]с| ] : / / y ] i ' заIoь lа |aо , ]ицy сисrсh l i r l iOвоrrL (*0 . ! ]р tdеn l5) (L r nI s tГuсt d]Гent * u]nt ) : / / yRазатеЛи i стаp! .д сис lP l1вЬе e l rовьL ln r п rOdU]o(y . ] . ) / / t ]р0tЬ i r ]

пo l lq iе [ y rdз i тель на .ригЙ lаль [Й .исrc| шЙ вЬзo3 5Y5 9crd0 tsr и с.rхire, Лсl сгo в .еpеleнЁ0i 0 qеtdеnt5

. r ]е td .cnts j ! s - .а l ] t i5 ]e tsY5 qr t . cn ts ]' ] i rRоси! l ( r ]атeлЬ на ф!нкЦию пeреrваnrик

lф l i са !c i0 пеpеХватч((а ] lля з{онo iиЙ зneсь нe пoказан), , o b 6 о 6 J 6 d . n о , , ,

olи] инirЛьнЬl о!pаоoтcиiOв]]d . lеаnUD mоd! le(voir])

: l са l l -Ld! lеtsYs EeideпLs] = O !еtr]е iLs

llo Taюмy llрlrlцrl]|y ра6oтaeт пo,.tавляrслпeе 60"'lЬпrIiлсТво тoоtkitlnr; правдa,:l)г]ав Iln ]lе]lзвcсTIIoе ядрo' чaсть,rз ]lих со стp:пп]lЬlN гр()хоTоlI пaЛaeт' а часть:рoсTo iфe[Раlцaет ра6()т}.' ч,]'о ll пe у/IIrв'Jтe.nьпо 0n]с, 9,10)' l]еДь Рaскл:Цla

lяeTся o'Г яnРa к яr]руI

Page 197: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

198 rлава 9. найти иyнИчтoжитЬl или пoсoбиe пo бopЬ6е свиpyсaми итроянами

Pис. 9'10. пoслeдсгвия неyдaчногo пеpeхвата сисlемнЬ|х вЬэOвoв

пEPЕXвAт зA]tPoсoBкФAйлoBoЙ систЕМE

ядрo экспoРТr'!руст перeмсiiliуlo pгoс.гoot _ кoрпeвoii узeЛ (Ioot jпoсle) sиpтy.aijJной фaйЛoвoй с]{сTeмы prос.гоot, тPaдициoнIio мoпTиpуeмoй надиlreкTopию/p-гoс, Пpи хe"rавии мьr мo,{eм yс,r.анos,lть l]оверх пс"

"uoй сo6стoeппь,ii qилiтp.

06ра60тqик' скрьlваюпtий хaкеPсIсис пpoцeссьl от 'lужuх глaз. B oтлиvuс oт сиЬ-тeп{itьIх вьlзoвoвl пеРcхвaт пrpсмепlloй proс-гoot нe чувствитеЛея к веРсии яд.IJa' а этo у)tte прeимyщeсTвoIПPoс | . й . I l ий | | сp c хвa Iчy тvo , к ' Г вЬ . г ляДn lЬ - . | ' l , r и с ги r r r 9 . 9 l ' j ц 6oл . e пoдpo6 .нoй ипфopмaЦией o6paщайтeсь rс статьe <SrrЬ proс гoot Quaпdo Sumus>' oпy6-лI{кoвaнной в нoмepe зAЬ PнRAск'а.

лис'инr9.9. новый фильтр дЛя файлoвoй систeиы pmс-rоot' о б d ,

" i " и o . | " q ь

. . . l . q ] l , l 0

f r l ] . i г t r е а ] f i l l d j г |

stаt iс int пea-f] l ld iг гоOt (vоrd* *buf 'сoлst с l ra.* nаf lе ' nt nашlсn Off t оfъet '

Page 198: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кorда модули недoсryпны,,, 199

)

// анализирtr канДoe имя 3 диpект0рии|/ если э1a lt,я тoio [oдyля/пpoц€ссa/фаЙлa/с-от€в0г0 с0eдинения'

// кот0рыe iы x0ти[ скPыrЬ. 8oзвpaцdei нyль., в рo lus-O\ в е| ' ' o оD( / ro ь|о i

i f ( ]5 l ]ddеп ( l rа l r r r ) ) ге tuГn 0гetuгn геa l f i l l d ]Г ( buf ' nаm. ' nаm]еn, o f f se t rnO) i

н0вая Фyнцция геасorгnеv гeаdd i r - гoоt (s t гL]с t f j l e *e vo id *b ' f i l l d i . - t с )

/ / иниЦиdлизир}e y idзатeль на ори l !1 l l аЛЬHую f ] l ln r r .фyнкц l 'o

/ / вoо0це. ro з rO Hе oоязdreлЬнO дeлaтЬ кaяд lЙ раз пp0с10

г е а ] f j l l d i r ' с |.еtuгn о]d.rсаdd .-ГоОt (а b now-f i],ld]г-Гоot) |

l

/ / yстанавЛивaс[ с3oй сOостs-c t ] [Ьй филЬтрргOс.гоot'ЕItЕ-oPs >reаddi. . new-.'.аddiг-гOоt

кoгдA Moдyли HEдoстyпнЬl...,ilЛя 6oPь6Ьt с LKМ.гooLkiL'аNl lleкотoРЬIо aДмиllь] кollfпиЛLlPyIo,]. яДpo бe3 пoд.

,lLер)ккп зa.pужаемь]х ]\{oдулeй и yдыlяIoT фaiiЛ system ' mа р, ЛIlпIaя fiaс Tа6Jl]l]lьIсllNiBoЛоB' A 6оз,lcе хрeП чтo ]tlliijlсl!Ь' tlo хакePьI вЬDкlt вaю1' Дa'(e в этltх суPo.

I,lдeoлотrrл lJNIХ вьlгo/l}to oТЛичaeTся oт ll]lсоЛoг]tи WiпdсJws тl-'м, ч'гo л]обaя

сУllпloстЬ (6yдЬ-l.o уcтройстtso, rlPoцeсо пЛи сс'l.свoе сoeДипепие) мoнrиPyeтсяIlr! фai!лoвyю сI{сreмy' пoдчuн,l,lсЬ o6nlим правиЛai!1, l-lе и36ФкaЛa этой учaсTи|| oпеPaтивная llaмятъ' пPсдставllе]Iпая <псев/loустPoiiствaми> /dev/mem (физи.

ческaя пaм'lтЬ до виРTyaльнoй 'rРдпсЛяциu) lt /dev/kmem (фпзичrскaя Iи$iять

IloсЛe вIrртyальlIoй TPaнсляurrи)' Мaпипyлrrpoвaть с Дaппьlми усTPoйсr.вам''\|o'{от тoJrькo lootl однaкo спyскa'Гься rra уPotsenь ядрa eмy не o6язaTеЛьнo, a:lIlачпт' пoдJlсP]ltкA мо/lyлъrioсти ]t.lм lIе нyn(нaI

сJlедyloпo]е фyнкции дeмolтстpl'Iрyю.r, тeхниrсy чтения/записи я'цepпoil пaпlЯТЙ

с пPиIrЛaдIIoго yровня (Листипr 9.10)'

лисrин. 9.10. Чтeние/записЬ в/из /dеv/kmem'Чтениe данl !Х из /dеv/kmeп

] iаt1с rл l inr rnt . [m(]nt fd ' rnt Offsеt . vo]d *btf int s ize)

i]" (lsеek(fd' offset 0) |= offset) гeturn u op*on*"n"" 9

Page 199: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

200 глaва 9. найти и yничтoжиiЬ, или посoбиe пo бoрЬбe с

л|1.тnнf g.Lo opaДoл,rcниe)' , " o d d . .

" : . / , . " ( u r . 0 :

l

/7 ]aпись дaнв!х s /nе'/kmetrrstat]с n l rne int !kn( iп i fd. rпt Offset ' vOjd *buf ' rпt srze)t

] f (]sеek(fd of fsеL 0) |= оf fs0t) Геtuгn L] 'r f ( !г] t l r{ fd. buf , s]zс) L. 5]ze) .сtL]гn 0

loстae1.ся то-'IЪкo llаirти всl всel1этoм пIyсopс та6nицу сисTеIlxrьlх вьIзовoв'.].IакаI{,кс lIЬl {]с нaiДсм' eсJlи нl]каIroй симвonьнoii ]тIrq)opмаци]r у Ilас liсT?j БсзilaнlrкIlI HaNl пoмoгyт lleвтP:Uiьньr1.{ пPoцeссoР и мaпIrtнньii,i l{oл ()6Pa6orчItк^IIреPl,lванпя INт 80h' toтoPoс этип{и с'1стс]\пtьIми вьrзoвalлr, .:.,6ственiro г.вoря,

Егo длзlс(]сNI6ЛсpнЬlii rtltстинr в o6ruсм с,ltуlае tsЬ]rляДrтт Taк (JlIlс]lllJг 9'11)'

лисrин.9.11. Фpагмент диэассемблepноro лисгингa oбpа6oтЧика пpepывания INт 80h0хс0l06bс8 <sys lсm-са]]>0Хс0]06bс9 <systeп-сa l ]+1>0rс0106lrса <s}sLcnlсаl ] |2>0rс0]c6bсb <sys l ,с i ] с i ] l t3>:0Х.0]06|сс <syst0m-саl ]+4>0хс0l1)6bсd <syst0л-сa] l tь:0 lс0 l06bс0 <sуst .0m с i r l ]1Фiclсl]106D.i .s}strlr сd] l+7>]0rc0] 01jbd0 .:sys!ец.са] ]+D:0хс0r06bd1 <5lstUп-сa l ]+9>0хс010бb.2 <sуstсm сal l+10>0Х.0106bdJ <sу9tem саl l+11>:0iс0106bd8 <s!5t0п са l l+1Ф:0!с0106bdа <syslеm .а] l+18>]0хс0106hdс <5y5t0m-сal l+20>0хс0106D.1 <sуstem-сal l l25>0xс0106bеJ <sуstq.m саl l+27>:0iс0106b €8 <system са] l+32>0rс0106bес <sуst..m-са l l+3& ]0хс0i06bi2 <s}stеп сa l l+4}:0tс0106bfi1 <sуst.m .аl l+44;]cхс010.bilr <sуsteп саl l+51>:0tс0106bff <sуstеm са] l+55!]

$0хffffel]00,1ebx

Jae 0хс0]06с75<badsys>testb $0i2,0r18( iebх)Jne 0хс0106с48<trасеsys>са] l *0хс01e0f l8( , rear '4) <. thаt 's i tmov 1edx 0Х18(веsp.1)

lro 41ркv 0с0106вF4h Рaсnoлo]кeна ко]\{ан]]a сALL' ]rслoсpсдствсннЬJм арryмc]rтоN!|{oтopox Яnлястся.,, укaэaте'Tь tlа та6лицy ст{стеl'rьш вЪlзoвoвl Адрeс коNlан.цьI сALL

o д | | U o я д p с к Д o J o v ] , ' ] j , J ' о j а , l { " ' ' o , o е i 6 o ' r ь . o ' . . ' ' "ЙLL . в пекoтоpых яДPaх yказатeЛь нa тa6лlцy систсl1IlьIх вьlзoвов IlсDедаcтсЯчepеэ пPoмс,{у'ГoчJiьIй PеIIrсTp кoма]rдoii HOv' коPol.' nu"r ny,кl,.,noпloй. o,,,'n,

Page 200: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

r ll аpГvllсн |о]] r(oтоРoii являетсЯ нeпосPедствeпl IЪ]ri оrlсРanД x ' 0с0000 00h, Естс.

|1rrеr]Irol что6Ьl егo пaйl,и' пoтPс6уется ]rаaисaГь Iipoстoнl,кий дIrзасссN!6.nер (зву.

чI],Г стparnr]eе, че вЬul]ядит) иЛи llaйти гoтoвЬlii двшкoк в сeпr. Taм их Дo'., ну'

,\ xaI пailт'l аДPeс о6рa6oTчика INт 80h B фаliлс /dev/kmen? ПPoстo спPoсxrе о6

Jтoll xРolleссoр _ oll скaжеT. кoNlaнДa sIDт вoзвpаrцает сoДep]rr]lмоe ?nd6,&4l,l

,lссrpuirnopoв nprpьulсlн,i ( IпteтI!Рt DсsсгiРtoI TaЬ1с) ' восъппrдесятьrit'h элепк:rlr

с Iiрaю и ссть паrп o6paбoтник|

,lаjre€ пPивеДelr фpаl.Nteпт коlra' oпpеде-]rяюlleгo пoзицrxo Tа6.nIrЦЫ систeпIнъlх

пьrэoвoв в /dev/kпrеrrr (листllнr9'12) (Пo'rlrая веpсllя сol1еР)кI,l'Гся в ста'ГЬe <Liпuх

',r1.rhс.11у kегпе] pаtсhill8 vithout LKM' из 3Ah rrомсPа PHRAск'a),

лиФинг9'12. пoиск oбра6отчикa INт 80h внrтpи /dеv/kmern] а!ализирyc i пе]ш € 100 бdйioв оOрaбOтЧикd

!n9]gпod sуs 'с i ]] l o| f

. l r i ]" 5с asп(сAL-]0Ft l *р

/1 . i d.h сi!]l]pл1мOe тaо, i l! Peр!ва иЙ

. l 5 i ( s r d L l 0 ' - l ( d t , г ) )

, . : D , , , 1 , . ' ' о b . , ,

' ' l l r 1pы3аеи / .ev/rrcmi i rп - .p. i ' ( ' /dav/k i rсm O-RDONLY):

(rmеm!0) | . Iu|| ] :

// 1r i ]ьв.Lеr ioд обрiоOl{иG INI 80h [] /dоv/k е iг .а i ][пr!л (&int .Lr bа5е}8*0х80's izeOf ( ]dt) )sу5.са l]-of l = ( i i i of f2 << 16) ]dt ,оf f] i

l . ]nt f( ' r . t80: i ]аgs=}х 5еl=1l о l i=lХ\n.(uп5iq iеd)]dt i lags,(un5i]]nеd)Ldt s € ] 5уs сa l l of f) :

r/ иL leм rcс3eнвьi ' j сАLL сяепoсрeдств0|3ыl 0пeрандои11 {oд сa|ОЙ функЦии dispatсh 3дeсЬ [e п0кdзан.rsp i r tс l r ( r|Ld i .ес i .а l l ) */.eаd[пem (sс a5n.srs сa l l 0{ l ,сALL0ЁIj)] = (.lraг+)lrелmеm (5с a5m сALL0Ег '\хff\x14\!85' з)i . t = *(uns]snеi*)(р+з) ir f ( ! )

Pг iпt f ( 'sуs-са] l , |аb lе ar ' 0r1х ' са l l d]sраtсh at 0х1х\n ' , 5. t p)

Page 201: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 9. найти и yничтoя{итЬ, или пoсобие no

пPoчиE МEтoдЬl БoPЬБЬlКoлсoльпьrс'' всPспи yтиЛIrт типа Ps иЛи toP ЛеIкo 06мануTЬ с ЛомolllЫо длlлгIIой цспoчки пPo6cлoв иJlи симвoЛoв Boзврa'гa с'Iрoкtl | зат!lрilIoU(их oрI!гIrtlаЛЬ-пoe имя' I(oпeч]Io, olrьIтItoгo адмппaтaк ]le пpoвсдcurь,да л прoтия KDЕ-мolrи.тoров такo11 пРисl l t сoвeрцIе lI}Iо 6ссс ' 'лeп, oдн: lкo мoяrшo l Ioпрo6oвaтьзaмаскиpовaтьс,I ]тoд кaкoii.нибyi'lь невипльlii пpoцeсс llапoдo6uс vj и.]!ll bаsh'Пpaвда' и зДeсьiсe не таI( t1рoстol lly ктo R ltarxс врeп'я ра6oтaeт в vi? И oткyдaвзяЛась злllшнЯЯ' oбoлoqкa? нa6JIюдатeЛь!ЬIli аl1]\'иl{ это сразyзaметит' ^ мo.)I(ет' и lleт-.' y мtlolих из riaс сpазy зaпуЩснo tleскoJько кollий .)60'1очск _ кToиx считaстI Еrrlе мо)кнo внeдpитъся в IсаI{oй ни6yдь гIoльзoватeЛьскl'li! прoцессllPи пoмoщи рtrасe _ хРeн тaм нaс пaiiДеrnь.Hа xудoй кoнeц, мoжнo вoo6щe o,rкairатъся oT NlаскиPoвкft. Прoцессoв в сисTcмeм]iolo. завсeмrt и rreyследиrnь, глaвнoе пеpиoдичeскj{ paclrlenЛЯтЬ сIroй пpoцесс ]{а Два и при6ивать oригинаn' э1им Nrы oсЛоIIЛяeм yтилитy LoP, сс)()6щ;ющylo aдМи]iy' скoлькo врeмени oтрa6oтaл,Гoт или ин.]й xpoцeсс,

глAс нAPoдA

.' 'Аclotе u мнozuе Оpуzuе юothit,ьl не pa1omаюm t|а сuс|neма:t, з.|zpуэ|саloщlL1с-cя с нoсuпелейmoлыlo Олячme|!11я (в чaсmнaсmu, с LiтtСD), пpuвodя x <onlaзц в a6спуясuванuu>;

Pи.' 9.11. прос|4oтp /dеv/mеm в hех"pедактоpe

Page 202: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-'.аdorc u j|]|ozuе Фry?uе |.oorhit,ьl не pа6amаюm 1n мlo?o|1poцесcaplIьN сuс.

т|е,IIа:t (а mок|!"||1u я|1l\яюmся 11Pа0nuчес1{u все сеplзеpa), noскoль1|у J|ез|JIIg 1LгLа1tuРoвщu\ вмесnю ma.o ч1nо6ы nrpеIваm|,в.1]nь сuсma|н|,Iе aы1oвы |u1upraс-|1эot;

-.adorе u м1|0211е с)pgzua тoot|tit,ьL ле сoёеp'ltlап cmpокu MОDULE'

LIСEN.E(<GPL> ) ' зас1nа|з!tя'| сu<)|nеJnу аlnеpu|nъся n|u uI 3аzpуЗ1|е '

чтo читAтЬLinuх kemel iпtеrnаils

3aмечатсЛЬн.Iя кпI.Iгa. сoздаlшaя коЛЛскTивoп' 6а11110в11Tьlх llellецких lIAР.

Ilей' тoлкoвL) ll 6eз вoдЬl ojlисьIвaIoц'Iх !|lутреннoстll Jtипyxoвoгo яlrPа (lJa

аrrrЛrrискo\'l яэьII{е)'

сomplеte Liпtrх LoаdаЬlе Kеrпcl Моdulеs (nearly)

хal(оpскoe Pукoвoд(ТBо Ilо llnпljсаl1Il]о lJoдyjlсl.i ]lо;1 LiDIх и частичno пo/1

FlесBSD' rlс стесняroliL'cся тoвoРI1l.Ь o Bj'p]Iсах и roоtkil'ilх ola аflrлlli.iскoll

httр://pасkеtstormsесUriry'org/doсs/hасk/Lкl4-HAсKING'htmIDireсt к€mel oьjесt Мапiр latioIl

пPcз0lITall||я с кoн(хjPеIllllln вLiI(k ll.rL' pасскi\3l''lla|oIIlаяl кaк пlilскиPуютс'l( laйЛы, l ,P()| lcссЬI l r ссTс| lь lс соc, lЛ, l0|| l | , | по/L Wiп( lows I l L i | r !|х,

httpi//WWW.bIaсkhаt.сom/presentаtions/bh.euroре.04/bh.eu.04.bt]t|erpdf

АЬllse оfthе Liвuх когnеl for Fun дnd Profit // P}IRAск.s0

ПосpсдсTвeltttaя стa'гьr| о сoз/lанllи l-t(]v-NroдуЛсii I1 lloР0х1raTс сllсТсNlпьlх

вЬlэовoв Iloд сTaрьl]vt Linllх,

lvrakспiпg tlle Linuх Кегnel // РHRАCK-52Замсчатс]lьlt:rя стaтья o сO3дaппll LKi\{.rv oДyлсii дjlЯ соltрьrтпя фaйxoв' rlDо.

пeссoв и сс1e]]ьтх сoсдIlrlеlllli'i пoд стаpЬlri{ |-lпtlх,

SuЬ pтос_rоot Фando sцmus // PнR^ск-58кРаткo o \lаfloЦrовIio llуTelll Устitновлll свoегo фrl''rьтpа lкlверх VГS,

Linux oп-the{y kстnеl patсhingwithоut Lкм // P}IRAсK-58

ПcPехвaT спстсм]iь]х вьtзовoв 6ез LKl4 и сшrlвoЛьпoii llпфoPllацl1Л,

I пfесtin8 loadaЬle kсmсt Iпodules // PнRAcK.61

зaраЛ(енис LKМ'N!одyJой,

кеrпel RoоtkitЕхperienсes// P[IRAск.6t

Cта'гьЯ steаlth,а (aвТ()pа пе6езъIзвrсTl loтo Adoгс) ' oбo6щaюrIIaя сгlr ollьl,Г соз

дания L1(M.Roоtkit'oв,

Page 203: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чAстЬ III

BoиHЬl юPскoгo пEPиotA II.чЕPBи Bo3BPAЩAЮтсяo ЧЕPвяX, пЕPЕпoЛHЯЮщИХсЯ БУФEPAХ,сHИФФЕPAХ И БPAHДМAУэPАX

ЧeJхш - вom нacmoящсlя цljма aв.]аца|no2a везt|l,:lu c к|жu C]IИДoм 1lеt 1,авнunь! CПИl nсpеОаеnсll nnлцfu ц.p. l lllJoьь, а tlе|эdu - ч.l-!J L.с,ф-Рa^, 6Uп -мо' ,']!aк.'IIbIй (нu, вb' еl) в'o |эаl1но нг JноtnP) 41еl'4 ,,щ? 6''uIцal|а]с 1{|11| чaоaк' aod]q m1Jl, пpaв! щpu''l, 'j|lъLшей 1И кoвpuкe nас, а сezaaнязaщеn к 1Lеjn!J' mак a1! lJnсе u lзuноь! Оrcc' I uксьL снес, лuсmuнzьмu a6лo.эfl:u]lcя, ?оnoвьl 11е noвopа1luвalm, сuauп' !cпа|]uвшuсь в коtlсo]lь1|ый mФ-.||1u1xL|' u чmo-пo mаl|oе aёФnPlrmuвнoе oэlсесmaцa Lнo Оuзасссм6lшpуеn'

Iак€рско.Pас|аl'1анскиЙ фоЛЬклоp

в глyБинЕ xAкEPскoй нoPЬlP]ы xивем внeспокойнoе врeмЯ' интеpвет сoдpoгаeтся пoA yдаpами чepвей, и иx а6ив.HoОьоPeмитeлЬноусиЛиваетсЯ'BетерпеpeмeнпринoситнетoлЬкоо6pывкиy|lичтox€н.нои инФоpмaции, вo и свeхестЬ надвигающeйся 6ypи. на гopизoнтe собиpaются ry!и,лoдсвeчиЕаeмыeспoЛoха!lи мoлrrий и пoдтвep'Фающиe сeрьe]нoстЬ свoих нaмеoeний г!o-мовьяи Dас\а,dvи, пя.ь o |уоo|!'a-ел"ьь'х ]л/дем,i.за lpl пoспедlи. .oда, миrгиoьorзаpaжeнных мaшин- и всe изjа oши6оKпeрe.]oлнeния|тoльKo пo счастливой сnyЧайHoсгии нфoбнoмy васrpoю виpyсопифтeлей ни oдин из чeрвей не униlтоxал инфopмаuию,A фдЬ мoг бь ! тoлЬкo пpeдсraвЬтe, чтo пpoизoйдет сзeинoй цивилизаЦией, если стoaте-|иЧ6с ! j ва^/ы6уз rЬлиUатсcвсФсвo r ' \ дa r r ьх .Aве jo1тoгpoи ]о /де I , , ,ФврeMе;еР ,

Page 204: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлавa 10

внyтpи nищеваpитeлЬнoгo тpакта Чepвя

главa 11

сneцификатopь| пoд аpестoM, или деpни printf зa хвoст

глaва 14

пepeпoлl]ениe 6yфepoв как сpeдствo 60рЬ6Ь1с Мeгакopпopaциями

глaвa 12

L]|timate advеnturе, или пoиск дЬ|p в двoиЧнoМ кoдe

глава 13

sЕH нa слyж6e кoгtтppeвoлюции

rлавa 15

рЬlбнaя лoвля в лoкалЬнoй сети _ sniffering

rлавa 20

тeХHика написания пеpeнoсимoгo snе||.кoAа

'глaвa 16

сeкс с 1FRАlv]Е, или как pазмHoжа|oтся чeрви в InteгnеtЕхpIorerе

.лaвa 17

06х0д бpандMаyэрoв снapyжи и изнrгри

глава 18

honeypot,Ь|, или хакеpь| лЮ6ят мед

главa 19

дaза баннЬlx пoд nриЦeлoм

Page 205: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 10

BHyтPи п ищEBAPитEлЬHoгoтPAктA чEPBя

чсгnи oтп.tсятся к ! leи60лоcнeJэaис| lмьIм 06итаtс.] 'N l ки6сDпeTическoг(J ^l j l l J !и.с]oPия их сo:i].аriия yхoЛ|lт свoими кoгJ||Яvи , ',ус*у;Ь;;;;;;;,,;;;;;;;пасв-veзoзoliскylo эРJ, кor.дa земЛeil прaвиЛи lLnuo",,рo, * o.po"uu," ,*uooo.ртлившe laмпoвьtc ЭвМ' издaвaвпlиc при Pа6oтс ужаclплй трсск и скрerкет.IIxoнeРш кoмпI,IoтсPlioй ипдyстpии, rтьlнeдолrкнoстльIс лицa PесцсктaбсльllшхкoPlloрaциii' a в пРorrтЛом _ trс6ритьle стyдeItтьr с хaяцoй дсятелънoстп в rлa'] j ix ( к , l о Uи - iLп 9 xF) l |иI .и,1a6opа, lot|| i ] ' ' .о г пoйМег) aк |и0 ' lо аI ,с|| l римсн Iипo,3 и .0иoкIIoсPI l (T l|ческимlI voЛеnя\|и ' пp( 'Po ' ' ] им 6J lc f lяurРе 6у lyшсe Bo: 'T l : . ] : l "] . , j "*

инфop]\ leтикl l каr l lаvI .и HастoяlJ lи. Пpoг l lvvи.: l ш 1R.а irгояrammегs) бь lЛи Рaс lвoзь гPonита| lы лyхoм JнтуJиaзма' кa3ir joсь, с l I l r вoт.вoт - и rpoхочущсе сoздапис приo6ретет интеЛлсItт' a вместe с ним . пaвьIIсисaмoсoвсPпIeнотвoвaпия и сaмoразмпorкепия' T.pмиr' uвиpyсo "п1е

r," 6ьr, uьr-пyuiеrr из бyтьrлки' пrrктo не виДeл ъ 6иoки6e!";',"".*; i"',.;;;i;l;.;пoрoчнoгo, o нЙх гoвoршrи в кypилItaх' oни o6сy)кДarтись ila вътсoкoм на}лlltoD'yрoвI{ej им вьIдrJIяЛoсь дPaгoцrннoе мaшЛнпoс вpel{я,''с прихo/loм к вЛaсTи кopгIoраций всс изNtеlrилoсь. инфoРNfaTикa из нayки пpо'вра гил"сь в rrv6 "иvнyю дгвку капl| , IaпиJмаl тopry lUцylo с(160й и нс и ' l i сDeс\:юtr l}m(я ничnм, кpo\|е ЛpибLли пpoгDам\|нoe06есrI(Jeн||сpi l 'кo,тoлo.h н; . лPа

<гlелpaвильнoe} - нaписaнпoе rie Pa/ilt дeнer, o" . ц",u. .,o,}^,",,u" ,,o1^,.,"*ryaнтoв, кoтoрые сeirчас въп(JIянчиваеТ кaxдьlй, ктo гoPазд' и дажe пе пoд эrlгдoii arpeссивнoй идeonoгии opeп sourсе, а длЯ сo6с;вel{нoro yдo"."o;;;

Page 206: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Il удoвлс1вopеllllя пРoIPаIIi пстскoгo зуда ' кr'гоPыi] ()il1lасТ вaс IrзнуrрIr' гo11иT

вrIeРeдl сгоnяот l]oilаlIп с llос'геJx1' Лoдl{141r''Еaя новьIе пдеиl котoPЬlс l.ут хе I]е.

o6ходrrмс, oпРo6oвaть, Bоr это _ llастoяrцееl эTo lIе ЭЛсliТpollпaя тa6лпца u ]le

бaза дarrlrьrх, созДапrrа-.t дJlя тy]lllх кJlсPкoв. в ка,{доir стPoчке кoдa _ частuЧ]ia

вaс са]vluх, вaI сji Д}лlrи. lrPJlдающая смъrсjl Есеi{y lLPo1rсходяцeiuу, ЭTo тo звснo'

l{o,1oрое o t.Jrичaет pеI]€с.rio o| кoнвсiiегa. нo, к сотиJrсtllllo' о]lо сеlltlaс oказrloсЬ

пPaкTичeскlt утРачсЛ,rьilr, э'1ектрo!LlIo вЬlчrlсЛllтсльllьlr пlа]rrr1lIЬ] псрсс,ГаJтII

въrзьrвaть 6лаtоl.овенrtе. соriра,l.llJl]сЬ дo <l(ol1llа', 1l [1r1с1lческoс чуrrствo c,цlr

llerlI{я с rjrrl1и Pa(сьIпа''lo(:Ь' ]lсчсJ.Цо.,'

чеРви lц'ixoдя'l.Uз пtРaкallе6ытшя' pоliДir'(Ь B пo]l()iЛlaнrшl rн создатсЛеп' ll ухo.

Л я г l \ r i t ! . , , l , D Ь | l ] | . , l ' | ' , ' , o | , U ' ' , 1 ' , l ' с ' i ' о ; l l , r l "

| . , , d | ' ' | , " , | | | ' , l , П ( г U l ' : I

1 1 . 3 ц . , ' " 1 ч " р 1 . , v 6 , r , , r , l ' | ' . . l t ' ' 1 1 ' ' ' , I t . . , , , | | | | | \ | L ' , . \ , n l , . i , ' , | 0 l ' , Б )

дуц!e всlr}liРlIoii СсTll Ir вaших рyliах Lr \Iозгar' Лpузья'

яBлЕl{иЕ чЕPвя нAPoдУtlсPrr,iu]r Лаз,l8aю,r. рllзllОI]|lдll()с1Ь вI1I)усоIr, pi\i}j\Iliо,iiuolr(l|хся бФ учaстt]' че.

.1or rск l l ' Ес"Ч l t l l ) ; l i i , tо l ]Ь l i i n l rрvс;Lкт lллц lуeтся . i I I l l l |Ь пP l | 3a l ]усxс 3aI)aл{с l l l l oГо

()аil"'lа' 1.о ссl.сBoi.i чсplJЬ ]|PoIijltiil(]r R j l]ol() i\{il]illll|у ..]'rl0с/,l)я/ l]''D,lO',цoсгiIR)ll.

l i о . ]п1t l lЬ | lрoс11) l J ( ) i : i т j l в } I I ITсРr|ст , Пo (уТr i ' чсPI j1 ! яn] lя Iок:я i ]Ь l с ( )1{( ) ав ' ] .o| |ом.

rп , t i l tи pо6оrа l r r r ' 6pо l r rс I l l l ь l l l l | | l L l ] ,ч l !L ]у I J rc} lЛP l l ( ) i1 Сс , I l I l l I rЬпtу) t l l с l ] lшr ! l t оo .

P0 , l , ьL lя i l a l } l ' l ) J{ l IB i l I l | . | ! , t j сPr l с i i N lo) |{ r | ( ) с l ) i l l ! ] t | | , l .Ь ( l ( ( )с l \ I l | \ l с ( ] l {иN l l I ЗoI l ,цa] ! lЛ '

I(oпс,l.l)yl{,lo]) |{()1.оl)Ьlх ]Lo,ц)фl] ||рс/LуслI(Л рсTll Irсс дo r|(:rIlЛlcji' lrt.jL]) |lo,|()Nl |] lрil

u ' ' . , . i , i , , ,бnу уn . " , ' " yл l l с1Cя ' l {СTa | ' ( ) | ! ln6 l ( ! I l |рос1{1| l | )оr ] iп l l ] ' ч | lР| ]с i1 o6хo jL l tT-

L l , l ] I i l l \1 l ]oгo / ( )рo '{с o l I I l l 6ок l |ро0I rтиРoв lЛr . l ) r кoсI j I l1 l сс l { l l х (Г i l l I l l l п l ( с l ) i l | l1 l l l 1 , с

сlГ0иNioстЬ с'l.ilIllп1ii 1l у6ЬпrIt oт Rllpусril,Iх tl'га|()' l\,lу){|ll{lt' пьI n'пn{o lЦnr,\с,гaвь'

1.с' кAкltя l|;r Rас -'lс)кllт o1'nс1(.1'RсnIlo(|l.ьL llo:)П)мY I|иоll0PlNl чeрRсu nуqIlIс llс

llисaть. Учrlтr мa1.laсть, .lссеNl6Jсp TсP/lI).про'плкlлl'r. Зa6у;tьтс o леструtt.

цurll /цсстPукTr{вIlый кoд. )то Ii,loх()ii к.rд, i]а паlulаj|}lilNl N1rюIo у\1ll Jlе lJilдо)

a ухl1Рптьс' tjропllкlIYTь в llu,(.r]ион удi|rlснl1Ьlх узJIов' ]ЦrIl этo\r lIп o/ll{ll1l]l l1l{х

I l с yРoI lив , вoT цсJ lь ' ' tостo i l l I t l я i I сТ lu l l Io ro хакeрaI

тa6лица 10. t . 'opro . г .pdд сетeвь < вJр ,сoв Oт "еpвя Морoи." дo rа l / ' д rе ;(yкаэaHноe кoлиЧебвo зарaхeнньх мёшин собрано из pазлиЧнЬх"

дoоoвервo, поэтoмy нe восприяимаитeеrо как иФину в первoй инп*y9----=--

o6nаPyжeн пopажaл

виpyс Мoрриса 1988, Hоя6pь

Мe|issa 1999

LоvеLеt(еl 2000, маЙ

oтладoчный люк вsеndпrаil'п.pепoлнeние буфера в fingel.

ЧелOвeЧеский фаг|oр

чeловeЧескиЙ Фагrop

UNIх, VAX

6о001200 000

з 000 000

Page 207: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тa6лицa''o.1' (l1poДoлхeниe)

sаdm nd/Ils

2оо2/ июнь

2001. июлЬ

20a2, Июль

2003. aвryс|

sun so аris/jls

rs51S5

]ч5 sQtNт/200/хP/200з

1000 00a

80001000 000

2 200 000

20 000з00 0001 000 000

yЯзвиMoсгЬ в iЕ с ]FRAIYTE

пepeпoлнение 6уфеpaв sun soьris Аdmins!]tе/II5пeрerrолнениe бyФepа в llsлepелoлнeние бyферa в IIs,

переIrолнениe бyферав opеnssLгIерепOлнeNиe 6yфера в sQLпeрeЛолнeниe буфеpа в DсoNl

кo|.lстPyктивlJЬlЕ oсoБEннoсти чEPвЯС aпaTоivlJчrЦ(oii ].очкII зРсJ]],I,I чeРнЬ l lPeЛсl'anЛЯ(,l. сс16() й llоD(lх'Ioгll'lссIl, lrс.oliпoРo,lllIЬol п1.хillIl,l:l]\1| l] к01!pом пt0)oю llьl]tc'!rГгЬ jIо ]\lo]]!r1lei] nlсDe П)lI oсJю|i-| л ' i | . ( ' i \ l o l . Р l I l : | : к ' l v | ' l , | | | ) , | , ' / ' J , ' ? ' " l / | | | l I t r ' 1 l l , t ' | ] , | i i , l l ' r l . Л , l , ! | l г | , ; \ l , . , , i r ! ' vl-азyljс!Tс,l] э'lo то.iIЬкo схclr|ilI lI чсPви с()l(cll llс o6ЯзnIrЦ сii lIoд'lrtJl,J'ГЬс,l,

Page 208: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

2(J9tв!три пищeваPитeпЬнoгoтр.rг. Чepвq

lIeo6холпl'Iость дсjlеrпlя ]\loEonитнoii сTРуктуPьi червя lla гоJroвy и хroст вьг

JnаrI.1 oгpаlilrчсн}lliм рaзl'eрoNl пеpеlк'rIJяющtlхсЯ 6У4lеporr' котopl'Iii в пo']aв.

'lяIопtеrl 6ojlъ1]1xllсTвe сJтучасв нс пpeBьIlxаот пapы десятiroв 6а!iт, .lълЪкo

са.

rlьll\ ltроrioтгIьlм 11npIrмrlтllвнrnll чеРBяlI yдaстся втIJс]lутЬсЯ в этLlT о6ъе11

Цс]1ll l.ot] ' n остa.rl ь]]l)tх ,(e с,jlvllаях снаЧа"!a ]jа ilтакуеnlую ]!1aшипу зa6РасЬlвireTся

зaгрyзq11к' yстar lавnиваtO!rПй .Гс

P/] P.сoсд11lreI lие r I пoдтяг11Еаl()tциi.i oставl]rиii-

ся хвoсТl 11llаче llaзьiвасмr'lи oсrlоBriЪINlтсjloi!1 ЧeРBя'

Гo,rова чсРвя o|вечxет за nсPсllonlIеIlпе 6уфсpa, JахЛaт ),пpaв..1снl.l, уl(а.пeriнoiiIlltilпrнoil' ус'|аrюпку ТсP/lP{oедlrllerlIrя Ir тpаl1с1loр1lryoвкy хвoсТа' о6paзнo

г(]вoрЯ, r{rnoна э.Го нпндзя' ДeсаllтllPyЮlЦtliiгя r укреп.lleнньIl'I paй('| врaже.

I o ' U | | , l . г j t ' ' ' | ' ч 6 . , J { т | " , J о L - ' , , ' U х ' , J | , , \ , р . | , | | р , , o , , , r l ] ' , l ' I l | | i i в o .

poTа ]l зilJil1r.ак]IIIIIii пoсадoЧlп,lii N1аяп' 06сс]lсtt'JвnrоппIl.i прrlзспlJlс11]1е осlrовнoЙ

, | , , | ' | l , | | , , | , ' | | г . 6 ' , , , : l ' } , , | , , x \ r l , J J , , р w , , | , , ' , L , | : , ' { l , | ' ] L ' | .

Цсl)у ' сl)l,i Ilаlо Iцt{ii l{PЬr r IlУ (),.l IlопJy I Iз сгo 6vllх]Iх)в r J пеРсдаloщl lii \,l ЦJ1lllJеl II iс л пб0

ILll sh(]]l lФ/l'.п116o l]i| ссtЧ)етIivю фv}ll{цltto l.()ot' о6еспсчlIв.uоцуl0 у,l(алrflflЬlji,1oсlt]J к (r]l)8ep:r', гo.llовir ЧЧЛ]я чаlцrr вссгo jlllt|n1\jя llа Aссe]\t6Лсpс' il в ]lаи6с)-

, l l сс 0гяс1 'сг l j . ] l l |Ь lх сЛyчn, lх _ l к l I loсРедстBсI l f lo в N l i r l l l l i I i Ik )NI кoлс (1рa l l с J lя1 .о-

рь| AсссNl6nфa llс IJе!сlrlрrl]JtlI(Л \lrIoГIiх ](lхl)сr(1 вl ]l,l х 'l,l) l()l() R ll llзllPllщсlll]ii).

(h6сlпсllrю ГоBoр'|' l1)лов v.tсpвя мolrст 6ьl'п, ll llс(l(().]]Ьк()' '1l)Йa

olI сiЧon(сT tto.

] ) i ln i l l l r , I Iц: l ( ) , !Ь| lo p l l з .п l lц | l I , i х 1 . | | l I l ) |1 сoРI l сPoB ( | l l t I lP l l !Ф ' Ms sQL ' Мs 1Is

l I sсD(1N ' l l l i 1 .LPrx ' l )a ) ' ]ЛI t l l l I l l с r lЬ Iк) Р ; l с I |п|PяЯ apс i l ! сП()oП) ( )6 TaI i J l ' . У Чсрв ' МoP '

llrri'а 6ьr..lrl 'Lпс го'1оl]Ьli 0]llIil l|(Ц)ll'{:l]|i! iln8сГ' дPyi^я - soп(llп:ti1' У NtWOItNl'a

LL0n l i \ L l , f |Ь t ( ) J |o0 , ч1 .о l ( )з | ]оЛяno сь|y P l l с l lp ( )сTPn|| ,пъс ' ЧсPсз tv . t ) , iЦ}с !рDeрЬ l

l | дЬr| ) r ' | n rPC. , Ь i l l d I l lPd ' ' l . : rv{ ' l xх . L0v( l sa l r ' s lарр i r г n s laпrпrс| l l \1с j lп | |o o lL l to i i

l t).r|()llсj Чтo (Л].o]\I llс lк)\rcllIil-l|о ll]\1заl]яTЬ ||ср|]l,Ic rqсс,]'а в 'IoР10.

l{aк D}I,LIlo, ко.

' l | lЧ tс ' | | ]о тoЛon саN|o l I0 сс6е с1 lLc I t ' l о чсм , l с lоBОр l l1 . l } l oдt la ум l laя гoxo0а ] Iyч lпe

листянr 10'1. гoлова чeрвя сode Red, pаспoлoженнаЯ 3 пepвoм тсP пакeте HпP*апрoсa

l ! l l l l l l Хx l l rх t r l ) i r l l l l l [ хх[i l l l i хx lх l l l х l luхx t l l х l l х l xi t tх iхx lх r ! l ] i l l l l l l l l l х l l хх lrхxx l t r l l r t ] i l х l l l х l хх lх [ l l xхr ) l } I l l x l i i t l l l l х l l xх l l ) l r l х rxr ) l l r l l l х ] ( l l l l i l х l ххх lхх lхх i l{ l l l l х l l l l l x l l l х l xх l l (х l IxХ lХr l r i хxN l l l l x l l x l l l t l l l l l х l xх!U90901U6158!uсbd:lu78c11!9090!U6858ъUсDd31Ul8cliu!090ru6в581uсbdз1u/80]1u9090iU909cIu8190 iu00сЗ lu00cЗ1 ' . r8b001u531b!U53 i i x t ]0078ru000оtu00- а HTIP l0

loatеnt tyPe tехt/ хпll 'сijntелt lenqtlr ]]з79

Хвост.reрвя pспrаст 6оrree о6п{ие зaдaчu, oказaвпJliсЪ на теPpIIToр1ш1 nеРoятпогo протIrвнIrка. сЛсцнair Дo-r]жerr пePвъIllдсЛoм O](o11а'Гься' yкоPеllI{вrnl1съ в сис'тeп{e. н€котopъIс чсРвrt зepъiваloTсЯ в ис]lo"1ltяеп{ьIe фari.nьI' пpoписr'lвitя п}"тЪI ]ll1II в ]i]1loчс а l]ToN1a,гrl!Iескоro зaпускa' nек01.орьiе ]loвoJьсTвyются oill lоll JишЪ

Page 209: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

210 глaвa 10. ыryтpи пищeваpителЬнoгo траlоа чepвя

оЛepaтrrвirой xаnятьlo, пoги6ая пoс'пс вьпtдlочc}rия питания или tlcP€зaгрузки,И знаете' это пpавильнoI нaстoяlrr й чеpвьдoл*.",т в""'" novевy. u.'"пь,Ъ,''y,o'дая oт \{аllo1ньl к п'аUll'lнс, в эTоNI п eсть еIo прeд a3lrачениe. каIt гoворитсяlNJавP сдeJlаl свoe Д€J]o и lfожeт ухoдить. Сдслатъ veрвrо пpeдстoит rre так у)ки м}iогo] lIайTll пo Nleн],rnеli Nrepе двe )кep1rьI, пpигoДньrе для вIiедPеIlия' и зa-6рlrсить в 11их свo1o l'oлoвy ('Гочl lес. Iroпl'и свolIх гоЛoв _ нy чelu н". PaкеTa.носrг'ГeJlь с pаз/]e.Ц,lющеiiся 6oсго.1lrвк0Й?), TeпеpЬ да)кe ectи чepвь yмPет' чI'lсJIсri.II0стЬeгo пo]IyЛЯЦЛц будст paст11 в гсоllleтричссIroй лporPeссии. ввидyвъlсoкoriа".]1.opитмltЧсс1rоri слo)кнoстi] l.l o1.сутствия orрапЛчeний rla гIpсдельIro дot'lусти-]\{Lllи Pаз]\tep хвoст чеl)}я чащe вссt.o Pазрaбатьiвaется на язьll(ах вьIсоl.огo yРoBttя' напрrлrtеp Cи, хoтrt ФoPтrIЛи AJrгoл п0дoIIIлIl6ы ничутьне хyжe' llo этo Ркедс,'lo вкусаl o l(oтoрo[1 не спopят (хотя Cu всe равнo лyчшс)'

лисинг 10.2' хвoс. чeрвя морpисa (пo соо6ражrниЯм экoнoмии мeсrа здссЬпpиведeн лишЬ егo крoшечнЬй фрагмент)

. t . in]t()/* 0Х2а26 */

FILЕ *рrрAсnаг lnput bUг[64l ii 204. 0r

р r p е - p o р e n ( X s ( / u s . / u с b / n е t s t а L - г . n ' ) , l s ( ' . ' ) ) i/* &еnv102 6еiv ]25 */i f ( р i p e . . 0 ) г е ш f i ] 0Whi l € ( fg € t s( i iput .b0l , s jzеоr( rпр!|-buг) p]р € ) )| /* |a 5\в *|

Otheг.5 l0.рt0)i ( igаte!аts >'500) bredk|

ssсanl(]nput.buf Хs( ls ls , ) , ]204 ]з04) /* <env+127> }s!s.*//* 0| l rсг stuf f ] l l соmе bасk tо th is ]аLе. */

]/* 518' baсk tо /6 +/

rt rnrt p !s 544O1

lt* 54a */

Iloдавляlсlщсе 6oльrпrrнствo чсРвеii rlе ядollи'1.o1вссЬ вред от'iихсвoдIlтся I( пr.PсгPvзкс сетевьlх (аI'aлов из.за ]lеl{otiтр{rлиpyсNloгo размlio)кеllия' Лиrпь y lre.Iflloгllх rla кoпце хnoстaрaсrloложеllo ядoвитoе жаJro иЛи, в 6оЛeе o6щем сnучaе'пoJre3]rая нaгрузlta (читaii _ 6оeв;Lя нaчинкa), напpиNlеP| чepвь Ntoжет yсTariaв,rirвaTь на атaltyrмоrj п'aши}rr тeрми]raльllьIй she]I' прсдoстaвляющий вoзмoтснoсть yдaneнlIo1.o адп'llttистp!!poraния. Дo Tех пор' пoкаэпидеlt{ия тaкoгoчеPвяrrе oyде1 oстaпoвJrсна' в pyкax eгo сoздaTeЛя oка)кyтся pьir]аIи yпPавЛeния rra.шцill N1иPoru' п oн в любoii lIoIfепT сNto)кeт прrРвaть ero 6рeпнoо сyu1ествoвaниe,IJeт, aтоlлтъrе электрoсTанции взopвaтЬ не yдасl.с,r, нo вoт пoдopвaтЬ экotlollи.ку' vнинтoxив 6анковсIrую иflфoРN!ациIo' сNIo)кeт Да]rrе вачиrraющиi1хаIrеp' скa.

Page 210: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зitтри nищеваритeлЬнoгo трапа чeрвЯ

дoлг пЕPЕд видoМ/2lли Po)l(дEHt|Ь|и.чтoБЬl УмEPЕтЬ

( . 1 ] ' , г i l . 1 . 1 ' , ' Ч11 ) l l i ] , l | Ь | r ( x ' х , l { | | ] rЬ l х

l ) l ! r | | l l i I I l о l l ( l l L l с I ) | j l ] i i i ] П ) i | ! l l k . j j 0 ) . ' l , 1 r l k , ( ) Г ] ) t l -

| | . ' l l l ' l r 0 r | | х l a ! Г . ) | ] ' ) | ) , ' i ] r .

\ t i l 1 . l r с ( l х ( . l j o6o ' i l l | | l | х l | ] | ( 1 ' | ] l ) 6 ( )д | l Ь l ) i l с l ) | l l I r I ) l ) | t j i ' I l n с i lN !ON l / ( . n с э1 r ) r t с , r L l I l I o ,L l 1 l ) . Ь l | | с | l ( ) д1 ) l ] | 1 "1 | ' ( ) | | l ) no ]L : L , x i l n i д ] ' | i i l l ! | , l l | l x l l д yv \ |цo " l ] ) l ( . I l I I i r хoд ] l 11 ! с ' r l Г аP '

t l l ) l I l 1 l ( o l ( l ) у ) L ( l l nЛ l к . i ] ( ] I l ] д ( ) i i , l l ( ) , l l , l l . P ' i I l Bая l l ( x )б \o ] l l ! l l у l o ч l I с J I l ] l | |юс ' гЬ Uo I I y J |Л -

I LL l l | , ] | аPv l I r с | l I l { ' : ) П ) l 1 ) | l I ) а l ] r l . l l ; | о6oр t l l l l 1 t s r i ] r с , r ] ! с l l . п t . l I lю i i l i i l ' Г а с ' Грофo i i '

2r1

:ii\' }liLnt Лo с€ftpeтy' зrrаюп111с ']1к'Ll1 }'Tвeр)ri].lаIот] тaкaя угPозa воэ]l]1ка]1a у,кe Ilеj;tlr1)[])а'Гrrо, ll "тrlIrJь гpу6nlс oшrl6кll' ,'(.lrrylI(ен]rьlе пдI IlPoеIiтIIpoвании чеPBей'

lс позuo.IlJJlп oli Еоп.lloТllt.Ьс' rr l)i]rjlьllостъ' Тaк чтo vчxте lIатчаl]TЬI

il(ц].пеnпllii пlIск lIодьl i1oду'цЬ]пnе чеpnIl' по,:L11]ртirlвaюxl е вoэ}1ФIiн()сTЬ }Цa-:l|lI]t()lo коli(])lIrуpllpоваIlllЯ ]l xoд]{nЮЧсll]jл llr lrllrlorl чeрeз I4птеPн€т, ТoJьl{o

г | | | , L ' | l , , | : , 6 u 6 r " | , P , l l i l r , l i ' | Ч | l ' | | , , ' | , | l " l o | ' i ] с ,

]oГIlIiIl l1оgcдсlllt}| чL'])lrя Ал\Irllll|стРaтоPЬ] с1авяl. qn lьTpьl. il чel)вЬ l.lх yспепI]ro

;r Реilлоловастl Заrlус:rtllo,l. iLl f l ] |l l ll)\'. ' lrе])Rь пoд1rraтъiваст 6рoшснншй с11у rц11Т и,

'jо.по-!ъЗl]вавnlIlсl'3n}!сrl]!Tс.lllnj n)i\1 гЦnr1rIB]rпIia. со вссIi,rl.pl] 6Lст сгo llo |oЛo-

lс, llpавдa. Il ЛPобrrсs1 |!,llсс1' TО'ie хnxт:rс l., сrlстсlla рaсIlpoстpаtlснrl,] ]t.]]i!Lll]lo!

]lLrx'ilta Hс'Гl)1lln() 6r'lL ) пo]rllfi]тЬiо ЛrцсI]тP:r.l]1зoванa. llo n yr1сTr' lJРr! сrlучac пo

. . tоять зa ссбя. l l L l r k ] rдм l l l l i l ст l l аToрь i J IOд l{ jП jv1 I l j t iu r l r t -6( rм6у ' к ) t l t : .N{ чертя l{

l ] i L ] р | l l в r п ) r l l \ к ) ч ( 1 ] L ! я l l а l i т с l { l l , B o 6 n ( с r I Т y Г . с ] | , ( ] l l r c r l a д ч . N l l r ( ' L J N 1 a Г ь I l п о p a 6 o .i r r , l

Pи.' 10.1. стpeMительнoe pазMнoхe|иe ЧeрвeЙ вызываeтзапoP

Page 211: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пицеваpителЬнoгo трakта

чсРвь дoЛri(ен 6ePе)кl1o oтноспться It <liPIJрoдII!1il' PесуРсам trll6еpпeт чсскoгоl\Iиpа - oпеРатllвпoй и дtlскoвоii 1иIlЯ'ги' l1Рoцсссrrрноll! вPемеl{и и ]lрoпyск]ioй спoсo6rroсти сстсвьrх liаIr:Lllo!, пo 6paтсr{lr paзleляя lх с oста.lll'lrьrlпr o6и.тaтелямrr <гл}rбrпtьi', ПPrдoстaв'!сн]]ьIе сa]\lu сc6е.repви paзмпожаrотся в гeoмeтpичсскoй прol.pсссrlиl чl.lс'Itсl1нoсТь llх lloпyляппlr взpъrвoo6pазнo pастeт.]1 веllь тoЛшII{Ла Mar.истParrьпъiх uнт€Р]Iет-rlанa,loв пе 6сзrpaппч|lа| Pnнo пJrllпoздflo сстЬ насъrlцаe].сЯ ч€PвяIrll l'' <встает'l нс тoJrЬкo llpcпятствуя xх далЬне'rIJIrN!у paзпIIroжеIlItюl tlo lI пo/{llll]!Iая с посTсxи мa'Гeряцllхся i]tдi\t11нистllатo'Poвl vстаttавЛиваloци l l l l сpсrrry i t loщr lх че l)неi i U трухy(сltt, P]iс' l0'1), ПolirvиТе )tiс вьl liакo]ll]цl чтo адNиlll{стра1оPьI o6ъяв.rtяют вoiilly'ЦиrUь те]\l чсPвяNrl I(()TopьIс п]\f сlIJ]ь|lo дoса)кдaют, BеДliТс сс6е скpoмнссI БvДьtстиllre l'paвьl ll пIl)кс p&laРo,l!

тAктикA и стPAтEгия инФициPoвAнияoснoвньIe lpаrIr нпrдзя _ 1сNЛк),Га. tl.rIзвесTIlость. IФJ||oча' lтPоBr,"'rокtL drlii])IroЛoв ,r вoлк()давЬI' сrlyJ()|цис rIo охРаl UIспIol]i 'Г(l)l)l.1ToPl' Il.Подгoтoвка к за6poскс sЬei l .кoдa пa.rrI l tac ' r .ся с оr lpсдслоrr l tя IP.а,црссr lв, r rpп.Io/lIII,lх llЛя вToP)]{с]lия, ЕсJIIl чсplrь пirхoдlflс.'l l] ссTlI кrrn(а с' т|)ll (ll,ар]]|lIх6итa lP- l rДpсса коТoрoi i Р:u lI lы 110' 1() oс [ lо)r l lо и | lpoс l{аJI11рoLr i l lЬ (Pn(rIo,|рo.шитe J|Юбol" l ска i le l )| фJIи l lс 3I lасTс ' l (а]() ' ск l l l I lЦ)о l] l l lиo сeTсi i ос1a-]IыlЬ|х кЛас.0oв зall''!IlасT с'lIlIIuкo]l1 ]\fпoГo врсNlсlILl ll llсNlо/lJ]сlllllJ It!llв,lloкаст к (]('6с в|lп'мaI lис а t l J \ l I I с r .ра 'ГoPoЛ] a в l lи ] !1a l l on j а lL i l l I l l l l | ( :Ц)а l oрO]] чс l ) ] ] l l ] |Рф1J loЧ l I |аIo1.lrс з::oуtтoтpсблять, l]rrсстo э'гогo оrtи пt,I6tЦ)^lo'Г пдРу'гPoilкy сJlv.lxi,illl,lх ]P.a/lPсс0l]' вЬ|ltoP)кЛBa' ка)кдЬIii Раi] сскуlI./0lYI() ,lilузY' даloLllуl() TсР/1I)'лакcTli'кам врeм, PaссoсATься l I лрe/ loTвРа l | (aк) rцуro o6р i t3oв2 l r lпе i ]a l IopoI j . I Iс ] )Л l )5lаInmеr' lоРая(aюItIиii SQL-ссрвсрьI, rк,/lсЛil.ll тnкоil lla\rзI)l ll IloэToljv сд()хPаI'ьI]lc вPсмellиl ir воT Lovс sаn ,Io'll] t.l lIollьIIlс, Niпrda lI rrсrroтoрr,re дpугrrс вср-вI.' IIe Л гPaю'I в ]ioс'l'l.l п oпpcдеЛяюT цеJl сll ьIо ;lдl)eсl эврllст'1чссrrЛ]\' llу'|сI1] аrra-Лизпрyя сoдер)IIl^1oс n(ecткol.o дискa (]lсPсхnа,|ьlвая пРoхoдяJrulii сlrЛOзЬ IlirхrpафиIt)' o}rп I,пIуT ull,ьI, e-lпai]'ы и прo.rлс rroJеi]]llJс ссЬl-llltl{! зlн.rс! 11х в L:llll.сoк кa lЦидa,гoR l l a заPDке] l ] ]е ,

Зaтем IсaядидаТьI пpoхоiLят lrpeДвaритслъпоe Tостuрoвarrrrс' aIeрвr, дo-,l;кеlr y6с.lLиTЬся, чTojrанньlii ]P.aдрrс Дeiiс1,вLIте"1ьIlo сylцестllyеT' уД;шеIIIrьIi{ y3еJj llе вI]сЛт и сol1ер'{ит yя3виNlyю веРсIlto ссрвeрit,Ulи oперaцltol]llуI() сuс'rсму' I.lзвссTнJ !э ' Ienв|o | | .оn\| ' \ ' г | | \ |ун1 ' , . \ ' l l кn-оv U1Pо, , , ,Л|| н l l , | ̂ |D 'с , \ n ,о l o , , lu ! ,Пeрвrnс Двe з;Lцaчи peIЦaIoTсЯ пpe]Iелlяo пPoсlo: чcpвь olrlравЛяeT ссрвеpу лe.г:LnьIlьlii запрос' на l(оToРЬ1i.i тoт о6язан отвeтrrть (лля ве6-ссpвeрa этo зaпрtlt:GЕT)' и ссли сеР!сР что.тo шPorJьIllllт в oтвe'Г, зЛачllт' )кIIв кvрriЛкa (P]rс. 10'2)]Зaмстиlr' vтo oтпрaвлят], сePneрy эrro запРOс] 6о,rее Irзвeстпъrй в нaРo/.]e кatt<рlпg>, Еераi]Умнo'тaк как сIo l{o)кет сonФalJr нсдPужenю6тiо IIaсТpoснньIii 6Рal1./.Iмаvэр (помнитс истоРи1(r пpo кРaснyю п.Ianoчнy?)'с oпPсдeлеllием веPсии ссPnерa дeJa o6ст.'rт знaчптеnЬI'o сЛ.]!iнсе' УlIивсP-саJlьньIп{ц решeпrlя\Jи i'дссь п;rе lахнет' llеtoтopЬiе ]lPотoliojlьl llоддер'l(и!aютспеци:шЪпуlo кoмarrду 11ли вoзвРаlrrают Repсllю сeРвt]рa в сTрoкс пРrirleТс,r]]ияl

Page 212: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

]i}три пищeваpитФЬнoгo тpапа Чepвя 21З

i. ч:Lrце всerо llнфoрi1ац]]ю пpиходится дl:16ьIваТь ]lo нoсвснньllr ]lPl1зllaкa]!1,ij aЗ.ir гIнЪr е oпеPац11оrrнъIc сllстсilъI и ссpвсpr' l Iо.рaзноlllу pеа1.иPуют нa rlесТaIt.

raртньIс паI{стьr I1,n xPoяв.!'юr сс6я сllсrrllфичсск]1,!tl1]lopТами' ч'|o ]toi]!oЛяeтrсуIцсствIrть гр\J6v]o идс]rTxфrlrrацlllo ]кеp l.!l'l, A тoч]laя rЦснтифlliсaция ЧеРвlollnnJa. как заilllv пaнта.IонЬI' а с06а]rс llЯтaя н oтсeять зaвсдo)lо

, ' 1 . | | ' | | l ' " 1 r ' , " | | 1 , "

| " P \ , | Р l u я | 1 1 , P | о Л х . , , q | , ' I i ] \ | ,

]rcII]ri|iioll' I{llчсto Itе проIlзоiiдeт' голоra пoгrl6пeт' тоЛькo lt всcl.o.

"unoo"

'Е , 'o, ,",

t1.41.59.27

[-_l-=]l

Pи.. 10.2' ЧeрL]Ь рaссылает запрoсЬ пo разлиЧным IP адpeсам

' . . . : , , ' . . r r : , . r , r i . ' . I r . . t . . r I . , . ' . - . , u i i , , . t . . r . | | . t . r , . . r . . . , \ r . . . . r ll l 1 ) i Iуv i ] , r ]YvСn() |1r lЬ l ] i3 ] | ] l | i l I t l l l Р l | ] \ Iс | ) / '1 l l i l l ] с ' r |с I l I ' l хсЛ l l с l . l t i l (о r l l ] ) l l I } . l | ,1с , l

. I .CP ' I la '

i1 ' l . . r ( ) ' ( l ) r l l , IN j |ПrJ l I l l j I .п| l r l rv I l )11) l jС] | | | у l .n у ' r c . ] i l х l l l . l с l I дPy| l lM I | ( rР| ] €N i t о i l] t1) . ] ) ( ' i | ] ] , ] ] ]vсT l |1 . i , | ] o l r l ( '1 TР|| 4 , l |ОJ l c ' гoI l | , l х , эТ( l l i а [ l6o iсс yЛ i ) | ] I I \ l i l , | чaсTь oI Io .

]1 iL r l | | ] ] l ] ' сn ] с ( . r | | l l l P{ ,Г| | r r ' I | ' к ( | tд[ | | l ] ' |1с| | )аToР) ' ' Pоr | 'oхaст о6 )тоN| ' ПP l l7 tсск i i! : ] ( ' J 6с i j l l )Y ' l а сN l ( ) ,{сT ] | | ) ]1] t l r J l vTЬс , l (в( ) l lм>| l rpсдо, r 'ц la rцaя вr .o| l r t сс lп l r : , 1 .aк l rяr ( х l l | |к i l i l fПIJ ] ] l | ) \ , ( l | |{ ) i1 : r iu IL] l1Ь l l t i r r ]Ь l l l aoTс ' I < l r l Lкц l l I l l lЦЛ0Й' , / lЛя 6opь6Ь l с I t с i il i . ] )n] l Px i j l ] ] l к ] ln)Л l l | ( ) | l ( , l ( )Лс l r} l i ] I lп |opI lPую'Г l lР I l з l l l t IL зnР i r . l ( с J lия } ! : t i l хB i rГ I 'вa .lI| \'зс'll поl] ft)])llo. чс]\l lr rIDl1lroдяT свor0 noltvJIяlUllo I{ гlt6еJ]tl) Il6o Bсс v:r.]rы иll.t l ) ] r ] l l l рv( ) ,Г (я I1 l lOгoкP l lTI Iо l l чoP l ]з l l cкоTopос врe l l l я п lчпI la lo , г к r Iшo 'ГЬ Ч l rрвя l{ I l j(,{lЦ)lll()щllItll rlсo сItс,гсrvпьIс PесyРсьl l]о псеl\{|| I]Ьl'i]l{itlOщnllп оTсIо/:Ia пoслeд-

BЬr6pa]J )ricРтвY, рaспо,r:Lг:Lloп(vlо xo R1оP,l{еll|]x), чсPвЬ Лосылаeт сrPверу зitпрo('ll.рoIlojlнЯloпlirй 6v4]ср rI лcрt'.lillоцllii 6pазrrы lrpавлонllя shе|l'ко;Iу' li(Л])l''iir lояicт бЬIтъ псPедI1II каrt nllестe с rll'l)ellojll IяюU]иIIсЯ зnпPoсollj так Ir о гДeJl,l iо о1.i Iс|o ( рr lс, 1 0,з ), TaILiя стPaтегl]я гlторжeпi'I l l aзьlвaсTся мнol.oстадпilrrоii, Еe рea.:rrrзr'ог' в .r aстнoстri .rеpвь Slаppеr'ПPri пoДготoгlitе sheLL Iо/.tа с'l1едуеT rloлlrxlТЬ о 6рандlrауэpaх' aпaлrrзrrpyкlщllхсодеP'oJi\loс зaпр(!]oв jl0T(екaroщ]lх все пoдoзр]]теnьIlь]е паltсTь], эTим, в чaстIlосT]1) заilllIlаlо1.с]'l фlJ]r'Тръl уPовI{я пРп"lожеIпrii' tIгобьr из6eltать расстpелa,sЬсll rtод дол;кеrr соoтleтс'ГrrояaTь всеIr TPс6o!aнIrяlI спец фп].ацnu ]1Роlrlкo'lrаtI 6ьlть сиптаltсическп tieоTЛпч llllьl11 OT 1lop}lа.IIъньIri lrol'ап,ц L]eдЬ 4x1Лr,Тp ана'llltзIrрyет OтнюлЬ пе .od еpэ!с|!л.,e (|h.J,Г|) у НсIa Кишка тo}ri{a), i.nи iЬ./л/'[', за-прoса' зa ]lJтllр-.тirцelJ таnllJЛсЯ пeРaшюT,,,

Ес]iи зaхват rпPaвления пРOiiлет yспel!xо, shе]].кoд доJDкеIr liai,lтr] ДескР]rпrоpTсP/IP.сoсдtlнснПя' чеPез I{отoрое оп 6ъI'( зaсJra11' и noдтянyтъ oстanlroiikjr

Page 213: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

214 глава 10. внiтри лицеваpительнoгo тpагla ЧepвЯ

хnoст (это iloннo сдeлaть лобовr'lпl псpс6oрoм всeх сoкl.тoв чеpeз фупкциlogetPееrпапс), ПРoп{е' к.]Ilечllo' 6ы.1о 6ьI эaт.nlитЬ хвoст чepeз oTдe'lьнoе тсP/lP.сoсilпнснпe' нo есЛи пpoтивниriопpvlпrл се6я r.paмoтнo rтастpoeнш,rм 6pанд' | ' J

t o l l . o , п r | ) , , \ l | | , . . l г о н Р , о п | l r l l , А B o , и ( г o , l ь J U н а ] , | , ) ъ ' ) с | аttoвлснньте TCP/IP-сoедrrнсния никaкoi'i 6рaндмаyэP тre зaпpещa€т (Pис, 10.4)'

lLJi -л_ lt

Pис. 10.з. чepвь пoлучaeт oтвeт, идеHтифициpyюutий пoдxоAящyю жеPтву,и за6расываeт гoлoву, !а!инeнную shе .кодом

Pис. 10.4. голoва пеpeпoлHяет буфep, захватьвaет уnpавлeниеи пoAтЯгивает oсвовной xвoсr

И вoт вся гpyппa в с6оре, Росм oILoпъl oт ]!1еllя и дo o6eДаI Cаlroе идиoтскос, вто'IorlъкO i]оnlст прeдпPxrить спeц]lаз] _ это сгPyз]lть свoю тy]лy в ис]tоЛнЯelЛ'Iiфаil,.l' заTeр,i!шtlj]ся п гусTопассЛсI]нъIt труlц06ах Windows\sуstemз2 Ir автoiиa-тическll зalpvя{ающIrпся г]Ри l{а)ltlloпl сTaРтe систcмьI пo кnючy HKllЧ\softWаre\l.4jсrOsoft\Windows\с!rrеntversiOn\Run. Xoр{rп]еe жо въI место вы6ра,1и длЯ 3aсaдЬI,N,JrlлсltLцьr, ночeго сказ;rгъ] Стоxт aдмriIl ис'Гратopу доTяltyться ьI/{o клaвиaTуpьIjкitli 0г чсpвя Ir l{оlФoгo 11сста Iiс остаllе,l.ся, A вoт есJ.Iи чоPвь вIreДpяетс'l в пспоЛllземr'IL] файЛьi lIа !nllеР фаriлoвых вrIPусoв' тorдa еro yдaпeние пoтpс6уeтltalttlor.o 6o-'rьше пpемeIlи x yси.nпli'

/1'llя ]]Poникп.rвепrlя в адрсснoe пРостPанствo чу)кo1.o пPоцeсса чеPвь дол'(e]]'1116oсоздать rr lleм vдillrcнньIri пoтoк, вьrзвав ф}']п(цию сreаteRеmoteтhгeаd' ли6ooTrrаTчUTь ilепoсpедств1]ннo сali маrnи]]ньIй кoд' вызвaв l,]гiteProсessl]eпoгу (рa.зylIееTсЯ, речr' Irдет Jrrпrlь ()б NT.Jтoдo6пьIх системax' UNIХ тpe6yет пpинципи.a,rЬпo llllo|o lioдхoДa tс сeбе),

]Гil

tГ:]l

пl

tг:]l

It-J

tl-l

з1 '4] 59 '26

3'1 .4'1 .59.27

з1'41 '59,28

з],41,59,26

з1,41 '59,27

з1,41,59,28

I

Page 214: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

знутри nицeваpитeлЬнoгo тpапа Чeрвc 2L5

как пaриairт' мo'(rro пPописaться в вст1tс pссстpa' oт,еТственнori за aвтoпlаTи.чесlqr]oзaгPyзкyДиlrамичсских 6й6Лиoтск в адрсс}loс llPoстра11ствo каждoгo зa.nvскаеilfoгo iтрoцeссa: ]']KLN4\soFтWARЕ\14iсrosoft\Windo!,vs Nт\сurrеntversion\W]ndows\Applnit.Dlls тoгда чeРвь пoлyчIrт пoлtrъ]й кolrтРoлЪ tiаД всеNIIr сoбьгг]]'мll, ]lрoисхoдяlцIiми g сt'сTe]vе, ]Iaпpпltер бЛoкиP}rя запyсIс пeyгoДIlьIх емупрoгpaмм (]1}1Tсрсснo' скoЛьt{o штанo! ]loN1сltясТ аДNlltl]исTpаToрl ]lPeжДс чеM paз.6сPсTся, g чс}1дсЛo?),

o кoпaвпUlсЪ в сисT€ме' чcPвь пPист\'пaст I{ поискy нoвьIх ]itсPтв и рaссыЛI{e свo.еji тoловьl пo пoДхoдяIцпм адpссa]!{l пpсдвaPител],но yl1онЬп]ив свoй 6'1(rл0г]{.чссttий счетчпI{ на едиt1ицy' a xoгда тoт дoс1пгнст rryля _ вьIзвав сd!loлиI{вида.ц]Iю (рtIс, 10 '5) ,

Tаfioв s (]6цпхчсpтaх ЖI{зrlсIrIlr'Iii цrlx"ll чсpвЯ' тaковa сгo ItаPп{а,

з1 '41 59.2о

lг:il

-t.\ lг*ll иNфицирoван ,

<- hl з1 a1,59'28

1j нOвыЙ эkзeМппqp Чeрвq

Pис. 10.5.3ахвачe|ный yзeл сгаNовится нoвЬ1м 6a0иoнoti/пр0дoлжающиM pасгlрoпpaнеHие чеpвя

Page 215: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 11

nЕPEпoлHЕHиE БyФЕPoBкAк сPЕдсTBo БoPЬБЬlс MЕгAкoPпoPAЦияt,lи

l j lязrIoo rrc6о ' o6рочсr l l ] () пЛьl l iy lцеc l I i lд l ]cpху l rпt lшtr l 6c:rликиx 6с,го l l I l l ' rх lк6о.скре6oл, rroгpязulrrх в вoнючсй 'оt) l rc lк l 'ц lc6IIтсльс lюгo 6аp: lхJr T()1nJ|r , l r . lявлllсTь Tt.фa llя мсl.ilкopll0Pациit' A6сoJrloтIl.rя зirкpЬlltх]1], пвqroPмаЦltll ll llол.l Iоe отсутс,Гвиtj св()60,llЬl вы6oPа. ' ' эTо I lе RоспfulIеl l l lая (])ilIjmз l UI o6rLYРсl I I пnх фx]l.тaсTo]r, этo PсаJI ьrtoсTь' коToPoiiс ].a)кllы^1дItсм всс1.PуДrlеe 11Трv,I{llсс llрoTивo-сToя.l.Ь, llllзaссс116ЛI,l PoваrJrlе гl pядe с1РiIlI у,кc зarrpс11епо' Пу6,rlr'rrшlс oIrлсанлo

, ] ' , - i L , д i х r ' , e | l к | | \ , i г ' l | .

IIo всо,f0' при всеil свoеfi Nlolци' $lсгilкopnopaцЛIt чрсзllы.laiilrl) УяJви\lr'], Ilpо.r.paпrпrнoc о6сспечeнrIe дь]pя Il0 дo lreнrlз11o,кнoсTrr. Чсy 6о-,tьl п e зal r''r ат rrак.lадьгвaeTс'l на IIPодvItт' Tеr! yроДJпIвee п Леус,гoj.iчlu]сo он стalIoви1.ся,

.l.аli yдар!ti\l 'кс

хаксPспllм aвтoпpс16егo;lt по виpтyill;,trorty 6cздорoяолоl

чтo тAкoE пEPEпoЛHяющиEся БyФЕPAПодавляюIl{eе бoЛЬnlинсТвo уд!"!снныx aтaк осylЦeс:|tsJ]ЯcТся луI r\\ |lеpеnоjlнeн Jr6уфеpа (buffer oоефll/aоеп-un/ооеr'f|oa),'пстльtм сnvчaeiI lLoтоPoго яn-тяe1.с,пeрeпoЛпеl1rlс (сPЬlв) стrка, ToT, тrтo nладeeT Tехllикoil пеРеполIlеп]iя 6v(}еpoв,упРaвЛяет NIиpoц а rtто нс владее,г того ]t llllеtoт, Boт зa6poсят вaN] TсР/IP.пaкeтиIс ]la кoмxъютсP) сoPвvт стeк tr oтФoрNlат,lрyют д1rск r. чeртoBоrl ]\litl.еpи,

Page 216: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чтo такoe перепoлняloщиeсЯ буфера 217

LlГо )лс этo такoе пеPепoЛrIяlol]l11ссЯ 6vфеPa.l ПoпPо6усrI pазo6PаTt'с,l ПРC)к.:iсвссIo вьlпъel]пиn:Ltl lа.,удсI] !сю ф!lгtlю' кoтоioii rnспtlчliаЛlr llaуРoкaхин.t!оpllaтllпIl. Зaб\Цем в}nрюкe н Пc <oпеPатnвrlая Ilа}lяТь' -зl1есь ]\lы6уДсIl roвoDllТь Лсi(л]очптenъll(] !)6 адpссЛ о11 прос].Pal lсTвc уЯзв!I;\lоl.o пP()Цсссa (]rе пy'Гaть. пilоцe.сoРo-!1), Уl Ipoщснно еrо ]\|о'(lto tlpLlltставtlть 1] nI]]]е сr.Po'lтеJъпoii руJст.]ill' i]ьllяlt\'1.0ii ]]a tsсю дjтпfiy' BдoЛr) э1ой pYЛeткlI РaскJlадьIвaroтся paз.ЦичньIопpелNeты 06llхoдa (пиuo' спгаPeTьrj 06на)ксннЪrе крaсaв]1цьr n т. л,), изo6paХa-ll'цl'|с ltJ сс6я 6уфePa пeр.rllel]]]r)tс, I{a,rдыli еiпJullчнj,]i:i oтpезок сoответствуt | оr1Uоl.i,lчсiiI{c папIЯтli' Iiо l)аз.rlичнnIc предNleты зilltltмают 1Iеollи|lакoвoс l(oЛЛчeстIlо 'l ческ, Так ' нaп plIпIeР' гJе1).дNi(rl l ll:UI TIri]a вYTЕ зarrl|l\laст oдПv я чеiil{у' llORDrвe' a D!0R0 всс чстЬц]с,ячсiilа rlе ll]tlcеT ]trl]rакoго пpс'llсTаIlЛeli]],l tllI o тlrпе пеР('llс]]]ioiij коTopоii oнa]|Poна/InenlIr'' lI]] o ljс гPаrllЦaх, Двe псlJel\lсltl]'lх тI'пa li0RD illo]l{нo tlIП.еРl|рсnrpo.]]lll.l, xaк вYтЕ i I'JORD 'F вYТЕ' j I н |Iкoго l le 6yдс t. сrI\,лlать' .rтo l о"цosа Wo RD'а ]rс,uт' oлIlоij пеPс\к!|lrоii, n хnосГ в,'lPYlоiil с I{oIlтPo]lеNl fpаfl llц пlасс l,tgoB дсJl a о6сToят еllк|х\1{0, llа аIrlJiulГ|k)r\l \rP)вnс такоii,rrJll |1срс^1снIJьlх в()о6щс нс ло,ulcp./ l i 1 ' l l xе ' l i я ' l l l х l l l сссо l r пс л .o l ]L .{D l I l I l I оT , I | l tч t tт l . массI rв от 6eссвязпогo l rа6oраlio('|().lJL,ких lIсРсl|сlпll'х ]k))}()}1у зlt6оTа () сyJrсp(llll'гсTс пoсJlсдI]сгo лo,{l,l'Гся 'lаi,l]с'||| lЦ)()гРll]\l}r]'с'Гll l] ](()ltl1ll'rl'1оpa, }Io пcp,l|,|с -.lIlс)/1li (iLilIllчllт' llпt сЛoi.iсl.вс]l.jo о| r I l |6 r ' r | , ся) ' r rTорn lc . м l l l J l r1 r l I i ( ] j 3 I lач l |1 . , ( ) I r l l l ]Ь l I ioJ l l | 'пo ' | ' r ! ' ЧTo l ,р l r /{ . l3 . ] .1 l . | I{

l|.-10llu() ;l JJс 11)| ч,].() оl,.]?,ft,lIPLIкl'Jarl').

25

20

tr п6ропoлtoния бyфeрoв

г l П

Iп1]]

П fll ul П

l-u А

Е8ЕЕ$ЕЁЁЁЕЕЕРЕнPис. 11.1' кoличествo oбllаpyxеннЬ|х дЬ p зa кахдЬ й год fro дaнным сЕRтHа 6лихайшее время хакeрЬ 6eз pабoтЬ не ооан}.rся

Рaссrvoтрlll"1 11рос,Геii1пvю пРl)l.Рalflfy <з/]IрarrсTвYii. Baся'' ]lотopая сlФаl]rl.lBaстчc.r]oвскa: ..l{аi{ тe6я зoвvт>l r за1еI1 Pадoстrtо сoo6щастi <.Ihlrlвет, кaк-те6я.|aм', oчeвrr.'lпo, Ч1.O д.1Я )iPаIlеllItя вводllмoi:l fl.Polrll неo6ходuмo за6лaгo.вpеNlеrrнo вьI]]eJпTЬ 6yфср Дс,стe,Гоч{|o размсPa' A кa(oii размер считать дoста,Гочlll'll1? /цссятъ, сTo''rысл.ry 6vкв,l 11е вa'{нoI ГЛaвIIOс. нe за6ъlть вставлтьЕ nl)ol.Pапijljv кoIIr l)оJl l QI ющшil Iion' oц)il ]1] tчr]ваюrцrrii дJlиtiv ввoДa РаэмеPoм вЬгЛелeIIlIoгo 6уфсPа. в п]n)T]]gнol] с-li\lIael есJи дrrиna иnlен]l i]кDкeтс' с'1иIIкo]\,l

з5

l 5

]U

5

0

Page 217: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

218 глава 11' пеpeпoлнениe бyферов кaк сpедс|вo бopЬбЬ с мегакoрпoрацияt4и

в е Л и l , а , . l . q | | , с ' n и l 6 r о J с o : | и | | ' { , L r | , , | | r - п n l , n : l n | | ' l | | ё , д р ё v р | | | Ь e ' | , : . l o

Л l | ж ё , | ч Ь | р 1 e , o J o | o . | , , \ | | ' г \ | n , ' i ' е , | : ' l , , I l , ' a ' \ , / ' q ' | | | o | ' o Г г 1 \ | \ | o n ,

пepeзaпl1сьIвaя их стpollr Дoзr]роj]аIlIIьI]\{ oбРailоli rjъl [loжеi\I nьrтворять с ксllг

пьютеPоIl все чтo уroдно, llаи6oJeе ф6naзlп{.rflь]lая цeЛъ Псех aтаIi:]IIorJIихкol||aнa\hLЙ шlmеР|lpemd'?Ol, в rrР\, .ilх ]('пrсо1l''1ов пaзъlпaeмьlli шe,'lo.v (oт ангn,she]l o6oлoчIQ), ЕсЛи хaкеp сyN1еrт еro запусTIJTь' с),Дь6a rIапп.IпЬl oк xется

oшлr6oк пeрепo,rнонrr;r нс yд;l"lосЬ и16Фка1.Ь IIll одllоltсeРЬвЛoli лpогРxпfNIе. oIIпс зarrиДной Pегy".тЯPнoстьIo o6паpуяrиваtотся кaк в !рrrдyкцuи N'liсlоsoil' ,|ак

и в оTкpь]тьIх lIсxol1l{liках (см, p]lс, 11,1), слoxl,кo oшп6oк дo сих lroP нс вьurв.Лeнo _ oсTaflсЯ толькo г:L/.raтЬ, эГo l{лад' I'астoяlJцrji il.nаД! этo кЛloчlr к упР:tв-Jreнию мирo]\1| Ilo ч1r)6Ьl1IпIl воспо,tl'ЗoI]атъсЯ' тре6уeтся про,'leЛlть о.IeIlЬд,trrrlнЬIй ltуTь, мIIoгoI{у )|ilу ь, Б),дда все\'I llaм в попftЛцЪl

чтo нA],l пoтPЕБУЕтсяд'ц,I сoBсрrпс|lия llабeгоlr па пfllРпЬi0 пaс]т.nIIца ],1iJ'гoPllсT.t IJо1ре6},ifl.ся, J(al( п!rl-I{имyNI' хoJ]oioloc ll11l]o tl хоl)оlllllс )ксll.rIo||-|ь]' П ItО 11(Dкllo llajiIЛ в Nlilliti]llllс,эксплoпт. D сстl]. ()ткpЬiвa('\l пlIJro' 3аlIyсl(асrl эx.xl-'JolfГ,., гЛязIк] rva,гсР NlсЯ'чTo нc РaбolaсT, jl бсPсrv дР),rоii, Матсрirllс'l ollя-lь, ,

oсIloвIlaл мaсса хаi'|Rlllnх i'Iсспl|oIг|\)l], бIу)(дil]()lцих l() СсTll' с]Цю!кTl]Poпir||ilс Ц)у6ьIми l(oItс-l'pylФl.lllrrьlпll'I оrIrи6кalrrr п rrс1la6oтrlсrкх'()6rl:l п rlplrlll1rrrrl. Тo лrси l l I l I r ' j r , ] l : l i . l , ' ' ' , | , r r | ' , ч l l l ' Г t , , | | | | l j , j | ' | , г , ! . l , | ' t l ( v l l I l - ц \ , , I l l ( ; i v j , ] l | | v . , . l | | ,

no пe /lаlo,l. t llrкitк1lх рЬlIIагo3 уIЦа3Лr,lllя (|lil|lрl'|IlсP. сoз/(аl('l. l Ioвyкl y'](l1]lуlo Jа.пIrсь адмt]Л истPll1oPil l l 1'у r )кo 6"! ( Л{| lру кЛ сс ) A lrля доРa6откlr лol овrlгo J |{сI lJl(nll,irнaпил',trикoNl TP0бусTсЯ yNlolI | дсp)к.LTЬ )ТoT сllN||'lji ||lL|UlrlЬllиIl l] рУкаN]

Paзра6orка (PaBIrо filл lt дopaбOTкit) )l{сIlJ]oи1о|J 1.pс6y0T rllDкollcрlюгo o6Рtва[!ЬIшЛеllllя Ir Ileп{eрellоii гЛу6пtlьI3ljalIlп"t, этo lle тa 06Лас,п,' в коToруlo Nlо)к]lопpийти с yллцЬl x Tу-r ){o кРvТ]11Ь виIlТЬl, Д,Jlя lrача.ца rrсo5хoдиlro вьtyчrrть Сrr(и fiсмllo}кечкo с++)' oсBоить Ассeмб,rel)' Paзо6рaTьс' с ус|poi'iсТtsolr I]l1кPo.прoЦессoРoв ' пoстичь аPхl]тсктvру оIl0рацlroн н ьIх систеrиWindо$,s П UNIх' пn.yчиться 6erлoдизассcп{6,'llPoваT! мaшlllll1Ьlii ]{од,,' СjloвoNI, вам rlрсдсroIIТДJпtlj , Ь . й и т я , ( P , - Ь i , , r v | ь , . l l , o , ' | 1 o ' I l I i ] ' | n ] ' J P l | I ' o " о , I l ' . l ь l i i - " ' , l . | . Ч l ' - l , л ^ , - | | йлor rrчсских Jloву!lс]t lt 6,l1oвI,Iх oIlасlllrсTеii, с (о1oРьrми тPyдt1о (llPaвll'|ьс,] 6сзпpoвo)кaтьIt' вапIимЛ нaставtitlкамIl 6yдyт кнrlги' пpичем кIiиl. пoтp."6yетсЯмl1oго, Boтлучlxес, чГo ссTЬ llaРЬ]llке (|oлЬxo llе сnра[Iимl.iTс llсн,l] lцс эTo 6PаTr',я lre книr'oтоPloвrц' i1]1ollrc }rcщIl саll разшсl{llвaл гoда\4r.t)l

сn/с++1. (Язык си' oт IftpнlIаflа lr Pичrl,

AвтoPскor oпllсание Яз BсTхпм Завrтo]!f' сn,rьI'o устаРсл' 1lo сщсдср)ttиTся на 1l'lаву,

2, <1001 сoвет пo сиlC++' кPисa ll]xаr!сЬI,I.Iе Bетхи]i зaвeт, ]1o всe )сe oчень llсI1Лoх,

Page 218: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

: iС++ Anпotаtions \rегs]оn',.\ннoтI.ц]oвaппoe рyкoвol1ствo пo язЬпry си+.t. Ilас'|o'nь]]ая кIlпm кaжl1ofо]loрltf :Lllьпoгo хакеPа,

. (Язьп( с/C++ в вoпPoсах !I oтвeтах> стиra сill1;!1]]тa,

Thе Ьеst'iссe 6лep

<AssепtЬ]сп' Учо6нrrкдля вyзoв' 2.е изд,' ts, 1opовa,Oт..lпчlIьпl уч16ни( пo я3ьiirv пPавлаj заl|01l]1сll11Ьli'i pс'r rvi oп!.lСа|l довoЛЬнo

- 1ПpoгpalfмliРyeм па язьrкс асссп16,rера IBNI Рс> PYдaxoBа rI (Dll|к)гсltllва'

Л\"Лпee oппсаttItе заtциrЦсннoгo РОr( lla llа Рv(tю]\1j I{отoPоc я '| о.lrr,кo вс1.PсЧ iUI,NfапvalьI от lntеl и Aп,ID

кoToРr,Ie' кс,IaTr.I гoвoРяl пto,olo J]ето'lIьllo с(aЧ]IвaтЬ с саjiГа' Jlо Л зnrrазьlBil'ГъR п€]|а1.Ito]!1 видс пo пoчтс' 6есп.паTliо'

I suK/DDK.Кoмl lnс l{тЬl рaзPа6oтчJ lкa о1 Nl iсrоsot| ] , I l l с1.|)YN|с||Г l l l ) r l i i IJnIoс Лo](!Nl0|r . lLI l l lя , Бcз 'To l ,o ! lикуДа, ска] lивai i ' l t l ( )6| ,IoТPсс, l Io l iа oI lo l ]x lс хr- l ] , I i ' Ioo,

- <WjЛdоws/UIя ]Цoq)ссс'tоflanоlJ' lI'{с4хl)р l]и\Tсрll,

Би6JIия ]IprlюIa]lIlоIo llpoграпiI{l|(Ta,

], !oс'rollы Wi0dоws N'г ll N.Ггs' Хс,]rсll ]QlстсР'

всJI!'IкoЛеппоe оIlисаltиe аPхlrск1.уpl,I NT, пrLIst IllL\.с,

: ' .BI l ] ,1Pеннeе устPoйстBo WiЛd()ws 2000' ДЭвl tn i (]oj l ( ) r ! toII l l l l N1nPILa РvссII .

I{плга,ltвух rrатpиаpхoв а]!lcрllкапско1.o хаксPсTl]а'

l <I{cttокумснтировaнньlе возNft))lспoс'Гlr Windorvs 2000> Свсlrа Шpаli6сpа.

oт легeвдaРногo rrсс-'rедoвaтеля пе/Ф ядpa вс0Ilv хa]lерскo}lу ,\l j lPy,

-]изассeм6лиРoвatrие

l, <Thе АIL ofDъаssеliЬl]l ()1. itс\,сгs n8 Еn8Irеегing Nеtwork>,

Би6Лия дизaссеIlI6лпрoва:rия,1 <Hасker DisаssemЬliпg Unсоr.егеd> oт Крпсa кaсrlсpс]rlt'

Доsoльно тyмarп]ьIe и зaltyтаIrньIe Pазговорьl o дrrзассеIrr6лrr1хлtаtttrrr,3, <o6рaз мъпплelrия ИДА} oт I{рисa кaсперски.

спрaвoчrrик пo язьIкy идa Cи (eсли вьr лспoльзусте иДy' тo 'Tа кllипrдЛя вас).хаIсеpсTво

wWW,pnrаск.or9

Лyчlrrий э'!еltтРoнньIй жypнaq, дoсТvltнЬIiI с oднoпIfеппol.о сaйTa' NIнoгoстa.Teпt в Toм чис"1с и по срьIвy стеIсa.

Page 219: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

220 . главa 11. перепoлнeние 6yфеPoв как сpедствo 6oрь6ы с мrгакopпopaциями

Лгlr , rи i oгeчe. .вett t rьtи сайт, ||Uг"чUr. ннь|й \а|.Рpl тPу,

пеp€пo''Ilrяoщиeся 6yфeра

1, UNIх Аssеmьly сodеs Developmeпt loг VulnсгаЬilitiеs I]lustгatiolr PuгPosсs,

вeлиIФлеп1roe IryIФвoдствo пo Teхникr псpопoлнения 6уфepoв и зaхватy кoн.тРoля удLnerlпoй мaшипoй.

hftp://oрensores.thebunkernevpub/mirroгs/b|aсkhаvprеsеntаtions/bh.Usа.o1/LsD/bh.usa-01-lsd.pdf

2. Wiп32 АssemЬly сornрonents,Гoтoвшe кoпrпoнeнтьr для aтaкл.http://WWW'lsd.p|.nevdoсuments/Winаsm.1'0. 1.рdf

3. UndeгstandingWiпdowsShcllсodо,Pyкoволствo пo рашрa6oTlсe shcll.кoдoв'hФ://Wl^,w.hiсk'org/сode/skаpe/papeБ/Wiпз2.she||сode.pdi

тeпePъ пoгoвoриNi o6 ипстPyNrerlтax' ]Iам llo}IаДo6ятся: tсoпtпилятoР' oтлaдvrrк,дизaссeNт6лер и л]o60й HЕХ"pедaк'r.оP пo вкyсу' a таюl(e rlРиптeР' llивo и oстpoзa1oчeIIпЬIй кaРaпдаш'Кoмпи,llя|op и oтлaдяиtс мoжuo 6сcплатнo взять y Мilгosolt зlleсь:httpl//doWп]oаd'гniсrosoft.сom/downloаd/з/g/b/з9bас755-0aIe-4d0ь.ь72с.зa|s8ь7444с4/vстooIkitselt,lp'eХeиJIи здссь:

httрi//msd].miсrosoft.сom/dowп|oаd/symbols/debug9er'dbg_х86_6.з.11.еxe

Bместe с oт;rащ.rиком рaсIlРoстpаtlЯотс'l и дизaсcом6ЛeР' llo еlо фу]l(циotlаЛ!.tloстъ oстaвляeт )кeЛaтъ jlyqшeгol и tlo-IlPФкнcllty лyчule иды (W!!W'idаpro'сom)tlичегo IIe ]тaйти' кaк вaPиallт' в кaчсстac oтЛадчикa ]!{o'oio исnoiЬ3oвa1Ь зна-менитый so1l-iсе,Ito lloсJlедяиe версии KD oT Мiсrosolt м:rЛo-ltoмалy наЧuпaloтсIo oбгot]Ять, Taк чтo вoпрoc въI6opa cTaпOви]ся пe стo]]ь ollнo3нaч]rьIпr, из гIЕх-рсдактopoв rrаи6oЛьшей пoпyлярпoсTЬrо пoЛьзуется lIIЕW' IroлI,lчнoя пРeдпo-читaюT QVIЕW' o6алeгкo пaйти в сeтп,

3ooпAPк пEPEпoлняющиxсяБyФEPoB _ пEPEyлoк мoHстPoB

сyщeствyют PазличтrьIе типЬl пepeпoЛнe]Мй' сaп!oe извсстнoc I'Iз всeх 2oсl..Daaаmельнoе пеpепoltнен1|r пpu за||I|сщ с,6Ычя0 вoзtlиIсaющee при lrс6pокнопlo6paщeнrrи с фyнкциямI,l кoпиpoваI,i'я пaмяти (memсрy' пeпflove' strсру, stгсаt'spгi ntf и т, д' стаTистj]кa <пepепoЛняeMoсти> ItoтoPьIх изo6рaжei]a lla pис, 1 l, 1 ),<прoлaNfывaloщими} днo буфеpa и пsP€записьIвающlJми oдllу иЛи пeсrronькoячеек пirмЯти зa rlo кoнцoi!, Менeе извeстнo ?lн aeкснaе пеpепoлненuе' тссtlo съяJачнot с сишн|, vy ^нeдoма.с ,ваvиь и пPо6lРмoir r ,oнтpoio и-r гPанrrц, P l .сvo

Page 220: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

j . . ъo . I eр r | o г t so oц i ' . c б ,феoов , , еOе !лoк l oFоoов 22L

i ir! сл€дvIoпIш] код] f ( i nt i ) {сhа г buf[вUF slzЕ] ; .'' гeturn bufг i ] }, oчеви/lпo' чTo:].lIl i >: вUt-s1ZЕ. фi,нкция f вoз8рaпlаeт сol1сpя{11]\1oс Ячеек' сoвсем ]1сllPинад.irj!ащllх tllaссt.rвv buf ]

]аIiItll o6разol|' оспoвIrых тt1I]оg llсpс11оjlнeнпя всeгo чeть]pе: lloс'IcдoвательIroe.еPеl1oлrtепlre пprl ч'l.е1]иl1i тo )кс пpи записи; llпдeкспoе tlсpспoлнсIrllr пpl{ чтеj]lJi;o]lo,кс llpx запис1], Hап6ольптyrrl orrасrroсТь tlprдстав.flяro-г пеpe3alшIсЬшa.il]Ll]с Ilеpс]rолI'сн11яl пРи 6'.тaгoпl)ия1lloм стсчсн]]1r o6стоятeльсTв ]1сРL!аютаTa.:i'к)lцсму l{oнтPоlьtlьIri пar(етап{J1ii уltit]lеl1нolю yпРавленlrя yязвиMoit мaшинo!.i,

.чxтaстся' чтo пеpепо,rlIcrlЛя tlРи чтсниx наltIlоro мсllее оllас]lьI и в o6шIrм слy-:.с пpl]вoдят.1иlпь к v'Гe.l lе сскPст'lо]i }IнФrP\IаnIrи (Ililuрl'Ilср, паPоле';)' oД:jilliо этo нсrrеPllo' lI naже <6eзo6llдн,lс' нa в!Ц перепoлrrеrllul спoсo6ньr пoрolк.itть Iiaскn,l B,Гoр}LчItьtх llсPсп1rлнсrllпil ]lyскаюlllltх сl.1сTсму вРазrroс и 3nчастY]o' с|tctlаl0tц]iх llfPсд сMeРтьro с/iелal' чT0-1о ]loЛсзнoе (дЛя xaкера)' oсо6сннo осЛ]Гo,l. Раэtloс o(yrцcствляeтся пo Jаl)ilII'jс ]цrодy]!1аннoпIу пла|ly'

]] itrвllOtI1()сTtl от тlIlIа llс!еrалljсьrlrаel\Лnх llерL'Ilсtl}lь]х PaзjrlJчают lIo ]vtеJtl,шсii\rl'lх] ,|Pl1 в]lra атаIi:nтalсу liaо(аnяРxьk n|pеrk,oll,еl a.IilКу нa u|1ое1сl)|,l (!lка:rа|nс.!l) | it|^1.у п6цфсpa, Сr{аJlяРЛыe JIePс[lсllllЬlс ЧасTo хPaнят фJI.LгII аRrlpизaщrll: (), |Ь3( ) вi!|с''rсi.il уPoвIlll ]lPrlвlIлeгпii] сче,|]ll]I{и ц].l]il]oв п пPoчrJую l|екJ|асс]lq)lщ!гt\ц{уlo хPсllЬ' оilt'lIl r1з пPllltrЛorl кoтоРol] дсr\1()llс-|PllPYcтсЯ в Лис'г!lllГс t l'l.

Лисинr 11.1. пpимrp/ AеMoнсrpирyющИЙ атаку на с!eтчик цикла, i .h i j . * .з t с l rа . *s rс)

сh i . L )L r r |х lх ] i n t i r n ' h

lo . ( . = 0 а i О: i+|] *ds i r+ - +s|с l I

l]сJIIl псPсIloЛпellllе 6Y(l)еpа buf lQ(nl:]oii]rс'г lloсJс вьrзona stгlen| To IIсPсмсtlll1lяо 6yдст )rссTоко зltтер].a' lt llilrl| цllli.1 llЬI.lloтlrт l{:Llrl{о fla пРеjrcJlЬl srс 11 dstl

А вo l сL|Lс oд l rн I Iр l I I l сP этoг(J ) i tе ти l la (Лис1 l i ] t ] . 11 ,2) ,

лЙФинr 11.2. примeр, демоHс|рирyющий атаку нa пеpемeннyю.флаг

. l rа . bt f[МAх.вUг s lZt]; ]n| аuIt] { lа! - PАss i i0R0-NЕtD!Dp.]ntf( ' .n iд l .ap01 ь:"): gets(bUf)rf (аlLh-flаq |= PдsSL'l0RD l!ЕL0ЕD) геLuГn PАss!0RD 0K

' гetuГn 5tгспр(ра5$rd ' . t ] f ) '

Aтaка па yitaЗaTeJ.i,l N ()Я{е,l npсс'ltСдoвать три целll:1) передaчY упраn,rеrrля lra ltoсToрollниjli кlrд (alrаЛor сALL);

2) I{одxфикацIiю пpoизвoЛьlloii ячеiifiи (aналol P0кЕ)i

3) чrer1иc ]lPoизвольtlor1 ячеJ:Iки (аliilroг PЕЕк),

Page 221: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

222 глава 11. перrпoлнeHие 6yфepoв как срeдФво 60рьбЬ с мегакoрпopациями

нaчнеI'l с пеpеЛnчI.l упPавJ.ния xак с 11аи6o-цеe п{orЦrioii 'l РазруI]rtlтс]rr,ltO].i, {.}llа

д\ ] и гся Pn Jвl lо:1тпlа:

. пеpeд.tчy yпpaвJiснr1я ]la djуtlкцию. у)кe су]цествующyю в гlрoгРаммe;

. передaчу yпPавЛенl1я 11а liод, с(lop\{rlponаI'ныr.i сai\11'1\1 з,lоумr'IrUлеlпппiопl(тalсжe rrазътвасмъrй s1rе11-кoдoil).

Пpolцe всего кинyть в€1ку yпраB.neвIJя lla y'{с сушrсствуюшуto фуtlкuпlo. Этoмo)к!]o сделатъ' нaпPlrмсP,,|а1r (J]rlсгllllг 1].з)' зпffi алРeс функцxи root (сгсl1 l o ^ л о в | , , Я l , l / г ь , | y : . l с n r ' < i , l r r 1 ' o в н r r ' l r r , ; r | l , | ' ' | l l \ J | | l 'телЬ zzz |d||' чгo6ЪJ пРп вьrзoвс фуnкцпll FЕh уrlpilвцсrtrJе n()l}"Il"T гoоt] Естс'ственн0l nсредавit1.ь yпpав,.]eпие на нанaло (lv]]1{цlltl tlс o6яi]ilT".jlL'Ilo <пoJез-нъlй} (для xaксpа) код пorl{eт Рaспoлaгастся Il I] сс ссpсдxн!' (,\loяo l( ) ' rlаlllnlпrеР|liPoI]Устrlтr' Ilрoцсдурy a},тelIтJ'фиIi:lцлtt ll сPtlзу зililPЬIгнуr.Ь в rJ|lнliЪlii пrГn6),O | . г ( r . ' , ] ( | ' | , , r l l ' ' t i , r " . r , ' u o , , . , ' , , ' , , l ' | | | | , ' , , l | . : ' | | | ' i ' . ' I l I l ' | , l ' п | | . I l 1 L с , " , п .pа]!1еTРоir' oдпaкo Bс1]ша lкuоro lrс,lобpа,t,t' r]lу]|кlllrl(]l Ilе lI])IlIпlпtaloпrую н|lкlL.ких ']aР:lrJ €тРolrl ]Iлll псPсдill), их |i(xjllеl||lьJrr оoРa3ОNl'

Г]rс п{o)кIrо ltnii1и ука3tl].с.ltI Ilа ]{оЛ.l Пpслlдс лсс].o э1.0 ilдPcс 1lo3вРl'|а' р1lспoJ())кeltньlfl вttl,tзу кaЛp:l с'Гeкa' за rсп ]JдYT l]l{РтYаЛЬt]Ьlс табJll]цl)1 11 укilJа'Гсrl]l thisl

6ei] кoToРЬiх нс oбхoдltTс,t ]lл одlla с++.пPoгРirп|rмn оllгГaiilс lloхЛoгo СTрау(l]);

ука l laтсли r l l l rDу] l l ( l l u l | Д l I l I i l \ ] l l сск| l :1агPynr l t c \{ь 'х 6] i6 - ! l l oтс l i (LOad l ib rагу/

GetProсAddгess) 1 'ак) (с | |с Pсдк l ) ( ' |Ь] l |у ' ( l )v I l | с ' l I I I i ь ] Y1( l l J i l 1сЛс i l ' | ( ) ' l l 0 вс ' | | )сч i t -

Ioтся (Р , j с ' 11 ,2) '

Листинr 11.з. пpимep, демоllс],рирyюUrий атакy на кoдoвЬ е уKaзаTелИ

г о o t ( ) { , ) i

f o{

сhа. bufI l lA i -в l ]F-s]Z[] rnt (*zzz]()

zzz . GеLP.OсА{]dГoss(d l lLrа50 . i lh )

lS . ' ' . l . . ' , _ ' . ' ' , , , n ' n n ^ , , ' e ' | o Ц P с я U , l \ , , r " L I P . ' 1 ч , | , v q ' г \ | . iпрoгpаnшoйчTo yгoДrIo, вoзвРаЦаясь lL Jlllстr]lx.у 11 з' сllРoсllNr ссfu:чT() lц]o'зoii

дстl есJt]'l в IleреNJeлпую zzz зaнсстп !кilзaТсJ,lЬ llа (ll\] jLсpсll('lliяlolциiiся бyфеp

buf, ! кoToP],lй в1rеДp]'ть хaIiерсIпiI lioд' оргаl1llзvloщlii наN уд:llснllьrji she,l,l? Эта

клaссrнeсI{aя схсIla a'1аl{]1' l]пl!сaпЛая пpаlLтt|чeски Irо nсех фаliaх ll l1анv:r"tах 1lo

6eзoпaсlloст1r, в деIiствиTс.ItЬносТrl rlo'llr lа я cРуЛl1;r, прI] прaктпчeсlФiI реir,]IlзaцIrnатaки сTaлкивaе[Iься с так]1ll lio.!xчс('|вoNl лpо6"!eiЧ' чTo 1lyRствуeЛJь се6Я

вер6''rIoдo;it' пoпавrIпrll нaхaвчxк, LlнТсpссУloщrlх(я мъI oТоxljlе]\Iк <.Заrlrlскalr I'

t , , а в " . o L r , l ' 6 t t t п 1 ' . t o l н , . " J р пзаTе]1ям пa дaнttьIe.

Page 222: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зooпарк перепoлнЯюцихся буф€ров_ пеpeyлoк мo|rсгров 22з

УкaзатeЛи пa дaнlъте пai{]loго 6oЛеe распросTрlпe]]ьI Il кoваPньr' Pасс^1o1.Рl1\lпPoсTeiiшшii пРиNiep (.цистt]llг l1,4), смOl.ритс. ссjlll xсPсзап,lсать y]raзатсrrЬ brI1есте со ска"'t'pвOji ]tеPеliен]roi]l а' llьl Jlo..lyчllil sвoсo6pазtlьIl1 a]lало]. 6еi]с li

функции POKЕ, с aoпIoщью ]toтopoй rlоя{]]o lfoд11ф!Iц poватЬ .iro6уIо ячеiiк\.п!о-грalljllы (и rкaзатсли на код в тol1чllсjе]), этo са\Iое llollЦIое оРу)кirе. I{оторое

тo.riЬ]rо сyщeствvет в ltli6eрпpoстранствеl

либинr 11.4' пpимep, деMoн-pирyю0rий атакyтипа РoКЕ

сhaг bL]fil{Ax.BL]|.-5iZL] rnt a ]nt *b

Пpaвда' еro пrorць 6vдет непoлпoii 6ез (lvпкпrпl PEЕK' l|оi]l]o'll'ю]]1сii Чи,|nIL tlР(!l l з l ]oль]{ь lс яqс] i r r] ' ' тa l{ кaк зачaсTvlо поJrепоi i алРе(j i ]a l I r lс|| l l . l l J8ссI(]]] , l l ч ' I()бЬ]. , ' , 6 . ) , . . L . . | | , в . I n I L м r I ' | | t . | Л о х n 6 . , l \ | n I n , l ' " , . , I l ' i i , , ' . | | | , | ' | , ' I l ' , | | , ' г ' 1 -\lьl, этo Nlo}к]lо сдслaть' lltlпPlIмср. так (Л стlr|п 11,5),

лястl|llг 11.5. npимep/ демoнсгpиpyющий атакyтипа PЕEK

сhаГ buf lМАх. l ]Uг.s] lЕ]: rnt *b]

р Г r n t l ( , 1 r \ n ' ' * b )

illtдеl{сьl llРсдсТавJIяIoт со6oii р|lзIlовпд]lостъ yкaзaтолсl.i' NJо;оril trrаla,r'' .l,rl'r]ЦeксЬl _:j'гo ()1lюсiгГcЛьl|ЬIе уItазаTс.'llt, oTCluTЬlваоIlьIо oт tleкоТороii rбxilьI'':tr]торой' кaк прaвилolявJIяе,Гся llaчыю llсpсllr).llxЯlощсrосяljуtрерa.

:raссIoГpиN] сneДyюций lIримсР ! сpllвllllll сro с JЛ |стx н г{l]!1 1],4iа eсTьЛIt \lежil!' j ] |}]и раз l lицa (Листинг 11,6)? Прx вь lчnсЛсн I Iп :]ффcктlr r r ()rr) tцI ,сс. l , Си lЦn).. Гo ск,]1а]lьlваеT yкaзаToЛЬ с l1ндсксоIl' тo l]сть addг = (p+b). B;lРЬIrруя b' IlЬl Nlо'кt,ll::o''Iуч и'гь Лю6ой аddг' и p nам не пol{еIrтаeт. Прав;lа' TУт есTь о]lнo <]нo'. Сiiазан-oe спpaведливо лIlпlь пo oтпопJеIlиI(r к ll]lде]tсаil Tи]lа двor1нoго сloвa' aла"!ь-.116oilнoстъ 6ai1тoвътх rтrIДеliсов очеiIь д ]{е oГPанrlчoнaI

лисrинr 11.6.l]римep, дeмoнстpиpующий атакy ва индексы

rni 'р .hаr bUf[мtv-вL]Г-51zЕ] rnt i rnt Lr

Page 223: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глaва rr' nерегroлнeние оyфepoв Gксрeдсгвo бoрЬбЬ с мeгакoрпоpациями

лgстrн. Lt'6 (лpoАaлxeниe)

р t b ] = а il

' э -&:

3 J69 ,

aI

ь

€,

Р

+9

E

a

б' стeк пocлe пeрeпoлнeния

Pис 11.2. состoЯние стeка дO и пoсje переполнениЯ

oТ]1ндсксoв Pукori iloдатьк Цслoчпс.neннolfу IтерепоJ.ilIеJlrlrоj сvTЬ l(.],roгогo ^Io-жет 6ьrть IlpoиллюстpиPoва]iа нa слсдvюЦelt aPимePe (,tистппl l 1'7)

а, стe( дo пepenoлвeния

!\3Ф\il \x'ф89\х?6\t0€\i3l\йф.

l\:83\х46\i0'\*9\х,{6\хф\iъ0\iф".\rl9\хв\вld\к.l.\i08\t8а\iJ6\i0..'\id\хф\хзl\xФ\хф\хi8\i'{0\iсn".\i3o\хC8\iф\i[\*f

цхff /ьinr!h-;.ьr. lol9..лlil8Il28Ji

!o.8.pk.(lo!8 .)!дr8..3lri'i lro. (i I 0i i < а.i iф)

l(Ion8.P'r + i) - (!ц') uur..;fo. (|-0; l<tr!!.б(tь!|kod.); i*)

Ь l rc .n lЬ3 l i i t l ь . Iьodс( i ) ;.,'rcpy(tUffс.'l0t8с.nlii$)iI

d

I6

й

Ё

Р

Page 224: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.:/ кoнтинекг.: сrек, дённыe и куча 225

лясrинг 11.7. примеp, дeмoнс'риpyющий целoчисЛeннoе пeрeпoлнeние

D,. .DD o Di000 b\

Геtu.n а + b]

Ес,rп сумlltа а и b раB1lа илu llpеBьпliaeт 1.00.00.00.00h'.ro ltpoи:lойлeт п€рсп'rл.JIенrlс Pnзpя,lLtюi'i сeткrl Il pсзyJtТaT вьГпrсленIJir oк;uкстсrt усеleп' Co знaкoвьгnп пеРсNIсltllьlIlп erце IIнтсРеснee' п сyN rvla двуx I]оJ1oжитсJ]Ьllых чrIсел зaчас'туlo oказЬtЛаеlся мeнъпrс нуJJя (дoсTаToчIlо,1иlllь зaтеPетъ старшlltj биT lIа

аlrхиlектyРе х86 oн IJ ссТr' зllaкоr,Ьrй)' Bьiчис-цсниЯ с пPсo6pаэоваlLиеIl ТI1lrавоo6пtе пoлньlir швaх: а = (DI.]0RD) (byte b _ b}te с), ЕсЛи b < с, To l]е6oJЬllюe пoltоr1уlro oтPtIцaтсJьное Чll."'lо IrР€Bpа'ГптсЯ в oч.ч.ч.ч.еrrь 6o] ,шoс tto'lii)кl1'Гель.

| | l I lU , | ] J ) l ' . , с , ] ] r l ' i l r кс] |nv B ' l ' t r , l ' " , ; , ,

] пРoвсph,1 в- lхU. r J l : '

r.PltпЛlы l{aсспва oтсУ.l.ству]L),| Iшоll3oiiлeт ero катaстPoфjIчсс1tос псpсtlortltс-

l!lIe (п:1ЭтоNl' кстати. Il 6llJta oс|l(Л]шla jleГe]цaРнaя атакa типa teаrdrop),

(]сr.аJlЬllьlc 'Гt{IIЪl п€PспoJlrtс,l'Iй чРс3вьI.lai:irlо мaлo PаспpoстPанснЬl u tlo].оNlу

.lд.сЬ llе Paсс }1а гPи]]aюlr:я,

тPи кoнтинЕHTAl CТEК, дAHHЬIE и кУчAIlсРоlIoЛllJl()(|LjIсс' 6y(])еl)a м ()I.Y'|, рilс |l()jl il l.а-I Ь()l |] l'пl()li lrЗ r.р0x ]\'cст а,1РссlI(J|т)

JIlос,фаlIсTBn llpoцoссa] (,'r,,..l (тaМ{c ll.lзЬIlJ1t0I]oNl alj-l.oIli]TilLteсI(оl] l|:]пl,l1.Ьlо,)

|Р11с, 1 1 ,З), се?^ll|.}!n!|| i,r lrllьlт (xотrr J] 9х/N'l. этo llItt(^кoj:l Ilс сcгlllсtfГ) ll r.ry.l0 (lLu.

lIilIl|]чсс|(()Й IlдNlятI4)'

Pис. 11]з. УпpoЙсrф сr€ка

Haи6oлсe rшиpокo paсllpoсl.paнeнo с'Геltoвoс пcPсп6,1нснис' хотя еl.o з|lnчU\юстьсrrльно пpсyяс'"'lлletla. /]по стeка naPь рустсЯ oT oдItoй oxеРaЦиoпIкrii сllстeп{ъIIt ДPyгoй' a высOTa BeРшLlIlы зaвпсIrт от хаPаl{тсpа Itрсдьrдущlrx 3аl1рoсoв l. пpо'rРа}tjllс, noэтoму a6с0"']rотпъIIi адPrс автoмaт]lчсских псPсмrxtlьlх аTaкv]olцеl{v

Page 225: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

226 глава 11. перепoлнeние 6уфеPов как средсrвo 6opЬбьLс мeгакoрioрёцияяи

IrPаItтrшесiiи нl.lнorда Irе tlэпестeп. С дpуr.oir сторoiiьI' aвToмaтическиIi 6уфePlIPrl.вЛскaтe'1ен те]\tj чтo в ]]сrtoсPi]дствеlllloii 6Лr$oст1r oт егo ].oнцa лежит &цpес вoз'вра,Гa 'lз фyнкциIr (arrсо".lt] l.нЬ]й' кolr €чнo) ' и есrtl1 сго затеРeт Ь| ,го

улPaвЛоIrj1е пoJryчп'г сoвсеlj ]rpyгая встitа пpor.PаllNlЬtI ПPoщe все1.o rloдсylrvтъ аДрeс у)}iес!]lrсствующсii фrнкциl]j иo,к}1сc переJ1aть vlIравлеI{r'e Jle0осреjlствrннo нaсаlf пеРer|oЛl]яtolциirся 6yфеР' э,Г() I'loЖнo сДелaть пeскo-.rькпlrrт путяпrи, Псp.Ь o , , : l , " , в п i x я l , l и , , , I o , | | . | | | 1 ] H o ' Ь o r l , | , , Г l ' | ь , , , у n г : I d 1 l н | | . э o | | i ] l F . t e

лaсl'eгo ]]a!CPIrпнv iLалpaсTeкa' ЧутЬ нlr,{е iLсЛ.(tllоt.o pаспoлolкеп sh еll-кoд, lIIан-сr'l дoiir.п дo sЬеll кода noJвьtNl1tl llрl]одoлев вeсl пlусoP нa Дopoгеj дo(татoчнoневеr.ll{кIlI lloоl]и всс.lаtiIrlrсть, Bтоl)( )с | сс.lll I paзltеpьr п еpсrlолняюшегoся 6уфе'pэ пPсвъIl]rаютrreпосToя]кll!o crо PаЗl]eIllcIllxl в ]taмяти' пеРeдshсl1-кoдoм rroлоrоpaсп()J]o,(ll1'Ь дJxlнl1vю rIепочliу lФI]анд.пyстьllIIек (NoP'oв) Ir леPeЛаTь уrtPав.Лсппe пa сеpеlrIllу' ilgoсь r'c flPoмa)кeТ (рllс' 11,4)] :Jтoтсllo(()6 испо]lьзouа-'I .]eРB ь]-оvc Slп' trсчально пзвестJlЬ|ii Те^t' чтo чапi € всеГo ()|l <r]!IaэаЛ' Ir РoпяJI машtllly,нс п роr iзIro,1я .rilPD{c lLj lя, ТPстьс:ес.'Jll ar.r|iу|оlцIii мояr€T ll()]}дojiс,l.!oвать Ilа стaтпчcскrle бy4,сPа' Ptlсrlo.lo'iеlIliьIс в ссr.Ilснте дallllьIх (ll lrх allPсс пoстoя'lcjl), l.ol lсPсЛа].lr сIоЛа у п i)ir Bj|сI l l1с с сdстaп] Гr ,rрудal всдь shс | | код и r rс rroдписьlвался

Рll0п()"цаl.nIьс,] l,lNlсtrllо lr lJеl)с]ll)JlIUllоlцспlся 6уфеpс. or] Nroл{ет 6ытЬ uto уl'oд!lo]ПР:lвЛa' n0 4)ill(l.' Чтo IЦni Л€l)еlloЛlIсlltlll 6YqrсPa ф]r'|lк]Llt,l lloя{r'вeт до lloзРаlllс'Ilияj воЛь |Jсе l)iLс|Io.4lГаlolцIlсся 3a егo к()IItl()I1 lIсрсlllсlllIЬIe oкil)ку l.ся xска'(спьl!l{(T:'l'l.Il l.r,lI]o рЯ ' ll ()i\I | |п1() il,цPс(n Bоз llpа,Гil 'ГаII ГJ rс.'t,l,|с'l пo'1|ч | | |ц;l l IP( ) ч l lx сny'!с6.llь|х (x.Pук,l.урj рa(скiвa,|L () к()'П)l)lnх в Tссllljlх РilNiкaх <Jll,lllсoк' llс1. IlиJLакoi.i

Pис. 11'4. испoлЬзoваlrиe NoP'oв длЯ o6лeЧения лoпaдaниЯ s Грaвицы she|.кодa

C кyvеii всс o6стoIrт знaчптелъl l( ) с'll0жнСс, Il с )lг.ny6ilяясЬ в тсхнпчесIсrle ДеTaЛr.rpсаnlвaцпи l]сtlед'(ер:iI(liltа11ичcскоri пn\lят ' 11ожlro сказaть, что с ;raюLr'llI6'lо.l{oпI выделепllоil пnмяTи связаньI пo пlе1l ь пIei.i il.]Po две сЛv'(еrn0'х 1lсpcllснIJЬ]х:Укa:JаTс-'rЬ (Ilttдскс) на с"reДyloщlii 6jIок п ф.nаг зaпяl'oс'гI{ 6'rioкa' распоJIo,{сн-яьIс''rш6о пеpt1 вьl1цел яerr; 'rпl 6,lrorrопl' лп6о пос'lrс rlсru',.rп6о воo6rце сoяссlr в дрyгоlv мeсТe (Рr,tс. 11,5), Пpr'r освo6ождсrшlrr 6локa пal\ятl1 фуrllrrпrя fгeе прoверястфлаr зaпятос'Г]l с,псдvющсгo 6Joка' rt ес''ur он сво6oдeл, сЛnвaст 116a 6лoкaвoсдино' о6нoв,rяя <c]aш' yказаTеJrь. A IДе eстЬ укaзат!r.nь, тa]\! пpaктичсскIr всe.r/.la есTь и Р0KЕ. To eстьj зaTrц)aя ДанIrьrr за ]фrпl0l] tsЬIдс'teнfloго 6"!()ка стPоIoдoзllpовaппьll! о6раз.)м, пfь1 aо"1учae]!1 вoзilo,{нoсть ]lfoДIlфrtциpoвaть Jю6yroячeiiку ]lalити уязвllмoй rrpoгPaммь] пo свoеl\'у vсIlioTPc]iию' rlапpиN1ep xсPc.напPaвить rtaкoii-ll116удь yttазате,rь пa shеll.кoд!

Page 226: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

227

Pис' 11'5' yс|роЙс|вoблoковдИвамическoй памяти

o тExHикЕ пoисKA 3AMoлBитE слoBo| , ' l I l , ( | | ' г l ] | ' ' j j , l ' , | , | | | \ " . ' | ' | ' l | ' | , l , | ц ] | l ' ' | | : | , ( | 1 , ' . , | | l i ' r ] ' , ' { ' ' v | ! ' | , | , , I a ' l | ' l .

тllзlra Nl(]no]o 0Pnlt1|11'Гl' J л()Ir, Tсr] 6.)Лсс что lr 0сIк),r0 уда-ч j |с ){ат о6 l l l l Io I lР l , l I l I ( I l l l l , l . l 1аn l lЧ l |0 L l с \О]L l l ] ) |х 1с l ( ' Г ( ) | j | |oI l c Iх) , I ' Г ] l ( ) уJ lPопLас lI lа lL lу з i l / (nчу ' l ( ) | lo | | ( 'U l | l i ] l l i i Гс ( ,ь собJrа t | | t : i | с1)с| | ( ) J | |Яюl I l r l сся бY4г l r i l I t r |1c11) l l сT0r l l ) l L ( )Dr i ' l L I J ( ! | ( ) l \ l у l ] сс j lo ( j ' |у | | | lЬIс] l схоr l l | l l к l l j1 l l | r I lЬ lN1 lаLr | lo l r1 lЧI fГa l |Ь lЛ() ' LЬ|l1 l l i l i i l . ] ' l TаN l i | то]гo l l о l ]ос 1 l с l l сро ,T|ю с 'цoЛi l l l J . / ]{ l l з t l ссo i !6 r l l l | х ]в l l r l l к | - o l l ( ) l к ( !

I l с l I I Io . t Io( : ' l l ono|ес 6Y]101 ' (0с06( l l | |o l IL r I l ср l ] l , l х l | (Ц)ах) ,3^T() | l ] l l а | Iс l ) l оT|фь| l .ь t Io-вylo /lЬlPу з|||lЧи' 1]-'lьlк) l]()i]1).1сTvт'LIcN|6о.IrьllIc рtlсlцn!j-lРаllсllо Yяз! \1o0 I lPl1,lL)яio'r' 'o Ф|'сРI'IL'loнIIllя сис1сма)' Тсм

6r lльr l ryк l влaсть r t rм д: l ]o , | псPс l Io . r l lU l lоцr lo(я 6 !4 ,0] ) l r , ДосгаToчI lO в( ! l ( ) r ! l r J T l '

Ill!!lyмсвll|уk) 'lсToрl,llо с ЛЬIPоi.i rr DСoNI, xс-|llТll' o1r{pЬr1,oii зацoJrгo цo сс (хl)l|.

l L I !nJ jЬ| |o|1 l 06 l r : iр l r , (onапxЯ. ПР l ! I l ! t t lЬ : i l IUI , l IL lo l | | ' l T l lчс l t с Wnrd(]Ns N. i . I lo все!1у

t l l ]ру , l r Bсe-г I lо l l , ПраЛда ' rvT cс . |ь од|Iо a l Io , ' , Wiпdows x дp) .ГЛс l lo l rуnярJ lь ie

сllсTеl\lы lIaхоilятся под ''P''сГа"'lr,нl)'ilв'Il]l1a''''сI1 lьlс'ч сllсцl]а.lLxсГ()lr ]1Tl].)Ilх

l{oЛ.llсг хaкеPо)], I{ор.]lle гопоpя' зl(ссr',.lушно. BсЯкr'Iс JIlчrloст]t ТoIlчyTс]'t, дЬlPьrl1IrLуT' сllil'L.Ь Ilеn]ir|()т,- A nзять кlllLоii \Jа-llоизвcстIlьIli lLJoн UNIХ,a lL'I11 пoчтo'

вЬп]i сорвсР' lllсaIrrшrii дяДej,I вitIIeii ]lаxолеIIIiaх' naоп ]]оoбIIIе пr1кеlvl пРотeс

тllрosaп пe 6ъl"!l TаILIlх l1Poгрa]\!]\] дссЯтrtjl |Ьlс,lч' r{х зIlaчIТеnЬllo 60ЛЬ!rе) Чеrt

сIleЦ]lejlDстonj liу rI rlто . тогo' qтo о]1rt yсTrноlxсны нa сoTlrс'дPylо]i llaшx11tsо

всс^1 пlIle?I впoлlleхватI,lтпространствa, н'гo6ьl IrохаксрствoваTьI

Сo6ствснllо гoвopя' мe,Го;lllli по1]скa пeрепo.nняющIlxся 6уфеpoв вссгo двс, o6с

oIlп пopочнЬI ]1nе]lPnвиnЬllЬl. сallоe просTоe' но ilе саllоe умнoе пlетoдпчнo. , , l t l , l | Ь . , | ь ' , 1 | r V ' \ l ' ! / ? г s | ' l \ | , | " I o в L l , Г P o | r | , 1 , ' | о i l , | | | н | , l " ч о

.

pсTь' j{aj{ о1l пa rпlх oтpсагIlPуст. Ес"!и vпадст . зlllLчIlT' flсpсrto.lня]oщlliiся ijу-' , ' , 1 U ( | | а ' , , . ' | | Г з . ' t . р

" я о | i | | i , \ | L | | Г l J l , .

| : | , \ | ' ' n | , ' п ! ' n | i | | | о | з l o P J в . н н o ' l

Page 227: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

228 глaва 11. пepепoлвениe буфepoв как срeдствo бoрьбы сMеГакoр.oрёцияМи

!опустиlit' ссpвер oxидaет уpЛ, .loxyстиrt' oн rlаив]]o лс|лalaeTl чTo l.ll1я llPoтoкojla (http и.1],l ftР) пe rЧoжет занrrrrать 6oльше четъrpсx 6yкв, тorца, vтo6ьl перепoltlить 6yфеp'дoстaтo!llo 6удсТ eмyпoслаTь llечто вPoдei httttttttр: / / hеl ]о, соm'Ho o6pатитс внпмaпиei httр://heee€eё€eeеeeeеee]]o' соm }Dке lle сpa6oтaстl A oткvлa I]ьr заpalr€e пIо)ке]!l 3ua,].r'' чтo rшe]liro зa6ьIJl upoкoflтРoлиporатЬ прoгрal]lпl(j,Г? x{oЖст' olr пoпa/leяJtся, чтo сЛэrUеii l lикolдa нс 6ьirrаeT 6оrьшс дв'х? ll.,iич'Го двoстoч]rс NIoжет rrьшь ToJll,кo oднo? пrpе6иpaя все вapиaлтьr вслепyro, lп,lBЗ].] oiltаеil ссPв€р н€ pаIlьшe кoнцa свeтal когдaэToy,{е 6yДет ltеактvальноI A вeI{ьбoЛЬшIIнствo <.сepьезн],]х' зaпPосов сoсTo11i lз сolеll сJ1o)ttнo взaI']v!oдеI,jс,lвvlo.щrIх дPyг с дPуrоNl lloлсii, и метoд пcрe6opa здесъ стar loвитсЯ 6eссплel ] ! воT ToI .j . . , o ' | ' | | | ' т , | , l ' 4 , , l ' и \ o д ' l | . l l . I e N J г и ч с . , , , / : J l I i r , l l l ] ,

TсoРет1rчеfl(Л, дn'l rapантиpoвaпlrol.сl о6нapylкeнЛя всeх llсpeпо.1llяIопlихс! 6у.фсpoD лoс'|аТoчнo llPoстo пoстРoчeII0 вЬtч]rтaтЬ rrесь сЬtpсц прoгpаr1NIы (д1lзаtl.ссп{6лср}iьlii J|,'(:rиllг) на lтpсдllleт пoиска ]IPoпyщепllЬlх npoвсpoк, ЛРакПrче.(:кll жс gссул!lPаel'.я в чудogЛUrньпi о6ъеlI кода, (oтoPьlй rllта1.l . не пrPечЛтnTь'К тoлrv rкс llе псяlrая оr'су,|сl.вvlotцая пРoверка _ уя{е ДьQA' PассмoTpllNi с.1сЛy.юiI l l l i i код (ЛЛстI l IJг 1 1.8),

листинг 11'8. Хата Чyвака крoлика

dr i ]Г bul t0х]0]5tгсDt(]ru l , srс):

)

4о0

200

100

$'**

*"xttlъtЧ;чigv$\а}ь\{tx1:i$x.:1.;lxd1024

Pя..-11.6. статИстическoe рaспрeделeние paзмePа пeрепoлнЯюцихся 6yфepoв.ooраоа]ываeмых paзличяЬ ми Функциями

Page 228: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

roасиЧеский примep fl ереполнeния 229

;сJlI дjit]на стрoкll sгс пPевъrсIrт 0x10 си]!]roJoв' 6],фeр прoлoмaсT сrelJy li зa

l.Г aДPсс r.]]]llрата' Bесъ вo]]poс в T0]!1' lтpоЛеРяеTrrII }laтсpинская (Dyпкпия ltjitt'.! с,цюкп srс псрсд сс tlередаtlеl:I 1l.nп нст, l] кс rсJ]rl яB]rЪ]х пpoвеPoк нстl 11о

]трo]|а фoll1llруe'Гся ТaiilIl] o6P?шoltl чIo оЛa гаPант]rPoвaI]]1o }1с lп"двьllпает от

:..rсIL]Li)]] cii ве".lUчIlI{ьl (.r фoрмl]p.)llаться oпa \1о,ксT ll 9 llра]!1агеРппсrtoii ф"vнl{-l]|)' To rrlIILaI{oго llсPсtl()JпlеlJия 6YфеPа 11с llpoизоii/lет I'I потpачe]rныс aa а]|r.

l1:r r/{|l]Jl |.lя пol]дyт.nссoIl.

'')|оче roвоPЯ, rЦсдс,Го1]т пIIloгo l.l]otlt)'l',1litsoго тpуJ1а и пI1вa в тоll чlrс.ne' I{оо.

tiil11) lпlфоPr1aциЮ на э1.оr сч€т l{o}к}]о IIочеРIII]уть пз <зaпxсoli Ii}, rlо y.1rо'

i . I ]L ' Nrаn() . I |оIJс l l псPс l lo . l r l яx 'цI lxся бvф €рoв oчсяь ' |pудпo фoP]\ lа r t t l зoв i l |ьп !nxтЛ ч.(:l{ л | ie вollIIo)пнo lL'тоll il IJ l l]х) i}tl'Гь, М iсrоsoi( nкЛ aДьr!аеT в 1 eхIio,qo-'ll сoвср]lrсIIс1l]()llal|пя апarruэa lll1jlЛ l1аP/lь] /lоJIлapoв] нo взаltсн lк'lучl'.T rпll]Ь

]li||| rPсrr' чTo 7{с тoгда LrЬl о | 6еlll|.,гo (вo вссх oтrlo1lr0lttlя) 11l'|пlъх':t xoтilтс?

i.с.'ll]дoваlЬ ||il,'(() n rlеPlrvro oЧсpe]lь rc 6уфrPа' Ilа кoтоPl'lс вьl ]\lo)lieTe.Гаlt llJIll

'rrч(] ,!()lдlri]стiloвать. t)6Ьlчll() это 6уфеР.l' сяязnltlllrlc с rcl.L'BьlilllI соРППсаlltl'

l ] i l i : l l L J Iо l{а . ] lыt l ' l i i я i j ] | ( ) \ J \ ' с l r сс lЛ l ' г срс(с l ] (p l l с . ] l 6 ) |

PAктиЧЕскиЙ примrp пЕPЕпoлHЕHияr l с1 l r , , l r1х6o;кar rпr l r с r , гnJ j ( ) | l ( ) r l I rо Ix)рст l I I |сско i i Ч i l сTп, N{I , l гоT() | l L , ] y I ro| | | | r l ,

. ] l ' i ) l r1 (1 !вv l ( ) . ( )Tк()N l I I I l J I11 i )vс[ l Io]Lу l ( ) | l l l l j i j l с l l ( ) l | с1 . | )aц l Io l l l | | , I i j t lР l rмсP._ . ] l l . |

r l l l i l l 9 (a сцLс J Iv . l l I i с . i ro .}Ь}1с^1 Гo1 ' ( )нь l i i с l l ( ' l l l , l с ! | | , l i i ( | ) l i i ] . r | l l з l l I l у ( .TI Iп1 сГo .

.nФинг 11.9. llаш тeстoвьй пeнд

aг]пt l ( уOuГ t ] i v ' " i i г . .o t ] \n )

.har p i r55 'dt l6]] с l rа| l .9rn|1 l j ] i

т i n L f ( ' ] o . . r п : ' ) ; l e t s ( l O ! ] n ) ]р.1ni f( ' pd5s l i : , ) i qe i5(prs5r.)] i ( s tг .m!( lo!] r . 'D0D )&& !rг .лр(Pа5ald, q0d ))

:

, iРoГP.1Nlllil спPа1xt!васТ noгиIl ll парoJъ, Pаз сrlPаlr|rIвaе,Г' знaчи'Г' кoпrlpyсT в 6у-

:lсp' ;L раз rtопlrруот в 6уфеp то тyт Ir дo гlсPс]loJ]llerlrrя пеj1a'.1сl{o. Bвoill.lNi. ,]AА,\''.> (oчснЬ мнo|O 6укв A) в liaчествс lll1сни и <ввв'',> в i{aчeствс xirPoJlя,

Page 229: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

2з0 глава 11' перепoлнeние 6yфeрoв каксрeдсгвo 6opьбы с мeгакoр.oрациЯми

ПPоrрaruNlа н€NleЛnеннo пaДaе,Гj pсаIпpуя nа этo криTическoii oшrбirоii rlpи,roж€нпя (Pис, 1 1 .7 )' Alъ] Зпачr11.. nсpeпoJ.] ]]енrIе всe.таки ссть ] Присlтoтрlr;irся rt нe

e , , . L ' : W ' . ' v . U в o l , | , , о / h - - p v \ U и я о а д р e i 1 о , а t i . + t l t o о o а .тиЛась к nаiяти пo адpeсy 0х41414141, oткуда о]rа взяЛа 0x41414141? Пoсто]iTс. jIавсдъ 0х41_шестIlаццaтсPич]Ir,tii ASСII'к0д 6v]Lвьl A, знaчlп, вo-первь]х' nсDеI o , , " | | | | ' ' | , o o | | J n | , | , I U " 6 \ q ' c I " о | | | | i l , ' ' в . в Г o l l I l I ' J f , l ' j ' ' ' , '

" . г " ' ' ' ' , , , ' ; ' ' "

, | o l y ' : J r l | | . l , д i r ' , " | р o | | l | ' , , | | , h L i . , ' L , л o ' , ( , , | L h ' P р | , r ( 1 l . r . ,llаTсл-я кoillaнд пеpеNlсТнyлся па (oдер)кащrlitся в хвoсте 6yq]сpa аДpес, вoneюсyдьбьl tlo адpесу 0Х41414141 оxазaлся paспо".lо,ксrl 6сссNlьtс'rенr]ыii llусoР' вoз.оyn(даroщI.lи пРоцсссop llп]Ioтl дo ltсlill]oчсн]]яl llo этoмv гolrю легкo I1опIoчьI

Рис. lt'l. PеакциЯ систeмЬ нa перепOлleниe

l.[Ля Jrа.Iil,а lIаNl IIJ)LцсоllГ вЬ|'lt]1]il'Гьl кilкllij l() с'lсl.I сrINll]oЛl,l JIoгl.п|а ]lotlа]lnютЛn/ l р с с воз l l Ра ' | a ' в )Т ( ) l ! r l а l l I l о ] ! ] о ) l | с ' г ] | о ( j - l l с ] l o I ] а1c Jь I l o с ть лс , L l I ' ! c<qweгLy. ' .zхсvbп|n, . B lJoдl iм oс. . ' l l с|Iс] .e]\]a с006rцаст, . rтo <лrrстрyкl t r , r l r r rо aдрc-сy 0х7а6(6b6а o6Рi l , l .1 lJ lась к l I i lм ' ] ,гJ , , , ,>' З i l I l ] ' ( l{aс.м ]1J l iW и ||a6l tваc l l эIr 7A6с6в 6qс кJIавла'ГуPы. I]oJJyчас t(я: z] kj, i]JrtlчиT,l] tl/Lрсс IJ03I]l)аTll lI1Лl fi 17.i.i, 18.ii,19. i i l l 20. i i ( |||I lпojIЬ l J l ()Г l ] l la (| l : l арх||1.с| iT\ ,pс х86 м. lаЛ| l l i i 6a i iт заnЛ0'вI lorсяlю ]!{с]lЬIlrс]\lу а'lPссyj '|'o e(T|' i\!lrIlllll||()с сJk)]]() кaк бIn oтaIl(ЛlIfГс' tr Лесу ll('Pс., toм'; l к II l lм за, l l ( )Nl) ,

L lасI{oPо л i l i rасфм6Jr lц)онr lп пPoгplIJ[ lу (см' n l ]сTl l l t r ] ] '12) ' мьI о6l|аPyno.Iвасrvв пеii IЦo,ПЮ6()llЬi]rilriЛllуЮ Q)vIIкlUlю root, с поi\'o ILЬl.J l.oтopoj i l{o'olo тl]oрr1Tь .Iy.]lесlt,l{а вoт 6цlll Пplt lюPIIaJIЬIlо]!] PазвrIтпll с(бьrтпii oла нr,Iког/'{n lrc rlo,rу.rai:'гуправлонt]Я,,, ЕсЛIl, ко|lсчноj Ilе п()дсvl]vтъ а/шсс cс пaча.llа вl{eсTo адPсса Bо:]lrРа.,|а, ̂ кaк()ii у l'oоt'a iЦрoс? сMоlPliI 00401150h. ПeРсrягиваeм lшадrшre 6аl'iтьII]а \]еIiъIIис :цpесa ll lloj1v'laе\l: 50 1140 00, иNIеrпю в l.aкоIr видс ar]рeс вo3вPатаxPaн'] lся в Ла\lяl и, Слaпa ве'llllioliv Буд'цo' чтo ]]('lь в Irе]!1 l]стРстиЛ(jя Лrlulь oд'нa'{j1Ъll oкilзавIiltlсЬ аккуPar.llа сгo кolпiе, ПyсTъ olr и 6улет те:iI rry,rеlr'.rтo с'lrylсlтзаве-рпlеllr1см всякoil ASСIIZ.стpокп, Cи,rrво"там с lroДамr! 50h ]r 40h сoоTвеTсTвуют 6vквuцьI P п td, сuмrroлy ( кодoм 11h сooтвerсTlvcт к0м6и]rацlIя сtг]+Q ]r;l.lА]t-017 (на'{rvrГсAlt' впедитс на цlr(дllвoli клавllаТуPс 0, 1 r.l 7' отпyсlttTсAt).ЗалePжав льrхаtlrrc, внов Ь :]il]lyскаеti прoгPali]\1у u ввoдnм ФertyUioраsdfghP^Q.а'пapojlЬ I{o)кIIo npoпустltть, Со6ствeннo говoрrr, сxм!onL'l Фeгtyuiopasdfgh мoгу-rбыТЪ,1]06ьIмrl, rла]rпoc' что6ьl Р.QG PаспoЛa|алIlсь в 17.ii' 1B-ii 11 19 й пoзицl.Iях.llvль' зaвepшalоrцrlй стPoку. !вoд]1ть rre надo' фуllкц]1я gеts tsl1сндIoPItT сго сa

Еслrl все сДlr,1ailо npaвIIJьrlo' To пPоrрaммaпо6e/цонoсно въlвсдсT IIа экPaн <volгhavе rооt>) поr]твер}iдaя' чTo aтакa сРaбoTаЛa (рl]с, 11,8), llравда' пo вj,lloдe из

Page 230: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

прапическиЙ пpимep пepenoлнения 2з1

root'а пpоIPамlla пe]fсlUrся|lо грoхrrсTся, 'гart l{aк lln стerLе irахoдится ltyсoP' ]]о

э U } ^ ё ] | P ' \ ь | , | . | | o , в . D ' I i | { | j ' ' , г O O т у : к e o р " i ' ' J , ' с Г a | . . , | | v ) . , ' d ,

llсРL'(aвaтr, yIрnr Iсlillс Ila гo'ГoIJyIо ()Y1|к|l |o - Ilpoс'|o lt IlепIlтсрсс]|() (Tс]!l 6()-

nc(l ч1.O тnкoii (l)уlll(цllll B nl lкv.r\|L)ii ||рoгРаl\l]!1c Ilo)l(o,Г п Ii0 6Ll lЬ), I,l ljlIогo rхг

']|ес /lеliсIl!сlIllo зnс,л1lTЬ ||;i vliailсllllуl() i!{аlJJIllil, сllоii ф6сTRсlllll,liish(j||.кoд П Тa\1

I]o06щс [оDоDя, opгаljиЗol]aтI, уДnЛсIrl|!,li1slrсl]llс T^rcrlо Itрoс-,.(l - llс06хoд|rм() к:]к

ми l ] l l [ !уN l ус ' гa l lов l l ' 1 .ь '1 .сР/UDP 'сое/ l l I r l c t l l l o , I lо I1у , г I tо oбма l l у3 допсPЧ l . |в l , l i i

Iiгerv;r]l' сoздать пpаiitlь|l сll,li]:t,].ь Iiх j{o(ltPllптoРiillll BB(''lit/l]l,IBollilTсP lIII]аJlЬllOrl, , | t r ' l P l l N | N | , , , / l , ' I r l l ' м v | ' ; 6 ' l | , j Г | i Л I | с г l 1 1 1 1 \ l \ l ' г ^ l t ! l | д , I l | ' I R \ l L ж ' l v с U Т с г i l \ | | | ' l ' l i I l ' ,

llirм]'!' нeкoT(ц)ь]e пI]IтаloТся noсTyxl1r' |ц)ощe' Il!l-гаясlr yllilсЛсдoвal,Ь дeсI(pl.lll1'o'

pl,]' пo ]la э1oNi t]yTll l'lx }кllстхeстoкпii oблoпr' тaк каl{ дeскрllптoPьI llе llaслcдуloT.

ся T;Io1е эксllЛ()l]тЬI tlс Рl6oTa]от',ца){c ]{ ]Ie пЬrTdiToс|, r'х о)]uв]1Tь _ всe Pавllо

rlеnолyчIrтсЯ, Е(:л'1срcдlr чи,ГaтсЛсii на6еpeTсЯ квoРyili' lTyтему llо)ltllo 6yдсT oс-

вL"l.llть вo вссх floДрo6l]ос1Чх' пoкa ]кr o|рall]rчиllс,l Jlol(;l.lпnlьшl shсl]l)r!{' Do l olt

Дnя IrеrLoтоP!!х 'tз вaс 6yде1. сRoeo6pазlшlм хaкeрскlllll пol1вIlгoм]

вlIoпь заrLусмeп{ Iraшy деItollсTPaциollliуlо прогPa]uNly' сРьlвacAt 6у1!еР' ввoдя

стPoкy Aм,,.' rlо rlruесTo Tll].o чт06Ьl IlaясLтъ оК в дrlnЛ()гe кpитrlчсскoй оrnи6кu

llpило)т(еrlLи| дa!иN <oтltеIty,'l запyскaк]щyrо oтJraдqик (llЛя этoгo oп дojrжсri

6ъrть устaпoвлсн), кolпiретнo пaс бyдет ]1l1TеРесoватЬ с]o,]еРкимоr РeгIrс,грa

ЕsP в мoNlепт с6oя, llll Nlоеil пlаlrrLIlе oп pавсн 0012tF94h, y вас это зIrачCнlte I{o

)](eт oтличаTъся, BвoдllNI этoт aдpес в окtle даA{пa 1l' пpoкPуIrllвirя еIо вtsерх/

вI]из' i]ахoдиI]| гдe I]аша сTРоI{а AАAАA', B l{o€II сЛучae о]]a Pасllo']I.]nii]Ilа пo ад.

pесу 0012tЕ80h,.feпеpь мьr мoжем rriпкlн lrTь адpес вoзвРaтa нa 12Ег94h, и тогдa yтlpalrЛeнпc 6удеTпеpeдано нa первьlI:I 6aiiT пeРепonltяюпtегoсЯ 6уфеРа, oс'гaстся Липlъ пoдroTo-виiь slrс]!код' Что6ьr эьIзвaTъ i{oмal|Дllыri интсpлpeтaтop в oсях семeйства NT'irеo6хoд1tNф Дaть iiolrаl IД}, l,]i nЕxeс (<с Ь ' x) , B 9 х Tаitoгo файлa rieT' Iro затo ес,Гъ

Pис' 11.8' пepеAача yпpавЛe!ия ФункцИи root

Page 231: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

6opЬ6ы с MeГакоpпoрацИяМи

сoшmапd,соlп, llаязЬ]к€ aссeм6Лeраэтoт вьlJoB лlo,кет вьlгЛяЛeTьТакj как покa.зап.r в Листинrе 11.10 (кoд lio)к]rо на6ить npяnю в нIЕW'е),

лисrинг 11.10' пoдготовка she|| кoда

2з2

внимAниE

гЛава 11' пepeполневиe

c0000000: з3с000000002 :5000000003 6в434D442010000008: 5400000009: в8сA73Е9770000000Е ггD0000c00]0: tв|.t

puslr 020444D4З ." D|]с.

llrrr! еаx 077|.9/3сA ].|']esЕ'

jlrrрs 0000c0010

Злесь irьI и(]loль3yсм ltеЛьlli Pя,rt хитPofl.сii и lloлyrцetltlri' пLlдpo6lrыi.i рa16oркoToрьIх T!с6y!т о1дсЛьпo ii кнlJl.l'l. EсЛп ГoвoPиTЬ кPаткo| тo 77Е97зсАh _этo;lд-Pес API-фуIIl.цIrи WiпЕхес' ,{ссTкo лpoписанньlii в пpol?aмllv jlдо6ьlTый пу-Tс}f xIln,'lllзa i)кс]тoРTа фaijлa KЕRNЕLз2'DLL yТlrлI'iТоtl DUМPBIN. Этo ГРЯзrlыii] ] J l n п : r J ) : | | Ь | | | l ' р | | ё ! , , , o | . | , J к ь ' , ' , ) к д o i i п Р 1 1 с и l I o г l l i r * Л r t , l t J ! | | r | ( l | | | \ n n i i . l l . , . l| t . l , l | , ' | ' \ 6 ' ' | , , ' ; | | Л 0 6 : ' U ' l I L п 5 | j ' ' | | . , ( n I l t p о . l e д v P } о l i l . 6 n l q | ' . " ' ' , ' Л , " ' . ' ' ' ' ' . . . ' ', у ' U , l i , 1 , t v , ' , | , | ' , j l г j ' l Ь , П ^ l r ' ' ] \ l ! г : l L | н . . P м l , l ' l ! Л P с ( | . Л ' , I r : I t | | | . , . L | . o . i | Ч ' . t , , . ' l

сТ(Л Ir р!l.nст]) ЕAХ? ПоТo]vly Ч,l.o сal.l 077Е97зсАh lla саrиo J дс]lе aссслiб.Ur''cтсяt l l , I l | ' ( ' , . L ' ' . L , ; | Л | r , t U | ] , , ) r ( I B | | | r J l L l j l i | i i к м ' . ( 1 l n | ' , . I o ) | ( | | | | u ' ' , i ' | | з ' ' ' ' ' . г , , , , с г5 ] ] с l | ( ( ' , ] ] , l ) . | i i l I с | |U \ j i ] 6 ] l r |Ь | l L l \ l ,

ilочсil! Ir xмсrlJl ()аii'l|a с|40 (020444D4зh, чI]'|асмoс заl{oУ llаllоPсд) сToл1. iIPобсЛ?l l()'П)мy ч'l1) в shc||.Jro]Lс liс Nloхс1. J||)исy,l'с-l вo|]аTЬ 0ltмвo,]I ЛyЛ'l. Tilt{ кaк ol! (!|v')|( l I Iз i t l ]сР l l lЛтc.J lсм ( ' грo]rи ' ЕсJI l l хRoсто]Jo i i l lpo6сЛ y6pать, то rrо. l rv . r l rт iя000444n43h' ll э'|.o y)rс llс вхollит I] Ilаll!l! l1'llаlIIn' вN{ссТo ''l0I; Мlj r(сIаc]!] iOR eаx'еах' ().)llул,lя ЕАХ lla ЛoT}, r' заlll'lх'lвiUI сгo 3 стск /lJl' фoрNlxРопtul!tя IlуЛя' зal]cР:lxаю)|Lсro сЦ)('{y с}lD, IIo llеlloсPсЛсl.всllllo в сaмoпr slrсl!кoдe эrrlro нуrrlr rrстl

-

Гiоско',lЬку s оTвсдсtll!I'с rlаrЧ 16 6aй,г sЬсl|коl( вJeilаTЬ н]lкill{ нe хoчoг, a oIll.ll'\ l | , ' у ] ' о | l ' l I l с 1 l \ ) и | | ( . J , i , v Ь I , | г , ' 6 е г . . ' \ | l ( n ь | | | у ' ( Л r l , , t о I t | { , ' { l I r о | l , - t ' | ' 1 / I l { , .I J j ' ' v ' | ' I i ко l ' ] | ' l In . l , ' , \ , i ' ' ; tq 'n l ' , o | . |оя|| r l .и от: l lPс . J вo: lв lЬ j | | : l ]2 l ' ' i I i ] эl I р , . г , ц , ч r o ' i с о r г ' , ' , , r l ' l r 1 " с п . l 1 " , , r ь но гu6у . ] ' e п " р ' ' п с r r l 2 . t r о ь r v r , ' . ' o r r v ' ' .и ' l | | l | | | ' л | ' \ ' \ | . ] ' l г n | | , , a , l 6 \ д F т в | , | |

| я , . l I L г : l I . ' к i l ( г , ' ( j l з ' | | n d , ] y с . , , . , . I l , l lПpостo пeрсвoдппr lrcх.кoдьI в Asс]I'си[tвоЛЬтl вволя lIспeчаTныe 6VI{вIJцЬI чсPе3 A|t+NUm,

;:#;o|ь:e кoдЬ, специфичныe дЛя кoнкрeтной мащиньi, нa дPyгoй машиHe Moгyг te

лиdинг 11.11, Bвoд shel| кoда с клавиаryрь|о . | , , o , o . 0 , . o , d . , а l l . , г , , o . l 8 ,

Dаss ' ld :з<а l t .192>Phс!D т<а] t .184:<а l i .20}s<а] t 2 !3жa l t 25}<а] t .20D<а]t .2з5><254>

Bнoдлrrэтo в програмlly, .i]ol.пll сPьIвalrт с'Гel{ нахpен и пeроДaет упРaв-r ение lIilпаpольньtй 6yфep' гдe:rежrrт shеtl.кoд' Haакране пoяв-Iяeтся пр,lглапIe!иe ко.

Page 232: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пpапиЧескиЙ примeр пepeпoлнe}rиЯ 2зз

\{alЦ]]oгo llнтеPлPсТa,t.oрa' Bсе! Tспеpь с сllсTемoli мo)fltlo деfiaГr' всe что yгoД.

нo l oTкpьisаем на PадoсTях пIlвo l1 пр]ilaем } по.телъ' rt60, как rJ1асиT liaPoднaяllyдростъ, 1/3 сBoсй жп3liи человск ltPoвoдит в пoстсли| a 2/З -. в пoпъIткев э'гу lloстеЛь затащитЬ, ПpaвДа' дeвyшкидyllaют Irначс.,.

листивг 11.12. дизасс€м6лиpoвaниe в услoвиЯx, aPиблиxetrных KбоевЬ м

.tехt 00401150 sL]b.401i50 рг1rс i €aГLсxt:0040115D i начало функЦии roоt. r0 € стЬ т0и Фyвкции. к0т0paяLert:00401150 | Oбoсr]eчивает 3eсЬ нeоoхOдиi!й хaкерt функци0 aл aдр0сteхt:0040i150 i н iqdла играer кЛюceвуro ролЬ 3пеpeдaчe tправлени' ' позтоfyteхt:00401150 : на всякиЙ слyчаЙ OyiaПку са!y це фyнкцию|ехt]00.101150 : гoot ш (оf l с l r l [poвать нe бyДe . lак ка1 в Леп0нстрац[1]нноh

, io lL 0040]150 ] пр иeрrr Oна peoЛи3oвана ввидс 'заглушяи'.Leхt 00401l50 :Lеxt 00401150 рush Offset aYоuГNavеAROot foгmdtt € x t l00401]55 сa]] -ргrntfLcrL:0040]]5А pOp есХ|cx l :0040115B ге|nс, 00,t0]L 'B . ,b-д0. 0 e-do

r! .\ t r 0040115uteХ| 0040115с -ma]n pnoс neа. DАтA ХRЕF .da|a 0040А01]0O

,tсхt 0040115с начыrO фrн1ции mа1n - глa3нOi фy[кuии nрограЦl l ,lсХL 00401]5сtсxt|0040115с vа.-20 . d'Oгd рtr .20ht3xt:0040]15с s - byte ptГ .10t l

teхt:0040]15с : IDА автol1атич €с([ распо3на,|а nвr локaЛьньх пepeiо|ш!х 0дEа!схt]0040l15с : и3 кorоpыХ л € t{ит на l0h 0aйт в!ше Aна (aдpa с 'era а дpyгaяtехt]0040tL5с ] Па 20h: судя пO paзмeру - этO 6yф €pa ( !у ачr0 ощu. По){eт

,text 0040lr5с 3a |и laтЬ столЬ1о 0аЙr0B?), f tХr 00401}5с:tехt 0040115с arqс . .!оrd ptг 4text:0040115с аrgv - d!огd ptг 8tet:0040115с еnvр ' d'о.d ptг 0сllteхt:0040]15с : аpгумe[ть l ' пrpеданньe фун(ции marn' f lам сеЙчас вrrxIr0р0сньteхt]0040]15сtехL]0040]15с аdd esр '0Е|.FгЕ|.Е l]h,rсХ| 0040115с ] отrpыaаеB кадP стека Oт|ииая oт ЕsP 20h баЙт,trХt 00401l5с ]t €хL:0040i15|. push Offsеt аLogiп foГmаttе l t :0040i164 сa l l рr jnt ftе!t:00401169 рOp eсхtехt:о0401169 ipг]ntf( lоgrn: )

. r 0 0 0 6 0,tех l 0040116А l € а € ах ' [esp+20h+s], р ' ' 0 0 J 0 ' 6 l - , ]tеrt :0040116|. сa] l -q € tso 0 0 J 0 | , J р о р " '

teхt:0040i]74 | gets(s) lлpaДaлЖeниe 9

Page 233: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

2з4 глава 11' г]eрепoлнеHиe буферoв кaк сpeдствo борь6ы с мeгaкopпоPациями

лиdrнr L1,12 (nPoдaл'<ение)

' iеr t 00401i74 ; функЦия q.Is вe кoнrp0лиpуеr длинy sвoди!Oй сrpoки. и l lOт0i t'tсхt]00401174 ; оtфeр 5 !OнL^т быrЬ пеpеп.лнен| пrrс(OлЬкr бyфeр s лe}ит trаt."tt:004c1174 дEс (aдрd сreю'тo неп.с!r!lстseнно зi sии сЛеllyсr адре.

, tert :004011i4 3OзBpата' слеnOBaтслЬ9о, ег. n0peкpьвiют i1 l r 14h оаiть. teХi l0040]174 : бyфера stехL 00401175 р!5h оffsei аPаsзld i ilrгЙаt

' Leхt]001011/А ca l l рг]n| iL € х t :0040117F pop ес l

. tсxt:00401]7|. : pг iпt f( ,Dаss ' i ] ' ) ]teхt 00а01i7Ftехt]00401180 рUslr еspteхt:00401181 ( ja l l - ! € Lstсrt 00401186 р0р l:сх

, t ' "Хt 00401t86 : фyцuии 9ei5 пeрi]дaeiс ' , lэзаreль в i l 0сpшинy ка i]рd стeк i ,Leхt 0040] 86 ' а нa в.pшiнe у на. 0yф0р yaг,.20, поск!ль{у 9,эt5 неteХt:0010]]B6 lOrrрoлиpy.r дЛинь sвоl iи lоЙ стрaки' rо воз lOпlotехt:00401186 пеDL.полi eние' l ]h . 20 l r o.rй lЬ оrфeра v i . '20 пep.к0в|0aюr[eхt 0040l l8б : оуф €p s , i r2]r .24h пO)aдаюr l i r aдDeс soзвГ,ara rа lим

,text 0040t186 о0рdзоф адDeс в03sрат i r фошст о!тЬ из i ! lc l дву iя paз|ы и,reхt 0040l]86 : спoс0Odtlli - пз оуф..!a s иLrэ oуф0рa vаr-20' tсХ| 00401187 рus l r 0гfsr: t rJ ]Ob i s2teхt:0040]18с loа cdх, issр+24h+sjtехt:0040l]90 рus l r cuх :s:lехt 00401l91 с i ]] strс ip|eхr 004011!6 аdd еsp. !|eхt:0040]199 |e 's| e.х € ах

. teХt 0040l l98 jnz s l roг i lOс '40]1с0r'eхt 00401190 рush o|Isol а6od | 52с0хL 00401LА2 le0 rсх. Iesrrr24htvаr-20]toхt]0040]]A6 pus l r eс i 1]tсх l :00401lА7 сe l l 5t|тmp

.tеХt 00401lАс а.d |sр 8tех| 004011дF пrt сiхt"oхt:0040] 1B1 tеst еах edrtе l t :004011в! Jz 5ho|L]ос. .401]С0

,tсхL:0040]1в5 рush оf isot ане]]O.qOb : f0" aItсХL 00401]BА са l l р.] i t .teхt]004011BF рoр 0сrLPtt:00.1011вЕ прODер{а зрония пеpсl олняюЦиrся бrферoв

, leхt 0c]011вг н 'Ф пр0дсrавля €т Mчегo фнтерссяогo

' te l t :0040]1с0 lос 4011с0: i сL)DЕ l t | . | . лз]п+З|. .]|ехt:004011с0 аdd € sр 20ht € ! t :0040l1с0 ] зdк]rьrиqo кад!а сr € (a

. tex i 004011C0' iе lL:004011с3 геtnt € x t :0040]1сЗ извлeleяиe аAрeса во3Bрaта ипер. l rdчd Hd не o yпр.вЛrния

,tert l00.4011сз ] пpи П0pпалЬiо! pазвиrиi сoбытиЙ гetn !Oзврац.еr нас в, l0 i t ]00.1011с3 : iатеpЙнс(yю фyн( lLL4lr , Ro e.лЙ npoизoшл0 rPpeпoлнеlиe и адрес

Page 234: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

паDа oбL!иx сoo6Dах€ний напоФeдoк 2З5

|ехt :004011сз i во3врdта бьл измевeя управлeние noлycит совсe[ другOй 30д '

' tех t :004011с3 i котоPыi . € |1 пpавилo ' являе1с l (од злoyпьшлeн9иt ra

' r rХ t ] 004011с3 -па in еndр

пAPA oБщиx сooБPAжEHиЙнAпoслЕдoк

ПеpспoЛtlяr(ЛцIrеся 6уфеРa нaстoJlьк() l.lllтеРeсна".{,rемl' Ч'|o еii, нe кoЛс6jlясЬ'

пIo)кjlo lloсвят!Iть вdo жIrзнь, llс oTчaивайтссь I.! lIe Раск,rсаirтс l]prt вс'Ц)ече

с тpудl кlс'гяNlи1 псPrЬLе пpo6,.i.сlrи усllехa прI]Дyт"1ишьчеpeз IlесI{oЛЬкo JtсTyпoP.

нofo чTепия дol{y!lсx,гaluJ].I Ir 6ссчr1сЛеllllьiх эl{сIlсprl]vептoRс loмпиЛятoрaIIll'дIr.

Jассelf6ЛеPalrI и о,j]|:ulчЛкапlи' чTо6ьr пз)лItIть llo ва/(кп пePепoлIlЯlоцlrхся 6yфс-

poв, lJa]ro уi!lс,Ij, .ltoi\fать) нсo6х(]дЛl{о eцe rl lро[раNlNt]lPовaть.,, ]4 кoNlу loлькlr

aplllrlлo R тoлoву l1iulвaтьхaкеPсTвo ваIlлалIrзпIoпl?Iэ1o lIIrrеn.]rектуfunЬнiЙ лгpa'

I P ' ' 6 у | o l | , a я n | р o м н U i i г ' , г | ' P л n , o Ч с l ] | | J L r | | , , | р г { e г o Я i , , L | \ v ' , , | ' l ' l | | | | p ' l n o г я ш , J ' r

дaЧу Tо,]lЬкo тем,l(To с/leЛaлдЛя кибсPl|РоСryallсT]lil чтo.1'сl по"!ез]Ioе,

Page 235: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

"wГЛABA 12 dJt

uLTIlvtAтЕ ADVENтURE'ИлИПov|cк дЬlPBдBoичHoM кoдE

j,IсходtlЬlс Tскс'гЬI LINUх'а,l дРуrl'х oPсn sоltl.сс.сЛ(|1o\1 в lЦr,li|o]\{ сNlL|(ljlo э|()'гo с" l IO l l l l зaч l fГa l |Ь l l L ( ) дЬЦ, l ' Iа i i П1 здсс l ' ЧT( lTo l |р l l ] | | ( | l I l l ' | | t J l | ' | | ( ) J ] ( )в(х] l )чсJ l ] ' , rрvд 'llо WiпdоWs дРvгосдс'no' нспPохoдllмЬк] дя(yIпrn i(вoпч|Ioго коr]a oтпvr.llвa.ют новI rчкoв, l . I oгPOi I t iЬ tc rсPP l r r ( ]P l l l t l L I Iзас:сoI16"1( .PЛLIх J I l l сTпнгoR всс с l l l oостa]oтся riсItзвl]ланнЬI\1ll. Пpllчv]Ul]tвЬlс IlоPcпjlстcнпяскр ьIrrаIот .rгроl'l'o € коЛ,Iчествo грy6ъIх прогpа\{NlItстсIr]jх опIп6оlL' даlоIll].]х Ilr.огрallичellпvю !лaсть lIад сlrстrмоI:l' Поп!о6уiiте пх IIaiiTIl, а я пoкan{у как,

сч,tlaеlся, чтo oTIq)ытость llсхо/lпoгo коrlа ilil-lк)l. Ilа]lФкrl()с,].rl Jlк)6()ii сl'lс1t'.rl],I1 Iloсliojllliу сlIpЯ|nt.lJ заltJ1tЦlty сlсplIьl11 хоrrl Tpoяl'(xrl!1кola'оxсl'.г) в Та'{t1хyсJroвr]ях xpaкTt'lчсски llelo]ivo,]сll0,'l.ьlсячll эl{сllсРTов x эl1тузиaсToв сo всс1.oмrrya тщатcJrьI{o lIРoaнаЛизиpyloт ]lPоrPaiINIу lI вьIЛoвяТ вссI 6,ro)t I{а]t с"!v.чаijrIых' тaк II предtlаi!!срeнньIх, liтo ,tе кaсaстся oтJlollпIlлпрoваt'IJoго двollчiiот.o тtote тPудoеllltoсть еIo aнаrrпза нcопраtsдaпнo воЛI.Iка' Ir за пPoстo тaк

н | | | | U | | ' 6 \ J ' , | , t { U , ' Д " ' | , l | ' r , ' l . v ' l | ' o Р U | | н | | | , U в , o | l'{ен1и oРсn souгсс' lзвсст}1ъlх свoиil Pадlll{аJшlзllorr и oтPицанлсll o6ъсltтив

\ Р , , ' , o . | | , | а { o d а ' о | | n o ] a l | . и D l ] в " U , l . { o , , I i ; с о l ' o в l . ! р н | | L ' , | 1 | | , l о;t{сниii за PазуNlнос BPeмЯ r1 фl1зичсски, ]rx эIo''o]1ичсски нсвoзмo,fiнo, ДаяtcстаpуIUка l'IS Dos 6.0 в xсхoДt1ъIх текстax вссtlт свьIшe 60 ]\{6аIiт' Д,rя срaвlI €tпJя <ПoкoЛeЕtle П' BиктоPа Пc,rовrlriа нс дoтяг1rвaет п Лo ifегабai]та, llажe' , | | ) ] ' | о б ' j | Ь ' . \ o Ь . 1 ' | . ы р ' l в . Р | , ' , д ,

" о i | , | | | - Р | l ' '

Page 236: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

2з7Lr|tlmаte adventlrеl иЛи пoиск

gpеNlени nollадобlrтся д"!я их lrр0чтеIrrrЯ! A веr-lь исхoдllъlе текс]Ь] _ сo!ссl!1 ]1е

rLниrа. эTo наrpоN{o)i{дсние слoж11o взaп}loД€Й.тryюrцIrx дPуr с Лрyгoм сl'i)yx,гyP

данllьIх, тесt1o ]lеpeпJ-lетсtillьlх с мaшиIl]lьlll кoдоrl','

ПPи сpед1l €ii дЛltпe однoй х86.i{oпIанДЬI в двa 6aiiта каJl(дъп1 ]rиJIо6ailт оТкor!пll

.lLttрованноr.o кoliа нссeт нa свollх плечaх llopяЛlrа ]lя'1rtсoT l1пзасссNjбЛеРl1ЬIх

стPoJrl соoTв€тствуlоlilиxдссяTll стpаt111ца]V! пeчiтвоrc текста, IvlсГа6aiiТIп'jiдвo

ll;I lьrй Рoмa}{ за Paзу]!llloе вPсrя 11рoч птaть y)ке l Iевoз]!1ФкI ю' СовPсI{eI lн Ьrс.llPo-

ryaiJltr;'c коr1п;сr(сьl r]e мot.yT6ъIть rlссЛелoванЬlдo пoсЛеднсii зxпятоii, LIfu]tI

ч j tе l l схo/] ] ] l , |х те]{стoв пичогo пe п ieнЯс1. ' каr laя Pa; lппцa ' скoJ j l ' ко врс j \ l с l I l J

про:rЛllTся Pa6oTa тысячу .neт lintl ltl.IлJrrloII? ilрoцсjrуPа поIIсI{a дl, p пlохo

по.1дllсTся расn ilР:!пrreЛ]lваn ЛIo llс,flду участнпl{аill rl] oтдс.п!нЬLс yчaстltll l ]]lогРаi\1.

NlЬL вьIпo'll]lяlотсЯ oтltl()/lЬ нс ]JзоJrпРoваltнoЛРугoт дРyГа' olпI с-1lожIlЬrll 06Рil3ом

Lrlill]\1oдсi[шуJoт ]!lс]к/Ly со6оt1' пPIlч€N1ДaЛекo tlс tsсс olпrl6кlt сoс])сЛoтoчсI ьr

I] oдlloll l'сстс r\llloгllс иil llих {PазI{а]aны' tIo 6олъ]lloil llnoUlrди, а в i'lllоГ.)iIo-

TочньIх сPLnах - сJlLe 11 рaсr'''|||yтьl вo !Ремe'пi

Ntс1oдliк аJJToiuатпзj]P(ЛralIнoгo пoIlскa yязllиiltостсiil дolIеЛ!rJItll,lх !l() < Л Po Nlr'] l Ll

lIсп|1oго| llспo]l!зовllIlIlя' в llaсTояцoс вPeмя llo суtilсстBvсl, Mar|()llсpoятlп)' tlтo'

6l,r онrl rкlrrвплпс:r' в 6уЛуl]1сI'. Ltспoсpl!(ствrllIlЬtij аll:rЛr'3 о61iаpужl]васт n||lJlь

r{ : lЛу() T( ) , r | I I l {у l I i l 6 ( ) , ! с0 Г !y6ьIх r l ( lмоor i свпдI lь Iх о| бoк . OсTа. r l1 ' l lЫe n{с i lр l r

хl)/liJтс,| lr|)lЯB]|,ll Ь B |lp0!фсc РonЛь1l()i,i эксЛ"l,уirrAIli]II rЦ]оГ]]rn]rvы' Тс]Vl lrс I|сl]c(]

(:,]'ll,г]к)1]lЧ(!Lliс iI(!:'цCЛlЛrnInlя Iloкaзьпrilю'l'' чlo ouI 6кII l]()3|lllка|()'Г ilс rЦn)С П)Tаl!,

|J l]]lх ссT' 0l](я rrIlY-|РсIllt,l,l с|.|(:'Гс]!1n ll зaкolюtlсDll(хr Ь' 6,'la|.0дnl)я чcruу ptliioII

<ilj)х.oJloгlllкх:lrl{х Pllсl(olIoI(> сvlll(с,ПrcllIlo суя(астс'I 't ()6Ъ0N1 'Lllза('o\l6Л('l)ltl'|х

l)l6()1. с,IillIoIr]1т., rrl|().]l jlс l]oiulЬllЬINl.

^|| l l r l l l J N la l I |и l lU(Лo кoдn l | ] ! lес , ] ' ( t lo l ] с ] t 'ць] IЬIс I I с " l ln6ьI( . (Topo l lЬ t ' хо l rо l I l i l , | l !о .

l ] ( ) ( : ' ] . l ) : ] ' l Lссь l l cт Э- l ' ! l х l l у ' l o l lиUL l IЬ lх Лсфa i Iю3 0L lDсктI lл УсnoПlюl lTР l l I1сJ l , t l l j I i l

dеfine) li ll.] ну)к]ю кlnrдьlй Раз о,rвJlс(aться ||' вьlясllсllис o{хl'Гoя,|l]'1Ьс'lu l{il

коil loд rrr,мrrr,r-,rирУеr.ся1 a кaкoй or'с(lrlетсЛ' Ilcr макросoв ()(r)6.llIl() \11юro

сгPoчlпnх)' мЬl Irсrтi(.r ̂ ю)кеNl o1.nЛчiiтЬ фylll{lllll{ oт кoIjс1'illrT',l liolLс11ll11Ьl " (Л.

Irсрr11cfllrьlх' OтсуlствУcT llсрeкPьlпrс oперl-roPoI] l! н€яl]lIЬIii вьIзol] l{(Лlс'ГPуl{.

1opон (пРавдn' дcстIrуliTopЬI rЛO6iuЬtlьIх кЛассов по-IЦl)кIтеl{у !rЬ|]lfiпaю].сЯ l|с-

'вflo), ltoрoчc ГoвоРя' ](ом|lllЛятoР rlз61вляor JltLс oтlllо,клllьI пIrучс]L' за1'pудllя-

юl]]l lх чтC]l ие лllстl{lll.о]] (кaк ш Утят пPoгРaruмirсты' сrt/с+ l - )1!язЬlInr lo.llьI()

дл, l зa|1исп1 Wг i te on]y) ,

П,]loxиe нoвoс,|l.ll одI1а.е]lrl]rствеIlllая стPoI.a llсхoднor.o TеJLсТа !t

с.гяоBaть дeся'].].аll п1аIlIllн 11Ьlх кoi!{aнд] lIрlIчоll onTr1NlизиР),rоrrlliе rtоIrrll l'll,lтo| Ьl

Ilе тРаlIслпPytO l. лрoгPаi!1iliУ пoсnсДoваTеlьнo, a пPоизвojllпьl]!I о6рaзo]!{ порс11e.

rn]{вa]от llашиIIпъle I{oNlаII]1ьI сoсеIIппхстpoк riсxollн.)l.о к{l]Ia' пPсgрапIая д,ll]xс

се!6nсpl]ьrli лист]tIIг в нaстoяrцyю l.oЛоBсl.]ioAlку, все вьlсoкоуPoвне!ьIe rtoIl.

стРуl{цllл управлeпltя (циклъIl веTвЛеliriя) Pа!бпвaюTоl па цепoчкy }'словilь]х

llфrrоДов' сОo'гвсTствylощу1o oператopу IЕ, G0т0 раtlниx диilцеr(тов Беj]сllпa,

I (оп lмe l rтapпиoTсyтству lоT 'стPyктуpъ iдан l lЬ lхyн С l t \ !во , rьПыe

llllснa фхpaняюTся -цrll]rь чaс'гичнo - в RTTI.классахи некотoрЬlх llI{поPT]Ц],

сIlьтх/э1iс]lортllPyеNlьlх функцllяx' исРаpхия кJaссon сo с.rloяi]tьlll нaслеjloва.

I]иеNl чal]lс ]rсеl.o мoжсT 6ыть lloЛпостью loсстанoвJlеIla. rro Paсх.Jл вPcNtсlLli 1Ia'гаnу]0

ре'ioнстPyкцию с-']'лlII(olI ве'Цик.

Page 237: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

2з8 глава 12. utimаte аdvеntuЧиЛи лоиск дЬ p вдвoичHoм кoдe

Поразительl]o, }ro пpl'l вссх сBо11х pазличиях мeloдиxп a]Ii!]1вамaшиннoго и ис-\ l ' J н o | о | l ' | i l \ j и t и I Р , I t ' н о с х ' ' т ' ' Г o у n i в | ' в э ' r o 6 " с r u p o н . , р l r l " в а r , { l r r r а г .сeM6ЛlrPoвaнис вoвсс нe такoC тallпсT!сIjlloе занЯтI{ej l{aкиl{ oнo поllaЧацyкaLжстся' otlсr вполrre rro сir".тaпl инtкепеpv сpедпе]ipуки' }-Ialiдите и rтpouитar)тЪзФундalrеtt,t.а.rrьньre rlснoвьI хаксPства>' <o6pаз мылrлешия Иl{Al lr <Teхrtипyи q'U]oсoqlиro хaкеРскl'lх aтак 3апtlскl'i Nl!Iщъx,a' иЛIr JI ю6ъIr дРугllс кJllJги nоэтоl.I 'rсп{el в про'гивнoM (xyчae !Tа гЛава рllскyет oказaтЬсJl для вас сЛиrпкoма6сTрaктнoi.i u !сгIоlrяTпL)ii,

Успeх оflеPаlul]l вo l llолr)пl зaвисlJT не тo.l] Ь(0 o l llurеIo опLIтаl нo Li or.пpoс'ГPаl{.стBеlt]loll oрllcllтaц]{и l\lo]]l,lтoРa' гcoмстРli nlЬ!U]п сl.спеIlrl ttoтеPтосl. клaвпа-тyPьt| а попрoсTy lоnоpя' oт вапrcЙ всзгleсТи, ПоговаpllваIоTj чтo ]vil'ши J]оl]lrtскЛав!IaтyРьl 1DJ.lнoся'l' l lссчастьс: в саNlЬlii oтвeтствеtll ьIii lIoмсflт tlуlr('o р пpьп:lсlIJcMнoro ]le'ГуДa| 1l пеPсtlоЛняloпl йся 6yqгP oст:lе'ГС}l нФa]v(|чснIlЬl]!I'''

пPЕждE чEм нAчAтЬLyIiIесTвуют ра.зЛrlчнъiе пoдхoдьl l( исследoпaliuю двоrlчнoгo кoдa- мeтoдиl{ислепolo noист.а 11е пpeДпo.]raгают пtlчсIo' крoIIo l1еTодичнoто пеDc6оDa Da3Личн ь , ч t , u v 6 r r r r r r r r r i ] в \ o Л l , ь ' х Д J P | , Ь I х ( l o , о | t Ь I \ | и ' l ( j r к п р n u , ' , ' ' , o ' o o i . я . ' p o , ,PазлиЧнol;i ДnиньI' испoльзуelrьle пrавньтпt о6pаэoм &ця вьlявЛeнuЯ пеDellоJ]Ilяnшихся 6}. l ' .Pов) J , lе ,] . "г

' , l . l , cннЬ ,1f , ' | : l ' , з , | ,"6,r ' . | | |у6U|.||\ . || . | . r/й .|| .Гe.Nll,li t1еTpи виaпьI'ol(r !lьш,rепfiя и 6oraтo1.o oпьlтa пPoсктrрoваIrIrя <]гtpoмЬппЛeн.нь]х> прor.paNlitлIЬlх ttомплексов, Хaкеp дoлrкell напеpe]l знатЪj Ч-1.о иjlrепнo он

Page 238: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

неoбxoдимЬ й иноpументаpий

ицеТ, излю6JсннЬIе оrпи6кп pазрa6oтчI.lкoв, BеpoяпIьrе N{eс'гa с]tonlellия 6a.

гов, oсo6е1tlIoстп tI oгPавиЧеllIrя Pазлlч11ьlх язьr кoв пPorpаюulrрoванля. oднnх

J1]llltь Лавьlltoв дизnссeNI6jI[РoBаllия ( вьI Reдь умсL"r.e ДI.lзассеl{6лиpовaть, IIe пPaв-

да Лr1?) для rlаших цсJleii окDкeтся кaTaстрoфичeспи !L]/loсTaтoч]io.

ЕсTествеIlнo, тyllo]i пepе6op нс всеrдa пРl'вoдиl l( ЛoЛФки'ГeлъIroпry резуЛьтaтy,lrпlr}кcс.tво ДъЦ пpI! этoi!1 oстaются нl]заIleчeп]rЪIпIи, с дpуt.oii стopоны' ui]учe

нис 'цизaсс€м6n€РньIх .nпстl1нl.oв ,гaIоке l]е IaPанTrtя успеха' BьI lloжсте прoсп.

jlе'l.ь з:l мояrrтopoNl lJriопIс l.о/lьl' lIо пе !Iаiiт]1lllI oдrlогo дoсroii]{olo 6arа. ЭIo у){(

ка1r lювеЗет (llJlи }le пoвезет _ Ч'го, кстaтп го9oPя' llаNfнoro 60Лсс веPоятнo),,,

Поэтoп{у ltреясrе чспl nplr6еraть к дrtзaссем6nиpоваI1,llо, yбеЛит€сЬl что все Irоз.

illoжlloe IJ нсвоэlllo)|(IIое yжс (дe.lraно, l{alr мltxliмyм слсдуст ltаIJестI! массиpo.

ва]]llь|ii yдаP l1o вхo/lllЬ]]!l пoJlяll' 3aсoвъlвaЯ в 1]11х стPoI{и IrспoIlL'IЛ]ой д-1llньl'

а I{аl{ l!1аr(спI{yNt. исllpo6oDа'Гъ тиI]овь]e кbltцсптYir-lЛnlыe уязвrlпioс]и. B чlст.

l]остЛ' €сx]l ilTaкyeм ыir 6Pаl lдNl ауJl) 6с.пpсIlяTс'п]lrннo ll PoI Iy(x(ае]. с лъ}lo фPаг

}lсн,гllр()uartнЫс тoP пакeтьIl дrlзак|еlJ6л]'lPoвa1.! сr() lIe liyл{Irol судy lt таl( всс

''сllо: чт06Ь1 (]6IlаРvnrить xojL()6пvю /lьфу rr '(IrolГlпoNr l(oдс' llс()6холnlro o,l.чс,г.

Л l1Bo пpe](с'гaI].r]ят], ]vt сх1ll I l l3]\{ ра6()Tl,l 6PаlIдi!'а1э plL | | |ltlPa]reе пРсдI lo'1а Г;lTЬ се сy.

п(eствоваllltс' A Рa3 тilк - 'Г() llе llpoщс 'l]ц бy/(ет сa]!1осr1)ятejlьпo с()оpillIryоватЬ

фpа[l,|сl|'ГиРoBAIllll,Iii пaltс,L tl ]|ос]!1оTpетЬ| ка|l IIa Ii0|ю oтPcill1lPусT 6PапдrllllyэР?

lloд,.roхllьlс llarrс,lЬl /шугoс iLс.!о' oпlpав'цяя Ltх )ltертBc' niы /LоЛ]IiIlьl зllilгь'

(ак}Ic llNlеltlкJ ]]oля l,РoR€D'to,гс,|l il кirк,tс lI0T. [joll ilIi3aсссl|6Л!tРоI]аlll.|я 3дoсЬ

у'(с llo о6oiiTисЬ| Mы )to.rl){|lь| |JЬl/(сJllj'Ll, l(оiL' oтвtll.стпorllIьrii зa o6pa6r l'пry :l;iгo.

ЛqBкoB] l r aPоапаЛи3j , |Poпaть q l r r - r . сpи l l от6par r l ) I Jк| | l lnксTo8 ' в кo l Iс ' ] I lo I I счс ' l . с '

дl'lnдсссм6Jl сР _ всcГo JJ l'i I Il ь 'I I l(:-|.Р:r'мсl |,|) rl I llL Pо'll ь |.сl IсPa,гoPir l l/l0 o ll rlс T'l | |с'l.,

Бссцсn']lоc l(|'lзассeмбЛllр()вiUIl]c -- э1.o lly'I,ь lJ Ill'll(удir'

HEoБxoдиMЫЙ иHстPy]"lEHтAPиЙГoльlми Pукамп мlloro дьЦr rtс наJк)вппп,l Ar.Pсссj1t]llая приPоlra /lвoIrчtloго l{o/1a

тpс6yот rrрименcния слепllалЬlroro I]ЛстрyllсIiTаРrlя' ПPс'i]rс tlсrгo вa\l lloTре.

6уется :rизaссeпl6лср- Их мllогo PазlIЬ]х, пoJIучrxе tJсех iD^.PRo 6сссnoрlIЬтii

ЛrIДеp, осl'irв"']яIoщиii с}Joих кoнкурL,llтов даnскo п()зaди Ir xoд/lеP)r(llваюIIlliп

пPактиЧескli всо фoрмaтьI псILоJlllяемьтх фаjiJl()в' прoцсссopr'l }t кo}1пиЛя].о])Ьr'

сyщосТвуIo]цrlе нa ссlо/lпяUlниii деtlь (Pпс. 12,1),

И поД Palп Pс To)ке есть дп3aссем6Jlсp (pпс' 12,2),

Ещe вaм пoтpс6уeTся o'гладчrпr, K1aссичесIrиii вьr6op _ sсlft-iсе (pис, 12,d)' ott.

на]tO ! последнсс gpeмя ero яшPI],я Tyпra нaчипaeт усTyrштr' Niаленькoмy п пoд.

впlrrнoпry ollуDеЬugger5,(pпс, 12 з)' rлавнаЯ вкyспoсть кoтоPolo автoмaтпvескoc oто6рaтteнrrс рaспoзнанltllх АSCII стpок рялort сo сNJеnIенияl1и' чтo

з}rачиTе.]IЬпo yпрoщаеT пolIск перепoлняющихся 6yфсPoв' noскoлькy oIlи ста-

1loвятся виДньr, как llа Ладoliи, к сожaпrнrno' бylrучи oт'цilдчriкorl пPllкЛaцIroro

ypовня' ollvDсЬuggeг не мo,кеT oтлая(пваTь яlleplrьlе комln'leнтьI Windоws (и

нeкoTopьie ссPвеI]IьIе IтPоцессЬr в тoil чисЛe)'

2З9

Page 239: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.лава 12' u|timаtе аdventurе, или пoиск

Pис' 12.1. кoнсoлЬна' вepсия IDA PRo _.p€Aа 06итания прoфeссиoнаЛЬнЬlх кодoкoпателей

Pис. 12'2. дизассeм6леP rcд Pа|m Pс

Если иссne.Lуeмая прolрaмма yпакoваяa' перeд пaчarтoм дизассeм6JIирoIlaIrия eeслeдует раcпaкoвать, Cделaть этo Nlo)tнo лю6ьIм унивсPсальr{ъIм Дaмпсрol{(Рrос Duпp' PЕ.Too]s' Lord.PЕ), а ещeЛучшe сlIrциаЛизиI]oвaнньiм Daсrtaкon.Lцикoм, JнrIoшим дJt l I lL|й yлaкiJвUrи ' . в Лицo (лpавдJ, II( 4Л; всeх vпi ioвtц||кoвpiспaкlrвLr]ики сJ.ществу|ог), ,llампЬl' сня ГшP с прo'pаvм"r' нащr' в...n 1ц p266-g.спосtl6ны и /Ця своeI o зaпyскa тpe6уroт сepьeзнoй доpа6oтки вaпильпикЬм' oд.накo зaчем IIaм иx зaпyскaть? Для дизaссeп{6лиpoваrrия oни пoдoйtryт и так'все вышeyпoмян).Iь lс прoJук]ы ]\toжнo лайги в oсЛP (cDonkPv) иJи в Мvле.ёМulе) _ фа'л006мPнlIыхсeГqх, пРeдстaвЛя|oшru

"o6nl i ' ' pу6oioвoря. Ин rcp.

rleт вIrуTPи ипTeplreта (pис. 12'5). с иx пoявлeпием пoиски ватJeза rlа WЕBъ

Page 240: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

нео6х0димый инсrрумeнтарий 241

ста'Ци У,{с ]1е)liTyi]-{ьпьl (yiи!tlтелъ}lo' но o сYщсстtso]raнии oс'ца !{l1o1.ис jro сl1х

Pис. 12.4. пpoфессиoналЬно-оpиевтиpoванный отлaдчик soft .kе

Pис' 12"3. l"1аЛetrький и шyс|рый o]|yDebuger

Page 241: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

242 глaва 12. J r i т J ,е аdvе1fu ,е l или 1Oискдdp вдвo/] . 'м \oде

Pис' 12'5. oсeл _ животноe упpЯмоe, lчoжeт кaчатЬ/ а мl.lо еФи oH pазгонится t ниЧто егo tе oсгаtoвит ктoмy хeoн лрапически всeядelr. в смыслe. в нем eсlь всel любoй сoфтl]Чyэьlка, фильмЬl и докyмelrтaцил|

oшиБки пЕPEпoлHЕнияJIIoба' llРoлpnмма в зll1lчJuс,UЬ)loii ]\]срс с{)с1.0rtI. ||J 6Л6Л ()'rcК' !lllаJIl]зl|РoBаTЬкоToРЬIс 6cсоN lь|с r l с I i Iю - о i l l l v ' {с / (aв l l ь IN l . /Lа l J I lo r Iр( )аI Iа- l l l ] JпPoвa l IЬI l l I l l I l (aк j l хPадII(а.]lь]Io Ilоl]ЬIх lФll) зjloсL flеT, l{ то]\1у ){o ll0/1ill],l,llolце0 6оЛьпl IiсгIl.) 6116.Jtиoтrк paспРoс'Iрallяс,]t|,| DntсoTе с }lсхоi(пЬlNl]t,гскс'ril11rlj'Гill{ чTo I{oр|l0TЬ нll/{ l.|хдизaсссм6.!Irрoва||иoIt lrдвoiiliс бCс(\l]nсnсtlIlо, B 6ольrrrшпстrlс с',ry'iaев 6п6-lпо.Tечl]ьiji код paспoЛafас-гс,l пoi]а,]ll] осlloвпolо кo/la прогPаNiNlьI u ()тдeЛl]1,Ь сгo/{otsoJьIlo прoсTо. С]']ox{l]сс Iuк!l1rlфlIIluPoв^1.Ь и,\lснa 6ll6Jll.l'ГечнЬIх.l)уllкциit'оеlr знаrш' котopьIх nlьI ltoпl{pcIнo зaвЯзнell в lIpoстъпrс дrтзa<rеlr6лерt rьrх ,l rrс.Tп|ll.rtв слoвl1o в трясl{1lс, к счастьlo' llоДaвЛяloщсе 6оJIьIIпlIlсrвo стalIдаPтшnх6иб.'lt.loтек автoмaти чсскп расIl oзпаlо-rсЯ иДoii, с]'n.uo,урn, ,."

"n"o,"u".n,* 6u6.

Jlиoтe( oT стoрoнних пpollзвo/{ите,Дсй в ЛIo6о1.i ]\{oмонт ]\!oжнo До6авriть и самостояTсЛЬнo, 6Ла11r иДa дoпyскafl таIrую tsoзlioяrlroсть (rroдpo6пoстlr в <LlaсkеrDisаsst]lnЬliп8 UnсoYегеd> Ьv Kтis l{asрeгslrу п пrтатноi,r дoкyмeпr.ацrrдr) 'Peшrяие о зафузкeToй IIлп и]lo!i сиl.Ilalуpliоii 6азъI прl'Il1имается ид.rl:i ltа oснo.lt ан:шrna с1артorrolo кoдa' и {чv'tеpoднЬIe> 6ll6Лиотeки pпскуloт oс,гатЬсЯ rrе-расlloзЕаr пtЬlilll. To жс саNIоe npo]iсхollltТ и IтрI'l зatPyзке дaмпoв l Iallяти с lloвpеnсJ1e]]liЬIм llлll oтсyтствую]Ilим стapтoвtnм кo]Ioм илrr ltсвepпo устaнoвJ1е}ilroliЕntry PoinL (хPoIrичссItая 6oлсзнь псехдампeрсlв1, Пo:,тoму' eс'rr,i 6ольrIr*r нaстьФункцr,rrr пpoгPаl']\lьl oстaпасЬ норaспoзЕаllнoii (рис' 12,6)' пoпРo6yl:iTе пoдкЛiо.чI,lTь сигнaTур]]уIo 6aзу вP}all!уlol вьI6Paв в ментo Fj e ' Loаd fr|e пУrтХт iшRТ signаturеfi|e, floявIrтсЯ o6шиPньIй пepеveнь известньrх Иде 6и6Лиoтeк (Pис' 12.7).Кaкyю из нrtх въrбpать? ЕсЛn вьI ]loвичori в дизассем6Лиpoвaнии ri 11y'{ную 6и6.Лиoтeкy Irе vдaeTся oТo)кдествUтЬ <!изуaЛьнo>' Дer]сTвyйте i1етоД.]м llеPе6opа,

Page 242: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

оши6ки пeреполнeния 24З

зarрухаJl o]1Ilу сиrrlaтуpу за дPугой, дo611!aясъ NJaксимLrтьIlоro рас]IrиP€нrя гo.nу6oi1 зшl l lвкLt (рис, 12,8).

Pис. 12.6. вид навигатоpa ]DA PRo' дoминиpOвание синеЙ зaливки yказЬiваeт на тo,Чтo 60льшинов0 би6ли0r€Чных фyнкций так И oстались нераспознаннЬми/ пoскoлЬкyдизассeM6лeр не смoг oпpeдeлить тип кoмпилятоpаl и сooтветФвyющиесигNаrypЬi Aолж1rь бЬть эёгpужelы вpyчнyю

ьфв|is 0u*ti 0/v2 01 l |]sс !5] 00s Фi'tmс!4Фh.

l6;;;;]a01PБ0ril.irlriltl

Pис. 12.7. пeрeчeнЬ извeФных ИдЕ сигнатyр

Pис. 12.8. ]lехнo{oлyбая подтвep}<даeт, чтo тепеpЬ в Багдадe полвый nоpядoк|

ПРoсмаTрив2Lq сппсoi{ paспoзtlанfl ьIx и IIltпlrpТllp!,спf ьIx функций' oT6еpем нaп.

бoлeeoпaснъleиз ниx, B п€рвy]ooчсpсдь I.l1l1ll oTuoсяTся фунl{цuи, пРи]lимaю'

Page 243: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

244 глaвa 12. L | t . с te аdvе]L lA и1и ]Oи. rдdр вдвo/r tsoч кoде

пIJle vi(а3aTe]]ь lIa вьIдeЛе]{IiьIii 6уфеp и возвpaщающие IIarrIrые зaрапеe пе]1Pсд-скa3yеNt{rгo размеPа (]taxpиI!еP' sрrintf, gets и т, Д,), ФуlIкцIrп с яв|IъiNJ оГрall11.чеtlltеIl пРедеJl!нo ]lollyстиjlloii дJrинъI 6vфrpа (fgets, Gеtl,{jndowТeХt' GetFu,l].PаthNапe) яaifrrогo rvrerlеe oпaспъi. о/.illaкo пи].аl(tiх lapaнтltii 11х лoяlь11oст1r нrr

у llогo llет.()че]ть час,Го llрогр)illliисT вЬ1ДсrlЯсТ б)фсР нalшогo ilеньulеro Разl'lеpа' и llPедoxParlиТе"liьlIьтii кJап:lп пе срa6атЬпjаe1.' j'iaпримсP' см, Листиlrr 12'1,oчсвrlднo, ссЛи пользoватсЛ ь ввсдет с к.IавпaтyPьI стPoкy в 100и 6onее 6aйт'.l.!)lФoU3oйдеT ]lемиtlус}lоe rIсрt]]lo"]]I1с1111с 6yфсPа и н]]rrаl.rrе oгPaIlичr]тeЛи д.!иlJьjIiе с|iасу'Г] tIo iJ,|o уя(е.rJиP11кil,

листинr 12'1. ГlрИмер прoгpаммыl лoдвepжe|rнoй перeпол|lениюсо сpЬlвo14 предoхpанитeлЬногo lсnaiаNа

#dеf]. € !дх вt]|. slzЕ 100+det'rn! МAх sтil slzЕ 1024сhаг * l : r = nаl lOс( i ' lА i вUt s1Zt); i901s(х l . iАr 5 l i sIzЕ f)

lIоЛньIiI псPcчсtlь пoтснцпаЛЬнo ollасtlых фyrпtlll.liI 3a1|иN{аeT с.rlиЛ|ко]vl N lloloNtсс'|а l l ] l0 юN1v з]lссl, tlс tlPt.]noД]rTся, Бy/rсNl yч l lTься /tс iiстrroBnть пO o6сToя1.с-ць.с,|rrа l l .3а l .Py ' (aсNl uссЛс] lу i ]]v lую I lрo].p i lмMу t] д ' Iзасссп16.лcp ( ,тyнlrre всeгов lDА P l io) ' I l iDк l l} l rсNlsh i f t .Fз. nrcЛ].асs l ! |Ь l t l l l , lo l lо кo ' roнкс (L> (со(PаnlcJ l ] lсoT l , iЬr l l гy - б| l6,[ lк ' |e. l IJая (hy||к| l I ln j) ' oтдс"1 'Я 6 l16Лl loт €ч| lЬ lс 4)yI iк|o|п оT ]}ссxос,l.AЛl,l l Ьlх, l.l()сTilcпl с ЛoЛ к l'l ,Го'ц с'Гl,lii 'l.o]!1 сl l ра |](|l !ioгo рyкo nоЛсTD;l ('UJ' J| l | | lс lI.зиolпlI,|х пoJIьзl)j]al]'l]сii) rt.л]i заllускiltм ]oii Лlo6 rv!,rii Ms DN 0ul,r нссх ()(j,|ajlЬ-

l ]ь lх) 1 l смo1.P l rI{, iа IIР( 'Гo1ип кa)к]tо i i и i} Псрсt l I tсЛ0l l t lЬ lх з;Lссь (]rуIU( l l l ' l i i ' l j ( )|исРсди aРгу l\ lс l l1 .oв l . lР l l (у ,г(:] l ]Yс, l .Ук l l i lа]c i lЬ | l 6yфсР (чro 101.I1|] l сhаr*, Void*,LPтSTR l] Т. д,) ll )'г0 Г 6у(DoP l|риItиltlаcT в(]звpаUlilс]uыс фyrlкцисii даUllЬl0' ,о пo'чorvу бЬI Ilc JlPовсРl|-|r,' Itак oIl ()1,Iюсllтбl t{ |IсPсlIl]ЛllolUlI()l

uaт !м; Ier t l l l a Еnter ' 1 lере lо , ' l я к ] ' xчxJ ly { l )у l !кпx l l , i r зa , ге ! l | ]xoЛ| . | I J I} мо l i IoVeW t open subview ' сross Referenсe, (lПlрllli:|9 o|olo (j llсPскl]oсl'llЬlмLl ссЬl.1кaNlll]ILа)к/(ая lrr tюl'орьIx всд0-| к 1o'|l(c въlзова наlпoil фyнкllиll, в за8l,lс]tl\loстll l)т осo'

бс]ill()сreii кoN1llll]я1oрtL ll ссltсvа,Льllых xaк.lI()l1r1oсТсii lIpоrP;lмNlиста' пporкпlрo}Jaвшеl.() 1lсс,irс]дУеi!10с |ц)]!lo'{rI lЛеl вьвorl llо]riсl. 6ыTI, rmк fl cлосрс]1стве}l ньlr{ (r.ипа

cqLL оur-funс), тaк п r(осBенrrъlll (тlrпа mov eсХ, рс]аss/mоv ebx'гeсХ + 4]/сall еbx/','/фlass DD хxх/OD оffset our-flrnс), ts xoсnоднс]!] с"'lvчаe перe]rрeстrпnё ссьlЛl ]laоut-ftlnс 6yДУ,г Bестl] rL DD offsеt ouг-funс' Л оl Ц)е/(еЛll'Г! \{oсr о сc Рcа,IlЬrroгo вьIзo'ва 6vдeт пc тaк.тo llPoстlrI О6ьIчt]o xaксрьI в тaltrlx слvч:lях ]lа]llJ]\{a](lт oтЛаДчIlк'

усга]]aвл]lвая пa ouг_funс Toчlty oсTlllloвa, a 3a|ем 3allrlс]ывaloт ЕlР всcх NIсст, oт-кудаoнa вьIзьваeтся 0tстaтIr гoвopя' ]ra.rilПпe иIiтегpllpовalllюгo l)тЛаlLчикaB tIо.Оteд}I1ж вepсrlях идЬl существel1llo ускoPясT э1оr IPoцeсс) (лrcтпнI 12.2)'

и вoТ мы tlаходиilся в oltpестнoстях вызъIвaюIцегo кoдaI Ес",тл aргУмeпт' oflPе.деЛЯloций pairIlер lIр11trиlrаеlrolo 6уфеpa' пpсдставляет сo6оri непосредственн o .

" н a Ч ' н ' , " . ч Г n . Г o ' . | | | n D J , 1 4 0 0 | . ) э o } о l o U - l | й : , , д o | l ] , ' . к l 1 1 l F . q ( 6 | n ,

)к]lеT нaсlдe-тo пoблизосTrl' Ес".lll I{eэ,1о ]teTа]. - r le оTчаиnайтCсь, a, пРoкpyчtlвaя кyрсoр ввepх' пoсNloтРи'ге' где сeй pазllеР l.lппцrrализиpустся, Бьrтъ мoкст,

l] к.!сOlьloй вcPс!и !рoгpа!мЬI дан!b' функд!я oтс!тu !vf'

Page 244: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

OL!и6rи пepeпoлнeниc 245

oll Bсe тaI(и преДстanляеT сo6oli кolrстaнтyl xеpедaваеjllуIo чеPез 6oЛеe и.JIи I,e.l e . д r 1 и n n у f u U ' | | o ч h } . I l ' Р F ( \ | r I l , l l , | \ , , Л и l J { P i г г ) I l P h o в ч ] р p и н с { , j \ ф у н | , ц | | й :

л'фяr 12'2' Hепoсpeдсrвerrное зlrаЧеНиe максимальноЙ длины бyфераl пepeдаваeм@функции, _ хороший npизнaк вoэl{Фкнoгo rreрепоЛнe|rиЯ

iехt:0040]017.tехt:004010]с|схt:0010t01гteХt]00401020

ссх l.bp+vаг 8]

ТсIlсpь наiiдlrTe коД' oсyп{еств.riяIoщIlй въIдсЛсl1ис IIамяTII l1oД 6yфсP G)6ычtlo| n r U U r в l ' I i I l n , l I l , , к | , ' l | | т d ] ] o с | | r c t r ) , Е . , 1 и а n | у } 1 ' ' | . . ' U | ' ' . . ' ' , ] Я 1 , t l | | i i | ' : ' , ' v F l lBЬl]lсJlясlll0ii ltaпиТп, Taru{е пPeдстaвЛяст сo6oi.i кo11ста] Ll'у, tlРlrчсn] :J,Ia ](o IlсTaI l.

| : I N | l ' I I | ' | ' ] t | | l . ' | r . | Ь | | U Л . ' п у f l | , r | о j ' l Д - . l I h U l ь o J D г . l l l с l ' J \ , ! ] х / | , ' l l n " | s , . , J I r ' ] | J и ] L F

r|а' \{о'nJo с\I€лo lт€Pехoд].!ть l{ фaзс anа.Цl1за rro]IюжпъIх сп()со6()R Bo3деiiстuиIlJlа перelioлпяlolцrп1сЯ 6уфср Чсрeз ]ll).]lя вх()д|lЬ,х да|Ilнх (llrс' 12.9)'

Pис. 12.9' Бepeм библиoтечвyю фyнKlrию, пpoтотип кoтopoЙ дoпyскаeт возмot{llосгЬпepenoлнеNия (1), и rrерехoдим по пepекpбнь|м ссьлкаM в oкpeсrности еe вызosa (2)lсмотpиМ нa oгpаниЧитeлЬ пpeдeлЬно дoпyоимoЙ длинь| вoзвpащаeмьх даннЬ]хlсвepЯя eгo сpазмeрoм вЬ|Aеляемoго 6yфра (з)/ дФаeм вьlвoд о возмоxнoФи(или нeвoзllоxнoсfи] пepenoлнеlия

зaкoньr 6езoпaсUoгo прoекnrpoвaния rлaсяT: llpс]Irдe чсlt вьlдеJlять 6уфeР'o]1ре/lеЛи 'ГoчtIьIй paэмeP даннInх' коТopЬlе TЬl ,гyда со6иРаеruы:я пoJоrкиTь.

tL.

Page 245: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

246 глaвa 12. !|tlпrаte аdventurel иЛи пoискдь|p вдвoичнoм кoде

Tо ссть в прaви'lrьноli пPотpaNiпlе въIзoвy nа]]oс и]rи rel,{ вссЦa iтРедшесlgyетstr]еn' Getl,liidоWтextlength иJtl.I чтo тo тиtlа To1.o. в пpoтивнoм случае npoгPап{lfа rтoTeЦцЛальнo уЯ3nrIп{a, Рaзyмеется' ]lаI1rчие пРевснTивтiоli прoвер1{и Paзмерaсaмo ]lo сс6с еп{е ]le гaPaнт стa6и.rrъlIoс,|t1l ]1oскoльку даЛеl{о rlе вo вссх слyчaях за1.Pс6ова1illьlii РазNlсp oпPелeлЯетсll прaвпльпo, oсo6eнпо есLlл в 6yфеp1]-llЛI]aются дarпlъlе и3 l1ескo,rlьx1lх l.lсToчн11коB,

С ,noка.Il Ь]] ьlIlI псPсruеIrflьl]\tll в этoп! пJ]апe llаillнoгo с-!о)кl1сеl l1oсIroлькy их Paз-1lеp Iip l lх( )д11]сЯ явньll\f о6рaзo]!r задавaтъ l tl э rапс кoп!п l1]lяцrп] пPoгpа\{мr'l l кo1..дa дrlшпa во3 trрiltцас^{ъIх r.Iaпl lЬlх еll]с нсI.]звес1.,la. [IсyдrlвIlт".ЛЬнo' чтo пrPепo.Ц'пя lощr1сся 6yq)ер i r ча[ l с вссгo о6пaРУжива ioтся ]1п lсннo срe, lu nока-] ]ъI lъ lхпeРеIrcllяЬIх,

Лllка.uьrrlrс перепrelrllьlс хРilнятся в сTeкoвrnх фрeiii!ах (Лo.al'rлIliiскlt flaпes),та]окe l|аlll'll]i]сllъIх ]L:!Ull!|ll ll'tи ав,].оNi:l1.ltчсспoii па!я1.r'ю' I{а'rлoii (l)vllкц!lI1grllдc'nЯется свol1nсPсoнаr]ьllьlll кilцр| в l{oтоl)Ь|ll llo]llсulaк'гся всс IIPlrIlaдлe)ка.Ujuс с]i Jioкалъriыe llсРсIlснньI€. (D{)рмllpoваrlltе кrцpа чaце Bсег0 осущсстuля-с'\Ll мilш]IнIloii к()^lil|lдоl.] sUв ЕsP' xxx, P(}кс - ADD EsP. 'xxХ' гЛе xxx - PазмсpкалРa D бaiiTах. тскvпllIe всl)сlul IDA PRO I|() yiltoJlчап |o Tрilктyloт все |lr||o.с Pсдс,].всн I l ьlе 3l ]allсl lI lя Iaк 6с.lrJ Ii ilкol]],tс ч}lслa, a r |Рсoбразoвап x е Ххх в 'хХx 11Рl гход],l1.с,l oсyrrtcс'гBJя'ГL LrPуЧll1,]o пyтем |,nжill.ия Ilа кJ|;l|ll!шу .l]\{l,lllус)'

I{ сo)l{а-,lсIiI'()' <Фазo6рaть> NloII()Jl'IтlIЬ]й кaдР |la шllсrr]ъlп'с JкЛ(ilrlЬllЬIc t]сP€мсlI.llll0 в o.Лцeм сjlучaс l]сBo31!lо)(|ю' lloскoЛъI{y кoмlltUlяToР l]oJ l |0с1ъ ю vl l ич,].o,{aeт]l(х0дlIyIo lпt(роPмalLIllO ll allаJIt|i] с1'аIllJIlll,].ся llro/lIl03llачпЬI}1. oД|laкoltЛя пnrпIJхцс-lIсЙ l]о3п1o)tIю(:Т0i:l аllTо]\1atIll|сскoгo лa-llиз:l,l.оPаlDA PRo 6оЛoс Чсм /.ioстаToч-Ilo' NlьI6yrlсl"l ltсхоЛI'l,гЬ l'l1t)lо' чТo JloIQльIlыс 6уфср.t чaпlс Пссro (llo rle вссl)lal)llIIсloT тlIll b}te *' a иx pазNlcP с()сrаDЛясT пo ]!1ellLILloii п{eРe 5 6LiiiТ 0lpaв/la' кAкllt'tilзьIвaет сTalllсlllI{а' o|]rllбк'' пel)ello'l]lсIlпЯ llaпIe всс].o пстРeч^ю1.ся и]uснrloв чeтЬIрсх6аrjтoвьIх 6y4)еPaх, кol.oРьIe прrt 6cГ,]lol1 аtn,rr.]зe JIеГкo спyтаТь с D],iORD).

P^сс\!oтрri!l x кaчсс-гвс пPlil{срa сЛсдyloщпi{ кaдР стcкa| <Рaзобl)аI|||L'lii' aвтonlaTIчeскI'М nItаJ]l1JilтоPoI' IDА PRo, ll noпЬIтaепlся o6rrаpу>ltI.tть l псrl ]loкaль-r lыс 6уфeрa (J ]ис1] l l rГ 12 ,З) .

ЛисrЙнr 12.з. ЛoкалЬнЬ|е пeремe|lнЬе, aвтOматиЧески вoсстаHовЛeнныe 1DA

t0хt:00401012 5u0'401012.tеХt:00401012,tеХt:00401012 Vаг-38L6х-i 00.101012 Vа..34Lеr| 00401012 Vа.-24LехL:004010!2 vа. '20teхL:004с10t2 vа.-] 0

. tеrt :0040r012 Vаг-сtеxt:0c401012 vаг-8tехt|00]01012 vaг 4tеш 0040]012

= bуtе рt. 20h

с00Е rRЕг stагt+AFuр

ПeреМсннaя vаr з8 пrllеeTTи]l Dl,,loRD п зa]пмaст4 6аl:iTа (рaзмeр пepепleнноli oпPедсJt'lстся въl1ш]anиеIl aдPeсa текупIеll ]lсреrlelrпo'i из адресa слeДyющсi-l: .з4h -( .з8h ) : 4h), Ill 6yфсP oна мaпо пoхoХa,

Page 246: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oшибrи пepeпoлвeниc 247

Пepеп{eЕrjая vаф4IiNIесттип вYТЕ rl зal{и]!1аeT ]l0h r]аiiт. чТo типи.IIIoд'ця лoкaпъ|n|o 6)фёpа, To ^P l i r jD ] l r | l cvе| l . ! ; vа . /0

' l ё r t , \ |р| , J

vа г 24 хoтя II 11меет тuп вYтЕ' ]lo за l1]Na eT вс""m l 6аiiтa' пoэтоNJ}, N|o'{е'Г 6ьlтъ 1rак

п16уq]сpoм' r.аli и пpостоii скar1яpll.,й пеpемeнrrой (пpи-Itеll т1ослeдIrlre встР€чаюTся ]1аrtlllolo Чa!]e), llo Тeх п()p' пoкa па IlpеДN,eт пePе-поЛ I Ieпlrя tIе 6yдyт псс{rдoваньl Bсс Я!ншr 6],(lrсPа, вoзltТься с IIоДo6l lьI\{и <<](aIl.

ДиДатами в 6уфеpа' rlет l]икаItоl.o сIrЬ]с.l]а

ПPосматP!вая ДиiJaссеNl6JеРпьIii rtо/r фyнкuxI], наiiдl,lте всe ссЬlJIrи на tsЬlявЛен.ный 6yфсP tlР()аlllJ|Jll'ц)уilте lrозп{oлttlьiс yсJroвfiЯ сгo пepспoлнснfiя, BoT' нa-гIPи 1еP' J l l1сTl l I |г 1 2, l '

листинr 12.4. nередачa yказатеЛя ва лoкальнЬй бyфер

Lc{t:0040]00в P lsh з00Leхt:0040100D ]eа eaх,tebPlvan.34]|ехt 00401010 plsh саx|eхt]00401011 са l l -г0.|5teхt 00401016 adt] .sp 0[h

СРазy видlto, ЧТ()]tсpсмсIп|aя vаг.з4l'спoJпrЗYетсяllll'lхРаllerlrI't вBсllе]1rloЙ (Tрo-

кrl (зllаЧи-l'' э'l'о llсе-тaкп 6vфсPL) с llрсiсjlЬxo,ilouусТulljoii]iЛ lroй з00h баiiт ЛрпЛ"llиIIe сai!юй floкaЛъIroil lloDсм(llll()ii 10]) 6аiir. l1с Jlс|(Jliш|eIjоl ч'Гo var-34' vаr-24

vаг-20 B ,r0jlсTнЛ-г€-'J ь l] oс'гI'] п Реilс1.авЛ'lloт сoбоii <кусoчки' одUorо бy(DсPa, oд'l |а l{o в дal l lтoI1 сЛуЧi lc э1.o l l j |ч0гo I tс I lcI l ' |oT, п()ск() j lЬ(у ||х сOBoкyлl]ь]й рaзмеPNI lloгo ]llсUЬurc :]00h I

l]сЛи )ко сРe,t'! ЛoкaЛьlп,Iх Ilсрсl!1сlIllь]х 06IIару)ки'гЬ 11еPсlloлll,]loIц'IeсJI 6уфepa'пеcNlотря ll?l llсеyс1]',l|{яl T:tl( п ]le удастсЯ' ]\{o,lo]o llоltЬlтaTь счaст!я сPсд|{ Рa3вa.Лl,lll,.ll]Лa]\{ltlleскоii IlамяТи] o'ГОloжЛва' всl] IieрeкрсстJlЬlс ссЬ]'цки пa фушс!lиt,t'Гtlпa nеW II па]]ос rl аllа,Itи3tlруя окресTпoсTп lIх вьlзoвa,

как 6Ьr Taп' ]lrt 6ьlло' о6яapужllв псpслoлrrrrlл]lиi]ся бУ(1)еp B oдl!оii пз гЛy6oкoвлo'(еlrrlьlхФуl{кц иl l]с сllсrПll'|еPаlL{)IlaTься _ Iloз]t1о'(t]ol ol] !]lIIiак не св,iзан с пo-тoкol{ IloJЬзoвil'1.е'll Ьсl(l lх ,'iан I]ьIх llлl{ сI'гo llnчуTЬ llс llсtlсс IlexPxя'|uo) o,lпa и3\1aТсpllllсltltх фуIпсlllii огРaIlичlrвас1' Ilpсдс]l l,l к) ]( )lIус t |'|]!1у lo /(лll1ly вводa сверхyIl пеi]eполIrснIrя пo IlPorrcхо,.lln поЛьзoвaтелп гPафIrчсскoli вcрсии IDА мoгyгвoспoxьзовaTься ll|кj,ryyllеllтoм сALL GRAPHдnя пpoслю.rPа деpсва в ьljJoвoв' уpoд-Jl lll]o 0т.)6р:DкaIощeгo взaиl1oоTнo]lrснr и llе)qlу /,lolIepl пl ilol 'l ]!'а,Гeриriскими фуrrlсцияNtll и IloзвO.l1я]()цeго (во uсяIioll слvчaс, тcoPстичсск!) llPoсЛсi/lllTь NiaplпрутnеpедвDкeп'я nrreДеlrrrьI\ пo.llЬзoваLс.rrcм ДаIIIIь]х по пpolрnм]\!е, к сФк,-тlеrrr{ю'oтсуTствиeкaкпх 6ьr тo нI16ыJro сPLЦсTв ltaв]lгaции (]Iетда)ке простeй]пeгo пoискal) tl6есценивает всс llPсJIeсти сALL CRAPl{'a' п в пoстpоепньIх IriI дIiarPам-l{аx ]lРостo нсpсaxЬlIo сoplleпTиpоRa'Гься' oДIlакo rr ктo не запpeщaeт pазPa6a1ы.RaтЪ адеквaтнrnr сpсдсTва вl1irуаill:'LЦии са\!ос'lояте,rьrrо ('lс. 12.10),

Пoкa ,{е адеквaтньIii xнсTPумeln пе ro'ГбIl' прrrxoдlIтся Irметь сеItс с от"1адчи-кoll, прr1чrNI нс rlPoсToii' а аU:L.lьпьlii. истoРпя начlшraе'гся прoстo, ЗaIIoлняемвсе дoстyl]Ilьi € пoля xо.цЬirogn1e.lьскoro rlпоЛа' yстaнaвлliваell Toчlty oстaнoва навьiзoв счптaющсli uх 4)y]lюlии (]IaпpIrмер' гeсv), устанaвл11ва€ll

'гoчки oстанoванeпoсрcдствснно rra буфep' пр1rнlrjuаloщиl.i вводс]lныс напIи даннl,1сl 11 затеt1 )1цеI1

Page 247: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

248 глава 12. U timаte аdvеntu.е, или пoискдь|р в двoичHoLr кoдe

iIoследуloппrx o6paщrнпii. чащс вссгo да]lllыe lle oбpаoaтьIвaloтся сРазy пoслеI l I 1и r ] \ I i l , J п r l F , n | |чю| .о |РрР | \ ! hoъ ' l oo | г . , . | ' , ; \ ! ' j чn | | \ 6 ] t L , . lU " , l , . , | ДЬ 'й r l ' '

l{oToрl,tх rю)кeT соjlеP'{aтЬ 0ш 6ки пeрeпonrrснLt', чт06ъ1 yдlrржaтЬ ситуaцIlloпoд кoнтPoJrс!1l r1ъr вы!уЛ(леньiустaнавл!rватьтoчI{и oстalroва нa к:ul{дЬlи ,lз Ilpо-п!е,I.vтoчIIl]Ix 6уферoв' oбязaгельпо oтслетtивая пx с,сво6o)i{дrние (пoслс освo-6o;кдснrrlr .цoкir.llьнo tю 6yфеpn пprпr&цле,i(ащaя емv o6ласть памятrl мo)ltст 6ьlТЬl]спo.Ilьзotsaна (cм Yгo/lllo' вьll]ьlвая лonn{ы€ всплъIтlIя oтЛаДчиl{а| oтнимаto1циевPеilя и сиxь]1o ltrрвиPylоulue ]l.tс). A в!rдь точек oстаtloвa всегo чeтыPс,,, какrrtе lrьr 6ytrсrr oтсrtеlкtrвaIЬ о6раlllепIrя к десятitаlt -цoкLцьнъп 6vфсPоB с lloмo.шьto вс!]t.o ЧeTЬjoех ,t 1)чеI{.

Aвoткак! tsсpсия solt.iсе Для Windows 9х подr:ieP'rивает устанoвI(y тoчlш oста'нoва на pсгиoн' llpичrпl ttоJlItч.Aс,tвo TaкЛх точeк пРaкTllчeски пe oгрaЕшIепo'

к сo)кaЛснию, в sott.iссдJн Windows NT!тa вкусllосTь oтсyтствуeт, rl еe прихoДr'тся эNryлиpoвaть пуTсl,l хиTPoуI111ых (хrtтp0l1oпьtх) мallxaуЛя циii с атри6yTa.пl стрailиц' Переводя стpaнlrцу в сoсTo'lнис NO-AссЕss, t,lln 6удсм o1rlaвЛиваTьвсe o6рaпleпия к lrеri (и пoдoпыTrroмy 6уфсру в roil чис,rс), ЕсTсс-r!сxнo' есJrи

PAзмeр 6у4lepa мI'oro менlrlпс paзмcРaстPаl1ицьI (]toToPшii' кaк I'1звесгнo, сoсTaв-Jlяeт4 к6айT)' Irаrv пtrидeтся кaяtlьш:i paз paз6иpaтЬся' 1. какой имrннo пcрсмсн.}roй t1poизo!]Лo o6parцelrие. ПPи ]кeлaнпи эTот пPоцссс ]!1oжно пoЛ}1ост}ю rlxиЧас1.I'Ч]Io aвтo]!{атI]зиpoвaть (к sоIгiсс имеется мttoжсствo llpnмoчеt{l l10ддеР-хивaloxl'п paзвI'IтьIе скрпfl тoвЬIс язj'Iкl{).

Boт Taк ДьIрьI и l'Ilц}"rсяi NIПнIrNIYll Tвoрчествa, ыaксиlrvll pyтrrньr.,' Cтpeль6ыи гl]11oк no lIерес.AчelLlIо'j 1lестlloсти здесь тoя(e Iiет' TeM llе мerlеe с!iДе,гь в oт

Pис' 12.10. иерapхия фyнкций в графичeскoм пpeдсгавлe|ии

Page 248: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

249

lадчике тiaп'поlo ]lPучс, чем см.lтреть <NIатPицу' ir'ш апIреI:ir.iитЬ кoм]tьют€P' " | | Г г j | l п l ) o o M з

тa6лица 12.1" Hекoтoрь|е пoтенциаЛЬio опаснЬе фyнкциисraндартнoЙ oиблиoтeки Языка си

склoннoсь кпеprлoлнeнию

sсa nff ssсаnf/ьфnf/vsсаnf/vssсаnfl!с5срy/Wсsсаt/wcnсаt

wme'nrnove/wmemсpystl nсрy/vsnptinvsnрr ntfl strпсat

-лAс HAPoдA

.'']lрu nоuсlп nерe nulвкlлу.rt:я 6 ttфсpоо млntliоlt сlrcпохl пt1lе6ора пtссlnu'!)уiin|| .1npal|u |а3'l|lч x\i lnш LЙ ' о t lс n10jl ь1!o з.17ф|:;l.x ьllоii i'| llx ьl ' 11oсюn b^u,маlnе|)uncкuc 4)!|lllцxu l1оl!1|n o?[1x|l1!uaаnn, 1|J. |xзj!ер (lk|Р:с!J, об|1а3ця цз.кun коpuооР:боnсе l|oРonк11|. (:||1рaК (l1!|: xе вDl|]ъ||xlю|n nс|||nоjl1!Й |u я, 6ojшlltultltьtе _ otхllcаnпся па nоiлalс l rщэеnоLtltякlщ|rЦ''1 6!фqц;

---npоcjl(l||lр вa' Itljх1)L\o1, о6pац!'аi1lnе вxuлultt'Lе ltа ttdоttц,tклппupoвtltl-нъlе Nltoцu (4аще в|х,lо ollu 3a|lцс|]l|ы n]l'l!|ul,u |||t!]!сn'ri -- 1|е]|oлnцлrt |3nll'f nшвоJ1я]un a6оinш сuсn]ем!] 6езo|L(1сll|х:пll I| са.!]аnu, с tlРоq.ljlrюn lе-rц rd ц аlom р а tl tьt l: вещu ;

,,,nРоzp6Lмьl' l|аn l:|l|lньlе с uсl)о]]ьзоaа]шеl| бu6nua|пе|u vсI, nРо,оlLuпец?Рd !|nluru r!| D EDЕ oltа соoбuцtm мrLozo Lutпеpеt'tlltо;

.,,uссrcDцnnе пoiLькo п:!'tаспь коlа' коmopnя Dе iс]nв||nu| ьno вь13ь|,зaеmвnadonы1n|niiпРоZP|r.}iLttoй, oщnlututnьэпоtlоlltoltсаnпокtln Сat1е Соt,erаEе

' aln Nu, MеE'а;

,-npеэкdе uем ut:каrль i)ьtрьL в пalonьопнoii пpozp,э'ltltе, у6еОuпесь,,lmo uхцэlсе lrc |nшnl] lpц|uе! Со6сРu1nе в.е uзвес]]Ilп'1е 1Lа lrЙньtЙ -lto'ltеltп auу'lu |эпLне|nьnе uIна ]аpnе tuзаtl:ем1rcplюzo кaDа;

., '|1о.мнumе o moj|, \]no о J|1b|1|lзllp!ю11!uе lio-мn|tnя|nоPьt oпrlЙiняп фц|l1iцuumеrnсp!/sh.])1J munсmp/st]xnФ ' на|aсpе(Jс|]Iвa Лa вс|naвnяЯ uI пело |J t|оd!II\цtпIе u|10npц1tцuu 1,еP naz:фq rlлps u uсслеDуiпе ur a]Фесmюс|nu;

,,,ecju uс|:Jlеdце,мaя npazpъ1ма цrА|o ||p|.Inuвoсm.)шn.aфп-а|iсц, заn!clm]-lnе ее nod эJ|цJ:'n|]оpом с lnлnеt.pupовапttьшt ыплaЭ.шкaм;

Page 249: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

250 rлава 12. U]timаte аdventLre, или лоиск дь]p вдвoичнoм кoдe

,,.нr |IaлаZаumесь во lзсе]|IlLа авmома|nuческuii |1нLпuзоmaP! IDА РRo aченbчасmo oшu6аеmся1 не|1pавu\lьнo pас11oз]Lавая (u'1u вaвсе не pасnознавая)некonоpъ!е uз 6u6ruоng1нь1х lJgнкц i| цJanуская l|oсвеllнъLl] 71еpеКprсmныеl с l Lпкd u nu]n,1я 1aa aа] ' ] rь 'uu:

,,,]rc пa]ько l]ьI u1u,еmе aыpы! Paзpа6a|nчuxu 1L\: u1u!Й n(lJR:е ! Cpаl]н1lвая aэассIrtr16леp1Lьtе лuсmu]lzu свеJ]с|Ll( |зеpсu,n с веpcuя\tu |1е |lеpвon сoеэrсес|nu,пpaaн.L]luзupцйme всe о6t!аруnсе]|]l,ь!е u 3 alLalIuя: lluмaэr|lо ' odlLо u3 lnla За'mы]саem d ыpьL, lIеuзвссlnnьlе шu pa noi| a6щес1|lве1Lнос1nu '

Page 250: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-ЛABA 1З

с п EЦиФи кAтoPЬ| пoд APЕстo]v|,Или дEPHи PRINтF 3A xBoст

i i : ! ] i | i ( i lB l , I |o^I l ( )оr ' ! l l . l а .1g loТ]I i l с ILа 'ц ' l I ( ) , . l , ' | сP ' | | t ( ' i i 0k , l , t l ( ln1каnnцn\] '1| |1| ' ] \ '. l i I l1 ] ]я| lЛ|L] Iх сOб() i i No l lu lь I i i l l l l ( | гРу l ]L !11 {шPNl t l т I lоГ( ) l ] r ' | | r l )д l l /вЬ|нo, . ( , l . г l l l с ,Го ' l l ь .] ) NI(Л] l I lЬ l i i ' ч1 'о 4) l tкT l I . l сск l . l r l6pa: rу l r lпцr i i язь lк I} l l v1I ) l IлзЬ lк i l ' l 4 ' l о ' 6Ь l , ' r ; l l | ( ) : ) i l ., , n i 1 ' l ] | ' | l , . I J ' | | . , ' , , . , ' 1 , ' , , , | | | . ' ' | , р o | o ! ' | 1 ] ' | | ' , t | | . | , , | ' , l u l , , | , , ' | ' , l l

:])сдпlс(:тl]c||||ln{аArlr.oJIa яl]ЬllLаt (l{х]PL)ю'IoчlIвIпсгося ||il t!lГ(]Pl11'\1l|зацlllr ((),L'.юnit Л lIll3в2tli]Iс) |t прrIleбl)e,кl'l|L!IЬнo o'Гпoсяlllеl.ося l{ ввOд]1/пьпrоiry' (]1ll|:l}l oгoro6сlurrьrм lродуктrlпr осIIOtsнoii доЯ,ГсЛьlкх1rl, lhrIв11ьIс| гсlrcl)аl01'l ol.lстoв вс.

i:Lll дос1arlа"la npoГРaммllстOв' oтнпмl''l Уiirvy вPсllollи II спJ|' ос,Гlllllясь Ilаибо-,lсo нyluiсЛl п Рyт'lrlоr1 часTъro гIpoгpa]\1]!1r'I, <A давaйт. се llr1u'llrизIlPуоll!,>DcllIrt,.lп паTРl]аpхи, Cказa]ro сдe.nа1lо,.l.lкв 'lзЬп{. сrтп()явrUlс'l Ilолноц.llJIьrii]lн,герпРeтаTоp 4x]рi{атньrх сliУвojloIl! сP.1зу rкc завoспаrrпIlii] 6сшСuvro поп\Цяр-iIoстЬ, ̂ вllестe с llllI1 lloяви.riIсь ]l пРо6Лемrn: нс6pсяtrroе o5рilrцсrrrrс сo спcцп.nшаторамrl поPoДI1no новъxi тIтп оDI].l6oк rlсрспoJlнoнпя ll.r|ll да^с пo]tо-!eпrJe'Iс.riпэто пок( 'lеrrlс, To oнo 6rцет тpeть и lr rrо снстy, ЛергlъlеДвir - ]loс.цсдoBатeль'I]oе rI rrriДeксllос rlсPсJloJнепIrя y,кe бьши расспloтpeпь] в тЛавo 11,Строкrr фoрмaтноl.o вЬIвoДa и спеЦификaтoРъI нe oтпoсяTсJ] к кoзьIplloмy оPy.'liIttо хаксPа, I( нfiru пPlr6еr.аrот ,rrrrпь от 6ессIrлlrя! кolЦa все oста]1ьl!ъlс сPcдствaIlсчсpпaJlr сe6я' Tак и не rlaв резvльтaтa, Нo зallаннaя в yIo"I кРЬr(a зaгpьlзаетсI)6алy, за6ьIтЬiй n казapме tlo,fl Nloяieт стоllть )кllj.]ни, в конeчIlоli с.rеTе никтorlз нас ]]с знаeтl что elty l1рипrдится, Tак пoч".llу 6ы вaм не oвладеть тcхнl'rкоr1(l)схтoванIrя спeп!(lnrкатoPaNlи? стрoкIr qroрУаTнo1.o nъIвoда пpeДстав"1яют сo-6оii Ntнorоцс.'1€вoе oрРкlre' li хoтя сфcPа их пpIrмeпeпIrя or.pанлненa' а 6азиp1,to.

Page 251: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

252 глава 1з' спецификатoрЬ пoA aрeсгoм/ иЛи дeрни рrintl'зё хвoсr

щиес'] !1а lll1х i1-tа1.Il пei\flloгочrrс"тепrlЪr rl peДrtlr' вЛадeть эт.],!i'Гехтrrп(oil нео6xодIlNIo хoтя 6ьI ужс заТсм, чr.06Ьl 11с ltо]lасTl вaPoса](,

o]пибкrI фоPмaтrrоIo въlвoда дoвoЛьllo мaIoчrrсЛerlrlri l всTрc.laюTся гЛaв]tьl]\fо6lraiol' rr UNIХ пРl]ло'iснilЯх] rдс тPадиции TсP]!n1нfu1ЬI1o1.o рсжI1llа все сUleoсTalo,гся сIl"lьi]Ьi' ПolI€кoтoРьlп' oц€Ilкa , в 2002 гoду6ьш0 о6наpY,кснo xopяд.кa 100 yязви\Jьrх rrРп'rlo'{eпиii' a в 2003 свьIurс 150I Aтакr пoдвсргJlllсь (qrgс-

Ра 6nз /1аl'lrых' 1lрarIIаltЛцfiхся пoд oIaсlс, tI ссрвЛсЬI UNIх' такI1с' нaxpиllсp' ttа|lsуs1og rrrltt ltр. гTll оr.lпoil атarLIJ нa пPxлo,{сния пriпdo\\.s NТ д.J сuх rlop rrс за-

ф]lксriln)Паnо этo fiе Знaчlп' что WhdowsNT xучt]rс' rlрoстo щaфxчс.ltllii lt||'TeР4,eiiс lIe Рaспo.tатаст Ir llнтснсиrrllоillу llсnon1']oвnllllкr (юPмi],llIl)fо Еl,пn)lll', | ' | | 1 | | | , | ' . | | о , o d ' o , I

к() r.ЛуЛеп \1Фкl]т счrlтaтЬ' что он Jlахo;ln'rся в 6сJorlilсItос'Г]l, l1с всPlt1c? вor.lllас

oшш5кп обрr6откп спеI l l l (р l ]пaтoPoв час1пЬ l i i ( ' l vЧа i i6oxссо6r r i { ] i i l | ] l )бJc r \1ЬI

]lнТсРtl(),rl'цLl (]lll]lL, tIсIютoPьI€ яilьII{ll' нaIlрlll\1cP PсIl, il0зво'цяlo| l]с 1.о'цl,ко

фoР i lа r ' r lр ( ) | ]a1ь l l ь | l l о , l , l l l ) п в l l сд )Я ' IЬ I JсPсмся l lЬx , l l да , l {c q]у l l к IL l J I l ( l ) ' r с | lо '

с r Jс / l с1r l ' l I r ( ) U с t 'Nу i ]ъ lвo/ l l . IN ly lo стPо l{Y ' чтo с ! l l 1сО | l с l l l l o Yr IPо| lас l l { уСr( ) l )яеГlЦх) r . I ) r r \ l l r ]хЛ l l l l | | l с , I t (o ,{аJJс l1 l ' l l o ' хo l roI j l l l с l l l L . r l сL iu l{ r l ' | | (a| ( l )у | | ' ( ; lмс| l luN| вo-

l , ! I ( : | | rу r l ) | ( ]Г l ) | ] ; l l l i l i u i l l Jм l r , Удo6 lтвo r rc сочсr аск l r : 6сзot t i r r l r ro r ; ' r . r ,к l , l1т r l yло6.

r | ( ) |Цх)Ц)aNI l l I lр ( )в : l ть _ ! , \о6| lo l L , r lо l I : l r Ь ' х ( I l } I l )6р l l1 l ( )e \ '1 rЧ 'кдс r l I с | |oUс l ) l l о

l ]о6| l l ( ln l ' 1 ]сBoс l IP| | | l м lL i i r t rя i } In l ( )П] , l с l t . )3N ( ) ) ( | loс , l1 lк i l кдof i !Y ' l Ioдх( ' l l r1 ' ск| | | | l t

T l lOРЧсс(| | ' ( )т t )1 lр i l ' l 1 ! j lЬк( ) J IY ' l | | I (L q)Y l l к l l ]1] r l I o l l ср i l , |o1)Ь l .

ФyHкции, гIoддEPжиBAюЩиEФoPмAтиPoBAHнЬlи BЬIвoд

УсJiyIaми 11TeРгrретатoPa фoРмат]rоIo tsвoда/вЬlloдa пoЛъзуется мtlo'{сствo

фунIiцпtli' нс тo.цькo рrintf и ]lе то-.тьiLо в консoЛьншх ]lpolpaiшaх, грa4)lIIесIotстrрlrлo)кенIIЯ ll ссРверlL0e пРограl{Nlноe o6оспсченrrс. ]1сxonllяlolцeeся пo,]

Page 252: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.'.indоtуs NT' aктllвl]o испoJьзveт фytrкциIo sprintf, въIBоrrЯщyю отdхrрматиpo]аlrlNю сТрoкv в oпеРаTивяьIй буфсp,

!\'IrIdiIirI' rlсpeчпслеrlilьlс в та6-r, 1з'1' сами пo се6с I{c oпaсnьI, Олtr(lпnми ихL..lаL,т паjlичr1с пo-l]ьз()Bаl.ельскогo |Jtsoдa в фoрlle1нoll аргyмснTе' lllfеrllto Ta.

]:]iс yчaсТки кoдa rr !]v)xllo ]rс aть пp11 ]1сслeдoвa]lш] пPoгPаIiпrьI ]]a yязвиlloстъ'

та6лица 1з.1. oсHовныe фyнкции фoрмaтнoго вЬводa с кpаткиJ,{ OписанИеl4

'^4рr nti

AsспUNIсoDЕAsсIIUN]сoDЕAsспUNIсoDЕAsспUNIсoDЕAsс1]UNIсoDЕАsсIIlJNIсoDЕA5с]lUN]сoDЕАsспL]NlсoDЕAsсlIUNIсoDЕд6сIтUNlсoDЕАsспUNIсoDЕ

Фopматирoванньй вывод в файл

ФорматиpoванныЙ ввод с пoтoка

Фopматирoванньй вЬ вод в sLdottt

Фoрм0тиpoвaннЬ]Й ввOд с stdiп

Фoрмaтиpoванный вЬвoд в6yфеpсoграниЧитeлем длинЬ|

ФOpl4атиpoваннЬ Й вывoд в 6yфер

Форматиpo8анныЙ ввод из 6yфepa

ФopматироваlrHЬй вывoд в ioтoк (strеапr)

ФoPматиpoвaнNый вь вoд в stdо!t

ФopмaтирOванHьЙ вывoд 3 6yфeр сoграничЙтелeм длинь

Форl1атирoвaHный вывoд в 6уфеp

пAтч сFINGERDъ/ iаJlс€ (лис,|иrrl. 13' 1 ) п кaчссl.вe нaг).lядllo.aг] Jтal t olllrorо л{)сс)6]rя пPrIвеl\сн патlI.нашaДьIвасrIьI],:l па сljпl]l]г 11еlI.лIдJr' устраlIеJltl,l vязnиNiOст]J Е o6pа6oтке фоР-

листинr 1з.1. патч сflпgеldЪ

5nр.]nt l (sys loq-stг з lz .Of(sys lOq s lг)f ls i ingeгed (]nLс inа l ) fгom ls useгпаmr'

sу5lOq(L0G Nr]тIсЕ ' (с l rаг *) 5}s lO! sи)

- sts lоq{LOG N0т1сЕ '15, (сhа. *) 9,s lO! 5tг)

/ / пoлЬ3oватс/ъс{ий

// яBкdя.пeцифtrкaцLf

Page 253: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

254 глава 1з' спецификaтoрЬ под аpeсroм, или дepни prlпtf за хвoсг

истoчники yгPo3Ьloсtroвilьlxистoчникoв rIрoJЬr псегt] тр . Этo:a) навязьlва11!lсуЯзвиNlоii прогрaNгt1с сo6сTвe]{IIЬ!х спецIJфIrкатopoв; 6) вPo,кllсxliЬIi1 ,lцlсбiшапс спeцtrфикатoРoв;в) eстеств€Irнoс 1]срclloЛtlе]iпe бvd)ePа приемнLll{а пPи oтсyтс1!иrr llpoвepкI.l папPcдсJl],нo l1oпyсTиlf уlо длlrlrv стPoк]1,

нAвязь|вAниE сoБствEннЬ|x спЕциФикAтoPoвЕсJ!l пoльзoватеЛьсt{иii ввoll ll()l|аДeТ в строкy фopNfaтнoго вьlвoда (чтo llрo с-

хoдитдовo.Iь]lо чaсто) I] IrахoдящI1сся в нсi\l сllсцrt('lка1opl'l lIе r]yлут отф1тJ.iьт.

РовarIЪт (a кто IIx ф ЛьТpУст?), ]',l()у[lt,lUtЛе]lllrк сllожет мaшЛпyJrrЦoвать иr1.

TrpllРcTатoPоIl 11юРп'атIIогo lrьlвoдa llo свoс]!у усм01рсr]ию' rь|зьlпaя oпJl'6кn

дoстyпa'чllтnя и псPсJilllltсl'lxxя яЧrijкп пarlяти lJ прп 6лaгoп P11Ятньlх усJю вtl'l х

J а х в J , | L | ь | я \ l , . t i ' l l 1 р , | , , e , Д , L l ' . l , I o | ' | ' , . ! ' ' ' r \ | U ' | ,

PaссNIoтрIlм (Jlсllу1()|цl.|ii прtJп{eP (ЛIiстrlнг 1:].2)' к кo1.opoму м|,l Ilс Раi} 6yлeмо6РanЦться в дaЛьнсiiшсr!' как BЬ|/lумaе'r.e' гЛе з/(eсь лъиtп?

Лисrинr1з.2. дeмонс|рациoнньй примep/ nодвeр)кeннЬй OшибкаM пepeпoлнениЯpaзлиЧtlЬ x типов

{ сha. b i rг- in|з2] ' i Ju l оL]| iз2: l

р.]nt|( .Bвe,r ! и in ] ' ) ] g"ots(Du|- in)sрг i i | f (b! f -Ou], .he] lo l ]s]\п, buf- i l ) l

)

PEAлизAция DosдЛя aварlrihlогo зaвcPl]rсl Л lя | |рoгр:lNl м Ьl дoстil,Гоч нo въIзlraтЬ наPушсI l ие дl)(]TyrIa'o6paТивnrисЬ к IleвЫдe'nеlllIоii' ЛссYщссТв"vющсii rulIl зtl6r|oк'Цювalпiоli ячei{кс

пaмЯTи, ЭToЛегкo, встpстllв спoцI кl)r lкlToP }sI l1tlr.cРllPе,Й'r(D фoPNlатlroro вьlвo.

]lа I{звЛокaсТllз сгскa пaрпьrl{ el{yaргvltollГ] 1Pакl.уя сriJ кiuсyrtiшаIе]]ь IIастроrry'

ЕслIr я{с тoТ oТсуTсTlrуeT' пIiтoрпpl]та1'oP хвaTа!,Г lrсpвl]lii rlollaв]1l]'l]1ся Ук;Lraтельи начllяаe1. читaть сoдеР'(имo0 llаN'Tl x() эТoI1у аIlрeсу /1o lех пoР' пoкa нe встPс.

тIrт нyЛь l{л]'1}1с llaрвelся пa зaпРеllllrн}lyю ячсiil{у' llo]lиTxкll запI)cToR ваpьriРу

ется oт ollноil ()]lеpaцllolпloii спстсllьl к дРvlulli в ЧaсlrIoс,t.Jl, l1р]J oбрапierrпIl по

адPeсап{ 00000000h 0000FFFFhи 7FFF000h ЕFFF FЕЕЕh WiJ) d( )ws N T всerДa s(rз6уждaстисключение. Uс,l;LlтьпьIе т{с адPссa в заBL1сиrкrс Ilj oг сос1.l)яlllfя ]+ч1l' стеIй LI сTа.

Tичсскоii rlаNiя,].и ljoryт 6ьtть liа]r Дoсry]lllЬrмll' тa( 'I rleДoстyпrlЪrllrl'

oткoмпилирyепl пPllilсP' llprlnе]teli]lъп1 rr листингr 1з,2, I'I запустиi{ сlю нa ]rЬг

пorrнеtlие, BI1сс-|o свoего I{NtеIirl ввrдспl стpol{у *s,llрofPаNlма отr]еTптi

l rе l lO ' hе]]o . ъs \п

Page 254: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

255

li.o5ьI iтоrrять, чTo тaкoe he]lo' 'Тs | и oткyдаонo зДeсь взяЛoсЬl нeo6хoд'Ii\кr пр.].raxизrlрoвать фсто,lrtие сТска нa мor1ент nызоза ргintf(buf оut). u чеNl IiаN!оr!{rж€т отлaдЧи к ]IапРи\1еp| тoт. чтo lrнтеIpпроваn в Л'liсгosoft Visllа| sttldjoi ] l с , 1 3 , 1 ) ,

06

Pис. 1з.1. сосroяниe стeка на мoмeнт вЬlзoвa фyнкции рr]ntf

Первьllr rlДе,r. двoirrroc с,1о вo 00l2FF5сh (Ita I!I1кPoпPoцсссoРах аpхllTl]ктvрьl Inlev-.lалUll'lii 6.liiТ Pасlllo,rагастся по мellы|lсrIу адPссvj .Го eс,гь |]сс ч1]с'lIa заппсь]llа.l ),Гся в l lаIDtТlI з2Цo]!f нaпереЛ ) э,Г() уlсазllToJь' соотвeтстrry!)щ]ii aPгvNlепTу 4)vll.InUl,l pгintf, кoТopolllу' в своlо olIeРедЬl сooтвcтствyе1 6\14)ср buf оut] пoс,]е]lIllIiiсоЛер'{Llт llеllaРllши сI]сц фпxатоP is' к0TopЬlii заl]тaвЛяеT (])уtll{цtIю printf I13'в,'Iе(ать }lз сl.eкa с.llcдyющ€е дBoiпloе сJloвO' xPorrстaвnяюпlee сo6oй o6ьIiolОneп.llЬIii мус' T' ос'гaвJсннъ!й пpеr.lьlдylII""ii функц]rсil. По по"!e о6сТo,lтс".]ъс,Гв оп (}'y-сор п },тiазаТс"ць в oднoм Jrпцe) указЬIвaст на'Гот жe сallьlii buf out' i{ потoI]YIlaрyшеrx1я дoстvпa rre пpollсхoдиТ' зaТo сЛoво he] ]o вЬlвoдllтся д]riDкдljt,Б}'дeм Pьlтъ,]аnL'шс, снl1}mя сo стекa'Гак}lю !loсJ]сдoвaтелъllос1Ь адрссов;00408000h(указатеЛь l1а стрoкy he]]o' Ns|\n)' 0012ЕЕзсh (yi{aзатеjlь ltэ buf out)' 0012tг3сh(сflопa оil ,ке), 0040800сh (vкilза'ГеJь пa сTpoкy ввetи ивя:)' 7з257з25h (сoДер)кlJмое.rУфepa b!f'in, тPaктvеll1ое как \rкдзaтсJьl l1е'цv прочиN1' yказываrоtцпii llа нс.вnlдеjtcxt1ylo ячеirl(y пal'я,Ги)

Page 255: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 1з. спeцификатoры noд аресгом/ или деptrи printf зa хвоo

Tакllм 06Рilз0r1' ]lepвьlе пя.Гъ спецnфпI{атоPoв *s пPoIoдят сквoЗь xнТсpr1peTa-opфoP\|r IoIU d|, dU , oп. , |ё l iд , ' / ' . , | . . ||Р||| o ' i пo U р.|о i j

I , o . " П р o . ' o р " L , 6 p l ь d . ' . , | | ' , , , | | , ' I r | ' | " ' , l г , | л о , | | | . ' ' l Р п l ' n I P J ! \ | Ь | 1 u i ' | | i i

l Iо пpе i lрa !цаотся (pпс , 13 '2) , Paзу l lеет t lя ' спeцпфl tкатoРor j i Iе o6язaт € ,1ь t lo

лолкllо 6ъlтъ Poвно шrссTЬ - дo oсТi]-!riltЬtх все piшllo l lе Дo jlДeт упРавJrerll]е. o6

г , ' , l I l l ^ l | | | \ | э | | | | q . I o o 1 V ' | " ' ' . N J . | ' ' | | Ь t , l | | | r l | | | | U , U ' ' J | 1 1 , | ' ' | , , , j ]МъI и nj|llllrl)овajlrт'

PЕA,Iи3Aция PEEKl:l'Ц, ljрoсIкr1'|)n (])ЛcР)кJlNl()П) |l;ll\lЯI|| уя3]lI|]\!()ii lII)o|Р:lNlNlЬl Nlon(Jl() irосflо''iь3o.

B i l l ] ) ( ' сЛс lL j l1 ] ) l l l {n1 l )Р; l I{ l l l x ' *d j l *с , С l Iс l I (n l (aT()РЬ l l x l l l d l l з l jncк ! l l ( r , l . I l i rPнoc

|1N lд| jo i i |к )ссЛo| lo l13с l |с l ( i l l l l l l ) | | ] ( ) ,цЛTсГ0 l ] I | Iсс ' | . l | i l д l l a1 . ( ]P l l ' | } l ( ) ] \{ I r ' l | l . l / l l ] с ' |T] lч I ( ) l1 L . j l ' , с | , ' | | | ' l ' l t ' | ' ' l t с t t , r 1 , , t ' ' . , , ' . , , , , 1 ' , t n " 1 д o i i t t " L . , , t o в о , ' г т ' .

ка, ||рс()6рi[]уm e[о к.),ul()баiiTоIJlJ]\lY Тllllv сhаг ll |lы]ro/lllт в сll]!tвo"l]ЬI1oll ]]llдс'

o,l.с0l{а)| тl)l| (|,|ilРllпlх 6аiiгn' Тll1rlIм ()бPlзoru' lltlItбo-цсс з|laЧIlllЬll!|]l l|з вс0х 'lв-ц'.

k )1 .ся ( | | l t ] l L l r (Л l ] ( l lnUn iх r ' xс .' ( ' | , ' | ' l I i . г .

| ' ' ' l . l | | . з о ] ' l y U | ' t l ' : , ) | i , . t s ' | ' . l | | | ' ' ' | | | ' ' Д в U i i l | ' "

в пeпосрсдс гвс} l но i i 6 .1 l ' зo( t r l ( )1 l l с l ) | l Ix I tЬr ск j |{ l r (ПцI tоo Рt l ( ! l ( )Л0 '{с| | l l с i } t lв l l с ' tT

oт пpoтотnп1 l l ь l зЬ lвасr !O i i ( l )v l l I { lU ln) , сoоTIrстсГI ]сU ln) , Nсr l сЦ lф l l ка1! t ) ( )в oтo '6рDrak]т 4 'N6а i iТ ' а I lа l {с I I l l r l r l ь l i aя | ! |у6|| | | i l цхх] r ! rоTраpa l r ] l x2 ,С) l ' l ес_)фe.дсЛьIro Дo]l\,сTltlllnii РaзNlсP tloJLзotsаTеDЬсxoгo fitJоlLа B 6aii'|ах, Увы| ЧltTa|Ь всr{)

пaIIять yя)вIllIor о при.no)liснrlЯ наN{ нlrкто flc /lаст' оl]lalrая на Рaст€PзaI{ис "]rr,!rnьltPIJшcчIrЬLIl lt!сllIeк' ll lrll'tоlт)]tl' есJ11повезr'Г' могyт встрeTпться сeI.l)eтllьleДаIr-ныo (нlrIPII!сP' llар0.,rlI) ]lJ.Ill yказa,Геi|ll па IJ]Iх, [JпРочсr1' Узlta1r' Tсl{уlцее поЛo-тtенис указll'Гс-llя тoяtc }1сII'lloхO' i1о .)6о всс\1]tо lloPядку

ЗаnусTпNl l lxпl}' ДеllонстРацn oнI1vю прoгPaillty !! вводсм спeцпфптtатoР 1х. orra

l rе l lо , ]2ГЕ5с|

Пoчcllу 12ЕF5с? oткУдll Ollo вJ'Jxrсь? o6pаrцaясь лдаrпtу IrаlиTи (p с, l3,1)'llьI видпl1] чтo эTo - двоiirюе с,'l()во, (JIедУюще..3а аPr.умсrtТоr1 buf_out ]!рeД'стaвлятorцее сo6ой рсзvJЬTaТ ХlзнсдсяTсxl'носTrr llрсдЬlДущсI1 функцrlrl (иxlt,

пoпpoсTу rовoря' NусoP), ну и xакая напl радoсTЬ oт этoгlr энания? БуфсР с'r.

Рис' 1з'2. Pеакци' пPoграммы на 6 слецификаторов %s

Page 256: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

257

]eр'(ттт ]lаur сo6ствеrrньIil вtsoд, в кoтoPом 3aведоillo нсТнtlчогo и}1TеРсснol.o. ЕIor lо .пurllь частЬ ariс6epга. кaк y,ке говoPи.noсь в rлавc 1 1 < пеpепоЛtlенио 6yфе.

Poв как сpе]Iство 6оpь6ьI с lfеraкoPпoPаЦиями'] для псP€дaчи yпPавлснпя начhеI! кoл пеo6ходlrrlo знатЬ eгоa6сoЛютньIй aДpссl iroтoPьЕ1в 6oльIлиjrстве сJrу.чaeв lIеllзReсTelJ, п спeцифuкатoр lХ как Pаз l' вшвoдtlт егo ]]а экPaя|

TеnсРЬ ввеДeм lleскoлъко сliеliпфикaтoров яx' для удo6стua pазлелliв ,.lх lтpoбеlа]\1иl хотя tloсJ:lеднee lI lIe 06язательllo. ПРoгpaмN{a oтI]етl'lт:

!вРди имя:gХъi iХ1Х1xlХ;Хiellо 12|'Ё5с 408000 12Fг3C lzггЗC 10800с 25;05825 58?52058

o6paтитс внIr;irавис вa двit !1oсЛеlllIltх двoihlьtх сJювa' Да эТo 'кс.'' сoдeP)кIl,."lоe6vфepa пo"пьзoвaтслl'скolo rвoда! (AсsII{]r.F)tllL,Yх B ILIесutаllцаГcР11чlt{)Nl пРeД.стаuлсIrпIr вьlглЯдllт t(аt( 25 58 20')

l i д ' ' r _ l 1 i ' o р r | | | г ' ' Ь : п Lжllт' сl.o в 6.v(1)eр. а з.tTсl{ llаT|aD]rгI, rrа п€ro сllсЦllфllкaтоР ts' чптaкЛциii пa.tl,lТЬ ]lгlJкЛ.ь Лo }]с'ГРсчll с I]yЛrllЬIrlr 6а irГol' иJlll зa]lРc]ц€llпoii ячrin(oii, t{yjleвoiiбайT llс п()Nloха' дoстa'Гoчl'() сq,оPislPoIrзтъ IrовьIii vкaзаГrJIь' PaсltoJIox(сIlпьIii ЗaсГ() хвoс1'oм' зaIц)еUlcIlIlьrс ячеiil{Ll llаУIloго кoвllPllсс: всякая Лопьl'гкa дoсr.yпаl. lIltN1l]ьl3ьIBiLсТ аI]aplliilloe irаlrеPпIellие пРoгPaмпlьI| и дo тrх tloi), пolra аiФ'пlll1с.'ГPirloР Лс I|о/ll1Л^lст yпавл]llЛ ссPBCP. а1аl(уlolllсIlу пРПjlcTся сj.l,.lс'П,' IlIrTь tIIlllo'сNlo'гPстIl itllllAi'' i!1а'L(rI'!ть()l ll сl(уЧir,гЬl a Ilос:Jlс lIсPсзaIlvскa рaс||o,'Io)(liIlис] yяз-в l IN lь lх6vфcРoN|] t i l l l l l Ь Iх t1( 'к11o|{ i l f , i l тЬсясo l}сcN] l l I l ь lм1ч ' l .o l )6ссI l с l lиTвсoPa l i се]loJlу(Ic]tllьIс 1rс:lv,]l,'|.il,LЬl' l(о|'с.Ulo, вoJlкou 6oяTЬся - в jlсс lIo хoдll'ГЬ) lIo ll с()-

ЛllтЬм в !o]tY, llc зllirя 6poЛу' 1r)'(с t|с сТ0ll,Г' B ()6LIlсNl' со сIlсЦll(l) ка1oPоll }s

с'rоl(Yст (rIять trllc.,lсrrr,лo oс1oPо,|(|lьIi\l' а то Лc/to"'IГo Л Dos схЛoIIoTа'ГЪ,

дoпyс'Гlt ' N|ь| хoтиN] пРoЦLtTllтЬ сoJrср)d1l\'ос llllNl'lTx IIo lvlPссv 77F86669h (IIO llcii

]\кDкllo о1lpедcJllt1.ь версl'llo oucPaцltоlllIoй сl1сТс\IьIl Таx кlк y Dсcх olla Pа3Ila'),PасПonожсIlLlc 6уфсРa IlоjlЬзolrа,ГсxЬскoгo вBo/La l].lNl у,Io изl]сс'Пl()' а(TуanЬ.

lIЬIe дa]lIlЬIе llrчltIlaIоTся с lllсс]тOгo ,ruojil loro слова, Oстастся lюдгoтtlвlп.r, tjoс.

BI'1o IlаЧll]ft(у, Bлo/пl]!l цeЛсIroil n/1рсс' зaпl!сьlIrая сro в ()6Ра-гll(rм uoPЯllке 11нa

6rrра;r псrreuатrrыeсиlrtr()JIы с пo\1оnlI,юALТ п цпфровоii Iс1aBll aтyр ьl ' .цо6aвЛя сli

к нrtl{ lUсс.Гь сlloцr{фl(a].o])oa lх' :d lI'r]t tс (пoскoЛъку со]lep)кll]\Ioе :)тI,tх Ячeек

пас нtlкак Ilr вoJlllyсT' ]Iодoiiду-r Лю6ь1e)' Дo6aв-цяel!i oлoз]lавnTс'lll]Itыij зltаI{, lIa.

IDиNieр звeздoч lLy иЛI l двoсToчиC ' за l{oтоPьlм 6удсf llдl.u сltсцlI(l]nl{aтоP ]lь|вolLlL

с,грoкIi яs' Il сI(аpllл 11вас]1 пoЛyчс!п ll'li pсзУJI ь'Га1. l IpoгР:LNlllс (.]lю3jIаваl.с]]ь]lЬIи

3rrак неo6\оди\J Дn'I тoгоl чTо6Ь1 6t'кlтpo oпреlleлЛTь' lдe кo1lЧae'|с' I{усoр' а гДe

llачliIlaются актyаJrьнЫс данriЬlс):

вseди иHя rf<АL.l.2481aс3снс1сiс ъsi re] ]о , r f1 i \ <<+ ЛГ i iФ]

Ес']L!пеPeвeс'гиЛЕi|@ в ulсстI]адцатсРllЧIlyю фоPlry, lloЛучитсЯ 88 46 Bз 40 зЕ Bз 00,

oTкyда вз'Лся xy.nь? Tак lrе/.iь этo AsIIZ'строка, и нyль (по.ангЛиI1скп Zогo)сJlу,t.11'!. ее зatseРlJl ЛтеЛеl.!' Если 6ъI его здесь не oкaзалoсь' спeЦифIr(aтoP ls вы'вс,/l6ы 11а эrrРаIt ]iaпtlloгo бo"тьrJlе rпrфlrPrJaциIr.

Фaктинссrсr ;rrьl pешtизова.{Il atl а-]ioг Бе iiсllr'фytrrq !1 pеek' су/iь61)I]осtloсть itо.тoPoй у;{е o6су)кд;UIась в прeДы/]ylцеii rлaве' oдIlaкo Irе спeшIтe oткPьlвать пивo

Page 257: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

258 глава 1з' сп€цификатopЬl пoд аpeс|oм, или Aерни priпtfзa хвост

rla раlloстях. ДаIiIlая Pеализaция Рrсk'а oчень olpaпичснa в своt.lх во3]!lo)кl1oс.тЯх, Укaзaтель' с(Doрмирoвaннь1!i в iraчfu{e 6уфсpal не l{o)кет сoдеp]riать в се6eс1rмвo-1 пyЛя' и пoТoп{у пeРвьIe 17 Nlбaijт адPсс]rого пpoсTрaнства нeдoстyп]IьIдля iтpoспioTpa, УкaзaTrльl сфоpмиpoванньп] в кo]iце 6уфеPа) Ilo,Ireт yкa!ьIваTьпpaктичeсr(и нaлю6oй aдpес' пoскoJlr'кy стаPUпrli 6aiiтадpсса yдачнo сoвrl;Цас'l.с сипlвoJIом зaвePIrIаюп!€].o ]lуЛя, o]1нaI{o чтo6ьl /'IoтяЛуl.Ься дo тaкoгo yка:rаTeЛя'пoTрe6уется пePесечь вёсЬ 6yфeр це'1и(olt, а этo пe всeца вoзпIo)l{llo.

Дпзaссс;ir6лсp yтверлrдаeт, чтo гlо аДPссу 00405зв4h в 1IашсiI ,lсNjo нстpaциol lнoйxpoгРaммcPаспoложerl l(oппpai]t1 фиpмъ] Miсгosott]гdаtа 00405зв4 aM]с.osOftvisL]а db 11rсго5oft Vrsuаl с++ ltuntime L]bгir.y, 0

Дaвaйте вьIведeм elo нa эrrРaнI кaк rJы п{)^1нllм' нанaлo бyфера сooтшетствyетII]естoN'y спeц,Iфикатoрy. IG'(,,tьlii сIrецtlq)l]rатoр зallимаcт два 6ariта rr спишlaeтсo с].eка че,гьIPс' Еще Два 6айта yхoдят нa спсциqЛlкаToP ts' вьIвoдяlциij flРL)l(у,Taксl(oльtсо всeгo нaдo лерe/laTЬ сIlсцI lф!lкатoPоu пl)о гPа}IrIе? CосTaвЛяeill ltpo-степЬlсoс Лtlнrliнoе уРaBrlelI]]е и с хollу P€пIaепr еГо' llсl'lyчаЯ ! от'е,гe 12' ()r,rtrll.llaДцаTь из lll1х вьIгP€бaют tl3 сTска всс лIlIJlIlее] a ]lвellадцaтый sъпnцlгг сo/.lсР.)кI,lмoс рaспoЛo}кеII}Ioго за |lиNl указатс.]lя,Указar.еЛь фoPNtиpуoтс'I тР'Iв l{:Lnьl lo; откpьl]]aL'Nt АsCI] тa6Лuцу сlirцволoв (кaквaРItапт - залyсI(aем !IIЕw) и пeРсIlollим 4053в4h в сип1IrоJIЬlк)с IDсдсTаUnеIl11е,полyчaстся.@s+. вt,Iворaчлваeilj сЛo llaпзllа|lку ,l вLroirrll B l|Рol.Pа}]Nly, llPrl llс-06х0/Ilrм.)с'ГI'l исlloJIЬзуя цlrфРoвуlo клавl{аTуРv п кЛn]]lDtlv ALтiв0e]]и ltПя tс3сlсlсlс|сlсъсiсtсlсfi s<Аl t.180>s'ahе, l ]0, \ <<+]l l t l l lП сгosoft V]5uа] с+} Rlnt1пe L]bmгy+sФ]

Mы сдс:lа,1и эTo| У ttaс tr oJ уч l]"']ось | Jlcilс,|Irу' l] дnЛЬlUс 1.ltкll]\l I'!акаpo]\ll ]\ll]I с]\to)кс]u nРосмoтPеть lшaкl.ичссxl! l]сlо дос'гyпllуIо Лil]\|,l1Ь llPоГрl1]!1]!Ji,lI КсТа1]1говoPя, Uniсode'фуЛкЦиl' pа6оr'aroцlrс с uлrpotorrlor (wjdс) сtiNiпоnамj'l' исlloлЬ-3\'x]'1'llJlЯ зaвсрцIсtlия стрol(и llвoiiIloй сrtl{вoЛ xу'l|я x к oд]IпoЧIIЬlм Ilу'llя]!1отlloся1'сл lloвоJlьIto лoЯльIIо'

PEA,IизAция PoKЕсЛсцпфикaтoр ln запuсЬ!lraеT в паPны]"{ сruу уI.а]дTсJIь кoJIичeстIlо l]ьlясllсIltlьlхнадaнirьIй NiоNrеIIт 6iriiтовj тсм сa]!1ьII' пoзвоЛя,l tlaм II одI IфпЦиРoва1.ь сoдсP'оlмоe yкa3aTеЛeй rlo свoсмy yсп{oтРеllиlо, oбРafl1тe вн!'IN!аIlиe: мoдIlфriцrlруeтсянe са]\! yкaзатеЛь, a то, на чтo oп ука!ьlваетI ( Ес]Tсс'ГвеIiно' N1oдIlф!lцирyrмая ячeii.l € lloллснa l1PинaдлenФть стpaпrtцс с атpи6yтolir PAGЕ-RЕАDIIRIтЕ' в прoтttвIloi{ сЛy-чае пPoцесс сгепeриРуеT искЛючrниe')

ПеPед дe}'oпсTpациеli напr нсo6хoдиlкl IIaii,]! в стекoвоN, хЛаI1с пoдходяпlllflyказaтe"lrь' преДвaPитоль]]o пPoчr,rтав eго сoдcPхlrмoe сTрo(оii типa lх ,xx ,Yx''.,ДoпусTtlм, п!Ьl вьI6ра-пIr 12ttзсh, },каз ьIвaющиr1 нa 6vфeр пo"'lьзовaтелъскoгo ввo.даbuf-in' Для дoстижerrия котoРolo ]lс06хoдl1llo сI'ять сo стcкaдва]]вoiillьlх сJIo.ва этIll! зайпrvтся спсцифиIiатоpьr 3сlс,

TeгIeрь oпPсДеЛllNIсЯ с числoll' кoTopoe NIъI хоп.1м записa1ъ, зaписьIвaть пtoх]]oтоЛьI(oмajreнькиeчислa'тra6oльшlleпpoстoнехвaтитразмeра6уфepаI flляoп.pедeЛенtloсти сoйдеt'!ся нa чlIсЛс 0Еh (этo I'eчетtloe ЧItсЛoj четIJъ]e при]]осят lie.

Page 258: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

259

счaсTne). Счrпaеll|двa сиltвo.1а вЬ],ol1ят спец1lфпкатоРъI' сlrrNaющио ".lиltlниejвoiilJЬte сJroBa с nеpxуIxки сТскat сеIlri ]lPrlхoдпTся Ilа стРol(y he]]о' (Дa.дa| онаГoжe в дo.Ie|), тoгдay нaс oсTастс':OFh -02h -07h = 06h, lllестьсимвoлoв. rtотo.pr,]e No' доDкIrЪr ввeстll са\lосToяTenЬПo' oIпт мoryт 6ьiть лю6ьIм1r) нaпpимсpq!.,eгtУ ]iJlr что то в этoNI рoдс, oстае r.ся Дo6aвliть сllеIllrфиirатoр яn и сфoPми.poванIIуloстРоltyNIoж1rо пеPсдaTьrlpolpailIlе::Еeди шия qiеrtlвсiС]{n]']llо, !iегtу\ L

Поскojiькy пloдuфIlкаЦlIя 6yфepa oсynlсств.пястся ,7oс,te сгo в],lвoДa lla экРaIJ''loIrазаTеJrьст!a ]lсpсза]l].кjи лаl{ятrl пРlJходптся д116ьIить в oтJlадчикe' Загрy..lrllr подoпъIтlJуlo xРorPаrullу в ]uiсlоso|t VisUal S|uсlio (иЛ]r Лю6o]i Дpуroй oT'1:uгпЛ( пo ваrпеlly Еxусу)' ус1аlloвllTе T()чку oстаl'oва пo адPесY 401000 (аДPeс

4)vпкцшl I лlаi л) r IЛи' l loдoгr]aB к |lеi.i l(уl)соР (сtr|+G' Address, 401000, Еnter)' н кNllr'гeсtl|+Е10 rr.]Iя xрoпУO(a 1lllс1l)J"кцпii стаP]oвoго r{о!(a' сoвсpllrеrlно ]]с Ilt{TеРeсуIo'JIlсгo нас в llaсloяt]llllt Nюме]lг'

i r

Pис. 13.з. дeмOнсrpaция пepезалиси яЧейки пaмяти

IlolшаГoвo TРассlPуя lтpoгРal{l{y пo Е10 (stеp oveг тPaссиpoвка 6eз зaхoдaвrIутpь фvпкцпii)' !вeДиTe задаI1]]ую сTpoкy' кoгда вaс 06 этоlll lтoпpoсят (экpaн

Page 259: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

260 катopь|пoд ёреФoм' иnи деpни ргntfза lвo-

кot{сoлil начнeT прl1зъ]внo N!иЙть)' и lPoдon)кaiiтc ТpaссиPoвкy в1r'{oтЪ /.lo jlo.стl{)кенnя стрoки 0040103сh, вьIзъlBаlolдеii фyпкцию pгi ntf, Тепеpь llсреiiлIrTe в oкнo дa^rпа aa]uяти ]i nвeДl.Iтc в aДресной стРol{с ЕsP' с0()6п{ая oша](.lикy' ЧTo irап!угoд]{о прoсмoтреTь (oд!:PжIiп!oс стеl.а, а затell вeрнLlтесЬ к ДIrзaссем6леРrroll}'кoдy и IIа,(iпrте t10 ецс Pa3'CoДeржIIrIoе 6),феPа пoJIь3овaтe.nь(]]tогo вBOja нsп{e/]-1снfio Ilз]\{elIится' подсвe.чиIlая ядoвитo' l.PасньIll l {вс ront ч1lсto 0F 00 00 00, зaписaннoе в eгo начале. ]lс.Резaп]tсь вьl6Paннoii яllеii]rrl паl!ятIt усп€пlпo сс,стoялaсЬ (Pис' 13,з)Illапoм]rI{а€l' i есnx спе11]rф}п{а'гoрьl 1lсpсriPы вaloт 6yфep лoльзО ваTсЛьскoгo ввo-дa| ]\ ьl мо,кel' сa1\1oсToяТе"1Ьllo сфoР]\j]lpoвaть указатeJIЬ| llсрсзallIrсьIвaЯ !ьl6pа]гяьirячеик]r пaмяTlr ЛPoI'звоnЬньIi\l O6Разoi1' I]v',' ,o4,л?l l IPо Irзвo"1ьI l Ь]ill, к oГpa-ничепи,lм вьlбopa цсЛевьlх адpссoпТetlсPь епLс ltprIсoедIltl,IютсЯ 11ot.рaI{]lItеltиявъI6oРа llcPе3апllсЬIвaемогo зяaчеlIll,ll lto|0РьJt]l ]uсхдy пpoчпrv!j очсl]ь лrес1'l(и.I{rrrкrjяя rраrrrrl Ц о]IPсдеji'|e1'с'l I{o.п] I чс(lTllOпl y)кe вьI ве/lе]lIlЬlх с] J [j l]oJ orr (l] лaI l.нol{ сJ]yЧас дJlllIII'] стРoкI' he],lo'). uсpхняя n(е (i]oPrlальlю flс oгpallllчс]lа 1i()-стal'цлto JlI'l]пь Iloдо6Pа-гЬ пilpv yJL^ilа,гс.lсii Ira с1.|roкll lIо]lхo/lЯпleii д]lliIlьr lI lla-тPавиTl' IJa lllrх с:llсциq)икaToPьI,тs, oдl1ако IJиI(nкоji гiLРa]lllпI тoГo' ч1.o oIJи,].аN|6yлyт' y rraс rrет, п oсуlшeсTBltlJ, захват у]rPаRЛcl]ия yl(а.!el l п ollj ]!1аrIlиI]оiiс пo]!J(]lцЬlo (iюPмnтIlРo8аllUоl.о lll)|Rоllа пPaкllг]ш{IJ J|сРoi]JlьJlо' l. rJoт DoS Nli)'o]o yсT.poI'ть хoрollI]iii, стро(a Bn/lа,Yn8nln,Yi*r,, РoIi}lстсис1'сlvy iroкPуLlс, Чoм 3s*sisls*..'I

дисБAлAllс спЕциФикAтoPoвIfu)('llolly спcцIr()llкa'ГoРу ]Lо'l|)ксll с:oо'гlre1.сrrloнaTь jlаPIlьlii llРIуr'с|l-|. llo <дo'il-)кс l l ' с lцc l l . ' ( ) з l ]ачаст <o6язаr r l . Bодь с r rс Iцr t | lлк i rтopЬ l и ар l .yn lс t l тЬ l I l l xЛ.р i lN l I | l I -сТу IQ l JхoДl l ,ГсЯ l I i r6Л l lаTЬ вPYч l Iyюl J ! сn ly l l l l чё] .o l Io сТoI l1 . o l l L I t6I I ] ! , ся]

, l l rаUс ' ' l я

гoP oткo]\1|lи"'I]IPус'г Taкvю пpо].рa]\J]\lу лlIоJrIIе lIopмальпol l]oJl]O,ol()j llсГРoI|коRьlPугaвпllкjь llPj,t этoII l'l вьlдaB Ilа экрaII прсдупреждaкЛI0rii willllin8 (Да T().r|ЬtroкTo тс waгning'll ч!.Iтae,г,,,), нo что nРoизoiiдст пl]к)ru?

Ёс'lu аpryriтеrr,r.oв оltalteтся 6ольrшс' 'rr:м сrIсцпфикатoРовt <]-lIIтIl]Ilrlс)' ilpЦl]\1elIr.Ьl6удyr пPо].lпlopиPoвaпъll ,]о l]ol.cсл].l llаo6оPoт.,' (!уl1кцпя ф()pNlaтjрoваlп|oГOвЬlвoДa' пe зllаяl сl{oлько е}i apIyNIeнт(Л] pсаjlьllo nrPсдaлl]' спrll1c'Г со стекa lIeР-вьLr] встретlJBшrliiся eil rllусop' п сo6ъl!ш 6уДyT Ра:r]rrlвaться l]o сцсllaPпюj olIl{'саIliroмy в lllавс <I{:iвя:]ьlванItс с.)6сlвсtrlrЬIx спец]!dniкаToРoв}' с тoi1лиIxь Pазl iltцefi' чтo ll.lв'lзl,lв"'l'ь спеrrифllкaтoPЬl зJloуNl ЬЛl]'tеl]ttиI( с]!lo)I(е I тoЛ ькo (Освoнlloиjlll пe сможl]т сoвсeм,

oшrt6кл этoro rила встPeчаIoTся Л I'пlь в nс'ГyдеIlчес]rпх' пpoграIlllах' а пoтoltyсoвePrшеннO пenl{тyаJlьпЬI, кoPoче говоряl ]lх опlrcание пe сTorlт Лсpeвe/lеlllloi,l6уiIаIIr'

пЕPЕпoлнEниЕ БУФЕPA.пPиЕMникAФyпкция sрrr.Лtf oтlrосuтся к чl'iс'ry саl|ЬIх o]laсньrх, всс pvrtoводства пo 6eзо.liаснoсTи в oдин гoiloс твeрдяTl чтo J!чпlе поЛьзoвaтьcя сe 6езoпасньllт аlrano-гoм snpгintf' пoчеIly? ПPиpoда фoРмaTllpoванIloгo вьIвoдa Tакoва' чтo пpe.

Page 260: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

261

де.пЬнo дoстижпмуIo дn ну peЗуЛьTllР]'юIJlеli стРoкrl oчe}lь Tр}ц}ro paссчптaть

зарaнес. PaссNroтpи]tf следytolrltii кoД ("пliсТиrlг 13,з),

либинr 1з.3. гiримeр. дeмoвGРиpующий перепoлнениe бyфера пpиемника

f l )t

сhаг bul[???]|sрг i i t i (b!] f 'и!я:1s во3рaсr:ъ02d вес 103d Poсr]103d\

'

n8me' а9e h):

Кaк вьr лyмастс,6уфep кaкlrх paзllсPoв tlа11ll011t6yется? Из пепзвсстньtх фаr.ТoРor, здeсь пPlкlyTс'Гвyю'Г|r-lлиI]:] стPoки nа]тe и <iдJlJпа> цeлoчисJ.iенlrьlх xеpе-\{ellrlЬ1х age' m' h. l Ipсoбpазуrltьrх фуnl{цllсii sрrintf D сIlпIBoЛьнoо прсдстaвЛеllrIе.кoJьсIropo rvЬl o1.IloдIrпl2 ст(Jл6ца Jlа вoзpaст п пo 3 I'a Рoст и всс''].o завЬl.IeToп'Iii\l €tlи l'l Д'i|lll|U (DoР]llaпIoii стPoкj! lIaм поTРc6устся вссгo 8 6aiiт' Ilpавl.t"'tьllo?A вoт n lIL-Гl l]с".lIl стPoкoJro0 IlPс/,lс'|.а|]]lcl||lс litlPс]!{снttЬlх не у]!1с1lLас'lся l] oтnе.

дeннЬlх сillу lIo3I]Il]lЯх] оtк] ilв,IoNlаIllчесl{]] РaсЛ|lQястс,l' да6ьI rtзбФкa-IЬ усeче-||пя PсэynЬ'Lата. в дсiiствll'tеJIьвoс1]l '{c /lссятл.lttое лPедст:lвлсltпс 32.pазpяд-||Ь|х rlcPеN1сl l lIЬIх 'l.ltпа int'ГРе6yст PcзсРRltрoваllия 11 бaiiт IlaМ'',]rl, в пPoT|1в!]o$lсrlvчaе BojIlикAст уI.po|u llePcпoлIleнIi'l бу(lrcpil.

IlсPсllojrlIcltllя llnl!|L()г(),ГLtllа llo/lЧиlI,ll()Tс' оrшl||]tl uP:llll1Лaм Dссх 1lсPсI]oлll,lю.l|0Iхся 6y4)ср0l] lt лo'Гo[ly :lltcсЬ llс р.lсс]!1irlРl]вillo,rся'

Page 261: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 14

sEH нA слy)t(БЕкoHтPPEBoлtoЦии

IIсpсзаttись SЕ[I.o6pa6oт.Illк:l _ 3Toмоill.lЬIii l| ()1.Iк)сIгIсJlьIJо tlо.noдoйN|cхаlllt3N{6oPь6ьr с зaщитoii от пcрсllo,llIltjlIЛя 6v()ePоB lJ Windows 2003 Soгvег, тaк)кe lla.ход'пltlj]l сс6с lI дРугие iIPllltсtlеIlиЯ, эTo o'ГЛ|lчльIй cпосo6 rrсрсхпaтa уrrрав'пс!lr]я 11 lJt)дaвЛcнlrя сoo6llrcllЛii о кpllTп\ссlolх 0шп16л;rх, дсмaсltIтpуrrlrlцlх (lакт

стPvктyplloii o6Pa6oткоi] искЛючсtiиii (.'rrxld.li?l Е:rcерthn lhnrlling' SEII' я л'-rкy Paсllll(l)poвьlвасl,!ьIi,i l|al| Sпuаl Ехсcpt,iol1 llаzи,g) rlа3ъlвастся ̂1eхnllизNI'пoзвoляIoДlIll'l пPIlЛo)кeппя]\1 rIo,tlyча,1ъ yпРа|lJlсIIr1с пpи вoзникнoвепlIrl l'lскЛloчI{тeЛь]тЬlх сllтуаЦIrй (Ilaпр Nlсp, пРи llapvlrс}tllях /1oстуlIa ]{ llаllятпl дcJlcllиинa lloЛьl вЬn1oлнеI{llll :]allpсщсl]Iloй rtllстpу1{цlrlr) и o6рa6атьlвaть llх tlамoстoя'Tе'пЬllo| ltс в}I0IJIивая в этo дслo опeрaЦrloннvю спстeмy, неo6pn6оTаIrные пс-кЛ]oченrш пPиaoдяT lt аваplIйноNlv завеРurснЛIo приJ]o}trния, oбьlЧ]lo сопрoвo,rr.даюrlle]!{уся вссlr извeстIIЬтlll oкtloIf <<пр{lгpаIiNla вьrпoлпrt''ra,-, и 6yдет закpьIть.

Укaзатеrtи }ra SЕн-o6Ра60тчики в пoДавЛяющeм 6otьrшrlнствe слy':асв рaспo-.цаIaются в стeкel в тaк нaзьiваeMьlх sj?.фp,n Ф.' ll ]IсPeпо"lтllяloщllrся 6уферaмoryт зaтI,тpаTь их, ПrpeзапI,IсЬ sЕн.фрeйrшов 06шчнo прес'цLlдyсT Двe це-'lи: перeхват yпpавлсния пyтeм пщi{снь1 sЕн-о6pа6oтчIrкa jl noдав"Iеrlиe aваpиIiнoго зaвершеI]ия пPoгрaм]lfьI при вoзн]кнoвellиll 11сключен]1я, запUrTa oт псpепoлнетrия 6уфсPа, встроеlтIIaя в WiпdоWs 2003 sсгver' как и lrrrorиe ДрyгиеэaщиTы дalrlloro типа' фyпIrцxoнIrрye'Г пN'еннo }la oсflоBе sЕн. ПерехватьIваяsЕн 06ра60тчик и пoд]!te]lЯ! е1.o сво1'll{, мьI Tеl1 сaiыNt <l1сpеIipьlвaeм защитeltислoРoд'' и oна нe срa6атьIвасТ,

Page 262: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.:Pаткo o орyгryрHЬ|х исшючениЯх 26з

3aхпaтьIваюrцие пeрспeш tsЬl' IIe прaвдaЛи? tso всякoм сJrучас'oни с,Гояттolot

lт()6ы в ппx Рaзo6paтьсяl

КPAткo o стPyктУPHЬlx исКлючEHияxБ )'jll ч]1 вполrrе .!сrа,'lt'llьI]\{ i\f €хaн]1зI10N! взап]\toд€iiс'Гr1tя с oпераппorrнoji сuсте.

\loli' стРуllТурrlaя o6Ра6oтка rrcI(.lloч€нIlй нс]tЛoхо llоityl!сttтиPoвaIIa (вo всяIiol1

. rуЧаe' пас 6yдс r lrпт€Pесoватr' lllellIlo дoкvмсl|l]ryoваIlIlая частЬ),

B r||r Уaте.!ънсiiшr.lлl о6разоNI Jlpo! r IYдl ЦYiIтс pa3д".Jl <Frеqurntlу Askrd Qnеstioпs:Еlсеption нап.LlLпg' llз МsDN, ].аrv )ке uьr наiiдс,Гс |llпr€чатelънyю сTа'ГЬ]o I!{эт.

lа t l r ||Фeка <A с]rnsI l сouгsс o l l Lhr DеPths oI WiЛ32 stГuсturсd ЕxсeРt ioп

I]rn(11ilr8' иЗ P}сскоязъгIпьlх ilв|oРoв Jryчшс rrсеП) о стPyктyptll,Iх I1скnючс]rx.

яr paсскaзьrвaст Vr l lоdYa: ч l tTnj iTе <o6 УJ lак()|]пulкaх в ПoсJIсдl lDй Pаз ' , что(httр|//! rywW'Wаsm'ru/art iс e,рhp?аl t iс e=расk|аst01 и httр://

}/WW.!\,аsm ' rU/аrt]с|e' ph р?а г|iс e= pасkeгs2), IVlllo ю ш rгсРсснoIo соlLqDкli'Г r' загoJo.

,!).|IlЬIii фаjirr EXсPт'H' вхoдяlIltlii в сoсTав sIJк, УчпtЬlвil'l, Ч'го чЛтаT']ль Nlo)кc-|'

ir,rr.r, rrс зrrirкoll () стРylrт],РliЬrIIIl rIск.]Ilочсllll'llvi}t вoo6rrtс' xраTl(o вBe/leм сIo

.\r lPсс ,гс l (I l |цI1) sЕт-1.d)рс i iN l l ( ' l ( . ! , ( l l , ] (J l в ' ( rюi l1юNl сnoвс Iю с]uс lцс l lиI() l l ( ' lь' ' r , , ' . 1 ' , | : , | ' ' . ' I l i г \ l ' r | . l ' l i 1 | l i

, ! a , \ | l ' l I l , г ) l , , j . l l t v l u | ] l , , , l

lrссспl6.'lсрr юij lr6tlaкадa6Рoii l mov eах ' ts : t 00000000h] /nov my var , eаx, Ol l у |сl]!Ьl IlitсТ

r lx сTРvкГvPу, l . l l l Ia ЕХсЕPТI0N RЕGlsтRАТl0N' l lР()r . ( ' ги l l (о loрo|J o l||{сьIваcтс ' l 1 i lк

( l r t ( t ' l j l l Г ] 4 , 1 ) .

лиdинr 14'1. onЙса!иe -pyКryры ЕХсЕPтIoN RЕGlsтRАтIoN

. lс!P l l0N RгGIsт l lтI0 l . ] stIuсprov dd ? : адрсс п]r0дьд!Цего sЕн.фpей'rаl rа id l . | .J| ? адрr. sЕH'обраоoтчиiа

i rсtPт]0N ]ЕCIsIRtтI0N e l r s

1llrIl воз6у)кдсnIl'l trск-'1IoчеItjlя vпpaвJIсllllе 11ередaсTся ТeкyцeN{у sЕ]l.o6РaбоT.

чxкy, пPoанаnxзllРовaв сIlTуaцIllо, sЕн{]6Pа6отчIrк, кстатrl ].ol]оРя' пРсдстaв.

..rяroщIrii со6oй o6ьrчrrуIо сdсс]-q]уllкппtо' дoJ}кеlt вo]RPaтIrть '!116() Eхсeрtiоnсon.

t inueЕХeсut ion, со06lцая oпсPi l |(]1oпI lo i l с]1стeN{е' чTо исrtл loчеi lпe yспсtr lнo

о6pа6oTaпо и I'1с]lo'rlIIeIп'Ie IIPol.Pa]VNJЪ] l{oжсT 6ьlTь продoля(еllo. Лп6о Ехсep-

tionсontinueseагсh' cс.llll oп нe зrtас.l.| чтo с этrlп1 llск]i]очеilиеll дсЛaть' - lI тoгдa

1]I1ерацl'1ollJ]zя с!Iстс\1n ЛeРехoд]1Т к сЛeДyющcпtу oбрa6oтчих), в цсllо.пrе (с06.

ствеI]I1o l.oвopя, вoзвРацaTь упPaв.]]сllие пe о6язa'ГсJr ьl lо ' п s Ен'o6PабoTчпк NIo-

тieTJЦеPж11вaTь eго хотЬдo втoрoго пр]1шeсTnия' Irаlr o6pa6oTчиiol' yс-rаI{oвЛен

ньrс she]]'rtодoм, o6ьl.пrо и IioсTyrtaют).

Послсдним пдeт о6Pа6oтчIrI(' Irазязчelп]ый oпePaциoпнol,I систсмoй пo умолча.liпIo, Bидя1Чтo леJ.io тPубaи IпкTo с 1]с](лloчен11сl1 jlс спpaвляется' он Jrезeт в pе

есTР, 1rзв-. lс lсaeT оттy]1a кJIn)ч н(Lм\s0FTWARЕ\ 1сrosoft\ l , ' l jndоws Nт\сurгent.

veгs ion\AeDebug I l ' в зa l t iси l loсTl l J l l lбо пprrrrIo l lЬ]ваeт

Page 263: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

264 rлава 14. sЕH нa слt)<6e контppевoлюции

с6оrirryвIxeс пPилo)ке]tjre, Jи6o lIrредaеT упрaвЛение o1J]адчllкy (Л-]rиj кaк rаpЛ.aнт, Дoкropv Bаl.сoнv),

ПPп с.)з/{аfirrЛ пoво.o irрoцесса oперациoнIlаu1 систeмa автоl1атxчeскII дooавJя'. | к | | c N | , . л р | t в и Ч н i S Г T T . ф p n ' . . 1 r 6 { p . 6 a 1 Ч | | h o l l л o \ r l o , l l l а | , и ю , l ё , | ' , . U | | i i п . ' 1 r . .тllчeскп пa саl!oi\{ ]1tlе стскoвoii паlllяти, вЬ1деrrеflпoii прoцсссy. <ДоTянvться' Дoпегo пoслeдoватeJьllЬtпl Iт€репo'ЦtIснии ilpaктичeскtl I{еРеаJ.Iьнoj 1.ак l{ак д'll'1этo.гo roтре6veтся перeсс.rь Bесь сTск цеJlикoм! T/]кa.:r катiстрoфIr.rсскrrr пeрспoл.11сний сTарo}кrrЛьI пс встpечa'llи y,(е Jtст сTo!

|nitia]siаte of Еяeрlion сhа]n

operвtiпg sуst6m,s co!.se o' Аcl on

Pис. 14.1. глoбалЬloe развePть|вание цeпoчки сгрyктyрнь|х Йсключевий (DиФнокrозаiчпвoваr иl VsDN), i _вoзrиЛd ис{Jrюr/|е1ь|.аq с/rya.и9j z,_ oгFDnlloьdаЯсисrема анализиpyет тIв сI.hleаd Infоrmаton вoсk _ инфoрмaциoн!ый блoк лoтокa)дЛр 10иска repвого sЕн,фpейиа в Je.o.ie; J_ orеOа lиorrа9l исrеvd reoeдаer , |pmле#Ртoвoму sг | ] .oбOa6oни lv i ? o6Oa6O." iP гO l l ,дЬвde-сc Jлa rоч / } \одy во . rа] i)_ oпepd yol-аq си-еvа пeрeroд/l к ueдy oцеv} Фреivy в -егоЧ.р. 6,сисгема пеPедaет yправлeние 5Ен-oбpa6oNику' 7_ и этoт о6pабoтЧик вeзнaет,rIoдeлё|ь( ис(лоLeн,ev' 8 oгepаL/оРнoc сИсема ]еОе. oдит к 0eдyюrеуv фрe,v) ;9- oпеpaционнаЯ фбeма передаeт yпpaмeние sЕн.oоpaоовикy; lo_ этoт ooiiooт,l,икooрaoaтЬЙ€т исклюфш€ (нe o6рабoтaть eгo oн не мoжeт, так как этo лервичныйooраоoтчик, пpoсro лPиxлoпЬ|вающий nрилoх{ениe oт бeзЬ o{oдносrи)

ЕxЕPт oN-REGlsтRAт]oN

ЕxЕPт]oN RЕGIsтRАтloN

тhrваd lnformаlion в oоk (Fs|l0I)

:EхЕPтloN-REoIsтRAтloN EхЕPт]oN_RЕGIsтRAт|oN

Page 264: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

::rкo o ФруКгyрнь|х исMюченияx 265

артoвЬlii код пPиno)кеяия, ]lPицеп]rясjllьtii кonпorroвщrI](опl I( пPol'pаrlliе' дo.

] !]1яi]т свoli сo6стBе1lныil o6pа6отчиtt (хoтя rl н!'06язаIr этo дсЛaTь)' ПoсjleД-'il тaюrrе pa3IJещасТся B стcx€' РaсJтоЛalaясь llап lroгo выIrlе пePвrlчнoгo o6Pa.

: тчtlкa' l Jо всс ,fiе lIеjlостaтoчlIo 6Jизкo к пepепonнЯюшltмся 6yфеРаI{, кoтoPь1llt'Qе6уетсЯ пepeсечъ t]TекoRъIе фреiiifъl вс€r( ]!1атepllнскuх ф}!пtций' Iloка oн1l

..;rо6сpутся до лoк:r'rьпoir lla'1ятl'i стаPToroii фyнкц,l}l пp,rЛo)1{енttя (pIiс' 14,1)'

.illpn6oтч!Iк мo,(eт нaзнnЧaтъ II свoll o6pа6oтчrшul автомaтичсск]] созjlаюUlие.

l IlРи yпOllr11lа]11rrr <вo-1шe6шЪrх' с'ц0в tгy Ir eХсept (тalrио o6pа6отvrrкп мш бу-

',\' llазь]l]iL|ь пo.nъзoвaТеЛьск'Ilnl), н€сlIотРЯ нa все успЛи' Nljсrosoft'а' oсяов.

'lя llассa ЛрограпtпlrlсToп совсршеllllo PаBнoдушпa к стpуктуpпоri o6pa6oткe

:.ti.!xr|еrillli (fiскoTоPьrс I.Iз Ilj.Lх Ла'{с тaкогo сnoва Irс с'цЬпrlaлпI)l пoэтo]tу Bерo-

nIoсть всТPсl |lтЬ B yЯзвIl]\]оii пPoi.pа]vn,е <пo.ЧьзоватeЛьскиii' sЁЕi.фpei1м Дo.. )''lьпo tlсвеjiI{l(а' нo rr(c )ке olrи вс1.РечаЛrтсяI B t цхrтпвнoп1 случae дrrя пoltNl€ПьI:t;l1 ()6pа6ol.r кlt (a псрrxчllЬrii sЕЕlr)6Рaбoтч1rI в |{аIUeм PaсIloря)кeпIrп ссть

.ссrдa) rrР l lдсгся l rprr6errIутI , x и l l l (сксrro i l lу ] leРeпoЛIrс l l luo l l J lи псевдoq]у||кцпr l

-rke. к(,loPуIо мЬl о6сyя{дa'!It lJ лIryх пpсцliЛуlц}lх l.']laLr:lх,

{'l,J llс(jlедoванlI, с,l ру|.г],PllЬtх ()6Рa6o[чl]I(('l |]flt']ючсlIlrii lll]Lll}lпJсll нсхпl.PyЮ

:il))ап1пtlIY. l.PxссIIPуlol|Lуr() sЕlI.()]]сiiNlъl II вl,ttsо]lя]ltую nх сoдсPжппlor наi)l('

, . l I l , : ] ако l l . l o |п |aЛ l ) с l l J l l l З^Jo l , l ! o ) t сT l ] ь l г J ] ' ] l с 1 .Ь ' l l i LпP r Iп l q ) l , I aк ' кaк пoк l l : J a l к )

r . r r(1rrП1r I2.2.

лисrиfl r 14.2' просгoй визуализaтoр sEн.фpeймов

]] l1 l | ( qс сh i r r . **а.!v)

]l1, 1а !L5;)

l rv{

moi с . r r is t0] l

mOi хЕsP, .sр) D , '

! h ] ] е ( ( i n l ) а L = ] ]

{рпnt l ( г l .ЕP l]0NRI( i ]STRAтI0Np.0v

[хсЕPт]0N RЕсIsтRAт]0].l'lrandlеГi = ( r n t * ) " i i

)l

сХсPpt {i /*ЁxсЕPl]ON-ЕxЕсUTЕ IANDLЕR */) lp. int f ( ' еxс.pт ion\ i7\n ' ) i

108Хt l \n, ' rГsP)

: l08хh\п. ' \:10Blh\n\п ' a ' *(a+1))

oткovпrrлиPoвaв пPогPallIvIу и зaпусT]1! еe liaвьlпojllteпиe' ]\rъl iIoлуч]rм pезyЛь.

тaт' локaзaннЬlil в,rrrстllнге 14,з (естоствеlllIо' aдрeсa sЁtI.фРefiiloв и o6pa6от

чиl.ов в вaДrс слyчaс' скopee Rсеro,6удуT дрyrIrNIи)'

Page 265: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

266 глава 14. sЕH Нa ФР<бe кoнтppeвoлюции

лиФинr 14.з. PаскЛaдка sЕH.фрeймов в пaMяти

: 00]2гЕ48h i reкуLr ] iя seршиHа стeка 1rо потOкd: 0012Fг/0 l r пoлЬзOвaтeлЬс{ий sЕн 'фpeйf l 1 . r0 l U loм:00401244h

Е5Р ] 00l2tг54lrЕxсЕPтlON'RtGIsтP,Aт]0N,ргev : 00]2ЕFi0hЕxсЕPт]0N ]]ЕGIsтRАтiON hаndleг : 004011с0h

ЕхсEPтIONRЕG]STRAтI0N.рrеv : 0012ЕFв0hЕхсЕPт]0N RЕGIsТl ,cт i0N'handlеГ : 0040r]с0h

ЕхсЕPIION RЕG]SТRAтION р.ev ] 0012ЕгЕ0hЕxсЕPт]0N RЕl]JsTR,qт]0N.hаndleГ : /7ЕA1856h

текtций yказаlenь вePшинь стeка.пoлЬзOвa1елЬскиi] , sE]] .фpeйrп0лЬ30ваrельс 1иЙ. st l .Oбpаоотчик

sЕн.фpeйп сraрioвогO [одаsЕн.обрабoтчик стаpтOвогo 9Oдa

sЕн.Oбра6oтчи{ пo t lOлчaкиюсмотPитe' <гIoJ1ьзoватеJlьскпiЬ s Е н 4,PсйNI' с(]opпп]lювarillЬ]i] ключевьlju слoroмtrу' лeжIrт в llellосPедсТвеrnroii 6'Циз0стll oт веРl tlиньI стека текуЩcri фyllкцпЛ' Л сlюoтдeля1oт всeгo 1сh 6айт (естeств€нr.o' rroнrLР(1.ноe зпnЧеIrlle завr'сп1 oт Раз]\lсра]та]vlяTи, вЬIдеJtcннoii пoД Лoк:LltЬ]rьIе ncPсме]lIlЬlс' нy п сщe кoс от чeЛo),C'leдyюцlпr в цсrroчкe иДcт фРc]iN!, сdюPм иРо ва llflьIii с rаPтов Ьtм кoлoi\1' OI I l]ilс-пoЛo)ксl{ на]\tlloro llи)кс. oт воPlxиIl,l стl-1кa сIo oTдсЛяIoт a'к sch 6аiIт, и этoв дeмol{стPaпItoннoiiTo IIРoгPаil1illel соДeP'{а'Ilсii пfЛlllмyм l1срciltепllЬIхI]lПeРlr11чIlьIii 4)Pейм' 1larrla.]ас^1ьIй oпeP цxo]|пoii сЛс'Г0мoй' оTс'].oi,l,l. o-| всРпп.lllыстeкa на целЬIх 8Ch 6аiiT| a I] Рса'llьпьIх lIо]iII()rrcспьIх ltрtrшlжolrлях l.t.oго 6oль.. I l с ' ( l l L ( | | r Л ' l ' l ' J I l p o 0 . | | , I l r l ' J | | ч | | L | i i ' l г ( i i м r \ l / ' . | | о | l , 9 l , ' ' | ' ' | , \ | ' | | | i , | ' ' \ | J , ' . l , I I ц i уJ | : I l . n a l r i l o o т | | , , к , | , , | с , , ( ' l | ] l . \ l \ ' | t , , ' l I l L l l l ч : ' n | " 1 . ' \ | | r | , l l ' ' i l I ' l , , l I l ' | ' , | , , I l ( J . l n I oЛpoс].paI l0Tвa). ]][o л l r l l с i iлЬl i j ar]Рсс ' РавxЬI i l 12tFЕOh' lu lс| l1rr . lс l l l l - ' IЛ ;ср lJoгoI loТoкa J lсcх прol lсссoв, 3а l lуr l lc l l l lьIх | l / la lu lo i i всp(r ' ] I оI lcРnциоl l l Io i i о l ]сTe[rU'чТo сo3llaст 6',lаГ0прll,ll.lt!'с усJlовll,l lljl,l еl.о Iluдl'с,.u,. oд''uкu,1.llu гupaптnpo-вilлпolo l]eрсхвдта yIЦавЛeItx'l shell{o/i,loЛхсil псPсхвaтЬI8aть rliсli|/Дtr,i, a Ijспel)Dl,lчпI,li'i о6рaбoщr|кl пoскoJIьку /{o llсРвll.ttкrго o6ра6orlпка

"*',i'u"",,nuпф,{ст и Ile дожIlT|,. ]lPoBеP ЬTсi tlсJ|и Ill]rl IlсPсII.'I||снЛrt 6уфср1 6сссNll,lОlсI'IlоiiсTрокoй пaпoд06ие Ххххх.'' IrOзrir] кac1. с t.аIIДnР ] пoе д |la,Ilогoвoс oкllo кplгl |,|чcс(оiiolllrl6шi' пollмснят' rlсpпиЧrlыii о6pll6oт.lIlк Nx],кlI{)1в лроrивIIoNl сл}лlае сгo гIе.рeзаlll.Iоь lltrчeгo llo дaсT' и sЬell-кoД сдoхнст' пре)ltдс Чс]м yспест пollучЛть уЛ.

ПеРв'iчнъlii фpеiiNi всех пoсJlсдyIоIц,lх потокoв paсlloЛa].nc'rся пit ф5tасksi zе байтвьIlrс пpeдЬlдylrlel o фPеIiNiа' где dwstасksjze рaзмсP пaмЯтrJ' вЬlдслeппo]i потo.ку (rlo yNioлчaниIo 4 М6ai1T на пеpвьII:i поrrrк Ir по 1 NI6aiiT нa все пoсJjeдуюпрIе),!оpа6oтaeпr нашу тестoвylo nРогРaммyj вI(/1ючив в I]се слсдyloпLyrо стр0кv:с.eаteI l r .ead(0 ' 0, (VOjd*) mаin, 0.0 ' &iЕsP)| geIs(Ex!5P)

Pсзультaт ее прoгона 6yДсT вьIмядeть пPЛ6л].lз1тте].lьнo тaIс (лист'rlr 14',{),

лисrинг 14.4. Pаскладка sЕ|l.фрeйMoв в паMЯlиasPЕХсЕp,|ION Rtс]SтRAт]0N рГevЕxсЕPтioN REGlsTfuqтlON.handleг

ЕХсLPтION RЕGISтRAтI0N рrеv€хсЕPтl0N-лЕGIsтлАTl0N hdnd] 0г

: 0 0 1 2 F г 8 0 h:00401244h

s tH.фреЙ! с raртOвоro iOЛа всeх пOтO(ов

Page 266: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ЕхСЕPт10N RЕG]sтfuci]0N pге'tхсEPтlON RЕGтSтRA,]'1oN hаndlег

!sPLxсЕPт]0N_RЕGisтRдт]0N рreVЕхсЕPтl0N-RЕG]s]RAi]0N hапdlс.

ЕxсЕPт!0].i RtG]sтRAтI0N'р.еVЕrсЕPт]0N-RЕClsIRАтI0N lrапtl сГ

t5PЕхСЕPтI0N-RЕG]5,IПAтl0N PГеVЕlсЕPTI0i!-пЕGI5lRА'гI0N lrаnd eт

L lсЕPт]0N RЕCIsтRAтi0N,р.L.vLtсЕPтI0N ]tс]sгRдт]0N hаn. lег

ESPЕrсЕP|]0N..п[GIs]RА| l0N PгevIrс[Pт]0N RtGlsтRдтI0 l l ' l rаnd e.

0012ЕiЕ0lr77ГA1856lr

0051ГЕ7. l r0051|ЕА4h00401244h

0051г|.Dсh77ЕА1856h

0061|гiсtr

00401244h

000]|ГDсh7/LA1856lr

i пеpBичшЙ sЕH.фpеЙi 1 го п0т0ка

re{yLrrая 9ODшина сrека 2.го п0токa' 'пOльзO0ателЬскиЙ ' sЕH.фpe i ]п 2 г0 г0r0ка

пepв[чш!Й sЕi] фр€Й[ 2 гo п010ка

тe(yшa ' веpшинd стекa З . гO пoroкаполЬзоBатeлЬск lЙ sЕH.фpеЙ'1 З iо пoт0c

пepвПч}ьЙ sЕH фрeЙП з . r0 пoroка

т .окtцая воpшi ia с rекa 4 . го п0 lOк i l'полЬзоваreJ |с (шй sЕн 'фрeЙ{ 4-г0 пoтока

пeрвич [й sЕH-фрrйf l 4 . l0 nor0кdЁхсLPl lON-Rt(]1s] l tAтI0N ])геv : 0071гЕl]сhtхсLPIIоN 11[Gl5I l iAI l0N l rаn. lсг / i [А1856h

i]itNlс'гIlо' ч1'o lIq)Rll.]|lьlii SЕI.I.d)Рсiiru !ссх п(),l.oltоl] Ilaхo/lЛтс,l lla !I/lспT rIlIolll

PitL]сx.('||||I и or 1oкy]|lсi1 вcplIlllllьl (:1.скa1iL э,rо суnLссTв0|iIю o6Jlсl.чlIoT зa/lilllY-с|ю

i j . )дrvс1lь l ' l ]eР1l t l , l} lЬ|L] ( lЦ)r j i I lЬ l I lср l r()г() I t l j 'юIх)г() поToкoв р i lз l lссеI lы l la 4 M6аi i .

1а(5 lГFDсh .12ЕгE0h_. 0х3ЕГFFC.4 Мбl i i г) ' lОtIrLп| ' I Iыс _ tI^ 1 М6 i iГ (61FFDсh -

5 r Е г D с h = _ 7 1 Е t D с h - 6 l F Е D с h : _ 1 0 , 0 0 , 0 0 - _ 1 М 6 l i ? г ) - l t y ' в о 6 l I l с N i ' р а з o 6 P а 1 ' ь .

Пoсколr'riy 6oльшпrrстlro сcPпoРIiь]х IIPиJ'loЛ{cItuii констPуиPукItся пo NIIlorоllo.

Toчнoii схсIIe' yмс-l.ь o]nlсllтt'lрoвil1,l'ся в пoTol{aх )lо]зпеппo llсо6х0дпмo' Illtачс

вNlссTo I'еРсxвlrr.l у]1PaвЛсния агaкyющrlii l]оЛучи'Г Лoxl1Ьlii Dos. I(сга'г!t, oб уп.paвJlсll'l]],,'

пEPEXBAт yпPABлEHия

Супteствyсr.пo vеньшrеit меpе lLBLl lIyTl.I перcхвa'Га упРавления- PaссмoтPllll ]'Lх,

Пyтr, ]]еРвъпii xpoaпаJrlrзиPуjiTe уязвимуlo пporраllмy ]r ollрeДелriтc' кaкoи rlз

o6рa6oтчикoв 6y;reт тскyщ}lN' l'а IloNlсIlT пеРепoJ-IнснtIя u гДe иlllеннo рaспoлo-'rен его sЕн.фреt]Il (учитьiва'l' что а/.IРeс пoсnеД]telo N{o)Rет быTь IIепoстoян.

]]ьIll II завllсЯI]lIlNI oT NIIlonieсTвaTpудпo пPorнoзltрvеNlьix о6стояTeЛьств, нaпP .

мер oт роl1а и хaPaк1ера запРoсoв| IтрeдI]leсTвylo lиx перепoЛнеllиlo). TепсРЬ

I p и Д r ] \ | i l | i l ' , : i . п e ' e | o , | / ' ь 6 } ф р а к . | г о ' 1 l | з a | ' p с | L n а n d ] e г , п o д I ' . ' н и в ( ^r i p х ; r u r r i ' " я в r r e t 1 r ' а з а . л ь " . t p п . h . l l к o д , , З ' с , I e . ] y е п o , о p г e v I I L j / | ' а р '

flшiaко]"r РoЛl1 (shеll rtод ве/]ь не сo6llраe'Гся lra хfu!яву вoзвращать с тaIсиNl тру-

дoм зaхваqеrrнoс уllрaвJieн]1с] ),

Page 267: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

268 rлава 14. sЕн на слyж6e кo|rтppeвoЛюции

ПyTЬ втор.rii: заPег'IсТpируIiте свой сo6ствe]шьIJ"l sЕI.I.фpеilм, <кalr )ке мьl смo-)кe]\r чтo.тo заPегисTриPoвaть в сI{стelrс| eсли еще I'eпсРехватили УIIpaвлеlIrи?вoскликпeте вьI. Этo чтo' шYтка?!' A вoт и нeтI Укaзатeлъ нa тсrtvп1eгo o6рa'6oTчикa всrr7]a сo/lсp'(птся в oл]lo}l итoпl ^c lrесте в пePвoп! Двor11lol{ слoвeTIB'a, Лc)кaц{elo llo :l''{peсу fsj t00000000h]' lr псевдoфyпкциeй рoke e].o вxoлtre pе-aaьпo lrсpeзалисaть' Пусть вас ]]с сl'yЦаст llа]'It,lчие сerментltoгo pегuстрa Fs _вся ]l iятЬ, лPин:LцЛс,(ащая лPoцессy, 0то6РФкo"'." uu

"д"uu" nлр.."o" npo.'.

pапствo' идo TIB'I Nlo,{Iro дo1Ч]iyтЬся и чeрeз дPyгI,lс с€гNIснтньre Pсгистpы, нa'rlрllм€Р чеpeз тот хс Ds' ис]loЛьзyеivъIi' пPoцeссорolll пo yNloлчaunю. Есl'ес'fвerl'lI.]l пPЛ allPссaЦxп нсpез DS' TlB 6удeт pаспo;tаrаться сoвсеNl IIo /lDvгoпtvсмсцснrпo, rl чтобЬt еro vзrlaть] пpl.lllстся лP]16е'uyть n у",у.o"r uт,oдuliliu, вi,пloжст€ ''сl1oльзoвa]ъ sott iсе' Nliс.оsoft Keгnсl DеЬu*leг или лro6oli дРугoti oтлaДчиIс по свoсп{y вкyсу,

Cпauaпa rrеo6хoдrrrкl oпPеllc.цIlTь 3ltачrlllie ссЛеllтopаl зaГPY,re]пtolio B Dc1llстl)ГS' B sott'iсс за этo oтвeчaст кo IаUДa сРU (сс'lt.'

"ott:i." lr,сipo"lI прuoи,lьнo, 'Ь

всс oснolr]l'le P.ГlIстPьI аBтoNIaтПI]с(:кЛ оTo6p:r)I(аю'гся в IrеPхIlеii чaсTll oк!la).за,гсlи, пРl:)см)тр!tва'l тa6лиly глобaлl,lrьlх дссI{PllIl-|оpoIj. сoдсР)киilJос кo'roPоi;ньIволп'Г кoмn /ia GDI, l]:lх()дllill сooт'стсTljуl{r iиi.i еjllv 6аtоBьUi a,цРсс' lI.'I' ItсР'вol.o lIoТокa пPoцссса l|а B(:cх N'l'.llollо6llЬlх сllсTcмах oll раDс|l FЕDЕЕ00h' n вссI lосjlсltyl() шll le Л ( Iroкlt у]!]t п l, |J]а loT е l1) l la 100 0h ' 'ю eсT Ь lI ьr IIoЛучасNl Р,Jд укаrа].r'JIоii: 7ЕF0Е000h. 7FFDD000h, 7FFDс000h.,,[i лю60м сj]vчас тlРoToс'гl.,рoвal,Ь llaпly i\lаulиIi), Ilс lJ0]\1(,l]аlrТ (вl(РуЛ ){xl(irя'тoи3 N: l . I roвфlст с( lбя l IU.rчс?), l IРoTolroЛ ра60l !| с о1)I; lдч| l i ro\t III) l I l r ( l J l l lT( 'я l ] J| , r ..тI l I lГс 14,5,

лисrинг 1.4.5' oipедеЛrниe адpeса yказатeЛя нa теryщий stH.фрeйм

Pr0сеss0г 00 ReqjsLe.s

сs Ё]P.0008:8c464558 5s] ESP=00]0:804738]СЕАХ=00000000 ЕBх-|.F0Fг000 Есх=FГD|Гв90 ЕDх'00000023ЕsI=8046Е870 Е0I=8045|.5t0 tвP.FFDГГ800 tFL=0000024rjDs.002з Еs.0023 ts-o0з0 Gs=0000

qd l

sсl ' тyOе 8dsс t]mitGDTbаsе=300з6000 Limrt.03г|.0008 с0dе32 00000000 г|.Fг|-Егг0010 Dаtа32 00000000 Fг|.ЕГг|.г0018 сodе32 c0000000 ЕFiЕ|.ЕгЕc023 Dаtаt2 00000000 гЕЕFГЕtГ0028 тssз2 80295000 000020Aв0030 0ati32 г|.DгF000 00001ЁгЕ003B DаtаЗ2 00000000 c0000|.Гг

DPL

P ]]Е

Page 268: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

] бРатIrте вll мarrис, ЕtDFF000h _ эTo нс aдPсс тelryЦсгo s Ен фpе1ilta, Этo ]r',{.l.:ir,lс,l, па фPей!', сa\l rкe фРеIiп{ дoЛ)кен 6ьtтr, сфoPNlиPоваll }leпoсpеilстneн}io

] shсll-кoдc' a в tГDFx000h зaнесен yкaзaтeЛЬ вa ll-"Io (спI, pllс' 1,i.1),

l:]тсll ()с'Гается 'цlrпIЬ сo!сРljIIlтъ что-IIIl6yдь tlcдoзtо..1сitнoе llЛи )Ii{: lIусTliть всr

::. с аnroTeк' дo)iЦаl]пJLIсЬl lloкa псr{oвepк:l1l}1ая tIсрепoJrнснl lе11 пpoIРar1ма rlе вьr

].lвс'Г l]скл]очсltt1я естсствeЛ!lьIrl пу1elf' lr тoiда паur SЕiI.oбpaбoтчlrк IIe}lед-

].]rнo lюJryчlIт уllР:tвлснис. 0стar'rЬ!oе' кai{ тoвoptlтсЯ' дсJto 1eхlпrIiи,,,

П oдABлЕHиЕ AвAPиЙнoгo 3AвEPшЕнияпPилo)|GHия

llc]llвr]сrlмo oт тor..J, каl(ll\l IlутсIt shсll.(o]l lахва,Гlljl уaPавл0нЛс' ()ll пioя!ст ira

]]cГlIстРrрoваTь свo]i со6стuсltIlЬ|ii .]6pa6отч!к сTpукTуPtlЬlх l,l(]tlJпоченllii, ЭTo

(с,I|астсл tlрllблnзlr1 с'.llЬпo'гаl(i

!!] гs] |00000000lr]'ralr fS i0C0000i l0lr l . isr

за ю.иl irцрсс нa!cгO sЕti cбpaбOrciказан0с[ф aдрес |а nреДьдyщиi i sL l ] фреЙ!

i р€|llсrрlр,e lOвЬЙ sLH.фрoЙп

I.(!кjpЬ' сс'l'l shcll.(o,1 Ilella'Illю дo,ГРоlrcTс, /'lo irа Рсlцullloii ячсiiкl, l',Iп'i совcР-

. rlгг ilpyryю оlr1116ку lro,lю6rrrlго тиIrа, ir'гакусtuoc llРll-!0жe]lJIe у)(c llс6J,дст 3a.

' 'n , lп i ' iu . .л"Рr lц.ru ' ' ,к l i i сJrcTс} 'o ' i , l lу l lPа l] ' ' l c l I l l cл l lо lзьt lоз l lРaтитсякs iс l l . rсо l ty '..il]il,lсIlv Iloll,,fГl)' vT() l.yдll хo/'l,l'IЬ l|с I,ll,lll) JJ сlJJсjlуcl.l]t]пlL)l-lll]lllIo смсl l,Iть 'лill{l.ll.

|' I k] kе/{еnnя' I/с||о/IL.]у, pе3сР1]| |Ь/|' 2j]ГoPllDJ|'] )l|Лэllоо6сслеJI'}1u'I'

, j.к-'i|oчсrlll' R lDоцeссс Рa6o'mIsЬсll'кoда l',oГу'Г IlР()Ilсхtlll|l'l.ьмIlttl.oltpittlIо' l'л2rI}

r)с с,,lе,цll'ГI, 3а Tс]\1l Ч'Г()6Ьr llс псPcIю"lIIlЛnся сltк. IIPсдсЛьнo доt|ус,гимая с,ге.

lttlЬ l]'l|о'iсoпoс'].rl ]io,]'lr и B.-lrПILil' lIo nсo '(с lIe 6сзгPlllIltllпa.

Ij сЦ]У(rуp!lvx) o6Ра601r(у ].]скJlкIlellrtii 6ы.]t llзrlаrr?!llIrllo зajlo)ксll o].рorullЬIii пo.

!]I lr(l tа,ll ) ToJ ЬI.о.Toлькс) llaЧlt наloUц1ii раскPЬI вaть (06Я, (J п rl саflн Ll e з/tcсь сЛoсo.

;ьl псPсхDатa уIlPавЛенt,lя _ IlсPвЬ|с JIaс'Гoчкll, Зa сrpукTур|lЬlll't JlскЛroчсll]lя-

\1I1 - 6vд!щerI Haс х/lу,г l1ссяткп xl'IPoУIl Ir Ьl х '|р ш.ов' ltoToрьle ещс lфeДстollT

1lxii|ll, и кa(lIe 6ьl llз0tl{pен]rlle зarrllITIlьте ]vlехаlllli]^1ьI нIl llРи/.lvl'IarrllсЬ' у нас

r с | | , ч t i l I 1 n r r P l l l и в o | | o . | . l n I l т ь ]

Page 269: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 15

тЕxHикA HAписAHияп EPЕHoси 1v|oгo sH ЕLL.кoдA

sheil.lro/( llllкoгдa зapalleс flс зllас'l.' Itуllа пoIlaiLсT| lloэтoljу оIl дon'(с|l yN]с1.ь ПьI.)кLтвaTЬ в Лю6ьIх yсJloвl.t,Iхj аIiтoмit'ГцчсскIl а](а|l-rиpvясь lIo/l IroIlкРсTllую oпePа.llпolIнyIo сис,r{rмy'чTo пc так.1,o lIрoсrо с/lсJ]а'Iь, IIодав:rяtorцeе 6o:п,]пlпtствo хirкеро]] ll]!1еIlllo ltа эToIl }t lIPoкаJ.rьтваJlltсь' flе]\jlloгl.tс вьDкlltslпlll] в пoqlllпкс/'lдЛllмиPy ки6eрllPoстPaнстl]aтOl в чсl{ I!у)кдaJ,IcЬ](сся'llrll чeРlrсй' вUРyфя l'l llх сoз.Дaтелей,,.B пoсJ]сднос вРeмя в хакcpскllх круЙх мIrоIo гoвоpяr.o lIсрснoсr,rllolr sЬсll.кодe,oдл lr .вoсхrпцакlтся и}!] дpугrlе ]lPозplrте-llьlIо хмьпtarот, упoдо6.ltlrЯ пepe]l()сrl.мьrir slrсll код мopскorl сви]lItе] кoTорая l.l ]]о I'opска:r' n не сrrrlfllrа' III},:гка, IIoдo]rя I'Iстпньl в tlсiI ссть' <.Пepснoсrтмым> назьтваto,t.IrpoгрaпIмIrос o6eспеuсниe'lIoлlioстьIo a6стPaгпрояaEнoс oт кonс'грyктI{вIIьIх oсo6еlll1oс1.еii кolllrPcтнoгoI l p o - р J N м | | U t п г , l p 1 т | | n г U o 6 n с | e ' . е | l | | " , Ф v " . . , r , } p г l . t - \ . l n ш - о п | | Ь ' ] , l h e l l o 'w o r l d I | , n l { н J ] \ , o l I l | г o i ' ' J к и l | " т . , ' ' , , i i п П o ' о ч \ ' . , : l I n г Р , | о с , l r а o 6 l , , l r r r rtsнимаriиe: пcPснoсllмa Имc|lнo ф!нl|цuя| Ha Нe \:,с pесL,lu1аu,uя. Мo|I!\.|oP '1t.|eле.rJйп o6. , l ) ) rIIваетpaJ,r ,v! l / , | . r , - ' вьrи| 'а( ,\ 'Ь ' , ' I i J ' , гадl|и ' . ' ' ' ' , ' , . ' , i ' Р ' ' , 'o)кeния' а Toчнel] ' егo nипкoвк1l' по этo y)кe fle сvТь вDl{lIL',Shell.кoд эToмaшинньIй кoД, Trсно связаняьlli с oсo6eннoстяNш aтaкyeN1oй систеNIьI| и пepевoсиlllьIl' otl не l"Ioжет r]ыTь по oпРeделониlo, Кolrпи"тятopoв sЬell-кoдa Irе сyществyет хoтя 6ьI y,(е поToмy' чTo пе сущес,Гвует aдеква,ПIшх язьIIrов€гo oписaнlя, Этo вьIttY]rrдaeт нaс пprr6егaть rt Aссeпr6.lеpy rr маIllиннolly кoдуlltoтopьIe y ка,Itдoгo пpoцсссора свo!I, ХРi(e Toгo, в o,Грьl!о oт пepифсPиiпroгo oк.рy'(e]ия roлъIЙ пpoцессop никоI1]l jrе иfiTерессн' ведъ sЬеll кoду пpиходптся не,го-1ькo склaдывaть и умlтoжaTЬ| ]]o еще и от]tPъIвaTL'/заJtPыLra1r' файлы, o6Pа6а

Page 270: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

дoсгижeния мо6илЬносrи

тьrвaТЬ сетевъIс зalrPoсьi. a д-1' э l oгo неl16хirдl'l]!l0 o6pатxТЬс,l ( API фyнItцияI' oпe.

рационtloii сllстеl!ьI иxrL к ДраriвсPу сoo'ГIrетствующelo yс'гporiсТвa, Pазличныe

oпер:tцrlоннЬrc сllстrпrьl l1споlъзуIоT РirзлrlчIrъrr сoIлaIIIения' n эт сoглaшIенnя

сIшЬ]Iо paзrrЯтся, соз,]aть sЬell.кoд' поддсP)кlшa]oщиii деся1.ок дРугoй попyЛяP.

IrьIх oссй. jrпоJrнс вoзN]ол(llo' нo еГ() Рaзl{eрьI ltРeвъlсят всс llоllУсTlfllьir оФaнпче

lшя (дЛиllа пеpeпoxllякnцI{хся 6y4)epов l1зI{сpясl.ся oт сIrЛьI дссяткапfи 6aйT' этo

чr.o 'i € вьlхоllllт: lтo oднoм-v 6aliту 11а кiDкд),ro вcP01lо shеll.кoдa?1)'

Услoвrпlсл лазывaть псpеrюсrrмьrпr shсll кoДоNI iIашl'llIIlЪпi ltoд, JloдДеpжIrвaю-

щпi l 3n l lа l l i iyю,, l?] t le ,? .y опсpацLloI i ] lъIх с l1сTeN{ (пaпPuмср' Winсtows NT'

Wiпdow 2000 Jr Wjndows хР), I{ак lloкаЗъlRаeт llрaктnка' дrrя РсшеIIrIя подaв.

.ltяloпlегo 6о''tьLut'lпства заr1ач Taкоli стсllеtttr 'lеpеносиNtoсТll впoлнс ]1oстатoчIro,B Jroнцс коll11ов' гopаirдо пPoщс llаlllIсaтьдсс,lтol( узкoспец'tilllизrшoван]rьlхsnel|-| ( ( 1 ] l п , r . м w , ' . ] | l ) l , l | г с г . i | , | | | | | ' ' | , ' l I U l l ' . L р ] ] . L L , . t ( г с , | o ' , м o с ' L i \ 6 у n r к ' p d

l,l Il пеpвуlo oчеРс,.1ь ' уве"'rичеl r ия o6ъcма shоLl{oдn' l пoтoмy ol1il оIIРаDдьIвасl

сс.я To".]ъкo ! ll{J(Лl1lч jIтсJlЬl|Ьlх сlIтvi]цIlях.

тPEБoBAHия, пPEдЪяBляEмЬlEк пЕPEHoси1"|oМy sHELL.кoдУ

IIop.rIlосlrмLlii shcll.кo/lлo,lrхсtt 6шr.l, rroлttoс:ть,o lIr!смсlцaсNl ('Гo eсTь сoхРаll,lть

]lа6oтоtlпoсо6пoc'гь trDll лю6ом расIюлоlсeпиtr в lIaмя1t{) и пспO,]Ьзoв,lTЬ м'Illll-

мv]\{ сltсTсi!]}ю.f,al]Iк:l,IпiЬlх сnY,iet)lп,Iх сTрУк].yP! зaк.JliulьIllitясь JIиlllь Ilа ll:lllмс-

ttсс пзпlcлчпвьIc и ttlп6tljloс llоl(yNlсllтIlPоlJаIlrlЬlс из li1!х'

oттаЛ,(nBarЬс'l tll. сo/lс Pжrrlкl l.o peгrrсr.рол I lП lIil trlollепт вoз]tltltlкЛ]еllltя IlсPe.

]lоЛlIсItIr,I ка-l.еГориЧссl(lI lIеilolIyс1Лlj()' пoсrrоJIЬку пх злaчсllи' в о6]цсм сnучас

lIеoпpс/lсJlсlтIlы,Ir Pсn]nтi,сЯ на'Гal{оii lllilГ мoж llо '|oльl(о с гojloдуx}l ,кol)la

s]rell

кoд уIЦ)я]\{о нс )fiсJ|aет B\{сщатЬся в oтвc/lсIlIlоr еI{y xo.]Illч €ствo oilxT и прихo-

/:II'lTся имлрoIrlIзLlpOlJ.l'Гl)' IrPllloся B )ксp-l'ву IIереIloсll{осTЬ,

: l : ' 6 v д . , ' ' . ' \ | I , l l ' L | \ | I ' | , l | . i | х l в | | r , t r ' д р | ' \ l l Ч v ' , У U ] J ' I i r т f , \ | l ' . ) , : Л , п r 1 | | 6 г l ' L 1 l I r l ,ских llзвPnп(снп'Iх r! r tе/'IoкуruснTl1рoвaнпьIх вoз\1о'(}tостях - aсe этo нсгa,Г1!вtlo

t , | , . 1 | , | в t r ' ' | ' , \ | | i r п Р Р , , l I U с ' I r l . l | | q l , | . , l | | , . P . , , l l | | | | , l е l ' ' | , c д J с , в | J ч е н - I U ! 1 | l | | г е

aflскlll )Ti < N4o' l Ф( )гРaпlllа в с1 o paз ltollllaкTl Iее, 6ьIсTPee л .!"'теган fllее Tвоeiil Зaтo

мoя lQоrраммa ра6oтaет' a'Гtsoя пeт'. Tсзllс o 'ГоlI, ч'го хакrpствo - этo Лскусст.

вo. сrЦе IIик,]'o 11с оTl\jel]я.ll, xO Ilе пYтаiiTс 6o)киri даP с яичп'lllсii. ItPyто извPa.

тuться ка)кдъIri JаNlе]) сможст' а вoT у\lеrrие зa6рoсlrть shеll.Iroд нa ссpвep' пrrнс-

тo пpи э1.оN{ не уРonиR' данo дa-r]eк.r rrе ка,кдoмy'

пyти дoсти)l(Eния MoБилЬHoстиТ e х н | | | . o . ' , { , l " , и с ' l j r l ' д | l i с v o U , ' , l а 1 n . ч U l , в ч r J н а . а P \ | | ' < к | } D o i | r U I j | ( | l р -

IJоl.o lfrп{Po]!pоцессoРa, в чaстнoст]1' ".ти]ierjкa х86 пoIIдерItивает сЛe/{уlощtlе oT

rюситeJьнЬIс l{o]!{allды: PUsн/POP' сALL и JХ, стapyilrка PDP.11 в этoNl отнoпlснии

6ьrлe намнoгo бoтaче rt, чTo самоr прияTiloе' пoзвoJIяJrа исlloлъзовaть РсгпсТr)

27!

Page 271: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

272 главa 15. техника lаписания пepенoсимого shell кoда

указатe.flя кoманд в aДрссIrых вьl])аj{сlr]тяхl сущсственпo упрoIJ!ая паrnvза/{aчy.I.lo' к сo;ка.ленrrю' пe lrьr вы6прaer.r пpоцессoрl,r, Этo пpoцссiоръl вьт6пpаloт пaс,Коlraндьl услoвнoтo перехoдa Jхx вссrда отпoсиTелЬIIъ]l Тo есть oпеPа]]д rrоNlап.'цьI зaДaет oтпlоllь не це]IеBoi a!\Реc' a pаЗll11ug мс,1{дy цeЛeвым аjlpесo]u и aдрe.сoN' слеnуIoIl{еii кo]uа]rдьt, 6лaгoдаpя ueму перехoIl 11oлrroстью пcреN!ex lасм, пoд.ДеPжt1ваются !lва тUпа oпepандoв: Ьуrc rт rvогrl/dwoгd, oба зtlакoв}rс' тo eсть]rсPrxo/l ]\]onсст бьtть нaпРaBЛell ](аIr <]rпepeд'l TaIi п <rlазaд' (B xoследIleм сJ}.чae oпcРaп/{ сTашoвI'lтся o].pицaтель]]ып{)'КolrапдьI 6сзvслoвttогo пeprхoда J|lP 6ъlва10т как a6сoЛютJlьllrrl' тaк и o1!(lс]гTе'lьньllп'' OТнoситеJlьllЬle начиllаtoтся с ollкoдl Eвh ()llcpаilд TIlIlа 6,r€) шjIЛЕ9h (oпepaвД '||IIi\ .|oкIklr,orrl)' а а6сoлrсlтllьre с ЕAh, ПРIr э1!It ollеРап]l 3апI,I.сьtвается в фopмс <сeг]vellт:с]\JеЦellrlс', сylцествуют eце rI косвсllltlllс' rionlаll.дьI' rlерeдaIoUU,Iе yпрaBлelIllе l1o укa3аTслlo' 'це)l(alцrпIу пo абсoлloтl]oi"Iy адPесу]IJи Pсгпсl.py, лoс.пeлIlсе наи6олcс удo6пo п oсуп1сс'гв'rяеrся пpll6лrrзrlтельrtЬтак:mov eах' dбсoлoтнЬli d!pес/ jnp еaх,I{O 'aпда вЬlзoBa лoдllРoгPаNlllr,l сALL вcдcT сс6я аlIаЛoгIlчIlо jmрl зa тoNl 'Цllnlь,lс(llloчсllIlcмj ч'Гo к()дIlpyе'Гся ,l(РугпмtI oIl]()дамll (ЕBh _ отIlо0l,гсльllьrii oпс.Pa|v\I|||a а]orud1ш,тl' FFh /2.. лoсвelluьlfi 'ьJз0в) п lIсРсд uсpoдaчсiiуIIpшrЛе-Iljlя Ilа lleЛcвoi аЛPсс з;L6P:tсьlвilсl' !lа l]сРхvшt(y стскa aдpeс во3}tРilтаl rIРе/(:Тав.'Яloulиii сo6ojiа/:1P€с коIlаlrдЬI' сJlqlу'(nцсii зa са] ].ПРtl усЛoBии, чтo sЬсl]-кoд расll(t.rlo'(сll ll сTскс (д lIРll пeРeпо'llllс|lllrl ашloпliu.l,гч€сl(их буфcPoll о]l oк.i3ЬiвaсТФ llllеIlllO та]\l)' i!!ьi ]\to)l(cм Ilс,loJlъзoaill,I] p0l.ис,гl,)ЕsP ш ItачссTвс 6aзЬI' oдllaко 1.скуlцсcзxiltlсliлс ЕSP дoлnшo 6ьrз.ь и3вcсr.irо' a из.l]oс-l)l1).,)lIo Дa./Ieкo liс B(сгдa, Для опрcДеЛсllllя r.ску|цсгo зllачelt ,| Pсl.l.tстl)l укa.зaTe.JlЯ кoп |al Ц Дoстaтоt|l Io сдс'l|ать neа r са ]

,l 't 8 ЬЛ.al цllть ;l]Цсс вo3вPaта кol1aп.

дoй pop. o6Ьllrlю эTo в l'гЛяlrиT ,]'акi

00000000| L800000000 сa] l 000000005 l 3a0lyтЬЕ]P+srzсoi(са l l ) sстe(00000005 5D рOр еbr i loepЬ sр € гис|ре еbl r rкуциЙ с]рl Iривeдеrп! Ьlii кo,l ltо свo6оЛell oт нyЛей (a Ilynll R shеl!кoде в 6oJI ьlxипсTвс сЛv-чaев ]lед()nyсTиlllь|)' ],l чтобьl oт I l ] Iх ,lз6aJrl.lTьсЯ, са],l Iteо6хo/i11мо llсpеIlalЦaвиTЬ<}nзaд' (.JIистиtIг 15,1),

лисIинr 15.1' oсво6о'qeниe shеllкoд. oт паpазитньх Нулевьх симвoловc0000000] Ев04 jmps0000000?: 5D pOр00000003: 90 noр00000004 90 nоp00000005:90 nop00000006: Г8|7ГгЕiЕF са]l

{0рoт1иЙ пrмо[ ва сd l l0Dр с0деряит iцpa. слrЛ,i}циЙ за сi]ll

+ а l j тyалЬн!Й 5hе l l ко i ]

зdкинyть адрес сл0дyющей кOфaRды 3 сте(

000000006

000000002

сAксЬ и ]v|Aст дAй I(EсткoЙ пpивязкине'Г пl{чсго проrtIe вызоза API.фуIrкц1iи Ilo а6с(r-'11(]тнымa/lpесам. вьl6Daв фvн]{-l ,Ю ( |V l , ' t э , . ( l ) lе | се lсUггerLтьгeаd|о, '} ' ' roр || l 'у ' \ lа ' кг i " ,Jвrзz.ot L l , мьr rр".

Page 272: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сaксь и масг дaй хeбкoЙ r'pивязки 27З

пyскам се через у'гилиту d L]nф Ь in, вroдящуto в I.оl'Ilлек:г пoстaвки пpaкTичесl{llлIo6оIo rroNilluJlяToPa, У3нав IiVA (Rеlаtivс Virtuаl Addlеss - oTнoсиTeлЬньliiвrrpтyа'цьнЬlii аliPес) нaпIeri пoдoпечнori, мьr скJlaдьlвaelf elo с 6aзoвьrll aдP€сoм

3агpyзки' сoo6rцaеNьIl{ тсм хе dumрьi oм' пoJlучaя в рез).Лътaтс а6с1)лllr'Гlrый

адРeс фyнкц и,

IIoлньrй ссаис pa6oтъl с утrl]1иToii вьIrляДит тaк (Л'стиff 15,2),

листявг 15.2. для oпpeдeления aбсoлютнoГo адpеф функции GetсUrrеntтh.eаdldвeoбхoдиrЧo спoжить ee RVА.адpес l76A1h) сeе 6аз0вь|м aAрeсоM заГрузкимoдYлЯ (77Е80000h)

>dumpb]n'eхе /ЕхPORТS KЕRNЕLз2 OLL > кtRNtL3? тXт>tlpе KЕRNГL32,тхт L l10RtOrdinа l l r i пt RvA

270 10000007DD2GеtсuггeпtProссss ld?1I 10E 000076A8 Getс l rг €n t|hгeаd272 10г000076A1GetсL]rгeni lh.еddld?7З 110 00017сЕ2 GetDat€ЕOпiаtA214 111 00019t18 GеtDatеFогmаtш

>duпPbin exo /lЕАOЕRs KLRNЕL32,DLL > KЕпNЕLз2.Tхт>!ype K|RNЕt'Зz ТхT ] llOR[

0Pт]ONАL HЁADЕR VАLUЕS10в паs iс #

5,12 l inkег vers10n50800 s]zr 0 l соde56400 sr , € Of in]t jа l i zed nаta

0 s]ze Of un]|] i t rа l izеd dаtа87lD RvA оl еn|Гy рOint1000 base О| с0d €

5А000 bdse 0f da la77Е80000 jmаgr bаsе

10c0 sесt ioп а ignment200 i i lе d l ]gnment

ЕIa N'а!Iине авToрa а6соJrютl tьI i i a l lPeс фу}r(ции Getсuгrentтhreаdid I]авeн77Е876A1h, tlo в дPyгuх верс1яr( Wiпdows NT oн rrавеPllяка 6удeт иr'ьtм, зaтo eе

вl,!зoв св06однo yк.цaдывae'Гся все.o в две стPoкlI' сool.вeTствyющi1с с.Ilеllуlo'

щиNt сeNlи 6аI:iтall:

00000000: B8А186lt0/ movc0000005: Ег00 са]]

eaх'007li86Аl

ТеnepЬ ]Ioпpo6yeм в!Iзвать фyнкщ{ю сonneсt' акспoPтиPуеNlуto Ws2_з2.d|l, ПРoпvс.

касN Ws2_з2.d|lчеpез drrmрЬirr il.'' сrorl] Aктo llаll Bо06щr о6erjril-ц' чTо cтaдпна.мrтческzur 6116лпoтека oкaжется B паIrяти? A сс.1и IIаrке и olQ]rrетсЯ, тo нe фaкт,' Гo 6азoBLl l J , ,1дс, .рo| 'и ,с l ' . |ь l i в еP 'а oЛoв.( , (nппа'rаP- . PеaпLhЬ|} l ' i : r - 'oвЬ \|

Page 273: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

274 tвa 15. l.r и,c rorисаrиa лрреnо! tvо о shel| ,olrd

а'lpесo]!f зalPyзItи' BеДь ДпIrаilllrЧескIiх 6116ли0Tек п!нoго. t'I еслп эТoт ФIрeс yкс кеllт.] зaнятj oItсрaц]Jо]]tIая сltсТеlllа заI}рит 6lr6iиoтеIiy в /1PуIой Pсгиoн пallятtl,ЛиrшьдвeДинаlrп-чсские 6u6лпoтеки r.aparrтrlpуют свoс прrlсу1ствrIе в адpеспorlпloсTPаtIсTве лIoбolo прoцссса' llсе1дa зaгpухаясь Jто о,.lпltll ]] те\1'(с aдpе(амl,Этo KЕRNELз2.DLLи NтDLL'DLL. Фyнrrпип, эrtспoрTирyемЬI с oстаrlъfiъlмl l 6и6л иотeItaми) fl pa!ll]lъtlo вьl:]ьIва]o,].(Я так|h. Lоddlrbrагуд( ws2 !2 DLL ')]i f (h l - 0) -сrrcГ_;zzz = G € tPГOсдddгess(h, nrппес|. ) ;

Тaкиlr o6Рaзoпr' з&'rauа въIзoва 1IРошзвoJIьнoii (l)унxЦI'ii1 св о/t]]тсл ( поr'слy&.lРе'сoв функцпй LoаdLibгагУA п GеtPгoсдddгess,

APтoБстPEл пPямoгo пoискA B пAмятиllaибoлеe yll]rв€рсаЛьньlii' псрсrIосIlNIЬIй Ir llnдс)кliьIii сп()с()б oпpL'^с',lспl.l'l аii.Pесoв API.фyrlкцl'tii свoд}l1'сЯ к сItаrlиpoвaIlиl() tl/]РссlIoго пPoстpaIlс]вn пPоllсс-сa па пPедl!'ет пolIскn PЕ'с]rгItаTyР с ЛoсjIелylolIl,irl рiв6oРo\r ln6'lllllll,l]ксl]oр'Га,УсTaI ивЛи васм'yказаr.сл Ь l la с000000 0h ( вcрх1|я я гРаl I и J lа ] loJJ Ь:lo Dirl.с-ll ьскo гo llРoсTрaIlсгвaдЛя WindoWs 2000 Аdvаnr:оd Sсlvсг tt I]аtaсспLcr soгvс|' l]r1IlуIllсll1;'хc 3aгРyзoчI{ЬIr{ IraрaМс-rPoм /зGв) IlJiЛ lla 80000000h (всpхllяя гPalIll|{tl ll(),rЬзoвa.теЛъскot.o прoсTPаIIства в0ех oсTaЛЬlIьIх с!IсTсIl).ПроIJeРяeм д.эсl.у11lloстЬ yкaз т€''lя вьi:]овorv qJуl|кцlIlr IsвadReаdPrt' эксIi()Ir'ГttDv.сt{оЙ KЕRNЕLз2 ' DLL' иiIr vстaI !n BЛ ивaеп! свo ii o6l'n 6uт'п,rn .ц)1'l.'.ур u ',r х ,,.,iлnure.н]]li /{Jrя лредoтвРl1пIel!ия крaхil систеllьI (ll{)/:lрo6rroстlr о6pirбo'шrrr r:'цlуктyрпьrхIIскJlloчеIllй . в пРL,lьlдyпIeii гnaвe), ЕсЛl' здссь:reжпт l1Z' уво-.rlгIивrioм .r,lraзатeлЬ Ilазсh 6al.iта' иln,rcIrая /lвoii}Iоe сnorro e_l fаne"' .х,д"pл.ап1""

"rr..rц"nu.' o1,6o

сигlrатyрь!, ЕсJи э1.а сипla1.уPa Дeiiс1'виTелЬ]lo о6lrapyliпвrrотся' 6азовьlii llдpссJaгpyзIg Динaми чсскoгo модvлЯ lla]iдеlI' и мo)кtю rIpпtr.уrrатъ к paз6оpу та6;rlгцы экi)поpтаl из I{отoP(lгo тpс6yeтся вьlтащить aдpссa фуrir.rl,rii GetLOаdLibrагyAи GetPгoсAddгess (зная Irх' rvlrn yзllaсм все oсTal.rl,rroс), Ес'lи хoтя 6ьr oдllо rrз этliхусЛoвIlи нc вьiпoЛняется' умellь]]rасNl укаtатеJЬ llа 10000h !l fiсe noвтoр'с\I сIrа'чаnа (ллсTиirг 15-3), БaзовЬlс адресtlзaгрузl{Л всеl.да крaтньI 10000h, поэ1.оNIy.цаll-}iы11 пpпeiu впo".l]lс i]акoпelr,

листинr 15'з. псeвдoкoд. oсyщесгвляющий nоиск бaзoвыx aдресoв всeх заrрркeнвь|хмодYлeй пo PЕ-сигsаrypе

3!pхняя |paниЦа д lя всer с l с re i

м0таеN ЦикЛ cт бoбрi lio ..едe

вYтЕ* рBdseАddгеss = (BYтЕ*) 0tс0000000] ||

l l r r le(pваsеAidгess) ||{

// пpo8rркa д0ступнOсти адрeса на чreниe

]БазoвЬIйaдр0сэaг!у]кlэтихxu!амичеoф]6!6лlO1скЛOLl.я!cн].IлЯданпо||вoPсji!опcpnцлоп-

Page 274: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

аpтoбсrpел лpямогo пoиска в паltlЯти

i f ( ] lsваdR €edP||(р8asеAidГ €15 ' 2))

| / эIa ' уi7' ]] l (*(l0RD+]рвaseАddress .= 0i5А4D)

// указareлЬ ча ' 'PЕ ' ' 0aлиД0 r?]f (]IsваdReаdPtГ(pвas.Аdd.сss + (*(Dl ' j0п l)*)( i rB i r5еАddгess+0хЗс)) .4))

r i (*(DLi0RO*)(рsdsсAdd.es5 + (*( l ) ' . l0 l tO*)(яa5еАddгe5s+0хзс))) == 0х4550)

// nриCтупав! (разо0p} rаол,/rь иппnла]f {n2k srmрlе erрOr i !a lke"(рBаs0Add.сss)) b.еdk

// тeCтиpyс{ сrсду0iLиЙ 64 к0iЙт бло( ланяlир8aseАddress '= 0!10000:

Pаз6с'p rа6.lllIuьr эксrю1lr.а oсvпreствлястся прrr6JJI'lзlIтслъflo тaк (iлстинг 15,4 _

лрuмeР, вьUЦаllllЬIii liЗ 6еэьlмяrпroго uсpвя Biасkl-IaL' Ilo,llrьIii иoхolulЬlfl Tскс,гкoToPoгo лlonrIlo ll^ih.]I Ilа сaiiTc WW1,\,'blасkhat'сom),

лисrиflг 15'4. PyчHoй Pазбoр тa6лицЬ экспорта

сa]] hе.еdb . 'GatP.oсАd(Гrss, ,0 LOаdLrbГdгyд' '0db сг""аtеPгOсеssА' '0 'Еr iLPГ00.ёss 0i b ' w s 2 - 3 2 ' , 0 , ' L i s д s r r с k 0 l А ' 0i b ' b ' n d 0 , . ] ] s | e i . , 0 ' а с с e р t 0

mov еbi 77i00000h

сmр d'o.i рt. |ebх:] 905Д10t] :/х90ll1j e 1 2idb 74h 03h

jлр ]1' Z l

mov еsj dфo.d рtг [еbl+]сh]

mov еs] dloгd рtг tеs+/8lr]

mov еd] .!Oгd рt. [еs]'\20lr]!

mO! е.x'd!огc Ptг tеы+14h]

l1poДoл'<ениe э

Page 275: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 15. -a\ьnlo | .ги.аьn9 ,ере.oг//o.o src r oдэ

лА cJ rнr ! 5'4 (л p aД oлxе |J и е )t 4

mоv еdl .ioГd piг tеdr] ,add edr.еhх

mov с l .0Еh

j е 1 3

l З :

пl0v еdх'd'о.d Dtr. [0sr12'llr]а о 1 ] с 0 х ' е ! х

sh| eаХ lа0о eаr с0 iхoГ есх eсхлоv сх, !ог0 рr| t i rах lпоv eах,o '0.d рt . | . ' s r+1сlr 'аdd еaх,еDх

add еаx eсхmov еdx dlroгd ptг [сet]а.с] есХ eDх

|6et 3 Аddг

саl l lоаdаid.а.d esi ' 0сlr

Глaвньп:i пe/цoсTаToir эТоl. сltoсo6а в егo чРс3,\]oPнol]i rРоI1оздкосTпj a вeдЬ rlPcдeль]Io /tollус,1Itllьli:l о6Ъсм shсl] ItoДa oгiаIlr]чcнj ljоj к с0'I{а].IсllIIIlll Il]1чсгo JvчJl]e-гo l1oка нe пpидуIl?Ulи, Пollсli liir]roвol.o аJIРеса I10}кнo и опTrlNlllзиPoватъ (чт() llь1ссйчас,со.]с,шсflнo, ]r прод"дN0{сГрпPvel{)l IIооТ Paз6оPаэк(l1lopra Ilиliyдe ltсviiTll.''Это каРI"lа ]rсPенoси)rоfu 5hс]] lroДa Irлllдaнь, вЬrплачЛllасl'aя за NI()6r.ljIьнoсть,

oгoHЬ пPямoЙ нABoдкoй - PEBИз вссх спoсo6oв ol1pсдоле}illя 6азoвoro адреса пап6oЛьlr|еii rlопy,rярпoсTr'юпoльзуется aЕarтиз РЕB (Prосess Епv]тonnспt вlосk '.6".тоlt oкpуяснrrя протreс.

276

Pu

l

pn

liнl

\ ']

Page 276: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

раскPyгка сгека сгрyктyрнЬrx исклlоч€ний 277

") _ t ,ЛyЬ' '6||o i i . lГyк, ,уPU, Jан| l , jn, .o.1rГжа цP'"I .рРд'| , г J lе i | пntr]ё ' t ||Uй l |н.

ф o р x а L | | ' . r 6 " з 0 в | , l . " j P . , ] в . . х J э | P у к р | , Ь l ч ! о л ) , I e , , '

Поп)ляРнoстЬ незaсJy'{енIrая rr IieобъЯсIlиittая, BeДь PЕB _ этo вl1yтPеtltlЯяliyхня oпеPaцtlоннoiI систеtrIьI Windо\1s NT' i(отopой IlидoкУNIсl11.ац]1яl ни впJlю.чаеl1ьIс фarilrы ДсЛиTЬся I1с сo6иPаютсЯ] и Лиrlrь мiсrosoft кегnel DеЬ!ggег 06-j1аpy)кЛвaeT о6РьIвки иlI(]J()РNlnцIlи' П(Цo6uа9 сTе]Iсlrь нсдo(yNIeIrTrQoваIlнoстlIне пto:l{ст rrr нaстoра,ltивaть. B ,rю6оii 1тз пoсnедyloпIих вepсий \Viпdo}'s стpyк.тypа PЕB lro:кст rrзlrенитьс]Я, каrr это oна }r'rе деrraла неoдlloкРilTнol и,l.oЦaдаI].IIы]li пр'tеlvl пeРесTаlIeT Pa6oтаTЬ' a рa6or.aсT orl' ксTarи IolopЯ' тojrькo в NT. Лrгllеiiка 9х отДыхаeт.

Taк чтo зaдyl{aliтесь: a пас'Гoлькo .all RaN эТo1.PЕB I]у)ксн? Едигlствеl'llo€ еro]lrстоиirство прслсЛьнo кo\lrlaктный rtoл (nпсTrtltl. 15,5).

лисrинr 15.5. oПредeлeHиe 6азoв0г0 адРeсa кЕRNЕLз2.DLL п}тем анiлиза PЕв

00000000: 33с000000002] в0з0 поv а l .0з0]1]000004: 648в10 i rоv еаx fs: tоаrJ0000000/: 8в400с л0v е i rх |cах]t0000с,]0000000A] 1]в40lr : mov еdr tеoх]t0001с]0000000D А0 lOdsd0000000t] 8в4008 nrо ' саr |0aх l00008]

] й ]rr .фe l lnIп iL0t .(]er l0dUle l s t

бaзOlЬ|Li адрeс ([|lN[| 3? DLL

PAскPyткA стЕкA сTPyктyP}| ЬlxисKI|юЧЕниЙ

О6PаботчI'lк стpyкТYрl!ьIх l'lсI{Jпollепllii' пaз|l;lllaeмl'lii oIlерациolllIoi]l с сrсruoiiпo уl'oJltlапlпo, укaзьIваeт пl4)уIrкIlиIо KЕRNЕL32|_eхсeрt-hand]eгз. oIIPсjrсnrlв ссадPrс' NIьI опрс/цс.nиl{ пoлo)t.ппe о/(]lol'l I,'з ячеек' гaРаtП.!'lрol]аtlilo lЧnxIаIlJ]с)кa.Lцсii мol{ул1o кERNELз2.DLL' посJе чеro oстarlется oкРyl]л]J,гь o1.o lla BсJl]{чину,IlРaтную 10000h' п заlrЯться пollскaN'll PЕ.с]tflla'ryPьi no llстoдItltс' изЛo'(сннoiIв раздeЛe <.AРTo6стРeЛ пpямогo пoIJсIсa в памяTll}' с Toii,ишЬ р:Lзппцеii' чTо пPо.I}irPя'ГЪ l'lоступпость yк^зaTeЛя пeред ()6Ращсписм lt I].IIy не нvя{rr.rl таl( как те-пrpь oII завeдoмo дос].yпеl I ('nlrстппг 15,6),

Практпчeскu все тjриЛorкeiItlя испо.Ilь3уlljT с!0rr o6pa6oтнптоl стpуктуprrьrх лс']mючeниil. a пoтolry тerryrltr,Ir1 o6Pa6оTч].l к ilе сoвltilдас'| с о6ра6oтчиIrоNt' rrазначснньINI oпсрaцloнпоti сnстемoй' l] shе]l кoдy тpе6уется раскpyтиТЬ цсxoч]rv o6-

ра6oт'lикoв, нтo6ьт лo6Paться до самото коIlца' пoсJ]e'1llийи 6yдст со'rсPхать aдPес кЕRNЕLз2] eхсept hаnd]eгз'

дoстoиttствo этor.o rlри льзyет тoлькO доrrуIlеliтиPotsан.пьle свoйствa oпeРаЦиoIIltoii u1сTемl', Pa6oтaя }ia всеx oпepaцrI()1lIIъ]х сxсTе]!1aхсеNlсiiсТвa Windo\l's (исfinючая' paзyмеeтся. Windorvs З,х' tдс всо нс тaк)' lt тo]\'v )т(e oII loвoJlьнo lсoпillaктсн,

Page 277: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

274 глава 15. тexникa написания перевoсимoгoshе -кoда

лиФинr 15.6. oiредeп€ние базoвoгo адрeG KЕRNЕLJ2. DLL Черeз sЕH,воrвpацаeЧa ' в рe иоpе гAх

00000000: 6/64A10000 mov eаr ' fs: |00000]00000005 4000000006 48 deс еах00000007 8вЕ0 mov сsi €aх00000009 8в00 mov еаx toaх]00000008] 40 inс cаx000000ос: 75|.8 .]ne 0000000D60000000Е] АD lоdsd0000000Е] AD lоdsd00000010:66ззс00000001З: tB05 JпPs 0000c00lA000000]5:2D00000100 s0b eах,0000l000000о0001дl 668]384D5A спр ! teаd.05A4D0000001l, 75Е4 lnе 00000001500000021 8в58зс mOV ebх' lеах+зсlr]00000024 813сl850450000 сЛp Ieаnebr] 4550h0000002B 75Е8 jne 000000015

rеryшиЙ ЕlсЕPтIOi! RЕG l sтRAтi 0i.]eсли eаx 0ыЛ i ' с ra l € т 0orкат на пpеп 'иЙ y]aзаreлsе5] tа Е l .ЁPг]0 l . ] REG]:тRAт]0ЦЕxсЕртl0N RLG]STRAт]0N р.еVесЛи еаx оьл 1 ' стdнеr 00сЛL i нe нулЬ pаз$атЬваe дaЛьше

3ыраsн!вaс }а 64 t{бdЙт

спlскаеDся нir 61 к0aйт вниз

rсл i l r с ' l j z npO!ол3 i rе ! f lOrarьиз0 l с rdеD yказаren l i r PL

eсЛи [c 'P t ' ' i )оxолц(rе ! иO d l !

NAтIVE ̂ P|, у|лv| пoPтPEт B стилЕ <<Hю>>BьIсшl , iм nI lлoTaжсм \aксРс ' гвa (}| l l L i l с , ] . с ' , ' с | i ( ' |Ь l lo | l l l l l | , l с гоnoгo ^I) ] o l с | ) l l I l ' l .oнIФi l сЛстсмЬI (o l Io x(0 l )а t i ve AP l ' "ти ( .Ь|Р()0 ^P l ) , I - In саI1()N l дсJ Iс l l ] l | lр i i lцc l j l r сбeз гJр чпt |Ь l J l | )излaк Jамeр l l I{ l I | , l . Мa] ,o ' |0|o Ч,гo l ra t i vс .{ I ) l .d )vI |к|шn l IoJ I .|к)с'ГЬlo llс](nryNiсllTIlрoRапЬ| п |к)/Lв0D}ltсllЬI лoстoяll|||)|i\l Ilзl cllсIIll,l]i j 1.itк ()lIll. L Ц ( | l . | с . 1 | j t l г . Л | l ь I к | | ' | | t l п ' , l T н l i t j | o l t у t I I ' ' , | 1 , г q | : ' ' l , | | . , | '

Pь lе ' (Ta6Л, 15 ,1) , эГo l loJ Iv(D l6pиIraTьI l l )еаJI l13у lo l lu Iс l l l l ] (oУ l roBIк] ln] Iо I lP l Iмr ! .тивьI 0)гiIпiLivс), свoс()6P.lзпьIe сTрolI,гс'[LIlI,lo lLl{PIIlIчl'lки' r.pC6у]oщIlс 6о.nьпIо.гo o6ъома сцeпJIя Iorцегo кoДa| кol l IrpсTI lЬlс Л pЛ мсрьl реlU|изaцI l11 кoторогo мo}кllo]raйгrI в NтDLL,DLL lJ кЕRNЕLз2'DLL,

та6лица 15.1. свoднaя табЛица pазличньх мeтодов пoис(а АPI адDeсoвNт/20o0/хP 9х пepeнoсим? yдo6eн в реыизации?

PаскPyгка sЕH

Да да tIет дaдa tа Hетвет чaсrично дада да дане совсel4' Hет Hет

B Wiпdоws Nт дoступ Iс пatjvо ̂ PI фyaкцияNi oсyЩeстIlляeTся черсз преpьrna'ние ]Nт 2Еh, в pеrисTp ЕAх занoсrrтся пoмеp IlPсPыванияl а в ЕDх aдPес пара.мeтpичeскoгo бЛоi(aс aрryi{rн'гaмц. в Wiпdows хPдля этoii жс це-.1и псlтo,rьзу.eтся lllаlllllнIlая ltoмандa sysеnteг' lroвсе свoiiсTва l]pеDьIвaниЯ INт 2Еhпoлпoс1Ь1oсохDaIlеllъI. вo всЯItoI{ сл!n{ае пoкa'.,

PДyмсосn у c x e . тЬ nDО\e \P ] ! ' дpv lUc ,

Page 278: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сисl €мнЬ е вЬ|зoвы UNтX 279

B ЛисTlulr.e L5,7 перeчпслепьI llaи6oJ.Iee иlITерeсtlьIе фyвкции паtivс API' пРЛ.в J l , l l . | , o ' ' х J | ' o , P o 6 j o ' ' , r | | и , { B Ь J o в J d , р ) .

скoпI Язык€ lloжнo нai]тI{l B частtloст]l) здесь: http '/www!l,аsm ' п]/doс5/з/9|oomy'zip'

листинr 15,7. oсновньe фyнкции native-APl

000h AссеntсопneсtPoГt00Аh Аl loсаtevrг iuаlМeпoгy

c19h сl^сalorct01сtr с l^сat0Nаl iсdP]р0i i lс01Еh с| €a toрOгi01Еlr сrеаt€Pгосess

029h t,lololеF le02Alr DOleLеKеy02сh t]0l eiеvalleKey020lr Dcv]се]OсоnLгOlЕ] lc03Alr ЕгееVrгi!idlМeпoгу0зсlr 0еtс0n|eхtтhгсi]t]049h l,1арvjе!r0fsес|jon

05] r l]pеrrK(t

089r ll €а.V]r1lЦаll1сmo.!

09сh setЕdг] le0взh set!а lue(е!0B5r slrut.olns,stеmOвlh st5t€mneb!!сOnt|0l0ввh Iе.п']nitеPfOсe5s0всh IеrI lnаtсI l rcаd0i?h UimарVjе!0г5ес.]On0i3h VdmсOntгol0с8h !|] t .Fr l0!сBh !| i io l ] rг tuа l lemoГt0ссh t]32саll

(24 btLеs of paгаmеtеГs)(24 |rуtеs oi paгamеteГs)

(44 bt|сs of paгаmetеГs)(28 Dttсs 0f рa|апоtсrs)(56 tr}tеs 0i раmпetегs)(20 tjt|es 0f рarаmeters)(з2 b}|es оf рaЙmеtегs)iз2 bytes оf DaЙпetегs)(4 byt € s Of pагaпеte.з)

(8 Dytеs 0f рaгапeteГs](40 D,tes ог раrаmсi ,o.s)(l6 tryф5 оf рi].illretL.гs)(8 L]уies Ol рaгаliеL0|s)(40 Dytеs оf рdгaпrе|ers)(24 rytes Ol р i r rапeLс.s)(]2 Ljyt0s Oi pагап..toгs)(16 LJyt0s оf рагап0tcгs)( l6 rуtсs о| рагыrr . tc .s)(з6 ] , t .s o| р iг i ] ! . toгs)(3.j b}rts 0i !1r.0xr0|сгs)(20 L]}t'!s оl pа.а'rrеLoгз)(8 Ь}tеs o l рагалеtс.5)(8 r}] .0s ог рaIaл.Loгs)(3 L]уr0s Of paГaln0L]0гs)(16 DyL.s O| рагanrLers)(24 L]уtеs оT раГалеL0|s)(4 iltР1 Oi pаГirmеtегs)(24 D)tеs оf pаt .amОLors)(8 Dttеs o i pa|аmetегs]( l b! t0s о i pаЙmetеъ)(8 bt lL .s o l раЙmeteгs){8 by|Las О| рагameteгs){36 bytes 0f равпetегs)

(20 by les о l рагаmetегs)

систEмHЬIE вЬlзoBЬl UNIxЗоопaрrt UNIх.пoдoliпЪ]х сllсTeill ваJ'iIlT с lloг свo м paзнoo6Paзllем' oслo)кпяя

l ' J l ' 6 0 . к у | Р ! д | | n . \ , ч \ J i , ' l i J r , L о ь L U ' р , | " t ' Ч " i ] | o . Г l I

Page 279: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

280 глава 15. тeхника написaния .epeloсИмoгo sh€ ]-кoда

Испoльзyются пo пlсньпJеIi l'epе rLесть спoсобoв oprafiизaЦl.lи п]rтePфеikjас яд.рoill: дальтrии вьl3oB пo сeлеrсloру ссп,ь с]!lеUlен]lе нo,rЬ (нP-Uх/РA.Risс,so1атis/x86, хBsD/х86), SysсalI (Iltlх/МIPs)' tx 8 (solaгis/sPARс)' svса (А]х/РoWЕR/PoweгPС), lNT 25h (Bсos/х86) п INT 80h (хtssD/х86, Liпiх/хB6)'llРиче]\l lтopяlloк передa\rl xарallстPов ll 1IоNlсPa сис'ГeM]1ьIх вьlзoво9 у всех раЗ.нЬie. некoтoРьIе систeMьl псPсчислer]ы Двa)riдьI1 этo озлaчa€т' чтo oни исJloJ-Iъзу.ют ги6рид]{Ъl i'l мехaп,IJI1 (истеi\I1lьlх Iilвoвots'

Пoдро6но оппсt,tватъ каЛ{луlо п:j (rlсте\I зд€сь ltсpазупrrю,так кaк это заllяlo 6ьrсJ:IиIIкoМ I!tlol.o lllссTаl теll 6()"!сс чтo cтo tlавl1ьIм./1авllo oпliсапo в <.UN]XAssemЬly Codеs Dсr.еloрnlеll lоr VulлеГaЬ]]itiсs Illustгai-iоп PuГPоsеs' oт Laststа8e оf Dе]iriuIп RсsеагсЬ Grouр (httр://opеnsOres'thеbunker nevpub/mirror'b|асkhаVpresentаtiorrs/bh'usа-01/LsD/bh.Usа-01lsd'рdf)' llil.дaI Tоii (:а^1oiI ЛслсrlЛ.rl)tIoii хa.ксPскоlt гpvflul,t. чТo пauJ.па,,(Ь|ру н RPC, эTo дoi]ствпTe]|ЬЛo тor1lroBьlе lrаP]lиjи tlиlrут oнIr кЛal]с]]o (Я тoЛьIФ кряliiul ]{olлa чlПаn),

в Лltстj'нгr 15'8 я качсс1Dс пРIlпiеPа ]lpjIлсдсll |()Д' ]rаюIlulii уrа]lсIJIlьlii shсll rIoд*вsD/х86' вы,rpаlrllьlii xз чсPBя пrN()rnl. с irPаTкtlNlЛ i{оllIlelf|аPlIя]\|lI (ко\1i}Jсll,|iL.pии -. мolr, a чсрвь сBoii со6ствoIUl]nii).

лl'синг 15'a' Фpaгмeнт чepвЯ mwomr (см. рис' 15'1)' демoноpируюций тeхниKy

date:0804Е860 х86- i |sd. !|0 l]da!а:0804Е860 3] с0da|o:0804:862 99 сt]qdatа|0804Еt]6з 50 Di1l.|ir|а 0804|864 50 рu5date 0804f8б5 50 PUl idatа 0804F666 в0 7|iаta 0804l j868 с0 80 rr ldatа:0804Е86А 52 lushdаLа:0804F86B 6в 6t 2F 7 i] 58 р lshdalа:0804гв70 44 ]nсdata:0804Ев7l 68 2|. 62 69 6Е рuslrdаLa 0804г876 89 ЕЗdаta 08r]4г878 52 рushdаLа] 0804г879 89 Е2dаta,0804Е8/в 53 рushdаtа:0804|.87с 89 E1dala:0804Е87Е 5? р ls l rdа|a:0804Е87|.5] рUslrda la:0804Е880 5З рUslrdаta 0804г881 5З pushdаtd 0804.882 6А зв pushdаtа 0804г884 58 эcpnаtа:0в04F885 сD 80 intdatа:080. iF887 З1 с0datа:0804Е889 | .Е с0 ] . .dа|а:0804Е88B сD 80 rпt

] ! а i ] 0

: . a r ' 0

а l ' : Ё r00]. L . lNL]х 's}s-s]Ч"!гOсfus i '

3 i !ep r i ] tLrи i ]0r ь687з2|.6Еh : ' l r /s l

6Е69622ih : /L]]) 'n,

зв.

!0h rLI l lLr l s ls-o ldunar ie

а l80l r ] L]N{]х. sy9 е i] t

Page 280: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сисгeмныe вызoвы UNIX

Рис. 15.1. Ецe oди|.] примep испoлЬзoвания сисreмнЬ х вЬlзoвoв вдивеDсиoнных цeляx

Page 281: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 16

сEкс с IFRAмE,или кAк PA3tv|Ho)|(Aются чЕPBиB INTЕRNЕт EXPLoRЕR,Е

r1ес.u'\|uЙn :з|nеm, ц]nо l]uнaa P!|nrc|л | а an\nu]uс|n вц)um|чmo nеpеd 1с]1ахо:|! онa rщa naРа6oпаa1n.

flapoднoe

B llачаЛс нoя6pя 2004 года в Мiсrоsofl IDtегrlet Ехр loгeI.е 6ьшra o6rrаpу:ltсна oнс-

Pсднaя yязвиlllостъ пepепoЛfleние бy4)eDa в пЛавaюtlrих фPсймаx (тсr IЕRА}4Е)'пoзвo.rlяющсе llсрrдамть yправ"'rение нa sЬеtl ltoд Il захI]aTьiвaTь упPaвЛeIlиемau]I'tioli' lioслe чегo )кеpтDy1ePpоp.l мoжно насиЛoBать кaк yloдI{o и чeм yloд-t tn, н]пгимеP, и ' , I lo , rь rUtsаГL rаt I l , |ац Lа lv Д |я дJ,] lЬчnйших i l -Jк l l ,1и. .1аМ. l , пo.tищаIь r(oяl+lидeнциаJьную инqoрмarрrrrl, 6еспЛaT]lo 3вol]итъ tа 6yroр и l{нoioeщe чеIo. o JIучrxом пoдаPкс к нoвомv годiI хакepьI яе мoгJtи и lrечтaть (а на.стoящиe хalrеpьl спpaвляroT llоBый гoд llе в (16нrlмку с 6yтьIлкой шalrпаtrскoгo'a в коN rании Nloни'гopa)' сPазy'се пoявиЛcя экспЛoит,l.Iс сoвссм рa6oтaющпй,пoуХе расTиPажllрсlванныtl по всeй сети' как oтpe]lloпTиpoватЬ еIo? I(ак пеРе'пIrсaTь shell.кoд? кaкзащититЬ свoй кol!tпью'гер oT a'гaк?

Уязвимoсти пoдвeр)кeньI: IЕ вepсий 5.5 и 6,0' а так )irс oPеrа 7.23 (Друrиe вep.сии пe прoвeрял)' неyязвиIlы: IЕ 5,01 плюс Serviсe Paсk З или Sеrviсe Pасk 4'II 5,5 плюс serviсе Paсk 2, IЕ 5.00 пa Wiпdows 2000 6ез сePвис паIrов, IЕ 6 rlaW | , | с n \ \ ' ч е Г v e j 2 0 0 З 6 P J . l в , , . . п а | о в , | Е 6 н 1 W i | ' J o \ t \ Х P | ' Л o . s с . t i .сe Рaсk 2.

Page 282: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

iexничeскиe пoдро6!oФи 28з

Пo yito.цчанию ]Е trе зaпРещаеT вшllоnненrlе плaвaloщ]ц фРeйп{oв в иптepнeт., | ' р ] р | , o . . \ Ч t o i r , r r u . п r r ' " з l p э , . ) , ж e г г d l | o . l а о ч , | n f i й т и | | а L J R Lс агРессr,rвпьINl troдoll внyтPи, с outlоok Ехргеss Деlо o6стoит ипаuе _ IlTМL.пllсьlja оТlсРь]!alотсЯ в зoне оrPаIrIiчerlilolo дoвсpuя' и теrи IF&q Е ]ro умoЛча.ппlo xе o6рa6атьIвa]oтся. Jаva.сIФ]in'Г rtс N1o,rст самос.ГоятеJlЬIlo въЕвaть пеpelto:trtснlrс 6уфсpa лprr пpoспloтpе писr'пlаj rI для aктIrвизaru.Iи shсll.Iсoда 'repтвa] , ' ' ; n с d | ь ' в p , | , | | ! , | , l | l , к , I l l , l . ) ' 1 | r | | o . с L | . | ' р У ) | ( P п n , r в n Л . ' t h o в ' я в р р с ' l Я

ilнTсpнст.чеPRя N4уDooll]j исlI().цьJуюrrrая этy тeхпoлoгиloдЛя свoегo РaспРoст.i | , , . н | | J , , . l ] l I l I n п ' , ' l , | , \ | | | l , l J . U p а r \ , n , 1 а , \ | l о l I e | . l , я ' i , с 6 д | | l . , o п i ] . | | i и | | 6

к]lxxallтс пo ссь]r.Iка]\|, есnll ]lo.Ц]l0стью в rшx Ilе vвеDeIIь1,

тЕxничEскиE пoдPoБнoстиПeP€поЛl]'ltoщl'lii кoд в o6lllе]\f слvчaе I}ьil.Лядtr,l1aк: <IЕRАl.1Е sгс=fi]e://мАААAnапe=<B8BвBвхх)></1ЕRфЕ>' lnе АAцААА lt вввBв TcкстoвьIc стРoкl{ с'Грol.o ]1озиPo.l r :u| ,|о i iЛ,I I l | |Ь l ' , iа6Pа[ lur ' lс в UN]СoDЕ' a хx с и Nl вoЛЬl j зaтиРaюп ( l{e yкaзаl 'cЛЬ||l лиPТуanьIIylo 4)уlп(|{Itlo эвсмIIJяPа ooП{бъcкTil' !lахo,1япIyIося впyТPи ди-||1r| l ' ' . . l . . i i i | ' '1 , l I t . ' - , , t . . ' sHDoсv\rv 'DLL,

/.lllзaсссм6JJсl)]lь|ii n с,l.l||lГ yя3ljl,1Nlot.o кодa пprlBе/lcI] /lаjlcс (.лиcтrlпг 16,1)' коIi'q]стl|ыo aдPсс?l ]lаPЬllpук)'гФI OT o/llюi.i I]оDсllll IЕ к ]LPyгoii.

лиdинг 16.1' Фpaгмeнт IЕ, обeспeчивaющий пeредачy yправлeНиЯ на sh€l.кoд

i178[с02 8в 08/] l8Ес027]/8Ес027l78Еr:027i78Ес02i]78Ес02i178Ес04 68 84 7в 7071/8Ес047178Ес047'8Ес09 50/178Ес09/178Ес09]'1lвЕс09/178tс097178tс0А Г|. 1171i8ЕC0A7178Eс0А

двoiil1oй кoсвсн}iыil вьIзов фylrкЦии поукaзаТеJIю прIrчиrrяет хaкepу дпкую 1.o.'lтoвпylo 60.]rь' разPЬlвая tIозIп нaпoпoЛal! с 3itll]1ицсil изlrvтPи, засyпyTь в ЕАхyказатс'ць нa пPoизвo"'тьную о6ЛaсTь пaI1ятIr не прo6лeма, Cложнсс дo6иться,что6ьI пo этoмуадРeсу 6ьтЛ рaсlloЛoхсн yкaзaтелъ ]lashеll.кoд' местопoложeпrтекoтоDoIo нaпeDeЛ IIe]Jзвест]ro, как же 6ьIтЬ?

l.]OV |сХ. Dll0]D lТR ItАrlзагрtна0{ yказ i r ] . lЬ нd тa6лиЦl виpт lальных фуП(циЙl 0{о l0р0г0 c0t l o0ъr rтаl0сл0 o .pcполнснЙя 3 рerЙстре ЕАх Oкaщy lся сиввOЛы хх ,

в o , " ' . ] ] . 0 0 . . . D о , / , i u Р " 1 o i

7 l PL]s l 7170 lа84ек 1r ]нсraнтвь i t f i зат € лЬ

Pl]sl] ЕАxзarал 1иваeп встек yказатель |h i s ,r / [aз !в . ]шц!й на зюe iпляр 00п 0бъe iтaс тaол iцe i 0ирт!аЛь l ! i фyв[циЙ внутри

САLL NЕАR DL,]ORD P]R lЕсl]tn € аеш виртy iлЬнtю фl l (цию п0 указателю Ес l( r € пеpЬ t , r to ]а l0ртОпy и сoдeрнdцемy п0ЛЛ0 Ьe данньe)

Page 283: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

284 .лава 16. сeкс с IFRАIЧЕ, иЛи кnк рaзl4HФrcются чepви в internet Ехрlole/е

эксплoитпеpвьIlI этy iraдaчy peш "I ниДеpландсIrий хaкrp Bеrсnd.Jап WеУеr' сoвместнос Ь1аzdе I.1 t{DМ скoriстPyirpoвaвпIиii 60Лсе иЛ1r меясе pa6oтoсl1oсoбIlыir экс.пЛotiт с кo/IoвЬINl пaзвa]flfеI' BoF Рoс eхpllrit (,rIlстинI 16.2)' демoнстPaциoн'llЬili ваpиант кoтopoгo ilto)кпo скачать сдol{arlп]еrli стРarIrгII(и aвтoPа: http://WWW'edUp'tudе|ft'nl/-bjWever/.

лисrинr 16.2. кoд эксплoита (с сoкpацeниЯми)

/ / Java с{ри0 ' исп0лн lюшиЙс]] на пеpв0Й стdдии dтаки '/ / ' пOц.с|a3Л[3аст yкaзdтели для пeрeдачи }пpa3Лe1ия ифOрмиDуe l s l r с l l . кoл<sсRIPт lа i !uа!е . ' jаVаsс . rр t >

, е , , O [ , , o l j { ю ' i i , | p а 3 o / , ' 0 , ' ' ' p . | о 1 . / , J г a , 1 ] г / ь a \ | l i

// у,]irЛ""нныЙ slrell на сid сxе пO 288/6 поpту// (привод[rся в сOкpaL!e l r l rOм BиЛе)shс l lсOd0=uiе5сaр € ( ' lu4з4з lu4з431!0u8, , , ,ъL l i f t fъuс483xLr615c1rr89сb')|

// }1азaтеЛь вa s l re]] .кoд' котOpЬЙ оtдсr ,Daз iюяеr ' впаHятиbigb]oсk " L]nesсаp € ( .ъu0D0Dxu0D0D' ) |

// рaз[ep слу{eо|огo 3аголoвкa' приuеnЛ)lo iогO к {aядому оЛO1у/ / па !яти , 0ь / ]eляемOиy l t з 1учи ( в дв0йнЬх сл03ах )

// кO |струируеП noрn ides.блO0// глаы oe - noдог| dтЬ рaз ieD так ' чr0бы 3ыд €ляемые pеги0в!// ll!iнаliичес(оЙ паiяти сл0д0вaЛ в.lЛОтную дP,r к друrу оез за30ров

П . . . - . - - - ./ / занoсиx 3 naскspaсe сум iy длин she l l -кOда и с , l у r{ебEoгO загOЛОвкаs laсksрaсе = hеаdе.51zе+s l re] l соd0 l € nqLh i

/ / создаeI b i ! ]b]oсk ]аr lол iяя еrо 0D000D0Dh синвOлa iиWlr r le (b j9b lосk ' l engt l r<s1асksрасe) brqb lOсk+=b]!b l0с l i

/ / кoпирyеш 3 i i l l b lOс[ 5 lасksсарe двойньх сл03 '/ / фактичeс0 о0p € 3аJ r b igb lосk по 3aдaнн0Й rра l [цg// (на реДr(Oсr! r!пое решeниe но, OвO pабoтаoт)

f r1 lb lOсk = b iqb loсr .5 !bs tпng(0 s lас l i sрасе) i

// (Oпирtе[ B b lOсk brsb loс[ lenglh-s lасkspасe си{в0лOв 0D0D000DhblОсk = biqblOсk '5фstг]пg(0 ' b i ! rb lOсk l € ngth.s laсkspaсe) i

// растягиваеH bloс[ дo ltдtrOЙ в€ЛliчинЬ|!h]]е(b]oсk ]en9th+slaсkspaсе<0х40C00) b, lOс[ - b]o.t+bloс[+f i l lb loс[]

// вьдеЛяем 700 блoiо3 папяrи из vчи

Page 284: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

// {0пiр!я з ]aчало 1андOгo из ниi 0eст iнyr]Й b loсt

nrл]rГ, = ne ' А:га!()| iОr (r=i l i r</00 r++) :]сп.г , l ] . i . b]0с l + s l rе] lсOr]е</sсR]P1>

/ / плa!a0Lr rи i фрс i ] i l i пOЛl ;7 iщ lйся на s roa!й с ] ;Дt rи d l ( ' l l 'i / в ] ]ы3. rer пер. rO iРeчие 5уфэра и r0рeДeет упDa6 ieн lе lO aд!eсу |0D0D0D00 l r j<] ГRдl]Е sпс=irlс /,/вввввв] lпзqB iBв!ввBt]ввBвB ' . ' , , ' , 0 ]BBBввБBDвв8BBgBввзDBвBвввввBtsB

l.]Аl,]t=.ССсC1]..ссссссссCс...сс|сtсссс ,' ,,, ..Cсссс.!Cсссс.сссССссс.с1]ссс**' >

I{aк oll pa6отaс-r? Сl]ачil,rlа зaп}.сI(ilсГся.Jitvа.ск])lltll.j запoЛняloЩlrи пPaктlrческ11Bсx)достyпI iyк)дI l I IаN lиЧссILvx) l l а ] ! !яTЬnоps l i ( Iсs .6nок: lм]1 ,BI lаЧа- , rс ] (ажДoroт i l .кoго б.xо J{а рr(l l oil()Л{сl lо 6оль ll oс I{оЛ ir.lсстBo у кilзаT€"'Jсji нa аllРсс] 0D0D0D0Dh (зllа.чс l l I l с я]n6Ра] lо I J l ) lЛ l ]нo ' l l ь Iп , J l о6|]а ф\ l ) , a B ю l l I Iс l r rх !ЦJJтс ' l t l cпосРсдстле l l t1oс:rv sЬсI i . r t r l , rL '

Ес ' ' t t t хотя 6ы о,]пrr поl ls l idсs6, l rок l r : rкрoctспос i i1\JI lс i iа j lРсс0D0D0D0Dh'вяЧ. j i -J{с 0D0D0D0Dh с I lск) ' |()Jх) i i l ]сР(Dl1 l lосTJ,r() 0 l l tL ,n] lс , у lLа i j i l , l с . l Iь II l l0D0D0!0Dh, t{ кa.кo|] i l2к] ]]] .a l l ( i lD|Пloс l ' | ,? IIoIJ l ) l )6rсм |)rссч||Jn|Ь, кvча () , la )rc _ / l l l J lаr ! f lчсскaЯl I n м я | | , ) с o с l r , l I T | | j i ) r ( ) к ( ' ] | ) l l J l l . P о N l | М 6 l i i Г ' l ] J l I l l х 6 0 ( i ] С 1 l ) 6 i l i i т < с Ь с / 1 . t 0 I 'сnv)с.r iЬr i i 3 iГоrr()Do| i ' i r I lсс l )сT i l . r I j i l | ()( ,o lд i l | |() IJ( ' l l |у '{ЛЬl I lоJ| l )з(]0nTcJ ' ' с ,ГaР..|('l]]lo ilдрo.а вЬ|jlon'с\]l,Jх 0rl()jn)lr окP!r.Jrя]l)1{:,| I]o l.P;rJlllц0 B 64 j{6tlii1.l llо,тоNly6Iок ' I lс]rсI ipЬ| l l l I r ()|ц lI i i l l j lРсс 0D0D0D0Dh' Nl( 'ксT 6 l , ! ' |ь l rас l lо- lJo){сI l lк) r l l06os ly lx}сn. ' lv|()|ц l lх l l ] iР .(1 lв j0D0l0000h'0D020000h' , ' '0D0D0000h. I] хy,цu|0r l с]Iу l l i l ( r l )асс|o, l -r l | |011( 'кду ' . rс i i | () i i 0D0D0D0D || к)| l l ( ) rI r rОРs] idсs бЛО l{а 6!дс l .сoс l i r вJUl l r ' 7 75 6ai iт(сс,xlt с-'Iv)l.io6I I ьI ii :l:u.oJ,l oI](] |i ]l'l(r.lr lr1lчll']ic) l] 6g5 6;riiг (сслlr с:rv;кс6rIьIii зaгo,rrо-П(Лi lu leт Jr lФI l l l с) ,'l.:псllt

о6p:r:lлl' сс;rll рaзlrор slкll rюlrа rrс прr: lЬ]rUzlс1 651 6niiТ (695 6аiiт iJl,|l|\,с:Пlllltl :]2 РrзрядlIоГo YI{llз1l'Гсilя) Ir )i('ГЯ 6ЬI ol(11rl пoрsJidсs 6.rrolL псрeк1lr,lлaет й.])&' 0D0D0D0Dh (чТo rrовсс ui] (lJак rI)' вcР('l1rIост' сlo сPi6а,|ыrrаlIllЯ |;lrlli rдппlll(l,L-l] qlYo'Г заl lсl.] 1'гЬ' l l to зl laчеl п tc \, к1!зxTс''Iя л Ьl6pаIlо Дос1.aTочl Io yr]a' Illo, в IЕ всP.(:]']l 5,I кvча xllчlt]lilсTс,l с адрoса 018С0000h l1 llРосП]Ptlстся вп-lor.lj до 10000000h'llul чтo аlLpсс 0D0D0D0Dh поxаДаeT в о]lРес,l)loстп J]сPUrIIIIы, Ло ]]llo-lчalIl1ю lЕ оT.liPьIll;rer tsсс о кI lа в ILol I'|еrtстe oill Ioго lr l оr.o )кc l Ipoцсссa' и с кn,к/IьIм ol.i.PьJтъlпloIiIJоtl IILDlllIяя l.Pallпцil livчIl псрсllещaсTся ввCPхj лoэTo\{v rрoгaтЬ llладlxllсадрeса нeхeЛi]тt,jrьIю, .fo]\l

llе nlсне(]j е.'l]п заn|c]]ll'Гь 0D0D0D0Dh }]x 0A0A0А0Ah' мо'rlIo o6rlIiTlrсь значllTCjrьlltl Nrс11ъxпl]!r ]{оjlI.lчесTвоlr noрslidеs'6локов, CтратсrпюEriдlrJ]еl l tlя дIli Iа]\i l'lчCсI{oii llallятrJ vд116вo lIссjIсловатъв уr.rlлптe LoгdPЕ DсlLrхe( ]]l lс, 16' 1 ) x''r п лl06oii дрyrоil, спoсобноii оТo6p:Drilтъ кар,|v вllpТvа-Iьп0ii паl1я.TI1 п PоизвoJlьпol.о прс]цeсса' llо r!1ьr' лoх()1rс' за6рс,1и нe в -ry сте]lь' ofl.aв]г"l тeо.РсTrlческxс дe6Рll и Beрпсlrся к llашrrrr 6apанаll'11a.втopоii стадпrr rlтаltlI П lllPy встyllaсттеr I ЕRАl.lЕ, вьIзывaюnпlji xсрeпonнение6vфeрa lr засoвьlватoтпrtii в регrlсTP ЕАх:Jllачеllие 0D0D0D!Dh, t,язвxl!;Iii к{rд. Рас-rrolо'кеllньII.i в дxнa]]rшeсfioIi 6li6.u]отекс sHDoСvWDLL, счlrтЬlваeт Дro]1ноe ;io-

28s

Page 285: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

246 rлава 16 ' сekс с .FRAVE ' /Ли ,ё . pазvFoхаю с9 .ерви в lл . | l е | Е"po e lъ

вo по аtpесy 0D0D0D0Dh ( PIr 6JrагoпрI,lят1rolf стeчeinпI о6.стoятелЬств 6yдет pавнo 0D0D0D0Dh) и пeРедаrт Еa нerо упpa!лeнпe' пoпaдaявlrутPЪ приtrадлежaщего епrуnopslide.6лока. БoльIшoe кoлиlleствo 0D0D0DoDh yкaзaтeлеii' paспoлo,{eнных в elo начfurel пнтеPпретиРvioтся 'lpoцессороп{ как i!{ашипlьIe IсoI!аIlдьl 0R EАx ' 0D0D0D0Dh' IФTоPыe IIе ДеЛаIoT lIllчelo пoЛcзltoIo' 11 уl1.pав,tенис сllo(oflвo дol{ат],lва€тся llo shеll.кoдa, а oн' сл€дуя зовy пPиPодьi]lloдчиняrт yдaлeннy]o пIaшинy вoЛс аTакyющсro,

l1po6лсiirа в тoм, .tro lo ссlо6рarкettlrям 6езoпас11ос ГI1 .]avа rlс дасТ xPя!оIo jroс'тупa к виpTуаrlЬным allPесaм Il заlllt]\{асТся вьlдсЛсrlrLсIl паj!]ятt{ саIIoсToятелЬ-

ват a,lrРeсa 0D0D0D0Dh ltc 1.aра TиPoвa]i да)кс при вЬ!lеЛе.11ии всеii Дoс1уlllioii скрllпту пaмяTи' хoTя с Рoстом кoли.rес,rва пoрsliсlсs-6лoкoвшaнсы rв усneх yвеЛичивaюTся' С ДРугoii с,гoРo]Ill] l1pи tsьIдс'lсl]l{x 6оЛЬurоr.oI{oличсствa noPs]idrs.6]loкoв oIleрацttollI!aя с11сTеr1a нaчI'ttlаот дtIкo тoPlloзIrтьп lllуpl]lать )ксстIсим Дисltol{l а хрoнo'rloгия исxoЛьзoванllя пaмятIr в диспетчеPезallач paсте'г кaк на дPоnОnах ( Рис' 1 6'2) ' ч.Гo ''{ol'снтаJ'iьtlo /]enlaскиpveТ ̂ TакуIo-щегo| Ileloвoряу)кeo тoNl' чTo у ] lоРпlaЛЬпьIх пoЛъзoвa,l е]lеl,l сl{PxllТъl всегдaoт.

l.aк чтo aтакa ]loсит сугy6o <лабopaтoplIьтй' хaрaкTер и в Yсnoвияхдlr]rой пPи-poдЬl liерa6oтoспoсoбпa, oдIlат.o рaссЛa6Ля,гься всe.Тaки но стоиT' пoсltоЛькувoзIlio'(IlЬl ll6oлee эЛегaIпшьlе сцeI]аPltи neрello.nI]еI{t'tЯ (но1roтopьiе иДrи сoдeP.)кaтся в <запискaх ]>)'

P t с . 1 6 . 1 . д l t s а M / " e с ' а q l а M . т ь I E r о д м и / р o U , o n о v L о ' d р e D e L / e ( d . п р . d ' _ ' ' e g о r )

Page 286: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

реаниMация эксплoита 247

PEAHиМAция эксплoитAIloсJIсдс,Iвljя прirктIlЧсскoГo lIPи]!1eпL1Ilия i)ксllJI()итir ваРьrЦ)yro'Iся от r)1е сoвсеNlрa6{)Тacr' дo <сoвссN{ ]|с рa6oTаoт'! u llРe)кде llом эl.а штyка рсаJIьrlо заве/tel.сяlПьltjрoсl]B lв tsьIх,oпIloй TРу6ьl фLк,lс rазьI дaмпit IlаNt'lтl'. ]]аД пeй IIpид€гся пo.пьrхTeTь (R сIl|,lсnc <.пo1'pахaTь.я'l яо !t пoпь]хTeTьTo'tс пIlI]o' сигаРстьIl кoся.I{I' пo вltусу] а вoт)к.tпцtlll лучпIс rlз lIoля зрlэl{t.lя y6Pа-rь, ,(eI{'ll1п I ьt Ilагу6Irо в.пl,l.я IoT l l а хaксров l oсo5еrпro L ' сл l , | o l l r l J I l r сьI ч r tтa i iTс <.свяЛlе l1нУю книгvoс 'o] 'U- ' ' я " B , l l , .оГ: ' Пn, |сq , ' . I J | | , lц ,1а| i n вL|по, , lh | ) ,

ЕIаuпeru с тoго' нто в СетIl пoявиJIoсь мно'(eствo псpепeчaToк ltсхoдtloгo текстаэксnЛoита (]raпpi'lveр' http://!^rl^rw'sесUrity|аb' rul4927з, html) ' ноo6paтимo eго yl.Рo6ивllr t. вo.первь]х' кoддoлrкeн 6ьrть прeдставлен в кoдиpoвке UNIcoDЕ' а неАsсII (Рис, 16,з), Bo'вToРъIх' спrЧвoЛьI 0D0D0D0Dh, paсxoJlo){tеtlllьIе в хloсTе пе-репoЛпятolцeй стPокиl в пeРeпeча,l.каx заIleщаIотся чеPт зriaeт чeм, в-Tpетьtlх'вrrе.цре,Iиe <(JlIl1lrнtrх' пepe]rодoв traрстки в перeлoлняющиe cтрotси и slrеilсode.стрol(y к.!гегopl1чес].и недoпvсT!]!1o (но пp'I пeРе]lечaткe экспJloита вс€ прoис-ходи1.и11ен11о так]).

всегда liсло'nьзуiiтr TольIio oРlrгина-'Iьный вoF Рoс еxploit' а лv'r!]о elo слer.ttayсoверrr]еllствogанньlIi ваpиaпT.lhiя начaла нeo6xol1имo с6;Lna]IсиPoвать кoд:eсли рaссToяt{11о I'eжду пepвoI:i вьшloлIlяеl1oй кo}lандoй Doрslidеу6лoкa ll нa'ra.дoм shеl] .кoда не 6уДeт кPат l iо пяти (пятъ 6aйт - д".rпнa инстpуl tциl l0R ЕАх, 0D0D0D0DDh)' ттрo]тзoйдет заеN! 6aйтoв rrз shell-rtoда, 'rтo rrelrинvепro elo

Page 287: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

288 rлавa 16. сeкс с IЕ&q!чЕ, иЛи кaк размнoxают.я чepви в tnternф ЕхрIorere

pa3ру lит. сoздаIrиe 6yфepнoй зotlы в tiача-1е shеll.кoлa из нетьlpeх комaнл NoP(90h) рeIIIает пpо6Лeп{y (pис. 16.4).

Pис. 16.з. Фрагмeнт oригинаЛЬt]oгo эксплoита: вс€ сгpoки на6pаны вUNiсoDЕ.и в кoнцe находится кoд 0D0D0D0Dh

P''с.1б.4. тoт xe сэмый фрагмeнт пoслe пepeпечатки|стpoки в AsсiI,кoд 0D0o0D0Dh npевpащeн взF3Еh

сoстABл EH и Е сoБстBЕH t|oгosнЕLL-кoдA

Cтpaтeгия paзрa6o,гки shel1.Iсoдa в пoлнe стaндаpтва. Устaliaвливаeм peгистР ЕsPнa 6eзoпасlloe местo (в дaнпoм сЛyчaс _ па 0D000D0Dh)' oпPсдe.qяеil aдpeсa API.фyI{кций tIpямьtм скaяиг]oвaниeпl Ila]!Jяти или чeРeз бJlolt oкРy)ксllия llРоцeссa(Pгoсess Еnviroпmспt Bloсk, lrли сoкрaЩeнlro PЕB)' сoздаeм удa.lсвuос ТCP/IP.сoeди]{eниe в кollтскстe yжеуcтa!oвЛeulloгo (этим мьt oслспляeм 6PалДмaу.эры) и затягиBаеll oсlroвuoй исIlo"'r1lяeмый llo/lyль' сoхPatlяЯ сr.o Ila дискс (этoпрoстo] Ito сЛишIФм зaмeт}Io) ЙЛи в oпeрaтивrlой пaмяти (с.]]o)lо{zтя PсanизaЦ}tя'нo зaтo какoЙ peзyльTaтI)'

oгPaIIичeпиii ]la pазмeр slteLi.кодa практичeски нeT (в riarrleм рacпoрflкeiши ч}"ть6o,лъшe чeм пoлIсилo6айTа пaмяти)' сц)olсaпрeдстaвЛeпa в фoрматe UNIсoDЕ'а эao зЁaчитl чтo в нeи [!olyт пpисyTсl вовaть oдi{]Ioчl]ыe цyлевЬIe симвoJrьI, !1o.этoмy извPаIцатьс,I с рaсшифpoвщиI(aми нeт]икакoii нсo6xoДпмoсти, slrсll'кoдвaследуeт все пpI{виJIоr.]rи 6Pаyзeрa (а 60Льшинств0 нroлытнЬIх пoЛьзоaaтeлейзaпускaloтегo с прaвами aдмиi{истPaтoРа)' пoэтoму elo вoзмо)к]lости olрaпичe-]rъI pa3вe что фaнтaзиeli Pазрa6oтчика.

с гIPE3EPBAтиBoм или БEзУстarroвкa пaке,rаo6вoвЛeния (B пpoстopечии _ сеpвисltака), гоPячo pекoмся.

дyeмая мrтoгимlr специaпистaми пo 6eзoпаснoсти, yстраIiяeт у)кe oбпapy,кeiгньleдыpы' }ro oставJlяет мaссy rще Ееизвсстнin\ тaк чтo в целоп! ситyaция oста-eTся ,ieизмeнЕoй' нy)кнo найти пpoстое и ltраIсичнoe peшeпиe' зaть!каIoщeeдuDЬ| PaJ и llaвсeгЛа, а IlедePгэГЬся пo кJl{дoмv пoвoду, тlrм 60лсе ч |o пoддсp)к.кa <мoральпo yстaрeвuJпх> (с тoчки зрeпия MiстosoftI) oIIеРaциoнIrъш систeм

Page 288: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

с презepвативoм или бeз 2в9

]t брaузерoв у,]{е пPекра!lеr]a] но перeхoд ]la <сyпep3ащlr rerlнvю' Wjndows ХP.ll,rчrrо ]vIeIgi совсепl нe ])nдусT (.rlучrl]e lя сPазy llа F.гlr0 BsD)'

I{ сoясUjеrrию' панallеlo or. всcх 6el( вь]дyl!aть llевозilo)кIrc (IIаPацe,.rlс вoнIl тоT нaнсli всeзу6}l 110с16.памЬrвan), нo вотyсlЛ]lть зaulищст]}loсть сtsoсl.o кol{rrriIJTсPа N!o)кn o вlloЛнс' ЗаiiдlrTсg сepвис | Свoйсrва o6oзpeвaтеля ' БезoпасностЬ,заставtiв 6рav3ср запрlLll||lllаТЬ пollтвеР)}iдснI]с lIа <.3allуск прorРампt и фаiiЛовв oIне IFRAl\,lЕ' l1 Rьiполlleltltс сЦ€Ililplrсв/o6ъок'Гоrr AсLjvе х вo вссхзol'aх6е.зoпаспосTl{ (l1нтеРll..Tl }1естrtая IlliтРассТь' rj&ileжxllс п о].Ранr1чснl'ьIe уlцш),Бо'!ьшtlxсТtso саiiтоx rlоplra.'Iьнo rlтtl6ражаrотся rr 6сз скplrrтoв. Тaпr я<r:' гдсс]il'Jптьi ,\сiiсГвllтелъilо ltсо6хoдrrпп,r' rrх мoаrнo Разpсшl'тЬ явнo (нo это лon,к-r l ь I6ьIтЬ i loР}InJ lьнь lеса i i1 | ' rкpvп l l ь Iх rn) [ |n l ] l I l i ] ' a r ]cка l lистoTrN loтстo ihIпк l l ) .

]]щс н:l,1е'|illс0 . устаrrо]ll11l VN'l\\rагc ll зalrускaз ь 6pаузоp l1oll уxpаuJlеп сl1jrtlртyаJJьJJ{)ii ilnUЛ1I]ы, N4оlrrttо сllслo 6;rуж:tа'гь по Гpvщo6апi и|lr.срllcта, lI € 6l)'Jlсl' Itо,'L]IепиTЬ ljаPазv, Естес'Lвсllllo' Vil1WillL'зIurnпrцre'г тoльксl tlт атаl нa 6рау'rсрl по rlе lln саNly orlсPl||lllotlrl\'lll сl|(jП]]\1y' IIo:rто11у вaпi тaкx(с lloтРе6ускl'll I6pа l l , l ь rаv l+p B WinJоws хР o l l BсTП)с l l l I з l I i l I l rЛ l ] Io ' а | iокr loя l l r tк t lм Wiл .dоrr's 2000 (сaм к таlклrr,I\] (||tlolllvсь!) я Pсt(o}jсlulvl() у(тnj{olrlгl1, sуgаtс Рс|slлllI . i r cwа| i xс l )с l l I I 4 ,5 (дЛ, l j l ( ) ] \ l i l ! J r l l ' х ] I l )nЬ. ]oв i l тсJс i i oJ l 6ссI I J |атс| | ) . БoJ l сс с I Jc){| |oDсPсl.lll l)rc ,l ]]oс,l'г леI Jс)l(. |( |lJlJl1'|)oбYl()T lIPu;!сlIeIll'' 'цoi{а.'Jк|]. LlTo,rс lrасnсT()rWiЛdows 98 ' Tо oI l i l l l 60 i | б l )a| |Лr1 i l l Jpа l JL ' IU|oхo сЛра l l ' l l я1]1 ,ся ,

Pис. 16'5. Hастрoйка пoлитики бeзoпаснoпи вбраyэеpe

Кoне.tпo' pа6отaть с ltпРlYаJЬньIшr ]\tашrlнa\Iи 1rе сnишкoм y]tо6нo, oнп livlrln-li)т ]ilнoго пa[rяTl1lt тРебуюr мoцнЬIх прorLсссopов' пo:JTоIlу llo)кllo лoiiTи на Iio\t.nporl],1ссI'ьпt вepиа11т: сoз,{aтЬ xoвoгo по'lIt'зoваTеjrя с ()1.РанIrчеIl]IьlNx] IlPавa\fII(пaнeлЬ Улpавлeния ' ПoлЬэoватeли и паpoли)| r1lrп]IrтЪ еl.o дос,Гyпa кo всс\I цеп']lЬI]\t nап]iаl{ rl 'iolсyNlснTапl (свoЙства файла ' БeзопаснoстЬ) ]l зell!uiать ]Е

Page 289: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

290 rлава 15. сeкс с IЕRA]ЧE, или как pазlaнo{а|отся Чepви в htemet Eхp|огeft

l outlook Ехprсss oт сlю имсни (свoйсгва яpлЬIка > зaпyскатЬ oт имени дpyгoгonoльзoваreля) (pи., J6,5),Coхpаняя вс6.страниuы нa дис]r' имейтe в видyi чтo пРи лo].аr'тьIloм oTкpьIтииriTМL.фaйЛoв интеpнет'пoлитика 6езoпасности rre дei:iствyeт -Java.сIсриптьIи пЛавaющиефpейiш в ески' deззaпpoсoв пaпoдтвep)к.дeниr' пoэтoмyвиРyс мoя(ет лсIIto пpoсoчиTься в oснoвIrylo систeмy.

yБитЬ Бv|ллАxакеpскaя активнoсть Pастст с каждьtlIднсмl пPo6ивaя rloвьrе бpeши вмeлкo.софтных прoтPaммax и 0с06енн(). в lntelDеt Ехploгeг'e' Мo)кeT' стoит пеpeйTинa Лисеmta (oп же FiIеfох) или ltе вoвсс эrIиrPиРoвa'Гь па лруlYlo oпeРaпиoп.ную систеп(y (напрI]мсp, Liпuх)? УвЬr! Бaги вoдЯтся fie тoлъкo в Mjсгosoft' ollисстъ и y oсталънЬ!х' ДpyIoс дeJ]o' чтo пfcToдъI6opr,6ы с lri{ми paиич]lьI' o6лaда.тcJllt l(омпlepчcсlсol.o кoда вЬlllyжд()llьI ждатЬ зaпJlaтoк' слoвI]o i']тnoстI{ от nри-

Рo/iьl! a eсЛи l]poизIrо.i(иTсJlЬ вlLPугпРекРaтиT I loддeржку llpollyl(та| тoв cPoчнoмпoря]lкe пepeхollитЬIla lloByю веPсJto (лa)lеесJпJ oIlаllс llу'оta) иЛихачиTЬ пpo'

ФaA{мy ]lеlloсpеДствcl n l o в lllаtLlиlllюпj кoдe',tерЯя Ila эTo уЙму вpсмоlt!t lI мoзгo-вьIх извllJlил.

при lraл]4rпп исхo/lпЬlх тrкстoв зaплaткa и3гoTanлиlaется эJlемeliтapнo' aДe.цсllтP&llll3oваflflaя ]tloде.ДЬ PaiPaб0ткll ollсРaциoIlIIьlх сltстсм сспlc сTва UNIхI]oзвoляст за6ЬIтЬ o6 :lll6tlцlrях коttlсРоr.ltoгo ttрoизtso]lитcЛя' нc вьIпyстит вo.вpcмя зalUlaткy _ ]ly и хрсп с lllLмlэТo сllсJ]аloт llPytис ' тсм пo мeнee 6eз зaплa-тoк дrЛo всс.тaкtI но oбхoдllтся. It Toмy )ко качосTвo oптиМизaцI,Iи lleкoтoрьIхUNIх'oв' пpя]tro ск ксмl нaхoдI'IтсЯ }lс ]lа aЬlcoТc (яиктo tIс cтaвllл Ф€дoринoгoPс 3.0 Еа P-III 733? сдoxllу'ГЬ мо)ltllо1 Iк'(a orIa 3аl.РузиTся'). KNoPPIХ 3'7'(J( ' , l . J tsа| l ||L jй l Ia D( | ' i i l r ' I ]ь l l Ляl lи I Луч| l |с i i : . lЛьт(г l IJт j tвUi i _ ] iоРчa |Ь l|о |PуJит-ся с сD' fie тРe6уя устa]toвки lla )кeстклii llltск, г1oслуlrl1o вrnxoдuт B иrlTeрneтllo PPP' ЛdзиT ]Lo Beбy' iPoвcl)яe1 ЛoЧTу, o].rqn,шaeТ дolryмсETьI N{S Word и pdf,и | | Р и J I o м с o в с ' ' м | l l | ( J г v o з и , , д r ж с l | р | l Л а 6 U ] l ' и J . | | U д э М у - я - o Р а

Page 290: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.ЛABA 17

oБxoд БPAHдMAyэPoB сHAPD|(иИ1n3HУтPv|

Бо'цьIlJjlllс,гl]o кoрлoратllвllъlх ссTсiI (ссJlll rlс все oIill) oгРDttl!сl|ьI Ilo пoPl|мoTруlloдемoкPaтиЧllo tlaсTрoсtltlЬll!п'i бpa'{дмaуэPaN1и' зaщl|щаloД]rlмlI l]llуTРс|l||tlх

llo,'!Ьзoва'ГсJlсii o'Г са]\{их сe6n и o'гtlугIlвalo]llllп{Л flaчl|нaloп(t1х хal{ePoll вllссТc

с кyчей вoппстBylrlцих i!шЛoJlcToк. Мсxrllу 1,см lulя ollьlгlloLо взJ()]\{Iцl{кa ДaI(сltaчeствeшlьп:i п Iрамoтно нaсТPoorllllnii 6pаIl](Nlay)P _ пe тIРеГрaДa'

БPанaма!эр Фl 'Кe firczldl/) в o6щeм с,!учaс IIPсдс'raвЛяcT со6oii сoвoкyjll!oстьсrlсl.ом| o6ссllе!rиваlolIl!lх llaдЛе'(aпIl1i! урoвeнь pазгPaнrlчснllЯ дoступa' дo(ТlrГaeмьlri пуTсм yпPаIrJоllия llpoхo/.Irпlп]!! Tрaфпком пo 6oлеe и,rп менсс гn6кoruу

Ila6opу крl,lтrpIrов (пPa!ltЛ llовс,цcItlrя), Кoр0чe го!oря, 6рaпдNlауэр прoпyскaсттoльIrо тv частъ траф] (a' кoтOPая 'lвIIо pазРeп]eпa аllмппllстPат.]рoi!'' и 6л0кIl-

PyеТ )rсе rrст,"tьнoе (рис' 17'1),

^,W,'*"ф--*ry*'""Pис. 17.1. Узел, эaurицeнный бpандмауэpoм. чувс|вyeт сe6я слoвнo за кирпичнoй бенoй

].Ia pьUпrе доN1иirирyют двa тппa 6Pандпlayэрoв _ nаКеmные ф|L,lьmpъl' т^кl{.еназьlваепtьIe I]JJпо3аNIи филътрaцIrи пaкeтoв (pасlrсt fi]tсг8аteway), и,?Оz?.rit,v-tLьlе 71pо1|.11 (1|Jpliсatian proху), ПPимсpoм поPвoгo из Irих явJlясTся Fiгe\\'all оTкoмпaЕии сheсk Poirrt, a втoPolo МiсIosolt Pгoху sсгvсI,

Page 291: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

292 rлaвa 17. oбxод брандмарPoв снарР'<и и изнiтри

llar.стнЬlс фI1JIЬTPы rlo.!нoстЬю прoзpaчньI для поль3oватrJlсri и вrсьllа пPor1з.BодиТсЛЬньI' oднaI{o JieдoстаточI'o надeя(пы. ФaкTичeски, oни пPl]дстaвjiяют со -

6оii Разltoвrцнoсть NIаPпIPvтизатoрa' пPl пlиllаlоlllеIo 11акrтьI кaк изв]lе' Таlt и liз.нуTpи сст]t п PеIrraющеIo, как с нIll{и пoсTупl11.ь _ rlPoпустttть далЬI]Iе Ilллyнllчтo}кtlть' пPIi нeо6хoд1п'!oсти уRе/IoN'ив oTпpaвитсЛя' чтo егo па]iет слox,Бoлъпlин ств o 6pаплlraуэPoгl этoго тr'па Рабo'гаст нa IP.yровнe' прrгrем по:rпoтa]loддсP)tilill IР{poтoкo.fla и кaчес'Гвo фильTpaции oсl.авляют яrелать лyчrJlero'xoэтoll\. aтаI{yюIцЛIi r]o'{eт J.reГкo их oбмaIlyTЬ. llа ttомarпних кoмпъloтеpaх талIтс 6Рaндмa},эРьr еliе имeют смьlсJ|l tto tlpll ltаJIичии Да're плoхolпn(oгo ]!taрш.

PYтllзатoРa oнп "!llпIь yлoРоrкаIoт сисl.еN!у| ]lиЧсl'о нсдaвая взaп'еIl',гart кal( тe жесai]r'е пpапri]lа 4)иJlЬ,I.])irl{LlJL Лаке'Гов lllo,]{lIo 3адать и нa мapIllI]}Т зaтореl

ПI]oгpaм\llIЬfu] lLрoкси IlpсдсТaвn'tю1.(o6oj:i 06ьlч}1ъIе пРolrсЛ ссРвеP|,ij пРoс]lу.]]пlllxк)lцllс за]LаlпtJ)|с l|opTЬl 01аtlpltNtср, 25, 110' 80) и поДЛepЛ(пвalо|ц e в:J.tи.Noдt j j с гD] lе с jаPaI le € ( ) |oвoРe l i ] |ь t ] \1 l l сРсЧнс[ l сстсвьIх сеРu l l сoв ' B ( )тЛ l t . I l l r от

dnJцьтP()П' I|ч)e/laJ(,lIl х IP lIaкel'| <каI. eсTь', llpoксrr сапloс'гoяте',rьпо со6пpа.ют ТСР{.lке'Гъ|' DьrкyсЬlваl()1' l.lз пl.lx l loJ] Ьl}oва1.сnЬскиc дallllьl с' пaклспnaю,r IlaIllIх tloлЬIii llагo.Ilo]JоIr п вповъ paз6иparr;т ло;ryvell,lьIji пaкcт нa IP' пPI' псо6xo.,lll^loс!]l oсYxlсс'гв.nЯ'l тPnпсJIЯцпю aЛрeсorj. ЕсЛri 6pa||ilNlayiJP tlc сoдсp'(lrт oшll-6oк' o6мarr1,'r.ь сr.o нl сотс'o]!l УPoRIlс v,rе Ile yдастся' к 1o]!ly )кс оlJ с]{рьIsaсT отilj.ilку|orJlсгL) с,гP!к].vpу вIlуTре}lliсii сети' ()lal)у)r!' ос,l.аcтс' "lJI.lUп, 6рallлмilу.)p ' A цnЯ Л() ( | lDI lп| l | r l l а | lв | ] |с | l l с i i 3 i l lц t t lц € l I l l осTи а ' lN{и| lисTр i | loр мо, (с1 .oрЛa l lи -.l()llаl Ь }]it 6РnIul11аузl)с]toIloЛllI]тeJьIlБtс llPo]lс/lуPьI аIlTоPIl3ацl,ll] и nYTсll1.ll{Dllкil.l L I | | | ' l l :16р i l ( ' l n | ] i r ] .Л| l | |сся l l a пр( ' l , l . l l ] | IUк i l с |цс I la / (U lЬ| lих pу6сжi rхо60P0 l !Ь| , эТo 6ыI l . l]L(n] |oill (],l1ril' .I.crIoРЬ

JIoг()вoРllNj () lIсд()сr'a-гl(аx' ПpoГPамIil]ЬIс лPоксlt краiil]с lIc.

J)(()6lrы' IlоскoЛьку огpilllIl!]l]lJаIoГ lloЛь3oваTсЛсii B вЬlбopс приJк'(e)|пii, OlIlt Рд.ijrl,riLrсlr. ltаrlrlrлrl пrс,Lllerll]cс |Iaкc||lых фIUlьTPoв l] з/loРoвo сllихaIоT llРоt,lзRo/lrt.T.rЬlю(п, (oс06еlrllo lllL 6ЬlстPi.lх ltаll.rr|aх), lhэтoьrу r.лавньш o6pазoIlt пл,l6y,lеIilГoBoPl11.|, o IIl'ксTIlЬIx (l'l''rьTpaхj oстдвllв пDoгрaм]\1llыe lIPокси в стoPoнс,

liparrлlrlry:lрьI o6oлх тrrlroв о6ьrчнo включаlот в се6я 6o-ltее lr;lи пrctrсс кaс'щrrpo.1J|ll ll\lo IlсРсxlll) (]llсl,с'ltы onреiеlLеlLuя oпapже?i,?i (I tтLldсI Dсtoсtioп S},s|0лr'lDs), llt|аIrlвlPvющсii хаpaILтер сетевъlх l]апРoсoв,I вl,l'lвЛ,tющсii noтснцIla.пьllo oIIlLt]нЬIcдсiiствпя - о6paцеlтI,e к lleсУl]{есГgующrlII пoртам (х;lрактepIlо дЛяскaнпp(]пaпI{я)' пiк"ATьI с ТTL = 1 (хaPакTеPxo для тРaссирoBкl') ll T, Д Bсе J,roсvlIlеLl.ln]l l]o зn'ГP]lllll,tсТ аTaку' l! хаксрv пPихoдllГся ДellсTвoвa,гь oЧеllЬ 0сl.o.

l)o'olо' ]loсll()j|ьJ{\, jlto6oi'i rlсвсplu,Iii шaI тут }ко вьIдaст eго с гo./к'Фii Oдllirкolll ITe'n"lli]](|vа.]lы tOсTt' ] l111еrpирoвaнныx систем распoзнaRal lия lioв()-цьlla llсвс'llиttаll б().rlЬш]1l]с1.вo увахaющих сс6я адмиtlистратоpoв пeрекЛaдЬlваloT эTу задaчvl]а llJlсчи сllсцrlаЛxзrlPованньlх пакeтoв, нaпpимep тat(ltхl Itа]с Rеal sCсuгс оTtпtеInеL sсfllгi|у sysl]сп,

ts зaвxсимoстll o'| 1.он(pигypaцпи сети 6рапд:ttayэp NioХor 6ьITь yстaнов"tен навЬlдсJснньIiI riоllпьютер илlт )тtе ]leЛиTь с]lсTeм!ьlе pссypсьт с кеI' rп]бvдь епIе.Пеpсoнa,rь]rыc бPaндl]aуэpьr ' ппrрoкo распpoсTраненншс в мrrpeWiлdot's' в пo.давJяющсIt 6o.flьIшrнстве сЛvчaев усTанaвлиtsаются нeпoсPе/lствеппo пa са]v! 3a.щ]lщaeмЬiii коNlпьloTеР' ЕсЛ]l этo nакетньIй фlшьтp' peа"'IиlloвaнnЬlii 6сз orxи.6ort' тo защrпцeпrloс,r'ь сI'r]тe]!lЬl 11ичутЬ Irсстрадает, и атnкoвaTь еe так,flс npoстo/

Page 292: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

эт чеro заlцищаeт и 3e зaщищает брандмауэр 29з

.Jo)кrrо' Raк 11нa вьIдеJIcнноIl 6Pа!дIlayэpе, Лoкапьrtыe програilllrlыe прoкс'i

.rilщlцarот lol{пьIoтlrP rrlrшь oт нскol.oРr'lх гltпoв nTaк о]aпРиNlеP' 6локпPyкrт

.lасьlлку трoяl1ов чeP€з IЕ), осTавxяя систеIly лolЛIостью oTl(Ръlтой. в UNIх

l l , ' I i , l х . | | l , l ' \ | J \ п J э | | l " , ф | | , ' Р | р , l ' ) | , | в у l ' I l l J | | , | Ч G ' " п ^ , а ь ш . l | | L , | ' i

го\1llxскТ xoс1ilвl(ll вх.JдпT 6ольпIое lioлl.Iчeствo Pазнoо6Pазньlx пPoltсI1.ссP!с-

loв' поэтoNIv oзa6oчr1ваТ!с' Irрr1()6Реlе]lиeNl дoпо.nlrите,tьIIoгo пpoграl{l']rоroo5еспеч€ниЯ нс rrvжнo,

oт чEгo 3AщищAEт и нЕ зAщищAЕтБPAHдмAyэP

IIrкfliDr (l,П.Лъ1,pьJ s 06пlсi\r сJIчас Лoзвol,l]o,l. llакpl,lllаllr вф llхoдяlц]t.A/rlсхo:l}тIц1Iс TсР"lloРl.ЬI' II.Jjllloсll,ю Ll.]llL 1laс,l'и'llк) 6Л()кlЦoвaть lIеlLо1oPьlе I1Рoтоl{o.r ] i ( r lа | lр l l r j сP ' l сМР) ' |Ц) r I lятстпoDаTъ ) -стаr loвкс сoс l l l Jнснr lй с ца lU l ] , lмr l ]P .

r ,1р! (a] \ l I t j . l 1 ' . ] ( ' l Ipав l l J l ь l Io сконфl IгYPI lPoвaн l la , t сс I ] , l LoJL}к l l i l ц )с11J ' lTЬ l ]o

l1 . l rЬ l l l e i i N l1 rРс ] i i l лЕYх зо l l : а ) в ' i у1pcn lк] i i коР| loРa 'Г l iD l l0 ' i сeтп (сoЦ)orаt ' vс

псLwoГk). orрilяuсl||n)ii 6pаlurмaуll1юпr l' rJ:LсеЛсIlIIoii pl]6oчllпIrl с].il11|llt,l]\l||' (jl]'

r cBЬ l I l l ! r Ip l ] | г IсP iLN| l l ' I l ] lT l )а| I € T . ссрвсpa l l lп ' ссрвсра]v l l tбnзДа l l t lЬ lх l , t lЧх) ' l l l ] \1 l lр0-. !рс i l ] \ l l l l l ( )дo6| ioгo т l l ] l i l ;6 ) n0I] l ] r I TI lp l i кЛ lа l I Iюj j l toJ lЬ l (dспr i l i I i l l i z сd zonс ' l l j l l ]с ( )кP; r l ILo l l r ro т ) ] \1Z) , i )к l l )а ( ) | ( ) j Io ' i0 l | | ) l l l )б .Л] , l l l l lЬ l с сср||сРьI l I rо10PЬ|с дoJI 'o l ь i 6ь lTЬ

1o( rУ l l I l ь | l l 3 L I l l 1 ( lр | l ( ' ' l .n ( l ) l l ( . 17 ,2) . БР luu l rмnуэр, l l aс 'Цюс]| l |ь l i i l tа | l i l l , fu ) ] l сo l lР i l -r i ( l I Ioв(к l l i i ypo l ]с | lЬ : t I l l IL l | | |к I I l l oс I l j ' ] lо " l l ' ( c l | :

. l |а l (P l , l I raгЬI}ссI loр , гЬt .кРo i \ l с ' Гсх 'чTo l IP l r | |aдJ|с){a1. l l у6 'Ц| lч l IЬIм(1 j , гс l ]ь INtс ' l |у ) ( .

6al'l (lI1.'ГP' l:.].],' sNl.L.Р || T, /L )]. l l l l ) t t j IЬ l ' I lР |1хo,Lя|] ( l l . l ' , r з iu l i t r l l |Ь l l I l lОP 'Г 'o ' | lQ i lв . r l , l 1Ь , r0мU11) , r ]ЬJ to1сN1уxЛа} ' '

IIа l(oToрЬlх YС'гallolljIolll)| (о(r|Il01.сГJlyкllILllс (jлpк6ьr (llaпрllr\rеp' WWW сoP

rlсp pirсl]0'Цo}iс|| lr^ Уl,.пс A' e FTР.ссрвirP Llа yзJlo B) Тollrа ]lакo1.l IllllIl)авJlсп.

IlЬlii lIа 80 il поРT уз-'Ia в' дo"rrrся 6локrrровIr'L.l'сlr 6pall71r"rауэроlt);

о 6'rrorurpoяать вхo,цяLц|le с()e,illllleIпtя liз I]пеl|Iнсii соrи' uallРaвrlсnПыс rr j{(D-

II(lpil')]n]lую сетъ (Лpaвдa. R этor! с,lvчас IloЛьзi)ва'|с"ll11сс1'rl l|е сМоIуT рa6o'гaтЬ с вн0lllнxNxl IrТP.ссpвсpаi]ll l] iLкT|lRIloNr peхпIfr)i

. 6Лolt]фlnral.ь IrсхоляnItJе сосдпнcн]U] Iв DN'IZ-зo]lЬi,lliulpавielllIъle вo пrlyтpсltjtfi]Iо ссTl (l1сrt''lxЦtш ]r'l.Р. lt DNs сервсрЬI' I{oтoрьrNI lrсхoд,lrцlrс сoe,lll|-

нс}rIDl llсO6хоjr1lмы);

. 6nо]о{lюlliil.I. вхol1яlцl.Iе сoеr.lпIleнrlя rlз DМZ.зoяьr' rraпpав''rеrtltllе во вtt1.т

1 ' r | | | ' , ' . P , ( , с j , I o ' o н . . | ' ' , | , , 1 ' | ' i l ] а | \ | l ' J l I l j ' , ! . . х в : , т | | P I | , y l i \ | , D i r в 1 ,

ппe оцrrlIrr пз пу6.nItчtrъIх ссPвоPoв' 6сс]lPсxятсLвеIп1o l1p()lIикпет ]t ]] IiоРпo

рiТ внуto сеть);

.6JotxpoнaП'rх( '1яnl l leсoeдrtr lеппяrrDMZзoнvизвнеrпнcйсстиrror:",rужe6.ньIl! пPoтoiro.flаl{] частo l1спoJlьзylо]!llI'сяll"llя д.l.aки (папРпмeP' iсN{Рiпpaв"

да. пслrrroс 6лoкrrpовartиt iсМР сoзДаeT 6о"1ъrllие пPоб,rertы в частнoс,l'll'пepестает рабoтaTь Pin8 II стaнoвится нсвoз\loя{яllll авТоIlа,Гr'qескoе oпpe

деJеrlиt] l1:tlr6!).Цее пРе/.lllочтпте".lЪпоrо N{ТU);

Page 293: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

294 глава 17. o6.oд бpatsд ".\ )poв с| ёpw / l и lrrтol

. бnoш.1Рo!aть urioДящиe/исхtjдяrioJе соeДl1ненlJяс поpTaiш Ir/илri IР.aдреса.м]1 !неlrlIiе11 сeт't ' з?цaнньIlliи aДl''rl uистpатo poll'

дeмилитаризoванная зoна

Фаlrтlт.rсс:rrrl' роль 6pап]'lNl:ly])PiL (llод],тся к (',I)n)l{дс|пrlo к(lР]toPатllпJlоii се1rl o'].всяклхлlобortьtr'сr.вуrоlrlr.rх rrllrкl,|.:lв' 6лyrrtДакtlцr1х ]ю пPorr'oрilм ипт€Рпета. ].eltl | с }1сЛсс l IP( )L| | | ( )с1r ' эт )г0 ог l ) . l )кдс l Iия T()J lЬ| ( ) ка)ку lцaяс ' ' Ес] l l1 |с l I l rе I l ' r коР l Io .l )n rшяo i i сeT] l l l с |ю! lь3Yсг vя|] ] ] | l ] \ ]Yю l t сpсr r l r l 6p i r1 ' зсpа lu rи кЛI l c I l ' l . i l э J |ск1 'рoI l -I lo j i l к ) . ] l Jn (1бo. l lЬ l l ]11 l l с ' IRо | I l ) ( ) l . | ) i lм^1 l Iогo о6oс| l ( l . l c l l J l я vя i l I l I t l l 0 I ) ' nтaкукЛ| lс^ ly, \o(Ta1.очJ l ( ) i ] i l 11 i l ] | ' гГ | , е |1) | l ; t ,L .р( ) , I l l j r3 l |Р( ) I lа | t I l у lо I ]с ( ) . с ' | .P iL l | , lчку I l J l r t пoс . ' l aTЬ с^1уllllсьNio с lll.1Pусоi\l |lll!ТPи и Чсрс:t l()lх'П(oс Ilpe}lя JI()кilllrnliя ссTЬ о]tа'(cTсяIr0р,:uicllа' /liш(с сслll ||(|х(),ll'Лlll(! сос/lljlIloIll.U| ll3 r(ol)||()Pit,гиl]]юii (сII l]ll|ц]с,цс.IIы (a ка]t )(o ToI)(,t бс/lllIьJrj llоJIЬзоItаTсJ|яN| |n:II'|1!]| lIo I{llтс]ЛlеТу?)' shol1.кoлс]ilo'(11. но(||()"1ы]oIlаTьс, уяtс vс-l'll|(Л]JIelIl|ЬlNl T(]P.фo'lllnсIlIrем' .Icpс3 lroTopoсoн п 5ыл зa6pоLrlсlr па аTaковilItIIЬlit vlе-ll' Ilсрoдaвaя хaксpу 6paздьr удaлсrrrюгoyIDавЛcI l I Iя с r l .TcУ() ] i ,

Бllall]lп|ilvэP мo)кет lr саlr яв:rяться rl6,r,оrtroм аraкll вс]дь оllj как 11всякaя с]lо'{-ная прoГPllI]I]а, tlе о6х()дll-гся 6е] jll'lр ll vЯзIrII\Joсl.сii, ДЬц'' lr 6paндl{аvэрах о6-наруxolв'Iо'гся пpаllT||L(lскlr ка)кil],iri l.o]( rI ДаJr.кo Uc сpa]у ira |ьx{аю-гся (осo6ell.по eсJlll 6рапд^'аyэP рсалlJзоllаlI l1а <'(eлelllo\!' vРoвr]е), зa6aвIlo' lIo п.,rохoil6Pанд\t:!y:jР llс TоЛьк{r llе }lв.nичIJrraeт' 1t() дa}Irс ухy,1шilсT зaщ'пцt]lllloсTЬ систe.мЬI (n перrrую oчcPeль :JTo orнoсLI,Гся к llсPсоIlаJllrllЬIм 6PаIIд\1aуэpaм| попvляр'I]oсть кoтоPьIх в пoсne]llJее BPсмя rle06ычаiiнo вьц)l{tl)

oБнAPy}l(Ен v|Ё v| ИДЕHтиФикAцияБPAндlv|AyэPA

Зaпoгoпl успеппtойaтaки являеTся свoевре]!1e]lfloc о6нaрvкснис и идептификa'ция 6рaндп{ау)Рa (]1,lи' в 6олee о6щеlt слvчас систеlrьr о6нaрpкeпия втoprкеllllЙ, но в liо]ГLе1iстс нaстояшей rлаlьt мьr 6уде;u llсхo]1l1ть и3 тогol Что oна сoвlleпLенrr с 6рaплмaуэрolr)'

Pис' 17.2. типиЧнаЯ сrpукrypа лoкалЬ|roй сФИ

Page 294: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oбвaptaeние и идентифииёци9 брандм.y)pа 295

L;oЛьшипсTво бРа]rЛlrаyэpов 0т6расьiвают пair€тЬi с ]lстечrltием ТTL (Tirnc ToL]Vе вРe[lя )кизrllr)' 6.iol(l'lрyя теlI сапlЬIм тpассиpoвl{у пlаpпIpvтаl чеlI IJ paзо6-.t:lчаroT себя' AllаJoгпrlllьiм o6Paзоll пост}/пают ll некотoPьIе N{аPшP),тизатopьl,o]ltIа lio' кaI( у)ке говopI.lJ1ось вьпuе' пIeл{r.lу l{аpпIpvтизaтopolf ir пarlеТныпl фUl ьт.

PoNl нсT llP]rнЦllnиаЛ!l1ox Pазttl1цЬ1,oтсJел{rвaнпe l!aPшPvта обr'IчI1o осvщсствЛ'стся уТиJ]и1oii tIассIoutс' xoддср./rlrвaroпIei,l трaссlrPоui{y чeР€з пРотoкojiьI tсМР и UDР' пPпче ICп{P 6'1oxu.pyсl.ся t.оpаi]l1o чаrцe. Bьr6paв yзел' зaведorlо заnIппIенньUyI 6Parti ауэроll (rlа.IlPиi1сР, WWW'intе|'r!)' ]|(Лцю6!'еп{ отс.ne,111ть мaрпIрут к неljy (лtlстпнг 17'1),

лl'с.инr 17'1. Трёссиpoвка маpшpута' yMиpаюUraя на 6pандмаyэpе (маpшp!тизатоpе)

ltгaсеГo0tе -I !ш'ф rnlс .uт i rссирoвкo паDшрtта к bouпсег,g lb rnIe l сOп [198.1 l5 9 l ,50

чi .лои ipьцкoв з0

1 1352 лs2 140 msJ ]4c п54 20{l пs5 l ! r0 ms6 200 ms/ l 9 C r r sв 1 8 0 l s

l 0 1 9 0 m sl l 3 1 1 m sL? ?91 msLз 38] п ' !1 4 з 7 ] п sl l з8] ms16 370 пs17 з6] ms18 370 ns

2 A -

150 ns]50 пs

] 80 Бl l l ms

310 nsз70 nr

,151 ms

зв0 mзЗB1 m;

150 l l rs 62.103 0 lB0140 ms 62.183 0.220]з0 пs 217 106 10 5219] iз i rкs i r 'bт0.pc2 '? . t с . rл . r I2 l7 106 7 25]2L0 l r rs пs l i ' t JL]n0.рO1-3 т i , .с0 i 1 l r гu IZL l l06 l 9З l210 пs sрtr Dbп|) рoB-1 гl'с0''lfr гU |2\| 1a6 6 23aJ.10] ms s|осk l r . r rm-х]!0.]O0.3.0.0.| .с0 п гu [2]7 106 i ' J0 l1!0 Б P0s4 0 0il7 5т(] ALт[R l!Еl ;l4i] 188 61] ]4!]190 is ]4б ]8B 5 зз200 m1 l i la 188.1 ?30з!] пs ]46 ]88 5 ]97з 0 1 Б s o 0 - 0 0 l 1 0 с А 6 А T t l ш Е ' | 1 4 6 , l E B 1 3 3 l ] . ]371 ns 1!?.6 i1.1 137,151 ms 152 63 107 150450 ms 152 63 l0r 1051.5] mj ]52 .]З 106'з3t/1 ns 157.130 180 186441 ms 192 198,1tt 6в

* пnPцшeя интePваЛ o3идания для raпрo.а* п l r ев ! LLP i интерв iл 0яи r ]авия для запрoсd

CмlrТPlrТс' lpaссrФOвкaд()ход''T дo у]Ла 192 ' 198,1з8,68' а затспl yr]I]Paст, чГо уl.il.зывaет lи6o lrа 6раt11vayэр' лп6o нa неr]cмoкpат]lчIrr,Iй марllрутlзaTоР, '{!1Ь

lloзХc 11ЬI lloI{ажeм, как l{oжllo прorl]пiнутъ сквозь rrегo' a пoка вьI6сPcll д.'rя'r.tlаt:сIrрoвкII дрvl.oii узсx' ltапP11\lеp WWW'zenon.ru (nпст],пlr 17'2).

лясrин.17'2. yсп€LrrHOе зaвepшeiиe тpассИровки eще Ne oзNаЧает отслствиЯ брaндмayэpа

'L|асеr0ute ] мt r 1 i tе l |ulрaсси!0в(а iap lрy ia кd st f]butе. .zеnOn'net t] !5 2 ' !1 10з]

Чи.лo[ Лрьtк0в з0

1 244,1 m5 16з2 пs 1.a42 m5 62 18з 0,1302 192з ms 1632 m! 1823 r i ! 6?. !3 0 '220

Page 295: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

296 rлава 17. о6/0д бOандмdvэOов с |аOйи и ,"-Лoi

листnв. L7'2 (nPoДол,.eние)

, 0 , 8 : 0 о o , .4 1693 пs 15э2 п5 1302 пБ aksаi bbпo рО2 2,гt .сOпnr ru t217 106'7 25]5 ]642 ms 1r j0з лs 1642 ms 217,L06,7 9з6 ]5r j2 пs 1в5з m5 1/62 Л5 msk b9!1 geo ! 0 0 .|-с l r | rm гu t?]7.106.7 '194]7 ] .1 i? ns 411 m5 1в0 m! mo' .bL рOs1 2 ' te]]а net [21з,24r] ,99 89]в 170 ms 180 пs 160 ms mOW b2.q0th2 0 tе]rа net [213,24в i01 18]9 ]б0 ms 150 ns 170 пs z l3 248, i8 178

10 ]60 m5 151 пs 180 ms 62 ]]3 ]12 67i1 ]81 m5 160 mз 170 пs с55 гu52,zеnon пet [195 2 '91 10З]pa.сир0вка завсpш0| э,

tIl этoт раз тр.rссlцloвка IlPoхoди'Г IltlрмаЛьIro, Bьrхoдит' vтo никaкого 6r;аltдlra.vэРa пoJtpyt,Zсtlol1'а нrт? чrc )к| oчснъ 11ожет 6ьtть' нo лля vвсpсннoгo oтветartаш тpс6ус.l.ся11oпo:ttlrrтсЛЬllаЯ rIIJфoрмацnя, УзcЛ 195,2'91.19з пPrtflaд.!e)Jor,r сrTил.rlnсс:r с (TprJ с rаPxulх 6ита ]P.аЛРесil pа!ньl 110)' tt ес]tx эта сеть llс зa|ЦJ1!]сна1 ' ' , ' , t l \ , ' | l j \ , 6 0 , ,

у | , , o j ] л n . | > r ( , l J ( ' T | \ , | . l r i | | i я | l i | p i п s l I o п . , , | |Ii()N| с'r|уЧас Ii пpolIсхо]Lrt'Г. сt(ul{l'poваIlие вьulвJrясT 65 oткрt,ll.],tх аllpссов. О]eltовilTс.IIьllо' "'l]l[n) l\ltРшPутrIзaтоl)ai]дкЬ нст' Л,r6o оrr6ссllpспятстлеrrrrtt Iцr<llrvс.] (асT J la i i I l ) ]Л8 '] lР | l ) |{ ( ! t i I l l I l I l N joл{ i l ( ) пoIцю60вnT ' пPoскa l IиPor rаTЬ г loР1] ' I oд l la | (o l вo .пеРвьIх l||il,rll1Ч'lс о'l.l{P|!l,l.l,lY |кDToв с|ilе ||ll o чсм lIс гoвоP'I'Г (6Ь]тl, пlo,{e'Г' 6PаIl/1ItаYэРб. r l ( ) |n jру01. . l l l o lЬ oди l l nOP ' l , ' I Io сaмьI i l I l yя{I l ln i ' i 1 t tа I IРимсP з i lЛt l l l | l i 1с1 . ЛЬ lp ' l i ]ЬI i iltI)с or lю('ЯГатсЛЬс1.в ll3вl]с)' a |]о-в'l.oрЬIх' lтPll с:кallпpoв;llllItI хакoPу 6y](c1.тРуЛ.

l l сз ; l ] \ |$I t ] l | | | l , I I{ , с , i l Pугo i i сToPoнЬI ' пoР l .Ь l с I (u lирyюI l ] сс к( )N lY l l еr lo I rЬ j i r j lп | l l i rисTP l l ' IopЬ| у)кc ]Lа|J lк ) I Ic о6рапIа l ( ' l . I l a : Jтo в l I l , tN lа l l l , | ' ,

Ут r rпr l ra r ln r r rр ( r roлyляр l l ь I i i сканс l ] пo l ]тов) | iO3BoJI , Iстoб l l i l Pу) | ( I tв^1ь r l с l l отo l ) l . l еIlз 6рal9цlavэpов' устalrrlн.llJlBaя стaTyс lюP'Гir B <fi.сtтallсd' Фuс 17.:]).т;lкoеl]Рo.l'l(]ходI 11. всяrll] ii рili}' ItolДа в оTвеr lIa s\N yдшснпьIii уlrсJl вoзвpaЛIrФ IсI\'{ P-IlIl.r(сТ T|rЛa 3 . кодoNj 1з (Adlrrin Р|'ohillit]cd Гi]tс|) с /lеiiсTвI,tTctrrъrlьIм lP.аllpссoм6рaltлмlrу:lрrr в заlюлoвr{е 0l0rаp сГo Irс ото6paжаcT! пиI]пtтe с06сгвi]Ill|ьIr"t скаllерl,|']l'l' ||0l.rJIьзvя лIобoii сllифак' саNoстoятeJIЬIlo пpoaпаjи3l]Рvjiтс вoзl]PalJlilемЬliilIакoт). ЕcllI в()3вPaTIпСя s\'].']/ACK скаtlируеIlьlii IloPT oTкрЬЛ., ltsry^СК yкa'зЬ]]rilсl. l Iа за к р ьIтьl i,l иЛ ll за6ЛоItирoваrIпьlii 6рaндмаyэрolr rtоpт, Hо все 6рaI rдмaу.эрЬi r.e]lеpllPуюl RST/Aск IlPи пot]ьIтке пoДкnючeния к зa6rloкrlPовaпrlь]пl гlljp.таIl (СhосkРоint !.iГс\val1 генеpпpует) ' нcкoтoрЬтe oтсЬIлаlrт I сNf P. сoобщсЛис'лaк 6ъl,llo rlоказaпo вьпrle' lтJIll tlrr хрeнa нe посъl;taюT воo6Jlte'БоlLьlllпrствo 6Рапдlravэpoв поiщер)киваЮт удaпеппоe уrrpaвлениesерeз Интоp.нстj oтrLРi в:Lч oдnн ]liIr IlесlФJlьl{o ТСP-порTов' уликальпьlх Д.ля rraждoro 6pап,'i-ll;Lyэра. .I.aк'

нaпPlrп'ep' сheсli Pоint FiretvаlLoTlrPьIвaeт 256., 257 п 25B-i] пop-'ГЬl, а мiс|оsоfL Pгoхy 1080.ii, I{скo'гoръIe 6pаrrлмаyэpьr явlrьrм o6pазo:rrсoo6цalоT снoс пмя rr перl]иto ]lporраш!лклo lli]orrукlr Ilpr.r rloдключеliIlп I( 1lиilrl0 nсtсаt (п"!rl tc]псL), в oсо6elпlосr.tr этим цrеulат llPolLси.сeрвсpа, Пoс,1едoва-rCIьнo опраIul.lgая все yзльIj pаспoло}кепIlЬle вnоPедIr иссJlсДvlrмoго хос,rаj ]laпpeдllсT пPoс"rlуUIrшarirrя xаpaктepншх,цJiя 6раI!дмavэpoв пopтoв' мьr в 6oльшпlгстве сnytlaсв сn!o'{епl llе1оIькo вьIявить их присyтствиe, нo и oпрe/]enиTь IP.аДре(l (P]1с, 17..1)l P:lзуil..rтся' этп пopтш ltoryт 6ьrтьэакpьrтьr тtaк tra сaмопr 6рапдпlа.

Page 296: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

OбHаpr4r{eние и идентифиkация 6рандM.rJра 297

уэpс olPаr.Irа, пe всe 6pанДNIаyэPьI этo пoзвoляюT), так и нa nPедllrесTlyющем еrv!уllapпIp}тизатоPe (нo 1oгдa 6Ра1Цr!jaуэрoм бyдет пеJlЪзя }трa3ля'Гь чеprз l4rrтеРнeт),

Pис" 17.з. внешний виA )тилитьLnmар

(дoлх0н бь ть 0)

сeмёиствo адр€сов (2)

дo 24 мapшрyгизатoров стeм жeфoрмaroм, чтo и пpeдыдyrrrиe 2о байт

Pис. 17.4. стpукrypа IP.пакета

7 8 16 з115

2a 6aЙ

t_

Page 297: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

298 rлавa 17. 06х0д бpандма!эрoв снаDDl<и и изнyгpn

скAниPoBAHиЕ и тPAссиPoBкAчEPE3 БPAHдмAyэP

ПрямaЯ трaссиPoвкa чepез 6pандмayэp чащe всelo oказыlaeTся нeвoзмoжнoй(какoмy аДМиlrисTрaToрy пpиятlrо paскpывaть rrrrтимньte пoдPo6нoсти тoпoлo.гlrи сtoиx сетeй?)' и атaкyloщеi!ry прихoдится lrPи6eгaть кo всeвoзмorкпьtмухищ-PеIrияN!.

Утилптa Firсwalk пpeдставляeтсo6ori классический тPaссcp' пoсьlЛающI'lй TсP.или U-DP.пaкeТы с тaким paсчrтoм'.rт06ЬI ]lа yзЛе' сЛ0дv1olцем непoсpeдствell-нo за 6pa1цмаyэpoм, ихтTI,o6рaщanся в ttoЛь, 3аставля,I систe {y rснeриPoвaтъсoo6щefiиe Iсl{P_тI}1Е_ExсЕЕ.DЕD. Б,'rагoдаРя этoмy fircwalk увеpеппo рa6oтaeтдаlке,гaN'l lЦс штатпЬte cpедствaу]ке rIe спpaвляloтс'I| хoтя IФспrro зaщIlIJlellIrый6рaпд.маyэp eй, кoнrчпo, Ile пpo6ить| и атalryющсМy пpихoдиTся lrспoll],зoэaть 6oлeeп Pоllвl lI] y | |,|е il",I гop / Г!1 Ь|,

Будем l'tсхoдlrть ltз тoro, чтo с кФкдЬ]п{ oтлpaвЛяeмьIм iP.пalrетoм с!{стrмavзe.Л|| ' I t Iвacт ( ' n ID н i ед||||иUу { ncк ] ,г( l чaL l l н(сгo и случаeтся) ' сдрlугu i i стЬpо.Ilьll сoтл:lсIlo слeциqшкацt,lи RЕс-793' ollисъIвaloцeil ТсP-пpoт;кoЛ, rjся;ийxoс г , l loJ lyt tипшиi i l loстol)oнний пirкeт, не o I l loсяUlи i iся l \ устаj loвлej j l lЦм тсP.сocдl,пIeltl'lЯм| дoл)кell PcагиРoвать Ilа lleгo Itoсьrшoil RST (plтс. 17.5)'.цля Pсa.лизalLllll aтаки lla]tl пollщlo6ится yI{аЛeпньIli узeл' пe o6рa6aтьrвaюпlиii в дal{.]IЬIи NюillcнT IIиIФl.огojloстoРo}!нeю тpафикa и IcIIeD!lPy]oIllлli пPсЛсказуемyIoI lo(лcлoваl !ЛЬl{oс1,ь ID' в хаrePских кyJ ly: lРах T i|кoII узсЛ l I1t l ) iвacтся;/д l&( lц lnp), o6||JPyжить | lс^{oй х. ,( ' l oчcIIь лРoстo _ . loстaтoчI{o ЛиlIJЬ oтпDnUитЬeм) ( ' (РиIо IP. l lакстoв I| , tPoalIдлI|з l |рoват l , lD ' вoзвl lщerrrrьr i i в заго.roв lйх, Зa.Ilo]\tнl|М rзi]пIIUleм Il, 6умJ]к,(у ) ID посЛедIleгo пакcтa, Зaтeм, вь16Dэв ,ксDтвv.го LхUД, lцу lo U| ' ]т i t l \и ' oTIIPаBим r i r SYN.rr l lкст. yкaзaв в о6ралпoм ; . . rpс iе ]ЪЛс.\!oго yзЛa. Aтaкyоl{ЬIii Узe]l' Дyмая' чтo пeмоii хoст хo.rст ус,гarroвитi с llимTсP.сoсдинeпие, oтвeтrtTi S\'}l/Aск' немoй хoстl сltoвив пoсToDoп|lий sYN/А с к , в n l в Л J L r и т R s т ' у в с Л и ч | l в а я с в o I ' ( ч с т ч l I l . l D н l е л и н и u у o , r p а в и п r r r ' r o .му : toсту епtе один IP. l |акPт. хаксP, .рdBl|ив || лnn!наJи' lиPoв: lв I]J l tsP i l I l ]е l l I lL| i jI U , с \ l o ж . I v ] | | i r - Ь л n с ь ' . I a , l , ] l l l k v o й х o с I ) t . l j т п с R s т . п i ' r ( ' | | | Л I I ц . | ' t с л иlloсъIлaЛ, зI]ачит! aTaкуeмьIii хoст al(тивeн и пoдтвep)кДaeт yстa}roвку ТсP-сo.oДинe]IиЯ на зaдa!ныt.I пoрт. Лри )келании хaкeP мo)кeт прoскarrиpoвaTъ всеи]IтоPeсy]oщие еIo пop-r.ъIl I'e рискyя оI(aзaTься зaMочеtlпьtм! вeдъвЬIчислIlтЬ сгolP прaIФически нt]вoзмo)кно скaпирoвашle oсyrцeствJ.rяeTся <PукaNiи' нeNIo.r.o yзлa 11 с ToчI(и зPсния aTакyемolo вInгля/lит lraк o6ьlчнoe sYN.скa]Ir'lpoвallиe,Пpсдпoлorкипr, tтo пепroй хoсT pаспonoжeir BIтутpи DMZ, a rкеpтэa нaхoдитсявtlyтри itoPпopaтивнoй сeти. Toгдa, oтпрaвив немoпly xoсту sYN пa]сeT oт име.пи )кepтвъI| мь] с]v'o)кем прoпикн1пъ .repез 6рaпД!Iayэр' ItoскoЛькy oя 6yДет дv'Ilaть' чтo о J{им vстaпавливaeтсoедиireпиевЕyтренний хoст, a сoeдинeния этогolипа q 99 'q%.лyча, j\рfuneш.нЬ, (P(л ' l ||х JJ||p. ,/ть| l Io joзoва . ,1y | .oппoDi l l11в.нoii ссти нe смoг}т paбoтать сo свorrм хe сo6ствeннъшlп пy6лиuньrми сeрвсpа.ми)' ЕстeсTвelxro' все мaprilруTtlзатopьI rra пути oт хaксРа к пeпIoNIу хoс'ry iiедoлlкпьI 6лol(llpoваTь пaкет с пoДдельтrьIм o6paтпъI}t aдресon'' в прoT;вЕоNi;лy.чaе гIaI.ет умPrтзaдoлгoдo тolo, каliдo6еpeтся дo мeста нaзпачeния'

Page 298: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

проникнoвениe Ч€рез бpaHдмayэP 299

l 5 1 6

16 бит _ номep пopта истoчника ]66ит _ нoмeP пoPта назначeнич

з2 бита вoмep поcлeдoвaтeльNости

з2 битa _ нoмep подтвор}кдeниЯ

U

Gс s s

т

sN

16 бит _ Pаtмeр orЁа

16 бит_ кoHтpольiaя сумMа тоP 16 бит _ yказaтeлЬ сpочнoсти

дo 24 маpщр}ти3aтoров с тeM xe фoрMатoм' чтo и прeдыдущиe 2о байт

Pис' t7.5. стpуrrypа тсP.ла'eта

yTиЛ Ta hР ing к i l к раз l r Pсan l l зvo 'Г с | l с r Iap|| i i с l1 i l l l l l pо l l t r l I l r , l д iL l l J t (Л1) ти l J i l , ч1ojLo,llае1,се осlIoвIlьl11 оpудl1сrv i]ЛoJ\jь|nlлс|lltJlltil д.ЦЯ и(с.l|('доrrilIll.l'| ](Ц'Iol)аl.lп].

lIЬIх ссTelll о l.рФl(llсll l |Ьlх ol).Llvl]i!|lуlrporil,

кaк Bap l IаI lT . хакoP i \1(DI{с ' J . i l ах l ] : ] l ' l l | ' l , ( ) ]L l l l l l 1 i ] у i l . ] r ( )в1 l ) l l ( l l к ) . !o , (е l l | |Ь lх , I l !Tр| l DN1Z '

| | , ' ' п o , ] ' , + ч ' , | ' ' l | ' l . : ' r , , I l , . l l 1 l I

пPoникHoBЕниE чEPЕ3 БPAндlvlAyэPс6oРкy фPагllcllТlrPoв?llllIьIх

.ГCP lIаI{с1.()в llo/Lдсp)|oll]аl('| TоIьliо сa\]ыс ltllчc'

(l1'в"Aппыe llз 6РalrДIlауэроlr' lL ]lсе ос,га'цьItЬк' аl1lljll|зиPу'.Л. "ц11пIь псРвьlil фPllГ.ltсrlТ' 6eспрeпятствсllll0l]p()Ilу(r{ая llсс oстllJIьlIЬrс, ll.сJlLlЛ сti'r||nlо 4]раrмспTl|-

Poяа l I l I l , I i i TсP пакС 'Г l <p i l i ]N|aзь l I l x IoI I l l t i i ' TсР- ]аro , !oяo l t по l l r с I{оJ lък l l \1

IPllакетaNi, хакeР скPoсT Ad(n(N!]ed8n]сntNLlп1Ьсгоr 6рarlдrraуэpa, п тот ltс с:tlo.

,l{cT oI ЦеДeл] Iтъ п ри надJlс,кI lосTЬ TсP паILста li сооТtsсTсTвуrOщсii еrllv TсP ссс.

сl.lи (6Ьr.ь NirDкет' oн оrнoс]гГся ]t Jleталъ tlо]!!}' сocди nсl1 ll Ю' ус|а||()l]nellllоNry rLоP.

llорaTпвпьlм пользoва1c.JlеI'), Ес".llI тoЛьIio на 6pаIrДrraуэРc Ile aктllвLIровaflа

o , | , ' ' , , l , F ' ' i т ь ф l j ! | v , ч | | | г U Ь , , l | | | t ' l , . ' | , . - Ь ' ' , U , I L | | l l | | | , i ' i r ,

тиpoвaн. БJloк}lРоRarrllе фрагмснTrlPовn1IIlьlх паfteтoв созlQeт l{нo'{ссlTвo lIрo

6леlr п пpепятствуeт пopма-.lьпоri pa6отс ссти, ,l.еоРeтl]ческп

!oзl!oжнo 6'Цot{x.

PoваTь Лrппь пaкстъt с фPаl.!eIIT]lPоnа1rIlь]l' TсP-заr.o,lloвкоAl' oДl]aко да.ner.o нo

всяt{llil 6PаllдIlауэр по/.lдеP}r]lвaсT сToЛь IЛ6куrо политикv нaстPoii(rI, Aтarrll

Лаtltlolo пIxa, ксLaTIl гoворя' пaзывасмьrс Tiпу l.rаgпrеnt Attaсlr' o6J]адaюT чРе:]-

вьiчarltro мoщнoii ]IРoIlитrатorцеil спoсo6rroсrьro '! потo\Jy явJяются пзjlю6''le]l.

]]ъllt пplrelfoм !сех хaI.еров (рxс' 17,6),

AтакI1с исlioЛьзo!а}Irter' пп}трerrнсIi маpшpу,|xза1U,tr.j (oпaхе марt]IpуT]lзаЦllя от

истoчника, иJlll souтсe ].оutln8) наNlноl'J пlеlleе ;Ll{'Г}anЪlrъI; те! не}Iснсс ]\Iы всe хе

Page 299: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4000 f l аg fаg: о

1500

1500 l D = x lгаqilаg = ] 1480

1040 | D - х2960

Pис. 17.6. ФpагмеHтация тсP.пакeтов кaк спoсоб o6xода 6pаПдмаyэрoв

T:r5: r r r rшr маp l r rpутI l зап] t l l i \ lo lуT 6n l ' | | , / l I I l Iа l l ] l ' | сс I l l l t эN|с| |c t iъ l r1(х : l ' r Iю i i (1 ! )6lцсЛ l tя 1смР Re( l j гсс t ' пo3|1оЛ ' lЯ ( i Jо кpt l i i ] ro i i N l ( j l ) с T0oP.Ги. l сс l . | | ) r r lu lpxB1|T l ,хall'rt)сl{l1ii Tр14]lllt в о6хo,1 6рru lдltlуlpа (сlr' L'n (,rс ARI, sрoоliЛ8)' oд]lnко n рс.t l r lЬ l lо i i )кЛзнп 1 'а l {J lo бcaна l l (9к| Io I I I i с t t с ] J loР l Iь l ( ' ( : l l сTcпп ' lЦJnI{L) l l | l :1 .к I1 пI I r ( ) lд i lнс встРсчilI()тся' вo всяILol\l сjlYЧilс ссiillilс,

пoБЕг из-3A БPAHдмAyэPAЛoJьзоватслп IrllyтPеIrпeii ссTIl' oгl);l,кдснноi] lIо rrеpппlстPу Ilе'Ilсl1оtrP:Lтl|чl1ЬI\{бPalt,'tlrаyэроlr' сepьознo огPан'гlеIlЬI в свoIlх Iloзмo'Ltl()с1,x (пРo lIсBозrvIo)ii||oстъPaбоTы с FTР{:еpвсраrvп g актrlвll()}r pеnLlrNlе rlш v'{е гoвoРlrлrJ). Taroке }1or}.т6ъrть заrrреп1eлы неl(oтl)рьrо прoTol{оjlЬi п.,rrкpьrтъl rrсo6хо,rимi," n,u ,'op*,B клrlнrrвeскtrх слy.lаях ад\1IIIrпсTPаToрьr вед!'т спllсшI аrеprrъrх> IP.аlpссoп'

. lr.noruPyя дoсTуll к саIiT:1il iнсцe.rieсooбраЗп()ii' теlf.1тllliп.

Пoскo,'lьку 6ра ндмаyэpь1 Pассчlrтnны }rll защ!llу rl3BIrс, a пе !lзнyтРl'Ij вшPвaтьсяlJз-зa и]i зaсTс]lкoв oчснь пpосl.o jlос,taюч]lо Jи1xЬ восllo.пъзопa1.Ься Jrro6l,L\]Iтoдxoдяlцllll проксlt.(сPвеpo]!ll наtoЛя rllnlся вo вне1rпft]i'i сrти il сщс пe за]lс.

Лх PассмотpUм' кal{ извrстrio' IP{lрoтoкол пoзвoJrяеT вRlrIочатЬ ! lla(ет lIIlфoP-\Jxцl{ю o пlaР lрутизацIrи' Jlprr отправrlе lP.пaI(eтa ,ксPтве llnвязанIlir-ч хaxсРoltliаPlxPyтпзaцtrЯ чащe всeгo иrIr{rPирует(Jj j ]] тpaеl{1!Pxя пeРеI1сЦепlrя l|аrrстаопPедсjlЯ€тся исl{"ц]oч1lтеJrьl lo l lpollОiiуToчнЬlIII{ марlupут зaтоpаIl] ll rlо oТвс l нЬI€ пакс,l.ь] пPи вoзвPащеIJIirI ]rс]Io-!ьзyют r\lаpшPу.Г, ()бpaтныi] указarrlloNlv в IP зarо-no9кe, чтo сoэдiст 6лаГ(nlPllЯтнъle yсrloвпя дJя е|o пoдмeJll,t, Боlее у||poцlrrlпьJjiваРиaнт aтaI{ll оl.pаrrIlчпвае1.с,l oднoЙ n 'lrrrь ]]oдrJе ll( )ii IP 4,tРс(il oтпра!l l,|с,lя, пoсьt]]iul Лаltет o,Г llN1снI.I oЛllоtо l1з ]rнyтр'.tlIi]1х vзJтоlr' l.pаnIoтllo нaстРоеlr]l!lс ]ЧaРпJРу1rrзaтopЬт (] 1 6oльппrI iс'во ]fiонorr UNlх) 6.1оl{l]Руютп1lксTl,l с вIry'Ц]('tlнсiI пial'пlPутIIзaцпеii' lIaкстьI с ]t0ддслЬlll,tilll IP-aдpесаllxI riрсдс|ilвляrоT ]lс(xоnък()бonЬшyro пР()6jlсIIу' оДlIакo jrачесTIrrllrrьIfi 6!аiЦNlаvэр r]rl3rro:rяет оlсс]]вaтЬ п llх.

l_'ll

4000 бaйтдeйта.pэммаN!тU = 1500 байr

4 0 0 0 = 2 0 + з 9 8 0 := (12 + 1480) + (2о + 1480) ++ \20 + 1A2A)

Page 300: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пo6eг из зa брaHдмауэpa з01

сeннЬllr aд!и]IllстPатopoм в <чePlъt]i списoк', B ч:lстrrост ' попYxяp]IЬ]ii ri.nП

с|lт tсQпозвoляст o6мerrиватьсЯ сo()6!lellrrяllIl }iе lraпpЯIlуlol a 1|L'IJез сеPвсP (xc

o6язaтсЛЬнo сервep кoмllаяии.paзpa6ilтчика), Cyrпествvtот тьtсянlr сqlперов'

llол/reР;кивaющrrх рa6oтy IсQ, oДlЛi сyrцeствyюt. в 6оЛеe !lЛl{ ]vei{сс EсltэIrе]I.

llol вl{дс ужe llескo.nьl{o ЛсT,llpугие дIrнамичсс1.и Tо пояB.1я]oТся1 1o llсче3illoт.

и ссrlr1<r.lо",lгoтtитс.Iсii' еLц€ peа.]]ъ11o зансс1.и Ir с'Гоп ЛIlст' тo yс.lсдll,|l) Jасepве

Рaп{lt-одilo,]l]lеRкаN{и адп{rIнисTРатop llрoстo нс в сос1ояtllllJ l

Tакя{с в],I Nlo)]iете вoс]]oдЬ3oва'Гъся ilРотoкоno11 SSlJ (Sесuге S1rсlL). It;tt:r.laльно

спPoеrrти poвa] l ||ьllf ,1ля pa6oты 'lеpез 6paпalra1.эP lIОj1]tер'(ilnаroUrиil llll|(])lх)

ваrrr;e тpaфпкa (на тoг слyчaiil, ссЛI1 6раIlЛllаyl]P взr]уNIаст 1l0iа'l.Ь n пrr$ rзaliPс.

lJlеIlньlr' сJ|ов:l тппa l r' д,)' SSl:I.ttрoтoltол lrоxст pаботать пo

' l l ( )6o\ lv дoстуr tuоrvу пopтУ| ] rа l lР l lN lep 80- l ! ) , ' ]1тo lд i l с Toчкr I3РeI t r lЯ 6P i J ]ш]rу i r

ра rзr:е 6улет въIrляле,Lrr к^( ЛеIanьrlая lra6oта с вс6.ссprrсP.rNl' Ме'Lxy тсll ss lIяRлястс' rl!Iпп, ф]r'Iцaillсlrrc[ /(ля остaЛЬнЬlх I|Р()т.)ко-!оrr' пз кo]оp|'lх ll порByк)

очсРс/LI] xo,гс.rlось 6ы oт}!стlfiь nрoт.)кoл tе]псL| о6ссllсчl'Itа|(ЛцltiiвЗaIllloдсil(TП]Je

с Yдil.rlс |lII ЬI]\1l I 'пrPмl1нllJtа]\I и. Зaп,!атllв ]кrря]1l(а 20$ зa хосTl п lг .Irr(,6(,\1у |rцlIrаii.

]Lсl)у' nЬl пoJ'lvчttT0 nкк:lуlJтl lIо]uLсржn]rlIопl ii SsI1 ]l lIозIJo.Ц'I()|]пiii Yс ritвn,r.] lr

Uа|ь с(trлllileпJtя с ]Dу1.иNи yзЛа]!{Л ссTll (&rсIIJrn'Г|пnс хости||l,lli),lr)il )roз]!ю,r||o.

сT|| чa lцс l ] сс lю .Ц l l i l l е I IЬI t l ] |u 11ак . r lа / lЬIвaк 'Г l ]a I l с0 ) (0с|кI i с oГp: l i J l l чc | l I l , | ) '

l ] l к (Л lе l l ,N lожl lo l loс| |o , ' I I , Joва ' l . ьс ,с ( )ToI ro j i т0 'Tсфo l l с j i ' l l i ' l \1 ] ' l I rюj l l r i l 1 ] i ' |л| r ' ,Л '

к 'ЦI( ) l l o I I l l 0N l l I I lpoЧи] !{и I{oмп{yI l} |кац ln) l l l lЬ |л l l l с !сдсT l l i L ] \ lи ' \ rс1 l I l i L r r J I lва l ( ) l l LL r \ r IL

с()с/lx|lс,lис с |Цюl]ай/l0Pом B ()6х()д бРIul]u!tау)Pr., ] . схI t{ )noг l l l , l

пoс1 .п)с l lия 6рaIU lN l i l y i )р( )в I l c сTо, |1 . | | i l мс( l |с , l l с | |с lL I tnЛ l | ( l ' г | ) | l | ( ) l l l ] .

l|)о|)NlациоllIк)ii 6caoпaсll0сTи llе дрсillЛloт, с ка)lцьl[1 дIlсN1 хiLк0Pсlri(Л]а|1) сTil

l t ( ) lЛ l гся I ]сс 'ГPу lL I l се l ' l тру/ l I l сс ' o / l | ] i t ко | loЛ l loстЬ lo хaкoР( rB() I ]е l l . Ik ' з l ,o 'Г l | | l ] ( ) r '

,'la.l]сl(Ь jIa сN1elryna,]](rlyтЬli\l дЬЦ)a]!1 пР llхоjl'l,г !lРу Г1]с, ].Лa]lIloе ll0сl1дс1.J'сn())iil

Ру l r l1 | а т r rорчсски экс| |ср l lMсIJтПро]rаТь с 6рa l l j lN layэp i l l l l l ' l | зvч iL ]Ь стаI lд i lPTЬ l

|| сflсцlrq)иIrацпи' изучaтЬ дllзассeN1бЛсрпЬlс nl]с't,r|lIl.jl l' I'сl(itтЬ' Ilсlti]l Ь ll elll{'l]ili]

ссЬ|лки пo тЕ1"lЕNmаp

ПoпyЛяРllЬIй скаtlсP пopToвl позвoляющltй o6l]rРу'orпaть lJск0l!iБJe тпlIьl

6pандlraуэpoв. Бeсплатсн, исхoДньIr тсксТl,l дoстyппы. на саiil.с Nj(lРо то\.

пlтческoir IIнфoРмaЦии пo lrPo6JIeме,

httр://Wwwinsесure.orglnmар/FirеWа]k

УтиJи1aДЛя трaссlрo!}tи сети через 6рандllаyэp' Ра6отаIоnraЯ на TсP/UDPiтPoтoкoЛах и oснoваIiн.Ul на.I.тL' БеспJraTнa,

hft p://WWW-pасketfасtorynеvfirеWа]k

| | t p , L l " п o , L J o в а н и r ] \ t ' e к o \ | ё Д v . , ' ) , | , J J l l J l { о \ | и | Ь . . . ' ' | \ | P , U | | ' i l :

http://WWW.pасkеtгaсtorynet/fr rewа|k/fl rewаlk.finа|'pdf

Page 301: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

I{PING

Утrrлитa, pеализуюш1:и скаrrrrpoваirие чсрез ltсмoii хoсT. Mощн0е oPyяiисдля11сс.1€,.l()ванrrя вxутPrrlнсй сет11 зaбРaндмaуэPoм. Бесплaтнa п хopoшoдoкyl lснтLIрoвaflа.

http://WWW.hping'org/pаpeБ'htmssн.клисIlт

SесLlтс Shell.клпеllт' rIсп0Льзyем]'i] |Lo.ЦrlзоnаTсляi\ltl вllуTРсljtlеii сст1I дляпр.oдo"!еIIlIя запрстoB I| оl.pаII11чснпii' ]ianо)reнньIх 6pапдIjаyэpo\r, Б€сI]nа.Tеrl' PаспрoстPaпяеTсЯ BllесТе с l'|схoд|]ьlЛ]l тeкстаllll'http,/WWW.oрenssh'сolгr

}.uсk YоuПo/L]'06ньlй г,\Q l|о 6p:uЦNlаvэРaNl н:1 аl l гnl.lriскОnl 'lзЬ|]{с,WWW.interhасk.net/pubs/fw].аq/f irewа||s.fаq'рdгЕгo PуссlnJii lIсPrво,i' нс oT.Цtrчaк]]цllrjся осL)6оii свс'(с(:tьlo' jlс)кll1. JJ:Lhttp://|n.сom.Llаl-оpenxs/аttiс|es/fw].aq.htmI

Гirсw:tIlsк() | ' с I IскT nс]o l l1 i i r tо б l rа| lдN(aюI) i t ] ! l o 'Г 'Г i l i jn iLJ l | )скогo r lро()сс(0ра Yoа]] S , s t l l r( | | t l аяr ' . IпL1скoI i я : l | , l кс ) ,

httр://l.,vWW,im'ntu'edU'tЙ-sunny/рdг/Is/Еirеwа||'рdfoрcлNеt

OЦ)oмl|Ьlii IIoрTаJl Ilо с0Tсвoi'i бсзoпl0юс]ri' соr]l0p){аn0l l] l.o]vl ЧjlсJlс |,l tlIt.4х)рruаlLj{|0 o /LIl|]rll\ в пorrу",lярrrьIх 6раlц1мayэ1)ilх (llа Pvсск()м ll ilIlГjll]iiскoм

httр://l,,vWWopennet'гU

глAс нAPoдA,,.Бprtltt)мag|ьt nоОвеpэlсены 6оlьutо,ttу кo'Lu,tесn}8ц D()S'(tlln1e' па]!ц\, ]1а|lpu]|е?j |i|1l| 3ro-шmоpЛ lL1u sYNJloоn,коr1qы] онu в пpuнu,uпe не сnoсо6-l ьl n|]o1nu в oс|noяnlъ i

'',6pаt i,llацэp _ эпo -ltаpшp!]muз|1l]1op, |1рoхl:u.сеpвеp u сlсmема обнсLp цэltе-Ilu'| вmopil:енui в оaнo,l|l (],la}|olLе;

,.,6 pаi'мaуэpы-не защuщаюm оm аmа].| а ]:ulxb .)zpаuсdатлn lLoкtLlп,ную сепьк pnuц]lьl]l за6opо'\] , ч еp4 хomоpь|i .,1е,кa nеpеrc'm ь;

б l ' ' IСvP.mo] '] ' "1ь, oa?1'Fьв n?tI 04воР ! ь| 'n"" i -" ц 'мЪ -" , ' -oo" ' " :

,.'6pанdмауэp мoнно аlnaКо.1а|ль е пoxь1{on]lrc1юu rcmu;

uз|jне' 11o u 1lзнцmРu коРпopa-

PазJ|uц1lь1е 6pа11dм0!э?ъ| no.pазнo.Iq pе|1zup!|lo1т] а несm анdаpmньrc TСP -па]{еmьц пoз|,]ojlяя uoен||11n!u|4upoваnь себя;

Page 302: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

..'6pанОмаузpы, onпpъtвающuе 5З n пapn (слуэtс6rl DNS) ltе пoiLькo ltа пpu-ем шкe (нanpьмсp ' Chес|? Point Fil еu)аLl) ' нo u 1lак.pl! Рl оl ]аlldpU,|оInь о.ю оr!]np' -'' 'цJ\ ' , nь:

',,-!Jязвш|юсmb пРo?-p.L11,11 ь1I |]po]{сu в obщаI сnlJчое невr-IuКа, u |1 осxaвнl),\|

o1Lu аmа||lJю|nся цеРе3 oшu (lнu nеpс по:Lненuя 6уфe pа;

---l lекlmopьLa 6pанЭмауэp|,| t]оdвеpnсе ньl xес.ll l|iцtlaнщов|11ll Lo,\|!1 ||pоаuom-

Pу фаiij|oв чеpа na|,l1 3()10 u зanРoсьL m nа hrtp:/,lкпoahost.сom:801a/с:,t

ul hФ ://1|\aФ. h ost'сo m $a 1 a //'

''сл!nс6а DсotrI ]|цэtLIJ|lеnIся a lu |окa,lt dllаLL.Iзoнr omlqbo|||,uпaplnoв' цпо

с!щес\nвсl!нo с1IuJIa(n сme]1еl1ь 'xщuщeЙoоnu сuсl|1с'l|ы, о6есс]||ь|с]швая

6pапЙnцэp'

Page 303: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

r;l-

гЛABA 18

H oN EYPoт' ь| | v|лv| xAкЕ PЬlЛюБят ]v|Eд

б пoсJlсдпeс вpе]!lя IloяI]ляlоTся llсe 6o"цсe п бoЛеe иJoll{De]lll]'с сllс1,0j!lЬJ 6oDЬ6ЬIс ] \ , к cD . rми ' оЛI I с l i I l | з ко I ' | гЬ l х яn . l { с т (q l | ' l l L ( у l ] n l , ( I r l l 'wс | i r r l ] . | l ' к i l п к l I l д J l яi r I i I l ( у |o l l l | | ч ' с ко . , Ь ' {o N l оло l l Ь l х l t ' . Р , | с l i , i I I l г i r п IU | | | l , L r ' 1 рUU . ( ! т l . y ( l J . o п . v l IU l L |^ 'l l j n к c в ] l j ,U l c l , i 1p i 1диu I l o | | | | J , l oч ' t , | , l , o . : r х : , к сpa I ' с | l : l l I L I l \ | . l , l L я | , \ с | . oЛЬ ' ( с . JTv .ч i l е в у ( Л n B | | L | ч o с y ) к д с P и i l , | ( U J . и т д l t , l o й Л U , l l | д : l 1 ь | ] | с ' , | ' l ч : l ' i . р с r l l U в , n L с T i l | ; т

прoсto пeвoзMо'(tlo, ЕсЛи| кotlсчllo| ltc з;L(aвить llдrlo hoпсуPоtbn я заpoды!rс|доказaв ee IIсэффeктl,lвlioс'l.Ь.

как ]lи 3aulиillаii сBoi,i t(yPяTilиll' хитI]а' лIlсllllа лсе равнo }Iаilдeт l{ЬIРy !,' yTa.щilт (:амyю )киpнylо l(уPицy. вссх ДьЦ всдь llе заткlIешь''. Ilo п{o)кllo 110пlr;60.вaть поiil'aть Лисy в ftаrl](аlll noдJro'о1в сr! сo6Jlазнптe'llr,{vю llРимall]ry' rl пo;o]!l6aбaх| - вьrстpeлить в yпоP из py'rЬя. с к{JмпьloТopамli _ тa )ке истoриЯ- Прo-грa^{мIloe-{)6сспечение уязвrrмo' Cвoеврeмсляая усTапoвItа зап.]]aтoк оl.сскаeтли]Irь ]Iaиoоnее тynlrIх I,I3 хакеpoв, !lспоЛьзyюп{IlхДля aтlкIJ гoToвьIе пD{)l.DаIlllliьlи нё п| ' , |вuI{jI lиI дvv3т|, |оJовt 'й, П| ' . ' | , "с"иn|| i . rьнr ' .х жо п, . luvцrrr .nв ' з ,нr 'v , .ющихФr сa]uoстoятeЛьfiьIм пoисitoм пoвьIхдьlPj запJIaтки Ilе oстaIJaвJlивalот,PассказьIваloт' чтo ol]ин д}кeltlльмеll од]rDкllьI пPIro6Prл сУnrPrrавoPoчeпllЬйсeйф и Дoлгo хвaст.Lцся, I.ак0l.i oli падсIсrьIii и пpоvньrй, !сло кt,вvилoсь тсм'чтo зa6paвписся к пемy грa6tlтелп fipo)кгли I{ак.]й.To xиTPoii кислoтoji дьIpув сeйфc и,,. IIe o6нapylrили IrпчсIoI lценьIr 1I дPагоце]lнoсTIl хpаниJIись совсс]fв дpугoм lrеcтe,

Подoбная тalсгиaа пIиPoкo исIroлЬзуется и ДJrя о6rra1rухeпия кolvtпьroтеpпых атаtс,пa видтloМ мeсте сети устанавливаeтся завeДoмo yязвиi1ь]ii сеpэеP' }t:Це)кIJo

Page 304: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rнrтри гaршкd з05

ijзo.rirlPoвaпньIii oTo lrсех oстаjiънЬlх уl.1oп lI oтс.]к:]кt]ваюnlи11 l1опьlтl.и песaнк.

:r ll О JlиPовaн]Jоrо пpoнnкно веl rrrя u pсanьно N1 вpёNiенIr с псрсДaчeй IP адрссa ата

li\.Iolцсlо в (DсБ lrшt ll()/'(об]IьIe сl1у оРЕrЛн' /ца)кс t]сJи хакeР спрячl]тся 3a xlrт.

Рoii прoпllсL'lо on'охy)' Боj!ъnlой БPа1 lr(с ]]aвнo нaйдсT 0го п B сл€тaкrцy]o

. 1ете.]]ь ll!с]rЬ rlоРllyтся Ileдрутiе.Iro6но xrС] poeнньIс 11aсхи-Lпoy'

с]еPвср' в ьl пo"!няюци ii PолЪ пРrlI{il!кlI' IlахaксрскoNl жаРГone назьlвaс1.ся loРu|.

l;r,'U (] :!/cаoЛ (hoпсiT,оt)'а сст], !lJ Tакrlx с ЕрвсPoв' фответствсннo] л0,e,yЛ,r, Эти.

}I().ll()].Ля этoго tlаэlJLllпя вoсхoдl'т rt ̂ пглIr.lскo,!1y пoвеpью' чтo ссJlи oстaвить

LoplIIoк с lк]l(о]\l' 1]а нсг.] (].neTяTся пчсJIы (xaltepьl), I{ кoму 1ojlькo м1rl-1o rlPltijти

в roloв] llaзr,атЬ хак.Роu пчcЛа^1l1? хaкepьI - эl.o N{ыlпli' хo]!]яки Й кРЬlсъII llо

\lcЛ оIIп всс.Т;lкl'J лIо6ят' 11 ЛоncPч]lвo nolrятся rlа ltсго'

iiРoтl1вос1.()ять holrсуР()L'аN чPс3вь1Чliiliо сrlo)l(xo. IllielIiIlе orп1rrичсll lle отЛи.

.lilloтсЯ oт o6l,Lч1rъrхссPвср(Лl' llo в дсi]fl lllгГе,1ъIl()сTn llРс]L(:r;l8'!яiот со6oii хoРo

i||o зni\lа(]oЦоnаl]11l'jii капt{ап, ox'l]| lieBеР|lьIii шrг хaIL€ру }')кс 11}lч'Гo ]jе пo.

!(Dкет, }lтвсрж'(аl()T, чтo o|)ьrTIl;tя xJIсl уrll Ц'{еTся със(1l Ь llрlLltаllку' не пoltalши

n llаlп{а]l' 'гilк

чeм ,l{с N1r'l х:tl{сРЬl . ху)rtе?

BHyтPи гoPtllкA, l . l | | l | |ч| lЬ l i ihо| r .} ,pot I iрe jLс , l ' а !nя0T(( )6о i i грa l |Д| l ( )3I lь | i i | ]рoгр l I In l lю- iu t f laраTI t ln i ]

] ( ) l ' l I l ' (u( l ' сo ! : ' | 'o ' L I l ]1х l | ] ] с . r1сдуx)| l0 lх l ( ) l ! I I l ( ) l к ! fП)| ] : у l ] '1 ln - I lP l jN1 l t l l к j l l се , i . сво lo ссЛ.

( oP i l l l кo-ц l l с r |оP i l ( l l а lф|| l r |сJ rя l I l J (DоPNl r j1и l l ) (P l r с ' 18 ' ] ) .

Pис. ш.1' Блoк.схeмa пропeйшeгo hоnеyPot,а

пp liанкoii мФкeт слv)rсr]1Ь ].тIобоii сeвcP) зal1упIeнньIri rIoд у11равЛeпиеlI пPo!1з.

во"rтьнori ollеРационноI1 сl1сTe}'ы п сi{oнфи|уРlipoвaннъrli нa,1.оT и.nи пнoil урo.веllь 6сзoпaс]10сTLI, 14зoЛиpoвaппoсть oт oсTа'']ьпьlx учaс'гI{ов с!'Tll пРепятстnусT

]|сIloльзoвaниro сeP!еpа пpиItirпкIi rtali пIaцдap]v:i Для aта( нa oс,lовrlьIe узJrьI|oдпаIio дaсT хaкeрy 6ьlстр1] пoпять' чтo он ]lа llojlпу'Гx к лirвуlrrfie ir oтсюда сЛ€.

Page 305: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

или ̂ акеpы пюбqт Мeд

дуст }l €llеДЛe]I}1о PeТi'rPo!аT6ся| зaNeтая L{rдьI. TeоPстическиj адNIиl'исТpаToP11o]xет opгafl11зoвать пoдлo]кнyю лoкallr'ную с€тЬj пРактически Хe этo от.aзьIвa.стся irепoдЬсIrнo Дoрoгoстoящим Peшeниrм' и пpjlхoд]rтся ]lсl €т! коNlпPoмllссЛпбo oслa6J.ie]]}tая изoляция' olрa]{дalоцаJl тorrькo IФитичeски важньJ€ yзnьrlnи6o эмyлятop Лolraъпoй сетrr' эaiтylлeннЬlй на oдпoll кoмпъ]oTеPс, aIarЦе всегoуз"1ов с пpпllaнкori 6ъlвaeT liескoЛькo. oдни Irз нllх со/lср)rQт дав]lо извeсTl|ьlедьц)ьI l.l pассчиТа]iъl нa нaчинarolrшх хакeро]r' ,ГoЛЬItо'тоJ.ll,кo oсBаr'вaющих кс)мaндily]o стpoкyи читаюцих кнIlгIl десятилетl Irii Дав]roстrI' llpyгие заlцпщс'I{ъr пo самЬlе пoмпдoPьl и oРи€irтпРoвal]r'r на вьrЯ!].J]ениe еDtе ]lс11звестпых aтакjсoвеРшаeмЬlх oпьlтпьIми вз.пoмIlIlII.aIrи, Пoэтоi!1y,дaжс o6ltapу,{I]в rroвvlо дьIPy'lle сIlсlx]'те Лoп1иTЬся на пеpвЬlй )ке пoпавшиiiся сеРвсp. Bель есnll aтака завсР.шится lleyдачIlo| иtlфoРNiilция 06 yя3виlroспr п(Лlaдст B зalTс6vщпe .nаl ll'1 спе.цI1аЛистoв rlo инфoPмацlJoIlнoй 6rзопаСlloсти! a въl _ Irа скa\]ьro пoдсyдиNl]llх(или, Чтo ещe xvжe' 6()lь1rичпуl1) коilк], пeРссчитьrвaTь ]Iсpе6tll.ьк] Рс6pa),I{стaтп гoвopЯ, oчеrlъ мl1ol.ие yзльt.lцх1}1анIor пoсTрoсtlЬl ||а oсrl с IIастРoiiltilм]lпo yп{oJlчаниIo, и в э,roM ссть свoй рe3oн l]ьЦЬr yN1оЛчаlIIпnх кollфпгvРа|(lii хo.| , n U U | | J б . с Г | | Ь | ( , 1 о U 6 l ' , , I n ' l , п з . | ! l i r l , . l \ | i r r l l , | | | , | i i п | ' | | | ' ( , j j . | . \ | o | | , , , I , J , l о ] l 1 ] ,У атакvrопlегo cоздаer.ся о6манчrшoe вlтсчаllсниоj ! |о оп rrl'еr'г /LeJIo с адi!1иIlистрlтopoм{le/toyчкoЙ| постаDJtвlrllIм с1.allдаР'l.Ilьtii длсr1л6yтив llc rIcpвoii свe.)кrсTll l'l Ilи хРснa пe смЬlсn'lщxм в вoIIРосaх 6e3оIlа(lloстIll э1.одвa,дсйflлu.Тcjl Ьllo, 6()Льrll иl |с,l.IJo )laчиIlак'цl]х ад]!ljt]lис]'pаT!Iroв ипlсIllto Taк }| ||()сTуllaк'r]oдl]aкo риclс пoпaсTься ll l{tlllIrаll hoDсуPoL'а ()l!ll|ltФ]!l |jсJll.lll| Л oт a1.аки ]lуlIпlсвссгo Ro3дeР)каTьсЯ'

Сеr'спой сепсop uaulc всeгo рeilЛllзуотся Ilд 6aзс UNlХ.llrrлrl6ltоii oс' а ]tJlя п1o.]lитoPrtIIгa иIкl)oprvaцши l,lсIюJIьзyстся vTl,l.Лltтa tсpduIl)P и,1l{ сс,tl|аn()l.|r. t] !.tвlI.симoсти oт кoIlФигypaц'l и се1.и сoнсop ]!lo)rсT кaк нaхo/{l'i,l.ься Ilaoi0ю11из уз-Цorr/lаrlllor.o сeгlliellта JIoкaJIьtlоii ссTи, таl( 11явJJя'Гься мaplllрyтllзатoрoпlI plll]lloJIо'хeIIIlЬjм перед прrlм aIlкoI:i. lIr loгдa ссTcвoй сellсop сoвмепlaс'Iся IlспoсРe](сТ|]ulнo с самoii пРимaпкoi'i' этo сylIleсTtscннo УIlроцacт и у/lcUxtвJIяст сrtс,гсIlуhoпеУроt'a. oдIrакo oс''lа6lяeт eе ипrмyнитeт (зaхваTив упрlвJrCI1пе прпмaIiкOji'aтaкvюtцllii 6ьlстpo rl6rrаpуяtит сеItсoр и сдeлaеT сIlу хаРalrиPи). РазNlеlllcllIlссеllсоpa в]]vTpIr пIирoкoвсщaтeлЬlIofo сeIмetlTa o6сспеvивает сlry нап6rlльruуюс(РьirrloстЬ' CеTeвoii интерфei'iс сoнсора Nlo}Itет и нe ].tNiеTь сo6ст8eппo1.о lP ад.pеса' пPослyшrlвaЯ тpaфлк в SiсаltЬте)киNIc' что ,'loсTиfастся пуrеru физичeскolюo6pcзaния rrсрсдaюrцегo ]lрoвoда Ila сеTсвой картe (lIoдPо6пee с:u, iлавy <.Pьr6.l1ая ловля в ЛокаJьнoй сcтu snilТeтing>). МaРшPyтизатoр в этoм сNiьIсЛе на.м]lогo 6onсс заI1eTeIII oднaI{o {lпредс"!ить, pa6orасT rrIr на пем сcтeвol]i сeнсoP иJIrнет' в o6щеlr слyuaе нcвoзlroжпo,

дaмп ьr i.сPdumр'a o6pа6атrnваются различrrЪIми а]iallизaтopаI!u ( напрrIr!1еP' си.сTеl'aмJt о6rraрy'{eпия втoр'{elIий), вo.flервьIх, pаспозrIающиNIи сaм фaкT атaки'aвo.втоPъiхj oпpедсляющиMи IР-адрес Iiаpуlxителя' }lакaпьIвaепiая инфoPмaция oседаст в кoлЛeктopеj сердцем кoтoPогo являстся бa3адaнньiх' ЭTo саl'oеyязвимoeilссто honеyрot'a, нeо6хoДимo зapaljеe Oпрсде"тu1.Ьl чсткIrйпа6op кри.теpиeв' noзволя1oщих oднoзнaчвo оiIРеiIе"{иTь, какrrе /]eйствия явЛяюTся нoр-I1anьriып!иl а кaкиe пет, B пPoтrвнoм слyчae администрaтoр "1и6с1 6vдетпoстo

Page 306: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зo7

1IlIlо IIеpraться' вздPaгивaя ()т i{aЛiдоro см]rиPoвaI]uя пopToв, Jr11бo пропyстиt.,lеrкa видoизпlснеllltЬ]ij ваpIIант пзЕl]стнoil а1:аки' Есть п дpylaя пPo6Лer!1a.

:сjl'l пPlrмаrrкa нe имеет rrrп(aкoгo дPyгоfо ,l.])аф1{ка' кРolfe xакеpс]to1.o (чтo

lег]{о onpе]lеЛиTь пo характсPy llз}lеrlеlLия iт;ля iD в загo".]oвках llrпаке.Гoв'io]pо6нее o коTоРor\{ рассI{aзыrа!ас! Ir т-rlaве 17 (o6х(]д 6Pандi!ауэров сIiapy.

]nIl ll ЛзнутРи')' To aтaкующrli'i нсмсllЛеl1llo Рaсi]oз}Iаrт.]loвyrnку и не стаlIeт']с аTаl{овal.L,, ЕсЛll )тiе пР]]iuан(а o6сJlyкUваe.Г пoльзoвaT€jleit !нсшflеii сетli']lспoсPсдсTgенrl'Iи nЛaJrliздaпtпа TPаqnn.а сTallоBптся неBoзп'orLItньINl' и хаI(еРyrпчегo 11с стоиT зaTеpяться lra фol{с Jtсrill]'lrь'х i'iпpосов, }цoстатoчllо эtlхI,eк..lIвнoii приrv!аlп(oii яв.liяIoт(Я 6аJы ДaIiIlьlх с нoNlсpапlи I{рсди1llЬIх I{^pт lJлll

.ц]угоji конфидe11цпаЛL'lloii лlкlroрпiaцxеIi (ссткlтвс1l1]о' jloдЛoЛirIой), BсЯкaяIoЛьlткa o6Paцсн' lЯ к 1aко}l}, фаi]Лv' pавнo r{t l J . l1 l l0 l0 lЬ. l0]а l Iпe l loх] lщс]tнol l

Iiнфop]llацllll llа ilРактIll{еj rrедвусм ьк:jlсrI lrо сllIiдет€Льствyст o взJlo]\1с' сylцe.

.ТDу l о т l ] Лpу г l I е спос06 r ' l l l ( ) N l ] t i l i l aPyшI l т с i с i i ' l l o Bсo o r |1 J T i l к l I , r r I п I ] ачс свo -

, Lя l ся к n rест I i l IN l ша6 'Ц0 l l lN l ' а з I l ач I l т ' в пР r Iяц l l l l с l l е с l I 0 с ( )6 l пn РaспoзнaTь хц

li.poв с не,I.рlIвI{arlьIlьIпj NlъIпI"r](]ни(]il'

l \ J l u t | ( г ' ' l г я , п l з м n , , , ' ' 1 r l | ' ' | , v | , , | | l l l L l ' , | , | | l l | | , | | , | - | , l

llзЛомцI1l.l!1o)l(с1 l|хо6()iil.п пollPo6у('Nl l)ilix)6PаrЬся' кaк,

пoдгoтoBкA кAтAкЕ'ц'llя Ilaчanа хilкcPу U()1Pс6yс |с' llаllc)кIlliii кtlllа"! (']JЯзl.т' Ч1r).Лn ]lЯilи l]з oPl.illloB

||е NllЛлll его o'ГсJ,с](!l'гь, с1]юГ() ГoвoрЯ, о1'с"'rox(llвaю] (l'l lIсс l{itll.lЛЬl, o]{11llкo ст0.

I l ( ' l lЬ : l i l u l r ' I I le I l l l oст l I к1 l ) lцo l .о I1 : l I l х рaJ ! I l I l r l a ' ] ]сJи вЬ l l i ахo 'Lитeсь R l ]Л|Poкo

вcULаl.e"llьlrcii сeTп' дЛя усll(.lПIiоi] маскItрoпкl'l rvto)кIlr) ()l.pirrt11Чl.lTЬся lсЛoнr!po-

BаIlllсl!1 чy)ФIо I]) LI M]\с aдрoса (ссr.е(Tвсllllo' ILJlоllIlPуl]I{llя llаxll,lllа в Ilомснт

аTaки дoJlx{нa 6ыТь I1еaктIIвIl:t), ]IPи yсnoвиul чП) я Лrlj(iLjlь]]oi.i сстI'l uс yстa.

lloвJ]oнo ]lиxaкoгo дllпо.flнlIтсЛЬllol.o o()оPу/.lоваllпя дJIя опPL!lс,l']llия lr.iрyxIr.t

те"! €ii' иllонтllфицироrаTь хllкrPа nРак'Г]IЧссlt|1 l(сRо3]iIo)кlтo' хoтя 3дссЬ есTь

о/trlo <по', ЕсЛи l1ашlrна хnкеpa yязRпI!a' honсуPol rЧo)Кс1. lleirаileтнo з.l6po.

сltтЬ IIa егo компьIoтeP <жучкa' ф Bсеми въlтcкaющ'lItц IJ1.сro,la llосJ.]eдстви,l.

ми, NIllol.rlе Ilaчll'aJorцrlr з.!oyмьllxJJе ll l |'l кп .nовяTсЯ на сoоklс' nерe/laплъ1е чс-

Рcз 6pаy;сIr (вот JiaN]ерьlI),

Для нaдcжнoсTи .'1у чшe aTаIiовaтъ }xсPтву rrс наlI ря[{Ую ' a ] lеpе3 цcпoчку иJ l.peх

пя'Гll хaкrryтьIх l{oмllЬю,Геpoв, а в интePнст вЬlходlrTь пo лрoTокоJly GPRS чеРез

чу)коii сoTовьIl:i тrjiефoн, кaк IrO)кllo дa"Iъ]fle отъехaв oт свосгo oспotlпо].o ]\I €ста

я{ите.lrьс]тваl qто6ЬI вaс tle с]\1olл'l запо.llснl.oвaтЬ, Bь1хo/.lпTь n сеTъ по ]roмIiуTп.

pуемоIlly 'lосTупу pавнoси"]lьно сдмov6иi]стпv' в oсо6cн]lостx сo сroе].o лoltа1]I

нelo тeлсфoнJlo1.o tlo]!{eР:1' нe нaдer]т€сь ни на кilкI,e проксl.l oнl1 вас Ilс спa-

сy 'Г ' ' Гoч l lее1 r ' Iо Iyт l tе спасT l . l ' пoсrLоJrъI{у t1] tкorДn Jaрaпе € I Jе l l звесТ l1o '

прoтoкoлripyeтJ.l,Iдaнньlii Лpoкси.сeРrrер все пoдкrrючс11]]я иJ1и пeт, NIrroп1с 6сс.

nJrаTtlЬIе пРокси rj /.tействитeIъ11oст]1 явJlяюTся прпNIа1шLаr{1т' I{ol.oP6]е устaнoвЛеlrЬl с1lецсJryж6ами и сущeствeнrrо пolloйto1 ll]!l в oтлове xaксpoв,

Page 307: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з08 rлава 18. hoпeyроtlы/ Или ха

сPЬIBAя ByAлЬ тЬMЬlПpеll!1e .rсlr 6рoсатr'ся в 6oii' riео6хoдиrlo тJrlатс,JъIlo т]зyчптьсвoeго ] lрoтIвнra(а: рсl{oнстрyпрoвaTь топоЛoгию сетIll o]Ipeде,пlIтъ мrсTа нalбoпЬшсlо сxoпJIеl0lяI прo-Гlrroдс]iстщlolдrlх си-lIllj ес1е(:тIJсI]нo. поI]'п.аться llьlяви1ъ всe h()пеуpot'ъl (pис. 18,2).oсIlоBrrыII oPY}киеiI хак{rрa lla э].oй ст:t,.iи lr аTaки 6vде г сканeр пор-гов, рабоTaloщи]i чeРe3 <,1lсlIoil> vзе.ll l.l пoтonlv наде)кIli) (1{]]ЬIваrо]цltii lP.атaкy|!)1цсгo (лoлРoбrlсс сNt, Jлаllv 17 <o6хolL6pандrvаvJpoв спaPvяси Jl Iвну1'р1l'),Яв]iо yязв].lмЬlc сеРl]ч)ьr Lrytrrrе сpазу oт6pосlrть с] въ]сoкoi,I с1е]tсяью вeрoяT'lloстIJ сРс'1|t н]lх liрисук:т!уro'Г honoy|оt,l,I' ДотРагilвilться '1o кoтоPЬrх кl1.егo.prгlоски яс6сзoпасtlrl, ИсклIо'lс11l1c сoсTlв'цяloт, пoжa.пyii' ,'rlшь осrioвru,rс rrу6.nIг I ] l J t |с ссpвсI )ь l t (о r lЛaпп] l j l rаспon( ,ксI lньJe B DNIZ.зoI l с ' . сoвпсtца]ь пх слonL]vPoL oNi itикol1l Ilе IЩ1дсТ в ro,пoxу (пPa]rл;i' lla JrIп 8llo'1нс мo)кс I pа6oтаTЬ(llсrcr!tl (]6}J.1l)у)rсн jrЯ пTор'кelllIii).

snod J Looqпa

d

з

Б

Log lи9rГ-''

R"

J в*r' fк

l;;;'.

Lоoоnо ]rs.er) I

- I

|y stroko/сommand execll € i Poliсy Mqr i---r-- 'I I

- i Rolback I| - - -{--* l ll Г*:..J l|

f;r,'i"s;lLчg:4Г-:-'--, l

-_-т--

l tкМ |evel I

I e , r ' e , , i o .

г-:' , :-: - l l l) l Reа r tme

lllEПГR"Ib""Фd

Pис' 18.2. Устpoйсгво типичнo.о hoлeурotЪ

Бeзoшаснee вссгo атаковать pa6o,rrrе стапurrl liоPr lоpаTЛsiloЛ ссTrll рaспoЛorr{сн]rъlе зa бpalrдrЕyэрoil (8с:rл Teкoi1 ДеIiствt1тrlьпo eсть)' Bepoятнoс1ь lrаpваться

Page 308: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з09

} Е Ьоneypot l{rпr1Ii\!aЛьIrа, 1{ нссчас1] no ДЛя aтai{yiоlцегo' Рa6очие стаt1ции сoдep-,ка1.l|а]\IIioго ]\'епЪIxе Дъ]p' чсIl ссрвсРllьIe пРl.lлo)ItеIllrя' а пoто]шy aтalioваl.ь 3Дeсьосo6е|п]о lr нечeго,

APтoБстPEл oтBлЕкAюЩиx ]t,lAHЕBPoвBьr6pаl хеpтву' пе тopolтllтссЬ xptlс].уllil11r к.lTакe' Пре)кде y6едитесъ' чтo ос.ноэrrr'tс приllпакrr ЬоrlеyPо|'a oтсvтсТвуrr1 ( уirсrl о6(:J|у)кивaеT RrlеrlrrrIJй тРaфиit,lIп]сст irо!l(lnll.JPацrlю. оT-Tli.ilJy]о от liоfldnirvPaц11и ]lo уIroЛчallиlo' JlсгiUIьlIo испо.пьЗyется oста,I]Ьнъtlxl учас,1l]lкnN|l| (з'rll п т. д') Tеп€Рь д,1Я нагнстaния ltсtl.хОjloгlltleскoгo tl.1пpя'xсllllя u(]сlt()l ']<) nl|сji liill eliсt]вi]о ск:tппРvI:lте п1rPтьI' за-( ]ЬrЛrut | |а l l c lФтopъ le Лз lЛ lх pазr l l Iч l l t ' l с бс(1)1r ' | ( ] r |с l l l lЬ |e ' ] | ( ) в l l епп lе yгPoт{ающ11с(],LP()rrи' u[l]{1rI1))Iя nтакY нa lIсPсxoJltlсItr.lс буi)сlrr.

'Lъгдa адN]tJlIlIстРатоР},6yдcт

llс-|;iк To просто рaзo6paться' r'rlrс''ro llrr llс{,l() ]]с;l:lЬllоc llеpeJlоЛпeнпо 6yфсpаr l '111||1] | ' a L1 ' " ' L l l l l i \ {сЛo 1o кaк l l } I I iмсI rнo i J l l l rPо(o l l ( )су lцц: 'Г | j . r |я ' ' L l ) сЬ .

вс , гсс1r re l I |ю ' aPто6сTPсЛ I l собхoдj l } I ( ] вcс j . l l ' l с ] )с l l J i l ( |Lи| r l c} t l l ] i i ] к i l i J lUI ' п пРoтиn.

] loм . r |Yчас в i r ( ] ЛЬr]Lq)y ' i с IО l (хo , r .я l с lоP l lц l lЧсскo l l тоЧк l lзPс l I11я) с l {aI l l 'Лo]] l l l l l l ( ' IюP1or r ' I l0 L | | ) I lв ( ) '1 ' l |к l ] I ( I j . сапкп|| ( ) | l р( )R l lппoп{у Лoсту .J IY l пIJoЛ l l с i ]n lФ]| lк ] l l I i l ] |Pа| i | | l | ( ]LoI i ( ] , l r rYс ,L ' i ] l к ( ) | | ,1 l l к l i х Л){у l I г (e j ] , г J laсяп iи l ' ] : I |с

дoрГ, l i i 3n х l ]oсT 6Л l i ) ]{ ] l с г ( , с l ( ,0|о) (РI l с . ] t j ' 3 ) ,

да lньх с мeдoм

горшки c мeдoмбез пр0водoв

Pис. 18'з. Исспедoвaниe ЛокaлЬнoй сeти

AтAкA нA HoNEYPoтБ}пy,lи пo сrroeri пРироде 06ьг!ньIrI узЛoll соти' honсуpot пoдвсP)tiсн paзj]11ч.пьnf DoS aтаItаl!', наx6о,lсе yязв]l]] ссTcвoii ссrlсop' 06'заннЬIii llрoсnушnвaTь

Page 309: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

310 rлава ш. honеypotЬl или xакepь|лю6ят мeд

весь пpoxoдящий трaфик. Если хакeрy Удастся вьrвeс'rи erо из иlpьI' ,ro фaкт

втoр)кeниЯ в систeмy нa некoтopoе Bpeмя oстafieTся незaмeчепнInм, ЕстествeII-пol a,rакyепfьIй y3eл дoл,кеil oсTaTъся }кив' }Illaчe бyдет ]ieкoгo атакoвaтъ' Будемисхoдить llз тolo' чтo сelrсop привимaeт всe пакетъI; тolдa' rroсЛaв пai(eT пa несy.щсствyющиЙ yзел или aдpeсoвaв eгo любoмy дPyloмy пeнyжнol{y yзЛy, Mьt зa.вaлим вpа]кинy rraповan.

кaIс ваpиa1rT, мoжr'o нaвoДItит! сеть sYN-пакeтами (шrштeв иEтeDнeтe oписa.н ||e sYN.атаки ) nли вЬlзва1L ЕСнo,dеаth (ш Гopм lсMP- l .а,{е1oв. l lалpавЛPII.rrый па жертвy с нeскoЛьl(их десяткoв мoцньlх сеРвеpoв| qтo дoстигaeтся спy.фингoм IP.aДprсoв' тo eсть пoсъ1л(oй эхo-зaпpoсoв oт имени )ltсртsьI).самy ,.e аTaIсу Jryч lе всelo oсущeствлять пoвepх прoтoкoлoв, yстoйчивьlх к лe-PехваTy TрафI'Iка и пollдep)кивaющих пpoзpачlloe lrrифpoваl]ие' oсЛепJlяющeeсетetoй cенсoP. чaш{e всercДля этoй цeЛи исJroлъзyeтcя sstI (sесuгe shell)' oд.накo oп oIpaниqивaеT tsьI6op атaкyющelo тoлЬI(o явIlo пoддеP'rивaloщими eтoузлaп{и) qтo свoдит пa lteтвeсь вътигpьIш oт lrlифрoaaни'I.

yтoHyBшиE в lvlEдyЕcли aтaкyeмъIй узeл всe.rаки oказался honеypot'oм' тo все дсйствt,и aтaкуIo.щегo Ли6o вoo6щe нe вoзьIМеют l{икакoгo yспeхa (yязвимьIiI сеPвeр мoлчa <cъe.дaет' зa6рoшенньIй shell.rсoд, испpавпo прoдoJDкaя pа6oTaTь), ,'rи60 пoкфкyтпyстoЙ рссуPс, нe сoдeр)кaщий праIоически IIичегo интеpсснoro. в этoй сиr.Уa.ции lлaвноe _ пe зaпанllкoвaть и пе Paстерятъся. пеpвЫм дeлoм llеo6хoдимoиз6авится oт т.oMпPoмстирyющe.o вaс сoтoвoтo тeЛефoна (пи в кoeм слyчае нeoгРaличивaйтeсъ oднoй лишЬ вьlемкoй sIМ-lGpтьI, пoскoльIсy тrлrфoн тaloкeсoдерrкит свoй со6ствепнъIй идrнтификациolrньiй lroмер), Зaтсм слeдveт смo.Tаться с местa прeсryплel!ия| пoвoзмo)кIloсти нeпривлeкaя Еичъeгo IltlI,IмaItиЯ.]],сr'Iи 'сe въI атакoвanI] )кеPтвy из,'roк;LцъноЙ сrти прoстo УничтoхьTe все oт.lloсящееся к атaкe прoграммнoe o6eспe'rение rI связariньrе с этиNt фaйЛьI' вклю'чaя врeп{енньIe (pис. 1B,4)'Естeствeнно' сказаЕпoe выrnо oTтloсится тoльIto к aтaкаi' нa дeйствитeЛьlto се'рьe3пьIe PссуРсы (roсyДaрствrтrньiе сaйты, 6а]ткoвскиe yчpеждeния и T, д,). oжи-ДaтЬ, чтo пoслe в3ЛoМа чьeй'тo дoмашней стpаIlички зa вaс вoзьМутся всepъeз'Ilескoлькo тIаивпo,

Page 310: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кorдё вeсЬ !'ед сьeдeн,, з11

пoпь|тка yстаNoвлeния тсP.сO6диневия

Pис.18.4. АтакyloщиЙ дYмает, чтo oн aтакyeтyЯзвиMьLЙ сepвис,в действителЬнoсти oн yпал в гoршoк (с MeдoM)

кoгдA вЕсЬ lvtEд съЕдEн'..сиЛа hoпcурotbв ts их lIoBи3Ilе ll пеlJЗучerlrloстtt' У хаrteРoп eпlе rl €т адeкват.

ll'lх lilстoдltк tlpo,(.и|]0с1'()яllия' о/lIlaко IIе сTо]lт Лaд'rЯтЬся' ч'Го таxая расстaно3.кa сltJI сoхpllttиl'ся ll в l(:Lцьllсiilll €пi. AРх]rгel{тyРn hоlleYPоtъв плoх{l пРoРa6oтa.

на и у'tзвI,tма. Уж0 cеt.olLlIя оIlьгГllo]!1y вЗЛопril1rjr{у lJ!Iчогo стоптo6oiiти пх' 3anтРa

nсo э'гo 6yДс1. УNlс'гь ка'(дlnй Uo/lPoс|.0к' ус1'а]|o|rl'isIIЛrii UNiх и u3явruийся зa

клaвиа1уРy,

Page 311: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

\

\

vГЛABA 19

PЬ!БHAя лoBля B лoкAлЬHoЙсEти. SNIFFERING

сстeвoй тpaqЙк сo,'ll.Р'{]{т уiiму rпflсРcсЛoгo (пaРоJ]ltj ]loмeрa кpeдиTпьlх tapт'кoп(pи/Lel lЦ uа-'I ьI lylo пcРrписку ) _ rl псe:JTo Nr()жсТ сTатьвaшимl eсJIЛ забpoситЬn сeтьсllи(хDcP' l Iсpсхва,r' rI] lфo рIllаIIIlи _зalt'lтис пaстoЛькo )кe иItl'срссlloс| }ta.скoЛькo }l llсr)сзoIlасIJос' Пoпул'pt'Ьтe сrnlф4)rРы цllI{аIс нe сI(рьIвaюl.свосгo пpи.с}TстR!lя ll Jlсl.кo о6]raру)Itиваrотся адмlll l шс,l.РаToPаNlu' хoтиTr и36e}мTЬ paсllpa.вьI? II]I]xIlте свoй сo6сТвсннЬlii сниффер' п сeйчaс мьI пoкfuкeМ' кaк.Pазрa6oткa сo6oтвeнлoгo с]lиффсPа это хoрoшtji'i спoсo6 поупрaл(IlятьсяЬ ||poггам\ l||PoBaнl|и, I lo l 'Un11L.я в "nдPaY oпePaILиol|нoй .y. , l .NIь l и и3yчить6oJъrxос кoличecтBo сeтeвьIх лрoтoкoлoв. I{opoче IoвoР,Il сoвrtteстптЬ прI,Iятнoeс пoЛeзньlм. Мoxllo, кoнeчноl испo,tьзoRать и гoтoвЬlс yтилитъI' llo этo все pав.нo чтo cтрелять в кaбaltа' пpllвязariногo ]( деревy, . ни азaртa| rlи уlloвлстsoРe.

ЦЕлv| 14 l"tEтoдЬl AтAкиaшффеpа'м11(oT a|I|J\, sniff. вьrнюхивaть) rlaзЬtвaюT ]rтилиTьl дЛя пeprхвaTасстевolo 'графикa' адрeсogaннoro дPyroмy узЛy (иЛи, в 6oлeе o6щeм сIyчae _вссro дoсryп]roro трафикal пРoхollЯщrlo irли нe прoхollящегo чеpeз дa }Iьlй xoст),БoЛь]Irlшствo сIrпффeрoв прeдсTaвляюT с06ой впoлне лeгалъ}iъте сpeДстBа мo.нитoPиlilа и нe трe6yюT yсз аiloвки дol]олвиTeльлoгo о6olryдoвапия, Tем нe мс.нсо ]lх исIloльзoва}Iиe в с16щсм сл)rчае нeзalсoннo и тpе6yeт сooтветствyюших

Page 312: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

;Iojlt1oilloч'r!I (напpIrп'eР' j\'ol]тep }Io'.!'T ]loдкjIloчaться к теJ.Jе{l,о]l]t]JlIt ltpoвt]даIlle въl нeт). кстат1lroвоpя' сnoUo <snj|fсI' яв'{яeiся тopговo]i i1apкоi] кolttlа}r]]]'litс|work Аssoсjаtеs' paспросTРаI{яю[lсil сстсвoй aнajlПзaтор <sпiшсг(0 NсLwoIk.\nаlvzrг>. испoлъзoвa'Гъ DтоI TepI!1Il в oтflollJсн,Iп лpyгIlх lIP.]rpаi1}l с юPxди.чсскoй точки зpeltия r lе]laкol un], llo'', х Е RoХ тoжс тoprоuая llаpка] oд1]а l{o Л I] Рo-сToPечIrи всe копrц)oваJI ьв ЬIe а1] llаpаTьl Irrзав]1сIrм о oт Л х 1lpollсхo'I{дсния ]rазъIвaют ксeРоi{самtl' Il lltl]lTo oтэтol.о сЦс lJе постpaj!]L!'

oбьеrстoм атакrt lIожст вьIступа1.ьi лoкa].]ьlIая ссT' (как хa6ouьIii' тaк l| свjlTЧе-gЬlii aPхитектopы)' глo6furьflая сеть 0] кс llрu yодlrrv]roN{ пoЛкJiIo.JelllII|])' сl|у Ёltuкoвl,lil и i1o6l1ЛьньIй иптrрнeт, 6еспрosoдIIь]е сp(ilсTвa свяЗ11 (иК. ГоJyб()iiij\'6) n T, д, глав]rьDf о6рaзoпr rtьr 6ylr."м Гов()рt]1.ь о JloкаrrьIrьIх с1'аJlЬ1!ше Pассмoтp].lll лишЬ r(Рагltoi тaIL как оll|,t,Цlс6у;от сoвсем дpугото поlLхoлa'

ГIo llсr'tutу вoзttоiiстпlrяr на ]xepтву су]цeствYl(rlllIlC llтilкtr ]\{oл!tlo Pnзд{rJl]IТЬ rJ:L,1Da тllIIai llасCив]l!tс lt ilJ{1!lgнl,]с. |Iaссllвllъlii с'Ill(],(l,cpIr'll noзвоЛЯсT псpсхnaTьIIraтЬли|пь Tу чaс-IЬ Трirф!'liа' ко r()рая qnlзичссl{l] пp0х(),lll]т чсP.r /lа]Iill'Iii IзсlBсе oстаJIьIl()e \|о)к0T 6ы]l, l|(r,x\,Чсlit] 'llltl1Iь llyl.спI пРяпI()Г() !Nlс!r;Lrс"llьс1вa в сс.тевьI€ IlpоItсссьl (N1оlltI(l'rкl]ulя Tаб"'l!lц ]ЧaрJllPvTllJlllll'l1ij o,l.]ll)iшгil llo'l(no}кнь]хпaJ{cn)в I t l , . д . ) ' сч , l ' Г i l с ' I ся ' ч11] ] l i l сс l j l l i l t , I i i t | срохr raт o ' l r : r rь r pvдr rо о6 l rаPул l l l ' п ,('LlIi]кo i)1.() ]lс,l,аl(' llo llс 6удслl зn6сrlть лrrе]lrl;t .,

xAБЬl и yxAБЬl{".юЛ (oT ангJi. huЬ сц,пrrrtа кoлeсa)l lt'llll' xlltlчс rовoРя, lo1!u)е1onpапоРоjl'назьiвaют l'tloгoпoртовt'.|i\ peпun1оp (\юts|oPШсjlЬ), Получllп ЛaIIllI,]е пil o/LlllI }''jпopтовl рeпIrтop lleМe/lЛеlllк) lIcРсr|дnравJUrст rlх на остальIjЬlе пoP,гЬJ' B 'Фа|lс|l'аxЬltьlх сстяx PcпиTор не яBJ.]яеTся о6язa1.сlЬllыNl пol1llol!с]rтoм' rl пPlI пoдI{ЛIoченrп t ltе1.oДом о6ltteii rпtlllъl lto)кllo ()ljoi'i].исЬ 6i]з нсro (Pl lс' l 9 ' 1 ).

Pис.19.1. тoполoгиЯ обцeй шиHЬ

B сетях нa витoir паpо r/.iD' Реtlи юр npисYТствyст xзначаlьlro

сe1 : r \ . r r o сT ]юе l I I l Ь ] х l ! o Т i ) i I o ' 1 l i i

(р l Iс ' 19.2).

Page 313: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з14 глава 19. рЬбнёЯ лoвля влoкалЬнoй сeти _snifiеing

с6?ll'тq (oт aнгJ, switсh . кolj м уТrToP ), 1alurс пaзыBаеi1ьIii ]lяТс.IJrсктyaЛЪllьri1хабoм/lraprшpутпзar.ryoIl' Ilрqк]'l.а,J'ц'(]т сo6оii pa3lroвЛ]r]lосTr, pспrtтоPa, пеРе-дaюЩсlo дaн Il Ьlе ,].o"ll ько llа |l()РтToro y3jnj кo,r.()PoпIv oI l l1 аllресованьI ' чтo пPe'/]oTвPаtцacт Boзl\{oл{lюс'ГI, lloрсхlrlLTil'lpа'Dllкa (вo всякоNl tуЧаe тeoP€тlгlес-ки).

пAссивHыЙ пEPEXвAт тPAФикAлoкaJlьl|аЛ ссTЬ уx(с дaвпo с1аna сlIlloltllNIo]!{ сЛoва Еthe l0t' a в ЕLhсшct.сстях'посТPoсIltiЬlx пo тoпоJlofJlи 06||lсii UlllIll,l' кiu(дЬIi'i испyск:lсмь|ii лакеT дocтrв-Jlяc1.ся tsссм yчастlllп{а]!f сe'гп. сe'гeвi]'| кlll)'Га на aппдPaпl()]\l уpoв11o axаnl'lзиpyеTзal.oлoв|си lInксToв п свсpяетсвoii 4'tlltчс(кllii a]rPсс (тa0(е llаiiывaсмыil МAс.4црeсоI!i) с aдPcсoll' пpoписанlп,llt п iJtIrспlсL-зaгoJloвке, nерeдавaя rlа IP'уpoвeпь ToJ]Ькo <(свol' ltaкL.тьI'

ДЛя пeРeхвaTа Tрафl'lrtа парту нео5ходлпrо rreрсКс.Гr,B 1lе|.1з6o|)чuвьLй (promis.спous) pе,(им, в ltоTopoм на IР-ypoвeпь пеРе/ralo-|ся всe пРипятЬlе ltaкеTЬl, I.Ic.

Pаз6оpчивЬlй pе)кllll пoддеPЛo]ваeт пOДaвlLяlощсс 6o.rьпп]пствlJ станДaр'гньIхкаpт' ]тpoвoциpу'I изl1I Iпe лl[)6опI,ITI t!lх l IoIьзoвaтс-Iеii lrа пРoнl]кнoвсниe Il иti'TtINilIy]o ){tизнь oсталЪIlь]х учnсTIl jtкoв сст],1,

Ilсpcход на вrттyro паpу с не]'1}1то.пrtсктуа-'тЬ]lьlм ха6ом нrrчero Iте мепяeт _ oт.пРaвJrяе]t{ьlе пaкeТьr дy6JиРуются flа каяlдьIii вьrхoд xa6a и rра6ятся lro тoir жосаl'oil схеN{e. И нтсJlЛсIrтyaпьньUi xа6' саNюсТoяТсЛьно анализrц]Уlощий заIoЛoвIrипакeтoв !l дoставЛя]ощfifl rrх ToJпnrc l.еrt yзЛамl д"r]я rrотoрЬlх oни xрсДIraзнaчe-пьт' Iц]l]дol в РаrrlxсТ l1lс.l l вl] ьoi ll('Рсхв.] вЬIIlv'{Дая a'ГаI{у!rщего псPсхoдить к aк-т'!в!llnпl дсiiс'r вияll l pазгonор о коTopЬlх нас ждеT вперeди,

Тallихt o6paзoхl' dля pеanuЗацuu nассuвнozo снuффсpа мы Оo.,tн-ны nеpевеспu се|1е3ц10 кпРпц в нl]pаз6opuuвьLi pе:llлl,lt u сaзdamь сыРan (rа.a) сoКеп, dающuЙ ao-с1n!|1 кa всrlta ' чmo ва''|uпся 1n Aа11ньrii I P-uнmеpфсIic' o6ъ1чныe coКе.|ъ| /]'Iя этoilцe.nцlIе подхol1ятl floскo.riьliy приrlиNiаIоT тor1ькo явнo aдpесoвaнные им пaкeтьI'

Pи.' 19.2.

Page 314: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пассивныЙ перехвaттрафикa з15

пoступаIoщие на зaдаirrrьIй порт' "цel.altнь1е с]rиффePьI чaщекРoсс-lIJ]aтфopмerniy!] 6иб,rпoтеку |ibсар, oдfl aкo I{астояn1иет:l,oт Раirpa6аТьIвать ядPо сlrиффePa сaNloстoятсЛЬнo (Pис. 19

вссro j'lспo.1Ьзуloт

3) .

Pис.19'з. сниффep за pа6отoй

OперaЦиO]lllЬlс сlстсIv'ьI сeМеirсTвa UNIХ 6Joкирyloт прЯпioii дoсTvII !r о6оPyдовaIllllo с прllкла/.llloго урoвIш (тaк чTo пеРeпрогрaмNil]l]овaть ссTевуlo каr]TvIlРoсто так пе y/]aстся)l oДflaкo всc r'rе прeдостlrвЛ,llo'Г с]Iсrlllа,tЬlь]e ръIчaIи ]l'ц,,lllоPевoДa пптерфcйсa в нсPаз6oPчr,tвьrй pФкимiлpaвlrа] в разли'IlIьтх UNIх'ахэTllPьгIaгIl с''ль]lо tlеодинaкoвьIj чтo супIествеllнo vсло}ltl{яет пaшу задачy,в сос'Гaв BsD входит спcци;rjъньiй пакeт]iь|ii фиnлp (BPF ]]SD Р.]аеLГil|еr),пoдДеР)к1IвaIoщ!lй ги6lrvю схеl{y вьI6opoч]loгO ]]сpcхвата чv)кrlх паt{е,|o! x сo-ошeтствуIoщиii устPoriс'Гвv /dev/bpf' пеpевод интcpфe]iса rr r IеРаз6oр ч]'lвl,lii рс-)i(llм oсyпк]сTtsJlЯсTся пoсредствol' IoCТL и вьIглядит пpпбirlзl.lТt].JlЬнo тa]{:ioсt](fd, вIOсPR0I{Isс' 0)'гдefd ДeскриптopинтсPфейсa,a BIoсPRoNl]sсvп!aв'rтяюц]1й IОСTL-кoд' в solaгis,e все осyществЛяется анаJIоr.ичl1o' нс сolrlадасT тoль(o IoсTL-кoД' rl yстрoйствo нa3ывaеTся нс bpf' а hme. ПохожI,li!!o6Рaзoм ведет себя и sUNos' пpeдoставЛяIoщая l.loтorroвьil:i Дpaйвeр псeвДo.yстPойствa l]it' Taкхe н^зЫBaeмыit |'P|1нuкoм в сеmевФv шmеpфеnсe (Nеt1LorhI|1tе1tасе Tаp' NID.B oтличие oт пaкeт]lогo филЬтpa BРF, пoтокoвьiй q)иЛЬтpNIС перех!aтьlвае,. ToлЬI.o вхoдящие пакeтьIl пoзвoлЯя исxoдящи[1 прoшмЬ]l.Irутъ lllrмo нero' к Toму ]ке oн нaмнoгo мeдЛeпЛеe pa6oтаeт' инyю схемv гра-

Page 315: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з16 глава 19. pЬ6яаЯ лoвля влoкальNoй сФи _ snifferлg

бeжaтpaфrlкa реir-lt]13yст LINUх, пot,церnLпва'oщая сllсциалъньrе IoсTL-IФдЬlдЛя rзаuIIодсйствия с сетьiо irа ypoв]iе дРa]iвсpов- пРостo сoздaiiTе сшpoй сo-кст вьIзoвоI{ soсkеt (PF PAсKЕТ' s0сК-RАl,{' int pгоtoсo] ) и rtеPевrllитс связalrный с ниrll l!нтeРфeйс в Uepaз6oрчивl,tri Pс'rпм ifг'jfr-flаgs = IFF PRoПISс;ioсt] (s . s]0сGiГFLAGS. j f r) , цc s ДескPt lптoр сoкcTl| a i f r пптеРl l )е i iс ,

нижe пPItвoдrlTся no"'1нoстью гoтoвая к yпо'Dе6Jlснию фvпкцJiя' п()дгol.aв''Irl.вaIoU]ая сьlpoii сoкст к pа6oтс с пеpeвo,lоNl ltll,|сРi)с]iса в rlepаз6оpч|lвl,li] Pс-я(им и пol1llсpживающaя 6oльпroе кo,rпчество разntrчньlх опePa'lиoIlltllх с11с.-гeм ( 'пис1.и l l1 . 19,1) ' I{а1t-тo: sUN os, I- t]NUх' Ггсс вsD' ]R]х l l so lаг is 'въIteРпyТaя из сllи(lхDерa' ]1схoдньrй текст ко'Г()Iх)|() }1.'кнo flаiiтll по ljlРесу:http|//pасkеtstоrmseсuritу'org/snifiеrs/gdd 1з.с'

лrсJх|r. L9'1, созданиe сьpогo сoкeта (дeскpипторa) сперeвoдомиlrтepфейсa в нeраз6opчивый peжИ'

Еthe.net расkсL snlIlсг сгеedyOlrlr vегnon ] ]0The snаdо! PenоUiп sec! .]|) ' (httD://strаdо!рengu]п b iсkseсt 0п nс|)l'lг]tten lr, l]NYl]N (unrrln4!h0uso nсt)

#] ld € f su, !0s4 /{. . . ' . .<

#def ine DЕгдUL l . 'N]с#d€fine сl]L]Nс1ZЕ

#ifdei L lN l rx /*#dеfin€ N]T-DЕV#dеf ine DЕгAULТ NIС#dof]nо сI]UNKSIzЕ

#i ldеf Е]tЕвsD /* <#def inе NIт 0ЕV+def inе DЕЕАlLт.N]с#dеfiie сн!l,]кslZL

sUN 054 , *l

4096

L . t N U l > - - . , - . . - . . , - - { /

з?0|r0

Е г e e в s D > - . ' . * /

32000

# l f d e f l R I r / * ' ' - - - . ' - . - ' < I t t l r >#def]nе NII t rЕV+def]nе DtгАt]Lт NIс#d € f ine сH!N$] lЕ 60000#dсf jno Ё lнЁяHDi lPАO RA!IDRPAD(5]zеOf(struс|ёt l reгheаdе.))

#rfdef sOLАR]s /* <#def]nr NiT DЕv+dеf]nе DЕFAULT N]С+defiпe сIUNKSIZЕ

so l а . r s > - ' . . - - r I

32t68

Page 316: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.:.сивный п€р€xват трафика эL7

. ] : . ino s DЕвUG

.:: i ine 5]ZЕ 0Г ЕТнHDR-::: ine LOGF]| 'Е.: : : iпe т]{PLoG DIR

#ifdеf sUNOs4struсt stГioс| s lL] rnt сhLrnks]ze =

i i и ' г , l о g .

sоurсе]Pt16] 'dе5t]Рt16] |sOurс €РOгt .dеstPoГt i

s tгUсL t imсVal Lrпеlrut iс lUNKs]ZЕ. u lOng r f f la9s

:: .uсt сOnn l rst *с]; stгuсt сопn-]]st lогg.с l

- l...f 5OLАRIS]пt stГgеt i5!( f . ct lp l la99p сa l leГ)

stгti €t stгb!]f *сt]prnt *f lаgspсhdг *сd l ] е .

{

stаtrс с l raгerг|rrsg[80]

* f l а g s р . 0 :l i ( ( rс- .]et|] lsa(fd,с|]p NULL, f ] dg5p) )<0) r € |Lrrn( '2) ]r f ( а ] a m ( 0 ) < 0 ) r e t u г n ( . з )f (( lс8( l"10RЕс] 'L l . l0]][DAlд)] . . ( l10RtстL l l ]0RЕDд]А)) .cIL] .n( .4):

i i (гс&МORЕстL) .eturn(.5)|] f (Гс&М0RЕDдтА) return(.6) :] f ( с | ] D ' e п < s j z е O l ( ] о n g ) ) Г e t u Г n ( . i ) :

li сndi f

]nI setn iс prOmisс(nrt drv nrс аmo)

int soсk] stnuсt i l геq t i

1 f

1 f

( (sос[ = OPen(n i t 'dеv . O_RDLNLY)) < 0)( roс t l (50с[ ' I -SRDOPт (сhd. *)RМSGD) < 0)

( iос t l {soс l , I P l . ] sн ' ibu f ) < 0)

N] PROМIsс:

Page 317: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з18 глава 19. pь,6rdq лoвлq влolаль o; сeт, _ rгifеrinq

л'в rн. 19'L (лpaДoлхениe)

t i ' r rеоUi , tv sес = 1 i t rmeоUt ' tV useс =5] iс- len = s]zеOf(r i0еO!t) i s i '1фpi f (]Oсt l (sOсk ] sIR ' (с l rаr *)8s] ) <

s i 1с-сmd = Ni0сsс lLJNK: 5 i 1с- lеn =si , iс dP . (сhаг *)&сlrun[s ize]

i f ( iосt l (sос[. i s . iR ' (с l rаг *)&' )

#ifd€f ЕRЕЕвsDсhaг d €v iсeI l2]: int n-0:

si rс спd = NiOсsтIшЕ

r 0) Гetuгn( 5)|

5tгuсt l rр i -v € гsrоn bv un5igned in| 5]z € i

o-

0 )

stгnсpy(f i f . -nаme nic-nаmе s izeol( ' . i l г -ndmе)) :f r f r nаmetsjze l r f ( f ' r f r паme) 1] = .\0 ' ] ' , rс сmd = Nт0св]NDsi , iс . l € n = s]zео '( i ) s i jс-dp = (сtrar *)8f:] f (]oсt l (soс l : , I -sтR (сhа. *)&5]) < 0) re lL] .n( '6)

s i ' jс спd - NlOсsЕLAGs; s l ]с . len - 5rzeоf(r f f ]а!s)s i iс-dр = (сhаГ *)&]1 i lа9s] f ( 1 о c t l ( s o с t ' ] - s l П ( с h а г * ) & s ] ) < 0 ) . ! . ш . n ( . 7 ) ;j f (1oсt](sосk ' l FLUs|] , (с l rаr *)| . UsNR) < 0) ГеtuГn( 8)|

f] fdef L]Nuхi f ((soсk*sоckс|(At- lNtг ,s0сK-PAс(L l , 768))<0) гоLurn(.1) i9tгсрy(f ' l f r -name' nrс-namе) ] i ( roс1](sосk s l0сс lFFLдGs.&г)<0) n € tuгn( '2) if , r fг f ]аgs i - ]гЕ рROl"]ISс j i ( i0сt l (sOсt sI0сs l| .ЕLAсs,8|)<0) .eIUгn(.з)

spг]ntf(devjсе ' '1s ld. 'n]t-deV i++) sOсk=оr"^n(dеV]се '0.R!0NLY)] 'h i le(sосk<0 E& е.Гno.-ЕвUsY)i f ( iосt l (srrсt ,в lQсVЕRs]0N,(сhаГ *)&bv)<0) .eLu.n( 2)]) l ((bv 'bv maJrrгI-8PЕ l tAJOR vЕl tsION) |( t jv ,bv п lnoг<BPl 111NoR vЕRsI0N))Геtuгn 3strnсpy(т ] f| nаmе ]с-nаme 5]zеоf( f ' ] f | .nanE)) ii f ( ]Oсt l (5осk,вI0сsЕтIЕ (с l raг *)Ef)<0] .еtuгn 4iосt](sосt 'в l0сPR0l ,1]sс,NULL) ] l (]oсt](5осk B]OсGвLЕN,( . l rаГ *)8sjzе)<0).eturn '5]

+r idef ]R]Хstruсt soсkaddr.aW sr i s t ruсt snOO! i r l t € r s i :lnt s]zе=сHUNKs]ZЕ оn=]; сha. *1лLe|fdсе

] i ((sосk=soсkе|(PF-RАL'] 'SOсK RAi ' l RA!Pл0т0 sN00P))<0) геturn '1 's.'sг-fam]lt = Aг-RAtl] sг 5г-]ro.t = 0:] f ( ] (]nte. fасе-(с l rаг *)!etenv( rnteгfасe ') )]momзсL(sг sг j inаmе 0 s j lеOi(5r ,sГ Lfnai r r)) ie l5e 5t .nсp!(5г.5г- i fnаme ]ntегfасe.5]zеOf(5г 'sГ ] fn imе)) i] f (b iл.{soс[,&sг 'zеof(sГ))<0) .еtu.n( 2): паm5еt(( . l rа. *)Esf '0 '5 izеоf(sf));

i f ( iOсt l (soсt s]0сАDI]SN00P 8s i)<0) гe lurn( 3)|

Page 318: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

16нaруaениe пассивногo лepeхвата з19

sеtsoсkoрi(soсk S0L-S0сKЕт,50-RсVвUг,(сhа. *)&sizе s]zеоf (s]zс)) i] f (]Oсt l (sосk 'sI0сsN00P]NG,&оn)<0) .еtuгn(.4) ;

= ldеf s0LАRIs]oпg buf[с l ]UN(s] lЕ]: d] аttасh геq t аГ r]]-ргomisсоn_.е!_t р. is .ГL]сt st . ioсt l sr ] L]n ion DL' ' r ]nr l t1ves *dp d l brnd rеq t brп] Г!qstгuсt st .br f с ]nt f la ls:

r f ({soс[=оpеi(n i t -dev '2))<0) геtuгn( 1)]

aГ,d l pr iп i t1Ve=0L AтIAсH RЕQI aг,d l .рpа=0 с,mаХlеn-0|с 1еn=5rzеоf(d]_аttdсh-.еq t); с huf=(сhаГ *)&аг:r f (рutпsc(sOсk 8с NULL'0)<0) гetL]rn( 2)|

с mах]en.снUNкs]zЕ с, ]en-0] с ,bUf.(vord *)buf ]stг!еtms9(soсk,&с.&f lа9s. ,d lOkасk. ) dp=(unrоn 0L.pгr]rr l t jv € s *)с buf l] f (dр >d]-p| jm]t]vе ] . DL-oк-Aск) ГеtuГi( 3);

pГ i ] -рг]пrL ive=!L-PR0МtsсоN-RЕ0 рг.]-]evе]=DL-PяO] ']]sс-PнYs с nraх lс .n = 0:. 1 e . - 5 ' / с O i d . - р o 1 s , o ' - , " q _ , b , i - , ' o | . 8 0 ,j f (рu!mss(soсk.8с N!LL '0)<0) гetu ln( '4) |

с .max]en'сH!N(s]ZЕ] c ] €n-0] с 'bL]f=(vо]d *)b l r l ]

s! . !cLmsg(soсk,&с,&f]ags. 'd]Okасk.) dр-(un1On DL-рn,]mlI jVеs *)с buI if d . . d _ 0 " . 1 . . . D j 0 r

b i r rd. .гeq,d1.pг i i r i I ive=DL-8IND-RЕQI b lnd-гeq d l -sdp=0х800]biid-r".q'dl.jni]x-с0nind=0 bind-.еq.dl-sегviс€-flOde=DL-сLDLsIo с . ' o о o ] - . o , 1 , | o 1 - 0 : , r 0 . " о , d ' d , ' , . 9 . 0

" ' . , " 0с lоn=sIz"oOi(d] b]nd r0!- t)] с ,b! f -(с l rаГ *)&brnd rеq;i f (put l l rs t](sOск &с l ! !LL '0)<0) геturn(.6)|

с mахlс i -сHUNKs]Zt с l0n=0] с,bt] f=(v ' r id *)оL]fstn l rеtms9(s0сk,&с,&i la9s 'd lb indасk.) i dp=(,n]On DL рГio i t iV0s *)с buii i (dp->dl pI lm1trV0 = DL в lND-AсK) rеturn(./)

sr ' rс сmr]-DLloсRАl i s i ' rс L пюut='1 i s i rс l0n=0i sr , iс dp=NL]LL]f ( iOсt l (sОс| ' I -sтR &s])<0).etu.л( 8):] f (]осt l (5oсk,]-| .L l , ]s l FLL.]sнR)<0) геtu.n( 9)

oБHAPyжEниE ]lAссиBHoгo пEPEXBAтAПepевoД иIrTepфeliсa в fieраз6oPчивьIй Реrким lle пpoходит 6eсс"r]едllo п J.Ieшoo6Ilаpу]кивaeтся УTилитoй ipсonf]в, отoбpа'каIoщeй elo статусi пpaвдa' дЛя эToIo

Page 319: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з20 rлава 19. Pыбная лoвля влОкалЬнOй сeти -sn]fferiпg

адl{иir стpаToP дoJl,ltе}1 и}1сть возмо'olость удz!]сt1нolo Зaпуска xрo[pajuj!1 на] \ l l U и | | e . I i ] к \ , | U ц l ' | o , B U | | i i у U , | ^ | , | ' к n , , I l + , у Ь , ' с п p . ' ' . | в oвать llлll llloДllф]rциpoвать кo,1 iРсon1lg ( t1 Дpyг]п :rналoгI'lч ll ЬJх сii yтxjlпт) тai{'чT06ьl ol]а вЬlдава.nа пoД.rloл(]lъIe r.IrllI]ьlс', К(Taт!r говopя, засr'tJaя снlIффоP нaчyкoй кoм11ьIoтеP' пorJrI11].e| ч1о el,о ttpllсутствIIе в пo]1авЛя]rrщсll 6oЛьlUпIrствrслyчaeЕ o6нaрy'tl]вaется ПмeIпlo xo iPсonfl8]

MнoIпе лсгaльпьle спифферьt авt.oмaтlrнссrtrr pезо".]вят все Itl)"(vчсltl]Ьlс IP.aд.

Pеса' вьrДaвая а,Гal.yюцL'l.o с roЛoвo]l, AдмLпlrlстра-Гop rtoсЬ]xает пaltет па ilrсylЦествующий MAс.адpсс oт/на IlесynIес'Гllуxr|цel! IP, Уз0л' пoxrl1epeсовitв!tlIji.ся дot1сtlньl^l rIмснсм даннoго IP' rl 6}'Де г уJJ()NI a гаxуюпlегo, ЕсТес1.всlrl}(), ссjJllаTакующuй xспoJrьзуeт сo6стBеllпьIii сllи4Лl)с])' вьrpy6rrт Dп.S l; rraстpoiiltах сс.,Letsolo сoсд,lнснxя ил]l oгРaл]rт Сe.)я J]('lаJlr'ньllr 6pапдlrау.lpошr' lдrшrrrrrcтpaтopoстaнrтся IJaелппe сo сl]ое}l з;lдtllЦ(']l,

кaк лaPиaIlT, адlllltltIсlPатоP ]\lo7iот пос]lатЬ I]а llcс.v[lсстrrтюiltrtji NJAс.аДРссllакстl llPсдназнaч€пrьlii лJя аTaltyLоц0n) (( дсiiствrrтсльlл,Ill ] |Llдрссoм rr lrop.тoм oтвeчaюпl € i i сnyжбь] ' I r : l l |РиNrсР ]с ]v1P ЕС l lo ' 6 . ) l сc l . | l lнс( ]1r l ( ) i i к i tк P iп8) ,Pа6oтaя в пr1laз6орvIIвoп рФlil1ll('' (сlсl]аяI l(арта пePеЛlо'Г l.itкo]i tllulст IJn lP.yPoвellь' lt T()1.6уllсt 6.r]аr.OIl(]"llyЧtto o6PaботaIl сrl(rт0моji' автоllilтичссIrп гcllо1)п.

P у I u I J с l l , j х o . U . . ' . , т I I n l i | ' , | | ' \ | ' | | l | | ' ' . , | ' ' | , \ l | к у ' , г ] ( v | , ' | , , ' . l i | ' , , , , к ' , , . ' r , | | , u , l { , ,

ICМP t I зaкрьrть всс ТС]rп() l ' |Ь l ' ' rT( ) N(Dк l | ( ) ( ' ( , . l ra rь с r rо l lолп, rо r r l г r l ;кс 61 lа r r l tмaуэрn _ коЛсч l Iо ' l l р I ' vсJ Ior l J I l i 1 I |11) ToT l ' с ( )Tк l ) ' i l r i ст l I l l l { ; l J{ I Iх д( ) I JoЛ| l |Пr] ' l lЬ | lь l хl loP , loв (а бoЛЬl I ] l l I l с ' ю 6Ра l ' lN l ; l y l )P( )R I jх o l rq]ьr l l l кЛ ) .

Me 'q lу lЦю. l ! | ry ' гра6сж ч lа( lик l r трс6ус1.oI I l \ ,T l l l \ l ] ' |х l | |юJLс( l с (Р l |Ь|х pс(vрсo, l 'rl мaДr]rlta I laч' t J Iac'I. зlt]vl0'Гl l o Toрi!ю:jlfГl', ] ]у '|.(Ц)Nl():tll'Г |l 1\JPNloз'l r _ кnIolc Ilрo.6ЛемЬI? A вoT rcaкrtе, А/(Io1lIllс1p?lT()P iLorIaIT v:]JIv l]TilILl.|ollLсг() рiпд || зllссrr.loTсредпec прeNlл oI . Jл l lgL Затсм t r l rц l r l в , l rяот штopn l l I i t ксTоn пx l | rcy l |1ссП lv| ( ) | |0]с( l l "1 l l ( ]у |J leс|нvx)u l | |с ) N ' lAС. l | / lpcсa , l J ( )с , r l с чоr ! поптoрЯcT Р i l lg Пr l ( ) l JЬ , I , I ] I Iс l Io .IIие врcмеIlи oТl{JIlll{?l lк)JrltoсTl)ю дсI!IlскllPус'г r!акт rlepeхUnTl' rl .rrtбьr этомуxpoтивoс-l'oя'Гь' а'Гaкvюlцlli]i дoJI'tсп.fll16() з:lпPеTllTь lсN4 Р IСllo (нo:]To вьIзовет серъезпьlе пoдoзрeIrия)' Л 6o сTa6l]'l|пirl]рol]ll'ГЬ вPo\]я oтI{JIlп(а' вс'|llЛ.llяя тoI'Iлt,I ].It]ое кoлliчeствo х().lос,l]'х lilдер)ксI. ('lLJlя э,l.oгo cму пPIIдеTся Nlrrnllq)l]1(,lI)о.вать кo]I эхo 'lе]iк)tlа).

Pa.]yN,еeтся, (Ущсствуl0L Il дрyrr1с сuoСo6ш о6наPv'(eIIllя I]ас(rlrrнoгO llCPсхtsllTaтPaфI1ка, oднаILo Il псречIJс-li €п]'ъIх ппoЛ]te 71ос'aToчllo' что6ы yбсдпTься R его]{е6езoпас]loстп, llaпPп]\fер' аil11lrllllсl.PilТoP lIvсliаcT пo сетrI пoдJo)]olljlii naPonЬ|я]tо6ьI прriнaДлeжalluп:i Гoоt'у' a са\]за-.iегаel ! 3nсад\, u x{/1ет, r(alloii 3]repь IlaэTo]сllю}lетj пl]сЛe чеlо 1IапРnвЛяс1.llo сo{]Tвoтствvюlцеvy ltДрeсу 6])l{l.aду Лnp!Тuс-Toв 6llсТPoro Pсаl.ировaния,

AктивHЬ!Й пЕPEXBAт, или ARP-SPooFINGoтIrРав'.тяя пaкет rlа задаrrньIli IP ф1Ilес, NlьI' 0tlcэxдxo) дoji'{Ilьl дoставить eroкакoмy.тo },з,ry, но какoмy? Bедь сeтerraя r(aрта ot1еРируст xсlr.riючtlте"!Ь1ro фи

Page 320: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

.{тивный пеpехвaт, или arр.spоofing з21

.n lчсскиl{и MА C.iцРесarltl, a прo IP ничero l le зllaсTI сJrеЛoватenьIro' l IаIr нсо6:iо;]xl{a та6лr l цa сooTветстuliя N{AС- и IP алресoв, Пlrстpoенисм тaюii тa6nlщЪli]aнll]ifaeтся oпePaциoll]lаJl сllс,Ге!1а ' и де"таeт эт() о]ra пl)rl пoNloщIi llротo(oлa iЛРiАddress Rеsolution Protoс0l _ xPoтoкo.n pазPclllеIjllя ,JlPссoв)' ЕсJи физпчer:tillи aдpeс ЛoJlyчатсjя пrпзвсстс}1' в сe'гЬ ol.]lPавляегся lxлpокoъещaтc.lrьIlьrй]aпpoс тlJ]lа <o6jlaдатe.{ь д.Ll Il юIo IP' соo6щxTссвoii МАс', Пo]l}дUt 8 oтвет, vзелJанoсxт егo в ]lo(aлъLlvю ARP.та6..rиЦу' дЛЯ rlaдежIкх]Тll llсРrlo/lиЧес1r1l 116lrов-,lяя еe ((l)акTnчeсrtl{, ARP.та6'lипа прeдr:тавляeтсo6oй 06ЬIкI]oвенflьIii кэUD' B зa.впсr'M(rс1.11oт тIlпа oгlеPaцIIонпoй {)]t(ТсмЬI п e.' к)llфIlгyPaпrIx ЛптеPI]ш o6нoв.'1"alIII,l ]!lo}xст варьиPo9атьсЯ oт 30 (сl{унl1Лo 20lllilут,

IltIкакой автopl'lзаЦlп для o6]IolJlсния АRp-Tа6лlIIп'r rr"" тpо6yется; 6o.rсе того'6oЛьlш]rr iстBo {]llсPац опп ьtх сl rс r.сru 6л al.oпo-ryuпo rrереварI rвalr л' А RP.ответьr ':lа,l{с €с,t]l иl,l ltс rI peдnleсT во вilJI 11 сo.)'Гве r(l вyюUlи с АltP.заIцюсЬl (sUNoso,цuil из I{€lлкЛ]tх| lстo trе пrlll во'.lяст o6пI aI lуть сс6я пoлo6rпllr o6paзrlм' rr loтомyпoдлoltсньtй А llP-r tаltст до-(жсl l 6 Ьfгь oтпPalrЛсJl тoЛькo lюс.]lс сooTпс1'(Tвy]olJIе-Г() ARP.зaпPoса' IIo,rо пp]]хo'цa lIoл.utlfi IIoгo ()'Г)tcra),

.lЛя зaхвaTa чу'ФГo lP llтаl{yl{Л|lеIrу дoстaт()ч|l() lloсiaть под.loжIlьIii AllP.i]a.пPoс' lioтoPЬlii пiоl(Ф 6шj.' lillк ilс"llсllnIlPаBЛc]tJ||,l]\l' 1.ак ll IIIl!poкoвoJ]lа,l'с,1ЬIlЬlllt(,:Ulя oТUрaBкЛ/llpисмir ARJrllаl{сl.oв шеo6х()nlIN] цосr.уl| '( сьЦьIIJ сoксl,illl rIJ||l. I Jс l l l rа . l I ] ] ! loN ly ^Р l оI Ic ] )a l l , l o I I l к ) i i с I i с ' r c r |Ь| ' l | ( ) 'цю6I l (х ] l . ] ] \1(Dк lю l Jа i i rц в у , l l l ' 1 l I .T. а[р). Дoпyс1rlill' l!'l.llкv|(Л|Lllii хоЧсT lJ €Pсхllir|и].ll TPaq'lк мc)vly уз'1lаi!ll' <A}l| <B'. Oll Iюсь|Лa0Ty3'пy iA} поllrr0'a l L|ii A Il P.o'J.l'nl., с('lсp)каlцl']iiIIlnrlр0с \r3ЛаrI ] ' l I сRойМAсаI lрcс ,аyзJ l \ ,1в '_А l t ] rо| l j rТсJ l rцP( 'oo i l i у : l .ц

"A ' l | сRо]1 l t lI '1^с.A , ,Lрсфrt 'o6аyзJIаo6| lо lx lя I ( l l с r ro] tARРT16. l r r r r1ьI , l r r l с r 'oт r rpaв lяе l l ь tе l l r r rl l i t I l сTЬ! l l o I Iада loт l |а у ;cЛ зnov]\ IьI l I I . l l t ] | l l I l l кa l кo- t .о1 lь tй; tи6o 6 .покr Ipуст ' лп6o дr l .с,ГaвjlЯет ||х |loЛyчaTеJпo (Bо3\1o)oк],lt с-']с|.Itа измспerllюlr лл,1с, rо сс-r'ь pа6oтаr:r'|l?ll{ proхv)' ]]('Iи lloсJIа1l rloдлo){t|ЬIii AIil).lIlll{cт NfaРl|]ру'ГIJза,гoрv' аTIlILуIоrrlujiс]\к)'{oгJlсPехI]Al.t)Jвal.Ь ll пaксTЬ]! l|Р|IхoДяlцlrс ||i]вllсjtit]п|olo сcl.nlеlrгa сel.lI, AлaI(aтакoгo тl1па IIa3ьlвaсTся МiМ (I'1аn In Мiidtе. мtу)R'Iк в (сPсд].lIlс) 11сxсNla,гl!.l.Ilo изo6pа'{е|l"l rtа pIlс, 19'11,

{1з2 23o'4,49)

(з2,2зa,4,46)(1з2,2з0,4 '254)

з) Rouпlingпepехвать ватЬ трaфик дажеPис.19.4. Aтака типа Мil"l позвoляeт

в сeтях с интeллекryалЬнЬ|м ха60м

(1з2,2з0,4,44)

Page 321: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з22 rлава 19. ры6ная лoвля влoкалЬнoй сeти'sn]fieing

как ваplraнт' мo)кно пос.пaть пoлЛо)кrlъlii ARP-orreTс r1ссvlцествyющЛN{ N{Aс:Vlресоп{' тогДa связЪ пreжДy <A> и <<B' 6удет IтерЯI1а; впРoчеl1' чepeз н.AкoTоРoeвреntя olIa автoIIапlчeски вL)сс1.а]]oв]1тс'l в]loвь (всдь АRP-тд6лпцa ДulIaN{ичe.ск 06нt)!"цястсяI)' и чт06ь] этoго Irе пPol]зo lло' aтаirylorциii дoЛжсн нaxpaвитьнa)к€Ртвy l!1ощньпj l]Iтopll пoдJlo'кIrьlx пакетi)в (Puс, 19'5),

|132,2зa-4'49J

(Э2,23a.4,46)|132.2з0 '4 '254)

. |32,2з0,4,44\Pис. 19'5. PазрЬв сorдинениЯ междy узЛами

ксTilT,J o lIToРNlaх' DсЛlI мltРшру П l3ll,lop llo vсIlоDае'г NlаPlI|РуT :l|tР()tsaTЬ lюс1.y-flaкЛцЛc lIаI(сTЬI' oII nв-П)\]аTцчс(x(ll IIсрсl('lloЧilс].ся в llll'lР(Л{()]еIIlа,rcЛЬ|lЬlii Pe'){ Il' стnItовясЬ ()6ычllЬlI1 х;lб0ll. 3аГРv])ll|J Nliф|ilР]'тll3;lтoP Ра6оToii l|о саi{ыeIIo]t'иlloPЬ| (ЛЛIl ,'ro]к,llll]l||цсь llикoIrolI i}агрузlol сс1.Il)l а,гакyl()lllии м.'кc1.llPе.сlI(Л{oiillo сJ lrlф4)атЬ 'Гра(l) I l]i ]1 ]r lIaкЛЛl'loNl pc)IoIУс,

oБ}|APy)кEt|иЕ AктиBнoгo пЕPЕXBAтAAк-rивнaя пP!рo]la ^RP.:rTrкп '1с]!1аскl|рУeт:]joуI{ьIIllJ]Lxшxка' ]l сcтевьIe arIми.зaтоPЬr гliпa аrрwаtсhлелrtо o6lrарy;ltппакrг rч)схI]aт (pllс' 19.6). oпI{ грa6ят всeпpo" !стaющис (ToесTъРarnЛax)1 .ЛaI(снI 'ффсP) .вытaсIo 'вa loтARP-опrсTЬl II склaдьIвaюT их в 6азу /{аппь1х' l]aпor|lrrlая' кaкojlly I\'1^с-адPссyкакоii IP прлнaд,]e,{пт' ПРI,I о6пapv)I(rIIlDl llес(х'|всTсТвrlЯ allllI'н]'lстРатlrPy отпpaвляcтся с пrаil, к lIoментy пoлyчеЛltя кoтоpor.o lrаpуrшптсль о6ьгlнo успсва.сТ сltРьlт],ся сo вссlt награбЛенньl ! 'ГРaфпкoNl, к тoNlу,кс] в сcT'!х с DнсP (ссp.веpo\' ДrтIJaNlrlчeской Paзlraчи IP.адресOв) агрu,aLсЬ !ыдаeт 6onьп]oе кoЛичесTвoлoжпЬIх сpa6аTьtваниli. тal{ мк однolly ll тojlfy т(e М A с-aдресy l1аз]rача1оTся paз.Ли.lньlо lP'адPсса.

l Ic1tотoРьIс oпeParrиorrньIe систе]\ ьI сaNfoстoяTeльпo o6нaрvlorвают фaкт зaхвa-тасвoel]o I Р-aдpeсa пoсТoрo]llllll1 узxol1l 11o тоnькo в тo\] с-lтyчae' есЛ]l3Лoу[lьlш-леIlпtll( испoJlЬзoвi'l шиpottoвещательнyю pассьi.riку (oп чTo' лypaк?!), к ToN{yжеj по l'аЛопoпя,гllьт]{д"1я }ieIlя Nlo'Lliвailll oсь ltс oтJrPaвЛяeт ARР.ответ' оT6пpitяпoхиIJIеIlliьlIi IP-ll.!']ад| a пPOсTо OTдc'ць1васTся Ntнoгоэтa'к]lьlN' пРeдулре,кДеnr1.eм' сl1ь!сл кoторогo дo pядоloгo ]loЛьзoвaтсля все pавно пe доидeT (сIlpoситесвoю секpeTаршуl чTо тaкoe аiiпи tt ЧеIl o]1 oтЛичa€тся oт фа,rлoса).

Page 322: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

З2З

:тr!чeская ARP.та6ЛrIцa' фoрrмруепIaя вРyчllylot в этоll пЛаttс вЪlIляДlIT 11а-j ]Гo 6o.rreе прив"l1сltатeлЬной; ]lPавда' Дa'(e пoс'!е пrPехo,.l:l11а нсо NIнorие oпe-]rIorпiьlе сltсТспlы прo]1oлжаIо,| xp]rнrIllaть пoil"ltoжньIe ARP.oтветы, 6e3Pоl loT.]тдавaя сe6я ! Лaпы зJоyN'ьlol'Цсн]{пкa' и y6lЦrrть их IJe дeЛaть этoгo oче]lь]нo' осoбe]1но если вьI пe rypу,

@

КЛoHиPoBAHиE кAPтЬlФ)llзl,гlссIrиi' aдpес сеTевoli каPтЬI o6ычflo жrстlro ]трox]иT в ПзУ, и по сTalIддр.1у Irикакoii IVIAC rlс ̂ {o)кст llспоJlьзoватъся двa)к]lьI. 1.ем nс lle'Ieе всякoс IIзУчOltнo пepeпроrРаIlмиpoвaть (оц,бенно rсJи этo пеpenPоIрa]v'мирveмoе ПзУrxnа ЕЕPRoN{' кaкuм ]ia нoвьlх кaрTахoно о6ъгIlIo и 6ьIвасT)' к томy же нс]rоToРьIе карTы гloзвoляют llз]\leпяTЬ свo]i ]vlAс впoJlнс r.IеIaЛьIIьtNlri сPсдства\!Il(нaпpиMеp, !се тoI:i '{e мr]с'гoсTРaда].lьIloIi ipсoпfi8)' нaкопец' 3аroJroвoк Еtheгrret.na]rстa ФоPrflЦryется npoгPаl|t\]ньINлт' а нс aппaPaтIlьINol сpедс'гва]\пil пoэтоrl\rнeчсстньпil Дрaйвеp ]!1oя{eт запрoстo пPolrrIсaть чY'(oi'i МAСI

lfuoнпрoIraтIrIе МAС- адPесa по3вoЛЯст 11ереtваTЬtвать тPaфик да-*e 6ез пpисвoс]lия чyrкoго IP и 6ез ]lеpевoдa кар l.Ьl в ]lеpaз6орчпв6li'i p€жим'

Pис. 19'6. перехвaт пoдлоявoгo АRР.заiроса

Page 323: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з24 .лава 19. рьбная лoвлЯ влокaлыoй сети _ snitrеriщ

oБнAPy}tGH и Е К,loн иPoBAH ияи пPoтиBoстoяHиЕ ЕMy

Фaкт lспoнllpoва]lия Jlеl'ltо с,6ЛaруХllть с llolloЩьIo llРo'гoкoлa R,4RР (RcveгsеARP)' пoзвoля]oцеl.ooЛpeдe-ЛrlTЬ' какoii IP.адрсс сooTвeтстlrygг/(allIloмy MAс'y.I(a,щoму МAс'у !LoЛx(с'Ii сoотBстствoваTь тoЛI,кo ol!ии IP.aлрeс' в противrtotсJ]учaс здlcсЬ (]т(J]l'O lIe тaк, ЕстссTвсllllo, L'сли nтaкуIоlr0ri1 !lс тoJlьI(o кJlolluРyeтMAс, пo и зaхвATит lР' этoт Ilриcм lIс сРdбol.аcт.

I{аЧ сс',.!et |] | ЬIe мaрпIpy'Гliзir'гopы noзвoляIoт 6?]?lаи,?D IlopтЬI (ьind - связЬIваtIиe)'зaкpeпл'lя зa Кr'9llnM <пoвo]loN!' с1.Рoго oпрe/leЛеI,Il.lьтl:i IVIAс П oбсссмьIслпвалтeм сапlЬlм сIo клo]!иРoвaI{иe пoсЛсдl]oгo.

пЕPEXвAт тPAФикA нA DIAL-UP,Eдля пeрeхвaTa тpaфпIсa ]la мo,lем]юм подIоl]юqeнI,Iи чePсз o6ъrчttylo илrт элeк.тPotll|уlo ATс (то eсть l{lr чсPcэ кa6eль]lый l!ol{ем) Eсo6хoдxllo ] lepeпрoтPaмми.poвaTЬ марпtpутпзaтор| нaхoдяlrlltiiся у пpовariдeРа' .Iтo нс тalс.тo прoстo сдe.лaть; o l{ l laкo Y 6oлъш]'нства n l]o lJа i iдeРов or l тaк l (Риso нaсTрoeп, чтoпoстoрoltllиii тРaфик сьIплrтсЯ сa]!1_ тoлъкo успевari пPl,illиllаrЬ, B oсповIiotoE сoстoиT из о6рьIвк0в 6сссвязllolo п{yсoPa' но пoрoй в нсм всTPеqaeтся ](oе-чтo иilтсpссltoе (IIаJlpj]мep, пaРoли на пoчтoвЬIe ящиIш)'

с Дpуroй стoрoньI' l1сPсхвaт Diаl Uр'тРaфIrкa позвoJIяrт иссЛeДoвaть aсеTЬtl пpIll пЛvIaе]!rъте/oтJ1PавЛЯrмыe вaшeй маlIIпtloй. I(oIдa oroнок мo,цeNia вo36}x.

дaющс мrrгaeт' пo }iи 6рayзеР, tlи lIoчToBьIй т.Лиeнт, пи фaйлoкaчaпкa ненЬI Pазвс нс irnтeрeснo yзrrать, I(aкaя'заPазa Лolliится в сеть' чтo и кyдaпepeдаеT? Boт тУт.тo Лoк:L1ьньIй сниффсp и IloNlo1.аеTl

нсвсс сниффepьl lтoдд€ржrIваIoтсoеltttнения Tипa РPР' хoтя с тrxническoй тoч.1rизPсния э1.o дФкe rтpoщe, чeмrPa6итЬ Еthегnet' Пepeводитъ сетевyю кapтy в яe.p$6opч]rBьIii pоким ]rе нyжнol дoс1aТoчпo лlIпIь сфоPмиРoваTь сj'poй iP.сoкeт.llpавдa, еслп oпePацlrонн?ul систеIlla сoзДaеT /lля PPP сoедиtrсния виртуа"'IьIlыi

Page 324: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з25

:oй аДaптep' тo ситуация станoв,]Tся ]IeoДнoзначной' нeкoтoPьIe дPaliвeръl.: 'ют перeхoда в нrPaз6oрvr'rвыiт рeжlпr, некoтoрьie - nс1, 3а пoДpo6нoстя.

]Ращaйтeсъ к дoкyiЧеlrтацI'и нa свoю oпeРaциollпуIo сr1сте y'

гдA сниФФEP БЕспoЛEзEн.сl €д]{еe в!е]t!я ]{aбJ!юдa0Tся устoiiпlвая Tсндонц1lя пeрехoда нa лpoToкo.nь].нп1фIjкацltll' усToiiчиsьIе к lieРeхвaту тPафпIraj кoтopыe ilпlroгдa нe пePс.

,]т Гo,ГoвЬlii к упoтP€6л€пIlю пaРoЛь nо сстrI, Bмес'Гoilloгo пеPе/Iaется ero хэlll!::чсrI каж,.rьIi]i Pаз РазlL],lii (To Cсть пouтоРЛoе }lсllo'lьзoванIie Д06ыт0го хэпIа

, е|lтl'qЛЛQrlия oсуlJ]сствЛя€тся пprtбJи3,ll.сJ!ь]Jo тaк. К-пиеttт персдaeт сервe-свoii лoгIill (oб],IЧнo oткPьrтьlrм тeксToiu)' ссpвсP lIзвлeltaeт из свoe!'l6азьl сo'i ]eтствyюцuй хэ l I rепеP l lРyеT с r tуча i iнyю пoслe] lовaТсJrьность 6а i i , l .o tsl11lenge) и пepeдаeт еe rrjl еIf|у. Ю0IсiIт nьгIlrсля€'Г хэш свorгo пaPoJUtl ш!tф..T cl.o кJlloЧoNi сЬаl]eп8rl Iloзврaцая pсзyЛътат сяосii)кllзltеДrЯтr, ЫIoс1и сcp.1)Y' ссрвеР выrio,tIlяеT апiUIоt.llчяуlо oп€раlI к) l{ сPаBlil!ваот ее с оTвe].o]!t IФи.:та' посЛe чегo Лrlбo Дilcт Д06р0'.]Iи6о o,l'l lPаBJ,I с!. I] oJlЬзoвa'ГeЛ''l вoсвoясIl.]l|срацItя ll]и4Ц)oвal0lя хэ lir l1eo6РаTиNa, il сс Jlo6oвoii l]o/L6oP 1рс6y€т зllачи-.', lьI l() гo вpсмс]{ I'I| чTo 06ссспl Ьlс,I'llilc l. l] сPeхвill, 1.Pa{l) п ка'

EALтH.сHиФФинг:I,tобьI спш4хi)a1Ь ГРаф!tк и гaPl]lтl,lРовnlIlIo ос'Га,l1,сЯ lleзal{eчellllЬlIll досТaтog.]!] нrстРoп1'ь кilртyr.oЛЬкo llа прl,tсlI пalteToвl :lа j DoTи в ЛеPсдаllу |lаn]lпаPаrнoм, РoвI.е, нa кaРтaх с виТoii пароil для этol () ]roсТaтoчlto пpoсTo пеpсрсзaть псрe'ixJ.Лцие пр(lвoда. o6ЬlчI1o oраIDкеRоlю цветil (P!rс. 19'7), И хотя сушсствуетo6o-)удoвanиc' пoзвoляlolltee зaсellЬ JIсвос подюllolIeIlие' IloдавЛя]orцемy 6оЛъ!u]lrt..твy oрганизациii o!lo}1сlloстуIlнoj пo3тoi!iУ рei!lш'ная yl.poзapaзo6лavсния хакepа

Pис. 19-7. ЛеrкиЙ взМах нoxницами лpeвPацает обыЧнyю каpry в stеа|th

PaзyN!eeтся' stealth.сниффиIiI по,a'ieр)кивает тoлько пассивпЬтii nеpсхват' tr пoToll1y в се'tчх с иilт€ллеitтyалЪlJьIlt xa6oju пРидeтся дo)кrlдaться пиковoli загpуз-

Page 325: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з26 .лава 19. ры6jаa гoвля в .o(алoРoй.erи _ s l1 ter i г s

IсI.t пoсJleднeгo, пpil кo'Гoрol1 oн,цy6лиPуeт постyпaющиr дarnrъrlэ на всс l1oртьI,r€к o6ьIчнI,lIi ха6'

ссЬ|лки

ЕтIЕRсAPMoщt{ьIй спиффеP' Pеia,ilrзylоциii атaкy Maп In Мiddlс.]lютнo 6есlIЛa1eн, PаспРостраняется в исхoдн ьrх тrкстах,

(pпc, 19.8)' A6с0.oсIroв}!oe opу)киe

ARРoIsоNУтилитaдЛя гeперацI'lи и отllpa!шl пoдЛo)к]]ьп ARР-пакeтoв с з4,{aнными МАС.и IP.aдРссaмlr, llaдФкrтоe сpeдсTвo 6oPь6ы с иIrтсллeкlуir.IlьllьIми хa6al!iи' Бeс.плaтlrа. PaспPoстpaняeтся в исхo/1llьIх тeкстах'

http://аrрoison,5oUrсefoг9e.nevARPMONIRORпрorpaМмa дЛя cЛe,(еrrия зa ̂ RP.запpoсами/oTвеTaми, B oспoв]Iоl1 испoльзy-, Г ' , я а Д ] \ t и | l | | ' , т г i , l o р J \ l | | д j я N i o н и | ' P l j а ' , е , и | | в ч | q c " l P | | и q J ю Л c Й . | и ш н | | l , и

яйцaми' Бeсп'.Iа,гIIa'

hap://plаnetа'teгга'сom.bгlinfoгпrаtiса/g|eiсon/сode/indеx'h|mi

Pис. 19.a. главнoe мeNЮ п9oгDaмMЬl EпЕRс-AP

Page 326: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

327

RЕМoTЕ ARPWATсIIАвтoматизирoва]lяоe сPеltствo выявJretrия aк,rивнoго 1lеpеxваTa' сЛeДит зa це..loсTirосТью ARP-тa6лиц всeх чЛeяoв сeTI'I и oлеpативнo yвeдoмляет aдмиIri{ст.pатoPа o lтoдoзpитefl ЬньIх и3менeirlrяx. Бeсплaт1rа'

httрi//wWW'rассoon'kiev'uа/projeсts/remаrp/

FAqБoльшoй !.AQпo сниффePaм на alrlлийскoм .'lзЬll(e, пoмимo вthеrnet, зaтpaги.вaет l{a6eльI]ьlе пloдrмьl и некoтopьIе IlРугие сPедства свя3и'и'WW'robertgr.hаm'сom/pubs/sniff]n9.fаq.htmI

Page 327: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 20

дA3A БAHHЬIX пot пPиЦEлolvll l a lo t ,n . - ' э , l ( ) o( ] |о| ] i l вс0гo , . j )ю l I lю} lсpа кРс/ l t ' , г l |Ь lх к i lр , г ' t l , r l l FU l i lЯ и lк | )oрr tа-I0l,l llo'rIl,iloIlаr.с,Лсii' l1 сlrсдrlrltr:rх o6lгllаrrIrьrх пrlпIlllIaх. сo]lcI'Лrtlмoс \а.l.oB tl (t''-

Pynto l ] 1 .o)кс хр: r I t l . ( т ( ) | t l Б ; i I , I Jрr l r tикr l . l l ; с r l r ' r с 8 корпoрa1иB l lYк) ( ] JocI l I l у Io , nРа-в|rтс,'lЬс'|всllIrу|()) бilзv даliIlьlх _ сll^{oс хyдllrсo' чTo то].]Ьк0 lllo)l('г слvчl|тьсJlс lLoNllIаllllci.i, Iloразrrтс'ltьtro' rro п rqllfГLlчссl(Ito ссPвсрьI з,lЧilсry]() oi{il3ь]вaI()тс;] l l t к r IL l l eЗ ! l l l l l l I l 1е| lЬ l I l l r : t l ] \{Ь lП i l к ,Г (}{]La) l сс12.ЦсTI l r t \1I ln l ( )6I l тeJ lям ' ' коnIа lu l l Io ; lстporоl 6eз осо6ьtх v<rиtt i i ,СcPBсPa 6lз Дaп пъlх оTl l oсЯтся к il а l1бо.'1ес l{p IlT,lЧI]Ьlм 11н(hoР[tаЦпоп a Ь] м pсс!.i.сa\fI II гlоr'()\r\, ()|ll| /(l)JD]!|lL,l ]'а]]r1(,lцa'IЬсЯ llil въl,:lcЛснпo]\I сeрвeрe' распoлояielt-l1oм вo lrrryтрellпeй кo]rrLoрilTnI]lloi] ссТx, oгPaждспнoй маpllтрv,Гrtiraтoрoм It..]и6рандмtt\,эРОм, Bзаl'| Noдеik]'r]t Ilс с 6аJалa l ]1аllньrх o6ьгпro oсylt1eств;tяer.ся .teрз

всб серnep' llахolшl llliiсч пi|уЦnr DNlZ.зoньl (см' I"laву <o6х()Д 6рallдr!1aуэрозснаPv'tll Il пзlIvTр]t,')'

Paзl1сшlaть сeРпер 6a:rьl /lаI III ь]х l1a o/lLIr0Il уз,llc с вс6 серlepolt катeгoplruесIоt ltе-

/1oпyстll]\io lle , )'rЬlto ]lO рпдиleсltlrrr сoo6pлrtсниlrll (за.кoIlo]lill.еJlьсТвo ]\1lloг]lх стРан дI{riт!ет своlо пo]]итинy o6paщсния с копфиден.

ц]1аJ1!]tЬlмrlдaннЪrlЛ.l' oсo6eIп]о ес.Iи эT]1Дaнн],]с хPaнят иIlфoPlfапllIo 0 ll:l]teItтa\тtоlIпанtпr) Тert lIe ]!1e]Iее (oвnlс|цснnc ссpвера Б/ц с ве6.сeрвePolr' o6ьrчнoеЛe"!o' котoрl'lli ссгoдI1' нlшtого н." vдивrrпrь' ЭкollollllЯ,,, ilaTь eе тaк| захвaпБyпрдвJlеllис вс6-ссрвcPопl (a пplк,ГичеСкll rlи oдIroмy вс6 сeрвеpу нe yдалoсь пз6eхтп, orrr116oк псрспo,rнения 6уфepa п пpо.rих дЬtp)' aтакующrпi ilo-'iучIrт дoсгуl1 к() всcll дан]lьtNli riPаrrящli\tся в trаЗel

сеI}вep БД' кrri !l.цЮ5оli дрvloil сеpвep, подвepжеlr orли6каlr прoектиpoвaшш'срqдx кoтoPЪtх доlлrrlrrРутоT пeРсllonняющI{сся 6yфеpа;.lrпor.ие из нихtroзвa'rя.

Page 328: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ютaтaкyютцeмv зaxваTшватъ упрaвлепltо yД:шснноli маllrинoй с пасЛедoва1Ir1спIа]]м}.rrисTPaтopских прI.lв uлегlfй' яркий пpимeр TоI{y yязвимoсть, o6Iтapvя(e] гпая в сеpвepс Мs sQL п с,|авlIIая гtричlllloй крyпI1oй вIrpусJroй эпIrдей1, нellз6e)кaЛ этoй учaс'Ги и l,1ysQL- веpсия 3'2э,з1 nuдo.* ''o

",nрo.u' ',uu

seleсt а. AАдАААд''ддддАА. b' а Еa сooтвеTстryющи;rr o6рaзoм rloлтотoвлеr п rых стpс,-кnх _ пeреltавала yJlpавлeлuе нa she]l.кoд' лplJчеl!] аTaкy ]tloхно 6ьIл0 oсyцс.сTвлTь 11 чepез 6PаyзeP' псpедaв в URL чтo тO типаi sсгjpt.рhр?jndeх=а. (she,l].сode).b '

oдttuкo l{aжс заllLt,lщснlrьIii 6pаflлNlaуэPоll sQL сepвсP можcт 6ь]ть атаlсoваlrчерсз yязпиNtьIji скPl1tlт Ilлп lIсстсjйкtrй пJеха]lизпf аvTснтп(])иI(aциIr, Pa3yмсс1.сЯl llьI нс пlo)l(еII Рaссказатъ o6o всех сvцсствуloщIIх aTaIrax' нo пРoдсillоIlсl.Pи-рoBaть ]lаPv тРor1кy пЗЛIо6ле,lltl'х хаксРскrlx tlP]Iеlloll - Bп()J]IJе в llашIlх (jtt.

sQL иlIъокl'lи в oчeре/llloii pаз npoлeпloнстplrpoвaлlr мrrpу' vlo пpol.рrr;rrrr 6eзoшlI6ок пe 6ьrвaет' oдлaко llс стoll'Г l|сРсoltе11uваTь l,х 3!la.lr|мoсть. NIaвР с]lonilлсвос дсЛo ]r Nlo)l(ст vx('.lrlт!, АдNllllпlсr'PаTopьI l,t дсвслоItcpьI пpсдупpеждсньr 116l'1асlioс'Г|ll ll ltoJll1чcстl]0 уязr!l]\tьlх (аliтов I]сy]til(nlllo тае1. с liaжЛll]!1 ]ll ] еNl. Pс.;l-1ЬttуIo лЛасTЬ Ilад сl'lс,].оNii)ii /laIoT,1lt]Ць rЦи]|lll{lIllilrILlto Ilol]Ьlс мсTo!(ll]{tl а-[а].lllсl,lзlJcс,t.]]ь]е lUl',Poкоii oбЩоствсllu()сfir. fliliirl] llх -' наlJIil (j To6()iiЗnдаI|а. oсlr()..оl(Il своii РilзуNl' лсPсlllnгt|I'l грапЬ ||oвсlLoпlofo ll зaiiltl llа ссрвср с Toi'i сTор()l|Ьl'(] кo1.oРoll llit ltL'lo еIцe Ilиlt,гo l|с зaхoдl'l'ц,

ЕстoЙкoстЬ ltlиФPoBAHия пAPoлЕЙllilроJlIll рel.Лal{сптl,lPvloцIпе Дoс1уlт к 6iвс д;lIilIЬIх' IlЛ lрlt какllх ()6с]1'lтс'ль.стI]ах Ilel(oJDкпЬl псРe/(авaTься ol]tPьlTI]lII ,l.с кстoll IIo ссTU, Bnlсс'l.о llaРоЛя llсPс.'Lас1.ся егo хэш' заl|]llфpoBatlllЬli]i с.]уч:liiпo сt.сясриРoвa]Ifiоii лoсJIеlloвaТс'.цЬlIo'с-гЬIo 6aiil,Oв u tlдзЬlвасмьJ il lIPoвеpoЧ l llrii с,lРоI{о i,i (сheсl..stгilrд). кlDoч. г.lтJoPЯ,pc:LпIJзуel.с'l i(лaссlrчсская схсп'a ay'ГoflTIr4)rl(aцйи' y(тoiilIива'I ]. пеPс\ваTy llн-lpoРit1ации и rQи э1'оIt не дorryскatoщirЯ Ilп trод6nрn ,opon,, u,,

".o д"noд"puo,

нпЯ (вo всяк(Jм сЛylaе, в'гсopjrи),

Hа пpа(ТI'Iкe )ке вo Nlllol.llх се1rвеPaх Бl{ 06lrаружпваror.ся rкес'r.oкие oши6кпllрoeкTиPоваIjпя, взяTь хoм 6ы МvsQI- BсРсЛ]r 3,х, xэш.фyнкц]1я, пспoЛЬзyе\faЯ ДJlя <<свopачrrвaн11я' пaрo.ця' Boзвpa!I:le1 64 рaзрЯднylo (одпрoваrlнyloлoслeдовaтeльlloстЬ' B тo вPeNlя каI( дЛ]1Irа сЛуча!'1по геrtсPирУolloii сTрокI{(гапdоlll stгing) сoсТaвЛяет Dсегo 'rtlшь 40 6ит. I{aк сJIсдсlв11c| xlиd]Poвalllle нспoлIloсTЬlo yll;Lпяст всlo из6ьIT0чI{y]о rlllфoРllаJrиro' и aпализ 6сl.lrьпloго кo,лll.1сствa пеPсtваЧенньIt сhесlr.stIing/га nd oIn -stIiпg Лозвo.nяеT вo(:с,гановn ть xс.хoД]rъili хi)ш (пapolь вoсстariавЛIrвaTь не трс6уeтся. Так кaк Д,1я ayтснт]]фпка.цrtи otl lIа фиr lie ну]кeiт),

B нeст.о]IЬI{o yl.рoщенIioм видe пРoцедvрa шифр0ван]lя вьItЛядпТ так (лr]стltнr20.1).

Page 329: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зз0 глава 20' даза баннЬх пoд пpицелом

Лисгинг 20.1. шифрование паpoлЬнoгo хэцra спyЧайной прoкoй

|| P1|P2 4 лeвьrХ/rpaшЙ 6аЙr пар0льв0i0 хэLL i]// .1/с2 4 лoвыr/праtЙ баЙт randоl i ' s t . jn.]

з е е | 2 = P ? ^ . 2fOг( j = l ] r <= 8: i++)

seсdl = sееd1 + (з*s00d2)|seеd2 = 5€еd1 + secd2 + 33r l l ] = f l0ог((sеed1/n)*Зl) + 64:

)

sееd1 = sеed1+(3*seеi2):sеedz - seеd1+sееd?+ззiгг9] = f lOоГ((sееd1/n)*31) ]

с l r rсksш]r =(. t]]^гt9] l r t2]^. i9] l Гt7j^Г|9]] l l t8]"гt9])

ll €стoйкlrс мeхalll]3Nlъl irУTeIl1l]фпl{alolll вс'ГPсчaЛllсь и в дpугllх с(]РIrе])aх, o]L'

llaкo I{ aс'ГoяlцelIy п оIjсн,l.У практIlчсс|{l{ lr(c ()lIrr /(arrllo ]ll'Il{вl'ц(lrр()|r1lrьl

пEPEXBAт пAPoля,'llЛя а,]1,0l)l,L3itilиlI ]lir сlri:lr.0 в пo,'1l1gJякЛцсru 6o'r||n]jltlIс].|]с с,]]уL|ilс|r Il(:l,IoJlьзуIo'гся

l Iсс1.o ii ltис l\iсхal |п]ll ЬI ау,гсl I'Dl()l l каl0] Л l Plli1Рn6o1.al l I t Ьlo I l0l loсi)сдс,г |]сI I l rc сlIt и llt

rlс6.мастсРoпr п пeРсДаtо!ll.lo ]|?|рoJlЬ в о,l.l.PьI'|.oм Bjvlс (р|lс' 2{)'1), 1{|l( слeдс-гвltс,

oll tIо)(l]'Г 6Ll1Ь Jlсгкo псPсxrrачсJI зЛоv]\lЬI1UjlclIl|,Ix()м' за6Рoсltвlxllпt lJll o/.llIу из

мa|пllll внy1.pсllIlсii сст|'l Il/llnll DN'lZ.зoltЬl ()I (]хl)cр llЛrr создlrвLlI Il rоlllrую

коrl ,о атaIrусмorо веб-ссpвсP;r дJlя trai!1аl l Ilва!ll I'1 дo вс'pч IlпЪlх Ilоnr)з0вirTе.n.]l'

тoгlla ЛoгlЛl 1l паPoJlЬ (Jllll RвсllyТ саllи,

Мтiollrе соPBepЬl xраtlят rrнфoрlrацпю o6 автoризaцrпJ в ilyt{ах ( сoоl(iе ), нaхoдя.

| , | | | х с с н а ! а U ' l l , J х v ' l l | . н , U , J | l ) , J o 0 , I i i | ' ч ! ' с n I o l o ч | . ' . ' n | , | . ' \ , и , Ь " f l н a

xopoшo зarЦиЦelrrrЪrir кoрxoративнЬtli ссpвсt], хаi{eр мот{1rт araко]rать rirп.ем rlе

oхраняемLnе l{Лuентсirrlс },зnш, l)аnнaя тP]'дность заклloчaeтс' в Toilj' чтo ]rxсс.

тевъ]с кooрДиfiатьI ilаJ1еРед lrепзв€стнr't, ]1 аTaк}юIцеп{y пPrlхol1l,Tся тьlкатr'ся

вслеnУю' дeйствyя нaуfiЦ' o6ыч110 эта llрo6.nellа Репiаeтся пlaсс]rpoвaннoi'i Рас.

Pис' 20.1' лаpoль кБд, вЬ|ловлеHный Фифферoм

Page 330: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

нaвЯзЬваlие запрoса, или sQL injесting зз1

сrnЛкoIi почтовoЙ коPPсспoнJlе] lции с тРoяrrrв]lpo!анныпl в-1t]жснI']eII вI IуTp]r noNliloти}I Ф]Peсаil ' сслlI нal{ пorсзст) то среr'lи llo'Ilьзoaате.]rсiil дoвеРчиrФ Jallvс-TriвUпiх тРoяtlaj oка'{еTся хo,|я 6Ь] oдrrlr к)]nюРаTlrвныij l{]]иснт, l]у a извnсчьI{yк уже jlеJto тсxниIt]l'

Hекoтоpьtе tr:pвсpьI 6aз лaJtltых (Il. в чaстlк)с,Гr1' раннIle всрсl1и NIs sQL) аrro.riIатlIч€скu у(|анaвJrпвaю,Г пaРo"tЬ пoу]!]оJгlа1Iиlo, пpeдoстав'tяloцпIi пол]IЪlii дo.сTyгI к r]а3e u Iloзвo.пяюlJпrii xе.ЦаT! с eii все Чro yroднo (v Nls sQL'я этo,| lla.

BскPЬlтиЕ скPиптAl]oPl1aiьll() pll60таIоUUlii пс6-крвс;l вьlдaer lt]l в l{oспl сr]уЧас но псхl)/llll'lii liоirскPпптll| i ,l.о'llьI{o

PеЗуJiЬ,laт сrlr p16оTЬI' лlФ{дv TеN вci'LссvIIoIе lЛIlll6кlt pсал]Iз i lциt I r IP]пn ' lя I r i , t .oпIY ' чTO кo] l с l iP l ]пTa п l Jс | i ( )ГоPых сnуЧrяx в(с .таI i l l с ' l .1 l | |О.вr]Tся досTу|iIlЬ1Mj ЛрI.IчerJ Dilll()1rljll|{ojll Nк,кc| 6ьlтl' кart сePвсP' тilr{ ]I oбPr6а,|ьl.вaсrмЬ l i i i lм скpr lпт , Ес , .oС lнc l ] t lo ] r с I{Р l l r1 iшоru l16кп ]}u 'pсча lотся r lnп l l кn .oча]цс 'r , ( j . ] r . r . v , r i \ r . П I r v t . . l , . . . t . . t , 4 l t i t . n l , , t P ' - L r l . t , . . , ,

o 6e3oпас l loс1 l l . CсPвс ln , i ) |{с l iрохoдяT 6( ' r сo I l ' 1 I I п l сJ Io l ] T]ц i l ] I ] J JьJ l ( )с |с ( : | I l J ) ( )0а .l | | ro j L1 ос l lo l l I l ь l с / (ЬшЬl 1)6I l i l l r v ,{ I I i r l rк ) Гся с t |к : I I i l сT l lЛ|| l | 6стa{ с rx . | |po l ]а l I l l , l '

l l о jLРо6J|сc oб э 'Пrм } lо) r I i ( ) I |РoЧ l l , | l l 1ь i r NI( ' с i i С ' | i г |Ьс <. l ; сзо]| i l с , ] ( ]с ] lроГР i rмN l l l I )о -l l l l I l l l с l |а я j J l Jкс Pc| | ' (h t tp i / /kрnс .opennеt ' r ! / sа fe 'рe l l , z ip ) ' и l r ( J , )кo N| l , j ( (х .рсЛoTo.ч],N|(Ll Il(tIlo.P0,|lстIrcliIIo lIil IlзJ]llNlс сilNl()ii Lj/:l' Lk](.Лс/lуя |crlo сl{р||lITilj \1()nL|к)r ] i rРЬf l ' ь l l e \ l ; ' l o и| l I l ] | )сс1 l ( JГo , ITr l JP lL r !1 'Р ' I l i l 0 l l а | lonc i ] ' r i lш| la I ] l rя T l l6J l t I1 . | ' | l l ( r t ] ) .r IaРoЛП'хp i l l I ' l |ц l r c ( ' l ) , l I .рЬГгLI i t ] 'oкС l ( ) I ' l | |1 . , '1 .во i ' l l асTсP l I rpoJrъкБ/ l ,хP l l l l , I .| , ' ' | , ! ' l 1 ' , , l ' l , l ' l | | , : ' l l г L ' | | \ ' , ' | ' j |

i ( ' I i l с ] ]a{ . rЧ 'ра5s l rd , ) + pо! .р0 и!ешr ( t0ррeк i l0{ , lЬ

HABя3Ь1вAниЕ 3AпPoсA,или sQL-INJЕстING

ТrlпиЧlrr'lji сцснapIrii в:rаr1мoдcl"]стгlпя с 6ltзоil дапlIьтх llЬx]JIядIтт тaк: llOЛЬзoвllте'llь ввoдIrТ rrекoTоРуlо xнфoPllarllllo в lIоля запрoсa, Oттyда ee и]в.llс]{llст спсциiulЬнЬ!й скрипт jr llpсо6разyет ll с'lрoку зaпpoсa к 6азc д:irlriых, lIсPсдавая еесеpвсPv Irа в Ьiп( l"l] llенrlс:

5ге5! l r = N lsq l db 'quеГ! ( ,da] :abаse ' ' !е leсL + f гcm useгтаb lelh l ге lO! ] . = '$ !se .Lо! r . ' аnd раss ! . .d = l t ]5еrPass l roгd )

здeсt' $L]sег]оgjn пеPсI1oннnяj содepжащая иllя пoJtr'зoваTе.nя' а $userРdsswoгdе[o пapоJть, o6ратxтс внli\'аllllе на тo' что 06е nсропfенllьlе pазNIсщеlJЬI вllутprlТcI{стoвоii сl.poкu, oJ{ail\lЛФiнoi,I кaBьl1Iкa]uи, Этo flеlrбьIlIll{) д'1я сil' нo TrxlllчIioдля иrrГерllpсTllPvellьlx я:JЬrков Ilапoдобxс Рогl'a и РнP Пoдо6ньlii rЧeхuяЛзll

Page 331: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зЗ2 глава 20' даза баняЬх пoд пPицелон

назьIвастся ]1rrт!эрlloJlЯциеи с'].рol( ll I]o:JвoЛяeT авTov aТ]1чсски l1oдставJ]ять вмe.стo пеplJillсннol'l се фаI{1! чесl{oe з llачеIlие,

l{orr},стlм' пoлr,зoваr.ellЬ ввeдeT КPNс/рass$,d' ToгlLа сl.рolra :Jaltpoса бyДeТ вьгfjIядеTь так: sel eсt * fгom userTаble llheгe login = 'КPNс' аnd pаssloгd = 'раsslid',

(пoJьзoва'гелЪскиi' ввoд въIдеЛeн поЛy}кtlpньLll шр фтoм), Ес,rи тaкие Лoг11н l'пaРoлЪдействIrте,rьнo пpис1,тствyют в 6азe' фyнкцпя сoo6щaет rтдентифrпrатoPpeзультатa' в протIlBIlоNl с. yчaе вoзвРа1цаrTся ЕALSE,

хoтитс воiiТи в си('гei! }' Лo]l l lnle Ll е]\l ,Ilpугoгo пo"!ьэовaтeЛя, зI l:Lq eГоЛoг],пl' пo пeзнa, пaроЛl,? Boс]lo"цЬ3усNlся 1.е:!l' чTo I'ехаlпrз]\l l.lll'ГеptloЛяIllll,t пl)звоЛяeT атакyюrцсNlу вo3Дсriс,|!()ваT, llа сTп'{у lniцхx]ll' l]''lкЛ.ll]]veлJ]я сr псl сttoс]\!v yс]\'oт

PсниIo, lIo(м(rl.pl,lNl' ч1o xРol.l]roiilLе] ' *]лll 3Nrсс1'о паРо"lJя ввесTu n()сj|еllоваTeль.

t r ss 'oг 1 . '1 :sе leс t * f гф Us lэГтab le i i с r0 lФ]r r=.KPN| and р f i s loГd - . l ' r ss ог '1 .= '1

CruoтPитс: кавьIчкa' стo,l|цая tloсЛс luсk,n' зilllкllу.]Ia IlojlьзoвaтсJlьск ii llaроnЬ|a вeсь пoслrЛую]lllтi.i ввоЛ пoпa.n в 'lloгllчссxос Itl,ryaяrенпе' павязalпroe 6aзе дап-Лъlх aтакyrolцlrм. 1lоскoJЬl{y oдlIlI всeг,Lа p;rвеIl oдrrомy' зaпpос 6удсr' с. пrтaться

DЬlII()'l|llсIll]ьJNl пl)lt JIl()6()м rrrrсЛcпllol1 паРоЛе, ll sQL-сеРвeР вoзврaтит вссjсе.

r ]сс j J i l l J | . l0 l r |з 1а6ЛицЬ l ( п t JJесЯ к noП{ l i у кРNС) l

P ;Lс( : l \ !01 .PиN1 / lPуГ() i i i rP | |п lсP l

sЁLЕсT * ЁR()ll uqe|т0ble ''i|]Еllt rrrs!- $пls1], дNt] ID=66,j

здcсь rтsg _ I Iомcр с006Iц( , l l l I ' . l l i ]в .цск i t cN()Г( ) I t ] l 6 i l зЬ| , l L ID _ | | l Lс lп1rqшкаr1)piIoJIЬ:]oll:l'|.cjlя' allт0Nlll'l.l]llс(:](ll II()/1(1.2l1]'l|'l0N1Ьlil скрЛlIToм lr с'ЦхЛ(у 3а11Росil Il,lс.

I lo ( l ] )с / ( ( lT j ]c l l lю l l с ( ) l , l за l I I l l ' l i . i с l l оJ I l ' зoвr1с" !Ь( l l i l lм] ]x( )дoI| (к( ) | ( r ' |L l f г l l xя l l сРс l l l с I l .Ililя llсlIollьi]oвi!lii| 'кl с0о6р.l'((!Illllм llilг'ц'vllro('гlI1 п коtrс.rпoм скрrrlггс 6yдс'г,

с |сoPсc всс f ( ) l ' t с I |{ ) . ]1ь3овa l l^ кo l ]с 'Ц)) lк l l I ] , l - , l l па ID=,$useгID ' ) ' Чтo6ЬI лoЛу ' l l ' lТЬ

'lt()с].yIl к oстa-1ьIIЬllll лoл'lI 6rl]ы (а Ilс ].оJLЬк() |( T.^j. Чсii ]D Раl]сIi 669)' lIеo6хo-

]l11мo o1.(ецЬ Iloс.l]еlllleс 'IIoгjll]cсJФс yсJl{'l]]1с, э].о I('|olо с/leЛaTЬ' RllеllриI} в с1.pо'

l(y llоЛЬ3овilтUIЬ(ll()r.o вв()lln сttмln)j|'l lioi!1Nlеl11.ар|lЯ (n..o lt o/"o ДЛя N1s SQL' l \ l у s Q L п ' o Ь ' | ' н ' | | U ) ' I . . ' | , ' , , | ' ' . . ' | ' ' ' ' , | , ' | | | l I l l l I l ' | r с ' , l , , I i , I l , I l ' в | J l ! I r l l l | г 1 .

PI{я 'nгнoр l rруorся , t ]СJ lпвмссrоr r r l l к l t l L i с r - ro6щс l l ! l , l вясс ' r . | l1 ,AND 1ь666 . - , сTрo-

пa запpoсa при\1ст с'Ilсд!r0щЛii вtlrL:

sELLст * tR0ш usеГTаb le l ' ]нЕRЁ l s ! - ' ] аnd ID= 666 . . АND l0=669

ltак с,!одствиc' arаltуlolциii ]к'lучпT tsо3мo}кlIoс1.ьсаIloстoя'Ге'lIьllо d)oр]!lr|роllа,ГьlD, чI1тa,t сoо6щснll'' Iрсjl11азllачеll l I ыe /lЛ'l с()ts(ем Дpуl.их lIonЬ3oва'rсnеii,

ПP'гIеN' оllпt]Nl липlь впдотIзIfснeн1tеlt поЛеli SЕLЕсТ'aДеJo нeoгPaIrIlчиваст.

ся, и сyщeствyeТ yгрoзa прoрьlвaза eго пРeдeЛъJ, нeкoтoрьIe sQL.сеРlepЬI пol1-дrpживaюT вoзп{o)t(носTЬ задани'l ltссltorrьких кoitанд в oдноi'i сTРol{c, PаздсЛяя].lх llх знaкo]\! ,; '' чтo пoзIroляет атaRyюlllеl\ly вьIпо''l нl'ть '.тIо6ьIe sQL ]tоNallды'].a].l'e eмУ T()Лькo заблаroРaссyЛЛTся, нaпРriveР, п{rсJедolrаTenьпoсть ,i DRoРТABLЕ 'useгГаЬ]

e' . . , вве/lеllпая в каtIесTве 1.I\1еlIll пoльзoвaTe.nя иJltl пapo,nя' yдa.

лЯeT вс]о useгТаb]e ,'.совсе\{l

ЕUiе aтаIrylrппril п{о)кет сoх]raнятьчасть та6лrrrrьl в файn, подсовЪinая 6aзe дaя

Page 332: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

навяэьв.ние запPoсa, или sQL- njeсting - ззз

sLLЕст * ЕROM rr le .таble INIO 0]]IГILt 'Е j lе l lапе

сooтвeтствуюtцlriI ем}. URL уязвпt"'oгo сIrpпnTa Iloяrот вьrr.Ляnетьj lIaприI1еpl ,|al{:

vl.k'v]сtjm.соm/admrn plrр1ф-lo9rn8р!d=12ЗEaid=Аdm]n 120]Nт01200UтЕILЕt20'/р.tlr'to'f]lс/

Цe pаth-to_filё - пvть к фar1,]y рwd.tхt. в кo1.opьпyl 6vдст запl,сa,l aдп{иtloвсIillйпaрo.llь, Удo6нoe сPедствo для похl{rlleЛLtя даtIнЬIх, ]lе тaк.'irl? г-laвпoе _ размс.сTjlTь фaйil g тalсoм l1rстe, oтit)'да егo пoToNl6уДст ]t{o'{нo 6eспрeпяTсTвeпно vl.'гнуTьl r]аrIPиN1rP в oлнoм 'т3 пубЛxчIIьц WWW{{aтi''Ioгo8' ТoгДа tlonньIli пyтък файЛyдol,кен въlглядeтъ пPn6"]t'1зиTельIlo тa1{: ../, , /'./, , /Wш.l/mуfile, txt (тoч.I'aя фoP 1а 3aпPoса зaвисит oт кoI]фIlгyl]ацnll с€PвeРa). но э|o сrцс тoЛькo Цвe-тoчки| BoзмoжпoсТь созltаllltя фаiiJloв нa серIrеРe позвоЛяе1 irасьl.пать fla aTaкv.емvю 11аlпIпlу с06сTвс11l{Ь1с сfiPllптьI 0lапРIrNep' скl)Ilt!1' даloпцlii y,]aJlеlппniishell' <? раs st hгu ( $сmd ) } ), Ест€ствellпo' Nj.u{с иNl а.Цl,]tЬIii Paзrlrер скРrlп-га оIра.]п{чеrI пРCЛeЛ!I]о ]l0]lустимоiI дЛлноii фoрMьl lкl]Ь!oвi]|сльс]Loгo Rвo/lal lю i')TooгРaпl'чclIllс зilчас,|ylo Yдаc'Гся o6oihrl РvчIU,lNl (lroрмllpoЛаlI еlI iraпPo(а в I-rRLllЛlI llспojlъзов!llltсlr sQL{toNlап,rЬl INsЕRТ INТ0' д06ав'rяJо|]lсl.i llоJ]ьIс зnпtlсrlB Tаб.пllцy,

скopPсктЛРоваlllIьlii URL-зarцrос vоlar вьIг'll'lдirTЬj IJаllPlINlсР| ILаILr| ' |р //Wfu v]с i i соm/rndеx Dlrp?]d-12

t l t t )// ! l , lv]v lсLm'сom/indeХ,рtrр? id-12+uп]OnIsе leсt+nU]],nu]] 'n, l l+fг0пl+|аLr]с1 /*

[Iос,'lсдu,ri,i заЛРoс Ра6()тас-l' ТoлIl ко l1n NIvsQI, вqrlltt 4,х ll l}Ьl|п., Ilo;vleРлrиIlа.() t l l с i i l I l1 ion (06,Ьc/ lи||сItлс l lескoJ lЬк l|х з;LI lPoсo8 в o/ l IJ()й с,|Poкc).3дcсь table lIINи тa6Л]tIlы' со/lсPnо,jvloe кoloPoii llс0бхo/iиi!ю l]ЬllJс(Tи lIа эI(ра|l,A,rакш пt]ДoбIюГo Tl{lllt r1a3Ь|1r^1oI( я SQL.uЛьекu}/,J'l/ (sQI- ]lricсtiolr) и явЛ,I|{IГ.сячастI{ьIмслyча(|Nl6o. lсс()6щr 'ха]. l tк 'о( l I IoваI l l Iыхoaо| l lПбкaх4]иrЬTра] lп l l t I] l J l -11]р|loJlяllllll сTрок' Mlj| сЛовнo <iвI,pьl(кl{вiLсм> rr фoрму lraпpосa к 6азe даtлtьtх1 ' l i с t s ' , ' р ) | o | . l ' м i r I l ] J , , | | po | i а , | | l | | l . я х ' , к ' , n , , l . o i ' l | Г1n I i I t , | ' ' yч rч | | \ lU | ' с . , ] l | | | г l : I(oтсroдa и <.ппъeкцr.rи>)' это нe o]l|Itбка sQL сер|lера (l{аl{ чliсто пPnrlя1! счЛ.ТаГь). этo o lшI16ка разpа6oт.tпкс lв скрпптa, Гр i rмorrrо сIrpоеInI lPot laI l I lЬ l i iскpипт jlolDкеll пPoDсрлть пoЛЬзoва-гсJIЬскl.lл в]r()д llа Jlрсд]t!еl'lIl)jJсyl.с'l'вlUI 11с)Te]{циa]lьl1o опaсflьlх сиУ!олoв (как'1o одlllroчная кавъlrл(а' TOч]ra с заnятoi ,Двoiittoe -ruРс, а для МуsQL сщe и сllrvвo'll 3вoздoчтr]0' uкJlroчая I] ]]x irlестIl:|д-цaтeprtчнЬlc э]LвивaЛell'|li' зaдaвaеNп'e чepcэ IPсфIIкс l' a lINlcI]нo: :27' x2A п x3в'(кoд сиiIвoлaДвoiitrol.o rиPr фильтровать не нy,olo' Tак как он ]]е l]]io/.llll в Чl]с.'(o мстасимвоJюв' noдllсPяtиваeмьIх 6pаyзерol'.) Е(nи хoТ,l 6ьI oДпo и3 усnoвxiiфиЛьTРaцIrи пе t1рoвсPя€тся Irли пI]oвсPяо'гся 1lе вeзДe (llaпPlrllеp' oс,|?Ii{r|с,l IIс-o'гфилЪтPoваппьIми стрoки URl- и;ru соolde)' в сrсрlrгrтe o6разуется дьцla' .rеpсэкoтoPvю eгo NlOжнo aтакoвaть,

в | P о ч e \ i , . . ' ' , J l o 6 v , | Р 1 | l e 1 ' ' к \ , к l | ' l р n . - ' ' , l I l U 6 \ о Д и \ | n j I 1 , l ь ' ' | | , , I P orpaпllfrЦrовапп' на Per]/PнP и зllaть, как rlo'кel. вьuлядстЪ тa fiЛll иxitJt фoPrlазaпрoсa ш как чаще всегo пп{eнyются пoJ.lя Табnrlцьll в пpотI1в]rоll с-r1учaе l]rr, e р l n л ' U | | Я ч , т | c ч у , l ' I l D | | в р . r e I H е п u " p . д " - в n . ц о , , ' o ' t ] \ l o ^ n o . l I o п l j P J e 1 e ,

Page 333: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Зз4 глава 20. дазa 6аннь|х пoд пpицФоя

нпя имefi пoЛeй и тa6лиЦ у хaкeрa нeT' и емУ пplrхoдится дeйствoвaть мeтoдoмслeliolo пepeGopa (ьlinding),

к счастьlo дЛЯ aтaкующеIol бoЛЬlllинствo aдNIlIнистратoPoв и вe6'мaстepoв слиш'IФмЛeнивьI' чт06ьI разра6aTьIвaть всенеo6xoдимьie им сI(риптЬI сal{oс]oятeЛь-lio| Il чащe oни исlloлъзyют гoтoвьIе РеlllellиЯ' исхoДныe Teкст]ll rсoТoРых свo.6oднoдoстyпньl в Ceтш' пpичeм 60ЛьшпнсTв0 этих скpIIптoв дьIрявьI' I(aI( ведPo6ез днa. Bзять, к пpимepy, ToT я(e PЕIP Nuke' в (oтoPoм пoстoяlilio о6пapРкивa-lотся всe новьIe и IIoвьIe yязвимoсти'

пpибллзI'Iтeльпая cтpатer.ия пoиска дъlP въIIлядllт ТаIt' скдчивaeм псхoдныeтeкстьI PlI P Nuk'a (или лю60й '4pугoй foPтaЛьнoй систeмы), усTaпaвливae^{ ихнaсвoli лoкалъllьrii кoмпьlo].eР, llpoхoдимся гл06альньlм пoискoм пo зсeм (baй.лaм' oткладывaя в стoРol{кy всe Tе| чтo o6paщаются к 6aзe даfllIьIх (зызoв типaпrуsq] -queгУ/Iiysq] -db-queгy или Tипa тoгo _ pис' 20,2)' ПРoкр,чивaeм t(уРсoР ввеPxl,I смoтPиМ _ гдe.тo п06лиз0сти Дoлжlu бьI1Ь paсtloJlo'(eнa стPoI€ 3aпРoсa к 6а.зe' llаrтpпмrpI$queгy.'sЕLЕст useг' €mаi]. L]seг-1d FRфl ${pГrf,]x}-usсгs |. lHЕRЕ trseг,]d - '$сOoklе|0], ' '

oпPeдоляeм имeнaпeремell]lьIХl пollс'lзвJlяе]!{ьlх в 6азy, Ilaхoдипl i(oд' oтвeтстrеIl.}tъlй зa пeрeдaчy лaрамет[]oв IloлЬзoватeЛьскoтo ввoдa' п allаllllзирyeм усlloвияфильтDatlrIЙ'

Plrс' 20.2. Фрагмент PнP Nuke. oтветсгвенный за фopмиpoваниe запрoса к6aэе

B rta'rсствe нaглядпoгo примepa pacсмoTрим ollнy из yязвимoстeй PнP Nu kе 7 '3'свЯзaннyю с o6paбoткoй пoвoстеil. сooтtsетствyющий eй URL вьплядит тaк:п'odul es. plrp?nаme=News&f ] ]r-сatе9оГies&op=n€!1ndeх6сat] d=t

Пo eIо внеrпнемy видy пro)кtlo прeдпoЛoжитъ' чтo зIraчениe сatid пeРе/]aется liе-пoсpeдстзeнпo в стpoкe запPoсa к БД! и если Paзрa6o1.IиIссIфIlптaзa6ыл o фиЛь.трal lии' y I lас пoявляе1ся вoз'vIoжнoстЬ мoдифициpoва]|, Jа' Рoс пo свoeNrу ус.мoтpelrию. для прoвеpки эToгo прe'ДпoJloJrtснllЯ зaме$им саtid c 1 lla' дolтyстим,669' сepвep пeмедленнo oтo6Рaзитs oтsеT rтyстoй экpaн. теrтepьдo6aвиir к нa-Iдelry URL следуIoщylо кoнстPyкцию:' o . 1 1= r

Пoлrтостью oп бvдет вьrriлядстъ тaк:пOdules,рhp?'rаme=News&fi]е-саtegогjеs&op=nеaindехEсatid=669'оГ'1 -,L

Page 334: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

навязЬ|вание запрoсal иЛи sQL.injedl]rg

СеРвrP пoсЛу]lпlо oтобрaзиT всс ]loвостньIe сo06IJlеIlия pа3дс'la, пoдтвeРлn]ая'чтo sQL r.'пъeкЦI'lя сра5ота'rа (рпс, 20'3)l

Pис.20'з. sQL.иHъeкции qеpез стрoкy URL

ЕLцс моndю Ilо|tЬfГnTь()l |]ьl3l]llTЬ ()|ll!i6кy sQL' |юn.у|lyrl сii запc]lorJo JloIIl)aIlll.Jlt,-r |ь l i i зanPoс( I IапPr lмcр 'сиI jвоЛoд lЛ lоч l lO i i I (авЬI l l к I l ) '_1о l )LаoJI l l I ]o)Ф ' I ( lo ( )6|цI1Tьl!Лlого liп,rерeсlx)Гo, O1.tlутствI кl о tl t ибок сtцс uс o'rrlачaе1., чIo сirрlU| 4'UlЬТpусгIl0,tl,зoв.t1'сльсItrtji I}воД _ бьI'|ь !())rсT. oli IlPoсто l1.P.хвitmпrnеT со()6lILеllllЯ ()6()Лrrl6кахj ч-|о ,| нjIяс1'ся lIоРмаr1Ь ooil l Ipll к1ruюii (сTсl]oгo п р{lгl)а]!Ii!lll ро вaI t l Iя,

,In(.

,кс l]озIlo)кпa сI,l,]'vnпI.lяj l(ог,llil ЛDIl l]()зЛl1кlioвOlll]}l oш]r6jФl вoзвраlцаеTОl IФд or!всrа 500 пJr1t пlloIlсхoДr'T I]eР.;l/lPссllцll'l на г'laIr]lуrо стPапиЦy' 1I()до61ltulдBусмьк:JLсннoсTь с1Iтуi1цl'lll сylrссTвCrllrо эaтруляЯcт llопск yя:lвll11!lх ссPвсpoвj rlо oтнloдЬI'е J1еЛаеT сlо tll]вoзможI]ЬIr\1!

та6лица 2o.1. oсновнЬе кoмандь sQL

сREАтEтAвLЕDRoP тAвLЕINsERт lNтoDЕLЕтE FRot'l.,.WнERЕsЕ|Eст x ЕRoN] ,'' WHЕRЕLJPDАтЕ ' ' ' 5Ет, , ' WHЕRЕ

созданиe rroвой та6лицьyдаление сущeсrвующeй та6лицыдобавлe|ие в та6Лицу пoля сзада!нь м знаЧе|]иеl'4yдaЛениe изта6лиЦь всeхзаписейlbтвеЧающихyспoвию WHЕRЕвЬбopка из 6азы всex записeй, отвeчaюциx условию WHЕREoбнoвлениe всех пoлeй 6aзыl oтвeчающих yспoвию WHЕRЕ

Апaпиз пoказывает, нтo o rп6ки фt]льтpац]l]l встpеvaются в 6o,.rъrпolt кoлrгтествeскpи]1roв (включая кoмlreрчeскиe) j заЧастyю остaва.qсь неиспрaвлerrпьIr]rт гoЛa.

Page 335: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава z0. дазa баNнЬх пoд пpицепoм

I1rl. Естrствсtlнo' дьIPьl в oснoвrrъiх полях ввoдa /1aвнь1iгдaвн1] зaткнvтЬl. il лото.jllу рассчllтывaтъ lla 6ьlстрьiii yсr,ех уже rLe xриroдитсЯ' 3апpoсьl' перeДaвael]Ьtе,\1сroдoм PosT, пРoтестIlРоl]аI]ьlз]laчlI1е.J]ьtlo хy,i{о| пос]to.nькyпeРeдаIoтся с]ФьIт.tlo oтпo'пьзoватeЛя 11llе }юryт бЬlтЬ lionrrф|lцирoваI{ьI fleпoсрeДсTвeннo з 6рау.i]еРаl oтсeкая apNIадy пaчи}Iаlощих <хаI{орoв>. N'Iеждy'ГeN! взаltмoдсilствовaть с ве6.сeрвepoпl Nlo)кнo и пoсредствo]\I лetсаtlа (tehlet,ll)' qropllt]Pyя РosT'запpосьl

oпPЕдEлитЬ HAличиE sQLПрсж;tе.rсlr нанrrпать aтаку ]lа sQl,-ссРвсp, нсrrлохo 6ьт oлpсttс.lt пть сr.o пPrIсvт-с1.вItеj a в lЦсале - € l]l!] ]l Pаспoзlla'гь

-Ll1п (priс, 20,4), ЕсЛll сер!сp PаспoЛo}кснвIlyтр}l DN'IZ ('цс сlly яаходпться п|l в I.oе]tI сjlvчaс fl0Лъзя), тo а,Гat(уtolцсNly дo.стaтоllпo lIрoскil!l]1poваTь пol)тъl (сrц, TабЛ, 20.2),

та6лица 20.2. лоpть, пpослyLrrиваeиые pазличньми сepверaми Бд

14зз!4з414981525L52715-11,зз06

l',lioosоf t.sQL.sеNеrl'1iсlоsof t.sQL.l.4onitof

oRАсLЕoRAсLЕoвс|e Remоte Dаtа вasе!iуsQL

Pис.2o.4. сeрвеp [4y5QL, прослyшивaющий зз06.й пopт

Page 336: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пPoти BoДEйстBи E BтoР}I(Ен и }oI(orдa РYчнoli лo1rск Лt,Ip llаiloеlaeт, laILерьl, в ссPДJlnх o6.no)кЛв вс.х ве6'IIpo-Ipа11l1]'lстoв сiиaчнъIlI ]\ а,ГопI, зaп}'скаtоT свoе '1ю6оe сРсдсTвo автоматl.Iчeскoгопollска yязвиn]ос-reil1l IlдyT на пеР0l{тP,o]1нrrпI из'ГaItих сPедстtr ЯвЛяeтся sесuritу sсаDпеr' рaзpаботaIlIIьrji iio}rЛаnlIеiiAPрliсation seсuгity и оr]'tцпa,rьпo I1РeдflазIIачснirъli.i д'tЯ тeсlпpoваIrIlя N4уsQLнa стoirкoс'l.ь к взло]tlу, I.iy' хаlrcPаI"I oфnцl{oз lre гpoзит' как u всякoс оPyл{lIе'sесuгiq, sсanneг lroже,г uсгIo,ilьзoватЬся Il в0 вРо,1' п вo 6irаго'oп loзвoляет искать лЬIгJЬl lrаft в са}1oll серв.pс БД, TlIr U з псб-сIiрIlптах IiPtIэТonl БД лрoвсряются ltа yязвIl]\loс1'l! It атaliаIl тIlпa DoS, rra.'lи.lrIс с.'Iабьrх rla1lo'Лсii, rlепеPllo скoп{]l1].уРi1Pов:lllIJьIх ЛРаIr nоfТупа п 1., д, B сIL]'rlITа\ ск:lllсР l1oзвоЛяет()6нI)Pу,orш, orLrr.l6rоl tlllr,:ьтРацпrr лвo,цаl rt()Jl]()ЛяlоlllJlс oсviцц],|JJ.]]ятъsQL пl l1 'с t rц l l}] , ч,гo 3x i\чIIтелЬ] l(J v l lPoЛЦt1 i l l lкy.

сЕкPЕтЬ! кoмAHдHOгo интЕРпPЕтAтopAIАDГ IN oN: СoN|Pl.цтjR SСRЕ]iNSo сIosе jI hIIs na ьоu|dark.s, А Ьlin||inв Й]\o1. Рu|sеs i]l Ih|.d||.Lriс lо|Iшss lihе а hсоn соulъingulith рhоsphoпlus Ii1чhl,ьuп1in8bcnеа|h thе l.,|nа оf ЬLас|t.nсоn ghьs.,,

тhe l4at x' Lafiу апd Аndy WасhоWskY

Cис'геrrьr удiltспlloLn iy1ivllllrпс] pиPолilllltя lIoJ'lьзую'|1xl ol.рoмlll)ii lI()ll}Jlярll()с|rn(]'ll свежиc всPсrlll jlдvт lIltР:lсхlrаT] пoсi{o.nьку npс'{|I'lе у)l(е /(aIJlIo 'цoв''Гся iLlIT'l'виPусaми, A а]Iтl.Iвr|PусЬl - э].l) (ilксL lt Nlaс jLilii' I( тoмy жс IlастояlIL]]]i хlкrр llсi!lo)(l-1т пoзвoЛllгЬ сe6e зaвпсстI, о1 (lTopонtlllх Paзpaботчllк(Jв' l| весЬ lt0о6хo]lll.NIьIlп пнстРyNlсн1.ар|,lii oll r'lojl'.еll уIlс'ГЬ сoir]L.lваTь сaljoс1oJlтс,]Iьllo, Tс\] 6oJt(е 'II()lllчсГo сJlо}кllотo B Эlt]Il нсT,'.

с пoлсtlTltи Лeт rlа3.Цl' кoцa () Da(]rUчсскпх сРс]lrх Iljilt]'о п Ilе ('lьIl]|aлl а ()lIj{.roр, сrtос:o6ньI li oтo6рa'raть 60J.loе четь] Рсх цветoв l всc eп{e oсTа ваJIся пpcдnlс.Ti]Ilрoсlюшиj ро.]lЬ llосре/tпuItа iI.жду чojlollеl(оNl и Ilашиlloii Лo'rплirсЬ на 1llечlIкolilандноIo и 1lторпреТд1 opa, чтo такoеIroм;lliДlIьl]i пtIтеI]xPотатoр? ЭTo чсpllЬIii'кpatrи }'еРцаIoщlrlli кyPсoP,3а ках]lщсliся yrlы.lIостъто ll асхrтпч |l()с'ГЬю 'г.i]Il ' l.]{аJIьIlъlх аllартaN{ell,Loa (дo пaрс1.вoнtloli рo(l{olUI.l гp,r4]! чесr{Л х иrrTeРфeйс( ) н r 1rlдeriствпТс.r1ьнo д:Lqоко ) сIipьIвaется чрезвьlчаI,iIIo ii(rflrныii ll к 1o^lу;к; iie,гPс6oватe'qьпшx It Pесуpсам ],rнструi!снт,

I(oмаltдныi1 rпiтеPxPетатop onxpaeтся на,lJъlr (кorорЬlii' ]ralr t]звeстпo' oxрс;i €ляетмш1nлениe)' а гpaфическIrс с16(rЛoчки пa TшнатlrльllЬlii IIнстп l lк,Г, itсiiству'ю]цlrii всeIда пoоднoй 11тoilХссxeме, кoмaтЦ]Iыl:i lIIrтеРпPстатop можстчxТатъввoд кaк с кЛaвиaтypьт' тaк п in 4]аi'iJlа' гРaфичесi(aЯ o6o,!очкa п0ддcР'irlваеTкnавиаryPy ЛиIrJ! rlaстич}rо' пo"l]аraясь пРеимyl]{eствeннo нa Nlыllrь, коllxllднЬIiIинтeplтpетaтop поддается oп1.иr1изацr.и, гpафичeскt1е 06оЛoчкx нeт' Cpaвне

Page 337: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

зз8 глава 20. даза 6аннь \ пoд пpицеЛом

ние мoжнo lтрo/loшкaть 6eсконeнtro, нo сапr факттoгo| что дaжe Il эпoхузасилья:lляпoвaТьIх l,lкoltчaтьж и}tтeРфeйсoB теPми]!аnьrrьIe пpиЛo)кеliиЯ пpoдoЛжаloтсyцeствoвaTъ' уjке o пftloгoпI говopиT,Cильнoй стoPoвoй UNIХ.систем 6ьпrа и oстае1.ся хopоr]ro пpoдуMalФая кol1анд.нaя стpoка' C ee помoщью пIoжIlo с/lсЛать а6с0л1(rт110 все, чтo Toлькo soзмo,]снo.и дa]ке 6oльшe. пpичеМ меlrсду лoкaпьпoй и vд:шeltнoй кoнсoлъю пeт rlикaкoйflPинциIIиа"цьнoй Раз1rицьI' кoма1rдIlьIй I,tнтeРпреTаToР с oдиlaкoвьIм а]rп€титoмпolЛoщает сиnвoJIьI' llабpaнньrе нa шtавиaтype ! пoстy]laюп!ие в l(oмllьютep пoсeти (пPaвДa' prшсЦ)aциЯ loot'aс удerrекнoй кo]]солt[чaще ]rсelo запPещe] la).Wiпdows NT в этoпtсмыслe нaпolor.o 60лееyцсp6ная сllстеп'a' lLITат]rы,i кoмаrЦ.IlьIЙ интeрлpстaтoр Nloя(нo нaзвaT! {кoмаtlдньlпl} с oчснЬ 6oльшori нагфк(oй(pис,20.5)' Лишь некoTopьIе I{з l lасTpoе]r сис,гс]!rь] допyс(aют вo3мо)Irнoсть Уl{а.л-eннoro yпрaвлсния'а остaЛьньIe пPихoдЛтся пaстPa,lвaть лoкaЛьнo, МьпЦьIo'r/r хoтя ядPo слстejilьl lte и]!leет к эToмy никaкoгo oтнolпсни,I (пРll жсланиi] Bьlмo)ке1.о сaмoсToяTeльнo PeаJIl,IзoвaTЬ кollсoлъllЬle вcPсии lсех ltоll(lЛll.ypациoIr.IlьIх ути,I,lт)l oтсyтствиe их в lrlтaTнori кo]v!пJlокте IlосTавlt]J сIljtl,tto oгоPчaeт.к счaстью ' иачинaя с WiDdows 2000' кoмallДlIьltl интерпрcтатop 6ы.л сyrцeствeш-Ilo пeреpa6oтaн' и пoявиJIoсъ NllIo]кествo tlol]ьIх кotlс()JtЬllЬIх ути.llиT' 6oЛre иЛимeнсe пoлIlo lloI(PьIBaющих IIoтРeбlloсти yllаJIellнoго yлpaвrtспl1,l'

Pис. 20"5. BнeшнийРи.. ZU"5. 6нeшнии вид кoманд|roгo интерпDeтатoDa Windows 2000

ЧeлoвeIсу, прrтвьrкrпсмy к (пPслeстям} гpaфичeскиx иriтeрфcйсoв' llo[iaнllrrыйинтePпPетaтop на первыx пopaх кажeтся )куTI(o непроl,IзвoдителъIIь]м и I{еyдо6.Iiьlм. Uднaкo сo вреп!eнсм оr]Iyщeниe дискoмфoPTа пPoхoдIlт' п I(yPсoР начиI]а.ет 6иться с вarUим сердцeM в такT. oпepaции, pанес oTi{имaвшиe чy/loвиЩItoекoличествo вpeмeнI{, Тeпepъ вьiпoЛIlяются olIIIим легким l1ассol{ пaл кЛaвиатvplr i ' иJврст} io мPo"o. ' ryча.в ' кoглэ Люди пeг 'ехoo, ,n

" .р" .n"."n"" .p. , u oon

сoльпьtе o6oлovки, нo я Ilе зIlаю 1Iи ollнolo пol!'toнника кoматrднoй стDoкjl' кo.1 o р ь I й п P o Ч е l ] я , | 6 ы е е н а " и " т и у r и в н о ' l o | | я 1 н L ] й , и н ] е D ф e й ( W . d o ь s 2 0 0 0Х Р ' з ад ) майтесЬ , Лочему J I o т J к :

Page 338: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

комaндвый ивтepлрeтатop нa с1р(бe yхaкepa зз9

кoМAHдHый интЕPпPЕтAтoPнA слyжБE yXAкЕPA

rlтo l1o)fiнo сдсЛaтъ с yдajе}1нo]i сlстсмoii всPoятнoгo пPотI,IвtllIка? Ес-гествerl]lo' захвaтliтъI o6ычнo д,rя этoй цeлп зaсьrrraeтся систеNrа yда-rтellнoго aДпl]l]lи.' , p i p o в с н | | Я , ' P \ J . I J в , l ч ю J а ч L o j o i i 6 o j n . ' | . | | l У e h e F п г o Л в | | | | г , ] , ' к o v i ] | , l l | Ь | |

rrнтeРIIPeTaтoР, нo вeдъ на yда'1еIII{oй llaшlrпe yжe есть кo]\Ia]]д]iЬпj иптерпPеTa.тoP, дЛя Windotvs 2000/ХP эTo сmd.eхe' Bсe. чтo lIаl{ Ily)кllо сдeЛаTr'' _ ЭTo за-пустить сгo нa въiпoЛtlенпe и oРгaflllзoвать oдно. (a лyчrue Двух-) сTopolIIl,lй

ГPy6o roвoPя' коlrаrrЛпьIй llIrтеРпретa'ГoP уп;rкoвывaется в с!oсo6рaзнЬlii <.кoн-веРт'''I.а](,(e Лазr'lBае]vllnii Дl]сlIl''].чсрONl, B зa](ачу ДIlсllстчePа вхoдят пoлуч€нпепхoляlJп'x кo\jalц Фтпl)аuJIепl|Ьlх х;lJ(epoNJ)' Ilсpc]lача trх ltoI1ilнднoпry интcPпpс-тaтoРy па вьIполlJеilllе' перехвaт l)езy.lп,TaTа ri rr()зl)аlцснrlс сrо хaксPv,

Пpoстсihrlllе дIlспегчrPъI Ра.)отltlо'Г ToЛЬl{o IIa rlPIiеj\{j ]]Ьtllу,r(дaя хаI{сPa.noмaтьсIIстемyrrсЛепv]o' BпPочсi\1' oll вс€ |fl:L ]\lo,liеT псРeJlапР;lвlt'|Ь сTi]tII,lLаР'].lrl'lii BЬ]ro]tв l{а l.oIYг l I n6уцЬ xу6Jt] l чr{ьI i] фаIi.! ' тап что эTa < сЛrпoтa> iкЛlojlъ Uo y(]ЛЦ] ]liL, l..l aв.l]ос дoс,Lo,IIlсTвo Тilкoгo IIрrlс}li,l . в cг() гlpoстoт€ I,1схo,цIlьlji ,гскс'Г /lЛсl|с'шсРa(Boб(Цllo укJlаllriBilс,l.()t в lLсс}lкni с,г!o( кol{al копlll'lлиPyеIlЬlх в с'Il'l'ГаllIi()e кo..Цичсс'|.lx) ]!lаl1lиIl!lЬlх llo]\1аl'l' ^ к(Jj\lllAl(Tljo('l$ shr:ll-lto]la Ллл 6oлЬlUиrlсr'ва леPс.IIoJl]i'I'orlll.Iхся бУф('РoD l]cсЬ]\jil lll('|'УitJIЬlIil,

l{olllсDcTЛЬiii |ц'lNч) P3a.ll и3il Il |.||l Ijo),tс,I, вЬ(llll,vleTЬ' ЛaIlpи]!ieP' TaI (Jlис|иI!г20,2),

лиФlflr 20'2. ключeвoЙ фрaгмент рост€йшегo yдaле}rно|o shе|l'а

/ / f lо ]aеп Ци1л пр[нnId! ссо{ет i 1она0 lLЬ7/ пo(а есть !тo принимarЬ

{// пpи] и!а0ф rrч0p0дПуi 'оpЦlю да }ьrа = .eсv(с5.]сkсt , ' &bu|[р] 11Ах BUi s] lЁ l 1, 0)

/ / e сЛи с0еди i e i иe i с0хи l ' r 8 ! 0 за (рыЛ0сь вь i хoдин из цикла1 ' ( а . 1 ) b г Ё a k i

/ / l веJичи8aox приняъr символ0в// и вreдpяrи lа кcqеЦ .трoки зав 'oршaюЦiЙ н0ЛЬ

р += а| buf lP : l _ 0 :

1 i ( ( с h =

{

сoдeршт синвoл пeрeвoса стp0( i?s t гpbг| (DUl , iЕ0L)) L= 0)

* с h = 0 ; р = 0

/ / да ' сOдернитлерeно .а и оqицde l сЧе r cЙк

// если стро3а не пyста пеpeдаеN еe (r]lандRОму

Page 339: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

лив'нr 2o'2 | |1poдaлкенЙе)

// интeрiDeтат0l!i t (stг len(buf) )

{sрг]nI i (с l r rd, ' l sяs.5H:LL ' but ' ) eхес(сmd )

] '"l5e blеdk // eсЛи зiо пyсraя сrрOкd . 3ы!r]д!1il

llпспет'lер lтохст pа6oт;LTЬ чeРез Лю6oй вь16paнньIй noPт (] latPпlfеР, 6669) ' пp11.чeм ссpвеРпуlo стсlРо,lу JIvчIII € pазnlеIllа-l.Ь на I(o]\1IIьютеРс хакePа. Bo.пеРвьlx'дlJслеТчеРj o1кPЬIвaюllIlril нoЛJ,lii пoPт I]а кoпIпьi(,гсpr ,{epTgьIl слIr[rкo]\r зallе.теп, a во.втоpъtх, бoльшxнствo lдilllll]t]сТРaToPoв 6,roкшРyrот вхолящие соеlrrr.}iеllrн ]1а Bсе lIcJlублпчl|Ьlс vз.ть]' ALa]tо8aTЬ,]!о пy6Лtiqньrii yзсЛ нЛкaкоIo сrlыс.] lа I Je| . в ] lевяT]1 ] l з десятr i сnуча € в о l l PаспоJJo] r r r r l в DМZ Зo l ]с (эo l leсoпРI lI()сtloвеl l l lя с иIл.L]l) |iстoll )' llаll0яФlo пзoJrriPoвal tItoй oт корnoра'ГI,t B lloIyI Ло

пoпaв яа aтal(ус}IьliI ко]\IllЬIоTеl)' Nllt пloл{elll' ]laпРlr]\lср' пoср0]lс'Гвo]\1кoмarlдьIхсoPY скoliир0llать сrкрстнЬIс,'1ol(Il"lсIlTЬI в o6цедос1.yлllyto llаЛl{yl скаЧrlnaЯ 'lхol.lуila .)6ьlчIlЬINl J|у'Ici!1 (сlIIlсoк ltN|еJопutхс,l Ла|к]l( llollio'(сT въIясlljtTь I{ol]:lllrLadir)' и Bсc 6Ьl IlЛчсl.o',la <сrlсlIoii} |la6oр комa||r1у,( сЛиull{oill y'|!NiJlЯeт. хo1с.Jюсь бьJ ]loрn6оTil1.ь ltrlспс |. lср 'Гак| чт(]6ЬI UиДc|Ь pсзvJIь'Гат Uх l]ьlIloЛнellия l]il

lJo сe'Ги хо/lII1.соBсpIu(]lllю чу]io|]ll|ц1Jьlii кo/{' IlыTalorц iiся зaсуllуrъ сTalulilP1\I l Ь| ii в Boд/в ь] I]o/l | |T0р]llrcта1.о Pir л /lес кPиl IтoрЬI сoкс'ГoI] l l Ilа/'lся l IlJ l iiся, чTo Э';,o1.llPl,lc]!-l oд ||ilx{,цl,l ]!|o)кс1. с |)a6( Л'lL n,. IIo loP}raя )Ф lJPoвсркa v6Фцаc1.lInс в обl)аT.uo|Vt' соксTы _ ir,lo nсдсокриlIтоPъl' I] с]\1с,ul'lвa'r.r, их в oдrry куvу rrолlзя' 1hil6ьrllllсЛe]aк]P PсдJп,Il.) 3аPабoTn.'I' llсo6хoдnмo сl]язаТL дсскриnторьI о IIайIIа]t'll (оTапгл. рipo

'Гру6ы), а са]!1Il IlаiilIЬI _ с ]lсс(рt t пTopаi{!l' ПричcNi' rIаllPяNIуlo паiiIlьI с /lсскP'lп.]opilrlr{ лeсоe/ll]lIимь], пoсltoЛЬку исIloве/.{уlo'Г РазлItчllЬlс кoнIlеп.цпIl ввoдa/B ы ]roДa| пaiiп ьl lсrIо"lr ьзу IoT фyпкцI,ll l RсadFilc/^vгiteFilс, а сoкеTьI .гесv/sсnсl чTo сущeсTвслl]o yслоiк]l'ст реaлuзаЦиIo /цIсnстчeрA (jIисти]r]^ 20,З)|

лиФинr 20'з. клюЧeвой фpагмe|rт noлнoценHoГо yдалe|rHогo shеI|Ъ вместес диoreтчерoм ввoда/вывoдa

s i t , рse.u.r . |}]esсn]рtоr = r,luLl i= 5 izс0 l (sLIUiIтY Aт, ,R lвL]тЕs) ;- тR(]Е, //а l OW ]nh0r i |ab]е nend. lе5

rf ( с .еatePiре(8сstdjn &'5td]n &5d. 0)) гetUгn.1 //сгеаte std in p]рсr l (]сr" .аtеPrрe(8гst iоut &сs idoui &5а' 0)) .еtuГn .1: //сг €a te s|dоui prрe

Getstагtuр]nfO(8s i)] //s.L stагtupinio f0. th€ slalnrd pгосess

s] d!гlags - sтARт|. L]sЕsтDl,iANDLЕs sтARтг LJsЕsн0!r1,]IND0шi5 Wslroliiindo! = si llDЕ:s] hstdOutрut - сstdоUt i

Page 340: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з47

5 i 'hStdЕ.гO.; r .hSta l iput

//sеt t]e nе ' hdndlе5 fог t l rе с l r r l i Pгoсеss

']/spaWn tlrе сh] ld pгосе5srf ( сгеdtеP.O.е55{D. sHLLL 0. 0 ' тRUL сt tAтЕ l . ] i ! ] с0]. l5!L[ ' 0 '0 &s] &t i )) гet iгп 1

l t r] lс(GеtЕl] tсodеPГосеss(рr hPГосes5 '&f .Хrt) && ( i .Х L == s i]LL, Aст l !Е)){

/ /chеck tо s . "е i f t l reгe l s aлt dd|a tO.cad | rom s| .Or tj f (PeekNаmedPrDe(гз tdоUt l , bu l ' ] ' & l i E t0 t . l , 0 ) E8 N)

{fOг (a .0 d < tо|a l i а += l , ]А i BUГ S iZЕ)

RеаdЕr]е(ГstdоU| ' bцl , 11Ах вUi s]zЕ ' &! ,0):seпd(сs.с le| t]u l ' N ' 0] '

)

l r (] i iсL l5rrсkе|(сsoсtet ' Г l0 l l i l , \ l ] , 8N) &8 N){

.eсV(csoс(еt b! l . i ' 0):r f ( } b u i - - \ r 0 A , ) ! . ] L ( - | r l 0 ( W . , 1 . ] n , \ r 0 L J ] l П 0 )L ' i . t € | l l с( ! rsL ' . i i , bt] i ] , E|] 0)

ls].. €р(] ) l

l

ТonсPЬ м l , l N lox(0N l ] l ] | l l ( ) ' l l ] | , | ' l .Ь , ] , t i l ] ' i l l t vе i \1( )N l у . ] J |с | )аз ' l l l l l l l l ь l с ко l l с1)J I l ) | | | , l0 lЦ l}гРамruЫ Taк ' t tан 6] , / l ' 1 ) 6ЬI ( ) l l l | 6ь l - t l l з l l l vп i i ' l l ь l l l a i L l I Iс j i [1 i l l l ! I t I l c . ToJЬI{o l I l ]

l lы , Ia i i ГссЬзaпYс(ать F^l i l In I l r Io/{о6 l lЬIс с \ lY nP l I r Io ' l с l I l | ' l I t с r l ( lnLз ! Iо lцЛс ( l ]у | l к .

l lию Wr i t r j сoJ)so lc Д.ц , I |n) l I ]oДa l l l к i l )p l Iа l r п ] ]a : )kP l i l I . r l L l д l t с l I cТчoP lx .Pсхя l | .

1.!fгЬ сс l|с ]l с|UIilхl

3AщитA oт BтoP)|(EHиякoмаII/l]пnii rп]терпрегaтор сЛ llr пкoм опаспaя IlIтyI.а'чтс16ъl ]lсРхaтьcro Illlсво.

cNI l{оllllью-rсpс, llo ]1Уllа]1Л|Ь elo lllЬl пe ]!lo'(e'.!li Tоlда перeс,ГаlIyт pa6отать rlсIlо

тоpъIе пнстa[лятoPьI 11 r lPоrраNlllЬго6oJlljчкrl 0 |аl lpl] !1еp' ToT жс l:AJt) к T()!lv Лe

oс'гав"liять се6я бeз Xoмаllднo]i с]TpoкIl . 1!жс llс l]r'lхo,x, Мo)кс'I' nОllpoilЛjатЬ п."peпl'elloвать его? ТoIда aгal{уlo]дllrr rЦJoгPaмj\lr't осTаrrуTся нc у дс.Ir] oд1liкr с Jе

г:LnьнЬIiltlI прoграмl{itrxl прoизoiiдсr то '{c саIIoс' ]loсliоJrЬlry orlr] olIlrс.1с,l,liirr ||\1'

кoivnпЛпoго rпlTерпPе,Гaтора llо пеP€lleнrroil сOllsPЕс, а оfla по уllоJlчаtlxxr \'rrtlьi.Baeт lIа с |\WINN.Тlsystemз2\сmd ' exe,

.цаваiiTe пeрeпмепyем сmd.ехе вW2k-сornmаndeLeхe' соотвeтств!Io]]lll\1 о6pа](]I1скopрекTl1рorав ЛeрeNlеllllуnr с0MsPЕс' шlenкlr\,n ll:l МOй КoмпЬlотеp правоil [.]:rвишеii Ilьlшl'l' вьrберeli в l(olITекстпоll }'e]]]o пупк'г свoйства ' в пoявI1вItie\1ся дI la

Page 341: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

З42 rлавa 2о. дaза банrrых пoд прицелoм

Лoгoвolv' oкriе ]1айДспr заклаДкv дoпOл нитeлЬвo, а в неil кнoпкy ПepеМeнн Ьiе сpе.ды, сoмsPЕс бvДеT pаспoлФкeнa среди с стсllIньIх пePеnlенньIх, дjrЯ еe пзllelrеlIЛяне06ходимЬI llРaва адмиIIrlстpa,Гоpа.

.l.сllсpъ I{апи1fleNI к]poтснькую flроrpltj!'Mv'

вьIвoдя1цyri) llаiJкpaн пP']дyпPет(деIlис o хаксРскlr1{ в'Гopжснииj п flеРerrliеlIve\l

При в0€ii (вoсii пPостoте пpедJrожснньni rrрr,lеll llе()6ьrчаiiнo эфq)екTltвеu, хакс.

РьI r1 сетcвьIе ч€Рrrп пРaI(Тпчeскx нIII{oгДа пeaпаJrизrlpуют пеРеl\lсп]lY]0 olip!';]:-rIия с0l'1sPЕс, пoскo.aЪку eTo 1'pс6vот ollpеЛeJ]сliltol.o ]IPoсTрijLlIсTва дn,I }lаl1св:;a ts tlсpспoЛI{яIoir{rпся 6у(l,сpaх оно Irе всeЦlа есть, BNIесто эт()|1) кolrандньIii Ilr:.ТеPIIPстaтоР въIзьlвaeT(j' ]lo с1.o исхoдIlопlу lI]\1снll сmd'exеj |1оi]Irl]'llяя'Гсп! саrtь:],:oбllapуя!ить атaкy rl^ са]'1ьlх pаннt1х стa,llJях lJРolUЛnlовеJJllя (Рllс 20,6)'

Pис' 20.6. Pедабирoвание пepeиelrнOй окpyхeниЯ сoМsPЕс,сoдepжащeи n}ть к кoмавдHoмy интеplrpетaтopу

кoмAHдЬl xAкEPскoгo БAгю|(AIlия{eпеpeчttсJ]еxЬl ltаrl6oЛсс]loлулярнЬre B хaкeРскoii сPсr]е rLo\Iапj1ъl и кoltсо'lь-riьIе утllЛиты) вЬlзЬlвaсIlьtс из кoYall/.1IюГo I]It1.cpxPсTaтoра, сnа6)кeI1lrьrс r1OrI\ti]кoIIмеllтаРиЯNIl]. За 6олeе пoдр.)6]loii инфoР]lацIIеil 06рeщаiit.ссЬ ]r сrlрaвoчнoI.сисТсNIеWindows или запусTr1Tс фar].n сmd'ехе с кл]o.]оll/? oн ппr.rrо r'lITeрес.

Аssoс. При Запу скe 6ез l1аPамстров uьIIroдIrт сtI!lсoк заpегr'стрr.l1r( )в aIII IЬl х тI l.пoв фarjлoв rl ассoцlllРoвaнньiх с пlINlи типoв xp!1.lоnre1lпii' пoзвoЛяя Тсl1 сa-мьlм !Ъ]ясllrrТьl кafiис вoo6щe пpиложеrtия rraэтoпl irомпЬl.Л'eРе есTl,, Tсopстl}чeсI(и ] l lo]] tнo э,Гу x0 l !1анду для пo/]N'e l l иJ lx yда.] iенx;

Page 342: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rомавдь хакерскoio багё4а з4з

ассoцrlaций' oдпaкo чePeз irепосрсдствсннoс о6Paщсние к PеесTpу этo сДeлaтЬ

AT. Пoзвo'rясT зanускаTr' пpJJ.nо)кеIrия пo PaспI{сaнию (в Тol\f числe и на сoссднихl1arшi1а'\ Jloка.]lь]1oй сети ), Flyтqraется в пРавах адi!]rrнистРатоPа и сЛу,r(6с плaI Iи-

рorцика, IlLr тolo' rп,.lрvтoтo в PаспoPя)l{с]]иu аrаl{у1oщегo o6ь]trЛo lle окaзьIвает.ся' а пoтoмyДаннaЯ кol!la]]дa нс oТl1oсrlтся l( чl'с"]ry rlаибoлee пoпуЛяpнЪrx,

сAсLs' У]tравляет пРавaNп.I дoст}.па it фаilЛaм п катаЛo1.ам, ltсречисЛяя lirlerrаtsсeх no'llшовaте.]reii' ]rмеIoulиx дoстyп Ir даl{нoму фаiinу (llаllке)' и пpи )келalrпIrl1oзвoЛяющаЛ их иi]illel(J1].|,' ЕсleсTBеIIrlo' мeIleе iтlrIrвилerlrpoванrrъrс пo'ЦЬзовaТe-]lи llе i!] ()l) l. Л(]il/lе i]lстRовaть н:16orrсс пPивI,Ixсгl.lPoвalrньIх, чтo сущeст9еlпIо oграпиrп.Iвaет BoзможI]oсТlI дal]lloЙ ttoillа!lllь]' }l0 o-L]]Ioдь шeДeЛает ее 6есполезrloil!

сАLL' Bьвьr!аст одrl1t ltакe1rlЫii фаiiл l'з дpyгогo'пРп пео6х0Л'Il{ости пePсда.вая сllY oдrlrt l,lЛ1l tlсo{оJIьк() aРl.vl{еп'Гou (rraпPпмеP' са]] сmd-file.bаt ..he]1о.

l./oгld|',)' B кaчcствс PаЗдслr]тс'nя аPгумсlrтов l1(ttoJtЬзуe,|Фl сuNtвoЛ <пPo6ел>,Ес-,rи lrсo6холпrro пеPсlraтЬ аPгуllсн'l.с спмвo.Uoм lIpo6еJiL, eгo сjlе/lyrт заклIo.

чaс'Гая oilIJ,I6ка пaчtlllaiопIjlх'- l]Ьlзoв lIaкс,l.Ilоr.o фаiiJIа бej кoNjallдьl сALL (на.lЦ)lli\lср, сmd-fi ]е.bаt <he]] o, Woг] d1') lцoчeРппii фaйЛ ДеilствlIтcJIЬl]o вЬI3ьlllilсl'с'I' ll() уlIPlLBrlсlIпc D мд'ГеPЛllс(ltij vжс 1lс llоз!раlцit0'l.с,ll lюскoЛЬку в o |.(|у'Гс'пlllе

oALI-'а Bь,зЬlваcruьlii (l iirl lItTIjPаoT тсltylцyro l(ol,lllЮ (o]\laIluloгo tllll,сpllРсl.а-

l l I )y | . l l ' l l IP( )6Jer \1" l : т r ln l !Ч l lЬ| i i l |рoскI сос1)и l l t3 r l cскoJ lЬких ' l i Lкc ,Г r iых ( l )a i iлов '

Iю Tonько oдtпI !t3 |l'tх llускo'j(]i'i' .r oсT nЬ|lЬIt. !сIIoI(Л.aTсJlьIlыс, I{aк зAIllIгtllTь

пoльзol]aTen' oT сrrу.raiilnn ():lltl]ускn <||o l.о|{') ()aiiЛ^? O.цllo и3 вoзмoХtlЬlх Pс.шс|lllii вьIшl'']lиT Taк: lil)Il ]taп!скe с]Iу)ке6]lьrх ф.tl,]olr глaвI|ьIii (l)aiiл д{)л)кeпсРеilll прot|лх apгуllснтoя llсPсдllTl, llм r<]\r ГЛIIcскl|l| liиp()хо('' подтвep)кдаю.

lrlиii xp"llroNlсplloс,l.ь здl1уска' llРllзaпvLxLс сJv)lro6Ilо гo фaiijlа lк'll,Ji)вaтeле[l тa.

к()to <i lllц)())lr1(a' , eстест t фaii",l Либo BьIДaет поясняющсс

соo6щcн!lс, Лll6о сll!lос1.оя1eJ|Ьllo llаlтускаeт oсIloвнofi фаfiJ'-

IlpoсTeii0п(ii примeP реа,tIlзaцlIrt NIo'(.'l. в ЬnrядсТlr 'Гaк' как ]lol{а3АIIo B лист],]l

Йх20 ' 4 | 12О ' 5 '

лиФинr 2о.4. главньй КоМaндньй файЛ#ФAЙЛ l.]АIN Bдт1 tсl]O 0г|FOj] 11А IN (* 1]) D0 сA I pг]nt_fr lе nаme -666

'1[А '

пepеndеЙ !iгiчес(lй п[рoяок

Rfl.lRЕl,]RЕм

лиФинr 20'5. вспoмoгaтелЬНЬй командный файл

#ФАЙЛ PRINТ |.1LЕ NАl1Е, аАТ(dЕс|l0 0гЕ

Page 343: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 20' даэа 6aнных flод

л'|..tянr 2o'5 (llpоДФxыиe)

RГ! пpoвeр iе l п[рcцк i ] . иeсли е iU нсr 'RЕМ вь3Ь|вaaи oснOвнOЙ фaЙл прогрa iш не заб:0 0ри з ro f iR .М перeдать e i t dDrуис] l rы кo iзв !нOi i с rрoки И. сdфoeiЕМ гЛа3|Oе не в '3 ' r0e i re егO (0{aнДoй сAL. , 8еДЬ Hdf fRЕi,1 ве R,ш ]o пoi'tЧаrь ,прj!лeнle iа3aд ll]Е N0т ft1+-+_666 # main blt 1] x2 tз 14 i5 16

RЕ|] € сЛи [ь зnесь нaс sь l зsaIи уЛьш] e t rнoi , 1 o . " . . . / o . . o ot]Li1 пиpоtoк Й ]aчЛнаe! лелdть тo {то iь дOlкнь дeлатЬ )5l]IЕт

R Е M * * * т e л o п р O г р а и ш * * *

Ес|0 вL

I{ со)ка]tсtlllю, кoмаllдньIе фаjijlln нс пoЛ/lер)киваIот вoзмо,lol()сTll aЬIзова пРo-це,.lуP (lt'Цll, в 1cРIlIllrojloгЛlI сlt' _ фуlIкциii)' чтo заTрудняeт pel0снrlе пll0l.I]xзaдa'| 1l roo6lце урод!ст lll)оrРаNlI\lllЬIii ]|lr0,Гинг, o6ы.llIo в тaкпх сJyчаях ЛРlt6с.гal()'l. к 'ЬlзoBy tll]сшl|Лх коNIilll/(uьIх ()аii.Iloв' ч'гo так'(c !lс есTЬ хoРolпоl 'Гaк каквсlю]\югnTс]lr'IlЬIc (оi\JаIul|||,Iс фaii]lЬ| ()i!()т|)Ятся llc oчсItь.To l{РасltJ]o,,,.Гсм

llс:ilеrroс ll1.а зir/laча |1lIo'цlrс Рci|]ilс!i]| пус.п, кo11nlUIrIЬlii (I)аiiл BI,I3ьlваст(lаNl (сбл' пoI)oд;U]а'l B |{аlIL.с,Гl}с i|ргуN|с|ггiL l!Il,t ^1с'1J{ , ||a (отoРy|о Ila,{o oсу|llс'с1] rиTЬ IJ € Poд i lЧv v l lP i l i ] ' ' l o I I I l ' ' l ] с ' l r x : r | ]u l l l о ' ( ) l1с r loтрс6уcт .сл вк- r r touи,гь в с ' r .pо-ку aргуN lс | |ТOв с| Iс l l |1 i | . l lЬ | |oo l с r l l очcDос с 'Цo l Jo j о .х) i t l I i lЧa jo]ц € o l r In i1oв ( ' y I l l ( IL l . l l ' l ,a ! Лач i lЛ() | |а r tс1|1огo ( l l t t i i l t a o t :o6ьr i i o6pа6с lT i l ! l к ' ко ' гор l j l i i IцnI l . i l лпЧиn J 'Гo-Гo сltllотo к'l|к)!jсвого сIoвir ll0P0хllilTывa.l бЬI IIoтоrt vrrрав,тcrпrrr rrа сс6я п' с,1вr.r'| |ув с l i ' I ( )к ар l .v ] \ Ic l l1 . ( ) l l | | i l Лв i l l l oзJ l l L | | | l вЛсt}o l n0р{rЛaBn. I l у l lРaвЛсr ! ' Ie пa уI{ i r '

Едипствetпlaя IIpo6лcма _ в()зrrPaТзIiачс|tl'1ii, всрoЯTIIl)l сциflст]]eltlloс, чToзДeсЬNlo}I.IIо пPcд"1oяiи1.ь. _ llсIlоJ.Iъзol]а,Гь ]lсpс]\rеlIllllс оRPv'(eltllя] Iц)lltlе]lt llмсстС]'In(' IlсPс]дaвать иNl'I lIoрс\lепlюi] к.lIt aPгуrvellТ, чT06ы !ьlзЬlваr['ой I,I вы:lьIва.юnrcii фуЛкц]lям 6ыJю jlегче </.1ol.овlrPrtTъся'l 11 лРoти|]lloN] с-чyчae их 6удсттру!Lxo разРабa,|ьrвa]ь tlезilIl1l(rlllo дРyг ol дPvl.а.

Ilpr.rмсp реа;rизaцurI пролемo11стРt]pова1l в ЛIrстиIIre 20,6,

Лисин.20.6. эмyлЯция фylrкций сред-вaми комавднoro языкa пакenrых фaйлoв1!ЕсH0 0ЕFrlЕМ * * * rЕHЁJI]]ЕP BЬЗ0вA ПP0цЕl]уP * * *RLil ===========-==========

RГl l сALL l0 . , са l l и |я xeтки-фyн iu l tи аpгу[eнr ! .фy]кЦииRЕl1

1Е N0т #в1+.+-саll# G0I0 саl] mi]nа:.€| eпd5Hi i .гsl]IГт

Page 344: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кO'1андЬ хаrеpскoгo бaга)r{а 345

G0т0 !0

l]Е|,! * * * 0сH0BH0Е ТUlO ц0I.1AI]дH0г03ш4 =======

|еm npll ep в!3O3а фrtrкц и р.]nt.f11e-ndmеЕ0R 1!А ]N (*,*) D0 сALL g0 'сa l l l r ]nt . f i le .ndmе в1A

I

ЕtND/ЕtNDsTR. Пoиск itвoичпьtx Лаtпrых (тeкстовьlх строк) в гpyппe фаiinoв, свoсo6Pa3ltь1ii аlrаЛoгALт+F7 в гAR'e, oсlкЛ'к)е (Цrу)к11с хilксp^дJlя x0lкj!аIrнтсpссньIх дoкуп1с]]тoв l]а ссрвсрс'

PRINТ. Уlro6нa' r туt{a ДЛ't о]|yсTorrlспtl)t lЦЛrIl!plк'.o ",]or.]ia (а у.ltазcРItьlхflP!lt'т €Рoв Jотoк oчсflr] 6ЬrcTрo ollyс,гошilс,к:,l).

тIМE. Зацает l,cкуl|leе сu('l'e}1Iюc ]]Рс\Я' ilе'гPeбуя праr] аiLNи]пl(j,ry;l'ГoPа' ЧTo

дсJ]ас,l.ес сn]vloй ]Lt\'1.l)yItTиDll()ii к()У.lIulIlоj; Ilз вссх, ToЛЬкo rЦleдстaвъте се6е'' г | o l l p о l ' : ' U i i Л ( г с J U | . } , У ' J | , ' ' 6 о l , ' l ' ' n | | t , , . ' ' , , , , | | ' ] | \ , ' 1 , | ' , q t r \ | " r n ' . n | . р l ч . l . l l

кooбр:вIю llсpсljеllL)ю llа lIескo,1Ькo.lc'Г uI]сРeдl

хсoРY. oс l lов l Ioc сРeдсгDо xoI r I lрo l ]а l l l l я { l )а i i J loЛ l l l Iо ] (ка |nno l .oR ] i з o l l яoй д{ l '

I)сктoI)иlJ в /(I)yгyю'

Page 345: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чAстЬ Iv

3иккyPAт 3AЩиTHЬlxсooPD|(EHи|у|'ИлИ кaКxaКеpаM

npoTИBoсToЯтЬ BИpyсaМ/v1 ДpУгv1у1 пopoж.4eHИяM тЬMЬl

главa 21

как за|].lищаloт гlpoгра|.4Мнoe o6eсfl eчeниe

rлaвa 22

МeтoДoлoгия зaщИтЬ| в Миpe tJNIX

глaва 2з

oсo6eннoсти l.1ациoнаЛьнoй oтЛадки в UNIХ

|лaьa 24

брачныe игpЬ] лaзepнЬ|х дискoв

глaвa 25

тeстиpoвание лpoгpаММнoгo oбeспeчeния

Page 346: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

'.'Todа! a.ftrr slсеplеss 80 hours 1 hоое li|1ishеd Йе сontеst!|Vo'x' I аm sa sоnsfiеd, dunnо ahоt is bсtte\ sе' ar hасhinв'(,,-CеzaОня nосле вoсьмudеcяmu 6rссottпьts uасaв я накoнец-mо roКщjl эmо! Bау ! Я uувсmвую се6я mаlluл уdaыrcпвo-pеlLllьLl|' ц1пo нaц1[на1a сo.|1неваmься' 1lma r!цше cекс lL|lu

IaкuнZ,)

l4oD

B 6oPЬ6с iJа вьDкЛвalrие зaщIпньlс Nlcхaнtзj!l],] o6речeliь]' зацитa лпlпь пpoДлe.

вaет пrуqсllnя гrpoЦ)aNll'ъI, отoдэIIгая сс вэJ]оNl llа tleкоTopьIй срок' Tеoретич€с.

юr, llpuктп'tcсlоr rrre ппчего не стоит создaт! зaщlr,г},. лo]вoJtяюulylo пpоrРамl{с

,iloяtI1ть ilo xpск]lo Il Ilьlх ,reт п <1,п,сPстъ> сo6ствсrl нoi'i сI!epт'lо, l lсpeДавaя r laсЛе

nI]еoчеРед1roii BсPсll11, Гnа]]llOe пРавиЛънo за6аРРIrкaдпpoвaтъс'l, Бссс]!1ll сЛе п.

Iiо вel]Iaтъ стa'цЬ}lyю двсpЬ lla кapTolIJ]Ьlii доNI Линпя o6oPoнъI дoлшrа 6r,lть оД.

LtoРо/llI:l вo nсох нaпРnв.ЦOlllях' lюско"liЪку стoпкtrстъ ЗaпlЛтьI oпpсдсnяс'].сяjlа}lб('lее yяЗRпitоii сс чaсl.ьlo'

Hl.ilillaя с lIскоIoр0l.о ур()вr|я сЛо)tIloст]l) Ilзjloм становI{тся llсРсtt1aбcJ]ьIiЬlм'

eЛ||l|стDспIп'i!l с1'иsly.Цo]!| хакоPа oсl.aстся спoРг]tвtlьDli интсрсс, вl,l3}}aIilIЬIii

|шllрo/lilьlN|'lIю6ol|l]t,гсTв()Nl || )I(Jla1l]teNi пoкoпaтЬся в 11нTcpсснoii ltрo[Pallус. llе

сl.l)o]\{l t'lссь x .].]iсl.ill ll.l l( хi I l,Iс |l oJI l,зv jiтс то пl I1oтвo Pl1Ьli1 стrIJ.r ь кolLllРol]а l lия'

оrrrlrаlllill(JlIlliii хnк!l)il ху)rс |!l)lnюii рcJlькll, ]ъгд:l tllilIlсЬI tlP()t.Р:]L^ll]ьt Il:l I]ьl)I(ll.

l J i l l l t l c ] l l i l ч l |1onЬ| l ( ) l l oз | )ас l .yT ' l I / lon l .освРс '1 , lо | l i l oс - l . i l l l с1 .ФI l IcвзJJ ( )мa l I l l o ,

N'{ы llс 6уjLс]\ к^са'ГЬс,l uol]Poс(Лl JlсЛссooбl)дillloс'Ги 3iulllТьl кaк 1ilкоlloii (oTо oт.

'Lo,l|||||Ь|ii 6o.льllоii воllРo()' Ll сPазу |lсPсiiд{)Il x рсIФ\4сlUlацllяNl' сn0llo1]ilIl1{e кo-

ToPЬlill усIlrIlгl.l.lIцl,lTу IliLс'ГоJlЬlto' ||ilс|t(),r|Ьк() )'],о B03Mо)кIlо. HeобхoiцrIjo Ilс Т()''lЬ.

ко дo6и-r.r,ся :lкrлlrltrtlt.tе.l.oji псItсJ|ссo06pаз||lхlTl| |lзnoмa' ]|o li y6п'Il, lllо PаJI Ьl i Ьi ii

с,|lIItу'll к \llкL.р(:гl]у <Il;l ll1lте|lс'с' r]"1Л э1о1.o зitцrгГа lLо']l}кJtа 6l'шь мar(сIrдlaJ]Ь.

tl! <1'уlIoi]'' tl (]с в]l",loNl _ PутЛtllЛ,Iм,

14o'{tlo умсTЬ rlоrvalr, flрoгp.lllllЬt] I1l] yilся l1х ]nlIollIlаTь, a ]lоT o6Рaтнoс у'гвсP}к.l!еlJпе нсворrtо' Э1]) lll] вопРос lliораJlи' эTo tsoIQос rlPoфесс ollаЛьпьlх rraвыков

(зakон PaзрoшlасT <l]3jloll'' сс]]п oll нc вnсчсT за с()6(,ii lIаРyIllеlпrii aвтoPсi(их

и xатсttт}iьш r'Pав), Tе')l)llя этo хоpошo' нo в мaшиllIiьlх кo/laх всe не тaк' Itак

IIа 6умагe' fi 6о'llьIroс кo,jlllчес,гво взло]\{on св!!ДсТir".1ьс-t'tlуст oтнroдЬ Ile о всеN'o

гyцс(lГве хакeроB' а o IQтастрофI{чссl{oii уЩеРбlIoсTп зaЛlпт]lьIх llсxанизIioв,

мноr.lrс из кl l IoрьIх .nоIfaются за счиTаlll]Ьrc NlrIIlу1.ЬII

.Tпчнoе на6людcнис:за пoс-qeДlIпе fleскoлъкoJст Irачсс-rвo зaщиT]lичyть нl-'вoз-

р{]с'l!o, При]lеnI eс"!x ранЬl]rс Tвt)РЧескll IIiLстpоеrlпьrе прoгpaмI11сTш aкTllвпо эк

сЛеpимeIr|i]рoпaJrп сo свolrмrl идс,l!1l1' 1.o сеiillaс Rсe6олъlI]е склoнЯются j{ гoто-

вь l \1 Pсшc]]L lЯ] \ f ' Хoтелoсь 6ы ' чTo6ы Э, l .а к I l , l гa послу)к . ] rа свосo6рaзньI !{

каталIrзaтoрoм и llo/.]Tо.nкпулa rjaс r{ исслсдo!aнl1ям,

Page 347: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 21

кAк зAщи щAют п РoгPA]vl 1vl нoЕoБЕсг|EчEHиЕ

[1о цlсбllоtть в :rаlrцrтrrьIх ]!lсхiL|||lil]\tах рilс'IсTс |(аrUtЬllI /1ltсN'| |lo кnчcствo их Рcа-']l,l'jrl(l|l| <(ll2lдnL'г l]||ll3 сTPс]\tl|'гo.rlь|lЬI]!! j{oпlкPа1.оN|', /цaвlIъlN{,lаl.]llo сЛo]\lаllЬI1]^sр ' l . ] -ЕХ I 'N ' l , AsРгоLсс t ' t / iРугП{r o| l lРo] to Pа]рeкJJnмI , lро|J i l I l l l l ' I с рeЛ lе l lия|l! ],Гo "lJtllIritllIt рnl lli'('Г][PnL]lас,].l tlT0 t]ьI шс к'ксr'с доllсli),lTЬ ]lIlкlкo]\{y кoду' крo.пrс свoегrl со6ствсrпюгo; Iю что 'tL(l.llаTьj ссЛll rrЬI lr в се6е rrс увcpсrrьt? Эта глiваI lсpeч ItОl,lст oс) lоll IlЬI0 oru I '6кl.l ' (oвсРпlаerl Ьlс Paзра6orrrrrкaплl, lr даст сoвcтьr пo}tllrl']llltIо зanI 1Ьl, l1Pc]ll1l)J|аl.:Lстс,ll l]To ч :гатеllь llмс0тl1осГа-l'oчпъlii ollЬlт прo-].ра11мIlpoпill]IlJI] rloск.).IЬIrу в сl,Iлу дракoнliчeсrfl{х oгpxlu'lчоIrпil o6ъсIla кнпгиI LPlxlJlось ()llусТti'ГI, Лeтa.'rI1 PеШпi]ацrlrl,|JL'lбxPаiI'l.е roЛЬxo Ila/lФlt]lЬlс. спс1.c]!]нo.IJезr!rrсrrш,le пrстoдпrсrr' ХrrтpoумпьlerllT11oтJrал0Ч|lЬIс пPIlеrVьl Tonькo ра3,]сиl.ают хalrсрсrrиr1 rrI1TсРсс и, v,|o сщc xу)кe'вьlдаlот"'I.'кllЬlс (Pа6ат Bа]lu,] у -l]ега"r]!нЬlх lloЛъ3Oвaтlrлеii' a этoго ]iо]lУскать rIпв riосм сЛучaс яc.nь]я' llс,lаilтс стaвкy нa часTЬlii вЬIхоjl нoвЬIt вeрсиi'i и теxпIr.чсскvIo пoд,!сp']tILу :lTo oттаJ.IкивjrсТ пoльзоBlrTe.пеii о1 <кPaшrутьlх' всрсий'

джиHн из БyтЬlлки ' Илv| I1ЕДoстAткиPЕtlJEнии из кoPoБки

За.тeм изo6рeтaть вслoсilпеlll кoгд:! flа рынrrс lц)е/lсTавлe]lо Nrнo,{eствo гoтoвыхРеrпellиljl как ]lрoгPaмlлiых (АsРrоteсt. FLЕХ Llv1, Ехtтетnс Ргoteсtoг), тaк

Page 348: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з49

п аппаpaтIrьrх (нАsP, sсntiпе]' нardloсk)? oтвет: стoliкoсть заnпrтЬl о6РaтIroвpo ПapЦL|oвiL|IЬIIa еe PaсП pocТРeqcКIloсT|1' ocoбenIro ес-1Iп оna /!oпусКaеТ уIInBcР-*Llrь]Ьrii nзлoll (а всс вышeпеpечlJсленныс рсl]lеtlllя eгo дoпyскaют). .цaнс ]]а.чIlнaющllй хакeР' скачавlxuii рУl{oв0дсTво по 6оРъ6с с ]l^sP'oI!, за кoрoTкоевpellя <oт!я]t.с'г) IIрoлpаNlп{y' осo6eннo сс.[I1зa!llrTiL сBод}tтся rt тP1rвIrа,!ьI]ol!lу:if (IsHаsрРгеseit() != 0K) eхit(). Защштнl,lil jllсхaЛllзN д{)"llжeп 6ъrTь r.!y6оxoиIrТeгРПpoвaн в пPoгpа]llillу' тссIlо lтереплетсн с нсii, всс' ч.rо 6ьJсцю Зaxlшпa€т.ся' 6ысrpo и.rк)lJaeтсЯl

ху,{е всегo' чTo мнoгIrс прoтс]iToрьl ('leртсtт гPy6Ьlс oпI 6кn Рса-цl]заllt]П' ]lа

Pvll]аю |]lис Ра6oтoспoсo6нoсть зашtl tцaеIrlori rЦlоrР1l{llы ll,nl l oтrlЛ чn юц11сся ll ьlзьIвaюциitl ЛoвeлеllиеIt (напprrlrсp' Аrmаdillо зaгaжlluaет 1leссТP| заIlсдJlяя Ра'6oтусисз.епrьr ' r r этo лIrкак l IeоTРа)I{оl loв дoпуl lс l t ' laцu' l ] ) ,3а| lпr l I lая пPогPaпl l lyl h \ l u ' , . U Ч г l ' , | , , ' | l l ' r 1 L | | l ' ' l ' , ' | с ' l l 1 | , | l I q | ' . ' | я , ] | . ' ' . | | , r . , , ' , \ - ! Ь : '

PсзуJЬТат' з(DЛРп{еllItьII"1' заjruu!tlJi] I]еха|Лlзivl кoтв ]\IсUll{с.ll l lсt llIв{aITI I()' кa.

ri]Iс ttРo6Jl{:]viЬl пас я{дvт,

oт чEгo 3AщищAтЬсяL ] i r i l L с Dсс г ( ] l l рoГp l i \ 1мЬ l i } i tЛ l l i I l l i l l о l . o I l | с с i l l l I n L l l o l I l l р t ) | l l l ] l J l oП ) IФ l I l ] | l ) l } l l L l I я ' ( ) r '

р i : L L l I l t l ( ) l l l ' я врсN]с | | ' ГР ] ] i l l ] ] , lюг ( ) | | ( l I l ( ) . ' ] Ь i к ' ] ; l ] | l l , r , p скo Iк l | l ) у ( l l l l l | ( ) р l l f | l l l i l J J ь I lОГo

ilJг()Drf|rllа ll пlo/l1lq)llIr:Lциll 4)tiiiJIn l|.l ]Ulс|i0 Ll ll lll lл!я1rl,

зAщитA oт кoпиPoвAtlия, PAспPoстPAHЕHиясЕPиЙнoгo t|o]"lЕPA

oI nс'соnxll,llоIl|lPoва1010i|o 1сo]1uРо|||l1u|я B 1||1|1|11\пIrс rаlIlllIIlaсT LIP]lll,зкn ri Ililllrl|-

|rc (кalс э1,o qLеЛ:rrь с пpuкЛадlюГо \'Роll]l,r' см. <]ПlкoTlIЬ|с ltoirallдъl lпiтсPq]сiiс|l

ATАРI ' в I "q 22 <с l |сTсrvI l ( ) г l r а , ln l l Iн t tсTp l tторa>) , <B пр| t rп l I t I lo ' l l ( ) '1 ) r1 ! ' чTo

t l(rJ|ЬlJоl].l].е.J]яIl {lчсI1Ь llс l lpll Br fгся, кlrгm огPiurllч l1IriLx'| l |х (|nо61)Лу ' пoJ-l.olrlу l J Рл.вязЬIвaiiтссЬ Tо.цЬ]ro к пoсlпc-llю 0Iазср|n)NryдIrскv)' IlоT tlllltакoii lrфбхоЛп\!осTll

rrь] rroлпl]Iть пPoвсpl{у Iфll liаJ]<дov зaпyсIс llРoграм!пn,тр.{iyя llа.rinчllя дljсl{tlx прo

вoдr (aсмo)кеT ЛI| вaпIa пpol.Pаllма <\,Bш/,lеть' сго l1o ссTllZ)1iLoсl.nTolпIо llрoвcрIill

I]aэтапе пllстaпJrЯцIlj],I.Ie rrlцo 6oяться' что это oс,llirбIrT зaпlлту' в лro6oli сJУ.

чaе пPи ]lа-'lxчllll кЛlolleвoro,]rlсlia Лpor.pаi!] a <io'ГuязъIвaеTся' эJlсl1сlI1.aРп(). ll!r"Iъ

<пРl]вязlitl> пРотlвос1.oя1Ь lIе хакrPаI1' а I lоJ]Iзol]а rc'llя м, o т.)м, кa]r сo3да,|Ь

Дrlскl пe коппpусмьй кoпиpопnllrкaпlI,I зnшц1щсl tI tr,lх Лпсriов (Alсohоl' сloilесD)'

м(])кнo 1lPoчlrTать]r r.Tехнllкс зaщuTЬr сD' кРIrсa ]ftсIlсРскx-

пyс'Гь зaщnта псP11щЛчесl(ll <]стyчится ' в ]4lLТcРIl ет' пе!е/-Iaвая ваNl сср11iiпьlii IIо

l{€Р. ЕсJIlt oД]tx и тoт '{е ссриiiltЬй l1oмер 6),Дет посryпатъ сo Nllк'.Ilх IР :rлPссoЕ'

Nlo)кно пeРедать уllа./rеllЛ}4o тtоllаrrдуtraдсзaк1rlвaцЛlo <qr.narа' рсrll(TpаЦ]rjI (!Лa

Лять фаiiЛ с,xискa кaтelopичесl.'l llеl1опyстIrмо|), To.'1Ьl{o ll.j воз".lатаiiтс t'а эToT

nlcхaнизм 60Льlll!1х наде){д * lloЛЬзoвaтeлЪ \loяicт постaвi1'Гь бpаrl,'ll!{ауэр (flpаts.

Дa| Лoк rъriыr 6paндl1аyJеPьI Леткo o6оLiтп] сll, <Зlпискп I>. т".lава oПo6гr. чеpез

6paнДlrayэp плтос теpмпнaпизaц11я всеi.i NТ>) и.nи,rrcвoвсс pil6o1.а'Гь rrа liа1]Iп11с,

Ilзо-li,iРованнo]i oT се1.и'

Page 349: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з5o глава 21. кaкзащищаloтпpограммнoеo6eспечеHие

3апцlтaсepиr.iншlr нoмeрoм (дшeе rlo тс]rстy s/ ) rle xрспЯтствyет пeсаllIrцио.п] ,Pотr , ) l ] ]UI l ) | .o l l ' Poва l ' ' o , , j . ' ( J , Ь . . ' 6р , l | | | |Ь|р | l l ' ] \ ' Га p ' l и | | |Ь| , M l ' h| |oвЪIlll'слиTt' llo]1ьзoвателя' въlложlвшсIo свori s/l] ]] сeть, Тo я{e сanloe оT1loсt,l1ся

кпaРaNl имя.лoлъзoвaтеля/кo]t-alстивации (да.Ieе пo'Гeкстy ||/f)' 14]\ея| |ус,|ЬсервеP rенсPиPyeт JIистРибуTивItьtii фaйл ипДllвпдуaдЬнo на oсIloве Pеl.ис'rpа'ционrlьIх дaнIrьiхl aeРeдапllЬlх xoЛьзоватejiем, Тoцa сIo u/I пe пoдoilдст rr чv.^ | | ч ф а i i , ] ! / I e . ь | и . , т Л | | 6 ) | | | B п l , , р , , ч в - | , , , | ' | д | , u ' l l | '

" . ' , , l L L ' , | | | , . o ' | , ' l i o

' ' У | , о , n б с Л с - I I p o 6 . v ' r , ' r r r o , К т ' ' l r t ь ' ' I J , I n l r o | | 6 | \ , | к l ] L l ' ' ] | o , l , J o п J Г P | | ' г | | l , ] , .lleт скnчивать двoичIlЬlii фaiiл Пз rlспадся{fl ых 1lсTol]l ll,1ltoв,

зAщитA испЬ|тAтЕлЬнЬl1r4 сPoкoмIIPи защrrтс uиспьrтaтeлъllьIм срoкоlll' !r!кor}La lIe IloЛilгаll-тrсЪ I{а сriсTei!1]ly]o ]lату . сс oчеllь JIегI{I) l|ср0всстIl <н:]заЛ>'сРавllиваliтс тскyщ}лo дaту с,{al()ii lкx]JIсilнегo зaпyск:i llPo.rpаммЬI) сoхpa]lе]Illoи r llадcяtноNl rleс'Iеl по]\1llЯ () To]\ll чтo IIевсякoc Daсхoждeпиe сl]лЛr1.{r1l(Lвvс]. o пoIIЬ]тке t]ilJloNla.!io)кс,l.j !)'Гo llonЬзoвnTcЛЬ попРаDjI'leT llеrrсPl]о rlдyпlllс часin'ИспoЛьзy i i тe I leскoЛnкo I l сзaR l l с ] l \ IЬ]х ис ' loч l lи l io} l _ ,o1-Гa .xI{ l I l ]^ i iТс(Ь o l . / ] (ать l01кРыuаeмь lх ( ra i ] J loв (иJ tu , в 06пIcN ' ( |Лvчaс ' ( l ) , l J l ( )в ' o6I r i rpужс l r l rпх r ra кo l гl|ЬкуГсPc lюлЬJol}аTeJI,i),lIoд]rЛк).ri)iilс(]Ь к с.lly,{6с iтol]lx)Г() BP0I|()rlt (сс'lrlI дос.,l.уllсl! иllтоpIlст) Il T. /l'

l l J l я l l рcлo, l ,враЛlc I lnя / le | r I l сTaJ| . I J ' IL l1 l I / | I ( )в11)р l i ( j i i l l l l с1 i r , l | .nя l l l r l I l l l l I ( ' i l а l l с ос .1 .A l l .ця i ] |o | | | l ( i rкпх <скР l ) l , rЬ lх ' п0]\1сT l ' r u Рoсс , | i ) с l . | i I l4 )а i iЛ() l j ( ) i i ( |ис 'Гс l ]с , Bo .uсpвЬlх' <]ухo/lя. з;lМсraii сJl0lLI'') а Ло вTopЬIх, по,tьi()I]'l,l.с'lIl) lIo)кст зiLlIvСкaTl) в'l]пУlЦ)()гpа^{^{у иJ'Il()д эIly"luIторa I1l{ ( lll iсп lsо IL ViltLull,с' VМ W ге) _ (!)ПI,l"NlcI].

ЦЬIс апIiаРnтIIЬIе ]!{o||tllос'Г|r э|o у)кс lloзnо.l'пo,г, Ol! |l]х)с'Гo Il.PсфoрillатlЦyeтвпрTуtlЛЬ||ь|ii дxсI{! yrЛ{ч-лo,кaя dсd слL1lы JIl)t]6ЬtBllllI1,I вau|сii lш(]l.рiINlмЬ|, CoхPa-l1яiiгс I(oлI'I.lесTBo 3aпУскoв в 0бра6а'r.ьlBасNll.lх rtl)oграммoii /:lollуrtспlaх (eсте.ствеt.tiо, в lleЦ)tlвиаJlьIlON фopмarс' кoтoРьlii llelцn)стo no;'lпРaвпTь lrDyчllylo),ПРoTrlвoс'Гоять ЭтоNly oчеllь 1.р]ЦrloI

Bоo6цc lttо лувшая зaщ1lта ДeмоilсТpа|lxоIlrlых всPспiI (|r'зIlЧескoс уссчc11исфупкЦиoпfuпьIloс1! с yДLц.flиcll програnl]!пIol.0 к()]]ill оTвeчaIоlrli]ГoI lIaпрI]NlсPtзa печaтъ l]nfi с()хPаllсIIис фail"!а.

зA|.цитA oт PЕкoнстPyкции AлгoPитМAtlто6ьI хarrсP не смог рeкопсTру,lpoваTь aлгoР}Iтlt зaпIllтlloгo nlсxаtп{змa и с.lIeIкa <дора6oтaтъ> eтo пaгIrt'1Ьl{!1l{o]\l (IIJxl )ке попросту <гIодсllотpетЬ> г]раIrr1ль.llьlli пaрoЛъ)' o6язаTсxьнo ]{сгIользуйTe 'i/]lozo.;toittцю du]шIшцea|ую lx1lфpов].!пo s/n илп u/г' Toгдa 6сз s/n' rl/г взJior'' прoгpaп{]\1ьI стаl]от ]]евозN o)кпьIli, непpoвeряiiTe с]RC s/nI rlтo6ьr y6elиться в пpавrr.lr'ности ввoДa s/п' прoвepЯii-rеCRC paсшифpoвaннoго кoДa (вoсстаllogиTь I1схoдныйs/n пo e].o сltc надoста.ToчI1шх aппаPaTrrьIx мo1цпoсTях вnoЛнс вoзмo,{tlo' пo CItС рaс1xllфPоваIrнoгoкодa кP!птоаtIалп1.rII(у в()()6щс ни o чем не гoвoрllTl), игнopпр},йТe пePвьIe чe'тьIPe симвoла s/n' пoсaДив нa них под,!oтorый рас1lrифPовщик' o6ьшrтo xакe.

Page 350: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з51

.1'irвяTточ].y oстalIова IIа пача-!о s/n' ]]o Il e ] lа егo сepeд]Iry, Еще]tyЧl]lс. ссЛl]: r.rЬli'i llз нсскo'IIl,l{ 11х P.lспr]1фpoвцикoв 6yдст uспоЛьзoватъ <свoю> чaстьs/п,

]jllфl)oвILa ilaзьruаeтсЯ nпнallIIчсско]i, ссЛI{ нtI в кaкoй llor{еIrт весЪ кoД пpo-]l'\'lIьi Ii € рaспшlфРoвь]вaетсЯ Цс'{llxoм;в пpoтивl1olll сjlучaсхaксp мo)кст сI]ять:l.гo naNп rl лPIIвот] РасIr'rlфpoвьIвaiiтс фунI{Цпlo псpсд в!IзoвоNI' a по вьrrj1е 1lз неe за11п]фPoвъ]вailто внoвЬ, испo,rьзy]iтс нссltоль(

]l!(l)poнцlJlюl] ]1 1I0PскРЫ l nя ш |l(h)06J('Фв, ll]l;rче хакеР pасшln}Рус,г riрoгрall-']i !P\тамli,> сilмо]'o paсuJjll])ро!rJllrкr.l|рoсto llep€r.lаUaя е]\jу ]LоNlepа/укаJаTe,]l]L:аuIIкhpoвi]]rU'х 6.1'o't0в. l1 (6рoс])'Г даi\xI, Мll()лoсll1)ii]liLч шl1(bPовкa| дсЛасNl 11il':1'iiЛо\1 сloo чтo.Тo Лo"1сэЛo!]l за1сll Pасшll(DP{rвl)Irril0lt с]к'дyюLto]i] с.Цoii l1т, д,:ll)oЦnrvпfнЬJii кoд Iiак6ы <lrа]lrа:]ЬItsilс']'с,tr l!.)к]Lу с.rIoя\{ и' вI'|l1у)rд;r' хакеРа аlIa.

, , l l п г , | | | . ' , , , l : - l ' . \ , L , | ' ' l L I i 1 , L | | | t r l | , , ' , ' \ | \ | | | | ' l

i.)r!'CдIJllсТвlJl!llo]!l сjl0('' ко.(l]'I(a]т]l() сЛo0в п|l1(])l)овкll] (06оl)аlllпrаJоIIIllх> етo': Jс I l l I сс ' г tЛ lк l l ко] .o J l l i l 1 ] ( ] l t l l , l l I l l l I l |у - l ' ь r ]е усJ] ( ) ) l

l ]a36 i lUЛЯi i l . с ]nЦ l I l l l I i i i l ( ) ' ( ( l l l 1о(x)6еп l Ioс1 . ] l ]{оЛ l )ас пD lhro l l |ц , l кa) 6oЛь l i lпмl .o .1 l j ' ' ] сс1rю]\ l }1- !сoР| l lnх | l l l с , | | )у l ( l L l t i i I iP ( ) I tсдyPv !aЗп{0!ом 1 N l6а i i т за PаЗyNi .l ] ( ! ] t sP .N l ' ' L1 l i i r сссN6J l lPO i lа ' i r , I lрa l{г l i l l с сJ i ] t l l с | ]с i r . l IL r l L ) , МI( ) l ] ] Jс l . l i о l .C ' cР l lpo .r t l l r , | | '1 | ' ' t ) r \ |а l l |Чсск|| ( l IU l l r гс I r r r | |Рv( I Iь]х жу1) l I r . r | rх ] |o . r l I lN lо| ! ] ) l l ь |с ^в l Ino(| l )( , r l сд l fГс 11) , l |Ь| ( ) ]a Tс] !1 ' ' | ' к )6ьr t s l l . ] !а ' ( l , lю {) i l .n l ' l ] |сO1.J l I lч ] lN l ( )T lю ' l |03 l |о l 'o кода.l ] r l l с JучП|| ! j i o lv , r lЬТ l l , l ,ц i l к ' r ] J l lр | .Y i l I lЬ l Jь]с i !1 i l l | | l | l l l , | ' l ]Ь l l к ' i l l , J ( ' I l | |с эЛс l ! l c l l гар-l l l , l c 'noГ| lч(1:к| )сo l l0 l ) l l l L I J I ! (ссT|| I l сTР|| ' сфс, I ] r{a l l Pса 'ма lп| | I Ia . ] ln ( ) l ) t l l l Га)д l l }кс

, | l \ ' | . ' , ] l | ' l | | | ' | | : ' | , ' | l , ' , l ' | . | l | | ' l , | | , l ' | | l м : , \ i | | ' ' | " , l n .l i |п r I lя ( j l ) (1 i . ] | lЬ (Л()дP( ,6 l l сс с I | , <. l . ( ,х | | | | |{а l l 4 , ] J 'цO((х l ) | !} | ха l Ic ] )с r ( t tх а гaк ' l (PЛс . t

t l I l ! l l l с I lо ' : lЬзоB l l } l l1 l I o ' l | |oсЛo i i l ]о ' j | | l l l ( l rРОв l J l <P l l з \11 l l tЬI ] l l l l . i l .С ' Paсш|r44n)вц|1кLk ,1 .nу ' lРоrp i ' I I11ьr . ' I l l |кo lда l l сРxспo. r l i t Г l l l l 1 . . l r ссь l ( ' Lp . l сш|r ( l ) I ! ) I lЛr j IкaЛкoII .ЦсI lo/ l l j | ' ' | ( )Гд iL ] l cрeхоЛl |аoP l l Г I I I iа r IЬI lv t ( )1{)Ч l (у l rхoдa] !1o ,кс , ] .6ь]1ЬРасгIо3наI llI() ск?lчI(l)6Рll:tlj1)rlу llll1сЛcIlЛIо PсrIIсTрtt IlР, IftTа'Iи' (r.irрТовl,Iii |toд' впeдряe-мl'lii I()I!lllrJlя'|оl)a]\пl в пPo].PаI!\Ivl в боJIьlllIll|с1.]r". (!|уIlаcв llачllllreтся с o6Pa

rrlсIlI!я к Еs|[0] (pе[lrс1.Рaцr]я сo6(:|вclIll()ГO o6ра6о'|(ltlка IlскJlо1lепllii) пoчa

щс о6Pa[lаii lссl к rтoii яIIеiiкс llз PасшI!q)РовtцI]fiirl tlс IloзвoJlяя хaкeрy rБIсTРо

oпрcдc"lxтЬ мOIlсIlT зав".РJlrelIliя pаспrllфpoвRli (вЬIзoвьI дon'(ньl с,!сдoвaть Ilз

Pазllьlх ]!!сс.|l l]|lачe хeliеl) гIРoс,Го Ilа"1о,dlт фIl,lьrP, 6xагo фвPспlе]illl,lе o'Г'llaДч,l.К{ э1.о'Ioзв'J'r''roT),

o6язате-пьпo пprlвязьlваiiTссl, l{ UаЧi--lЬlкl]t{у з]laчerrrrю г-'то6а-'тьньlх инIrцrraлп.irllloваl пIьIх пер€\fен ньlх' To ссTь 1ю( l.ynаiiтe Tiu< i F I LЕ *f = 0i nаin( ){if ( |f) f =- o p e ' r , , , J , , } , I r | , \ | п . " I i i o | , U п | ' | ' I l , ] 1 | ' | , , г ' j ' | | , р P \ ' l J , 1 , | e | . я н ' P а

6oтоспосо6ньrм. .Цшзaсссм6Jr1Pу1]Tе сTiLпдilpTJIьlIj <БЛокнот>

3AщитA oт МoдиФикAции tlA дискE и в пA1"lятиNloд!l4'] кaцлкr коДа предoтвРаlrlает IlPoвl]pкa цс.ilост1loстxl ]lpl] чеIl с'llедуeт прo-

веpяТЬ l{ali це.ll](|,].I]oсTь саIIoro фа;I.]iа' так 1I цcnoстность дапtIrа в пal]ятt1, хaкеP

Page 351: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з52 rлавa 21' как защЙцаloт пpoгpаммное oбеспeчeние

\ro'{eт \Ioдиq)lljixpoватЬ прoгрnммv (нa.lieтy> llЛидa)кe flп.Iегo нс мoдифпЦI.lРo-вa'Гьj n lla вIrсIJ'l псpeхва'Гllть vпр?}rxсн]rе lI lт1jo:]пl\rllPов:l'Гь lleскonь(o сjrelую.|цих ]toп{alrдj ll"rli ]ке llp e рeГисTрa EАx пoс.]]с !ьIпoлнeIrlIя. t с l

t А , ( ' t A х , l | | 1 o " l ' . ; i o i i . ' ' ,

Пеpeхвilту ушрав,rerпlя/Эlly.цяцlJII прotrlвостoять пРaктxческlJ пе!0зj!loя{нol а вoт

" ' * ' , | o р а | Ь \ | . Д | | ' ! l l ' , i ц , , | п t r ] д н , . с l ' , ] \ l : ' | | l P . к , l P ' , o J L lPиДа'СoJопloltа 0toдpo6неe см' однoиrrеrrпylo сТaтью в < сllстеl{нor1 аДмllн]l.стРaтоРе>), ч'106ьj вз'rтoNl;l]'Ь xpolPaNIп'у' хilксpy потрe6устся нe тoЛr,кo рaзo6раTЬся н тoru' I{аl{llе пllе|JJl.] 6айтьI с,]e]Ly{]'г ло,]lпраUl{1'l, /lЛя взлопlа llpoгPaммьl'нo п paсl:чrПатЬ iJоlrьlе ]ttlдьt PtЦa Со.lопloнa| il лЛя этoгo епrу п])llдсTся нaпи.сaтЬ собс,u]снIi1'ii к()диpotsrцlll{] что r]c lаli.Тo лl)ос1! (нссIlстe\jnТичсскoе IroДu'Р(lв ltlс l.Iз;\IсIr'iс!г lrсr] кorпlpусIIЫс 6аiil.Ь], в o1r|l|]|ис oT сIlсте]va1't1Чссt{o.o кoдll'po] l l I l Iu l l lдс I l п l ]оГраr1\ l с I lPосто ло]| l | .Ьrвастся <кo l |тРoЛЬпая сvyN lа ' . пpoBеРкаr(oтоРoii InDi| г 6ьIть JIс]'кo <nлоIlltlIаD) Onять'таl(It Jтo aliГyа-!ьJ|() 1.i)Jlькo дляlltJoгoс.loiiIl{)ij {IlIrапп|Ilк]Ln)ii tllIJi)1)oni{ll' ll llРl:)тивliоlll с"тучаc хакeP ltjnх:Toдo,(.дeтся lr;lljq)LItсu|1' !lсJtодJll)()вililll'I I{о,,t()ll ]]lЦlr . Сo,nопloяl JI сIп'Nlщ 6сJ:]atцит-

I{ lк l ] t lP j I l l l l r ' | |с | ioЛъзу i i Гс L l сс I ] r lN iст l ) l l ч | lЬ l с J r | i iпTo l l .ц foРи 'Гп lЬ l . Эю l rрс ,1от1rPа .' | l lT N lon l l (Л iкn i l l !ю ( I ) i I i i ' r l i r I jn дxскс (L l ( ) l l { ' Л l I l r l l ят l l I ) ' l ' ) I | |u с | I l с хy , (с l заI l I I l ( | ) '] )o] ! (а 1 i )у l I l ( tL | | l l r | ( ) I lЬ|хo/ l . l I J t I ( r \ oк i t ' l ( | |с , I l с i x ) i } I1onо l ( ) i i ( I lЬ] I ]сx l , l t c х ( )ТЛм со{)б|ц; l ' гЬ хnкс1)v ( c l .PсTr] r ' | i i | { ' ' l l l )ч?) , l l l | | l l l r l 1T , l ( ) ' L I lpoг l ) l lМJ\ l l , i P l l . кyc l . в какo i i11)NI( )м( l ] l Г о l i ) : l ат ln : , J | ]ас| l l l | ( ] ) l х )B l l ] I | |Ь l I r l l ( ' r I l l кo] \ I , L lП)6J , | ) ' | ( ) гo I l с | lР ( ) | |3o l l ] J lo t Paс .I r l l | ( l ) | ) ( l l lЬ l | j i l j l l ! : | ( ' l ( )v l |к |u| | l в ( ) п l r с I10| l I iЬ] i iб I ( | )сР ( ( )6 l I l l l i i дn ' l l ( сх фу l Iк|р l i i ) ,I i0 1 .1х)Га ' оP l l f 1 l t Jа . l l ,

I I J )о| ] ( ]р 'Я цс" ' |o( :П l l t l l .Ь |фr l l l . I Jс xn6] ' | | r l l i h ' с o псРс l rе r l1аo l tь lх з leмеr l тaх . Есr rп прo.l])а]\li\lil ]l'llЛ /l llr\lt.tll11|itl! 6l|6,]rIl()l.r{ir 6удс'Г i]'lгl)})ttсlla пo а,ltрссуl o1.!I.Lч]lo]\!уoT !х2 l ] t i l I l l l l ) l ! l l РЕ ' з rГ( ) ] lоЛкc ' .ЛсTе[ i i IЬr i i : } l l ГРv)Чпк аЛ1oма1 l , l ! l еск l | с l {oPPскТI , l -рyсT Bсc ссJnn li l t IJll i.ni trll ttt,tt адрссa, Jl л 6o r rз6a п l,тrсь оr' r rсрсм et t цасll ьrх элe'Nellтolr (к"'lrо.l /FIХED.'ltlлпср,t it{S l.iлlr)':rlr6о' '|гo 'IlучJl|с' пpoвcPяii-гс то-.lькo, lч ( , i i к t l ' t Iе ynоNl ' | l IY . rЬIс в |с loсаt i lЛr I l ь ]o '

Illrlioцa tIс 6"'r(lшЦуii'rс но|iоToРЬ]с ilуItJ{,lъl Nlеllli)/кr1oпкпllЛя oгPаЛ]lчс1i'lя фylк.ц]lо]llt"!ЬlIoсLll lLc\lo]]сTpaloiоrluoii вcpсlliI _ l1х нс Pаз6Л0кllрус'Г толъкo 'rtснr]'вьliiI Лучшс 4'lзЛчеспl ПЬ]lrсзаiiг0 соО'ГвеTсTвYюlrпIii кoД пJrIr, rlа хyjroii lioflец'upеliя o1 BРCItofln пPoIreр, iilс сoсroяxlrе ]n6'lIo]ojposа!lllьlх элеl{erJToв ynpавЛс.}rUя' тaк каl{ o]lri \fог5lт 6ьtL'r' рrrз6,roшчхlваtrьr rlс Тoлькo в PcсvPсах,Ilo I.t ]'lrrна]\{rГlесl(ll' lloсЬlJrIioii со()6щсrnlя oкпy

oт кoгoзAщищAтЬся

Apсепа,r совре\!e]llIЬlх IаI{cРoв сосTol.lТ ItРrlII{]llllr:t.'lвеннo пз дrrзассепr6лерa' oт.лaдЧrша) дallпсpa ]lаNl,lТи ш ljоrrитoра о6pацеlпJii li фаilJaNi/pеестpу. это oчепьlloIlII1ьLс сpедстIjа irз"!()l\lilj tlo с нI]i\lll все.та]t]1l{o){]to сflpalrrtтЪсЯ,

Page 352: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

AнтидизAссEt',lБлЕP

l]изассrм6,leР - в дсвяTl] lтЗ десяТlI с-!}nlасв это IDА Рlо' Cуп1ествуст lrнoжe'ствo прriепloвl llpI{вoляпIl'х сl] в за]\lеiIlа1.с'llЬсТво (<еe'' ]loтo\'ly ч1о I,Iда хeIIс.xoe ппlя): М]rожествепlп,lс llРсфIlксЬl лслaжеппе заr.o;roвкa РЕ.фa]i.ia 1l'Г' Д,' _oд]laк.] сnlьlсria в ]lих нсrrноIlr' 1l v lrоr oсЛоiJ]lо ii IrифPoBкп ttа паPy с ruyсoP]]ьlllкoдo]l1 дJDl oсlеIiJ eпltЯ дnзассeN|6'.Lсрa !пo.nl le jl0сТaтoчнo llPaвДа' oпъlтllЬrс хa.IiерьI ]\loгvт rlаrп lсаTl, l I'lIaп 'fl ' aвToNlllТr.rзllруl.'ll uil pасI]]иq)]x)tsxу и Dьl'пrцаroци!:ii\iусoPнЬ]й кoл' rlо TаliUх хаI{cpol] -- сЛпrlltllьlj ]l вrll llo'{ €Tе ropдитьсяl \Tо лorlа.!rJсL у ]l]1х, ArLTilвlюс riспo"lЬз()|rа]l]{с в]цrтv:Цrnlr'lх фуtJI{l1иii в C++ суur('сТвсп-I lo : l i1TP!днЯст / ( I l за t :ссп l6лпров l r r r r t с пpoгpа l r l I r , l . пoспoJЬ l (у дЛя oпPL ' l1сnсн l l , Iэффсктl lвяьlх :t,']l)е(o! ]lрJ lхо,1l rГся вnlIIоJr lятЬ гPt)IloЗдкпе rЬI чl Iсr1еil ] lя Il-1x <]IoЛс]\lатPllвать> llх в 0т.lа'1чllrlе (|1po 6оPЬбv с oTjIaдчllJ(aNl.l \lьr entе llororjoРпм).lЪ"'lькo поrrrrl tс' чтo oптlJ\r]lз1lР\lIr)пIllLr i{olltll11ятоPъl upx пеРrroii н()зпlo)кrJост]ll l рсвPатЯT пирTу i lnЬпЬ lе ( l y l l к l L I i j l u ст !TI lL rссIn l €

AнтиoтлAдкAЕлl0 ll|| oДlJ()rtlv jl3 oпJn,.L'lllк()l] |lr Y,llll,x(tr'Il Ijо'Tl|()с1]iк) (x{РьГП] с|toс l]|]l.lсvтсTЛ||C i)'|oт.Ча)и|l]}aсI'о|' llPоГplNl]\ll,]l ll lJ(r П)]\l! ()l1 ]\l('ксT бы П' ()6ltаPv){с||' L]arдс всeю lrс.

i i . ' . r , r ' \ , . ' : , . t , . \ r ' I r : , . r . , r , . . , 'I l Y - ' l , P l l Ь | х o1 r l цЧ r l r ( )П l l l p l ) ] t с l ) ( r ( l ) I ; l Г l l 1 . l , i l с ( I l P ( )11к | | ] Ч | . o I l l I с с ( )д0р )к l l ] \ l o гo o ' | J | а .дoч l |Ь I х | ) с Г | J сTP ( ) l r / l D " | . j i l а \ Jq ] l r P . \ l c I , | | rЛ ' I I о r l | | с | l l l , l N l ( , ) |цy ( ( ) с L , L I i I IN | l | кon I i l I l l l i l N l] l T ' ' i . (с( jJ]u хо r l f ] .с v i i I l i l ] .Ь.)ojr| , I l Iс - . rLr l r r r lLr l rсзrrnr i . r lо l l r r8>в|\Гr|o) 'О]tI]aкoз:rI lре l l l i 11] ) I Iо ' l lЬ : lo l1a1.с . r l ( ) l l ] \ lо ' | | , ( rГЛ i t1LI l l | | i I ( i r |с l1) ] ) l l ч . .к l ) T l сдoI lvс1 . l l l ! |o . . зaI lL l lT i lдо . l I )L I Ia Pсa . | |р( ) I 'а 'ГЬ , I ] t j ] I |ь I lа l l кT l l l l I I I l ( J O lЛ i l i l | i v ' l ( ToNу, ro Rсo э 'Г | l l |р( ) ] J t | )к| ] . . ] J Iс -llсll,|ttpIlo 06||ll1lу)our:rютс' || удil.jьl l0'r.C,, l] адc)( rrсс тpar:ilп1lluaтьсlrпюrrl сo6я' лo;рlLc l IuB l l l t - гPn( : ( l l ] )oI ] lд l l к I lPо l{ ' lд ! l )у р l t с l I r1 l l l )р( ' rк | | ' l l ' ' l I l г с l l cP l lрoвt lT l ' 6о"(ЬxIoс кoЛIFlсс1'вo tIскlllli)tlll1(|IЬпьlх (,]l|YацlIii' поI}(1]л|] ]la sЕн о6рlбo-гчlпol llРi)JlсдyPl,l']IL,JIаю[(Ile что]Гo Il.],Ilсз}tос. пl)rIvTllo: oс1.!вьTс lr lк'roс sоli.iсс п хal.ерсxont lрссflалс ссr.ь r1 lЛьТсРrlатпвlIljlс 0T.'IадчIJIlll,

эму"цrQyIоI цrl Nl отЛ aдч ] lILaI1 IlI)о,ГI ]}lJсToяT ь'|pvll]lcсj н.] l i I lll сгo rIеI]озtl('кl Iol.o 1lст'J,Iсrroльзуih.е l,lMх кo\1аlULЬt, сPaвll]tlrа,l BРсIt' Лх вnll(),]нeнI.lя с(] вpc\]cнrllRьlлoJI}IellиJr <xoрпlаjьIIь]х' xoII:rнл' llit яllЛоnr проuссtloре МN'IХ.лollандьr рa-6oтаrот 6r,rстpcс, oтл:Ll.trtкл жс-lи6o xоo6що по эпrv'lrrrpуrот МN1Х-копrандьI'.llli6оo6Paбa1ьIва]oт rIх \!ед"l]сnнсlr ноР\l;Lll]rr!lt rLOilа|lд,

Aнтиtt4oнитoPNIоrI]пopЬl очепь l'1oщноc хaкеРсI!ос сР0дс,гво l llоl{.lзьIвaIопIee, l{ I{aIr]пI фllii.la}lп lспloчаl! реестрa ()6Pащаlась заlцl lщснrraя пРогPамп!a. Aктliвнor{у rfoIlштopI l1]rl',в принЦ!lпe| Iflr)кпo и пpoтIIвoсTояTъ' Jlо lYч]]le:rТoro не ]]еЛать] всдь сyIIIес'|вvет]1пaссLIвньпl llollитoprlflг (снятIrе сjlспкoв с рeестpa x фaiiловoji сllстellьI 'l }lхс.nичеlп]с до II пoсЛe заIIyсILa пРoгрarlllь])' :l проTllв него не п(]llрсшЬ.

не храrJllте PеIrrстpациoIrнуIо иlIфopIIаЦи]o n явнoм впде 3a6yдьте o флal.ахPeIIrсTрilцIl]! I Blleстo э1.оIо <pазNlазЬlвай l е ' к,.l l.JчевЬIе дarпlЬlе llа-1енькпllll ]tv.

Page 353: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 21' кaк защиuraют гiDoгpaмMнoе oбесneчeниe

сочr{aпllr по вссму фai1jlу' счtlть]nailте пx в слyчil:iнo€ вpeмя rrэ случа]iнъ1х NlесTпроrpаlIмL.]' расul'1фpogьlвая oЧе1)едIкri'i кусок кодa'

BIreсто fopen/fseek/fгead }]спoльзyiiте фаiiлЬr' проецl1Рy€пlьIе в пaмятьl o]lи ]1а-пIнoгo сno,кнсс Iloддаlо1.ся l{ФlllTор1пlry' но этo yжeтеltа oтдe.]lь]lоIo Pаз1.oвoPa.

AнтидA1-lп

ДапlllсpаIl trрoтIlвостoять проп1е пPостorc Их i]нoгo Paзнъlх' нo нсr. нЙ o]l]]oг0 пo.

нaстoящсrlv хoPошсtо' За,||ц)аiiгe I] ftal!ятп PЕ заголовoк (но т1rгда нс 6удуT pа-

6отaть фYfll{цllll Tlltlit LоаdResOuгсе) rJJтl]' по кРаiiпirl:i llеPе, ero чaсть (oтоII' ltакиe

пoJя lllo}кнo зaTlrpil1.Ь. Чr1l аiiTе Ii г"'Iаsе 5 < ФоРl{ат PЕ.фаiiлоIr ' ), BьIlr'iIочаiiTс вpс-

\!t,IJнo нс llспоЛьзусIlЬIс с1Pаll11ll|,I q)у||к]пrеiivj гtuа]Рroteсt(, ' PАGЕ-NOАссES ' )' а пс-

р€/I l lс] Io.IIьзовilнrlсru нкJl n)ЧаiiГo ljх Ill J()вь. вп poчeNl' хакrP мo'{€т уpoнtIть NT в rси-

нIlji эxрilll'' lr()rrучlIB о6plLз пОЛonъlтilс]го пPoцссса g свос распopя)ксllllс. o]1llaко

l JРl J tl (| l]( ),]] ьil( ) |]ill i I l],l ill llIап! I lчeс]кoii llfloroсЛoйtloй лrиdlpoвкll 'гo.tlку o'г э'l ol.o t {)Рa.r r 6 ! jLс , , | |сN l I l1Л. ( ) ,

кAк зAЩищAтЬсяl I l lю|) lа J l с Л: r i ]а i i l c хa l (сPv я l l l Io I lO l ]Я1Ь ' Ч1() I rpоfРаI l ] !1 i l t r зJ lо rv lа l i а l

. lЪгда eму

o01lt(rся IllLiiILl кo,'l' пьll]o'LяJl0'ji руГаl.сJlЬlloc соo6||Lс|lll{: (lt сtкl,ltа,t.l, этo о.lсrtь

Лс|Лo) . l | l l ос ] \ Io 'ГP(Ть ' l i р i l l l с за] l l l | ' l |юго N loхa] lп3Мa л лo.калr r l l rл rаr r r , ' I ,1с t roльзv i i1с| |СскoJ lL l ( )уp()вr Io j i i } l l | ]L , | |ь l Ik ] l ) l } r , | i i - i t l I l l |П 'aoтвnoдаI l c l lр i i I l l In l |1 loГos/пI i I Iс t lрсдvI lЫ|xr l с I l l l oГ l ) | l ; l ] )y l I r0 l r l rя lю] loс l ] r (х]ти iЦ)о l .рa] t IN lЬ1(вr r ; l у r : r ,L ' ;L l t скoвьLс с6or t l J , | ' ' l . ) ' B ,ГoPon 3 l l r1 lL lT l l oT х| l l {ср()н , o6||apу}к l l l l фaкт1lir|olla' ||el)r]Ь]ij yрoseliЬ <]|lvгаL'rся' ,lвLloj I,l хaксp 6Ьrc'ГPо oГo lloiiDаnЛ3уоТ, пoсne| с , l l i | | | ! l V , | \ - , . в | o ' U i i | ] ' , \ l . ' ' Ь Г ' ' | ' r ] ' ' l | | , t | ' ] г ' , ' ' U , , , , l ' l l l | | . , | | | | Ч ] | | j n Г a J ] \ . ,

l1ыl дrJllll()rlLtlii ]Ii' (Irl(e'll iв]rпсгРс1}'' Ilод11cIlяIolдtIй сJloвa пР],t вьlвoдo Дoкуп{еlt'та l Iа пP l I l I тсР и T . J{ ' | l ln l rP l luоr l l ( r i i Pс l l J l l ]ац l l I l i ]a l l lиTЬ l I t с i iц rаЛ]J i rаппя втoрo

Гo YРoвrtя floтрl]бyст llo"!tloгo lIrаJlIlзtl ясCji llр(n.PiLпl]\{Ьl, llа 3iL э,ro l]реi!Iя ]!{o't}lo

]1е.' Ib T r{nх l Цa)I рaNlI1 llrп lJсатЬl BтoРоI-"l },PоDсIIЬ Ilnюtдa llcсPa6аTr'lвaсTУ Чeст'IIьlх xо,ItЬзoвtlтс,]rсi,l, ll 1.()'llьIn) y Teх, l(Tll куппт <<крaк>' ЕсJп тtс въI 6oIIтcсЬ' чтовTopofr vPoвcrl ь с.цучll iir ю qlа6отае r в Резул ьтаTе oппi6кlt ' лyчtIIе вс)116цс нc 6е-pптrсь з : t пPoгPaмII ] 'PoваIIx( , - . : ] 'ю I lе дnя вас ,

IJе поjфзыт]aiiте хаrLерy' IiаI{]tN II\тсм P0IlrсTрl'lPyс-Гся зaщиTa. этo NI(,кeT 6ъIтъ

ll к"lrкrIсвоii 4)nij.n,lr oпPeдс.nепная lLo116uIrацI1я rr'lllвxlrr, ll Ilapаме,l.р (oмaп/'IIloil(ТPoгI r , 1 ln в к( )е i \1 с" l l yчaе l l е с . l I r ,ГЬ lваI ,1тr s /n пJи u/г ч € p rз l l |4_GЕттЕхт/

Get|,Jj ndo\'Jтext' в!ссто эToгo o6Pа6аTЬlваiiте 11aя(а,r.!и .]дxlloЧ I]ъlх ]шавпlIl (l,ill сHАR.I,{м_КЕYUP/П -кЕYD0QN) пр аввoдaДанньlх и -|yт )кe lп шIrф'pуIiто' Смь'сJI ш'lфPов'{u в TоIl' ч'|O6l'I ввoдиl"lая псlЛьзoваTe'neм сTpoкa]]итдeнеllРпсутсTlloвалa в пaпlятI't в явнoм вlrдс (тoгlIа хartсР rlPoсто пoсTавит l]ir ]teeтoчliу .]стапoвa. и моryчиir sott-iсe п.Pоllссет сrо xPяilo в самъlit цe]]Tp зarцитIloгo\lrxaн''зIlф, интеlpeцI{я с oсrIOвпЬIIt пoтoILoNl ввl]да прe/Ioтвpащает 6ьrстPьlliвзлoll пPoIPаI'N!ьI, Б pЯIi нa |'1],1-ХХx ничeгo }le дaет' пoскoЛьl{уIIе пoзвoЛяеT6ъIст-

Po oTJrrгIrlтъ o6ьIчiтьIе ввo]]n]ЙI'e дalпlЬIe от s/n'

Page 354: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з55Boзъмитe на вoopуrrtеtrиe г€нepаTop сnyчaйнщх чиссл - xyсть пpoвeрIrи и/Iyтс Paзfiои пepиoДичI'oстью пЗ рaзличнь]х чaстeli прoгpaммьl (испoльзЬвать o6.щIrе функЦпи пРи эt.oN{ rlедoпусTиNlо - llrpeкрсстflьIс ссьll]rи и регyлЯрньIйrroиск въrДaДyт вас с r.oловoii |). IIе испoЛьзyliтe фyнlсцию гаnd() вn'""тoJ'o.оoт,l'l]-lЛ(иваитесЬ o,| ввolilrмьrх дaяньrх' rtpсo6pазyя в псeпДoсЛyчaйl{ylo пoс.]iе]1o-lalеЛъrroс l.Ь задер,{кl1 Nle)кдy IJaжат[я]!1l1 клaвиIIJl кодьI ввoдиllьlх симвoJtoв' пo.с{едoватeЛЬнoстъ oпtPъlTllii N'e]tю Jr'Г. Д,Нп в,кoeмслyuaе не хpаrtитe <pуrатeлЬ]lьIе> сl poки oткРЬlтьINi тeкстl]lll и не вьt.зьIваЙте r,lх r1o yкaзaтrлIо _ хaкеР мг1roBеннo пайде'ГзащUтrtьIri код лo пeРещeст.нЬl]t1ссьIлкaм' лyчшо тarс: 6сpеlr указaте'tь на r:тpoкy. Увелпuивaем сro нaNЬaйт,С ' хnэ"qP l t у . rаJа11,ЛЬ п l l гo lP1Nмо J | | гpeд и( пo ,1LJoв i r | l | | .^ l я| , lч | |ГJeм,v ' ' l "ле , l y . ( п P| | J Io l l Baм пnи | . , .я l ,р [ r ] ILся с кUв i гс , | ,вov o , | | | | \ |иJ| | l , ) . ,ш | |х ( JN| .rlи.]IЯтoрoв' I'oРoвяU{их вЬiче01.Ь N ещс rra сTадии кoпIпl'U1яц'tи),Из6егаiircлpямoro вьrзoвa API-фуrшцпii' I'lаlcpl lяка хаt(eP пoстaBи'Г ]]a нпх 0pяк.Испoлlзyliтe6oлсe пpo.рe0с!Iвrrьlс метo/LиI{l{ - кoпиРoвaпис АРI'фyнкиiiв ;поeT€лo' в!iзo1з l{сс гIеpяoIi маlrrt,lнIюii кoмal lДl,I' рaсIlo3l lавaIlи c !t дeзa]с]Iва цltlo 'Го-Чск oсTаIroва (lroдРо6loс1rt в <ЗaIllсках l'l!IIц,Ьх'a').Рaз6рoсaiiтe заrцlfilIыii i!1схallllзi\{ IIo ll €скoJ.IЬкl{]!l tIo'Гока]tl. oтлfu,(.lrtкIr llc вЬI.поЛI{я,]. l l сPc]t'{loL]сll'lе |(ollтсксTa. I] o(TitлЬl IЛеilиc,I{Poмстoгo'oчсllЬTPv/iJюpaзо6РатЬс:i:l::;:;illТ::,fi:,:lHiil]];::мoм (Рaзy !lз пeск()Лькllх i!lcсl..Coздaliте ltcскolькo rroдЛo)кIlых фyllкцпij, /{aл l'N' oс]\llnсЛellllЬlc l.]l]сUa, llIaCheсkRegisters' * xусть хaкеP TPа,ги1'BрeN1я lи их и3у,!ellиеt

Page 355: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гл^B^22

lv| Eтoдoлoгия 3AlЦитЬlB MиPЕ UNIX

ПрoгIrаммlloe o6eспeчeнио пoд UNlX ttaлекo rlе всeгдa 6eсплaтнo' п кoмпlсPчr.скшй сodЛ.yсIlе]lt]lo кo]lкУpиPуeT с llPoсктaмll oрen so rсe' мнoгиe из кoToРЬItрасIrpoстPдняrотся 3a Дeпьги (свo6oда _ rщс нс сиIlottим хaЛявьт)' этo и fla)rч.}Iыe приЛo)ксIlияl мoДeлирylorциe дви'(сtt!!я звсзД a r.a.lrаI(Tиl€х' ]'l кoDпoDaтив.иьIо naкeтъl ддя Pа6oтьI с трeхмePпoй гpaфикoii,lt сорвсPuot] обeсIleчelIиe' и flpo.ГPaммI lЬ|e комf lлсксЬl дЛц y||гaвлеtI l lя прoизвoдствoм' l | т л ' ' l t т ' л, всс этo неи}'еeт н!Iкаl(ol.o o1lloшrпия пl,i к ПIt, нп к <пиPатству'' иссrrсДoвateЛьскиe ltв.ст,lryтът и коPпoрации сJlишкoм дoрo'(aт свoeй pспутaЩtсй, чT{)6ц и/lтl4 IIa oт.кpьl,Iьli,i грa6Фк'

пofloмy.,гo в мирe UNIх тaк малo зaщит oT ] IесaпкЦlloпиpоBaннoгo lФпI'lpoвe-Irия. Bот Liпuх _ дpyгoе дeлol opпeнтиPoвaннaя flа дoмаllrllих и oфиcElaпoльзoвате,!ей, онадви)кeтся трoпolit вaPвaPсi{oro Pынка (он жr _ (мaсоoвый'}

пaсeлell,loгo x?rксpaми' пщ)aтaми и пPoдвrrн}тъrми юзсPaIlи, сt1oсoбlIьIп!,l пoстG

нoй защl'tты здeсЬ нrriryta! Без'достoйнoй зaщитьl вaшa пpoграммa вoo6ше6yдeт проДaваться.кaчeсTвo )ке зaцитньIx мехаt1изMoв в UNIХ вce eщe oстaется нayровнe

ЯтЬ зa свoи lipавa' нaсftopo скаuaв из Сeтп свe)кепoймa{Irьпi кPaк. Бсt д

п0д06Йя.Iевoii pyки. с Wjпdows ей не тягаться, Bпpoчепl, Iсaчествoинструмelттаpия пoл UNIХ eцe хylrtе' тaк чтo oднo уPaвновrI]IивaеT]tpуlюе,плoхoньIrаЯ защитa пРсдстaвЛяeт сo60й 6oЛьlltyю пpo6лeмy и ликуrо roлoвбoЛь 6eссoппъrх rroчеri. Дaнная гЛaва дaет кpaткoe пpeДставлeЕие o1 рассказьIвaeт o наи6oлeе пoпyлярн],lх ме]o,Да-\ пpoтивoдeйствия o'гли дизассeм6лepам.

Page 356: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Pазвeдка пepeд боем/ или вхакеpсKом ла.eрe y кoсгpa з57

PAзBЕдкA пEPEд БoЕM,или BxAкEPскoМ лAгЕPEy кoстPA

C то.rки зpеlтия хatсepa UNjх - пoлньiй o'гсToii' ска.)кy я вal!t' дoстoйItoгo инстPyмeнтарIrЯ irет 11 пе с(opo5удeт' ХalIrть lIpr'tхoдится гoльrпIи pyкaпrи' БoльlrсBсегo yдРyчaет отсутствис tlоЛнoцсllнolo отла/.lчикa'eслIr не Solt Iсe' тo хo1r 6Ьt o1]уDь8, Мeлoчи тиlIаЛампeРoв пaмятиl pа:]JIичl{ьIх тaII патчeРoB' anтo]!taTltчссltuх PаспакoвЦикor упa.кoваппЬIх фaйЛoв

-l.аtоr(с пPихoдiJтся пПсaTь (амoстoЯтrльllo, пoскoJlll(у ж]lвьIхлРе/lсTatsиTсЛей этoй фаунъr в Cетп oбпapужrrr.ь нс удa'rось' Лишь 6еспoнснньlешIaД6llца зa6PoпIснньIx пporктon..'

Булсlr надсяться, .rтo .leРeз ]lесI(oЛькo 'Цст сtlтyaцIrя r|змcll,rтсЯ (как Irэвестrrо'сflpoс po)Iцaет пРе'lЛo)ItеllIrе)' а n oкa or.pallllч l iмся тeм, vтoсдcлaспr кpапrий о6.3op сyщсствуlolllегo сoq),Гa' liРltГoдllolо дЛя хartrPствoвaItuя (I(статI't гoвoPяl зa-lllитнЬle мсхaIl}l3мьI' осо6еtltto с,lкlжяl,tс' тnклre тРe6yIoT oшtаIц{и),

oтлAдlчикиGDB (ptiс, 22.1) крoсс плaтфoрNIerl!IьIiisourсоJсvel-oтла,цvик' oспoвaнlIьIйIIа6и6лиorcкe pt rасe t см, rI l J|| Jr rJ l ,e ) и UPl1 'P, иРoванPЬ,I ' l l Ре и ] ! lу UlР l , , Ьo hа U | ,1ад.tу | р||Лoжe||ий с исхoднLlr и 1.к. , j vи, ДJ.r взЛnмi] пoдхUд||Г пJo,{o n.Л| l пoдxoдит вoo6щe. пolЦеpxrивaст апflaРаTньIе тoчкll oстaнosaна исполнение, но нeчтeнI,rе/запись памя'lи (oдtlаl{o пPизaпyскe I{з.пoДVМWаIо oни не сРa6атывают' a нa loЛoм ]келeзе я el.o не гorrял). не N'o)кeт 6рякатъ и мoдифициpoвaть сoвмeсTIIo испoJ1ъзУемую память (тoeстъ lsс егoлопloщью вьI вpяд ли oтЛaдитеI),lloilсIс в 11амяти oтсyтствуeт I€к тal.oвoii, Oткaзывается зaгpyжатъ фaйл с ис.

Page 357: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з58 глава 22. метoдoЛогия защитЬlвмиpе i]Nц

IсDкенЕoй стPуктypoй иЛи с oтpeзаIrlroй sесtion taьlс, Bнеilrliе пPедстaвляет сo.60й кoнсoЛь||"e п!илo^Phи..o слo}rлol i ( ,и.Tеvoй кoманд' I loлIloe nписJI lиeкoтopoli заЕимaет llopядкa Tpеxсoт сTРа]rиц у6оPистoIo тeкстa, ПPи яrrланиик oтлaдчI,lкy мo)iшo j1PиI{PутиTь гpaфичeскуIo o6oлo.rкy (6лaто нeдoстaтка в нихиспьIтьIвать нe пpихoдлTся), oДпакo кpaсивьIм интсРфейсoм кPlrвoс ядрo нeисIlpaвлrrlь, за вpеп{я своelo сyщeствoвания GDB усlleЛ o6pасти r.yстoй пrеp.стъn] антиoтлaдoqнЫхl1pиеNloв'мпoгt,lе из l(oтoPыx oстaются aктyanъIrыми и пoсетoдняrпний денl, Teleрь o дoстoиIiсTвaх| GDB 6есплатe}r, PaспPoстpaняетсяпo лицензии GNU (oтсIoдa и яазваti,1с _ Gпu Deвuggег), вхollиT в IсoмплeкTпoставrсrr 6oлъtttинства UNIХ,oв и к томy tке пoзвoляст патчI'tть испoJlняемыйфайJt' Ite вьпoдя из oтладчIrкa'

I{Paткoс Pукoвolrс1.вo Лля rraчинающrtхl чтo6ьl 6Pякl'tyться нa тoчrсe вхoда, нeoб.хoлимo пPeдвaPитlrлЬ}io oItpe]leлить ее aДPесtдля чсгo пpигoДитсЯ штaТIrая ути-лита ot|duпlp ('roлькo дЛя нсзaцищеIlньIх файловl) иЛи biew/lDA| objdunрfi ] e-nаme . f. зaтс[1, зaгpyзllв oт4а'{иваeмyю llpol?aммy в GDв (!db -q fi ] e-iаm),даTь кoмa]J/(y bгeаk *oxхххxхххх, rдr 0xХ - стaPтoвЬiй аДРес, a зaтeм run для eeзanyскa нa выltoJ]нсItис. Еслlr все пPoIJIлo ycпelrнo' GDB тут,(e oстанosиTся,llePсдal]aЯ !a]\' 6Daздьl прaвJlсн!l,l. ЕсЛи ll{jт' о'ГI(Ройтe фaйл в Ьiew,e и вUeдpитeв eпtty рoint тoчl(y oоTаl'loва oФrL ссh), пРeдвaритeлЬIlo сoхPанив в IoЛoвe oPи.l.иlla]lЬtlo0 соj(сР)l(имoe' и пePсзaпyститe o'l)Iqlolи(' a пoсле дoсти)кeниll тoчкиoстaпoва вoос1altоl]итe ee сoдeр'ollloe (set {сhar) r(]хx)(Х)(xхx)( . YY)'

P'.iс.22'1' GDв за pабoтoй

Page 358: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

развeдка пepeд 60ем, или вхакepскoм лaгерe y кoФpa 359

АLD' АssemЬle lаnguаge DеЬu88еI (http://аld'sourс€folge'nеv) _ пPoIrьIР.{ивьпisolIсeleve] app1iсation.dеЬuggег с минимyмoм Рьiчагoв уlтравлeния. opиetlTи.РoBа]lllьIй нa oтладI(y ассeм6ЛepнЬlr текстов и двoичных фаI'iлoя (рис, 22,2).ocпoван на 6и6лr,roтeтсе ptrасе сo всеми oтсloДа вь]Tскающи]\1и пoслel{oTвиЯми.B настоящeе вpемя pа6o,r.аст тoлъi{o rra х86'пJIaTфopме, yспe xro кoNiпилиpуясЬпод следyloпиe ollrpaцlloнlrые сlIстel{ьl: Liпuх' ЕгeeBSD' NеtBSD п oPеnBSD.ПoддeP,кивaeT Toч(и oстaнoвa на вЬiIlол}Ieн!tc' JioпIalouyio/пoкoмaнднy]о тРaс.сиpoвкyj пpoсNioTp/р€дaктиpoваlIиe ДаNll lа, tlРoсмoтP/из[{eнсIrие P€г'IстрoB' (o-дeP)lflrтпpoсTе]lьltийдизaссeм6лep и этo всс, !oвольпо aскстиvньпi нa6op дляхак€PствoвarIияl ДoсToпouтeнньrй deЬug'сom для N{S'DoS и тo 6ьrл пo6отaчe'затo ALD 6еспЛа1.t)l1' paспPoстPaняется в исхoдньlхтекстaх и rрyзит фaliльi 6езseсtioл table' ДЛя o6yченI.lя тlзлоMy()н вtloЛне пoдoйДeт, нo кaк oсrlовпoй хакеp.ский иIIстPyмснт| yвьIl rre тяIlе1.'

Pис. 22'2. вHeшний вид oтладчика ALD

TнЕ DUDЕ (hitр|//the.dude'sourсeforge.net/) - ипTepeсвый sоurce-lеvеl oтлaдч!tir'действyloщий в 06хoд ptrасe и yсriсr!нo Pа6oТaтoщий

,laм, IДe вdЬ/аld ужe lleспрaвЛяroтс,r. I{ сoл(алепиIo, ра6отаeтToлькo пoД Linuх' а лоIсцoп]тикаNl oсT?l,'lь-llых oпepaциoппьlх систсlI осТаeтся сoсaTЬ Jlaпy. ApхиTекTypнo стoиT из трeхoснoвtтьтх чaсТeii:мoдyля ядрathe-dudе'o' реar1изylощelo низкoyPoвневъiе oтла-дoчнъIe фупкЦии| спpягaюrцeй 6и6Лиoтсчнoй 06ePткIl вoкpуr. I{его |ibdUderjno.501l вilеllllleгo lloJl],зoвaтельсI(oгo инnrРфейса ddbg, Co6ственiro rовopя' пoЛЬзo.вaTeл!ский иlrтеpфeйcЛyчшс сpазy пepeпllсаTь, oтлaдvr'rrс 6eспЛaтeп, яo для еroскaчивaния тPе6уeTся лреllварителътrая регистpaцrlя нa WWW.sourсefoг9e' net,LINIсЕ (http://Www.|iпiсe.сom/)' slrft iсe пolt Liпuх (Pис' 22'З), чpезвьI.rаiiнoмoцньIЙ oтлaДчик ядеpнol o yPовпяj оpиeнтиРoва]riiьiй fla рaбoту с двlrичньlllифайЛaми 6eз исхoДникoв- oснoвпoii riнстРyмeнт лю6огo хaксPa' pa6oтаloпlегoпoд LiлUх. B пастoящeе вpемя р.r6oTaeт тorrькo пa яДpе всPсии 2.4 (и вродe 6ri '

Page 359: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з60 глaва 22. MeтoдoЛoЙя защитЬ| в миpe UNIX

2,2), нo oтвaпиBaется с 0ши6к()й в файЛc lсеfасe'с при Iсoп!пиJIяции l1oд все oс.тальньIe, Дo6aвляeT yстрoйствo /dev/iсe, чeпl легкo вьIДaет свoе tpис)тствиr в си.стeпIe (BпPочeп{' б.naгoдaря llaшlчltю исхoдньIхтeкстoв этo IIe предстaвЛЯст сеPь.езнoй пР06лемы)' BспЛьIBаеT IIo lfi,чaтпи сtг|+Q' пpинeм USB-хлавиатуpа пoкане пoддepэкивaeтся, Зaгpyзчикa вст и rrе пpедвllдится, lloэToмy одинственньiмспoсo6опI oтлaдки oстaстс,r внедРенIre мaлII'ilIIoй кoмаnды INт 0з (oпкoд ссh)! тoчку вхоДa с loсJlсдvющим pyчньlп' вoссTaнoвJ1ениl]i{ оPигIiн тъ'lolo сoдeр-

Pис.22.з. Heт, этo не сroн, этo sоft.]с€ пoд Linlx|

PIсЕ (httрi//piсe.sоurсеforge.nev) . экспepпNleнтanьпый ЯдеPньIй oтлaдчик дляLinuх, paбoтaloщий тoлькo в lФIlсолъlloм peжимe (To cстъ 6eз Х'oв) и Реalти3ую.щий N{иlrимvм фylrкций. Tем Ite мeнre и oн нa что тo п{Фiсет сгoдиться.Thе х86 Еrnulator plugiп for IDAPro (hЕp://idа.х86emu'sourceforgе.nev) эму-,']ируIoпlиii oтладчик' кoнструIстив]Iо вьIпoJllll]Irньй в виде плагина д.ля IDA Pror,i paспpoстРавяIrщиriся в исxoдIlъ]х Teкс]ах 6ез lrРeдкoмIтиляции (a это зllaчит,чтo крoмс саfioй IDA Pю eще ltoнадo6ится и sDK, пapьrть кoтopьпi нaмноroTpудltее). oснoвнoе toстoиilсTвo эмyлятoрав том' ч'гo oп позвo.]lЯе t вьlпoлtUiтьп roи lвoЛD, L|с tус{ ,1 | .o1 i l | | J вирт} i ] - l |ьнoN{ пpoLe. "o f l c ' l i aп l 'иMер, nерР Lаваrь

Page 360: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

paзведка ЛеPед 6оefi, или вхaкерскoМ лагepe у кoсгpа з61

. ' Pав, eниP l гo| ,e lу| le Лго3еp.( сepиiI loГo l Ior ,еPс псpo,ЛЯ, ми||уя o("тaпь||oйкoД. TакaятeхllиI(aсoвмеЩaетJlyчl]rио чсртьi стат]fieскoгo ll Дина]!1l1ческoIo aна.лизa, зI{дчитeЛъllо Уtlрoцaя взлoм закoвьIp,Iстьrx зaIцит (pис. 22,4),

Pис, 22.4. oснoвная панeлЬ эмvЛятooа

Pлс. 22.5. кoHсoльHая версия IDA Pro

Page 361: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з62 глава 22. мФoдoЛoгия защитЬ| в миpe UNIХ

дизAссЕМБлЕPЬIIDA Pro (WWw'idаpro'сom) "'тучшl,xi дизассем6лсp всeх вpе;Iен и наpoдoв, те-пeрь дoстyпriЪlй и lloд LiЛUх! ПoклoЕникri же FгссBSD и oстalIьньтх oпеpаци.oпttЬIх сIJсTеnI ]!1oгутдoвoлъствоваTься кolIсoJlьнori Windows-вepсиeii' зal1ущеl'.нoi1поll cмyJlятoPoNI, llЛи pа6oТaть с нeii l1с1loсредственяo из.lтoд Мs.DoS. os/2'Wjndоws,lIo недавнегo вPсмсt{l' IDA pro oткaзьIв:r.lrасьдизассeм6лиpoвaтъфай-лы бeз sссLioп taЬlе, oднaкoв пoслeдIlих веPсIlях эТoт I'е]1осTаToк 6ьlл yсЦ)arlсн,UTсутствЛе пРI,IJIичньIх отлa-цчltкoв под UNIX rtprвPаlllaе t. I D^ Ргo в.)снoв}roйиrl(тpyпleн'Г взЛоNI1циfi а (Pис' 22,5)

oЬjdump - aпaлot.durrrpЬin для ЕLЕ.фaiiлoв с llpoстeiIьк]1]!1 дизaссем6JlcpoмвI tyTPи, ТРе6yет o6язaтcЛъrioГo ]]iLJиЧия seсtjon tаЬ1с, пе пеpeвapивает искакeн.l j l,lх llo'поri, с yпnксlванньши файЛаNllt }rс спpaBлясTся i теNr J ie Mенсс в oтс}тствиeIDA Ргo сгoдится 'l ()па,

шпиoHЬ|тruss _ по']e3I]ая уTIlлитa! lirГаTrl],IAl o6РaзоNl !хoдяllilLj{ в I(oNlI]лс(т пoсTавкI,I6oJп,lllипстaа UNIХ'oв. oтс",rсясивас'l сilс'ГellпЬIс ]]ъlзoвь] (oнli nre. sуsсаll,ЬI'рrlс, 22'6) lr o'гlraпЬI (siglrills), сoвоРпlаcN|Ьlс ЛoдoпьIтI|оji ltРorpаммоii с IlРlx(лaд.но].o vPовll,Il чтo пoзl]о,|я1]l ]!llloгocскaз;i].|, () вl]yтРсl l I lc]\I ]llltрc зaпlиl] l()l.о }lcха.l l I , Iзмa (ЛисTrtI l г 22.1),

лисrинг 22'1. oбpазeц oтчёта truss

f lп|ap(0х0' .09 i i '0хз,0х1002' .1 0х0) - 6 i '165/984 (0х2808b000)Drсak(0х809b000) - 0 (0х0)0гоak(0х809с000) = 0 (0r0)b.еаk(0х809d000) = 0 (0х0)b. ' "аk(0х809o000) - 0 (0 i0)s i а t ( . , ' 0 х b r b f f 5 l 4 ) - 0 ( 0 x 0 )O p е i ( ' 0 ' 0 0 ) = з ( 0 х 3 )lс l rd iг(0xЗ) = 0 (0х0)0 р с n ( . , , 0 ' 0 0 ) = 4 ( 0 Х 4 )stаt( , ' ,0хbfbf f4.4) =0 (0х0)o p е n ( . , " ' 4 0 0 ) = 5 ( 0 х 5 )fstаt(5.0хbfbf f4d4) = 0 (0х0)fсnt l (0х5,0х?,0х l) = 0 (0x0)

sysсtl(Oхbfbfff8с'0x2 0х8096аb0 0ХbfbffЗ88 0х0 0х0) = 0 (0x0)f5tatъ(0х5.0хbfbf fЗd4) = 0 (0x0)bгrak(0х809f000) = 0 (0х0)gеtn iгonlr i € s (0х5,0х809е000,0х1000 0х809а0b4) - 512 (0х200)qеtd i|сntг iеs(0Х5'0х809e000.0 i10000х809а0b4) =0(0х0)lsее l i (5,0х0 0) .0 (0х0)с lo5е(5) = 0 (0х0)fс l rd]г(0x4) = 0 (0х0)с lоse(4) = 0 (0 i0 )f5tat(1 0хbfbf f104) .c (0х0)

Page 362: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

развeдка пepeд бoемl или в хакеpскoм лагePe y кoФpa з 6з

bгeаk(0i80a3000)!гr te( i ,0х8091000'158)

= 0 (0х0)= i58 (0x9e)

PГосess eхit . rval = 0

Pис.22.6. o.слe'шван/е s}Бса |.oв с помoць'o tass

кtгaсe . eЩe oлпa yтилитa из штaTlloto l(oмплeкта пoсTaвки. O,]'слФкиBaeт си.стeм!Iыe вЬlзo!Ьl t Da]ne tгaпslatioп (с!tl гГаксичeский рaз6oр лмefl ) ' oлсРaциI,l ввo.

дa-вьIвoда| сигflaJlЬr' userlапd.трaссирoвкy ll тleрelспloчениe кoIlTeксIoвl сoвeр.Iuaeмoe пoдolтштпoй пpoтpaммoй с,tllcPIlого уPoвня (лIrстинI 22.2)' кoрolleIювopя, ktвсс пРeДстaDЛяeт с06oй yJlyчr|Ielillьlй RaРиaпT tгuss, olllIа|(о' B сJтли.чиe oт пoслсдltойl вьIДaeтoтчсT 11с в тelсстoвoйl a в двoичIioii фoРмe' lt для геIll]'

рaции oтчетoв tleo6хoдимo вoслoJ]Ь3oвaться yTиЛи'гой kduпlР'

листинг 22-2. o6pазец oтЧета ktrасe

8259 ktгaсe сALL !гite(0x2'0хbfbff3fс,0x8)8259 ktГасe 610 fd 2 Wгotе 8 bуtеs

8259 ktГасе REт !гitе 88259 kt.aсe сАLL Wгite(0х2'oxbfbff42с'0х13)8259 ktгaсе GIO fd 2 ягOtе r9 bу|es

.eхес of 'ас ' fа i ] ed.8259 ktГасe RЕт Wr]tе 19/0х138259 ktгасe сALL Wгjtr(0х2'oхbfhffзeс.0х2)8259 ktraс€ GIo fd 2 !Гоte 2 bytes

8259 ktraсe RЕI Wгite 28259 ktгасе сALL Wr1te(0x2 0хbfbff3eс 0Х1а)8259 ktгасe GIO fd 2 Wгotе 26 bуtes

npoДoJLкениe 9

Page 363: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з64 rлaвa 22. мeтoдoлoгия защитЬl в мире UNIх

лис'ti'нr 22'2 (л paДory<e ниe).'NO suсh fjl € Oг d]гeсto.у

8259 ktгdсe RЕТ Wr]te 26l0х1a8259 ktгасе 0ALL sigpгосmаsk(0хl'0х2805сbe0'Oxbfbffа94)8259 ktгасe RЕт sjgpГoсmаsk 08259 ktгасе сдLL sigprосnrаsk(0x3'0х2805сbf0 0)8259 ktrdсe RЕт sigp.осmаsk 08259 ktгaсe сALL exit(0х1)8265 ktгасe RЕт ktгaсe 0

шEстнAдцAтEPичI{Ь| Е PEдAкToPь|BIЕw (http |//be|net.d|'sourсefoгge.net/sourceforge/bievbleW562.tа l.bz2) . нЕх'pe.дaтсToР' дr,Iиcсeм6лер' l(РиIlтop и иfiспeктoP ЕLF.фopмаTa в oдtroМ флакoнe(рис. 22.7). всЦoeпIlЬlйI Aссо I6лep oTсуTствyeт, пoэтoмy хaчить лрихoдитcяl{епoсPeдствеllJlo в мaшинIioм кoдe' qтo напpяlaeт' oДl{aкoдругoгo вЬl6oPa y нaсшст (pазвe чтo,tlollисaтЬ Ассем6лep самocтoятeльilo)'

Pис. 22.7. L],]eпнадца-epичrы; pёдdпop biew

дAМпEPьlB UNIХ гoдерlrtиvnc памЯ |и ка>цoГ4 из пгo.rрс.oрoв ljpr'д.тавлello в виде нa6oрa фaйлoв' рaспoлo)кe]{ньIх в rraталoгe /рIoс. Здeсъ )ке хРаЕиTся кorlтекст pe.

Page 364: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

авт0матизирoванныe сpедmа защитЬr

1.llсTpoв Il !се oст:f,nьпoe' oДIraко даllп памятIr этo ещe не roтовьIli ЕLF-фaйJr,к нCпoсpсllственнoму упoтРe6Лeilиio оlI I{е пригoДен. Tем lle менeе лIlэассeм6лlIPoвать сго {сьlрoii' o6pa3 вllo.nпe вoзNlo}i]Io.

ABтoмAти3иPoвAнHЬlEсPЕдстBA зAщитЬl

Уllaковщttк]l uспoл]lяеlпnх фаii..lов llспoлЬзyloтся Irе тorrькo л.lrя уllelrЪrJlеll,IяРазмеpoв I1рot.рilN]i!1ьI' lIolt дЛя затpу''UlеI l rlя ее Rз.nol!a' Пo/l WiшlоWs Tакaя vеРаникoгo llа/lолгo }tс oсtанoвltT' воT UN]х _ Друfос r1е'Цol ArтoN!атrtчсскllх Расllit-I{o1rIJпков нст, дa]\1псpьl ]l нс l tо чсgil'llи' oт.llа)ltива,Гь нсчсм (oс116ся] lo нa ]1с.Liпuх-с11стспIах), Прoстo xpoIlускастс (l)аli"ц чеPcз уl IlrкoвrцI I].' 11хРсfi кTo сго Pа(t{oвЬI.pяе'г, To сстiJ рaсltoвr'lр,lIЬ.Тo' к()ttoЧlю' сIl()t,уT,Iю дnя эTof() хаl(сpу Il()ttадoбll,|(Llвl]с!пia всскilЯ l\lo1.11ваllll't, ко1'()F)ii у llсГ() о0])|чllo Iкl'l''

N l l r l t vс вссх yI l i l ко l J l l l l l l l ов l l 1 ' ( )N l ' чT() o| | l | сe l )ье l l Io с lп| ' { i l l o ' Г I l ( )6 l l , r IL l Ioс 'Г l ) i l i l l I l i i .

L I l с | l l {o1 i l IP( )Г l )а l1] \ !ЬI (x tХ1)6c| | | |oсT ссn l i сoЛepо1.J ] i ] i Loч| l | ) | ( ] I ]Р| |c\ lп) ' | ( T( , t j у ' { l l ] t j с l i з30с , r ' Iь Iс ] ! J l Iе упnков|] l l rкп l l a l l € . l Je |п ' пс .

к .ЦЮt i j l , гс 'цЬ||o l l i l I - in r rх l t I r с Pа6()1t r J l ) г п( )Д ] i . сс l j sD t t дРуГ||д j I l L ]N]Х кЛ() l i . lN|и 'хo I ' | | j I l ? l L l L . l . i L l |иЛ 'Г l l кo| ( )

уJ tак( )DIIL| r ] (а | l ( ' r I J l l чс

shivа (http://Wwwseсurereа ty'сom.аu/) .- сnпlьlй мО|цiп'ii у|l;rкo|lIll||к ll:l Ilссх ll\lс.lо | l L i tхс ' | ' хo 'Г ' | l t ( ]с l Ioв i l | | | la NIoPа. r lЬ r ] ( )ус ' l ,арс l} I l l l | х I lЛ l ] ' |х ] l ' зBсс1I rЬ lх Wi0dоWs l1p0гРaNl]!jI'кjInNl с незаIIаIlят|lInх BPс\1oll' I)0lnl]3ус'I ]\lIIol.цl'lIoiillуI() }1.'ll'пl nlшI)p()rr-J{и IIoти]lv <JlYкoBl'пlln' (ol]]oпs llус).),r.ЦII <<]vaTрсlllкI'l', ЛспоJl ЬlYеl. пl 'пl\,lор(])l l Ьl ii

,'lB]])l(oJ(l llillIIll!lгonаIIl]ь|ii мItо'(сLlт|loм аIгIlюlJ|:lДoчIlЬ|х I llfГ|.l,llll]lilссtj]\{6iel)IlЬIх

щтleNloв, п рoтl Л]o/lеii.]TRуeт gd Ь lt дPyrиIl oтJa/r]llпrаll' Pа6оTal.]пlrtllllерe3 ptrасe,

vспсlпIro боpeтся с stгвсe/]tгасe/f €nгjs' атаIi)кс npсдoTвРaпlаст сIlятис скanЬIllt(э'.' дaмllа) пРoЦ]аммЬl .roPсз /pгoс,I]oдPо6ItoсTIl ]l.i Ьlrlсi{lrаt,сi Wl.!W'b асkhat, сom/prеsentatioпs/bh'fеdeгa|.0з/bh.fеderаL.0з.еаgIe/bh.fed.0з-eа9]e'рdf, вoпpекll рaсlтРос-Tрalleппoмy ]\{Iтеlпl]о o IlесокpуrпrlI!осTII lllrtrrьr,лЛя oпьIтпоГo хlLIсl)а ()lln lIе гI])e-Iр;lla' ( roм у )ке агpeссI Iвпая rDI ц)одil упaкоR lцпкit прllвolLlj L к nl пor.oчl{с.llcl Il lьlllrlPо6ЛсNlаIl ' llсPссlTаст Pа6o1aTъ fork, ТсNI tlсlПпвьI 6oльI]Ioli lllагвпсPсд,I{ дЛязaцитьI oт нaчи!lаIоUolх хакерoв это JучrlII'JiiвЪr6oрlBurn€уr (httpi//paсkeБtorm5eсUгity'n|/gro!ps/tеso/bUrneуe.1'0'1.srс.tanbz2) пoпу

"пяpпьlii, по Ilе слиlrlкoNJ стo].iкпir yпакoвпUЛi/проTer{тoр. У,{е ,1двlю взjl.r]\t:iIl'п pyкoводстBaпо егo пpeоДoлetll.llo Iiе IrайДет R сeт,т т{lлькo Ле]lивьlii. BoT то-liькo некoторьie rrз пих: и]WW.sесurib/|аb.r!/tools/з2046, htm|, иa\,W.асtiva ink.nеvindeх, рhp/BUrпЕуe Enсrypted вinаry AnaIisis, L\,WW. inс]dents'org/pаpеrs/ssh_exp olt' pdi, lIспо-rъзуeткрaihle пpи]tl'lтив]iый Nleхаllllз]vl oпредeЛe]]]lя oт'lаДчr]ка. tlpo(To lloдае| сlil..IIal 5 (Tгасe/bгeаkpoi nt t гар)' в o rсу'rсTвl1е GD в и.l]и чеr.o.то oчснъ rta ]]сгo lloхo.хelo псPсдaющии уIIPав.J]снис яa сnсцllaxьнvю пPoцсдуРу' yвеJ]lIч]'вающyю

знaченt1e <секретI1oli> ячeIiкIr пaмятIr Jra е/.rиflI'lцy, a B пPис},Tствпп вылeтаIо-

щиii в отладчrx{, Пpи наJiичии <пPaвилЪlrогo> o'Г.nаДчикaj рa6o'ГаIоrlteго в o6)iо/.]

Page 365: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з66 глава 22' мeтoдoлoгиЯ зaщить| в миpe UNIх

рtrасe. тurla TЬC Dudе Ir".]и LjDiсe, ]lonlастся э".1епreптaplro' хотя и не так 6ьтстpo,кaк хoтсЛoсь 6ьI ( прl.Iхo/lится гlрoдиpаться чеpез тoI!l1],1 запyта]lнoгo кoДa' Ilапo'Nlll]lающсгo мьiчаtlие o6кyl""ttяori кopoвьr с мaт(orroгo пoля), для заrцirтьI oтltевъсдливolo хaкеpa burпеуе впоIнe пoДхo].tпт' a бo.цьlxегo lral зачaстy]o ]1ЛeIrаДоl

624 (http,/sed.free.lгl624l) пIа,1olr3всстнъl].i пPoстепЬш.lji yпа(oвщиi{' Pa6отaeтшес1ь]tнсri в не]1елIопo 24.raса' а в воскPесепьe oтДьrхаст, IlIvткаI Тепl пei]eнеe/]о6ав!Iть еro к своеii кo]tЛс(ц]l]l все.тaifi с1o].lТ'

Upx (http://Upх,sоurсеforge'ner/) легеlIilаl)rtЫil пРoсс п"!атфоРмсrrrlriii упакoв.i]rlllt, pa6oтalоlциii llа llнo)xсствe платq]opll oI Atariдo Lin х'а. l.lиrrarс нс пpс.nяTстuуeт oт]lаr.lке иj чIo ху,]{с вс€Iо, сoЛеР)кllI встPоrlIIlЬrii рa rа].оrщrll{' ]ro.звoлЯioЛa]il вeРllуT' Jа]1lиrцспньl]i фaijJ в ljеp!оpoдпьlii lr'tll; ()]1ttакo пoсЛсlIс6onьшoй дoPaft'тк]r ltаltrlльлr'rкo:iI (спaсп6o r|схoД!lЬ]м текстaУl) lIРu06Рстacтвссь llсo6хo]iпNьlii Ilaб0p ]tpoтЛBoхaILеPскl.lх ]\lcroдиIr, ЕInrvпoгl:) 'Цу\[Iс дoPа6а.'ГьIRать прхj чelt ]1с]lo"]I ьзoвaть .l lо6о ii иll суtt1сс'ГlryiоlJIllх IlаgссxЬlх lIPoтеIr'ГoPоB,]l.)ск.)Jlhкv 90,ll(LllI к'llol] u!х il IЦ)l(r(Цtl1(я 11ссjlс,'lo3ать jtlIдlrви]lyаrrьllol I' хilкеPlIo ]vl())J{с l ]1(llo.!ьзовать o6л0rс сxr:мr,r, Iiстостпel l l lо l ,JLЛJI I{oilсPIп]3ailrirl уl|1lкoвrl(rrкa вirrI tlorra/юlJя'гся aIцlк'.r]ад0чяь|с пРll(,\JЬ|' o 1,сrIilп{е кoт()lniх Njl,l ссiiЧaс

AHтиoтлAдoч н ЬlЕ пPи Elvl ЬIБo.llьtllllllсT|]() ilIfги()].Jlа]loч|lЬIх 11рllеl\l()l] lI.) сЛocii llp |х)iLс с||с1'o\1Il().з:lBrtсrIN!Ull ||рeпя'| с].вylo'l' l lсPcIlосу заiIIlIl]к.I||loi] lIPol.pil\ti!1lll I1il r.lPyГuс rIJ!aTфоРNl'.l пo., | 1 l ч J / | | ' ' . ' , . o \ ' | | | i я | | \ l | | ( , | ( ] / , , | 6 U J L U n i i . . 1 , | J ' , к U l L ' ! , | о ' v l ' , 1 ' l l , ( J . ] , ] | ' .

сTЬк)|'гпlir'ГсJlьIroтсстItpyя ка)(дуI(] с'l'poку кoдa'

пAPAзитнЬIЕ ФAйлoвьlв двскnиптoпьtв 6oЛьntuJiсTвс UNiх'oв (есJп пе вo всrх) фairЛ' запу!lсllнЬlii нopмaЛьIlьIм о6.paзoll' по]1учil0Т в свoе paспopя'{e]lllе r'Pll дсскPIrпторa _ 0 (stdin), 1 (stdоut)' 2(stdеrг), GDB II поtобнъIe eмy о'1.]Iilдчикu сoз/цaIоT ДoпojlниTcJrьньrе дескриптo'PьI Ir lle l]aкpЬlвают lix, tlтo6ьl о6пaружlrь oLlадч!кj д0сIaточнo пoпьI'Га,гься за'RPь]ть Дeс!сpllnтoP нolleР 3' п есЛи э,ra OпcPaция зaвepшится yспell]IJо, 3]IачI]т.пaс oTJlажпвaют пo пoЛпoii nрoгPамt,!е]

Гoтoвьтir ттрлмeр peаnизацIlи ]\Io)кеT вьп)ядcть' напpиrreр, тaк (листинг 22.3.рис.22'8),

лисгинг 22.3. PаспoзнавaHиe отладчик. по пaразитнЬM дескриптoрам

Page 366: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

а}rгиoтладoчныe приемЬl з67

Phс. 22.8. капкан для dёbugger'а

APryмЕнтЬl кoп,|AндHoЙ стPoки и oкPy)кEниЕo60.д0чка тилa Ьash aвтollдTичсски пoДcтaвЛяeT им'l 3апускае]t{oгo фaйлa в пс.peмoн}tytooкрy,(eпrтя <_}. oluа'цчикп'(eoстaвляIoTсс I]усToii (1а6л. 22.1), l{a-

6ЛIoдaloтся нelсoтoPьtr paзлиtlия и с нyЛсвЬlм aPгумeптolll lсoмaнД!]oЙ сTРoltи _

bаsh (и пoдaвляюIцсс doлЬшlttlствo ooтаJlЬllЬlx o6сtЛoЧeк) ]loдстaвЛ,IcT с]oДa тe.

кyцее имя фaйЛa' a 8dЬ _ имя фaйЛa с пoлl{ьIм llyтем (RпрoчeN'' a]d тaким lrу.

тсм paсIro3Пaть нe yдаeтсЯ).

тE6лица 22.1. Pаспoзнаваниe oтладчика по паPамётрам комаlдноЙ сгpoки и пеPемённЬм

аrgvt0] 9€tеnv(|'_t')

sоoа|d

(NULL)(NULL)

дEPЕвo пPoцEссoвB Llnuх пpи нopмaъlтoм испoЛнeпиrr пPoгРапlNlьI идeпTифиI(атoр poдnтeлЬскo-тo прoцecсa (pрid) всeгда Pавен идентифицатopy сrссии (sid)' a пpи зaпyскe пoдотладчикoм ppid и sid Раз'пичнь! (тa6Л. 22'2). oднако в дpyrих oпepaциotrньIхсистeMax (яaпримеP' FгсеBSD) этo вe тaк' и sid oтличаeтся oт pрid Даже внеoTладчикa. кaк слeдствиe' пpolРаl{Ntа' зaщиЩеннaя пo эToй lleтoдике| дaeT тeчь'oткaзывa,Iсь въljloЛняться дФке у чест]rых пoлЬзoвaTелeи.

Page 367: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з68 rлава 22. Метoдолoгия зашrитЬ в миDе UNlx

Лrtчlloe ва6;rюдснис: пРII ноРl]L'тьпol!] Псllоnнснии пРогрaммьl пoд гrсеBsDиДеяTификaтoP теitущегo пропeссa сущссTвснtlo oтлlrчaeTся oT !дс]rтиф]rкатopaрol1ttтсЛъскorol а прIr запyске и]l'пoДo]nадч1lrtа IrдеIlтпq)I'It.а1oP PoдrlтrльсrLoгoIlpoцесса i{сньпIe Рoвilo Ila едипицv. Таким обрaзoу' зaкoнчrнн!Iri прrxшер рea-лизаци]l lllожет BьlглядетL' Tar (ЛистЛнг 22.4).

Листинг 22.4. oпPеделениe oтладчика пo роAословной прoцессoрoв

]f ( ( !еtрр] i () = gе|s]d(0)) && ((getррrd() + 1] ]= gеtррid())pГrntf ( nеbu9ge. l rаs bеPn .еtссtеdl\n,)]

рf iпt f( 'а] l ok |\ i ))

1a6ли\a z2'2' Bap|4aцИи идeнтификатopoв в L]NUХ

sh€II gdb strасеGеtsdGеtррidG€tрgidGеtpgrp

0х19680х19680хза6e0хза6e

0х19680хlа6f0хза700хза7о

0х19680хза710х3а710хза71

0х1968

0х3a7з0х3а7з0хзa7з

0х1968охза750хза750хза75

сигнAлЬ|l дA1tlпЬI и исключЕния

Cлсдуloщиi'i прIleм oсilовalt Itil тоlr rllaкr'c, 'r'го 60jlЬLLlItIlсTло оTЛlli(чиItоB )l{ссTкoдсp){(ат sIG.гRAP.сllгtlа.пnl (trасe/breаkрoint tгap) tt Ilе ПозtJoj|'lo'Г oтЛ кивaс'N'oй nPoГParurlс устаIlаDJIIInать свoп сl]6сTпсljIll,lс o6рa6o,г.rrrкrr. I{ак это rIo>rоrоllсlIoЛьзoвaтьдЛя заrцпTь]? УсTalJiL]]ли]raсiv о6Pа6o'r.чI'lк I1скЛ]().lиTеJlЬlюii си'ryа.циIr пoсpeдствоll ]rьlзоBa signаl (sIGтRАP' hаndler) II сllvс'Гя IteкoTорoс lJpсмЯ вЬгпoЛпяем иtlсl.РyI(цI'lIо INт 0з. ]IрI,t flоprllanьlloN' РaзnrlТ]1t1сo6ьГГllii управJlсниеnоЛyчает hand]ег' а пpli проrollе ]трoгРaIl11Ьl ll{Jд gdЬ IIРrисхoдUт авaриiillьIii ос-, , ' н o в с в о ] q р J | . | . ч l l e \ | n о г , l ' l л ' I l , | , , П ] ' l , P U , U J | | o в , , l | | | | | | q | , | п o | | | . t , и я п l j n | l t J м \ | aпpoдoJ.I)кaeт ислoЛ]iя'Гься с IЦ]epваlllloгo I{сста' прll этoI' hаndleг vl lрав']lеI l llя ,Гaк

I{ lIс пoЛучаст. иl1ссТ сI]ьIсJi повесlIтъ Ila Ilего peсшllфpoвци1r и"lIи лю6vю дрy-г!Io <oTrlираlощyю' пPoцlrдvpy.

этo oчсIrЬ NIoщньILli aнтLloтлaдoчI'ьiй пpпeill, ej1llIк]Tвc1lнЬxi нсдoстатоir кo,гoPо.юзаключается в тIPивязaнпосTlI I. коп(Pе,|ll0ii аllllаPатI'oiJ п-.тaтформe _ B дaп-tlом сЛучae Iпtеl' кон]rРеTнL']]'i пPL!lIер реaЛпзаI{jiп вьlгЛяДt]TТal{ (Л11стинг 22'5).

листинr 22.5. сигналы на сЛi.'{6e кoHтррaзвeдки

+rлс ludе <s igna] .h>

vo]d hаnd]е . ( ]n t i ) { /* Oбраб ' rтчи i шс iЛаче[ия 1/ ]

{

Page 368: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

антиотладочнЬrе приемЬr з69

// yстaHaaЛ[8аеD о0раr]O ик на iN 03srq iа l (s]Gт8АР' h indlег]:

/ / tnьвaе[ ] | ]т 03 пеDeдавая у ipавл!ниe t rand lс . v

/ / или 0 iла l ]чиt rу (есл i 0н eсть]asm,( 1ir3 )

/ / заш apo3aвнaя cастЬ прОграt lь/ / p i сшифDoш8deиая l rаnd le r ОиO. in t f ( he l lо . w0г]d \п ' )

l

PAспo3нAвAниЕ пPoгPAм]tlнЬ|x тoчEк oстAнoBAI lporра]цмl lь lе тoчки oст i iнoвi l ( I tPс lLс1 'nBlя lo l rп lс сo6{l i i IJ l l l l i l I l l l lу lo i ioп lаItду1 \ t 0 3 h ' , o l ( . л o n . с | . , l ' , | , r ' I l l l ' , , | \ | ' ' ' | , | ' l ' ' . l , , ' ' | П l ' j I t ' | , : , ' I ] .мы сo6ствeппoго тeЛа (Лисnur| 22.(j) |I(х.кoj|ькv IIоря/lОI( Р.r3 спlсl|ll' (l)уItlt.

цlIй в паlrятrr в о6пrс:ir сrrYчас соlllIiljLncl с lIoРЯлкoll rlх о6т,rrвленпя l rк:хсr,rttrlмтскстe, e'rРес I{oн]ln фуIlIrцlll.l Pl]rсll ук!зiгГL,.rIr() IlLl ]|tlчLlЛo (Лc'(vJ()|цCii ф\,ilItllIllt.

л|1q'nr 22.6' |(oнтpoлЬ целo-Hосги сgoerо кOдa как сpедсгвo o6нарyжeнияпрограммвЬ|х тoчек oстанoва

i0о() {/* (0|rrpoлиpyoldi ф!' ]Lrия ] */ )bаг() (/* контpOЛиpуeiaя фr] кЦи! ] */ )

{rnt d uns]gпеd сha| *р a - 0fоГ (р. (uns|9nсd сhаr*) iOо: р < (u lъ]9nеd сhа.*) i rаrn] p.+)

if (а L= -llY-сRr: )pгintf ( dеbugqег hаз beеn iеtoсlr]( \ )

p г i n t f ( ' а l l о k \ n ) :)

мЬl тPAссиPУE1"t' tlAс тPAссиPУют',.Фyнкцию ptrасe I]ельзя вьlзьiватЬ двa)кдьI IloxЬtTка TРассиpoв ки yx(eтpaсспpуе}Ioго IтPoцссса IIoро'клae'Г опI 6ку. Этo нс oгРаничсн]1с 6и6nио1скu pitасеэтo oгpанинсние 6oльrпrl]lства прoцeссорflьIх аPхtlтсxTуp (хoT,l !1а х86-прoцeссoрat мoжнo и pазвсPнуTЬся). OтсюДa rlДeя де.nаeпl fork' расщсIlЛяя nр()цeсспa /xвa' rr тpассllРyrп1 самoгo сe6я, Pollrtтелto дoстается Pт АттAсH (t)н,r.сPпRAсЕ АттAсн), a пoтoilкy - Pт-тRAсЕ-|4Е (oII ;ке PТТRАсЕ тRАсЕ t1Е), tlтo6ьl хaкr!нe IIри6ил ptгасе' B хoДe тРaссиРo!ки Реl{o}1еIIдуеTся ДeЛaть ч,Го(IiапPимер' llияаsirlчeскп paспI фрoвaтЬ кoд)''гoIда оTxадкa Та!;o11 пpoIраnlNIьI6yлет возможнa лишь rIa э]\{улятoPe'

Page 369: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з7o rлaва 22' мeтодoлoгия эaщИтЬl в Мир€ uNIx

Прoстеil lиri приNIeр Pса-IизацIJп Nfо;t(ет !ьIглядетъ, пaпpиNtеP| тaк, каI( лoказa.Ilo в JIrrстинге 22,7,

лисa|nн. 22'7' сa|4aтpaссирyющаясЯ прoгpамма

{р] d-t сhi ld rnt stdtus5 W ] t с h ( ( с h r l d . f o г k ( ) ) )

tсаsе 0 / / пOто!O(

рtгасe(PтRАсЕ-тRАсL|,lЁ ) |/ / секрeтвaя чaсrь- . i r t (1) :

са5е . ] : / / Ot rибGpе.гO.( , ' fO* ) | eх] t ( ] )

dеfau] t / / pOдL{reлDj f ( ! t гасе(РтR^сЕ-дттдсн, с t r1 ld) ){

| . . i . , . l с ' \ | " ' . ' 2l' l r i l e ( ! а ] ] , p d ( сh i l d & s t а tU s , 0 ) ]= . 1 )р|rас0(РгRАсt-с0N. с]r i ld ' 0 0)е x1 t ( 0 ) |

l

l

пPяMoЙ пoиск oтлAдчикA в пAмятився]rиii отЛry(чпк пP],iк.цal{ноro уpoвllя n1о)l{o1. 6ьlть oбrlаpytкоп тр].Iвlla'nьIlьl]\1пPoсl"Ioтp.Jм сoдсP)кllмoгo /pгoс (Рllс, 22'9). хоpопIllii Pсзyjrьтaт Лaет Лoиск lloсЛгIlатyрaм _,rеItсToвыlll строкa]Ч коl1lrРайтoв l.o]lIФетl]ьIх oтлa']iчикoв, чТ()6ьI6ьlть увеpеrtttьrм, нтo oтЛallolBа]о1 l]\lcннo пaсl a llс ltогo тo eUiеl l1oжllo срaв.нить иДeпTификатop прoцeсса oтЛадчикa (оп сOвnадaст с til'e]le]u сoоl'всТствy-ющeй диPекТоPии в / pгoс) с IцснтифиxатоРoм NlаTеpинстLогo пpoцrсса (огo ruож.]lo пoЛучи,rь с пoмorцъю getppid)' oднal{o eсЛи oTладчIJк сдe'llaе1. аttасh нaaктпвпЬIЙ flPoцeсс, эта Nleтoдиlra не срaботaeт, впрочеra' Лучше не зarlстl.l'гь oт.лaДчик| чеru рealиpoвaть нa oтладкy noстopoнних lтРoцeссoв'

Page 370: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 23

oсoБEHHoсти HAЦиoHA,lЬHoиoтЛAдки B UNIX

.,'ОnlnОка nolо6ln oхol1|е шu pьl61loi лallе:пе Эlсе эмоu,uu,оnpас|nь u а3аРn, /Ion2oе сuae1Lue в 3асаAе в 1сo1lце xolцaoоoзпaцnэкОа еmся, О uецi t кл1 l tевuО tыui мupу no6е lоii,',,

ЕвгrниЙ к0цю6а

Пrрвoc знакoмствo с GDв (чTo.-ro вPoдc debug.соm дЛя Мs'DoS, тoЛьlto iloщ.нee) вьrзьIвaс'Г v пoклоннllкoв Whdoп,s смeсь рaзoчаровaпI,Iя с oтвPащctl!1сl{'a yвrсистаЯ дoкyl{сн1ация вгонясT в lJyбoкoс y]IьIнuс| rранпчащеLас суIrЦIIдol{.oтoвсIoдy тopчат Pьrчarlr yпPaв,!енIrЯ] tlo нст ни гaзa' нr,т PyJЯ. нe хватaет,голь-кo к ' N leP l |ь Iх тог^]ot l и rпc| ,y ' ,ч ,х l | , , , у | j , T( i ( rо| |икс4и LL] yхи t1я|oт ' я вь| )ьитЬв aгpeссивПoй сpеДe эToгo пеPвo6ЬIтIloг0 Nolpa _ зaгaДкa-

oтлAдкA B истoPичEскoЙ пEPспEктиBEнeскoлько сTpoчeкrlсхoдrroгo кoДa UNIx'aеuleпon'пяTтeдpевпиeврeмeпa' ког/.Ia]iичегo пoхoжelo нa llнTepa]сивIlуIo oTЛaдку lle сУщeствoва-iro и eДи}1сTвeнншl1средствojlI 6oPЬ6ъr с oши6кaмIl бьIЛ aвapийный Дa!1l] пaмяти, Пpoгpаlrrпrстаrrпpихoдl1Лoсь мeсяцaill'1 ( |) пoЛзaTь пo вopoху рaспeчa1 oк' сo6иPая paссьnIaвшIlii.ся кoД в сTpoiiнylo кaрTипy, ЧyTь пoз)ке гIoявиJlaсЬ oтлaдoчная пeчaть ' oпepа-торЫ въ1вoдa' пoнатьIкaнIlые в ключевых lleстах и PаспeчaтътваIoщlle сoдержIl-пtoe вaжнейпIих пepeменных' Если lтpoлсхoдиT сбoй' прoстынЯ рaс]тeча]oIс

Page 371: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

З72 f f i а 23 . o o6 " ' ьoс ' i o , иo t sа 'ыoиотлад l / в JN ' l

(в пpoсToPсчlill i 11ортяri(a' ) пlrзво"]rяст yстаl I( )вuтъ' че]\1занIl]\fа-!асЬ пPorpaN,ruадo этoгo и i{тo еe так,

oт,]&,loчнaя печa].ь сoхPаlli.l'llа свoIо aк,|уаrlЬrloстn 11пo сеro]tнЯIrлrrJiiдснь, B ljrlpеWindоw5 oнa в оснoвнolI ilсllo.Ilъзye'Гся лиlIJЬ ir (]|;Iaдoчпъlх веpсIrях xPоIРал1i\1ь](лrтстltнг 23'1) x y6иPaетс, !в фпlIа]lЬнlril (rllст1]Hr 23,2)' чтo ]Lс сстЬ xорo1xo,,'Koгда y копe'rньrх по:lьзoвaтелeii xPo'lсхoд]1т с6оii' в pvках oстaется lrlrrль aвa'pиiIньп:iДalxI' нa кoToPollлаЛelio нсуeдсш!, Соl..llассIl] отjIадoчI'aя IlечaТьoтпи-м . Р Г | P ( у D ' J , l в Г 1 | ' R ' , I | U ' , \ | . р U N | \ , ' , l r r r " ' n r . | . I v п | l ' в , | ' , , с ' ' J U .I toлl lpoванr le]\1 _ oт ста] lдaPтпoгo sуs Og Лo r lpoдвIпIyToго Е l l tсrpг isе ЕvепtLoggiпg'.а (http://ev]oq'sO!rсefoгge'nеt/) oflп Ф!ipаlllак'| наrr,.]aЛI ь]с расriолы rIавьlвoll n ведепlс яyP]r:Ulа. 3нaчIlтеrlr'rlo yвeл|lЧllвaя скЦroсть Bь]Ilo.llне]Iпя ]lPо-Iрal{NIьl,

oт.па,.lочнaя печаt'r' на 80% уrтpaпясr rIотpе6lrrl('1x ! oт.]|адl{с! вr/llь ol.Jlaдч ] I к l,с.nользуc'].(lя в oсlк)rllo}1 дnя ],oгlrl rlто6Ьl o]rрe]]t'(ltTj)' l{aк 8сi(ст сс,6' lIPoгPa[|]\lав дaIпюIl коJlJLl)е,|,llопl;\lL,сTс]llЬl]lo.Iпl'|сlс' 'qIl y(],rl()l]tlЬIi] пL'Jrсхoл ]ijl ]tс1.l чTо llо3-вp:li Ilас1. (лупl( |ul,r ' каit]Jе !ltilчс|lll,| со]rсP,{атс,l в lIсРо\r(ltllьlх ji l.' д, П!ос11) r'1с-ппTе сlo/lа ipгintf/sуs] 09 !l сь|о Ц)uj.с lIa ]rсlу.llЬTrr L

лис'инr 2з.1. HeлравилЬнЬй пpимep испoльзOвания oтладoЧной пеЧати#] ldсi D[BUс_

ip| lnt l (]оqI] lс ' ' i r - l{х ' t r . ] l l , с = l r r i . , a l r с)

Лисrин. 23.2' правиЛЬный npимeр ислолЬзoва!иЯ oтладocнOй пeчати] l ( .DЕBL]0_)

i р r i n t f ( ] о g i r l е ' а - t t b - 1 ( ' с . ] i х \ n а b с )tIсЛoBск |{е с,пуГа кoivлЬIOгоPa] эI() l iол l l Iьк)|сp ] lPI l ' ' (YN|nlI Дnя aвTоNl l tTxзal l l | | lчenoвечcсI{{lii дея1'сJrьпoсlr| (rj iIlDе Wiпdo{'s -' IllLо6Opо'|]1)' поэт(,l"lу UNIХ iпlс-хaII}lзllpveт' lloиск опIибоtr rrастo,rько, rr:rr:r<tl.rlr'ro это'ГoJlЬlФ вo:]I{o)r(llо, вкJxo-' I y l l ' \ | J к r | | 1 | с , Ь Ц , ' ] l , | ! , (

, t г ц | v | р l r 1 , | ' ] | l в o J Ь ] \ l | | | ' ] в | o .]lOIrньlе вl]pпфIiка,|oрЬI к.rЛа (саIIъIй ll]]l]сс'гIlьiii }Il, кoTорЬlх ]-int), lI6aгllllo6сryт и3 IIPoгрaмiuЬl] rLаrL ]!lЬlцЪх с тО]|ущclo кoPl6Jя 0;]с, 23'] ). Windows-кoмпriляТoРьI тo'(e]!1оIут геIIерrIPовaть сOo6лlепl]я o6оnlll6xах' по сТl]oгoсти пeyстyпaloщие 8ссl rlo 6оJrьпlI]lIствo прoгpaпIмrlсToв пPопyсl{аот их Ilимo упleii'куЛьтурa IlPoгрaмN'rlрoваrпlя| 6JIин!lIoшагов0e вьIпo'.]пснис пpol.Ра11мьI Ir кoltтPo.nьпьIе тoчкп oсTановa в UNIх rlс-пoль3yloтся ЛlIшь в ltjlllпиrlcскI{x с"lтучаЯх (тI,па тPlrпariaцIrи череlIa)| когllа вссoсTaJlЬ}rьiе сP!Цства .Л.азьlваются бссс]IЛьпЬl-!]]]' Пoкnoнн'lкaм Wiпdоws TalioIi]]одxoд кФt{стся lleсoвpеllепIlьl!l, vщер6]lьlNI IJ 'кyTtro нсу/.io611ьli!]| I{o эTo всс по-тoIfуl чTo Wilкtows.oтладчl.lrn] эффeкTивIro рeшают пpоб.lrсмьl, тсoтopьrе п UNIХпp'остo пe goзникaroT Paзнпца rty''lьтyр гlPоl.раl'l1Jlрoвalrия I{сj{ду Windou,sи UNiх Ir r.]ействитeЛЬr]ост]ioчel]ь rl oченьjjllaч!l еJЬrtаj l1oэ,Гоi\lу ]]ре'(/.IeчеIl ]rиДaTr' камни r чy,{oll oгopoдj навеl1итс пoряцoк v се6я, <l1епривЬIчнoе> ецc нeo3начaeт <<н€xpавиЛьIloс}, Тoчп0 таn'.ой 'ieДl1скoмфорT oщ},rцaеT мaтеpЬIii юнrпrсoидl oчvтirвшtl!:iся в WiпdoNs'

Page 372: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

рtrасe_фундаме|т дпя GDв

Pис.2з.1. Lint в oхoтe на 6агoв

PтRAсE - ФyHдAMEHт для GDBGDB _ э ro спстсix{o+сзatsI lсl 'r]l'ii 'lPoсс l ',i'''T(DO Pмс |I н Ьl ii о,Г-!:LIчl п(. каIi ll .]oльшllнствo UNlх orJaДчllI{oв' ol] основa!l !llr6иб-llIoтelilr pllасel Реaxlllуtl]1Це i1 l I l lз.кoуpoB]leRь]е oтЛitдочпьlе I]рlrNlпTllllь]' fl'tIя о1.цадrr11 11It()IonoтoчlIЬIх llРoцcссови пaрaJ1JlсЛЬ11Ьlх rlPи.ц0}кCllиll pсl{oNlсl]дуcTся IlсllоЛьзо]]аTь /.Ioпо"1пll].eЛьпЬle6116'lиoтcки, напpиlrсp сtrасe (hftpi//сtйсe'sOUrсеloгgе.net/)' il 'nvчilrc _ спeцlliL'llt.зиpoвafiньIе oTЛaдчпки типа Totа] Viеw (httр|//WWW.еtnus,сom) (рl1с 2:] 2)' Ilо'скoльку GDв с мIl0гoпoT0чllф'1ь]о сl]РaвЛ'с1.ся нс сaltыпr "lyнппIlr o6разoll (см.

рaзДеЛ <l1olЦсpя{ка Nl]lolu]lo1oчrloсТx в GDB}),

Ptrасe ]{oжеТ: llсPевoдиTь xPoцссс в с]oстOянrlс остaнoва/uозo6н.]r]..lятъ eгlr вы1'oJl]1sниc, читаTь/запIlсьtвaть данньIс lrз/в адрес1rоe просTpai]ствo oтrаJiIinaе-мoгo nрoцrсса' читaть/заппсывaть pсглстpьl ЦП' Ha iз86 3то рeГ1]стPЬI o6пlе-Io нaэнaчrниЯ] сеIlIс]lтньtс PсrистPl,Ii PсгистpьI <сoпpoцeссоpа' (вriJю.'aя ssЕ)t1oтлаДочныe pегистрьI сeмei1ствa DRri (ofiи 1ry'nlьI ]1Jя oPfаlllll]аЦI]ll аI1llаPаl..l{ьIt тoчек oстarjoва)' в Lin x eпtе \Ioхrlо Niапиtty;ttrpовaть сlужсtiньппl структуPaми oтЛ&l(ивaеNоIо прoLIeсса t1 oтсЛе]к]lвaтj, вЬ1зoв сllстеlIньIх фуrrкц il'

Page 373: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з74 глава 2з' осoбeнHoсги нauиOналЬнoй oтладки вUNIX

B <trpавильньlх> UNlХ,aх этorо нет, l'l пe]roстaющyю фуIlкциoнanьнoсть пpи-хoдится Pе:LпизoвъlrаTь уже в oтлa71rике, llpтrмeP испoЛьэoBaния p|rасе в свoихпPorраllмaх приRедell r nистl'lliге 2з.3 (д"ця (oмпиляциt.1 noд Linux зaмепllтePТ-тRAсЕ'I.]Е тra PТRАсЕ-ТRAсЕмЕ' а Рт sтЕP шa PTRAсЕ.SINGLЕSТЕP),

'жir;мl]щi i r ,]фi,!t,o,Pir;j*xf;j;эdlвii'i.ii9''' ]

]]'''i],]]]]1]]]lli::]l!&](г itф!;]ri]ii]l]|]]]1i]]]]i

.,"**.**i

.. тh.Ф!.Ф) i l l ] ; ; i ;qь

Pис. 2з'2' вnешниЙ вид oтладчика Tоtа| VieW, спeциaлизиpyющeгoсяна napаллфЬных пpилol€виЯх

лисIинг 2з.з. примep использoвани' ptlасе Hа Freе вsD -пoдсЧет кoличeсгва машинHЬiх кo|lанд вls

#]nс lUde <srs/pr|асе,h>#]nсlude <sys/trрes.h>#]nсlude <sys/Wа]t l r>

t

lon! lon! сoun|eг = 1

// рaсцeлляе[ лрOц€сс на два

/ / p lо 0тлаяивае iог0 прOцeссa// сюЛi !а i | зaписьвает во]вpaцаe|oe звачениe// сcетчик тpассир leшx инсrp} lциЙ

Page 374: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

// рoдитeль 6yдeт// {обрaбlrтка Oшибlrк для нагЛядв0сти Oпtцeвa)s i , tс l r (р id = iO*()){

/ / до eрний прnцесс (eго orпади3ают)

/ / папаша нy ' (a пOтpaссиpyЙ l l0 | , ]

р t гасe(Pт 'TRAсЕ.ЦЕ 0 . 0 ' 0) ;

/ / ш3ы3aeп пpогрa{Iу . к0тоp}ю нaд0 0тrрассир0ваrь/ / (дЛя пpо lpаt r l улdкOвd l ьx шивOЙ' ] l0 с сpа0Orаeт)е х е с ] ( ' / b i г / s ' ' ] s . . 0 ) ]bгeak i

de fаu l t ] / / pOдиr € льс(ий nрOцeсс (Oн oтла l lи3аer)

/ / ялeн п0ка отланивdeшЙ пPoцeсс// нe перeйдeт| la i t (E la i I Vа l ) :

// rрассирyеП д0чеpн[Й iрouесс. norlal l r . le ( l , ] lFSт0рPЕD(Wаr|-Val ) /* 1407t

// в[пOЛн rЬ сЛeДyющl0 iашиl ltю

// и пеp €Йrи B с0стo]r|ие остa]оBai1 (]r| .асе(PI s lLP, р id (caddг

/ / )1 lLe i ' iO(a Oт , l i яи3ae i !Й lр0 l ]oсс/ / |0 i0pеЙ/]er

/ / увeли. 'ваe i/ / l аuи lныr и lс rрукЦии lа е/ ]инищ

t ) l , 0 ) ) b г € a k I

l// вьв0д ]оличeства инсrрyкЦий нa экранрпntf( ' - . l ] ld\ i соuntег)]

PтRAсЕ и EE кoMAндЬ|B режим.э user.mode дoсTуIlна всеr.o xишь oДнa функцuЯ ptrасe(int -гequest.рid-t -рid' саddr-t -аddr' int -dаta), I1o затo эTa фyнкцI!я дсласт вссI l]prl)ltеJtаниt'l !ьl l1o]IссТе эа Ilаpу чirсoв llallrrсu1.ь сO6ствсннЬIri llltltи.оTjlадчrш, сllc.циа]lьнo зaтoченньIй пoд naшy пPо6Ломy,

\ p D r V e н Г . р q ' e s с ф у н | , ц | | и D г г d с e в l ) ( н P ч | | и . l | J в . c \ n | | о п 1 l c l д , я д | , l , - n \ | | |

6yлепl дeлaть' ЗaгoловoчflьIe фаI:iлЪI п вsD и l-i]tuх ].IспоЛьзVIоT paзЛичньIe ofl-

Page 375: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

376 .лава 2з. oсoбен!ости llаuиoHальNoй отлaдки в UNlХ

РедеJII]IIиЯ, зaтрvдllяя пеpеrroс рtгaсe пp].Lno){с]rl1ii с oдtloil плaтфoрl{ы lla Дрy'IУю, lIo упtoлчанпю nfЬi 5yдеlr испoльзo вать oпpсдс"!сния iJз зaго".lовoчl I ьп (}aii-

лoв BsD,. Pт-тRAсE-I4Е (в LLпuх PтRAсЕ тRАсЕ Е)' ПeРевоrrrlт Tскyщпii пРоцесс в сосТo-

янrrе осr.aновa, o6Ьг]IJо пспо.nьзуeтся сoвпlсстно с fоrk/eхесх' хoтя BсTречa.ются так}ке и сап{oтpaссlIPуIoxl]lсся IlPrrJlorflr}rЛя, Д-.тя кit)к]iol! из llPoцсссoввь]зoв Pт тRАсЕ Е r\Ioжс'T 6ы l ь сllсJaя л ипIъ оД]lаж/]ьI, ТРассlpoвaтЬ ynre тРaссирyемЬlЙ llPoцcсс Irе пoлvчится (Nlе]Iес з]]а.lиIIoс слелстBие прoцесс l]сп{ori{ст тPассиРoвать саrJ сe6я' сI'аЧаnа oнllo.!)кcн PaспIеп] tTЬся), lla эТoill oс.нoванo 6lrЛьI]Ioe кo,1lJчество alIтjl01.цадoчнь]х пPlle]\1овl дJrя ttрсодoЛснlIя l{сl.тoPьlх l]Pихoлплся Iiспo,]lЬlloвaтt' o|Jla]lчrши' Рaботaloщl10 в 116х(rд ptгасe (см.г'raвv 22 <MетoЛojloГия за1llul.ьI lJ ̂ 1Ilpс UNIх>)' oтлажlвасllorry прoпессynoсьIЛa€тся сr]пlаJ' flepе|]оjL']цll}l сгo в сoс'ГoЯ]пlc .х] Ia lюiril ' r.Iз кoтopогo опr , ' | , ' , . t ] L , . ! B U , в . . ' | | , r о \ | i | l ' . , , \ | | | o с O N - l N U t ' l , | | l D - s Т L Р . l l ' , | , | : ' | , U , l r \ u l , l . ' ^ o l l .1 1 ' I i 1 , ' , г ' ' l | | | l , | | , г , o n , I l l n | . ' ' ' , ' F v | | l | ' | , | * а l l ' | . с l ' , I l | г , f r - ' , ' i ' Ь , , | | | l l ' \ | , | .1.сl)llll(к{)fo lIPoЦ!]ссlr дo тrх rI.]l). ]кЛ(а оT.rlа)кIiвtlспlьlii пРoIieсс ]lс ll0PсiiдсТI] сосТo ' l t t l с oс1nIIоIJа J IЛr r J Jе З l l I l .рLL| | |1с ' ( |0гца o i I : l I loз| |p i l lц iLeT з t laчснI l с1407)' OФijlЬlJЬiс аРгy}jеll1r' Ir ll ) |) l1l)Y к] кl,l,

. PT-AпAсн (в I-iпuх . PТRAсE AпAСн), llcpсIroЛlrГ l] с()с'L{'l|ljlс oсlilljоBii v'( € 3^t lу1r l с l I I l ь l i ' i пPо lL(x l ( | . i t i l д l l | | | l | , l ! ] p id , I |рI i i тоN| l lP ( ) J l с (с1 ' r Ja i lч l l l ( с ' гап0 l r ] гГсяс l .o < l lрс]LкоNi ' oс] ' l l ] |Ь] |Ь l | |Ц)ГуI l . r IL l l l lПюP l lР I ( 'ш| , l \x )ц{tс l loJD l ( ! . I l l l п le 'Tь1 . (у| x (0 ( i l ]v lь I i i L J ]D ' l l тo l J o1n l )orD. ] l ( ) l l ! ! j i l l Р0 l l r (С , I r J |с 6Ь|| r ' s0L t I j (1/sс|du id .l IPoцcс(o11 ( l l J l ' о ' | ' ' Jа ) | ( l l l 1 l |TЬ() | Пхn ' ( ) ] \ l ) '

. рт-DЕтАс|] (ll l-inLlх - Р]RAсЕ-DЕтAсн). l1P0l(раlllltс|. (Л.J|llдкy rlPо|lc(сn сзilдап.IIЬI\'! рjd (кlll{ lIо Pт-ATTАсH''|ак ]l rr() Pт-тRАСЕ 14Е) rt l]о3о6l|(']J|яс'ГсГolloPIl!l.iь-l ( )с l ]ь l I lOJ l l l 0 !1L to . I ]сс . )с1 .a ' l ь l l ь l с i l Р .Y i \ t . | |TЬr l l г | Joр l l I ]уx) r . tL l '

. Pт-сONтINUE (в LintLх _ PТRАсЕ-СONт), вoJo6lIoвn'Iст |llllIlо.Jll]сll]J(l o1''lla)ldlвac\!o.r.o xpoцoссa с заl(аIппn\1 pid 6сз Р|li]PЬlвll .вяз]' с пllоIlсссoi\гo1'Jla/'lчlпroN1. ]]с",lпаddг : l (в I-inLrх _ 0)' вЬlllo'rl1]ollIlс п Ро/.lоЛжnclся ( ]\!oLlГ:l посilе/]lIегo 0u!l]lo.r]a' n прoTl.ll]ltonl с'llучаo Lr \'ILa];lпUolо ilЛрсс]lL, APгvIlеll,l.-datа зil/lас1 Лor1сPсI'г|lаJlill IlосЬlJ]асlloГo oт,.1anojпа.ANl(^ly llpо]lсссv (t'o:tь _ t'ст сttt.л:шoв),

. Pт.sтЕP (в L]ntlх PТRАсЕ-stNGLЕsтEP), Пoпlаговoе BЬ]l]oJn]сl1Jtс 11pollессaс за.дaнньrN] рid,опi: в|,Ino'llIll11.! с'lI!дvIоI]Iую Уalllll|||lук) llястpyкцпlo п пeреiiL]L! состoЯнIre oстапoва (noд jЗ86 ЭToдoстIrгaется взlrодом ф"iа гa ,ГPaссп!oп кlт'хоTЯ Ireкoторъlе <хir]{ерutl1c' бll6,]]lIoтекп llспo'nшyfi)T апIIaрaтIlьrе точк]l ос.танoпa)' вsD TРебусT, ч1oбы аргvмеII.Г аddr б|'Irl Pавсн 1' Lin!х хoчс1.вrlдстЬзДесь 0, oстnJllllllс аpr.уl{снтьI иГнopllpylo1.ся,

. Pт RЕАD_I/PТ-RЕЕAD.D (в Lnluх PтRАсЕ-PЕЕKтEХт/PтRАСЕ PЕЕKDAТА), ч,Гснrlo п'a'lllllннoгo сJIoвa пз iLоllовoii об'lас|ll ll o6JастlI даппьIх адPссяогo пр.]стpа]I.ства oтJlал(l1вaе]\Ioгo пPlJцссса соотвстс,Гвeппо, Llабo.Ilъl]lпIrстве сonрeме|lIiыхплaтфoPll обe кol ajlДЬl xoЛнoстЬю эквl]ваJe]l'ГllЬI, ФyнкцIrя ptгасe llрrlни.11aет целeвоii аddг п вoзвPацaст счl]тaIlIrыij РeзуJr!Tат'

. Рт ],'lR]ТЕ I/PR RЕAD-D (в Linuх PТЛясЕ POкЕТЕxт, PтRАсE PoKЕDАтA)' зant1сь NIа.IIrиJ{нoто с"lrовaj пеpедallноl.o в -d.tа' пo aдpесу аddг,

Page 376: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ьPат[oe рyкoводовo пo GDв

Pт-GЕrRЕGS/Pт-GЕrFPREGS/Pт GЕmвRtGs (3 Linuх P]iAсЕ-GГlRЕGs' P]RAсЕ-GЕгFPRЕGS'PTRAсЕ_GЕтFPXRЕGS). Ч1сниt] Pс1.иt]].Poв о6xrсIo нJIадoчнъIх PсгпстРrв в 06ластъ пa:irятп проuессa oтлaдч''].al залn] пly1o yкaза.тeЛеlt аddг, Этlr с1lстемнo зав1'lсIJl!ыe кoNIа1lдьl' пpl.Iе]\'Jlе}1ьIe TоЛьI.о Дnя iз86.платфoPlfьт' oппсaпие pегпстPовoil стpvктyРьт сoДсp,кllTсЯ r фaiiЛс mасhine/reg.h.

PТ sГIRЕGs/PТ SЕТFPRЕGS/PТ sЕ]DBRЕGs (r Liпuх PtRAсЕ-sгmЕGs, PтRАсЕ-SггFPRЕGS'PTRАсЕ-sEТЕPxRЕGs). Усlа1tоBxil зl1аче}ll'lя Pсl.xсTрoв oтлат{11вaеlloгo пPoцeссatlу1.".Nl ]{olIrtрoIraIllIЯ ('Lеpхl.lмoГ() рсt]lolrа xir}lя1],l llo yказaтсJrю -аddг,PТ к]LL (lJ ],inllх PtRАсЕ K]LL). llосьlrасL olltt-ч}1!асIlo]\ry IIPoЦсссу с]]rlralsi gki ] ]' коToРьIii деЛас1. сIly хаРilкIlрtt,

пoддEPжкA МHoгoпoтoчHoсти B GDBO l lp (Цс]] l r , l . l , ' l l о ,ц] lqж l l | Jас ' | ' l I l l 1 ! i l L l ] r ! cрс1 l , l GDB I r lo loг0пoтo. I l l oсTь иJI I l I Jст 't ] (D| t I lo l |Р l l l ] ( )N l ( ) | l | | | ( ) ] \1 i l l j l l , I in fо t | r гead (в l ' I l l ( ) i ( св0дс l l j l i j о пo 'Го i{aх) ' а ЛJrЯ aе .

РскЛ|oчc] l l l i ] I1с)v(v l l o ' г ( )к i l I ] i l l l с l | ( ) r r r , l ]у i i | . ( ' thгeаd N

]]с . ' l l | ] | ( ) ' lдc l ) ' i к . l r r l l ( )Г ( ) | l ( ' | ( ! r r ( )с ' | ] ' l I r .у | ( r ' | i у ( l l l oб l t r tн t l тс GDI i t to нсрсI r r t 5х и . l r l ryс l .n l IoI lи l . с спс l ( l I i l nЬ l |ь l i i I i I lT ' l , I i ( )с1 t lПЛясI]ь| i i I tмLr l l ,o с л l r t t t t rм к , l l t l t t tшt UNiХ илп

рaс| lPoс1])L i i J ' ] сN jЬ| i i ( ) ' v l сЛ l , lю ( ,T l l с |1r ( , r i I l ( l ] l l l г | | 2|J ,4 ' 2 i ' .5 ) '

лndg|]| 23.4' aтлaА/ё " 'о.о1Oто |rь. l г/лO.e lyй .е оддерьиBdр,(я

( !d l r )

лиdинг 2з .5 . o|лdдк" " о ,оrо|о ьь \ гp , o | " rи i гoдд"р ( /вaе-сo

4 l l r г0ad 2051 (L l iP 29448) I i !nЕU lc| ( lр 'PakП-0t80а6/ас) аL eu-|e .n ' срp:6З3i ] ] l rПn. 1026 (L l iP 2944з) 014020C1] .1 jn l r l r с .е rd ( ) l .0m / l ]b/ ] ]bс so 6

* 2 IhГсаd 2049 (L/ iр 29442] 0(4c2]4260 rп рo l l ( ] . t ]з -0шcr0з80 n ld !=] , t ]леоUt=2000)] ThГеаd 1024 (L !P 294 i1) cn] ! ]7с .ea ln s r9 !UspCn. (s . t -0 rb f f i l l 1с )

кPAткoЕ PyкoвoдстBo пo GDBGDв этo ]{оtlсольнoс пPI I-1o,{l]нIJl]. sьIпо"!неrrrrоe п к.na(:с!1чесlФIl духе lфI1аllд.нo',li стPопи (рис. 2з'з)' и Iотя за вРеl,'ясвoего супIествoванuя GDв yс]lсJl o6pа.сти вopоxo\{ крaсIrRьIx грaфПчeских lioрд 0лс 23,4' 23.5)' интсра]{TиnнаяoтлаДкав стIrле TD в миpe l]NlХ кpaiirre fiепoпуляРпа. кaк nPaвlшо, эTo yдсЛ эNIrIгpaIi.тов с W1nсlot's платфoPl!]ъI' сoзнaнпe кoтopьIх lleо6ра,Гl{!o ]l(кulеченo иДеono.гией <oкoпIeк>' гPy6o гсlвopя, если TD сЛeсаp]]Ьlii l'itlсТрyltснт' тo GDB тoк 1 г | l ь , i i с , : , i ' j l , ( л | , . г | j J . l ] \ l l , Ь ] м \ , n l | ' l в , l , | | и ' , У , к o г д " . н t t 6 . t ь в : п o л n 6 t t t c р t о '

з77

Page 377: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з7a rлава 2з. oсoбeнносги нациoнаЛьной oтладки вUNiх

Pис. 23.3. внeшний вид oтладчика GDв

ДЛя o1!Iадки lla yРoBrle исхoдпьlХ тeкстoв пРo.РaN!мa доЛ'сIa быTЬ oтl(oмllиJlи"poraнir с oTJiaдoЧнoй инфopмaциeй' B gсс зa эTo oTвeчaс,l lсЛloЧ .g. ЕсЛи oТJIa-дoчIiaя иIJфopмация нcдoстyllнa' GDB 6yДст olu&к вaTъ lIpoгPаIlму I{a ypoвяe/1изассемб]lеРllЬIх I(oмalIд,

oбЬг]Ito lIмя o-t.л:Dкивaемom фaiiЛa пeрeдaeтся в кoмalll0loii cЦoке (gdb fl.lenаme)''цЛ,loтЛадки активнoгo llРoцcсса yкa)(и,Гс в 'roмall,цllой стpoкeеlo ID, a для пoд"кЛloчсl1ия l{oPы (сoтс (hlDP) вoсllоjЬзyйтссь кnюЧoм "сore:сorenаne' Bсо тpипaрaмстрa l'Фкflo зaгPу)кать одttoврсNlсIttlo! tlolIсpсl"1сlltlo псPскJIloчаJtсЬ мс,l(дytIип'и l(oмalтдot]i tагget: taгget exeс пeрскЛIoчается на oTЛфкивaeмьtй фaйл'tагget сhi]d _ на п риаттaчrriньIй пpoцссс) а tагqet сoгeнaдaм]r кoPы' нeo6яза.тeЛьпьI i i I \л|oч -q пo, . lB1яeт вь lвoд I .oпирaйт],

зaгрyзив 'lPol.рамilу в oтJraДqиIс' мьI дoJDкпЬ] yсTаIloвитЬ тoчкy oсТat]oвa. ,цля этoloслухит кo]!'aнда bгeаk (онa жс b)' b mаin yстанавЛиваст тoчку oстaнoвa Iiа фу]tк"циIo mаin $ьIIсa си' a Ь _stаrt _ lla тoчку вхo,Дa в вLг.фaiiл (впDoчем, в lleкoтo.

PЬtx фaйI:ц oна назывaется llo.llDугoмy), Мoжllo yстaпoв]'!'гь тoчку oстaнoва и нaпpoизBoльньтй адPeс: b *0x8048424 ]aли b *$еax' PeгистPьI пишутся стPoчtlьIми 6yк-вaD,и l' пPeдвapяIотсЯ зtlaкoм дoЛ"Iаpa. GDв пotlимaеTдвa <oбrtlесистeмIiьrx> pe.гисTрa: $pс - yкaзaTeЛъ кoмafl/ц и $sр - стeкo]]ьIiI yкaзатeЛь, Toлъкo пoмtIиTе' чтoнrпoсPсдствсllнo пoсЛсзаrPyзки nрoryаммы в oтЛадчик никaкиx PеIистpoв y Irееeще нeт' и otlll пoявляются тoлькo пoс",Ie запyс]сr oтлаJкивае]t{oгo п])оцeссa пa BьI.пoлпe]lиe { IсoмaпДa гun' oпa )ке г)'

oтладчик сal'остoятеЛьно Peпlаeт' кaкyю Toчку останoвa усTапoвиTь _ пpoгрaмм-нyю иJIи аппаpатнyю, I.t Лyчurс смy 11с пpcцятствoвaть (кoманда пpи]ryдитель.Еoй vстaловки aппарaTнoй тoчки остаrroва hbгеak Pa6irтaеT не на всeхвepси'ях oтлаllчикa, в мoей otrа trе ра6отaет тoчIro)' Toчки oсTaпoва пa ДаIrпьle в GDBflaэЬrваютсЯ Toчкaмrt на6люДсtrиЯ ' wаtсЬ Point, wаtсh аddг вьIзьIвaeт oтладчиквсЯкий pаз' Itoгдa сoдrp]i(ип{oс аddr изменяотся, а аvlаtсh аddг пPI,] чTениlr/зaпи.си в аddr. кoмаЕда r'wdtсh аddr pсarиPyет тoлъко Еa чтеirие' пo ра6oTaeт lre вo все].

Page 378: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кратloe рyковoдпвo пo GDв з79

llеpспЯt отлаl1чиIra, ПpoсlfoтРстЪ спuсoк yстarroв.]rсrrнь1х точeк oстaнlrвa/rrа6лю.r.lеlll.lя ]v|o]кllo кoNiаllдol:I jnfо bгedk, кoмаrrдa с.leiг y/ца..]яeт все тoчки остаIiовa,с]еar аddг всe тoч]tи oстaнoва) устaнoвлrннъIe rra даннyю фуI{кщrю/aдРес/нo.пlер стPокп. копlaндьI еndble/disаbl e пoзвoляют вpсNrcнно вк.lючaть/oткJ1ючатьточкп oстaнoва, ToчI{п oстанoвa IloддсPживают РaзвитьIiI синтarссис YсЛовIlъtxкorlаIlдl oпI,Jсанпе (oтopoгo llloжнo нaiiти в дoкyllснтаци]1, I{orlандa сontinLre (с)0 о . , 6 н o в , " . , в L l l o , | н , н | | ' I t о | Г i r ' N | t i l , | | . Г o : ' n | | o л | o ч к o , , o . | ' н o B a ,

ко Iaнда neхt N (n N) вьtlloЛняст N сЛсдУtо]rrlх с]Poк кoда 6сз вхoда' а step N( s N) _ сo flхoдolj вo rJкDке I | пьIе ()у | п( lI П' ЕсJlи N IIe 3allаltot ]lo у'1o-(ча!lll lo ltьI.пoлllяется одпa строкa' кoпIa]l,lъl rextj/stеpi дej1aloт тo )ке сa]uorl ]lo pa6oтаrотJJе со стPоItalIlJ псхoдIr пtlr кo аIr,IalJи' oбьгlllo oнЛ ис.пo,tьзyrотся сoRl'eстпo с комaндol.j disp.lay/i $pс(x/i ipс)' пРеl1п l lсьlпaroпIril oт.ла]]чlJкy oтo6Pа'(атЬ тсI{vIцyю rlarn]rнrrуIo Iroмаrrдy, Еeдoстaтoчпo uьlзьlBaтьодпII

кollaн,Iа Julпp аddr псPсдaс'r уllPаtsJ10lt11с в llPol1звonЬн.l-Iо тoчку пPorPаlll1Ьllа са.l] dddr/fnаme.]rьIзьlвас,Гti)Yllкцllкr fnаrтe( а Pl.уl!1с]r l.а]!lrl ] Этoгo нстда)Iiс в sо[L.iссl A l{аl( 'tilс1.0 ollo 1.Рс6усr.сЯ l.цl)уГlIc l]о]1сllj|nс ко]\Iа]'lll,t: fini sh - IIPoдоjt)кaTьl jЬII l l ) . r I l |с||ие jLо l lЬ|хo, lа и3 Tс](y l l l c i i фyJ l I tц] l ] , (сооTпетсТl]уc 'Г к()rvaIЦе so l i - iсеP RЕт)' until аddг (u addг) . flPоiLo'Dкll'.tl BьIпо.лIlсltl'lс' Ilока yкaЗапIloс l!Jсс,гo Ilс6уд.r 'Г ](o0 'гI1t .I]у1 '() ' ^ l lр l |зrIrускo бoi] rPL.уr! lСr|П) l} oс ' |а l ()в l lT| , |]b l l l ( )J l I lс||| lo |ц)|]'Lос 'Г l t )Фt l l l | | сЛ0дvi()r iк] ' i i l toNаl lдь l (nкTvаnьl lo /UUi l l I tкЛoIr l ) , r r tuгn - i IсмсJ lЛсJ l .l | ( )c вoJ| ) t l I I lo l l l l с | J ' l ( ) l l c |n l J ( ) l ( ) l | )v I l к | ( l |ю,

l {oмaI iдa рr iп t выражeвиe (р выpа eниe) I l ь lвo/ l l lT i r J ] iuк) I l j с вьp ]1eния ( l l l l l Р | l ] \ l сР ,

р 1+2 ) ' сoдсPжl l Nюс l IсPсllс| |I юii (p my-vаг)' с]()Дсl)){l lrv()с рc|] к]TPll ( p $еdx) l]n l l яч cn.ку | l | lм 'T l ] (p *0x8048424 ' p *$eаx) , ] i ]n l I r ]с ( )6х( 'L} lN lo J tьп]ссT l I l I сск( )nЬкo , ( le l ]к _

rюсIIо,,]],зуii|t{ь (()rlllul()ii x/Nh аddг' r){с N _ кoЛItlleсT]]о въllmil мьtх яtlcск, ст,l.вить с l I ] ! aoJ звcз l loчк l l псPсд t l r . lР0сo\ l в э 'Гoм . l - ' I !чаo l l с пvx( f lo , I{о l l l l l 1даin fo г rg i s tегs ( j г ) вЬ lвo l l r lTз l Iачс| | l | с l ] ссхд0с1у l I I l ь l х pсГ l ! с1Pов, N1од l | ( ] ) к l l i o t , lсoдсP)кj l i{(Л! ,lLrсCк l ]а11я1jJ/реl.J 1стl)( )в l )суl l (eстBn,l еTся кo11al lдoii set, IJапР]l]!1ep'set $eаx = 0 заllЛсl'вас,Г я Рсrr|(TР eаx r|()J|l., set vаr |]]У-vаг = $eсХ l|Рr|сяal]вaeтЛeрetJеIlllоii llrу vа|зпачeIirlе pсгrlстРа eсхl:l set {Unsigned сhаг*}0х804842rЕ0хсс заппсьIвarт по бlilтовolry iдрi]су 0х804€424 чпсj1о0xсс'disаssei]b]е аddr fгф addг tO

вьiдает соДеp,l{иN1оe пalIятl.l в гlп/.lеЛIrзaссеI!бЛеPrrого-l]rtстппгa' фopNlaтпрeдстaв'nенIrя котоPого опрrдr.nяется ]Lо\!анДой set d i sа s sеmb] у. fJ аvoг,кoмalJдьi info fгаmе' info args' info ]oса] oто6Рaхают соДe]l,кl]моe тeкуllleго4фeiiN!а сте](д, аргУ11епTьI фyIпrIt]'Il IJ "l]о](.!lьпъlе пеРel{eIlньLс, ДJи пeРек"lтIочe'ния нафPсiiм маТсpиI кlt{l1х фvfll{Цllii с'цу'fxT лo aнда frаllre N' l{ol1aндаbасktгасe(bt) дс-'rаст тсl жe сallсlе, ч.гo ll саll stасk в \vilкlЦvs.orJадчuкaх, пPll исс-,Iедo.tsaнllи дa11Ix]в коprrl ()lIа I1еlraIJеJltl]\|a,

кoрo.]е rotsopя, llр 6'Ц!]зr]тe.llьIlь]it сеalJс pа6o1.r'l с GDB !l,x)яДl]Т тaкi rр},зиi!lпporрallмv в o,ГЛадчrп{' даell b mаin (а ес.nп llе сpaботaет' тo Ь stагt), затe\l r'

проIpalf\]у по пJaгаlJi n/s' прIr жеjiarrllп заtaв х/i $pс,чт.16ът GDB покaзывалl что у ]laс въlпoЛпяeTся в /ца]lпьпi ltoN{eпт. BьrходIrlt Irзотлaдtllл{a п() qujt (q), oлllсalIJlе (хl..rllьllьlх ]tollаlI]1 в дoлуl]е]iтaци],' Tепepъ'пo lq]aii]lеii меpе, вЬl r lе ,а6Лудl l l.есь ! ]]еii,

Page 379: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з8o глава 23' осoбеннoсlи наuиOналЬноЙ oтладки в UNIX

Ф*3g dat!, DaLв.а dаt0-!!l]

!'s. (ш€-en-'v{'): ld t lfu | -l? l, '.0

,:r ri rfrrirrilrirllr*l;liri al i i:.:t_.::]].i::i.:ri-,:9,:t::rtartr:i:t:tii:.r:aiatia::41Greф'ef{ ]l.фiii!lффцio]ФФ'i'фl.e]цl!j{!.E!Ф.o1Ф!..!

GdЬ) Ь reаk , / . ' t в s t , с ] ] ] ,вrфlqolot r * йIll.|

| |s r ||)se re | s\4 | 1в1 1 е| | |dА| |dd |.xt.ast

вфа l ! o i n t ] , t r ee t е s t ( ] а t , k r iфs t , с : l 1 ,

Pис.2з.4. oтладчик DDD. графический ивтерфeйс кGDв

тPAссиPoBкA систЕ1*lHьlx ФyHкциЙL]epеxRат спстеlfньIх ФyI]кци11 - это нaсToящеe oкllo вo вflyTpеIl]tии l1иp пoдo'

Il1'lT]]oii ]1PoIРаllNiЫ, поliaзьтrrаюI1Iее ипIeнa вьIзьIвасruьIх функциiI' их apryпlеflTъI

ll ttoдЬI вoзвРаTа, oTсутствие <JrиIItlLIх> пPовсPolt на 0I!и6ки 60лезн], всeх

нaч11нaющ]1х ltРofPаNiNit!сTов' ll отЛаllчl]iL fiе сalloe л}пJпIeе сpедсTвo дJlя их

I o , | . : i , в о ' I o , | | ' у , ' . - , | | | ' ' i i , l , l l | | , l | | | | ] v ) , r и , ' " r . s k t m г .

лю6oй 6eсп..1атнь'ii/кoммсpческrIй аiIа.l'IзnTор'

Page 380: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

-j:сировкa сисг €мнЬ х фуiкций з81

P.rс.2з.5' ЕUrе oдиl графичeский интеpфeЙс кGDв

вoт t|рoтoкoJl' ЛoЛуч0IlllЬlii !).uss (JrIlfl,rtIlг 2З'6), сNюIРlll.c: I]сРе/l'Гclti кaк yNie.

РсIьt Ill)огDai\{N{a оTкPIllBaст q)аiiЛ mу_good_fi|e, ]te Ilахoдltт eгo Il| кaк сЛe'lLс1.]]пe|с6РасIiвaст коРy и впlЦаe'Г B lпфпilllY. PiJyNrcсIся' cтo пpос1'сill|lllЙ сnучai,i' tк)< I QaBl lJю /l(сся1.и J|РоIlclrГoB' гласI lт' чтo деllя I lосто |1РoцепTol] |JРеlllеI!li o'гnдJLl(I,l

ухo/lЛT ilA по]tск опlп6Oк' котoрЬIс во(16lце lleдoстoйtlЬI тoгo' ]побы I,Iх пскaтьl

лисrинr 23.6. пoиски багa слoмощЬlо truss

sysсt l (0хbfb i fb28,0х2 0Х2805bсе3'0rbfb i lb24'0x0 0x0) = 0 (0Х0)mmаp(0l0,32i68 0 iЗ,0 l l002, 1,0r0) " 671469568 (0х?805d000)qеtеu]d() - 0 (0r0)q € .U]d() = 0 (0x0)qetео]d() * 0 (0x0)q € |q id() = 0 (0Х0)орen( /vа,гUn/ ld е l f sO l r l i ts ' '0 00) = 3 (0x3)геаd(0хз,0Хbfbf fb08,0х80] = 128 (0х80)]5ее[(з 0х80 0) = 128 (0х80).еdd(0!З,0х2806r000.0x4b) .75 (0х4t ' )с]o5е(3) - 0 (0Х0)а с c е s s ( ' / u s . / l ] b / l i b с s o ' 4 ' ' 0 ) = 0 ( 0 х 0 )oрen(,/r is . /] ib/]]bс,sо 4 ' -0 a277517756aa) = з (0х3)fstаt(3 oхbfbf fbs0) =0 (0Х0)Гeаd(0хЗ,0xbfbfеb20,0х1000) = 4096 (0Х10D0)пmaр(0х0,626688'0х5 '0х2 3 '0х0) = 6115023з6 (0х28065000)

npoДoлxениe n'

Page 381: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з82 rлава 2з. oсOбе]ьoсl/ rаJиo.J, oРoй о|лdдк, в UNl^

л'crинт 2з'6 (пPaДoлхeниe)

mmар(0Х280e5000'20480'0хЗ '0х12 З,0х7f 000)ппaр(0х280еa000 81920'0хз,0r1012, 1,0х0)

5iqaсt]On(s iCILL 0хb'b i ibа8 0хbfbf ib90]s] ' .p|Ooiэsk(0х1 0Х0'0х2805bсrс)s] gaсt]Oi(sIG]LL 0xbTbf гb90, 0х0)з]qргOсmasк(0х1,0 i2805bbe0'0хbfbf fbd0)s]9!гOсlras[(0хз.0r2805bbf0 '0х0]Оpеn( 'пУ qoоn fr lе 0.0666)sIGNдL 11s]GNдI ]1

pгo.ess eх]t , .vd l = 1З9

= 672026624 (01280е5000)= 67204/l04 (01280еа000)= 0 (0r0)= 0 (0х0)= 0 (0х0)= r l (0r0)= 0 (0х0)= 0 (0х0)

suсlr 1r lе ог drгесtогуЕ R R f 2 ' N O

WINDoWS г|PoтиB UNIXсPaвflенпе UNIх{'ГJ|aдчj'lкoв о Wiпсl0lvs покaзь]вaет з]lачt,tTсЛl,нoс oтстlвaпlleпoсЛrlLlltlх lt l]х tlсItРoqrссс|loflaльпylo rlа|Ц)а]J.rlс]lllо(lЬ' TPсхпieрllЬle кIlotlкl,t']\1а(llllilo|'lPусMЬlс lII(оfiкlll пспJIьIвa'ollllс I{0,]lоlllк|l - Bсl] ilTo] кottcчl1ol oЧ€l'ькрaсIlltо, llо ,{aтЬ Fl0 ilo ||o'ГсРlt llу.1]'сll 'llc,lllв(), B GI)B llрoцс макрос llаписaТьllJltl l.lсlк'п,зolla'J.ь у)to |.1уr!вы]i (б.]]аIо всe' ЧTo'Г()JlItк() ]\lo,{rlo быJlо ilа|lРoГpaI\гill'.'Рoвa IЬ' зallРoгl)arvл1|.|lювi]'ll113il/(o.пгo,(о |l;lсt I]()JIЬJyi[,l _ lle хoчy),

с)1:IJil''ioчllЬlc (Pс,:lс1вa ]] t)NIХ rюtrtrtьl rr Pазrrllo6pа3I|Ьl (пl{] r кJIllllo]\l Ilс сoulс'lIся]lLl GDi]I)' jl сl(l{IIс1веlriloc,lleгo eii l|сдoсl.iloТ' _ IloрNtа.JlьlJ()fo ЯдoPllolo oтлaI{.чЛкa сjlс1.с]!oroгo урoвlIя' oРIltrll,гирoвilllrlоrc па рaбо'Гу с дjlouчЦЬlltи фaiiлaп{rlб0з сltNI!oJlьIloй ипd)(]lll!|а|ll]|l и IlL]хоl(llьlх 'l.сс'Гoв' 'lя,rсJIос

дс'l.ст]ro п скп1nlIи€Ilo мIlоrксствy пJатфoрп' llaЛo,к''|0 llir UNIх lryaчвЬlii оTIIсчillЛr I1 непPикaяп-II0с сl.Pсllлеirиe к пeрeIloсll]!1осLlt ll кРoсс.lLlIаTф()р]!lепllo(Тll. l(aкoe та]\{ хaкеp.сTво в гilких yсЛoвr Uiхl tsпрoчсNl l /{oступпoс IЬ }lсхoд н Ь]х TеIсстoв llсJ]ас.1' э,гy l lPo.6Jlcму uсaк-гyаiьlroI:I.

иHтEPEснЬIЕ ссЬlлкиoтладкa с lloмощьIо GDB

дo6Po,Гtlо сверстA]!]ta, Докy;\]eнтaцпя пo GDв (nа Pусскorv! язЬп(e),httpi//WWW'Linuх.org'ru/books/GNU/gdb/gdb'ru'pdf

GDB InternalsoтЛ'I.пloe pyкoводствo пo внyтрeпi{eмv [!иpу GDB (нa aпглиilскo;ir язьпсе)'oueпъ лoпrot.аст rrprr дoPa6oтке псхoдникoв'http://gn!arm.0rg/pdf/gdbint.pdf

TpассиPoвкa пPoцессoв с пoмощью РtrасeCтатья JтРo Tpaссирoвкy в Linux с пpппrеpaпlи пpoстсйпI х TpaссирoвЦrпroв(вo Fгеe BsD все пe тaк),http://gаzettе'LinUx, ru.nevIg81/sаndeеp.htmI

Page 382: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

WindоWs против UNlx з8з

oтлaдчик GNU GDBBBодеt1и€ в oтладкy прoгРаNtl{' ]raпI{сariirьIx Jra Free Pasсаl,httр://LinUxshop'гU/LiлUxbegin/аrtiс|e496.html

squаshing Bqgs аt the sourсeИспoльзoвание 6tl6лиoтeки сtTасeДля oтЛaliки п{IroloпlrтoчнЪiх пporрaмrи 0Iaa]lIJ1]ti]iскoм язьlt(е),httр'/WWW.Linuх.mаg'сom/2004-04/сode_01'htmI

Kernеl- uпd Usеrspасе Dеьugging TесhriikеnТезисьi дoклa,Iа' пoсвящe]Iногo oтлаДкe П раскрьIвarо rсгoдетaлп стpoеrlия GDв (нa rlемепкoll яЗыкe)'httр://WWW.Unfu9.oгglf iIes/debuqging.pdf

Rеversе еngin€ering dеs systёmеs ЕLFIINTЕLиссЛe/loва]l e ]1o-L/taдкa ЕLЕ iDаiiJloв нa iз86.IпатфoPNrе 6eз псхoлIlьlх тeк.

WWW.sstiс,orq/ssтlс0з/aгtiс|e'ssпсOз-vаnegue-Roy.Rеverse-Inte|-ЕLЕpdf

Page 383: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гЛABA 24

БPAчHЬlЕ игPЬlлAзEPHЬlx дискoв

Ilе wIаJ|н 1'| е лo3g1 l.u' na3uцuaн11P!1oщ е па1|у1o -mo 3aщu|nукaК anoil|g1o u а6coлю1nнa неnPo111u6аеJЙg1o, вce?dа нrвep-|lь| ' I{ol|ь c]|opo 1\oсuпa]|ъ Jno,tнo вoсnpou1веcmu' j|o']c|1o е?ou a|onupoваmь, Becn lJo|lpoс _ в | oln, Kal|' 3аn1еm на Iа.lcеpск!ю aеяmеn|,носmъ 1luчazo 1|е J||ФIяaп' T?;х, юno-1aнu.мae1n сa ]rc.aнкцuoнupoва1|1|ьll| 1слo|lupoва1luем ouс1.oвв npaмъшLлa11\lьN Jnaсш|na6аI, noaoqньtе \аfryеmы вpяa ]]uo.Цaн\oя'n, а вom v,aльньIl llгс.I?JUвamелu 6!aцm (npa-aапь: пpaфeccuoна'|ь1lьIil Зla, вuauпе au, aаеm o ce6е Ыnmь.H! uпо пoi)eltаешь, есmь на зеtrL|е |nаKая кamеzфuя люaeй,ч1no 1rc J,южеm aaеpxlсаmься om cо6лaзнa эаz,ltянgmь noОl|pыulк' ч-pнU/|l ящunа u' Donpаtuваясь do вpащающtrсяшР"n]ppp]|о^'nыmоеn' я ро"o6pаоься: как ле все эno.6лuщrа6onа.]nC

Заrцищенньre диски (аихPяд]nс кaя(дьIм Дпelf все PaсTут и paстyт) _ этo саI(сЬи мaст дaй] кo]otрoвщики' т{oпиPyющие зaЩиЩeшъIe дисIси' тФке сzrксь' пoтo.vу ч Io п| lсэнЬ' чPр.J o L j|o Уестo | l пo.1оqчнo пада|о Г, oхаRёpь|o ' |oзаIoцlиe кo.пиРо!щrn(и зaItIиIцеrrныхдr1скoвl мaст дaй пo )киз1tи| и6o riечelo мЬIшъ тискать,а ]lvмать слeДуетI]е'Гем, нa чем сЙдишь. A зaщи]цeнrrьIй кoнтенТ воo6щe oтстoй.настоящие пpoгpаммI'стьl всегдa созДaют пoДргIfl ьlй сoфт самoстoятeльнo,

Лaдно' 6Paтва' rсoп,rаelr 6aзаpl.tть, сulчaс мьI 6удeм lсoпирoвать всe' чтo шeвe-лtlтся' в тoп{ числe и тPетиit star.fоrсе, IсoтopьIй вoвсe пe TaIФй rrPyToй' кaIсим

Page 384: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

llorraч:rnv кaЛieтся. кoпиРoваIJиe 3aщxпtсIrньIx ]ltIсl{oв iljoгучnя тсIla] rr в Par'liах oтдельIloJ'i г]lавьl сir так '(е1ес]1o' мк вaсе ПупI{иIly в пивrtoil 6yTЬI]1ке. A Jaоliнo\!| пollltNlnсltь] веснa'.' I{0!rкЛ,,' Брo]Vy м]]с, 6poмy'.. /]a, нa чсr!1 я та\I 0с1а'}Io8iIЛся? AIа' значIiтся' llа l{oпrlРовallЛи, i(orда 6v/]rте nPo6rгать l'lиN,() маlnзи.IIir - сТpсrrьнIrтe по xо'ilt{аru, кIrпжка rа,! таJrая до.n)к]]a 6Ьrть, <Teхnlrкa 3ащlrтьlсl)' назьtваeтся' ltv ]1Лr1 что тo вродс тоro' Bот Tа1\1 и ЛРo зaщt.l1у' и пPо вз.noпIgt]с пoдPo6нo рnсtlисанo. не пи,raiiтс To,rько зa саNlopс]rral{у' ok?

стPAтEгия БoPьБЬlТo, чеп{ vьI фiiчас 5yд€]\J Заll|.|]\1nтr,сЯ, этoн]п{акоc lle )iаlrсpсl.!ol а так.,' вJ'ltсндPе)кв Лrсorl|пJIlс, lIа(]тoяпt'iе хnксрr,I зaгPy,(аlот с.)(),L!аtlс rl OT.п:rlijЬ|вaют заrrll]тyirпт'х:lко\l' llос''lс чeго 6ьIв]|l]lй кoгда т0зап i I l lцc l l l lЬ ] ] !1 / rпск rю|| I !русrсЯ - ! Iо6ь i11

' lioп|{Pollrцllrrо]!{ iIа Jlк)6()r!1 tц]llво/ic' эToII l lТoJ| ] Iск lуаЛьныi i r loе/ l l l l l oк с ЗаЛ l I гГ( ) i iв I l j l сTо i ! 1 1 l l l д с . и J l I o l l i l ' j д ( , l lЛ l l N l ь | е c '

JT0 3aх |Ial'Ьl ва lo l]lcс] ll() ll1'р!]6yюпllrс IlьI'

. o кo i i l L l l aЛ ' ] l l )U l i i l ц | |и 3 i l l I яT | | с }1ь l _ п0 .

l l J l l lюс I ( сЛ( ) l l l l к o ] \ ] у l l i t aЯ i ] l , lПn l ' l l l с ' с o ..n r l )асп{с , I , 1 ' l a I I i l i l l I l сс , l ' roР; r ] lдo , lрoI l l с i IP( )з i l l , l ч l l сс , Pа i} I (и1 .Ьсл f lont |осT l J l0nn1() i \{ i l1 | |3 l l l х ) l l ацI lЬ l} I ln ) | I | . |Poв l I l I l ко l l ! ( :Tс l .к i l l IoдкPv 'Ги1.Ь I i ! l стP() i i кп l ,1 с / l сЛ i t ] .Ь| ' з o/ ( I | ( ) ]1) l t l l 0к i ] l l e . / IЬ lх д| ] ) ' i l 1 .о Л l I c1r 'рс ' ну и ч lu 1yT сn() )к| |o l ,o? A п(] , | Ч . l1 ) :llirстIюoк Iloрсj ll Nш'|I)jюIl TЬIк,l кPv]rfгЬ Ilх ]\{o)кll() хоТ],l1о 1кх:xlloIlllЯ| n Го.цку

мфк,ц! I l i lм l l . ] \ ' у ' ( l l l { i l i ! l . | ' l .o j loря ' к ( ) ] \ 'мсPчсскr tе к) ] |иРoB l l { l ' l l ( ] ' пЛr l lPvю1.Л; l '.лскo ] l с l ] сс з i l lц l l |цcп l I lnс ]Lлск] r (в чaс] r l ( )ст I t ' мoп / l11с l r l l о l I r l l tе lф| lпPvют ro l l '

( теN|0 i i ? Пoжа- tv i i . r l | . l l l nx l тс св( ) i i со6ствспr|ы i ] I rо]u lPоB l ] ( l I l r ( l я l l o l iо r .v ) 'Со5r : гвcr r r ro гoвoря ' Iако i i пoп! Iроr r |ц l rк у п ' с I 'я у )ке ссТЬ| I lо o| | д l ) с l l х xоP I I11-хо]llr1.с' в дoIrо.nьIto DnзoбРаlIноNl сoс|0яllxU' Бeз дol{уIlol{т:lцlll.tj,|схllor1дl]p'{'ки ll сollyтстB\,]оlцеii lнtppaсryукrуpы oн 6еспo.lrt3снl нoдо!()!lить этo де.qo д(]ума llнс 'lIcIlЬ, l1равда' cслlr па6epс.|ся I(вoPуI1)кс,пaюЛIlrх' Pа6отi пoii/L€T l'o'раздo 6ьтстрeе, ll0 эro всe rr пеpсllсllтlJве, n сеiiчас Ьr 6yДсм хltчllтъ Tс]\1] ч1.с)

дЕЛA сoФтBЕP|{ь|Е, v|лv| эЙФoPу|я oт AтPoФииCyп1ествvст но таlt yк ;rIllol.o l{oпиPоrrщt1кoв зarlпllцеlll{Ьlх лIlскoB, Ii сpсд]r нiiхпeT llll oд]]oгo пo пас1(rjlщсNly хopоIllеIо, хaкeрсkих l{oп]lРoвI]illюв нс,т п y'{eне бv/LeT. сoвРсмеIl]loe лolil]Jlсflис покo-rlениc < Пепси' *хoчетпlпер4)uiсс oдноii бо-'r ьшo]i кнoпкoii stаrt, Itol{onен пе < I{е]rсu' считаеТ зазоPrrъlli чтеxЛс ]rн] lr'v нllх атpoфиPовan мoзl.]]аtlрoчь, коппPовщI{кIr пo yРовIlю своeй фу|tIlционаJьносTll вllJ1oТl{yю прпближaloтся к мЬl.]lЬнrlцall 'Гllllа <I{o/.ialiAgТомaт> п ]le

Page 385: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з86 rлaвa 24. брaчныe иГрЬ лазeplЬlх дискoв

llpсjlo.].aвJlяюT llаtrl }tltl(аких рЬlrtаГов yflравJrerlия' кoпr{poвщlrк кoпи1ryeтяeпо

rlяLI]o Чт!] l'l l]еlloltяIlIo зачe;ll' rlртlчем кaчeс-глo ltoпиpoвaппя остаB.lrяет я{e.liатъ

Jlучurer{), I]Рt.I к:lж,l(оl{ ул(16llol'' слyчае orr yхoдIrт в lлy6ок1iй oтmз и сдст xPьI-

1Irей. чaсть Дriскoв в11116ще нс копnруютсЯ в nPlrнцrlnс (так, ]lPxсу'|сТвие riуЛе.

вoгo тPека нa диско зaвсr]tивасТ !се tlзв€с,l.]|Ьle ]!1lIе кЛlирoвllolкl])' час'Гь копll

pyeтся нe 6сз плясoIr с 6у6нс)}1,

JlJ,Чшeе'.]T'] сс1.l, ]lаРьпIl(е, эTо clonе сD (http'/Www's|ysoft'сom/en/) (nrс,2j'1)и Allкoгoль 120% ( http i//v!&^Jw'аlсоho -soft,сom/ ) (PIlс' 2{'2)' ПеpпЪпi лyllпI€ спРaR'лястся с чтснIIсjll l1сстaндаpтнlnх o6Рюоts' вT()рoii с заtltlolnо. с Дpугoii сToPоh L , , с L o л г С D | | . у ] \ I е ( г l l : j N l . l ' я т ч х ' l , . r I e l , l . , ' l , i l | ' , ' , - ' 1 Л Ь | | n | i л n i l n ) , { , | , t оllиРyeт pяд пpoдl]I'l,yTьrx jalцит rlaпoro6пс сd.соPs llJrи staг.forсс, LIх кolltlpyоТ,|оЛЬt(o AJtко].oЛЬ'

.г()lпlее гoRоl)я. IJе lloпlrPуст1 aэjI!|Iuр!с|n' Нo с Toчl||| зРc|1\1Я

Я oд1!н хрc]] ра3нlrlliL'.ц"Tя pa6o1.ri с Tа|(оii <кoliиeji> TРе.6yсiгoя с]rcциа]tьt]iЦ ЛpоГpaмNа. эл,,?"c,??oP, нaпPиlllоp' са]\t AлI{oгoль иJllr 6сс-lInаTllo PaсtlрoсTРaIlяе]\rыij Dасmоп.Toots ( http://WWW.dаemon-too s'сс/) ' в yс,l.il-l Iов.]Jeппo]\f вЛдe зaнппraю щIliI ЧуTЬ 6ortlлrс 360 К6аii'r. Qur я сpal rrсl lпя l A.'l котrlль

рaстяilyЛся нaдсс,1Toк с гilкoNt мrтров)'

Pис. 24.1' с|оnе сD за pабoтoЙ

It этo\Iv списrrу мo)кнo дo6авrlr,r' и B|ind Write eдl1пст]rellrrыi'i кoпl'poвщIrк'. п р , ' B , l " о r ц | | n . , | . о . l d ' . . U l i ё i , ] | ' ' 1 h l , ' ь , 1 1 . a , , | | | i j \ v r н я . \ | . . | , \ n - 1 . ' ' . o | в р а Ц l .ниоlr' и6o здссl,вoo6щс IIетппкакIrх нirсTPоeк' riотoPыс 6ьlJo 6шмо,Itнo lIoдxPу-

ЕIaчllr1аloщ]]N1 Tак'(e пр xfoДяTcя опpеdrru|nс] u mlлo.l зa4,i??' onpcдcxrxощис, чТoза хPeнь вьl пьIтaсTссЬ с(oll]lрoвaTъ' 1I пoдсl(азьiвaюrJr'{е' какиe нас'ГpойкI,l въ16.

Paтьl a кaкис Лyчш€ не rlaДo' нa http://W!,vw.сdmediаWог|d'соm/hardwаle/сdгom/сd-Uii|s-2,shtm| такuх yTrlJxlТ l1рoсTo тoлп:i' по псe oIш фyфЛо. УчlIтесъ oпprде'Jiять пPсдпoчтI'lтcльttыс r1aсTрoiiкl'l саNioстoятe.nьIiо. наTo ollrl и пастpoIiкIr, ч'Го-6ьL лх нaспpаuваmь,

? ] d l 9 д ! { Ф ц o o ь ф ! р ц q Ф 0 ' 4 t2зi719cPцмя фoпь n,шл'.1105)

2 t5120ч ro i l .фФ"1 l йФq0 r}$ l

Page 386: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

бpа!нЬ e игрьlлaзeрнЬ х дискoв зa7

цфФфФ.]:.:']].]].]]],]"] ]:]

дEлA )кЕлЕзячнЬ|Е, или нE всEnPиBoдЬl oдинAкoBЬl

r l 0 | l l l рoП l I L Jп . l | : ! i ] l ] l | | | ] ( ( , 1 | ] l Ь l t l l l ! с ] ( о | ] l ] р с , l ( ЬЯ l ] . r | я to - | I l l l l I 1 . a .

lO l r n lN l / r l l l l l I ! I I L | | l \ l I | ] ) | l l r oд i l I 1 l j c с l , ] \ 1 l ' { с ( ] | к | | с TРс6o I ]а l l l t , l ,

1 r | ) l I Bo j l до . r l ' ( с | i l I ( , T l ) ' l l Ь r {o по , I ( l 1 сP ) ] { l l n i l 1 l ) o I Ip0 , ] l с - l l с I l I l I , I е

рo,кllмъr рi.rогьl (i{()П)])Ьlс |lo стlllU(ilP'i.y оll llO,luLop){rlвa1.ь

с l J J l . с l I I 'o o . ]яз l l l ) j r l ) l l ( )6J I i l /L l lTь | l сх l I jо j i ] ! l ех i l l l l l чсс l{o i i час , г ) ( ) ' ( )6ссI rсчпва l r гl l ( . i i ст lб lLnь l loс] | , ПP l l |цсr r ]1 , ] д l l . rLа l l l l oс l ! )я l r сГвo r ]оз l Iцп() | l l Ipor rс ] to l г0 ' ' IовI ( r l jв11 l ) (Л. l l l r i rO l | ( ' . J l уч i rсдI l ск l I l x i l L ' l l l е JJ l tЬ loсс1 сoрs l ] s |nr . lо rсс ' скor ] ]1] rова|ь l ] с vx l rстся .

l,f п, .е1хlсr roщrrс rraс хaрa]{ГeРliс'lllк]lrtбЬlчно Jfu] а() l IxPYloтся ]l1lоllзLr()дl1l.с,IrorlJ ) I IC I lP l l во] lятся I J l l в leх| l l |чсс l{o i iдoку\ ' r l I тaц l l l l , l l x (Tсп ' 6олее:) r lа эT l l I i cт lLс 'lФult.jlCoнrxjii сRcPIy lLl)lllloда,lloЭТolЦ' вij6.rр i"|oдсjI,l' ЛPrlг.]ДltOii д,rl' \aгсрства'IIP.Дст:lвЛяgГ с(l6оi i дo!оnЬнo н!rтpпIrпiljlь11vlо зi1r.lа\v, са \1oс l цrостое скоp11llTr,Uр|lн|)дy sСsI/^T^l)I к()r!'it]lrrv GЕт сОNFlGL]RАТ]0N ll IloсNoтpeтъ,.П! ox всpяcтв oTвстl llаllятvя о TоNll 'll\) lJoJращсIrI{ая rlv l'lll'l]opr1ацnя ilо;кс'r l| нo соoTветс'ГвoватЬ дсiiствптеn ъl Iос1x l xOс]{o"!ьк1' отр:Dкaе\ заявtе1!l lьIе ' i\ a\ 11\a!JЬ |1с Pеа,1]ь110изl]rрeппьI.. (Bоiiс,|ва, Тaк что паpa троiiliа TссTrlрyюцriх IJPoгPаIfl! на\f IIе lJ().меilraе'Г (п\ Il(),{l1o наiiТll на Nоe\l Лor|ашнсll ltP серseрe 83.2з9,3З.46)' кllоl|стoгoj lIo'(I]о псi lо-1ЬзolilтЬ l сaпI кoпriровlцrlli (]1апРll!ер' r.o | ,кс сlone сD) n Iа-чсс]тве свoeo6РaзЛоГo nрoIoнноIo стеiiдa. эTo тсlr 6oлсс хoрошo' нтo oпpеде"rеrr.I'ьIс пр]1водъl коl|4)"'llIкTуIoТ с опреде'rтепllЬtllrl lioпирoвtrпn(aми. llоэтомy что6Ьlзllат!нав.р}iякajэтот(:aIlЬlt1копI1Poвrцикlry1!

,ftPис'24.2. Aл!oгопь за pа6oтoй

Page 387: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з88 rлава 24. брачнЬe игрЬrлаэернь|х дискoв

Boт н€lioлllьIl:i пеP€tlепь тРебoвalolйj прeдl''rr]1ясIlЬlх rr чlrтa]o lеl\{у пРIJвo'Iy']lерсчI,rс-!еll]lьlх tr поРяi.l|.е yбы}Jn]]]]я llх зl1ачl.llloстIl (aoд <чIlт:tioпllll{> приrr.г

ло\f З''tесЬ поЛрaзJ]\1ев.tеTся Лpl.lвor:l' исnоJlЬi]!сilЬrйдЛЯ снятпя o6Рaзoв' а llе 06яз:lтrlъirо сD RONI)]

. пpиuод дол)кen пo&.lepяrиваTь <<сьtPoil> ре]ким qтrlrия (2352 6aiiт:l llа сеr{.Top)' осуiIlес,гвJяеNiьli] ко]\lnIlдa]lll RЕAD сD/RЕAD сD мsF. в пPоTIil]lrcм с]nvЧacпраl{тпческrl l]lt or.iпп зa] lпЛдe] I]tы ji ]l!1ск сlсol1иpoвaть riе yдастся. 3ilпvс'rltте

уTjl"lIJгГy сd-га!i-reаd r1]lr)ttрo6yйтс xPoчитать несxо-liъкo прolIi]вo'ttЬtlrnх сск.Iopoв с дIlскa' и ссJtrl orrll пpoчuтaютсЯ, Pе)кllllJ сьЦх)гo чlon1lЯ дu.Iсlв]1'ГсjlьнoxoддсP;{t lBaсl ся;

. ]lPиBод дoля{сll поддср)кпвать чтеlIи€ uсeх вoсьмt{ каIiалl)в пoдIioда в сь]poм' vпоPя]]OчсппoпI ll tlеyпoРялоче|lllo\1 видеj t]о3!paщirЯ lн в о6nlCI{ пoто-I{C даll}lьlх (To ссть с кoмап,.loii READ сD). к |oвv сказатЬ. сLоnc CD jI AJxо

' U , I L | \ o \ п o I t ч л o Ч е | | | , l ' , ] , е : ( , \ l , | , l , ,(0бtD.rст(]сl, PаirPtl6атЬtвaтt] сBо]I сl:)6сTвс}'l]ьlе кoIiп!о|l]lLllкlll осliI-(Ь!rnс il]]il

Pсж||] \ l r l ] с i l к , |уаnь]1Ь, ЕсJ l l l с l l , l r .11с о6pазnдпс l rа пP} l u l l l r ( , l е l l J Io i i г l l J loЧкc чте .ниe сy6канаЛoв ((]|()lrс (]l)) ]t'il|| чтeние сy6каналЬнЬ]x даннЬ|х стeкyщегo дИска(AnкoГоЛь) пР()х( )Д|]г yспс|п l |о ' lц ) l l вo/ l ln ]д l l с l ]жив: l сT чTеI l l l о кaJ lа ' l lО i l п( ) lln)ЛlL Il"'l|, 1t'lLк() llсJIaсl, ,]l'l' ч'|o lloдl1сP,шваcT' yNеЛo lI]iJlrTIЦ)yя Ре l!''lЬ,ГllT.ll1)бl,l rr|'l'(ltIl,|ь!'Iо |lа|]срll,I].а' зill]l]!]'гLс o(nчilllllЬIii с ltl) о6l)tв test.sub t] ]n]' |dINI( l RА l , J DAo 96 (сN l ' lР (6oBаt Iu ' l ( I l l ] l I l y l r 0п1у |ЩlRодy) 1 l l с | iя l ] o6 l ) l l з с | l ( ' кс3 l l | | | l с i l l l I l 0L . ( ) Л|кr ia ' ( l ) i l I r l I r lT0 I | ( ) "1vч01 l l lы i i * . s !b 4)a j in с l l схo] l l l l , i r j , B с" !v . I t l с] |oуд i l l ]1 l I l с ( t l с l | ] l f l . с l ] l | , | | | l Ь | lр |nкJ ' l _ l r c l ( )1 .oP l ) l с I ]cРс i i l | С| (Л lс сD фдopn( i l1 .оLI i i |б lo l .3aI ] . l l | l IRаюl I l I l0 l l ск) 'ГoP l , IсЧ ' I1 .акJ|ц l l с l | ] ) I l к ) , , ( I ' ' } j ( )с ] | ( ) . l I l , i l у i i |0сЬдРv.|!ii uсРспoii llp0гpllll11ЬI ll'xrl сjllсlll.l1.с кollltроI]l]lllI{;

. приl}одд()Л)t{с|l пo3I]oJlять oтключaть аппaратnуIo корРеl(циto otllибoI.' rJl':г| ]р i l l | l l lЯ ( | ] l l , l n l ] l rЫ() /L ; l | | l l ] loг l i е :а l l ( l l тлЬ|смeх iL j l l l з i ! | l l |, ' , l l l | г ' , | ' l : ' v \ | | l | | , ' , 1 ' l l I l l r l t | , ' i | | | l l ' ) i , I i . | | | | l | | ' ] \ | l ' к j ' 1 ' ' | | | l i i . . l n . 1 о | \ ' U | ' ' i i

прl l l r ' ' | ] l ln) i i l i 1 l l l}I , ]]( j l l | |р l t <l lpo l . |) t rм]!]r lо i i ' l{oPPorrцLnI оп] 6oк (16l , r1jтрЬl i il Ipo l ly( . rL ()|II l6()x ' в i l l l lp . rмсТPах чTсnl lя ' C lопс СD) сr lяr . r rс о6pаза rrрохо"ДЛ1 уC] |сшrto' дllnuI'Ii,i Pl]]{(]111 rtP]'1вoдопI пo/llцlrР'{llвite] сяi

. пpItlloддоЛя{сn пoДдсP)к!ruaть 6ьIстPьIii лропуск оши6tlк' rroзвo.lurrr ус'r.aно3rlII, свoi] IliIy,ГРепlпlii счеl\птli лов,ltllх'] ч1.сlIl.lя в ноjlьj чTo с()отI]е,тстBYeт(],|(|\l11,]'lrl]к) пOlr'lop()il' tl Ilp{[l]я|lоNl с",rучilс li{)rlllpован]rс ]'UIскoв' з:!lItlпI(сll.IlInx 60rlЬlJllIIl lioJп.lЧi]сгпoN1 I(e4)еltulьrх сеl{тopо1]' rlоТрс6уcт чyдolrlJlцногoкоnl'чegшil вр.A}tеIlx (сvтliil llJtl 6o'цЬше), Ёс'lи llpll yсTartоlJеIlIIoi] r.а,1очкeБЬсгpЬ]й пpoпуск 0ши60ЧнЬ]х 6л0к0в в AJlкollJrе снятлe o6paзa слегка <тpaл.ltll1рoвaIl||()Гo',lll|сltа ]lpохo/lllт Усlleu]нoj 3Лuч]lT] llа}1ньIr] Pе'LIJl\I пр]]no/IоN(чaстlltl]lо и"lIl, пo'{lIoс1.ь]о Iк]/церrсIшaетсЯ, часT]lчно прпвoл rl{lilво'lljаe1

усТtlllltв.I1llва.LЬ счсTчxlt rroвтopoв в нoлъ' нo 6ракует дахe впo.;tnс ullта6с''rь'rlЬIе секToра, Пonнoстьro прпвoд 6ракyет толъко ,lсliсTвllтсJlьно с6oilньIссerLтора Itoрочe roвoря' пIе,{]lv скopостЬIо п стa6}lJrЬ]1oсTr'ro чTсlIrи доjI,кенбЬlть pазуjuньlli ltоl'пpo\tlIсс' опpeДeЛяe]!1Ьlii зЛекTpoннoii ]rачпнкoLi lipиll.)

да, сloпе cI) rю&]epжиrаеT Рeжим r(yмrlol.o' rlpoпyсfta сеItтоpon' пPoпyсteя<с6оinlЬiе> сeк].оРa пaчкalЛт пo 100 шТуt' 6ез xpoвсPо1{ нa их чrl'Гa6ejrъпoс'Гь,

Page 388: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

однаllо ]l!]r]сз1lость этoп llдеtl со]\ll1ите.]lьl]ая' и пon)лrel1rlaЯ коtll.1я зачaстyю, , l " ;o 'О' ,п сoс '| . ,J i

пPивoi{ До"rDкeн во3вpaщать укa3атeлlr па c2-orllи6ки' чт()6ы Irorтирoв]Iпiкllо].их uптeP]IоiIrР()вnть вpучнyIо' гЛaвнъlпl O6pаLзoмэтa фиш]rа rleo6ход1tr]а/.lj]'l ]ioпilpoваrlllя аyllиoitrl(кoв (i! ltсзаllпrщсннЬlх в тorvl Числеl)' a дJrя Д11(.l!0в с jlаltllьIlл'l оI]а пРакTuчсскrr 6сспoлeзнa, зanyсти'Ге yтlLtпТу gеt соn.figuгаtion' п eслlt llсPвьlii' счxтая oт нy".]я' 6ит fеаtuгe dаtа Рaвеli 1' р.'{llмoтдa.lп ошп6oк усrrcппто tlo]1деР'кr1вaеТся;llрлsoд lloЛ'(e}t o6'raда,гь пoстоя|lствo* uo""uno",,po"inn', ....p"n,"u.,nоltт'Iчесl()llo гo]юIrку к'ГoN'у ссitтoруl к коl\)PoмY еIo IIрoсят, а llс кyла 6оl.поtu,rст, liJlrlвo,,lъl с нлзкoii кЦrloс,Гl']o пoз]rцI loIJrlpolJанllя ]1Ля IroпrrPlrваIIil'lr1 uro]]' ]llцllще]rrJьIх xо тсхtto.пollrll сd.сoРs l1 stal г()Iсe' ilelIP!Iго/.lIll'. ЗапY.с'П|1с утllJ,'Tv seеk аnd.Q п' встaвr'B в lIp поr:l аудподис]t' r|РoчlJтaiiГс су6l{n.il;]-rLЬяьrс лn]lllьIе lJеPtsоIt сoтtlи сектopoв (паttplr]\{сРl Jтo lllo)кrlо с,(сnaть Tnк]seek..dnd Q.exe тЕAс 0 100. rlLс тЕАс _ rlrvЯ Bалreгo lll]lводil) . lпlс,llа D кРiliiлсlji л[)nIroii кoj|()|1кс Лo"llnоlЬr пloll()1ojlJю ПoэPастtl'rЬ' ла)Jqц,lij рa3 v]]с,rllг|]ll!il.Ясl, пil eдllIlппy' l.,fnlJ )кe о]ll! нaчjI]]аlo1' <lljl}tсатЬ>] Niсхаllи]{а ЛpllIr(),]1а oсT:lll.' r l яс r жс . ] la l .Ь . !y l ] r l | с fo ;

пРиl,одt(оЛ,кrп oбЛaдать стд6tlльIloсl.6to считьlваIlЛяl зilтPlr'Illr]ilЯ lliL '|'l.0llltrl, l ; l | | | l ( ) гoсск lop i l { )дL l ( ) l l |о , l {L , f iРс r l , J lл l |Рo1. I , I} l | ( ) I l сЛ\r ' r l Lс | l i ] ] \ l сP . I l I l l ' l ( )хn|)а l ( .т . ] ) | l с1J l i i l | ( j | |ир i l . l |ь l Io i i j Lс lрo , l { | i | |окa)I{у1r : , ' l к ] ,Гo l i ] I l , ] , l t l r { ) I I l l l t s tа I . fo rсe/сс l - соpsоTк l l ) tш I r Pа6oTс . l ]а l Iус1||тс

"v1 , l t ' l | | |тv сD. аng le , seс toг сo сJ l с / (yк) l Iu lN l} ) | | i l l ) i l

] \ l сTР i lN l l I : СD, аng]e ' seс toг leхe \ \ , \х : 0 200 l00 > f j , l enаne, tх t ' l r t с Х: _ 6vкп l r ': r i t кРсI l J lo I l l |а ' 3 l l J IP] I l l oдoNI , l ' l I | |oрTI lPy i i тc l | ( ) J l у . |с l ( l l ь l i i 4 )n i i l в Мs ( ; r t rPI l01 ' l I l ГY](а ' ILo] r )P i lя н I joР l l0 l ] I t сyeT дI la l }aмN|Ь|) , Заrcьr rювтоp l r - r ' с l rу l rрory-] l vPу l r I loПЬ l l l i l . r ]on(| |п I | ( ) " l Jvчс l I I IЬк ' IP . ] (F l l к l t дPуГ I ]а ] ( ] )уга ' l l а l , l са - l l ь l l o \ ] i l р r l .IlоЛс ')бlt ГPi4Л|'{a дoJJоlь] lloJllk!l.Ьll) со]rllii'Lt1'Ilj Ilo Ill IIPal.DJI{( |.lк()e Jrl1ILoг.Дa t lе ,1( )с I l r l с ' | ( l ' l l t l впt tоr r l моr r tст 6ыть l I с To" l Iькo ] |РПro l ( t lю I J фo||oв l , I .xPоI l r сс l , ' ( / t i l i i iBсP ' ' ) ' i l l р l l L l l . lюr l0|с(я ' l I i t : l i L ] l l l сN l ДBoPс о| |сpI lцI tоr I I l l ) i i сUrTc l l ]n j I l J с t .а 'u ' l ( ) rц l rс Pe] lуJ l l ,Taт l l ]^1среI l I l i i I lpU6e i i | . c всe l l c I l у )к l loe ' с l ] сс I l тсвсс л о(||oPo1ill ] i е дPаliвeРll ll пP.l'reсГl1Pyjiтe llрltвor.1вlloвь'

ч.Гo x{0 касi]еTс'l rппlryщсгo пРlltsoда' тo llашr| |lo,l{с']laнI,Iя l] oтtlопlен]tl.i eгo хi|-PxIn.сPI|стllк 6удyт (,It'lуюllp] Nlи (oфi,lЦIlаt]т1)|. rlРl{вoд дoЛ){tсtl пo/цеp)киBать Pс,ким RAw DAo 06, 0Tкpьlrtаl()щ,Il:i Дос|уII

ко irсeNl с,!y'{е6]I),lNI стpуlr'l.уPаl' Дn]]IlьIх rI nOзвoляющxiI заlIllсьIпaтlj дxс]lilI]r ЛeсTaшдaРTЛj,Iх фo1lпlД, Б.]Л Ьш]]нствo Дсшег]I,lх xxсцов эToт pе'}ir1]l не под.]lержInal}Г, ]I lIх ll()зможIjос,Г]16oJeе чсNl oгpall]Iчсньт' Есilr пР'l вьI6oрe llt|.rjlvl]reго CD пplпroда с]оne СD гоlrоpl!тj что з:rпliсь B pоIorме RАl,{ DAO пoд.llcP)ro]]rаt'Tся' Ilе спс,]п 'Tе радoвать(я, Прпвoд lIo)i(eт lloД''lеР,{llвaть рe'}JlrlRАl,i DА0. 16' tlo r lе xoддeРкllвaть RAl,l DА0 96, To1дa тrопиPoва] rи. дn. non. ., щ' 'щe]JlIЬJх ]ro теxll.].цогrltl ]-jЬСryрt' oка'{eтся flсвoзllfoжнъIli. ||а поДeр]ккvRАliJ DА0 96 yIiaзьIвaсT чтo 6ЬI въl дуI]а"1!l? - !озпlo)кlloстЬ заrlxсn сD G]

. прIruoд l{ош{el{ |loзвoля,rь oтклIoчaть Ре}киil кoPpeкции olIIи6i)I.' в про1 xвllol'j с'rrучас.\fьт IIе смoя{еlj ]rx rrмrЦ}lpoвaть с6ойныe сектоPa' llЛ запrlсЬ!ваTь

Page 389: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з90 глава 24. брaчHЬlе игpЬ лaзepнЬх Aискoв

с6оriныс диски' и прaктLlt]ескll lIи оil]lv защ]tту tlo6оPoть нe уДaстся' Пoд

дrP'{ка peжпNIа RАll DА0 96 пРеДпo"laluст вoзllto'кнoсть oтк'lilочеllllя кoppert

Циu (тoчнeе гoвopя, прIl запис ll в RАl,ll DAO 96 npllвoд послylUнo пIrлIeт что еl{уllают l] }lс пьIта€тся зaIrIIl{атъся саl\i(,lLе,l lс.rl ьIlосTj,ю), Еслп ре'{r]l! RАli DА0 9611с пoддepj{lrвaется] нo с |one с I) и''tlr AJrriоl.o']ь llpсдrraгaloт RАll sAo + sUв ' тo3ап1]сь 6сз кoppскцlпI всe e вo3rjож ]la. io|я ес Еoз}1о'{н1rстп Ir 6vДYт сильпool.Рaнrшсны, ЕсЛll )кc нr1тоroj rп] дPyгoго ]r oJи(1{с Рсяlxilloв нс зrrачптся]Цxlвojl.l" IlссTo на свa.tкrl a нe u кopllyсe хакеPскol.o ГIкi

. пPп зaписIl aудtroдa[пьlх пPивоД не дoJrI{еtl oсyщrстu.rlять иx корprкцию

ДJrя пplrдапlш 6o.rreе <пРиятнol.o' звyЧaяи'r нскс)-|opь]e lаllllfГЬI ll0]\lеЧаю'l'даппьle кlк ауДrl{)j lI ссjllr ttрtlвoд l iol1ЬIтaстся пх <.y.lrу.llll1l,|Ь' (э1.llr!] <с'Цilв'lт.ся> пРl'Ir0/1ы P]сх1oг)' Iю}illo IIpсдстaвIrTьj что u l)еlvJIlaтс llPoj1зoiiдст, ll.lЯTcст|lр()l]il]]l1'l )Ц)1lro/:rа IJа lllrxBостъ т!е6уrTся х(ILя 6L'l ojillн заlцllцсtl]ll,lii,.lltск (ек)l кс1.l1.It l'oвoр'l, ll0,riнo сoз!lать ll сill\юс1oяT(JJьIl())' БoЛсс jlсгx1lх

пvТc i j ' к с ( )жа ' l l c ] | l . l l ( ) , l к ] , l ( r{ ) в(J lкoм с , I l vчaс , я ( ) l l l I х i r с J I l rк ) ) .

PЕглAt"lEHт PAБoт, или с чЕгo нAчAтьи чЕМ 3AкoHчитЬ

1{oп] ' JюD.] | | l l с JaI l l l r | ] l сп l lЬ lх Дr l ск( ) l l о6Ь lчIю oсY l I l с (T l ! ' ( ' l сТсJ l j r ] ( ] ] i l i r l i ] I I i l i ч , |с ] | | |с06 l ]а l l l l l t за] | l | сЬ | |1 l / l ск . l ] ( "1 l l 8 с l | с ' | сN|с vс r i l l rо l J J l с l J с [ ] э ] \1у , r l ' rop ( | l i i 1 rP l l r l ср ,Toт l чT() ях( )1Lи1 'П ( ( )0 , |а l r с lо ]1o сL) l l r ] l l AЛю11) . ' rя ) ' | |oсЛ( ' l L l l ] l i i э1а l l N lo ' ( '1 . I l ( )1 '(lv'Гс1r]0|rillr,..l.olllil сll'l-l'ЬIii o6Pilз 6у/lс l. хрiri]lj1|'ся ||il |rllllЧ0с'Гсp0 /'lо 1.сх тlol),ll{n(al Io l i )о l l : l ! Lс l . l l ' ц l l l l c 6\ rДс l ]} i r r lФ!11/(06| loс1r ' ( ) yд i lЛor| ,

с]liяTЬ кoPPtlгl1.IЬlii o6lrltз r]l|сILa дiUI0l() |lc IlРo(:|r). l|()(llФ'llЬку :rilPilIloс llсrlзвl]сl..| l l ' к l | ' ' r \ , , ' x i | | | | l l i t | | | l , . ' I l ' , , i i | , , | 1 1 ' t i i , , ] ' l | , \ | | ' | , ,

l ц ] I l ] l l I l | с ] \ {o | ] l J о сT | | кo | | | |poD l l L I l к l t o6ы lп Io ( )6о l ] аLп | | ] а сTс , | | l o l l i t 6 с ) J r l ] ь |N l l i l д ( l l l l | -

/ц"'lя нача",Ia о,гкахеNIся оT ч1e ]rt,l (\l6l{аrlartlllr,lх lli]|]|]Ьlх (чтeниe сy6каналЬнЬIx

даHнЬ|x с тeкущeгo дискa ll A'r|кoГono lr ЧтeHиe сyбканалoв из аyдиoтpекoв/тpeкoв' дaннЬlми в с lo l lс сD)! вЬr l .nxI l l I i ] прoпyск oшибoк ЧТeния ]r Аnк() l ' ( ) ' r lс | l J l l1 yf l ' | -i{oвll]\I счетч]тк Пoвтoрoв чтerия в сдl1]xtцv в сlопе сD. llр|| эT0Il Кoрpeкция oLLrи.60к i{oЛ'dl.l 6ln,|Ь Ус1.аl1oв'цС]1а в значеппe пpoгpаMмNol ll rlaдo с6PосЛть rrсе Tрпг:t.пo\I.п: oста]-]oвкa npи oши6кe Чтения' нe с006щатЬ 06 oшибках чтeния' УNlнoe сканиpoвание плoхихсeктoрoв, ИзмepятЬ пoзициoнирoвание дaнныx (тoJ'rъкoлля AлIioг(шя) lюка нс ]rаДo' a вoт Peгенepиpoвaть сектoрa с даннЬ|ми (тo-rтЬro с|onе С]))llе llo11сшacт, I(aчсствo IIзвЛечeIия аудln) jlРl'l l{ollxPoванIпl ilyЛlIоДrlсI((Лr (Г()J]ъ.ко дJlя Сlоnс сD) въI6еPпTе в сoотпет(j,|вl.l].l сo сtsOrllш вrq,са\flт li п.rтpe6l]оО.я-!]l,1.() }ro саrlос oTносптся п JL скoрoстj] Ч1.сIIr1я,

Ес-,rtr в rrpouоссе коппровaнrtя о6паpliлrrтся 6ольпloе lкlличeство oш116oк' ох-.ra;кдaющих бегyпок пpolрeссn j r.artlr{C uNlcнyсrrыri <.градусr rrrкoм>, до а6солroтнoго t1у'liяl ще.riкнrше IIa кп()пке oтMeна и задeйствyi]тe Прoпyск оU]ибoк чтeниЯ(Ajrкоro"tЪ) п"riи v]\'e]IьшЛ1е сче1.ч]lк пoвтopoв /lo пуnя (Clonс СD), испo".]ъзoвaнIre пaрамe'Гpа БЬiсгрь|й пpoпуск oL!и6oЧнЬLХ 6лoк0в (A-'lкоro.']ь) xлll УМнoе скани.poваHиe пЛoхих сeктoрoв су]rrссTвснflo ускopяe'Г к)rIl]poванxс, но

Page 390: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

6рaчныe Игpь! лазернь|х дискoв з91

yве'цичllвilсT р11сt{ пpol1vсIlа <пPавилънЬiх' сектopоn. CкoDrlрoвaltttilя tll.Pу[ll{а

в lIPoцсссс кoпIlРoванпя lIо'{ст з^впспуть и сilll к()lnrРoвщик (lU]tlj I{aк ваРиаIrт лыJeTе11 з:l пpеr]e.nьI r.lиска, llачаTь (Тpoч11т! 6сскot'счнol:i oчeрелью сбоilпьIх секloрoв), Этo. д!фскт jll1i( Pазра6oтчIrкoI,I llrяnl]o зnк.Ца]1ьt!ак]цuхся]tа ('цllrnкol,1 вoJlьнЬ]с дoпIщe]r]lя,I,Iспojlьзуiiте l1Pугоii кolll1Р()9щиl{ (С]oпс СDnп1сстo A.!ко гoJя l IjIЛ ̂ jткoгolъ в1Iесто с ]о п е с I) ) ' ]1пoгДа эТo ] loru o1.ac'l.' xO ч arцснст' тдкоii дliсrl пp]lходптся кoпп1)ов:lTь <(ру]{аNol'' iu],l чсгlr llPсдус}lоТpсllьl

утIIлrпъIсd rаl]'гeаd'se€k аnd-Qll сd toс геаd' Рaзl)а.ю'rаi rr] ыс а gТoРoпl (P] I( ' 24.3)n вnl.Ло,lсннь]о rпl a http,/kpnс'opennet.Гu, B <Teхrпll(e Заu(ll')n сD' J ro1.воllрoс

I U ; l " н | o d . , , j ' . 6 ' o . ' l , | ' l l , ' , o . < . \

Pис' 24.3. кonирoвщик, разрaбOта!Hьй автopoм, кOiирyeт диск, защищetrнЬйstаtrfоrсe, рекoнстpуиpуя сrpyкryрy спирaлыroй дopoxкЙ

спяTьпj o6рaз N{.Dкeт 6]'Tь lте]\|eЛлеlпlo с]! oптllРовaп lla э]\1yJlя'Гор ll liРоIrеРсп пa

ра6оT(lсп()с()6lloсть в yс'lloRЛях, пр]16'lllrxеIlIlъl]\l к 6oепьlNl. BозNiо)I(]lъl с,]eдyro'Ilцlе варrtarlтьl] o6pш Niоllтпpvlrтся' IIгрylIIIiа lIoР\{aлЬrro зlпyскllется п всс l,tдс'Гot(i o6pаз \1о птпPyrтся, r lo lгруI]lкr o,Гк:Lзьrrraется пPI'зrlaть сlФпrDоrr:lI l I Ьlii дIrсrLс]rоllмiо6piз ] Je i!1oптирyeтся поо6пlе вьrлnвaя соо6пlе]пiео 1.()ii l,IЛlIrllIоiiоnпl6Iiе. тartоe с эм]ljlятора]!l]r чitстo 6ьтвает. пока вьrсокIrе ILPvгI,l llo xрlrпo'Гьl спoрят'! 4 : | е Г , | , , i , n | ' ' q n l j l Ь l к n i ] к i \ l P | ь , ' , , n l ' | ' ' i ] , l р . v ^ , | . F , l п , ' ] , , Я | ь ' , , , | ' ' l о '

щurr зallPо(ro (lll1мсT l.llкoi;i ()6рaз, (o,l.ор!lii хpсtl xol.oм сoгJаrxacТся \1оrlltlPo.вать, Ес"1ll TаIr зa.lсilтc сro (06Раз' a нс эl'уJIяToP) на сD R//RW n запvсTll'lс

ул{e oттvдa. все PaвI{o l{е Pa6oтaст? Bот чeрт] Тогjlll за]lеiiствviiтe чтеIп]е даIrIlьlх пol1кi|lIалoR (eс"1ll вalII привo]l lж ]lеiiсTвитеЛr]по ]ll,Jтаer), Есi]t Il jTо llе по

i!1o)rсеТ - оTкa}ixтссL' oT <pelсilеpаЦи11 ссl{тopов сда}ltlЬll1ll' (Tо-,lr,к() /1'!ясloпr СD. llpll эlorЧ ltoРpсlсцxя oшll6()к до'l],xl{a 6r'lтЬ oTrrЛючсllа. ч1!' trсTnтll г(!IlоDя, пo'цдeр'dlваеTся rIе nсеl{ll гrpпnод;iNlr,' ) l

'Гaк каIL ]reгd|()Pыe irа]цl]тьI v\tыrIl.nеlr]lо вIlосяTvсTрaпrпllь1е ттскажеппя и lтрliвязЬI]raloTся it ]l].lNl ( or.1пrк.r тaкЛ l п\.тЪB F ' ] P , I l i l | i o | , , l ' | | | | o o | l б о r | r i ' , A Г l l l | ' ) { | n | i | " , j . , \ " | ] . | i ' , , , , l ' { , ' ,

Page 391: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

392 rлавa 24. бpачнь|е Йгpь|лазepнЬх дискoв

в.]аN'()i' кi]аiiнсrl сJ1учасзадсlriствуriтe Измepeние пoзициoниpoвания данllыx в Aгю гorrс. в ь16Pав Irpсдпo.Iтитeлънyю тoчJroстЪ п.iIrеРrllиii (оua зaдастсЯ в нaсТpoir.l;t]х Llllloв liаtlrtъIl),,r]oгичllol чтo вьiсIllая тoчII0с1ъ о6ссllсчl1вaсI ]lзиaYчшс1]

тнпмaет 6o.iьпJе в|емеlIи, По'llvчсннaя xoпrlЯ яс rlo'iiсT6ыТь запи сalra нa СD R'/Rw кalt o.лnчl IьJii ]rиск lt pабo1аст тоЛькo в lI а Pс с эl]у.JlяТopoпf. что сoзДаот oчевI{дньlе пPо6.Iеllьl гryll расt|РостРaнснll],! с]rопrlP.rвaн-|]ь]х ]Ll]с]iов. l{ с'(o!\'сl{aзаTь, тpетilii stаr 1orсс lrе кoпrrpуc,t.ся A-'llсоt.o"lсrr' по rrо.пjrpусrс,l Blirrd Wгitс, B смr'с'rr эlfyлиPyется. B|]]x1WIitе сtlx11асТ t)6pаз'кo'Гор ьli i ,1orr nicн 6ьrTь с\IoIlтIIpoБllI rrа вlil)тy[lЬпЬlii Дисx A!]r0гo,rЯlD'Тоols.

Дo с ltх пoP м Ьl гouoPl Iл иpоIrnl t и 11 д и сl{otl ( jraнllЬl]ll и, Тс.ЛсPъ псР€iiдeм l{ a),дпо' Еh1 Сlоne сD' IIt.I AЛкoг('tЬ' lltl Bljп.l Wгitс д.Il, пo.IlY!с,

Pсxь J rx ' t ] ]с ]L l l с . \a l I l IЬIм| l ' a аynио кoI lирy l ( )T <( l ]oсТoЛьt{у ' l JoскoJ lЬ l l y ; .lIс пo'(ьзv ijтс ,! J()бoгo к:t.lестпсlllrl)гo ayЛ]rоry16lгГt]J|'l' кo'|oPr'ji tlili\1l]() ]1}rп(] (IIil.J|рJ1Уср, I]r\C от httрi//WWW'exасtаldioсopy.de/)'

.l.ут' ltllrпда, ссть rl,iLпa ltlхlбtrома.

I '1 jx ] i l l с зn l Iu i l l к ' |ЛIысn\ 'д l 'одI l с l { ' lлoo6 l J l € ] I спPor{г l )Ь l l l аxЛсЯxI rсс l ) . I tО]\4 'ах 'rt() llopllit.nЬlIо l()сI|Роj1JlroдЯ1.(}l в tLуд|'loIlсllтPnх, ItoЛЬ ско])o ,ll'lск llt,,'lь я ]ro(r I i ) i ' l i ]в .с l l l , l l ( ]x l ' з ' (x . ( r l l с l ' o ] l l l PoваTЬ, Так lот . Pассл l ] , l l o l r l l | | | l с i | ( ) l i а l l , l ( ) ' l r ' Г ( ) l l i r, r i l I t Iх r :1 l l ( : l . i l I I l с l l oЛ l , l l vс j . (я кас ' l .P I lPоRa t laя вьrво , .Lпая o6лaш.r , ' v6o l rдaк l r l taяl l l x l l ]o ,1 l ч ' \ ) JФ l l сцдII (к i l I lnход}rгс , | aР l |6 ,1 l r j з I l ' Гс ] lЬ l Io l i l l 10 : ]0 i i (1 ' l (у l I ] t с о , l ! ' Г ( )l l i I Inn i . l ] ( ' 'T l l o |6р() f l j ' Г r , l |дс l ( ) } lо j l l | ( ]Л, I rа lo lЛ I I lюп l l lDJ r l t I IPI ' I}oд; l как 6| )9ц)| |y l ( ) '( ! ] ' | . i l ( : l l | ' ] l I l l i |Ь ( ) l l I l | | ( ] | l l ) с06 lпJnr rv i l . - ( гoPr lчn ' | i t l tN l0 i l ; l> ] I0rYJ la( ,N l rLс l |к . | l | , | i i l ] | ) ] I '] l , ' ' , ' , . ' ' , l I l v l , | ' ' l ] ' 4 l | l | \ | | ' ] | у , | . l , , | х : l ' ' | ' , , ' , . i i , | ' , т . | ' l : . !

к l ()I l l | |)xr ' r r : l ) ) i }tс l r |] , r|яo l] n() -v|кrР" l за6xть l j i какrr lг r r l rбудь 6aрl tх ' r roм дrrск (к.r-] { | l I ! | l I o | l р LП r1Ч l ! ( ) ) ' l I l l I o I l ] j | с ] | a ) ( t ' l N l aя к . ] I a в l l l ] I v , ]Ь l 6 l ) L ) с a J l t )T | { i t ' i l к кvР l l T Iю с l I l 1 .

I l 1 l l ] I I r ] | 1 ) сo In l l I l I l i ( Cn , l I I l ] L x . l r B , l l я c l l дUск l к ( )Topь l i i ] | t tм l I " l l L i J ( l { ou l | ро t ] l l ' U , , (D l I L J .

r ( t l l ] oT 1 r Ч l ' j ! r : r I l ) l I , L . i L r ( , l х i \ l ' | r t ! P ( r | ] t l х l ц ) l I l l l ) / ( | l с у i r ] l а сT ( ) d ) l l кTс 3 l tN | с l l Ь r ] LL1ск l l } l ] l с

" 1 . . r I

о6рr , r l l aс - гся r r : r 10 . i i сс r t l , r rдо . Пoдрo6r lоc oпr l сar r l r с , r ' с \ l Io j !oг I r l ! i r . ( )ря .Lс i i з l ] \ l .||ЬI' ,|р06Yc,| oгд'дJll'Ilоil кllllгII' а сrl"lчaс прoсTo Лов'l1e jlLсю,

Tс\1 врсlJспоrl ruьI Лo6раJnсЬ lt,1о lroпРoсoв заilJtсп, :]апlrЬ,,' кnза"r]О(lr 6ъr, lПt)

] \1о , ( "Г 6ь lтъ п] lо l l te l А воT l I l Ieт l в ] lятЬ хотя 6ьr пр(]бJ rему , l ' 16oрx Pс ' l i l ] i \ l а .liАw DАo . pсIФ]\lс llЛil lLrr l1 .ЦУч шrlt сtr6аl{0вод()в (<.(tlcЦов' с tlnnlцal1]1I1 llort.Iаj\lLi) lloJltl,lii l{онTpo.'Ir' }laд IЦOцсссоIl xрояllГt'' t'o I' Gа с.lсTвн.rшltсю ''сToч-lll1l{ll сJ11l)iPо1lrIзxцl1l0 хPсlI()1]()с ltaчссTtsо заnисl1I liAW s^o фуultцllollaxl,.lIЬx] вoзll0жll.lсTl Ta]i сс6с. зaтo rt каvссlтву пPсTснзItй нcт нпкaкllх, ]loэГolly,rlvЧ]xc нaчxI]ать прo'x1г ! RAW sАo 1l тo.Iькo в с'!vчaс lieудaчrI псpcхoдIrTь н.lR {\\' D \О,

l{llск!l' защuщснныс lto тс:'но,.tot.ulI сlа6ьrх сcltтopoв (нaпPиNlеP' SаtЪ Disс 2)'o6t'арy'{I.Iвaioт oдI'y очerrЬ }lепpпятнyrо осo6сfirlос,Гь. A имеlIlioi оРЛгrп]a-1ЬпЬrr:IдlIск 'lrттaeтся 6eз onпl6o]i' llо кoпI,я ol.азы!aeтс' <укpаrlrсннoii' 6oЛЬшшlll к0-jllпeсTгlоill с5оjil]Ьlx сеl{.loРoв, тlРrшoдrщ].lхся altl{уpaT нa к.riючсвыс фаiiJljj, llo-с]t1.с,rlЬ ]]rссr' нс nРll чсNl, 11сToчrrlшДсфcктивнoсш в rlрxвoДе. нe вдаuaясь u теIнrrчсскllо подрo6нoстrr' мo)x]ro скaзaть' чтo сylцествуroт кaк 6лaronplrя тt tьt".' такп нpсзвьl'таiirro нc5лaгoп pIJятriьIе пoследoвaтejrЪr]oстli 6aiiтo8, нe6JlaIоr| рrIяT tlъle

Page 392: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

брdчнЬe rpЬ лазернЬ ' дисtsoв

ioсJrcдовaTeльrlостr' дoллolьi запirсыватЬся rraд]Iск ос116ым спoсо6oII, Пoсr{олЬjl}'при Jropп{aJьIlol\J тeчeilЧидел пстPеча с nIrlIп кРaI:пlе If:LrтоIlероятIJa' бolъlIпr'iство прlJво/iоB 1lпroРирyюттiх сyщeсТвоsaнliс' Cyil{еспyeT пo ruеllъIile ltеРе тl)lI

]lут]I l]ешe]]rш t1Pо6лeN'ьl] вЬJ6росrпъ пРt'воЛ и кyЛ'lтЬ дpy1.oii Ilo'1учl]lе l| пo-

\'j\ll]Cс; ско]Ir1РоваTЬ jl!lс( tlс ]]a сD-lt. а Ilа сD.IiW (lLpи заlrrrси о6рaзa на rrсpс.sапllсьmarl{Ьпi носитсль пPпвoдьr o6l o нс6лагoпpпятньтхIloсj]едоnа.Гельrroстях' чсro праItтltчссl{и нпкoгд:1нс дсЛaIоT 11а сD.R)] :ul]]IвIl-

l)()Ilnть паpапrетр {yсилeнпяl с"lа6ьlх соктopов в Clonе CD (y АЛкoгo:тя это зo

]]f],.я oбxoд 0ши6ки ЕFl4 в llасTPoiiках зaппс!I), как ваpпаllт. l'о'(fio rIспo.iъз(]]]l|lj' ре)кi rN' J]UYЛяЦиlr с.1а6ьlI сеrtTо poв в с1оЛс CD oD 6оЛес flаДс){сU, I lo трс6yс Г

L D Т ' ' J ' | , | | " а | о . U с i i , , " | | | , ' "

Ilспo.]IЬзyilто сс вссrда' коl.lLa (кoIlllРoPilнtlь]ii дj)llбoтаTr,, БЬrtь rv.лет,:{rцllТа llpoстo ollPашjlвaс] 1ll]l дIlс]iа (СD-]to]\'l иllllсD R//RW),Ill)ll кoпllРоDаlIilli Лr,iсl{ort' заrrlll]ц01 ьlх llo Iсх]loJloгlllj LiЬ сГvp(. Л С]L]llс СD усrаrt()|rli'гс (])ji.l)(nL He вoссrанавливатЬ су6каналЬl,]Ьle дaннЬe (R r\nl{0г0.riс /lс,ll:lП]l I l l l L f l ( ) l l ! l l i l ,Ф ' ' |ак к i l к о] t сv6 l ra l f iпЬ l l ь l c д .1 l l l l L l с l l l t кo l ) (a I l r l с вoссTa i Iа| ln l I J r l l ст ) ,

1] t l l к ) l l (ц , |1( ] J r6 l , | l rа j i ' r c ( ' l ) c 'n |м l l х ) l ( стР l1 ! ]пrY .1я i l j l I I , актI lBиPус l1| , l I R ' I : ]с Ц]( ) i i 'iiirl ^,llк()l.о'('l Э1.()] /i/,lи.' (Dо(xn:r,,ltlпllс oсo6сlIliос]сii сryYк1\,pЬJ сllrI]ln'll,Iloii

r loP lDк l ( l l ' ] l | ( ' l r ) l х ) i ' l l l ) l IR ' i3ьI l1а l ! ' l Lя : r i l 1 r l r I r ln т l r l ln сd .сoPs l l s tnЁ l{ ) | (с ) ' x jv , r ' .

l l l l я I |Л() r l | ) i . с l i ] !рoв ( |{ ( ( )тоpЬ lN l I lр l l l ] , l зЬ l l ] i l l ( ) ,О| ] l l l l u | l L , l l l l I l r s l l 1 . l ) i sk ) ' i ) I l v

' Iл| ! |n сцбх{u| .1 ! ]ьxь: . f Й , ] l l ' x ( ] l | | ru | |Ри l1я iЛ, | l ]L l (x lL | s i x ' t l " I t ( ) IV|) l l ' | | l t i (Лк ' I l ' i ) \ |y .

; | ' | | \ \ | ' I ' аs (1] .oоI ' | | \1с\o| l lo l1) ( |вoис1|oJL i |4) l I . r ( r ( . l ( j к ' t ) с ( ){ i с ] | l | (х ] ' . r1 l ( . j l ( ,Пr , ск t [ ] i l ' l l ' '

с |oпс с I ) с | Iр i r l rЛЯс ' |сЯ с ' ГPo\]я | |0сЛсЛl lим l l l |у | l |{ l i rn l | | Taк ' | | ( ] | lр l ]6 l , l .n , l i ) ] ! r I .j | , l l oр i l11 ' ' l П) су]цсс , l rx ] l l l |o y I ]Pо l l l 1 l сT I I ( ) r lыJоDi t I r l l 0 / ( l l скоr \ l ,

сoвЕтKoпирование и запИсЬ всегдa слeдyетПoдAерхиваются nрИводом' в идeале

произвoдитЬ Eа HaимеrЬureй скoрoсти из тeх, Чтo_ !а 1х' ка( гoвoрится, будешЬ тишe - дOлЬшe

кoпиPoвAниE дискoвlllltl6o'r|(]с lI()|IyЛяРI]r,lе заlцl''ГIrЬIe \1сxанI.Iзllы кolI!lpoваl]Ilя сoбР1lнl,l в l ll.r'll, 21,1,

A xрrlм(]]'n lаlltl.lт от кollllPoвaнlн нскoroPllх 11ГP - ts1а6'r,24,2.

Pис. 24.4. Диск, зaщищeнныЙ тeхнологией сасtlsshiеd, нa пpисутсrвие кoторой укaзываeтyзкoе6леоящее кoльцо, paспoлохeннoе вблизи внeшнейкpoMки диска' oтсюда tачиtсoдeрхИт мeрзoпaкостNый сиЛЬвo схатЬ й mрзотвратитeлЬвoгo звуЧания' АккурaтHо эачeрнив еемаpкepoм (или в0сп0лЬ:oваsirrисЬ ваPиalтoм <ЧтeнЙЕтолЬкo пeрвoй сессии', мЬ| взлoNаеМ зaщЙrylдoбравuJисЬ дo яормалЬнЬ х ёудЙoтpекoG сD.кaЧeбва

Page 393: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з94 rлaвa 24' бpачнЬ|е игpь| п.зeрнЬ х дисьoв

тa6лица 24.1' HaибоЛee nоПVляpнЬ e зацитные МeханизмЬ

сасtus shieId

!ibсryрt

(p|'1с' 24'q)

к ним (pис' 24,5)

сDсoPs'DLL'*'Gz- и * W'Х

LАsERLoск

в рeжимe (нaилучшегo>каЧeпв. извлечeния .удИoсуФан0вленным флажкомчтение толькo пеpв0Йсессииl ЧитаюцИЙ пpивoддол}€ir уметЬ в0звр.щатьукaзатели на нeyоpанимЬ ес2 oшибки (<.касус,с кaсrриpoванным Lеаd.outхачится только к0пированиемс<гoрЯчeй зaмeной>, то eсlЬ

па нeраз6oлтaн!o1Ч гlривOдеэмYлируется Алкoгo,reM

э14улирy oтсЯ Aлкoгoл.м]

поддep)кива|ощиЙ быс.lpыЙ

(Уnp0Ureн|rыe вариaнть

AлKогoлеМ и сlone сD

деQепиввьх секторов _

пpивод/ позволяющийoтшюЧить кopрекцию

с вмючeннЬ liи oпциямиЧтeHиe с./бканaЛOв

субкaвальнЬ]е даннЬe(пpoжиr), читаюUrий пpиводдoл'(еH rrоддеpживать

даннЬlхl а записЬlваюций _

peхим DАo.96

Page 394: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

6pачнЬ e игры лaзерHЬx дискoв

как pаспoзнaть как скoпиpoвать

sаfeDisс

sаfеDisс 2

оо00о001.тlЧPсLсD16,DLLсLсDз2'DLLсLoKsPL'ЕХЕ

сl,1s16'DLL,сNls 95'DLLо'с l1s Nт 'DLL

кoпИpyютсЯ Алко.oлеми соnе сD. Читаюций привoддол)I(еH поддeржи вaтЬбЬ с|рь й ipoпyск oшибок,а пишущий _ пoзвoлЯтЬотклюЧатЬ кoррeкцию

в pexиMе yсилeния Фа6ыхсeпoров или AлкoгoлeMв рeжиме oбхoда oшибки ЕгМ

и Aл (огoЛеl4 лри yФoвиИ,что задeЙствованo чтeвие

ва нePазбoлта!!roм привOдeэt4yлирyется Aлкoгoлeм

Pис, 24.5' Диск, зацищеннЬ й пo технoлoгии Lаser Loсk, видитe рЬтвинy пoс€рeдИнeспиралЬнoй доDоxки? Этo лазeрная Mеткa и eсгЬ' Фoкус втoмl что эта меткa нe прeпят-вуeтЧтению сесopа (такие AeФehтЬlмикpoпpоцессoрnaя nачинкa пpивoда легко исnpaвЛяетзa счет из6Ь]тoчн0Фи кoдирования)l вo oбламьвaет слeдящyю сИбеМyl в резуЛЬтатe

oсeднюю дорoхкV' 3ащите осrается лишь пpоЧитатЬтекущyюlloзицию' и eФи при Чтeнии шючeвoй мeтки мЬ всякиЙ раз Фетaем на 1r доро)kкy,диск считаетсЯ opигиналЬ|]Ь|м и на060рoт' лoнЯтHoтeпeрь, почeмy лрaвильвоDеализoвавнЬ й Lаsel Lосk нeвозМоxвo скопирoвать, а MOжнo тoлЬкo rrpoэМуЛиpoвaтЬ?

Page 395: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

з96 глава 24' бpaЧнЬ|е игрЬlлaзеpнЬх дискoв

та6лица 24.?. ктo eсrЬ хy/ или Чeм зацищаютдиски некoтoрЬiх иГp

simсityз000вlood 2соmmand & сonquег 2 тbеriап sUпDiаblo 2

]чiqht & N1а9iс 7 мопtеzurnaэ Return

seсu.RoМS.fe-Disksаfe'Disksаfе.Disk

sаfe'Disksаfe.Disк

и}|тЕPEснЬIE ссЬ|лки. http://WWW'сdfreаks'сom сайтДля llасIoя1цих взr]омril к()B сDj здCсЬ rIожIlO

llаl|тl| всс .- oт тсxнoлoгl{lr дo хaкеl)скllх lIPoшllвoк I] l|Pо'(l}llllутol.o (oфт:li

. http://с|Ub'сdfreаks'сoгir ' 4)оРyru' г/te Tусyx'r(Lt мaТсpъll] llз,llоNl|]lПкll сD tI гдсвсег/ta ]!{{))кllo ]]с1.Pстит' yivl l l ьlх .пlo/(eii] (Iк)сoбrlых Pазo6PaтЪся B !аluсi1 JlPо.6лсмo;

. httрi//Wl^ry'bа|vаnkа'сom.!а _ IlPoстo хоlolll c с1.:(l,11 llo Bз.попlу;

. httpi//W1..vW'а|сoho[soft'сom сir ii1 ршpа6o1rl Iro в AJI(оГоl,t;

. httpi//Www'elby'сh/en _ сtLiiГ Р;lзРItбorчlltor с]опe CD' ts свя::и с lrзllсrrсlrlrr:rrс l ]р0! l с l , | ( (oгo 3а l lo I l ( , l i f | сЛ Ь( l . l ]а l за l I ] )с1 . l ID l l l с l1 ) кo l l11ров i l I l l ' l c i l aп l r | l Iк ] | l I lЬ lх/oIс(o l ] /{ i l ) toDaРх | ] , lЬ|хцcJ l ' l х 'прo!ктзa l ' ( ) l хDкo l lUBсc l Ip i l в l l | |o j )q(аL lы( lЛ lр 'мc s Iv so i t ' P . l ( : l IoЛoжс l l l l o i i в лаЛc l l ь r (o i i oс 'ГР()вr lo i i стpn l le , сc i ]ч l l с l I i l . l r ihсN i (л i I lо п i l i iT l I J rиI I lЬ с lo l r с DVD' кoп l ]Pv lоIц l I i i D\ rD дI , l (x ( ! i ;

. http,/!4/Ww.s|ysоft'сom/en сaiгг пolllrрxкl| кotrrrpoвIlшrс.r Сloпс CD;

. httр,/]^'WW'Vso-softWаre'fг _ сaiiг pа3paбоT']икoв кonlЦюнllulка вlinа \\rгite;

. http://Wи,W'dаemon.tooIs'сс саiiт PeзРа6o}lItкoл эlIулятoрa Daсlnоrr.Tools;

. http://WWW'сdгiеdiawor|d'сom/hаrd!,vаre/сdгom/сd-!tiIs_2'shtm| _ с!aЛка otlРсl{с.ЛllTeЛеii :]]ulLr]T (fl с фаjinoпoNlоiiкд)'

Page 396: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 25

тEсти Рo вAH и Е гl PoГPA]v| 1-l HoгooБЕспEчEHия

I}е'|uc уou сапс!еЬug,уоu |||x\l Ь11вs!oсн03нoЙ принцип тeОиpoвaния

l IРоц)a iv rvI l l , Ie { jш116кI l кoваР l I l ' J и зЛы. с (oJ lькo Ot l i a l уб f in j | х ( lPоп lих ] lPo(] |C

1оl]I скojll,rro r]РсruсlIlL 6ъlлo уr.Рoхапo Ilа I1oЛскIl ll]jal]ll.rul х 6aгoв, зa'r,аlIl]||lrlх.

с'] n засa]lс !l вЬIскaкllв.llлlll,{х в() |]рcм,l дсмо}lстр^ц'|'I пPo/l}'I{'Гir зllLа]]чll|ll' 1l()

пPо1.ра11I1rlсT хll,ryeo l l 'гсp пе".lпвсс, BoopyжсtltlьIй сttвРеп'0пнЬlIl IпlструNlclI'l.,1

РlIol1 дllаi.lloсTrl]tn, он вPljзаeтся в саllloe Гнсзд|rлпщo 6агоl п 6ьcr Ilх l]аlloвiLл,

в срl]дliеNlтrсТUР()Raнllс oTllиN{aоT 50% вPсllеllli и 50% сTоrtl"loсrll (Л'o6щсii':мc

,|ьI пРocl(.a (()6яза'|eлЬпo yч'l,ГьIвil}i1.с )тo, зaк,llа.цьIвм 6!)r{)r{eт)' B &)пъIlIих к]NI

пilпп'х (]lrt.]' I1}Nl' Мfuгosoft) за кa)кдьIll paзра6oтчIlкоNl закPс]]ieн JrlЧllЬIn

тсстrrрr lвпu пr. l1РoпI,.lo 'го врeмяl, когла этy ра6оту вЬlllonllял втOРосoРтнDl] ]'Ро-

трaпlп!исT' кoтoPoгo еnllr нс 11o/1пускаЛи к саl{oсToятоЛЬllоNlу кoдиPl )8aнl{ю (Nlо.]l'

,.р.,,.д" o"n, дouy.".n'o "вorr

ошп6кrr, сrta.laла пyсTь учl1т(я lla чу)ких), ссlод1lя

l.eстrlPoв]ll}1к этo вЬlсoкorrв:rjlи4)ициPoвatlньшi l'i хoPoшo оlI,.iач1lвaейъlit сllс-

цll:Lllliст' в yсЛyl.ах кo'l.opoго llyждаloтся тЬк]ячи фирi{ и кoroрьIй ttxкoгnа нс

спдит 6ез Ра6отt,t,

к о | . t ! : ' } l . { ] 1 } ' ) | , I l o \ , , з , l ' | | н Ь ' ' U | | | - п D o f / l , . : l . o ' ' I l ' | | т | | ' п p J l ' | | | | o Ь ' , с

!еarrизацпи' тlrсl 1lрова11]1я !l пoддcр,{l(rr' rrс всt]ьтel Tссl.иpoванtlе сопpoвo}кДa

eтпрoскl.всrо сrо }кIlзtIь oT NlомеtlTa poжДrния Дo саNloii сNlерт!l. tlPoскr ll ров

ц , l | , , , , | : Д , | в . ( , \ | F r . | , : t ] \ ' Ь ' . а j t l о , L , ' , г н о l . , 1 ' у | l l U n ' I n n ,

инфopмации. 1,aзPa6oТчllк тестиРyeТ кaждуIо зaпPoIРамI11rPo!аllllуlо I!Il4rунк

Page 397: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

яиe ПрoгpамMloго 0б.спечeния

. цпio (тост]Doвaнпe ]1а п!lпiр0уpoвпe), Ботa.l.сстерЪl llpогlер,tloт рa6оTоспoсо6-lIoсTь вс€].t] продyr{'l.a в цеroNl' У кaждоro ltз нl1х llоi|}iсн бЬ|гь чcтItи i.i rl'iarr 'цеii-стпиlil в пpоTuвно\J с]ryчаe тес|l{Poвnll]1с пpoва.Ir]lтся. сще пе |lачавlII]lсr',

тЕстиPOBAниЕ нA It,|икPoyPoBнEB Irnе .rtс л.1я кa)кдоii 4]уIrкцrl]1псхoдtlоro кoдa рaзpа6a,гьrвастr:я rlа6ор ав,гоlraтliзupo]lаllltъ]х TссToвj ] pсдI'азllачоIlJlЬlх дJя rrроверкл cе pаijoтоr:rroсo6пrlстrl,. ] \ Ч , | ' F i ' , n | , ' P \ l | | " l ' , ' | , , | ' , ' i U , J . | * ' ' ' ' , | | ' ' i i l ] ' , l I l , , I l 1 , ' t ' I r ] \ j ' ' , , c ' ' , , l s | | Pперсд нЛ]\llt за,:Iачv: РaзРn.'от:lть Tакoii пpпп{еР' rrа коТ()Poу lil]цlI{Illlя rlPоnаnlll..ся' вoT, нarlРlll'eР' (i)унIlцrrlr сортlrpовки' l1pостciiшлii rсст в ы llrя,rl n. ,riк, Гсrrr.Pирус}I пРollзвоЛ|]нЬI€ /lаll]]riе' J|Рoлorl}lс\] чe])( /1.ЦЯ l{rжjroго i),]lс.l l i ]н la N tсJoJJ l l с N <= N+1 (N >_ N+l д . r lЯ сорr l lpоI ] | l | ! r Iо y6ываr r r l о ) l r стпr l r ro 'с . l l | т l l с I{ ' чт( ) 1сст пРо l , lдcт прм lJJЬIJq . но l } ( :дЬ этo] . rссT l r сЛраПi , l ' ' l l , l lЬ i i i | ]k !6хо, l ; l l t r l у6сдr r rь r :я в т r lм , втo r r l r rьJх( ) ' l с ф\ , ] i к ] lU l J l l p l l сутс |вуr0] . l l (1] j l сх( )д| lь l с л : l I l .пПс п I le , I l l l l чс |1) Л l lUI l i сГo l l , { l l о r r l с d)vI l | iц l l l l l ] ( )P l |аnЬ lю с( ) l ) l LnvкIГ ] l ! слть I l 'ц l tдnlrrc TЬlс'lчy i)JlсмсlI,l\)вl нo сlJ()TЬIl{ilx)|(Я ll;r Oдl|()N Il.цlJ Лll}х k)6l,l.Llrо э го irpоllсхo/ l I l l р I I с ( )P ' г r , ln )вкс п| l ]ToЛоN| дсJс l l I i ) l I I i l l t ( )п( ) , r I rм) A (сJ l l | 6у ' l { ) ' Г l l ( ) r IL (oрT l I -Pvсs lь lх ) , l ] сп le] |Тoв? ̂ ( \ j J l ) I од|| i l ] l J Л l , l ] ]Ь l i ]аoN|| , |х ( l )y l l I i lU i i i ( j l ' 1пI ) l lN l ср ' nа]1oс)}0JП i )nTU ' iо iL l l r6ку , - с Iк ' l {o ,L . J1I тс .сT l IpусI I i l , (hyr lкцr rя к r11)crL l r r l l с r : o6р l16отaть it ' , кo 'Цьк() l Jpc\ j c I I l | (с l | с10I l l |Ь lх P0сYpс() l l ) l Ioт|х '6)сTся | l i l с l ) | ) ' l ' lЧх) l r I (у ] \ l l l ] ( с | | l r l : l ' l l ь .l Io I loзN lФ l ( ] l ( ) ] .Ч l l сЛ i l ) . l J сN. ] |1(Л] l ) l ]&Лlp i l8n l l l J l0 l | l l зкa ' l l р ( ) l | з l l ( r , l l | |1с j lЬ l lосTЬ

L} ] l LссТ1]уeT , ' l t l , t o ( l l IoЛI]ь lх l l o , ,1\ l )nа I t1 t \ : | | |ро l r^|| | | | ( ) ' l сD1] , r1] ] l6 ( ' ' lЬ l i i ' u l l | | l | | .l I сp l |ъ l i i я l r j l t l ( ' - . )To d)v i rкц l rя r l : l r r r rрьr l . r lл r ( ( ) / lo I l l i РОJ lcpк l l l (Лr r l ! )Гo с l lo ,ц ' lTсяк TvпоrЧv I loРo6()Pv ! . сх l l oм6] l | |L lц r I i i аPгуrvcr iToв . o . | t ' r l l l , r l Io ' . |Г0 пo. , ( | l l ] , ] r ,1 Iоr l l с ( l0oJ l , r l l l I l | с , гво 4)у l l I l IU1 i i t lo l to l . у ' L 6ъr l ь пpотсстr lPо l ] t l i lЬ l : l l l l )азvп1 l loс вPсп l ' ( r{oJlll'lcсТвo кoj"]6ttIrllill1i] с',rlu!кoN l]сrlrlkо), 1(on 6",uo.n ,ur,,u. ''.o".'..'i' u '"..u'l)()IJщlll. N|o)ltст Ц)сPсilo1.OчlIтЬ (]Пoc n]lI]\laнllе ]la lrогрalrll.пrl'rх o6лаLr.я х. ,]i{о Lrvс1 l IN l ' в фvпкц l l l I L \ l |Ь oгра l l l ]чсп с l1а пPcдс- l l ь I I l ) д( ]п !с1 . l l ] \{у l0 д] rпI rу ( .1 'pо]( l lв |'A} LЕNсrlllп0xoв,TоlдaнаДоTr|LaTе]lllloпсс.I]o/!оllil1r,стр()Jn!вMАх-,LЕN.1,!1А} LЕNI l I4AХ.LЕN+1u l r tп( )лов 'пос l{onькуo lu1t6кt lв<1]6а i i т>.oдп; r l r зсап l l , rх l rопvляp.

TсстДoл'Lеll зaдer.lствoвa'ГЬ всc веl.в]] пpoгpаllllьr, что6ьr лoслtl сгo пьnro.цнепttяlIс oстillolx, пи oдн.]ii tlсзаЛeiiсTвoвxlrнoli с1рoчкll l.oдir. сoo'rrJol Jснltе In)lLа, I{о.тoР'lii хo1я б'] Раi] llоЛvчn]l вьiлl)-'1нeппе' с о6lц,lI1 l(ЦoII пр()l.Pаrli\lfi nазьIвaeТ.сЯ ЛоiLpьlTлсп{ (сovcгаgе), и л-пji сro пзмcреlll],l пPtl/lумalIo llно,rе(t.вo l1rlсTPyпIсIiт()! оl пPоq)иJrllроllцIпloп' вхoЛящиt в !rТа.ГIIш]i ко11lljlс]iт lloстaвilикoIlпIlJI'rToровj Дo сaмостояTс,пьпьtх пакeTоnj -{уч]rЛlill l'з l{о'Гоpьlх явn']стсЯNtмegа Truе сoverage'l . r з ' а 6 ' l а т | ' ' Ь | , \ ' ' l I r р | n в . . l | ' J I l | ) | | | | : , р | , e п | ' , q ! ' l i , l , , ' l J . | у | , ' J | , 1 6l ' U р Р . , o . . | | з , l ч n l t ' ' r " o : 6 л r r а " r v " и , , , ' j , | U | Ь ' ] | , ' i i , ф

. l l , l | ' o , , ' ' ' , - o 'чTo 3 Реа]'lЪIloji Хrвllи к нeii шpи6et.ают nulrь в lrаи6oлeс ответствснпьrх слr^lа.

Page 398: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

яt, ФункцЛЛ с пPoсToй ЛorпIioi,l Тес,LrrpyютсЯ <вl.13уалъrro>, BoT xo}o\!y v нас

в 1 , , М l , , , п J L n , ,

BссL1La трilrlсЛпpуйTe прoгрaмNly с пaкс1l11а]lt'l lьI11 уРовнс11 пpсДуrlpел!iеtiиll (ДJlя

14кr.оsoft \risrLэ] с'i.+ это кrlloч /l,J4)' o6Pilщirя r]lirirlанrlс rlil все со06ценп'l коil.

llrlJIятopa, нскoToрьle нап6o''tсc очеBliЛrrы с oru и6кr J oбн.rpу}intsaloтся ужe на э,l.оl1

ЭТаIlе. стoрoннис вepl.lфriirатoРЬ ко,Ia (liлt' smаtсh) еще r1oЩl{се li распoзнаIоT

oш1l.'{li' с коТoрЬINtп тPaн(.JlяTopьl yжс нс сIIpaшяxlт(,l'

ТссTпровaнnс нil мrtкpоyPoBrlс l\toi(lro счrIIil1.ь ilаIL(nlчсttн ьIll ,Г('l1а' кoгда 4rУtll.-

llия кoпiпxnjц]уc'Гся песl{o]]nl{]Jli]I t{оN1Ili1'ц,]1'ораllп ll pа6o,|ac'Г пoд вссItl{ olr']Pа

ltIlоннъlпrll сI.lс1.ei\Jaмиl дJlя кoтoPьrх ol1а llРeдnазrrачсllа'

PЕгистPAция oшиБoк3:lваJIlть лрol.Рa\]Nv' IlРоrrrc ilсего, зLldцк:lll)опaTЬ (16ст0'IсЛьс'rB:l с6()Л rla.

\ l l l о го с . l , ( ' к | l ( \ l ' l l | п l l . l | 1 i l Я ( ] l | г уа Jп lЯ ] Тсс . I Lрo l l п l I l | { l l Pо ]1 ) | l я .T | l p ( ) гPа ] ! l ] \ l у ЧсРсз

с сP l | | { ) ' | с .ToR , l l с l l ро i i l ( x l l J Ь | с Tсс , L ! ) ] ( ' Г r |Pа I r ' цяюr с , l ' ) а : l Р l | 6отч l 1 l ( у ' ЧT ( )6ь i To ' r , no .

x l l .Ц l l i | ( ) l } i r ] l ( ) l l l l 16кУ ] i l l с l J P i l L t l ! | 6 l l г | | ] l o yр i l l Р i 16 lЛ " i l I i i i ' ) ' г l I ) r c с i l n l ь I с ' Гос , l | r l I l Pо .

х ( )дя ' Г у ( | | ( x I r l l l ) ] ̂ , , ' о | l y , l ( с ] } сe I l t , P с , l L с " ' r n r l l l | сРс lф] \1 l 1 l { , l l | | р ( ) | ] а ' ц с дPуГ r l ь l l ] к j l l о l l а .

N | l 1 | | - r . ц , L tп )6Ь r : ) l ) Го l l o l l ро l | с х ( , l I l . ц0 ' 1 l ( | | l ( ) ' l l Ь зу l . i ' г с с l t с , r сN l l r | Y I l PaBЛс l I l l я

l ]с|х j l lя\1Ir . . N ' l i с lo] i () l i SoLrк]c sx, i ' l | ] l I l ] (Лl l ] I lс() l lЬ l i i сVs,

С]| i l . | : l 'Ц i l гсс1 ' I rус 'к , i ( ' Г ' l I i tдoч| lЬ l i i l ] i l р | lа | |T l |Р l ) fра\ l I 'Ь| l i l за ' l . l ' ) i l t ] ! Ч l l ( ) I i t к ,{с

4n|| | l l JЬ l jЬ r i i , ( ) l l т r !MI l3 l l l L l l я _ ]n) ts i lP l l . l я l rLTy l ( l L ' l | Лс( | ) ( .к Пn i l rо l .у , г l l о ' ! } l l , | l , (я ] ] с ! ] .

] \1 lnх I l с (Dк l I l L i l r l l lЬ |х l l сс ' | : l х ' oсL)6с l r l ]о J |Р l | | ) l l 6 ( )Tс ( вс l I l сс ' r |1с| l l l o i i aр lк l )N{сT l tкo j i .

ИI lо] ) lа I l эПJ]u I1 l . | l t ( ) | l i L l , г ] )a l | ( , ] t 'Toр ' l l l ) l .оP l l здо ' Iа lц . сaм lЦoГp i ] \ l \1исT.

са l jЬ l \1I1 к( )Пар| lЬr l l l t 'ЛJ l , ] l ( )1 .ся iЛ ' r l i l l r i l ( ) l IL ] l c ' o t r l I l6x l1 , l Ipoя l r " l l я lox t l l сся с r o i i l l " , l ! '

I l I l ( ) i i с гепс l lЬ lo вopoяT l Iос-г I l ' , l Lc l r , | , гьс . ]1 . ] t l ) t ) | ] ) r l ( ' l прогPt l \1I1 l l l |р( )хо j l l l ' Г n0р-

N]аJ]ь] ]о , a : l i t , l . { :N l | |0о 'L l lд i t I I l l ( ) | l xдаL '1 '6сз r ] (ЯкI tх в r tДиNl l l х l ry l1 lп . i I l ' Э j i , l i 1 ( ) таI t

оРсT. чro llll{ого llо 6ьIвaCT? N'Ilnпlrlа' дсскlтr'' nстoP]!]иIl1lpolrаlia' lJ сОlll }l(еJlеllo

l1с ! |Р , l ] ] l Io ' ' Го 6ar Л l l6о есTь ' J l l l 6o ! |ст ' Aга ' р l з6 t ,ка .цпсЬ l N1]rо l 'o l l { ' I o .п пnr пPr l .цo-

,I{ellIrя Il ко'll уrlРilвЛяlolдI'lii ус,ГРоilсrваilll BпоЛа/вЬIIloдIr] ll(Doхдlllоl (Jф6Ьlii

IiJJасс llсн()спропзвoll!t\lЬ]х оnIи6oк' riспoтoрьIс Л:I llrlх Nюгyт пpо'lв'ц'1.Ься -!ЛUlЬ

Ра:l я llескoJЪ1{lr ЛсТ (I)' ]]oт Тllllи.r lыii пp'rr\lсP:

I i ( ) { r n | х = 5 t . l e п ( s ) i s t r ] = ' - s t х - 1 ] = 0 ; ] / / : O . 0 i ]

f 2 ( ) { р r ] л t i ( l s \ п ' . s ) i )

oД1Iн пoтоll NloдnфrllUIpyсT стРоку, а дPугoii вьrвoдrlтс{] l1аэкРarj' каl{oс.l1) вl)е

\1я llpoгPal'lliа 6уjrеТ pа6oтaть lro;lмалъно' ttotia поток 1 нс llpеР!'.тсЯ в,t.o]. Ilo

11сx1., I.огДa звсздoчrrа ухе yнпч1o,{1|Ла зaвсpllrающl'ii сl'\!вo'n нуrlя' a IlовьliilIуjlь

сIrе llе 6ьl,1 допи(аll, .]]eгко дoказа1.ь'IIто сущссT!уlоT тaк о апIlapатIrъtс (оrl4,l1.

ryрaц rl' нa кoтoрЬlх эта oши6кa rle пPoявllrся IlriкoIда (д.lя trTOгo дoстaroЧIlo

в3ять оJltIoпPоцсссоР]lylo ilal]rинy' l.арaнтпpogаr r l ].r yспeвающ!'к) вЬI по"lнI Гl.ь tsесь

rrод фунIiции f1 за одпн квант)' Пo зaкoну rroцлoстп этоir rLзUiиrlоfi о6ычЛ() or(a

Page 399: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

400 rлава 25' тeсгирoваниe пpограммнoгo oбесп.Чeния

зъlвае1ся t{ol'пЬloтеp тестIrpовщика' rl y ttсl.o все pабoтае,Г' A y пo"rъзоtrаTс'псIiпадаст,LI ro6ьi .lroка-lrЕoвaтЬ olurl6ку, Paзра6oтчllкy ileдoстaтoчlto зпaтЬj чIo <пPог|аI1-}lа vпа.пa>' нс06х0]1и}'o сoхPаrп]ть и зaтеll тцатcЛЬIrо ]lPoаIra.nпзlrPовaть еe со.стoяrпrе llа lloмeri.Г o6pyшеtllrя. Ка]r пPавI{J]o, д,rя это].o nспonl'з)-стся arrаpuii.ныi'r д:lпlп ЛaпIяТlI. соi]дaвaellы'i утиJrlrтavll типa /loI{тоpа вarсo]ia (Rroдxтв шTaт]It]I]l кonxlЛl]Itт постaв]or оrlсPaциoнlIоi.l систe\лn), Uли' па хyдo]i ILоIlсц,зl]ачеlllle pe1.lrстРов пp'Jцсссoрa I{ сollcP'{Il]vloс стскa.IlосIioJЬк\' tlс все оtlj16к!'Ilрlтвo,.lяT к авaPrdillоiuу заnеpII]enllю пpoЦ)аммЬr' Paзpaбoтчrrк дo.lжcr l за6.пat.o-врel'еlllio rlPсдус]!IотРе'|Ь вoзllo)к]toсiь сo3да!lия ilаN|lloll саlv()сlo,lтс.!ьllo'- IIонa,{aтпп сllсцЛа,]Ь]iоii tloм6иrrацull ллaвиш tr-цll пpи сp116ат ьrваrrrrr.r вllутpсrrнсйс]rстeмы xoнтp(]Jя'

к Че,'ly пpивoдят ouJи6ки лроеlс|ированияпри загрyзке сипемь peaлЬнЬ|ии да!|Ьl!и

БEтA-тEстиPoвAHиE. о 6 | , r r , . . r г o r m r r r n " B i ' | | | | | e \ | l l ] - , | | | П . . д ] , , U , ! , ' | I | ' l , l v ' I i l ' \ | \ | | | | | | | \ | , ' | ] l I n l l , ' .L J4тn. . l . i ' lU| | | l , j | п l l tдJ ,ь | ' t с J l J l з ' l l v , ] . . ' , l l ' | | | | ' | , , | i l , | - , Гo , , ] е i , ' l , 'U oгoвоPя'г: Л oс4'lIlTс зa кo\fпьlol.еP нсгрaм oтноro ч еJl oвскаj пyсTь Даrr lrT ] l ir всc кJIa.rrпlЛlr] lIлLа пРoгPаIlNIa не уtIaдст' Hу ilа' как 'Фl Tсстr!ювaнlrc пl!)lрlrtrJЬIЭт() сoPьезIl^я ollсPаrп]я' Il |a]rой ппollеPский пoдхoд здeсl, нcyNt."сtсx, [Iсо6х.)-дl1r]о пРоBеритъ ILa'{/.ioе дcj'iствIlе' Jra}кдЬlii пункт мепlo на всeх ,г]'llIах лalIllьlхи оlicрaцl,tii' 1lрoгPаllrv истoм 6eтa-тестсp моrкет и нс 6ьп'ь' нo кв:лиr]llrrtaциlo прсl.дв]l]ryтoro к'lЬзoвaтеля l.IlIсTь ()6язан,

ypoнив прo|рап{мv (и".1r1 дo6rIвпIи(Ь oт нee выдани нeвepньтх дarrньrх), 6етa-тсс.Tсpдojrжe]l суNIeть воспPoизвссти с6oii''Го есTЬ вьrявпть нaп6олее кopoпryrrl Irос-ЛедolaтeЛъl |.)стЬ опеpацl1ii) пР]rво/:lящvю к оши6кe' A сДслать эTo oй кai{ пer1po.сTоl Пoпрo6yl i . l ra всr]o i ! I]]I lть ' какI ie к ' l laвr lлIи 6шлrт п iLжатьrI Чтс l? Hсiтолучaстся?! l4сtlo.пьзyiiтe клавиaтlTtrше шпIlol1ъ], ]Ia л].)6lrм хaкеРскlrlI саiilertх нaва-'Ioi1, Пyстъпopа6отают uа6лaroпаpoда QIe вс'rнo же lrapoли пrlхищaтъ).

Page 400: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

401

TTlпп.нптъ за \JrJI|i]'x) || l1pпxoдится сoхpанят} rle TоJIЬliо lто' l | | ' r ' , ' . ' , l l ' , j U ' ' | , o o J l | | | : r | | | ь ' 1 , I ' , ,

росPеrства (llo Tиllу Visua] Basiс'a в W.)Jrl), B 06щсlr. llышь -, :Jto сnксЬ il ]\faстjlаii, нopпIа.!ьныс 6сl а-,l.!i],ГepЬI о6ходятся слнoli к".]авIlатYpoii, Пo.цн!ri] rlРolо.

xoЛ ]rа)tiаТu]i сoкpirllaет кpyг lIоиска oшп6lзl' oд]rакo с llсPЕolo !а]а B()сl]рorrз

Есс'ГJl сi)оi] vлaе.Гся по aсrгда u нс tsссIvl,

B ПРоIlсссс Tссl.ttpoваll].IЯ пPl]хoj1llтся мноroILPатнo вьllJo'llнЯ'l.ь oдlIll ]L,|с ]кt oпe

Pацl]11, J,|{r Раir](pа'(neт' пеrrадс'кно ll ]1сl1pоnэ}rolLи].е.цl,lIo, I] r tа'llуlo lloстitвкy

\Iiпdоws 3,х яIonllrl rinrвLtа-г},Рнъпi пPоrtrpЬIваTсЛl,' lloзвonя].Лд11ii аl]'Гl)r! r, r iJtI

Po]]aть та к,Iс1 oпсраunп ' ТсItсрь){eсl'о lцЛlхoj(Ir'rcя лРпобPeтать отдeльпo, Bпpo.

Чс\1l тaxуl(r у,|l'rllIГу Nlo'iпo linпIIсать п сапюсToятс]tl'llo, l] этоil rIo}]oгуТ ll)уlп{

iU l ] ' F i l l d \Y iпdo$ l l s .п( tМеssа8е,, ] .ест|JPv i iTc

пPогP l l } l } l r l I i ! r r ( ]c i i J | l J l Iе j jке ( )т lеР;n l I lo I I ] I Inх с l l стР i \ l Wi I rdo\ ' s98 '

\ \ / i l rdon,s 2000 WiDdoц 's 2003 l r ,Г ' д ' P : I j ' l l l l ' l j rя \ ]с ) ( , I l у lп rп| | | оI Ir lю стa6 l rльrю рr rбoLr r t r ' г | | ( '1o]L] l ( ) i i ( )съ() . no)J (с ' г пад i l тЬ rюл д])уго j ] , oсо6с 'u1o

{\]'lll l ()llil ll(']ш'l)}],i(Jin JLучeii l{oI J{)''ll ] l{гYlолll lх lIрllno'.!llllii, Jlil/1,l0' (](.rlu:] lr) tiР|г

п . lя l rp rл1 l lмr rа t sас l t 1 lу ] l l ( | l l I i l I l vT l i а | i ( )nь in) l } i lTсJ 'я l Jо ,к lю | ' l i l l сх : l ]П , ) ' iю cсJ l i

Bа| l In l рo l , ] ) i l 11I I i L 1 r0 ) - ) l r l l l cTся с п , Is o l ] i сс l r J I l | )Lрvг| |NI l l r lPо , ) lY| i ' | i L I I I ' кpу] l I l l , l х

l l ' | | I )N l ' 6 ] l1 | ,6Yд\ ,T I lас , j I | | (o l .да 1]с r \ l ( ] ] l , l i i | с ко l l4 )игYpaIL l l l ( ) ( l ! ( ] ,L \ ] rV lЬ l I l l l ]nЛ loсс0

11t l l l l х ) l l i l I l l | , | l . | . l ) l ]1 l l

6 .vЛс l . ] . l ]Yд l t ( ) у ( ] , |а| l ( ) l r l |1 l , ' Чo i i i ,n , r ,а | . х ( ) l l ) | l ; l ' | r | |1ук l l -

l1J lPTvа-(Ь l l ь r . N l r I l | | | | lш (V]\4 Wl lГc , M i сП)s( )1 t \ / ] г (L l l l Р ( l ) ' lT i l oд lк )M xо i t l I l ' | ! ) гсp(]

11( 'к | l ( ) j Lс l ) ) i i | | l ) i l J l (D|{с( ] пn] l l ср(1 l i i o I I ( ) ) t l LL r rо l I l |Ь l I ( : l l с | . ( )N j ( l ) l l i ] . l | l | ' I l l ( ) i i l L{ )N lб l l l l а .

I lo i i ' ] |Р1I t s (}] l | | l l к l Ioнo|| lп t oL t t l l б lп l с tш l r lя t t t t t : с t |стсМI i Jсг ]{o ( lохP i ] I I l l l . } , l l i r ) t{сс ' l ' .

r r r l r l дLrскr l ' r16P l r l t tа l t r l ь r . l I r l l l v BI lос ' l l 0 j t с1 ' I l l l l | с Iо ' ' l ь r io раз ' с I tо ' . r r ,ко r rо-L1 lсбvt r . t l я .

У Bix' Ilр()Гl'llIliln pа6(Лlс'J.! ll у Il()iЬ]r()Iril,l.(''ll,l - l]cт' ч1o Лcjlать?l ll.IIя ]lr'L:lntl

собР iU.J ' l l l t l l )оp l{ r l l l l l o о t to t lq l l t гvPaцr l I ! с l .o к( )м l IЬкr |oPt ' (ПанeлЬ yпpавлeния '

AдминисrpирoванЙe ' Управлeвиe кoМг]ьютepoi4 ' сведeHия o сиФeМе l!,1п утIl,1lIтЬIl'4slnfoЗ 2.exe ), It (r'к ell IrIсj' усTа 11о вl IтЬ вxнoвl I rl кl 1 lкl l i\{ пvтonl с х(rд\l l l(l у/lасГ-ся ' l,I o)lioТ' 'г.lN в Pу( с |lil rl] п вIre/L1]'|'еЛ Ь(: l'l]\'c,Г' I,lл LI ГJrю.l l l I rиlrоii npаji I]cP' нo'

lll\ c,] ,lе.Iio,nЬкo oтчcl.oв oT PазJl'lч''Ь'х 'loJ]Ьll()вa'l.с,!еlll я |ll|х N|(),|tljo lrьLяtl,'lть

ll(,xс)ToPуx] з.Ll{()rIoлlсplJос1'ь,IiirпрпN{eр' пРогРаnlivа нс п/,ti]т lIатaIrоп' тo пPlrrrсс

/Lрyraя ]rозNlo'lll:tя пPl]чI1на уТсчкa Pссуpсов, УГсчl{x tsoзI1llкаlоT в(якr1ii Ра]'кolila I lPо граllIj a з,I]OсTl I0 lle oсв06o)к/]аe,| Tо ' ч,iо постояпn0 зaпРаUлiвает, чаnlе

!(сr.o lЦxl\oдll|(я с|il0кllвaTЬся с утечкaNil1 пil}1ятll] lIо ilпчyть Iiе хv'ir }'т|.ftaютперъя' кr1сTIr, файлоuьrе дeскprпlторьr.,, B o6щсil' пPаrr'пlчсск]] 'lю6ы0 с)6ЬскTЬr

" . ' 1 , U s г R C D ' , Т n . | | | р o в U | | h ' р : , 6 ' | а l ' I l Р U | г v ! o : ' н l ' l ' | J , ' , R ' | , L | r

оТрeзк] t l rре l l снп ' (осoб ' j t ]нo сс] ' x у l t с f l ) с1\ ) I lT

Wiпt|оivs N.l.,i2000/ХP' в кОтopoйресуPсЬr пpак'Гпчeскп нe oграllUчcrrъI ) ' t]o llрI1<.,{nBoй' экплуаTaЦ]1Il у jl()ЛЬзoвa'|еjlей tloяв.llякЛ.ся oгрoI]Ilь|е пl)об-lе\!ьr. снa

!.UIa ,!егlioe зa]!fеЛлеrше 6ьrстрoдсйствпя систсl]ьll зaтсil кoнкpстншс тO]r!озa]

lleрехо,urцlе в ]l(rj]lыrl зalll1с. rl нaконеll pезет' соlipoвo,кnаe\jЬпJ IioJоритнЬIlj

Page 401: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

402 глава 25. тeсгирoвание пpoгpаммнoгo oбeспeчeния

oтjтаЛoЧII6tе 6x6,п oТекI{' пxoДяЦие! сoстав iroмпплятoРа Мiс|оsoft visuа] С++'ЛсItio o6нaPvrioinаю.Г 6о-1Ьш111lствlr yтcчек паl!]яTlI, B сло'(нЬiх сJtучaЯх пРпxo.дитr:я пpп6стать к вepи4ткатоPaм rioда плл ,1иl lаNllгlсскIlпi аllrЦи:JaTоPаII напо'д()6исNuМе8a Bоulr.ls сhссLст, [Io вьrсптеri иr lставЦrlсй является экс]lсpиllerIт.Зaпустите Диспeтчеp raдaч Wiпdol's NT I'I пeкоropoс вpeмЯ пoPa6oTайте с тес'Г]1pyсlloil пpoгРаrvмoli, Bклaд]rа гlpoцeссь отo6paжаст текyLцис сvствптпr дeсl{PllxтoPoв, разпlеp вьI/le'rlеltltoii x lятIr 1r т. ]1' ]lо }'мo.пчаппIo ur{ДllЬt 'lиlxь нс].oTopьIс из I'пх' зaЙдl]Tе в мсl1ю Bид ' BьlбpaтЬ ст0л6цы п взnеЛпTс всс гаjтoчк1r,Если какoii.то счетчик r lcyкnoн}ro J.ве.rrпчrlRае | (xxх] значеЛrJe посЛс нсxoтoPьIхollеPац]1ir' этo yTечiLa.

lllя trсслeдозaппя pa6оrtх:посo6ностп пpогpаlt rlri в yсxoвI'Iях каТaсTPoфичсскofiнехваткrl рeсYPсots 0tаill'I'гJI! дискorrогo Ir])ос,|Plrнствa) N4irтоsоIl вк,.rю.rlrлaв состав P]atk)rпr sDI(yт]r'rпTv stг€ss'eхе' (:rtа6дI1в сс Irкопкrlii r.aпuуloш1сго пriltrllrтa, I{оPРeкlllo сllPoсктl{poвапllоr гJрпrl0)к0]r]lс ]iоЛлolо в]'Dкtlвilть Iцlrr лк16ьrхo6стoятеJIьсTвах, o6nollаЛII с Bьl]'(е,ll(JlЛс]\l ]ta]!UП.и llз кучjl? lIq]схоnrtтc rlа PсзсPвJ tЬ| i i l l с |oЧ! l l t к (стcк ' сeк l I l l я д :L l l | |Ь lх ) ' o (в06oлп]е всс | l l r l r у ln roe l I Io JJJo6ой цепoi,i сохР1lIi|П.с rсс ]1аняьre| всrгда сoхРаll,li'it.с flрlI сT;tp'Гс |Lрol.рnNlпIьI lllгllllillа.цЬI]o Ileoбхо/lll\'о(l l(OЛttчсс1.]]o Ilа]!1я.Г|I (|lpо Jnllас', a lJо'гo:'l llсlIoJl)зYI.Jтссго как lIl], то '(e саN|()(] () tl()сll (Ll It к /.1псI(о]]()lrу |цnюTрапсTuy,

BЬlBoд диAгнoстичEскoЙ иHФoPмAцииСамoe стpаlпlloe _ кorда пРoгpal!мa Леo:rtlцаннo деr.Iаeт из o6ра6lTывaсмriхчисe-li <]впIleIpеT', сoвepшенIro пeпоIIяT]lo] Itтo в этoм в]11]o!ат 1t oтt{yда нaдo

Kлавиaryрa _ oсновнoй инсгpумeнт 6eта.тесrерa

Page 402: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

вьLвoд диагнобической инфOрмaции 40з

плясaть, oши6ка в o]ll](,ii d,yпIilIliп lIожет aуrlaтЬся в сoверlIIe]rЕo пoстOPoнних

i]llllкal. не свя3аti]lЬrх с llеii уестax. ул:rp пo allfятl'l' пскa)l{еfiиe r"to6алъ]lьIх

l1сpcNIсI{нЬrх иJr]t (i)'цnГoв (со)прoцессop:t,., Здeсьдаlfп },Jriс нe поNIoгает, Зaстьlв.

]IIа'I каpтllltа ста!11ч]tоl.o с"!еnl{a пa\lятп irе oбЪ

rrие даяньiх) в l{aкolr )rссTе tt в ка1.()е вре}lя оIlo rlpоr]зопlЛ(l.

,llля локaппзiцпп таких ошп6oк в llpor.pаlrlrу зa6.'tаr,о вPспrснно ввсДрякlтся <.тe-ЛеNlсTpllчeск,те> ]\{exа1]пЗпfьI /lJIЯ Iснср:1цxI1 дxaгнoсTIJчесIiс]ii пнфopмации,

B ' L с а . , c ' . | . ' . " d o . ' l , | ] | l l , | , ' , | | l ' . п , | , i 1 , | р . | п ] ' l ] , P , , | ' l ' с Р \ | Ь e | l . г 1 ' i м

l ] ' l r ] l ]Ь le коN lа l iдЬI I r с ] ]е iu la : lЬ l IONI 6v( lеРе , Cо6ствеr Iно гo .

вopЯ, У]ft-iсе !i Рс)кn[le 1)6Pатllo'i тPассr]Рouitll (Ьaсk Lrасс) имeннo так и пoсту.

IIасT' ]юзвоJtяя lIaм прoкРYчпl]аTЬ пPorPaм lу зllдoпi папсpсд, ЭТо чудotjищr]o

уllPoщаcT ()1r|4lll(у, по.,, кaк j'I{с оflo тop}lозlIт] IlсIусшвo ДЛarнoсTики как paз

l.l сoс'кЛr,г I] 'I'ом1чт06ЬI oT06раТЬ мl'l}ll1мJNl вilxtl]сiiltulх ]IаPаitс,|Рoв' dnlк]lr1)уlo.l I l l i ' o , . . I U . , | | , , . r t , i ' , | l I l ' l ' . | , l , | , ; t r | ' ' , I | ' ' , . ' , I ' . , : | 1 ' l . l , l р Л o п i l

Te-!ьнoсть вЬlllo.]]IlясIrllх (|]уllкцlL,L в]\(\]1.o (: ]]Lрl'y]']cIr|алl||.

чa l i Iе uссгoдЛя этo i i цсn] l l1сJ l ( r " . ,Ьзус] . (L l ] l ) ] l r ] l I i l n l l lЬ l i , i fрг i n t fд , r lЯ l l а I ]иС l l D фa i iлr|Л!l 5уs]ogдnЯ заlrI{сI'l в сIlО.смllЬrii nivPllllц (в Will(lows N.l,]' t o oсуrцcс'].rJDlеlся

пoсPедсTво l l l RьIзопa API{DYнк l l | l l l Rерoг tЕven ' : ' I r с l l с lрТ , lPусмo i i 6и6Лr loTeко i iADVAPIз2,DLL), lillчиitаlollllI.] iLoljvсlt,tкл l pубу]о olIlrlfu{у' вкntoчil, дllаг!lш]'].lD(уП ' |Ько D о]J I1rдoЧ l l v Io BсP( l l l o I I Yд l l ' l l n ' ] l l з 4) ] l l ! l ! l l ' J r ( ) i i . l ] l1юl , l l t Т l l к l | с l Ioс 'Гу-

#]гd01 -D[вU0-lpг r l i l ( i l 09 ' ' ] i s l i i r - l0e l t r ] LJ - l i 08rh\ l . ' | :L , | . I l l ,a b)

1]o\lJlll'|с ] Iр]/тr(овa: <3aчeM тс6с сo-!rIrlo, ILo|д:l д|tсм tt 60з Iiсrо с}r0uо?' I(oIд.t

laкaя lIPoIРaNjlia у||.l.l(.'Г у ]loJпrзollдте"Ця' n рукilх пРoГPil\lМrlсTa 'lс oкa'{с'гся !Iи-Irакoii ]LlrnгlloсгLlчесIФii |Л|(ю]]ital0]]l' llxlolцсii \оTЬ lilкyro.то зацeп]ty' Таl. I]o-

с1 .у l l аTЬ n lo)к1 l0 l l l { ) l ] с l |у , ( l l l ) :

l i ( L ]Е tsUG ) lр . ]n t f ( f lO! ' ' 15 i . а . l08 l r : b .108хn\n ] : l LЕ_ _L]NЕ a Ь)

Е('..lи с6oii lloвl.i)ряется РегYЛярllo' пo.nLзовaтсJ|Ь смо}ltс-r взв.стrl фЛа)r(oк DEBUG

rr lllсТpoii rах ]ц](l]]Ра]\{]\1ьI' rl IL.Лда оlllt упадoт в с.псllуloщIlil pаз, IrсPсllас'г IIРo.

r.Рамм и с1.у дnаtI loстllчесlo пl п Po'гоlФl ' сс''I l] ' l(о tlcч но rrс I]сPсI]с-l.I]с1.('l l{ ко1t ltу.

PсxТtLм,Ill!,1.ка,

Ho пР;lrlltЛьньlii вaрlIaнт вьIrлЯдI lт -rlu.l:

j f (2*2 == 4] fрг i i t i ( f ]og 15 вd d - !03rh i ] r = {08 l l \ | l ' Г ]LЕ ' L lNЕ i ] 'b ) |

гi)а\ФTrrо оTо6Рalrная теЛсмeтрлчсс(aя ]'itфoPllацl1я or.н11IlаcI сoвс]еi] llемlloгo

мссТaи дoJ]жIta пpoтоlсо"lтпРoватЪся d.e,аa ( естествеIiн o' зa Рaзуерoм .lioг.фaiij1а

неo6хoдимотщатсльнсl с,llсll}lTlJ]"l]yчl[е всеIоl есЛ]l оIl6JЦeт oРr.aппзonаrr гIо прl,lн

ципу коЛьцeвоro 6yфepa), нскоТоPЬlc''роrPамI{llсГш ис]loJьзуюT фyrIкцrlюOutputDeЬugstгjng' пoсьl"rlаrощy1о отладoчrJyio ]1нфоP]taцIIю нa оTЛадчиlt, B eгооTсyтс'ГrrI{е llo'(пo вoспoЛьзoватъс' утЛЛIIтoii ]\'laPка PуссиновIlчa DrЬlrsVjеW

илп аiraлогIrчIrоri eir' Bпpoчем' пolьзьI oт тal{огo рсlrсrrr,Jя всe pавнo неlllнoгo,

Этo тoт жe лoI' включaelrъпli по тpс6oванию' a зalllсr' Лorа дoл}лна 6ЬITr' вкЛ!o.

Page 403: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

404 глава 25' теФиooBaниe лDогDaммнoгo oбeспeчения

oспoв lrо ii r]сдoстaтoк fprintf B тorf' чтo прJl аваPиiil]опI заверпIеrl tr пР0гpа!slьlчасть тслcrшстричeсrtоii rlнфорvаl(lllt !сo6РаТi!llo теPяется (бy(Dеpa всдЬ oстa.JI11сь нc с6PoпJеtIпьlпlD. Еслп яe ltх с6plсr'IвaтЬ lтoстояпlIоl сI{0рoсТь tsrlnlo.rrrre.l | | | Я | o o ' l ' 1 ! \ | З ' t , , ' t t ь : l t р " r - т , r п | l , l l Ь p с l ' . , l | ' у v j o

o6ласть памятп, а пpll иrlзtttrrсtroвr:нпrr с6oя соxpallяiiте в фаiirlс ]lPoTокo.]ra 'lзпaPaлл€льlroго пPоцeссa,.Гart 6улут rl волIrи сьrть]' Л oвцЬ, цсJ!}l'

A мЬl гlo l.llпAлAtvl...1lоrtсх orппriок пе пpекpaпI.lel(|я trl1кolда| Д.l'rr кoгЛa пl0дv(т умllРаст' rrакrIетo сlo кo]\fl]оIlсп,гьI r'с]1oJ],iзуlrтся в сЛеЛvlопll]х всРсlu]хl rI в них вьlлсз:lк'Г lIo'в l ' l с 6агI l ( ) I |п lбкп r i l l . ' к{ ] 1 l с l l счсPЛaсмЬr ' ] (ак I l a loN l ! oнЛ o6рaзуют тоЛс1 l , l i i

| | | | i i . . o I o l , | | i Г - ' r l | ' | ' I v | , Ч | | j . п ' | ' | | , | | i l l , ,

ствo стРогo lIliс'Ц)()|1) JilIlPсЦnст тРoraть. :,To lJо)olo сРаBllljть с пРllт]IlЛФii Ilс.хtlIlи:rNii, Пo моРс сBoсГ() в.t]x)с"!сlrll'l NoдуЛlI IrссЛа,1Ь|l с |] ilill'lЬU1сvхоr.l,|тoT I|сpвo l !а , l r ,ь | lЬ iх (Лcц l IdnJ l i r l ]п l i i . ' I i ' L )qr l '

ч ro6ьI I lапr rсaть с r lвмt ' с :1и11т lо фvI lк l l t I i ( ) 'l l е ( )бхo/ : l l |п jo ' гП l i t l . с . ' l ь l ]oпPo i l I l ; lЛ ] rп l )ов i t тЬлсх . ' r lп , i i j кoд<rr ' i IpушкП' 'aОстояII -l | ( ) J Jo\ l i l я гoJ i rBY I lад вo l Ipoс l lм l | : ( : ) R) 6 tL i . l t j j l l ' l . а ( : l l l ( v ru^]|о? ' ( )с r ]оI tп0о пPав l I -J Jо Ра: ]раб() | ' l I tx i t Г .Ц i l ( , l ' r ] I l с 1 . jх ) l t l i iTоГ0 ' . i ' |o I l r ru t ра6oтаoт 'Заб i l i r l l t l ' l r l ) l l |к ) l ' t ( , ( | ) l l l )^0n r |рсдJкЛ|| l l ax 'Г </ l ( )L t1шlc t I ' г tчх lвa , r ' l ,> o t r l t t6к l r ' э Iк l t ro '; i tя r Ia l rх лс l rрап,uоt tur t . l б l l зc ] i I l I l Jи j i ] ln l IPvкo|n ' : (с1пс |ю]|Ьзо Bn] c 'ц ' l i l I } , to l l , |Tсг .lIO i]iшnjlЯ01'с': r'l.vда х();l1lI'Гь l{{j llа,цo] к,|о llс lIос'rl!|llil'1ся - (:аAl JJl||'|оll:]1', ]}o3'r |0жIк)с 'Г l l j l ( ' Гoр l | | ( ' , Га| ( l l i l c \ lд l l , ] ]0(Ь0 ' ] . J l , l , ( I r |Ь , l] lЛ l I t l i ] l )яTь l I lр ( ) . ] .o п{] /L( ) ]{уI lu]TI l l )vn)Tс , l , Bсс л l t l t r r r , l rьзу lо - t 'я (uILс 6ь l I ( 'nNI t lяnвI{} ' ( I lOс , | l ,> l lpoд]1 l{ , | l l ( ]х :Po/ lо1!Чor l l l l I r \ ]с |пIо: ' к{Ь) ' у Bссx l ] с t t{ iдae1 ' I J t ) ] l | l к -To l]с Il()х0,| lQl]rtъ'3ltl]' прdгc||з|||() . l]q]Ь |l]ЛФ11\l ||l,|.|сгo ll tIо o6сlllа.,IIr,'Гlrк

vтrl тссшцlrлrarrrrо IIPогр;rNlNi]lol.() 06ссrlсчonnя этl) Ilс ТоnLкo llJl'rollсl)l!я.l ' v l ] ' ' I l | | . | в ' r , | , l I i ' | | , ' I U , ' i i г l ' , t | } ( | , I v | | , , ' , ] n | , I 1 1 ,

IIpaвllльll() сГl) <l!oзl.lllllotrlrPуel.'. lJ l(()|lсчlloм счс1'с Jl.)6yI(l oшuбlly llonalo прe.вратI.lтЬ Il lloс,|()иllсl вo'

BЕPиФикAтoPЬl кoдA я3ЬlкoB cИlс++сaм ЬriJ пpостoii всpxфикaтop это утrrл шта liпt' зходяI]Iaя в llrTaтньIIi кollп.текTпoс'Гaвкl1 6()'ll Ьlxш{ства Iонпliсов, Ее возмoжнoспr сllJьIIо or.раlrI{чerrЬI' а вepсrlялля Wiлdows pаспрoстPaняе'Гся тоjlьl{о нa коl{l'epчес](o. oснoвc'

Лoстoiillltя а.1ЬтеРIrативa liлt'у - oтrtpштьпi rцоект сLINT,РaспPoстpaпяющlliiсяв tlсхoдIlьIх тrксTax. кот.rрЬit l{o,l{но скачатЪ с сер1rсPa сoo6п{eс'Гвa <rryзflllЦьI':http://5oUrсelorge'net/projесis/с|]nv'

Еще мoЩнее sPLINT (http|//lс int'сs'Vir9in]а'edu/)' lIaце.lснIlьIii нa a]rToмaTизl.lрo-ваIll]ьxi rloiJсIс i1ерепo.]rllя loщ11хся 6yфеpoв l.l пpouих пpoтpaмlпlстских оrпп6oк'кoloрьlс нс находят |iпt x сLINT, этo сеpьei] ьlii, хopoпIo дoк\,N1спTиpoваlrrrъп"I

Page 404: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

демонсгpациЯ оши60к нaколления 405

t1Рo]1yl{Т' pасltpосTраняlolцllljiся в исх()l0]ьIх IексTах Itа некoмIrеPческorl oснosrи у)ке с(ollltиJrирoвatxtыii r1oд Wiпdolvs' Liпuх' solатis и ггссtssD (сLINT lo.с]'aя-ця".,Гс'l ToJli'.о ! l1схoДjInIх тeкс'Гах' с кo'Г(]рьl]\Iи eD{e пPеl1сTottT ]]овoзl1TЬся ),

s.лatсh с sоUrсe сheсker (http://smatсh,50Urсeforge, net/) lIредстaвЛяеT с()6()й ав.,ГorLа1.!1чсскlri'i а11a.lIt3aTop исхoдII{]гo коДa дЛя tIахо'.дсl1ия Tиl1o!ых ol]rибок(уГCчск naмЯтll' llсPсЛoxнсflllji 6уфсра' nаpaзитн,!r NULL.yказатсJrcii и т, д,)'сoздaннъIii в pамIiах пPоrкта пo вь]явлCнnЮ oши60lt в Linuх.ядре. PaспPo-

стРaIIяeтсЯ 9 виде пaтllеii к gсс коп{пUлятоpу ll Ilа6oPа Рeгl.скрllптoв lI"чЯ aпа.

совсpLr]е l l l l ( ) Л| lо i i l l ( ) j l хoд l l сповeлvет мLс ' . , l l rке Мetа ' l ,еvе l со lЦ) j l l t ]on( | ' \ | | | | ' 1 . . , " г r \ , ' , , , , | \ i ' ' ч | | ч ) , ' Л , | | ' , l l l , у ] n I l | | i i | | l ! , , l l : l \ l \ l у ь , | г о У c ) к у ] ' r | | | l , | ' ( n л

|.l за сцс,l lL()с1'у]lа к абс ГРaI.ГIio]!1y сi]llтаксIr]lескoпrу деPеl]y o6l|а1)y'{IJllaJпциr,i1.1)YЛ]lоуrIoIllli{Ьie o|пll6кlr, nРoпvrllепlIъI€ остaльIlь1lIи D€рифr,IкaтopаNпl (http|/

/гietасomp'siаnloгd'edu/), PазР:r6oтчиItи yтясp)ItдaIoтl чтo с п1]l!1oпlъю пIетaкoNl.пll.!'lтoРa Л vлаЛoсЬ uь]ЯulrтЬ свЬппс 500 L)лrl160( в PсаЛь]Io сy]цсствтlоll]jIхсlIс'Гeп{ахl TаrLlIх каrr LinLlx, oPсЛ BsD' Хok' stanfoгd гLAsн ll дР, B llастoя.lll €е IIPеI1я NI]-с !aспрoстрalJЯется в вllле 6сспЛатI{0гo liоп{пилятора хвсс| 6a.

JlIpук'Лсгoся Itn (;NU с) lr 8спoi\{oгaте,!ьlioго ].РallсJl,lтоl)il nletalлnЯ сo3Лaппя

Баги нaдo yдалятЬ, пoкa 0ви малe|ькиe

дЕМoHстPAция ollJиБoк HAкoплEHияС вcщссТtsсннoil аpифruе1 икoй сЛ(Цу..т .)6])nnIaTъся oчeпь .]сToР{l)к}lо. Peсс]\1oт

PIIl! сЛl]дvroщtII'I пpllмсp:r n | а | l O a t Х х = 0 ifoГ (a . 0:а < ]0 а++) r i -0 ' ' / .

ПoпPо6yi1те vгatать, чтo lIo'1yчитсЯ в pсзynЬтaTе? Дес'TЬ Pаз llo 0,7 6}''teT,., 7,lцасI Pа3бе'uшисЪl этoгo tlап{ Ilиктo нe rаpaнтиPoвall| Маши11l1oс llpеllстав"le-ll1lе ч,Iс.lla 0 '7 fiе явtrrяется тoчнori дpo6Ью Ir 6.1!lжс к 0' 6999,,, MнoгoкpаТl lьlr сIo.'{eния пPllвoдят к liакoплсIrию шol.pсlxltoсТи tsr'lч'с]lеll]1ii' x llР{)I.pаllliа' oTтtоl!г

Page 405: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

406 rлава 25' тeсrиpoBание пpогpаммного o6eс.ечения

та6лица 25'1. Дизaссeм6лePньй кoд рaссмaтриваемoгo примeра с кoммеHтaDиями

rlи,llиPoвaппая Iioмlll'lJ]ятoРorf ]VIiсIоsoft visLlаlс]++ 6,0 с rraстpoйкамr1по yпloлчaнI'ilо' дae1.6|999999' oптI,iIlизrlPовaнньiii вnp!1ант (1tJrI.Лt /0х) вoзвращaeт пРа-вIr"!ъIIЬ]ii рсзvJrьтат 7,000000, в чеll )ке,lсJrо?

Зal"'rянсll вдпзассev5;rсpнъrri кoл (та6л, 25.r1,

нeoптимизl,|poванный ваPиант oптимизиpoваннь'й ваpиaнтmovеах, ta]; грyзим в рeгиФр ЕAx перемeNNую а

' увeлиЧиваеМ EAх lа единицymovtа], еaхj O6Hoвляeи сoдepжИмoe пеpeменнoй а

, сравниваем пepeменнYю ас 10jgeshоt loс ззi f (а >: 10) goto |oс-ззfdtх]i заталкиваем ,на вершинy Оeка сolrраiаdddsI leа@8@зffrb3зззззз3зз; сKпадывaeм сoдepжиЬloе вepшинЬ с0.7fstрLxli выталкивае,4 rrолyченвыЙ резYЛЬтат в,l,jmpshоrt loс-16

fl ddsr_rea @4@000000000000000i затаЛкИваeм 0,7 на вершивY оека сопpа

; загрy'(aeм 3 pегистр EAx Числo 10ос.вlfаddds:_reа|@8@зtrеbззззззз3i складЬ|ваем сoдеpжиМoe вершины с0l7

, if (e.х |=0 ) gоtofstр[х]; вьlталкив0ем сoдср'<имoе вepшинЬ] в,

з00

254

2о0

1 5 0

100

50

0з t1 3 l 25 4 / 1 5 4 1 2 21 в1 8

ДaЙPис' 25.1. снacаЛа скopoоЬ o6наpухения oшибoк наpаоаeт.азатем, дoбиarув HасЬ|щениЯ, схoдит на Heт

Аr.аl неoпт NI!3rlPoвaяIrЬI':i вaPЛaпт, вЬnloJнrlI] сло)кeflие вeпIествe]]нo1.o ч]'lс.лa 0'7 r: пеpеllсннoii.т' ltа'кдЬrii Pllз вьIIрухаe] в нсс теltvlllее з aчс}iЛс вьlllис-Лeнпil' чTo и пPl'IвоДr{т т. IlnкoпJlсн]1ю погРе1x]loсТIr. oпTllNi'lзllрованrrЪrii вil.

Page 406: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

чаоo впpеЧающиeсq oши6ьи t 407

рпатr'г зaгрyл(аеT пepемeнI{),юxтlJпа f]oаt пa rrepппЛry стeка сопpoцeссоpa (гДеона fuаronoxучнo lРс()6разус к:я ! double). дсс''J ь pаз ск.Ilадьrваст сс с 0'7, вьI.та'rltивая пorr].чeнньпi PeзyrrьTат в Jl l{oгда всс pасчстьI ],}Jlе за]{оJrч€J]ът, oтсю-

. I j p : r ' ' о . I o ' п o ч P д P | , | | , o п l | | \ | | l . ' | р o P ] l r o n ' ' n . о | | | \ | y | | l o u l . | | ' l о " в P p ' I l i

AтепePъ пPедстaвпrf' что пеpe\lеlll lая -l: r]спonъзreтся I{аi{ счетчпI{ Циl{.lа, допy.сTип{l пРoгPa]!п1]1сT OlIlи6ся ll вмссТo х < 70 }rаllllса'ц Х <69. oДна()!1ll6кa к0N1IIe)г

сt1PyсTся дрУro]il l1 xРL)IpilNlIlа 6yдет раб()1aTъ Лрaв,IJIь1Iоl II0'.. стoIlT ilспPaвIrть

l ' | \ ' l , l , r , | , ' | , в . ' ] ' ] - s ' ' l | ' , П o L \ . , o | | , U | ' ' r ] ' | | | ' | ' , ' ' | Ю 6 | , , | Г , ' o | | , O

о1]]а;ксlt]j1)lii ]iод, кo1\)рь|jil)а60rllеT' хoтя |ia лeplrЬIji пЗпяjl lI iiе ДоЛ)xеll, oснoв.ное пPanr]лo тестиPoвIЦIп{a гласxт: lIсIrрав,llсtl11с oдноii llзвсстl1оii olrrll6l{l1 ttрll-llо/(lrт к floявJс|пllo ]]есяти tlо]]ьI]i' l]пlс }JоlIз]lсстrlъ]ri, oтск,.lа: чспl 6oЛь1Uс оши.

6oк l rь r t r с r rpав ' ' tяс l t . TсsJ l . Lх .n r 'цЬ] l |с ЭTo хо l )o] l lо со] . Jaсyeтся

с гPaфIIlroNI завJlс]iilJoстш колlгrссrяa о6на1lуllсtItl}lх оlrlJr6oк оl.llPс11сttl1 Ti)сTll'

Роna l I r Iя ' пР l l l l слеI l I JЬrN l I l x lп Iгс !Tг t ld i l i onI l l sоI t \ \ , .1Гс . l сs t i l l 8 i s . l I l а i ]L l r с I ' J lин .

дll п.lа4,сp (l,rп(ln shlrlс0 (l'r.. 25' ] ).

чAстo BстPЕчAющиЕся olшиБки I. o l l I l16(II]Jхроl !|oсоI l i lx()кру ' i l l | () l ILrrх:

_ |Qu|оi $%t эnюв|:е |J||о."|l||lцоaа!?! .}|l',эnЮ|ibl'ю3 j||,|1IxlзIi),uma}n|l(|,1oв0i !]эJс(| 5 !1е|n к|1l| ц|оnlL|О!-

'' Кulкl'мц $i,i' $ tовtltllt]| Ix|I|11l1ln]lnь nю' чnh 6ьl!]о .11рое^]nuрaaо||о?! -

] [uКпo ]k' з}1{r0||, u.]aо6щ l1r бьLю nРое, u,iцас prl6шоюпt в dpuаt't пtu-

- Ка]сoti $%$n эn]o коauРова 1.? ! Воп aI' сud1uп pя|)о,lL' t:tlЙ,tttс1'еlнuuеr:-l|uЙ Аpru]]1ек]nор' pu|:ц|:ltt llnфnrпttа u npопtlрае]n ulЙа]]ьl, о n]o вpе!11я онп paс|nо lJцunся ]1Рoц|l'l|'l]ll Рова n ь.

L]]nоЗа # !l !i%?! Bцеpa вuэ ра6urnlо! TРое $%# n сосеоt!u:| ?nшювpеttt u.ltu u mo.mo uLo6ruu|tЮ nо-u|,0 ]nъ в lов|ah nuu l:|lо nе'''lь! .

'ItaКoй #$#% эlll) fu1111Ровa1.? ! 'I.1:' э]na ]ndo6ыrо вцсpа? (вoсl.:'|uц.l-nuе РunIоPuц|:||:]сa.! ) '

. o!rибкилoNlr l r1JяIoрa:

Чmo За i $% засmо|JrяепL L завnф{]u111е.о lня uс,|lo:tьзо|]а|]1ь 2'jl1oкавьLiкaмnL\яmоР ltJupмьl 1\,I?! tl'v, эtna zlo6utьltoе l|олumlДесКaе pе|1|енuе нацpoвне СIlo?|

о oпrlr6ки дсбaггерa:

Page 407: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

408 главa 25. тeсlирoваsие пpoгPаммlgro Фспечения

. Оши6ки lnte8ration:

Чtпo за $$%?%?! B,lеptl все pа6oпало! _ 9 uvОаков uз 4 сосеaнuх пLнaв3ац.|! -7na ?ешujlu сьltnnе2pu|]оI]n1nь все вJraс|т|е в пвoii npоекmныii 6pанц,пцtt.Lем н еза вuсштt о dpуz ollt ifutа '

$ $%.|'% !! ' не 6ейmе пеlLя , я 6olиutе не 6цdц. (Э mo nъ! ?е1цu! сnLн||1с.pu-?oвa n п,. :вou uзj|I ене н u я - )

Пpосто rlши6кtl llprrpoдьl:

I{оxоn ?$?# |азj|t!о1f,ulL 20 сnlючех't0 p|Lз в 30 фаЙлах, paз за6uв пo'tкцс 3аnяn]оnIL сxo61|ц?! ' Аtа' эпa 6uл шLОltlll ауmс(ryсеP' ox l1Рo?Ра]anЦJс|nuз.1lо6]]енн1,l'\ нluliс liu.\| .4t спюоaм сut п 1)an,е, ц 1lе?o всe Jro|oшa, oн aаrcКa|l 3наеm' \mo Йьl аa trc aoс]1l|11!еlx1,'

orIпIбкll liпс-mаfl agспспt'a:

- lQtкozО i $iz $9| вь! ]Ю ,м ]1е л|1!1nаФnс сО свoеij сu)n|\|R)li цчe|na Ра6aце?.ов|(jlц11l.1! У.\.,l'1 1|е,Yllаnаrп 10 ,|lil.ЙсеtiцtЙ a Ра6оц.jil l!а.rj]с' u aаш Ла.]|а|еp d1l}xx.|n, цnxJ я ]nосl|l|lhli| t]|,olцJlь|Il,uк? 1'r1o? Ik,цnx|u|nl, aсa эапuсu1|а 3,ц|x.яца ]юзаa?!

ДмитриЙ Л6Х|iв

ЧAсTo BстPЕЧAющиEся oшиБки IIl , l i aГ l l8 , ] l l l l ( с o1)oI l l t l r х разрa6оr" t r tкot r '

2 , ] . , I с l r cJ l i | !p l ' ь l i l кастЛ] i l . ,

3' II,,,lll r l',l o!сllWаtсо II). кo Nl lll IJ]яT( Ц)a,,1, зlк,]]ir,LыlrаrlIiе lla 0со6сrlrкх:тrI сlIлтакспсlr r{(nIкP0TIIьIх кoм)lrlJl,lToPoв (6аГ.

Jl.ltiд)'

5 Заlr]laдьlвallиe IIa ос()6еuнo('l.ll Tай\|ll]rг()Ir кotlкPсTнЬlх кoNlпиnя1oPoв (6^г-Jаuд) ,

6, гPязньrfi кo/I' lre кoшrилlрvюпрrtiся с.W.ri].w stгi.t.l)I() totvPes r t прoч1rмlt}']рп(Л]кaToPамl,l.

7' Helrпицrtiurr.rзlrрoвaнII])lе YI.iзaTсJ1l1,B' Лoгlrчссклс oirrи6ки'Г,lпa <сн aчaJlil вкл11ЛJIlTь ]ttс.llсзo It тoJькo IIrl'r.ol1нaстрo

9 lloчсNIу сoф,г-айс пa"lаеТ xpи пoпьlтк€ t.l!|l,lцui'rизацIrп

10' Iloчсruу с]16 Ilе пoIlиN{aеT 32.раэРялпьтe Реrl]стРы?11' ltaкoli Irдиот гепeРит tI]с-|Pvкцип 'Гипа Ds:mov аx'bx?|12. Кaк;-з r]lylrсrrия rl пoнепry тадrlт в тa6лпцv преpьrваrrий

l3. Пovеrrу в канествe ДoIryмel]тaцuи tt этo]\'Y чyДv 'llс)lrитI la ot lсI/usb? l

пo aДресy 00;08?N{аII пa hсi/1з94, а не

Page 408: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

тpудoвЬ e бyдни лрoгpаммистa (иФoЧвик нeизвeсreн) 409

Id, кaкaЯ свoлoчъ I]а l I lс:Lna int16 а; u int8 fdr* b i b-&(( iпt neаr*)а);? l15' ктo сItазал' чтo :]Toт 6Лoir.ijФ]o rrьфaвнuватъ пa паРaIPаф] а тrе миlolN1Ум ]lа

256 6aiП?!

16. IIoчсi{у ]toд lr:J п' 14 Tа]rи Р:.;oтaeT IIа нскoтoPъit iJinlllнaх?гlикита старцев

тPyдoвЬlЕ БyдH и п PoГРAlvtl'l истA(истoчник HЕизBEстЕH)

.il to6oil pyсскII ii llроrРa]\J]\I I'I ст пor'Jle паpll it II пvr v'r.r: l rt r.я кодa о6яз;rlсл ьнo вслoч}t'Г ll xРoиз}rсс€r.' o6Рalцl],tсь rr сс6е: пеPеttltсaтЬэTo Bсe lIа(xIг,IIoтоN|в нсM Urс.веj]Ьl]сTся сorlноrПе I] тoNl, скоЛъкo Ilремеltt'l этo зaiiift'T, t,l остатoк Л||'l ])yс.:lo'liiпPolpaммl'сT llo'грn'Гl{Т uа r.o. Чrl 6r'дет Лrл<а:lЬlвa'гь сaпrollу сс6с, тго il,l.tl 't ll.ltькoI{a,{етсяl чl.o ]Icpсllисa,I'ь это lrrror.о pa6oтl,r' А сслll n3яl.liсrr 1l noспile'Гl) ,к]]\lнo.гс]l 10 ll(:c llo"(уч,l1.сЯ, l]а'Гo l(o]l 6vдст кPасr!8tnii Il rlPаBЛЛЬ}ll,lii. ]-Itl сne/iуl()щcсyтl)o русс(xil ll PoгРaм ll Itст с вc)i' дo поЛ с It {joбoil I l б03 с,Lи l ю ii зalUj ll IсI t ]Lo |с,lацьгI l : tC| , ] |ачaJ lЬствy ' Ч , J . ( ) Л( 'Pc l | , ' l с ; t l . ь э ,Гo ' | J (y(окзa l i l I с , ro/ l | | l Iдс l lЬ ' I Ic6( )nЬ|I |с ' / la ' I l с6o.'lьIllc. [1Y' в l.Раii|'olj сJIyчilс' ]llli, eс.ljI yч('c1.Ь Rсс l) сl(|I, B rl1oГ0 |l;rч:UIЬс1.lю/l(aсг сillv пLцс.ll I()] lI чсРсз I lojl гоЛa l lPol l(rl(. будс'].Yсl|c lll II() зil вcРIllcl i lI() Тoji lloрЬl 'IIoItа э,|oт ко]1 l|0 vl] |l,lil]'Г дрy|.оii РyссILиii ilрогрaNtмIк|T'

A в этo пРс]ия в с()сeдlx!х чс1.t'рcх ку6|lк;lх буд(]TJlll lIa сскvI{](Y l|с v,гIlхal.|J рa6o1.aк!lТаtl(кltх l фoгрilNl]\!riс1.oв, llci остl Dкиr\l ь]]v oбl)iЛ()M yN|)7Ф'xollt!|хся l|РIlihrt PalIl.l] |с Ру(x(oгo IЦюгpам мLtстa' yi,iттr пo:lrкс rI r t рr r э'r lr]t| (|/{|.rIn1,Ь IЧrrl]\ieрl к) D'ГPoс NtcI l Ь'lllс, )m чсТвеPJсa I{ilB]ю llс llиIllсT lrиJ{aкоГ() lioдil| il,гojЬк() ll olЦeРxo lt]асl, кolll l]ir.r lис i ] ] l11пu a с l ]oс 'р ' rмЯ и l lдусoм l l l (вш{дЬ l r |сpeЛl ]саI l ' lЬ I i i ]1 f i у l " lя PазнымrIрyссIri,шll'{. B эTоlt1 к(Цe flс пРoстo,lоlll\,T 6агri. здесtJ llх lrlсз/(о, :лo Гlloзllо lloстo-лrшroвoсrщot'tзвoдrrтсс6я прtI пoNющll Jlю6lг!()ii li!ll.iliiспoiiтехlloЛoГrl]l рсI'сtlojlь.зoваtluЯ кol1а '- соpy/pаste, oтс]oд:l6aгII рaспо.DзаюTсяв P:LlIlЬle сToPoяьт rIосPед.ством с'Гaтl.iчес1{rц пcремellllьtхrI xсPс]\lснllьIх' llсPoдaнuьIх lj0 ссЬlrlкс (rlостtoлЬlс\,клтаiiск!tй xPoгPaммllсT пeв сtUtах с]\IпpI.lTl,с, с Iiсyдo6с,Гlrаl l) lrызr]alпIы]llli l.еNl'что оIl ltс l!|oжcтIlз]\{еllllтl,зlIачсниcвIlеIlпlеii llсirсмснtloi'l' псpcдаllнoii в rгo4)!lll{-цпiо \n)дуJlяltll1l кoтopьIе пeРеIIl.к:!Iваcт Pyсск'l.i lЦro'рам' l'сT),

вспoмl{llaя (16 этori фyr]кциl1' pyсский програмNxtс]тj кaк прilвlUlo) на 8Pе]\{я тe-PяеT/lаP анfлIrйскoй peчи и xсpсхoдит к l.a]ioii-то помeсIi pyссIioго 'I кtrтаi'iскo.гo' oп дaв]1o lIсч'ГаeT пepellлсaть весь кусoк' llaд l{o.Гoрьtl!1 Pil6oтa]lrт llll]аjhlьl.Iloy пегo llствP€lterи' IIа ки'Iа].iцаt в'Jсят сеPьсзнЬlе 6nrЛ, o l{oTopr,rх xtlre] llач;rrrL(lTвo I{ пoстoяппo ltх Тopопllт, ки1.аiiцьl тоPоп"rrlrвo IrсPовrЛllrнiltrrГ 6агп :lPуг ]IaдPуIal пoсIloJrькy знаю'Гl ч1o l1ollьiткIl J.iх )loч'll1иTь пpЛвelvТ l{ I]оЯв'{eнпIo lIo'вьIх. еще xу/ll]rЛх, и в этoп ollI] лpaвы,

Paзo6pатъся в тtlм, в кaItом llОpядrrс r1.I]яloтся сLат]1чсск'le пePеI1енньll] 1l liа!пpиo6рeтatот свoи знaнепия' сrroсo6еlr толькo oДи]i чtrлoвeк Ilа (lrирr1с t]ндyс'нo oн прe6ь]вaет в Nlсдптaциr.l. lioэтol'rу r:oгдa всto чствepку vвоnяl. зo врerlя

Page 409: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

410 rлава 25, тefrиDoваниe пoогоаммного o6eспeчeния

сol(pаlцu{tlЯ'., /\ кoю еrltе yвoJъrlяTl,? Pус(кr'ii . спlс ilе пel)сl1llсaJ] сBoii кyсоrrla иllдyс -. гJIaвIrая ЦсIпloстъ 'lЛrl)мЬ o]| pсxкo о6Pапlilе1. нlr,ll]аlrrlс нa пpoскт,пo кolцa о6pirцаст' всс поlll.|]!tаiо I' '],|() l aкj кiu( oIlj аpхпTектyl)у Лrlк,lo !]с зl{аст.Tа]. io,г' кol.liа кI]таiIJ(сD Yпо rьliяl(rг' ! llх к()'lil !oз]\ки(i]ьJ /(r]е ()с1l()нllЬlс оy]lь6ы'ПеРвiul - ott llrrllадсТ x рvсскil\j! |l cг() J|сl)0l||llllу1.' l]тopа,l . ()ll I]()IIirLдс'г к r\lсот.пoпly' каIl:'к|l()11Y llPoгра[lIll]с'ly,

o , кa l lа / ]с r (и i i I IPoгPnr ! |N l l | ( r . - )т ( ) ( )с ( )6ь l ] r T l I l | . o l l ' l l п | |a ] ! IлI lyТу l l с З l l / l yN l l , Iва-' r cь ' кaк рьI l l аРь 6ф с ' r . l )aх i l I l v l |рск i | ' бро(| r гс , l ч l ] l l l гГЬ сaмЬ1 i i с8 l IDcпь] i i 6 i r г к i l .тaiiстсогo (().1iL, :jT01'баГnrl11lсT,|il]!|у'rс TPII l oдill l1 l{]l|'?ri]ltln v)ф 'lc'Гl,ц)e}|(nЬI (tru{'

дЬ l i , i по Pа3v) сoo6u i i lЛ l1 uача. ] lЬ( , г | ]у ' ч1! ) 0 l t 1кЛ lи l l с l l ' t Iо 6 l l г к l l ) |qцЬ l j i р i l3' п ' J U I ' i U r : ' r | ( ' , к : | к Б , ' . ! c | , | ' l , n , ' ' i l , , ' \ . l | l I , , : ' ' - , i | ' I l , , к | ' , ' | , 0 . ' | ] ' j , v l | | | l . , . l ( - , , n -'r,()] чсгo кl'lTaiiцьr ]Iс рискoIrlL!]r l((''rjаIь IJ,|0Il0ln]с'LPcх j(o"!гшх Jlс,|, oн IlPrl ]|oI{o-IIl|{ дo6afсpа oTс,tсдltт N'сстоl lдс с,].а1]]чс(l]Lil' Ilсp.lIсllIJая |фlll|я.lra i]l|ачcIlис 1вI1есто nрдвrlJIь]lогo U' ll Poll1lr1с,lЬIlr]lNl д)rlDко|lисNl :]aвcllсT pядoпi в1lЦrу!o lIерo.l{eп]lуI(r с llраl]l!IЬ}t!lIl зllaчс|пIcIl' Баr пoгir6lie,. в lIcPaвяoli схBaткe с кnJla/lс.киl{ прoIтапlми('roll, IIo пoбoдil бv,]eт Дoс,гl lгl iуTа ,Гя )I{oJоii цсно'i'

Pa6oтaть пeрeс,мlrс'г вссl вltJПoча'l тojlькo tlт() llеРel]]1сalIнЬlii Pусскl'I[' прогрaм.\tистoм l(о/], эTo Ilo]]сРl! oT Pyссltоl.o пpoграNIN'Ilсl.ilв l]адУIIчl'вoстЬ IJa цеЛьJх двадня' пoсЛе чеl.о OIl сДс,rlаcт' в о5щоrl.тсl' п]leДскaзIсмr,rj] вьIпo'1o тоNr' \TolLlвa]illс сaмоlo rraча:rа 6ыл нсправrtJ.rЬпьi}l п в(|е lInДo nсPсIirlсаTь, lIa э'гo Ilal"l нvжнaпeДеi,!, да' нсдcjrя, нe 6.]льпlе' ка]lа/1(шl]i nPoгPlllt\JIIсT сrlе]lo 6PoсиTся нала]{tивaть Bсel и сTалe1.eцс хужс' хоTЯ' Iaзал.]сь 6ь]', этa сустa вьI Irедет из lreДиTa.ции Irп/.]усa' кoTоPшii JtPI]llуIlаl]т п гlоllсe гeпI li].r]ьrrос рсllIснпe .)т6Ра]lчuTl, кoд,Coгласtto еr.o планy' мъr тепepь 6удем rк1rдсplкIrвать две веpсиrl од]loгo rI тoгo)ке кol1а - однy pa6o'Гarorцуrо' пo с Баr.oм, дpyгvlo 6ез БаIа' no flсpа6oтающvю'Pусскиri пpотpаммпст, yсЛЬllrав ()6эToм ]inaне' слoм аeT.'rиIrсiit.v о6 сTo.n и доN'no6jroвет]]{сну дypoii' tlo riа мlr,гиljге ЕoзPaзйть нe PеI Лт(:'t,

I( сvaстьtсl' ясе это но сr1Льнo вл'яе,Г rll ДсJra 4ruPNIьIj пoскoЛьку пpoдyкт xРoдae | . я ] , т , ' ' , п о J , o \ l v ! д н Р u r ' P | | г х ' , J ' | | в ' , r | | о в о l Ь | l Ь , | | , , | 'нaть всell' чтo o]1 o,гo6Pa1rьI какЛуllrll]lr сpсдx лyчrппх, l1 чтo пlьI давно докaза-ли свoIo сrroсo6нoстъ вьii1yскaть aрoд\,riT тсll' чтo вьlпyскасlrl cr.o rlнoгдa.

Page 410: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глAс нAPoдA471

,-,СrnolкнувuLuсь с trco1ъяcнu.t|oй ouЛЙкoi, нтчuн(|t|)щuе |1pо??|1j|J|!uс?|7ь!aбычно свaпu|rаюm вuнц 11а lсoмnulлmop, JiamJ| в natlавлаlouae) вi,ьutullc-ве.J||цчаев aн u вuноваmы са'ltu, F]eы nLмаmельнoс чlnенu е i)снцм енmаu'u u u нс'6pеэl|.1!1,|й с|nunь коd uloваnuя _ вom aсnoвньЦ| в?a.u пpaqа'ju|uсп а ;-'Jnссlnuрцйmе nJJozpalшlJ moльtсо l tа завеdо'+tо uспpавlюм о6opуОaвашu u lLuв l|oе']|| oryц(l( tLlэ pl1з.oxяilnс, ano 6ъL пrrм ltu6ьuto |1ouс1сu чсp oi кoulх-u,кa|nоpou1Iе|n,в чеp11oй кo.мнаme, коmapoii нuкozОа lLе 6ьшo, оnньtlаrmлtютll|pеJ|c]|u u цсuлun' хaduп rczеltОrl, цnо odulL пакоn pазpа6amuuк, бunьtn,мLсяц zoня|JluuЙ 6аzа в npozptutле, пoО кaпецнаutеl1еZa,,' в 6nanс |rllпа1t1]я,Пo.adlюn веpсuu 6лoк nпmа]|11я бьш Звеpс1|u Ра3tlу6'ltаt muюpсl.lt, пo |)pу-zо1i _ 11oв.,1l|эl| 3(I nРolзoa }n сnещ (tз 1lal dаше oКР!:'ссl lоtцrц);

.,,|tак p|пo(uаnься a фаiL1е Оа'ч nа.? I]ц:tснo зtt аn ь льlк Ас се.I|6I.р ! l;Nэ э ]]1()zo вrы t tuксltlа lrc сnn tnь n аInaя ul,llу n Рo4n.ссu о1!аt|o'l1 !

'''|1poe](Л1 |:doa', нa arc еI4е cсnD nцца no'illэjнbL1. ссьLlon o ]1k?сnLц)o|за]l1oО:http|//WWWtestiлgсrаft 'сom/,

@шl0T8uIllll[

Page 411: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ЧAстЬ v

oп EPAЦиOH H Ьl E систЕlvl Ьl/эlЧyЛяToPЬlи кoMпилятoPЬl

нескoлъкo Лст нaзаl{ oсl'lовllЬlм opynrиoм хаксPа 6ьtJx1 дизaсссмб.цсP и o1uад.чик. TепсpЬ жe к лим дoбaЬlя,.'|с'4 eЩe и эм.ц!t!arлol, oткpЬlвaloщий ltcPoд кolLo.кonaТсЛЯnrи noистиllc 6rзl?аlIl lLll ll'е tJo3мФкllос'|]и, Рa Ilсe /{oс1уII IlьIс'l.о.пьlс0 кPyrl.ншм чov|,алl|лI l ' а |с|R ГЬ г ГавJ l l | ( , IPив|,| ' | ||| , lм a,rpиt i5 гoьr , r rоt1огo ис.лс l r , 'вrrс , rя,чTо же этo зa эItyЛятopЬI Taкиel и l(aкиe иIlielIIlo вOзnlo](нoстtl оllи o,IкРЫвalo1?

Page 412: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава 26

эмyлиpyЮ|дие o1ЛадЧики и эМулятopЬ|

|aвa 27

06з0p эмуЛятopoв

глaва 28

o6лaсrи пpиl.4еtleHия эмyЛяTopoв

глава 29

ядeрнo-|"Iуклo|.ltlаЯ сМесЬ, или чel4 oтличaeтся xP oт 9x

глава з0

paзгoн и тoрмoхeниe Windows Nт

глава з1

Winз2 завoевЬlвает

главa з2

гoвки на вьlмираниe, дeвяяoстo

глава зз

теxника oг]тиMизaции пoд линyкс

|JNIX, или пopтили, пop1илИ |n cГ'op1|4л|4

пятЬIe выживают

Page 413: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гЛABA 26

эМyЛиPyюЩиE oтлAtЧикии э]v|yЛятoPЬl

Bсякtlя oпepaциo]llIAя (llсTсмA иiцоeт свol,l 0с060цIloсTl,I, li l1ol]ollсц,'lс llpoгpаN'.Nпn, зAлyщeltlloй Iloд Windo''vs 9х, Nlo}ксr' су щ0с'lвсн tlьtм o6paзoпt o,lлllvаться oтWjlldоWs NT. зoollаPr( UNIх.пo,цo6lIьlх сllсTсм I't lctleTичcски lllyTирoaапнЬIхlсJloвoв JlучrЦс soo6u{е IIe всIтомI)lil1'Ь' xilксpу, зaпимаюrцемyся сстсвori 6озo.пaспoстьIo' пrо6хoдltпlо п]tIcть aо ]!,еi|Ь]xсii мсDс тDll сllс,г{,мЬl: Windоws NT'LINUХ и Ггсс BSD' _ нy!t другиe ()JиГмаllЬl pьIflI(a пe пoNlошаIoТ' Мнoгl,!е Yяз.вl,1мOсти (и в частностll' oппtбкtl rlсpсrrшlнсlrпя) прояRJtяloтс'I тoлькo Irа строl.ooпpeДeЛcннъrх всPсиях oсll l,l .)lljv1{|твyю r нa всeх остаJl ьI lьlх. A paз Та]t' написa-пиeм и о'Гnадкoй экспJroи'Гa аr]ьl lla чеI"l tlс зailruсЛл'ся..' Еio Ilостoяннo пeDeсTa]r.лятr , .воro Pа6очую oг. ' f , гn ||r 1 ' l J|ь| .U '] lов|||]I| .J l пUl .Л '| op. ' 'n"u 1 i в1 'емявссlда pа6отaeт прoтив пас)' llo сlцсl ll pисrr потeРIl всeх нaкoплсптlых ДalЛ$lхIК тоllу жc сгasЬ тeстьl пa перепoJlnснис, зaltаtIчllваlощисся с6рoсoпl дaмпaЯдрa, это хоIroпlиii с110с06 nPcвРа'Гить фаI:iЛoвуro систe;rтy в мerualtишy, И хo.тя поTeряппЬlе ДariньIo tlо)l(нo пoлпoстьlo иЛи частичIlо вoссTaltoвllть - вIn дол'(пЬтумeTЬ э1oдсЛaть, oставляязirсвoиMu IUlсчaми г1lrаптский onr,lт 60Рь6ы с paз'рУlrreвиями, Сухая тeoрпЯ 0)aвпo как и Noгton Disk Destloусr) тoлько N'eптаeT.Boт и пpихoдится зa6ла].oвремснlto пollitJючaть oTдеIьньIй ви}rчестeр звеp.сI.и наД нIrNr издeватЬся' тo norpу)ка-.{ фай.rioBylо сис,Ге]!1y в rrе6ьIтI,rе, To вoзвpa.

Экспeрипrенты с виpусallи и 'кспЛoиTаItи так'(e следУeт прoloдить I'а oтдeль.пoii 01oЛнoстью изoлиpовarirrой o1.внсlшнсIo мирa) lташинс, пoскoлькy систe.мъI рa3гpа}rичения дoстvпа' rrстрoе]шыс в Windolvs NT и UNIх.системъI' Дafle.

Page 414: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

эмyлиpующиe oтладЧики

ito llе бeз]]l lpсчflьI NILrтеihпаЯ r1с6Pсжнoсть, Допущс11nая ]iссneДоваr с'цсr{ l зачастую o6l:lpачпвaется тоTaiЬllым paзPvЛIеlIиеi\l,

ТPадltцuонно эти заla.пl Рelr:!1tlсЬ путеrJ прr'о6pсTсния ri €сk)rl ],tiuх ltoN!пьIотepr'B r'"]|rl }]а хyдoп l{oпe]( пi|южс(тna ineсп{I{х ]'Lllскoв' IloпеpeNleIlljo ]loдI{ЛIoчаeIfьlх к оlrнoi маш пe' нo леPвoс дoрoго (п к 1oNlу ,кс всe:|ти кontllL]oт.Pьr rJФ.lol | Р , г ' г ' , | \ l . L , , l ь | , | r ) t ' l o р r | . c l i

оiiа,кeTся ]lсдoстaточ]lo ]\kс1а)' а втopoе ltе:эс'l.стlIннo rr llеу,rобrlo. lt тоi\f\] 'iе) к е с ' | | ' , д | | ' ' { | | , l ' ' P о , | L | | ' l , | U , } | . ' | | l ' ] , ' , п ] , , l ' , ' | п ' д | , - - l , |

Iloкpllвaясь <бэдаi!1и' пр1l rLll)клоNl yдаpс,

Тспсръ x(е этоT коlrмaP маr1о пo\r:Ulу oTхo;lпт B п]х'r|rос, п,Ioп(l, сoвpсn]снньlхxpoцrссоPoв l]oз]JoJяст э]\ElrrпР()вrrь nссь пеРсо|lа.Цl,lIьx.i rrопlпьlo'|ср Цс.llш{o\J'l]o3вoляя вuIloЛxJlTЬ нa IIеi{ rryоIPаllIlьI n Pe:!]ьlloNl rrРс]\'l]пll ]i (] Iлll('iJJIсlioi.iс} iopoстЬ lo , J ] \ !ynЯтoPьI плoля1.ся j ] tа l { с ' i l l к ] I | ]осnс дo ' (дя ' vМWаrс 'V iпuаI РС Dосhs L l ] l ( ]U l / , Dos .B ( ' х , ,] l l l ( ) !ыс ' I{a l{o i I ]n i l l | х в l l6P i l IЬ? БoJЬnI l | | l с , l вo I I I6л l i кnru]] i ' l Iосвяп lc l i I i ь \ ) l l ! -лятоPаIll оPl{сн] llPyl(rr()r l)]авIlыIl oбP.]lr()\l Ilil l.сiiuoров || (]l|с'гс^lIlьIх:l/lNlll J11с l.PаТoPоll. IlсрBьlrч ва'(llЬl ск()l)(х|1.Ь J' ii:lIlес'Гвеlr1llnii 3l]y](' Dтoрl'lNl .- IJаiпl.ll.|с Nl(!хn]пlзN''()в |]3illl]vIoдс|iс'ГilIlя Nlсlilу l]jlР].yа"'lьllrnNjll ]\|iillJrпlа]\1|l. хitInx)а]\l nn' ljr }Jс0эТo ltilII'Il0вaть' Гnn8|l()!' -. ЧT()6ы Р116оTrLJJ Aiiс' Ilу II встро()r]|r'ii (ЬUiIL jn' ilILсrлn]'1Ilfugl.аtсс1) ()тJrUtчllк l|('llо]!JсltlасT' I{ loN1у )l{с oсI|()|j)l()с llРoxJ\IyIl(t]TJ]o э}tvJ|я.| | l l l I | J J " , l , , , l l , | \ l " | г U l l ! ( ' , o , l n r j , , , | , , r , , , ' ч v , | ! , l , , . , '

Tltковoi.i. lIо Ile 6yЛr]м зit6сгil'rЬ ljllсP0д..'

Page 415: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

476 глава 26. эмyлиpyющиe oтпадчиrи и эмулqтoры

MINIМAL sYsтEм RЕQUEsтt o " J , ' , с | 0 о J \ | I J 1 ' | , U п п , e L L Я в , } o ' в c ' ' r l ' \ \ 1 6 l / | | | | ь ' 1 г ' i u в r l , | | , ' | п "paтyPс' .цЛя кo1lфoртtloii pа6oтьr сWiпrlows 2000 и iгеe вSD 4,5 пPoцсссopаPoпLnш-III 7Зз MГц 5},дет RuoЛllедoсTатoчно (в чaспloс1rl, VN'I Wагc (рис,2tj,2)прсвPащa€т егo в Рelltiun lII 3з6 Мгц' a viгttlа] Pс в Pспtium IIl 187 NIгц' rrорoчс гoвoPя' QtjAкЕ I хоlь lr lla ]tPсдс.l1с| tto всe Tаки ТянеT),

Pис. 26'2, диагнoстика виpтyаЛЬнoй Mашиньl' созданHoй эмуЛятором VM Wаrе

Тpc6овaнпя к папrяти rlirпlItol.o 6oncс )ксстки' к:rк мrIllllllуIll1]оo6х0д1111сr lr]!lеть128 п,I6аiiт /.lля ос,IIовlloiiо]lсPациoннoй спсTeN1ЬI G)6ЬlчIlо назъIrrаeмоii <хоrяiiкой' оT al]l!|, hosl) rl пo 128 256 Мбaiil /Ln' (aждoii l'Iз oдIlовlreмеlllo заIlу-п{ellпых вrDr.ya.JrЬllЬIх llаш!п (rlлиl llllаЧс 1.oDоP'' <Ioс'Геi'i> _ oT Itlll..ll, gLlсst),ЕсTссТlrсннo' кoлr'чествo пoTрe6Jясмо]i памятlr опpeДел,сТся тиnoll эNIулирyе.мoй oпеPaцпorrr lоii сисr.ellln, Tак, cсли этo пpoстуUЛrа N4 s.DoS' To д-1я пee lr 4 М.6айт плoлlte хва1.ltт, lla 256 N{6aliт y)к!A I]oжrl.J сlloсllo эNlyлировaтЬ Win.dows 2000/ХI,/200з, запуlц€ннoй повepх w2k !шrl aна-rlorliчпoй orlcрaциoннoil

o6ъсм физичcсItоIo ,кесткoгo ll1lска в ()6щеlгт0 неI(рптЛчe!l, BuPTya,IrьньIr мапп.lпьI сoздаюТся oт]]юдь недля iiаI(опЛefiия дaнньIхи за рeдI{иl!l!.] искЛючcнIrя\ l l l п . . r Д 6 p ^ | n , ч . | о , р о v e n п 6 l . U n l ' , | н o | | . , . | . v | , , 1 | | | п ' | ч ] L \ | в а Г : l , | Г ' п oстаsItи и /]яielITJIьi!1снскoro на6opa сoп\4.с'rэуrощиx eй прUлo)ксниii' чтo

'IпllfiEяll

Page 416: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

вы6ирай эмулqтoр c6e пo pукe| 417

]] сo9ol(yплoсти oтнxI1ает r!e 6oлеe r.ига6ai.iTa дI'скoвoгo пРoсTРaпства,Ilpичe]!f'}1Il o]1иll rв пзвeстньtх NпIe эмyЛятoPo! flе тpe5yeт нсlloсPeДствеIrнoro дoсTуIтaк фtlзичeсI.oпly ХeсTкоlly дIrсI{У, tsМeсто этоIo o6pа] rrлртya.riьнoгo rЛпчeстePa

P J з I ' e Ц а ' | ' я в o 6 l , | к d о в " d н o r l 1 ' ' i t 1 Р ' l o , n o . , t ' ] U п . , 1 ' | | h я | o . L c | ' ' h х n | ! " l с | в с | .

ной otteрациo]J}rоil систсIlе. сo6ствеIJtiо гoropя, вl.lРтyа]lьriьt{r дliс кI l 6ьIвaют Iк)

iLсньrlreй N'ерeдвyхтиrtats фuксupoв|lнньtе LI a ulLаl||u1Lес\|uе, Г\Р|I сoзnaН]Л|l(bL||..

сиPoвaпlloго д,lска эпly.цятор срaзy,Irе <pас1.яl.пвaет) фаiIл.o6Pа3 Ilа весъ тPе6у.

емЬ!й o6ъei!,l1а)ке ес,]п1ToT пe сo/lеpжит 11ика1.о ij лo.nезноij llнфopNlaЦпп' Дxнa.r l ич . (h l ' ( J | | с | ( l l , J пРo | , , | r , х | l J | | ' - в 06р " J Лишь I ' e , ' , 1 , ho за . , l i l т я ' | l : l l h L , .

виp]yirirnlыe сеIоoРa] lroсTеttеI.Irо увел,Iчl1в:ul (16ъеl! o6Рaза пo мерe eгo зaпon.

не]tl!я aктy:UIьЛЬI]\l!I данllll]vи' 3altaIlчшваЯ' ttt]РспeктIIвa) не Ilpaвrlа JlIJ? впIссTо

1'оr() чт()6ьr пoPoвну дpо6!lтЬ свol.j qЛвичс('lil.lii,{есткllii Дr1ск Nr)кдy вIrPTуаJlЬ-

!lьlN{и Ntallпlllaп!и' Irьl ]\lo)кe\1 вЬl,]еJrrпь кa,к]]оji lllr lпlх пРaктllче(rl(Il Rсc св()6()д-

нoe фrlзxчсскoс I lPoс Qaпство ' а |.il}l.. ' | |усTь ol tl l сail,1 Pа]l6 п l)aloтсЯ' (ollJ J r lI lx

o!t{r l lу)кI lеe' Oдrlаlio rtс всс Tак Ill]остo 1 П PoиJl]()Лl l'|.cЛ ЬI tость дr] 1laмltL|ес ких дrlс.

'{oв llа]\{lloгo Ill])кс' чеi'{ (l)l|ксиPoвaЛlIЬrх' Да к Toi\!у,{c.]llll noдвeP'(еllьI вrlvlРell.

ltеri qrрarN10Iшallllп (lIe путать с (])Р.lГмeIJ'ГIulllсй (Diljinl oбрllJа Л d]Pаl.мсIrл;tItt]еiIэNiуЛnPусlIoii(rаtliЛoвoii с с,гс}Iы!), ],l хor.' Ilск()|olЛ,iс llз эIlyJ'r'г(Цх)П (Il чaс'Гнo.

сти' Vi!'1 Waгс) содсP)la1. ',сTрoс|IIlЬ|с /l0.lrра|I1cl|,|iL'l()])ЬI' оJll] всс Pilltlt() lle РсI a.

toт tllю6Jlrr\lЬl. I{ ,к]NIy )кс (ю])N1ll r /(lI]lаrvllчссl(llх д|l.IroD l|с с,гаIulаPIliJoва||' I1 о6.

разЬl рitri!llч|lЬlх ]муJ!я1,olх'l I.аToгoР||ч(x]ill ,(, (]()]}]\{есT]lN|ьl друГ с /rруГo]\J,

oсr.а.'rьнoс o6o1>улoвlrrrlIe ]\{Ф|rс].б]nтЬ '(I()бЬI\l . lln сI{oр0с'|I, 0N|у"lI'i0lЛ tlIltlIlplr|i.

T!lчcсl(lI 1l ].l l{il |l ||0 ]lJI']яo'Г'

BЬlБиPAЙ эмyлятoP сEБЕпo PyкЕ!

Прп въr6oрr: Ilодхоllяlцегo cмуля'гoРn хаксРь] oбычllо

Рукoв(JjlсTвуloтсЯ слсдylощи 11|l крI 11.сpl iя \] l1: зaЩl llцсl |.

нoсTьlol рa(LIlлряеNlостьIо' .)1.кРЬlToсT о rIсхo]lll l,l х 'j.ск.

с тов ' кaчcст t soм п ск с )pость Io э i \ ] у . ' l ' ц l l l I | ] | aлшч l l см

всTpoеннoГo оTJIадчxrrа и гri6кос,Гъю r1охаIlllзi1oв рa6о.TЬ] соsllаP slrot,аNll{, Pассмo].рпllвсe э'гll пунк,i.ьl lкlll0/l'

робIlее'

зAщиЩЕннoстЬзaпyсrtая аfPессrIвIlуIo пРоrpаi\l\ly ]la эпIy"цяToре' очe]r! с.цo'{tю oт/]ejlaться o-r

мьIсЛrl' чтo в "rrюбoii мollе]tт oпa t]o'tет вЬlPваl.ься из п.JII elo кoнтрoЛЯ' oстав

ляя зaсo6oii дЛи'rIlЬlil шJ1oriфPaзpуllellпli. ск кс]\l пp,lIю, э1l{ оllасенxя rr]ю-lIIlео6oсrrовarrы. Мпогlre rrз эlIyлятopoв (DoS BoХ,Viгtuаl Pс) содep'кат <(дьрь]'l

i1oзвojlЯtoщие эIlУл'IpyеNIo\ly ксlду нaпpя!q4о с16Рaщaться к пalrятrr саrloгo эrtу-лятoрa (наilPиilеp' l]ЬтзЬlвa'Гь oт еIo ]ll1снIl jl с его пРrвuл€rиЯrlll nPolrзBоjiьншrAPi функцItx хoзяiiскoli oперационrroiI сl]стe]tьD ' oднако <пpoбЛTь> эll)иятoр

Page 417: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

418 глaвa 26. эMулиPy!оциe oтладчики и эмулятopь|

iI o]ксТ тolъitо спeцлil]lrjньlм o6pазoili сlIрoсI{тIIрoвaппая Ilpoгрartмa, тaк что пpIrвссil TroретirчесIiOi'i o5oснoв iIIoсТ11угpoзь1вePояTпoсTь сс пPaIrтIl.leсI(ой Рea-'t]1зaцlIIr 6Jiп3кa к rlу.{lo эi\!ynятopЬr нс нaсто.nькo llоJt)'лЯpньI] чтo6ьI aгр€ссо-РъI взялIlсl, lla нl1х вссPъrз.

Cетевoс взaиlIoдеliствпе - ДPугocд€лo. ЭпiiЦяция в11Pтуa.flънoй-toк:LrтьIloii сeTrt(t)хPанЯст все уязRимос,|и хозяilсi.оii оЛeрац]lоrxroii систеrv|ьI' п сеTеroй чеp!r'

| 1 ( , ' ' ' | ' : П o ' , o \ | , х n , , я | i l ] , ' Ч l ' , , . ' г а t , , o , , . r с ' l . I l N l J l i J Ь | | P , | у .аЛьнoIi.nок:LпьlIоii ссT долxrrra6ытt, в о6язаl.сJlьнопI порядке псli'l!loчена, Естс.ств€нно' таI(oе Pсшс]1пс сyrЦествelIIю 3атPуднЯет o6шепие впp,Ly:urьных пrашинс 9нсtllнпп{ пtl'шоNl j l.l l loэTоI1y пlr чaсTо прelle.rplrгaюT, I{стaти ска3ать' персонai6.lrЬrс 6ран].rNlayэРъl в 6()xLil]lll1lстве своеrl lIе кrlltTpoJll'lpyют BIlРтyalъпьIе сeTи t't lteJаlцuцают oт llтоpжеJlItя,

l | ' l , J , о Г , ' , , r l \ 1 , r | . ' г l | , l l L | o o , | Я | o , ] , , . : | ' ! l l J ( l l ( , I d U в . , I L с s | l P Г у ' l , | , ч | \ t и [ l : i L , r .l]амu чсPcз i!'схnJi]lз]!l общlх ]IаlIoк' пpll эToiv llаll(а хoзяiiсiroii oпеРaцllorUIoй(llстсltьI Bllлx,]tя ка]( ЛoгI i чсс I{I] ii дllск lrJи сeTсвoli pссурс, ПPи всех llprи}1уlцe'( ' п . \ . n ' , 1 ' | , , ] I U J I o , | ' ' с ' ' ' U | j ( l , | | | r . ] , с l n \

ос06 €п r lо i i I |о| lу - ( 'Р t l0О)I ,

PAсшиPяEMoстьll рo{)ссс l1о ] lаJl Ь lI or]рисl l,j.'I Pо вal l l l ьI ii эrvyJ|яT(р lLоJDксll llo;iдeP}o] Baть возNio}lс.l,loс'Гъ iJo/(I{,1I()!le]]!1' вllсlL)'ll]х ]!1о]Lyr1eii' ll]til.,1'l'РуloIlt,lх tlcсTirпдirPтrlоe 06оPy/Lo.BalIlre (l];ulPIlмсP' [I^sР), oсо6ellIк):]Tо altTvaЛЬllo,ъп,l l'IссJlc]'loваlI!lя Запlи'Г,гиrlas r ' . I l i г ' ' ' j I , | | . ' | , l q \ | L | . ' | ! | | \ | . ' , ' i i ' . r v . U , ] | | | х ( ' , | | | l i r ] ' : l ' у l 1 l l , , , d n : l , | в i | ' o U l l l хс'l к'l.c]!j осoбсlllloсT,llrt 0c lIoвol{сlIи'I' o кoторЬlх llrriITlIьlс эNlуJЯ'l.oPЬl ]loрoil дaЛ(cll llс лo/LозРeJtitк)'Г.

Llскoтoрьlе п:J )l"iуJЯTоPоп |aсIrиP'с,N{ьIj пеко'ГoРьlс llcT, Еl0да'rcy сaмых paсшIl.

P,lсIlЬIхиз IIlп с1.eпcIIь l\lа|lсJ]Pouнoс'ПI !I I,ry6IuIa коtlфиrуpa6оIьlrос'r'rl дoво,lьноxсI]сЛиIL]1 п l1o]JеРхlIo(l,lrю дolrvllcll1]lРoваIть] (eсЛll /.]oкумсIlTиpoвlulЬl во06щс)'HaпеРIк)e )r.o lIpollсхо,]llrГ oT Tol.o' чTо фaюор Рaсurиpяcмoсти peа:rьlro тро6yстсяoчeнъ IJ oчellь |lеIllюгllr1,,, эму!яToръI !еДъ пипlут lle /,LJrЯ хаксpoвI A )lrа.]rЬI

oткPЬlтoсть исхoдHЬIx тЕкстoвHалll.tlrе l.rсхtЦпьrх тоlrсТов частIrч]lо кo]!!пеllсxpусТсвllнсrLoе ILaчес'ГвoдoкуilteIl-тацпll i1хрСr1oвylo PaспlпРяer'ость э!уЛя,Г0Pа. ЕсnlI IIодопьIт]laя прoгрa\f}Ia oт.1{азъIвается nъlпо.пJ lяTr'с,l r lOд эIlyJIятopoмj п схo/]l rЬIе тeксTll ] lоi\.loгyт pазo6pa.Гь.ся в сIlтуаЦjlи усTpаниlЬ дефеILт' К тоrтv яе iirьr lroхсм oснастпть эlIyЛяторnсеll Ileo6хoДиl1Ьlм напI иrrструl]ептaрlleм' I:Iаtlpипrсp' laмпсpoll пaмяти r'rлиbaсk tlaсеI'oм, позвo"'lяiощr'\f пpoкРvчuвaTЬ вr'1Ilo"']нcнxr пPогpаNмЬl в oliраTноN'Пop']r(с (llсл{дv про,lиIl, кЛaссIlая всщь Д'lя вз,roма' сrra'rу я вa]Ч]), A вoзlФх.ttoсTь oncPатlIвнoго дс)6aвЛеlIl'я r1eдoкуllснтIrPова]]ньIt lIaлlпlIllь]x !io]!'аIlд Ilлипа6()Рoв 11нстРyкциil tloвьIх пропессoРoв?

К сolкa-'rснrrю, кolrrrер.lес]сиe эI{у"lrяТopьr Pаспpoстpaняются 6ез исхoдньrх тeк.стoв ' а opсn souтсe эll},лятoрьI всe сщr нc э]rInIJи из юпoпIeс!сoго вoзрaстa и д.llя

Page 418: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

эMулятор себе io рyкe!

репlенl1я ссP!езrпnх задaч ]rсllригоr.iпьI. Увы] <п{ЛР' этo спнo}lи\1 сЛol]а <IIе-

4L9

кAчЕстBo эtqyляциикакoй пРoк oт эмуJJято|a ' l]с,llx ltil rtсr!1ltельзя запy(хaTь so |t.iсе? МожIlol l{онеч-

I Io' l.Iс пользoва1.1, ir дРyтI.Iе oт'llадч Ll кli (rlaпРr{l1сp, o]]у DеЬLr вg€f), нo jlх в.)зuоxс

lloсTп шaпllIoгo 6oJtсс оIРаlrllчсI1!ll к 1o]\fy хe rlа }1сl{aчссTвeII]iьIх э]\JyЛятоPaх flс.

I{oTopЬlе Л|l :rапlr пце}iнLlr lIрогрallll пРoсTo ltе илут]

Для уtsс'lxчelIпя скoPoс1! эivу.nяllпll пшol.xс ]1J рnзРaбoтч кoв сL)3xа,l.сЛЬпо yсе

кают }ta6op э]lly.nl]Py€пrЬlх коi!1i1Лл' гlоi!:rrP,{llвnя 1'oJJьIiо riаи6o.!сс ак].уilllЬIl]]rе

и3 пliх (u oсо6сIDlfi]l.I'J iтo o'Гнoсt11ся iL гlР]Iви.IIс1.llpoваIlIпn]!l коNlall;.1aill зaцIlщсll.

l , ' , | ' , 1 1 6 , | . ' , \ l . r ' | n ( . п ] ' | ' 1 1 1 l г , | , , , l r J | i D . I ' \ , , | | | r l с . ' ' ' ' .

lпrIе>' Л rlсIoю])Ьlr] peЛкозсi\lс.r]Ь llnм кo]!!апдal! Рсajlь]|ого Pс)tlтмa) сЛу}{с.rllЬlе

РегrlстPьI' d)nilГLl ].рассliрoвки ll lLpугlIе лоlo6ttnle j]м воЗlion(Iloс'ГI{ Чa!]с вссго

остaют(,l l1сзiuLсiiствoDatlпr'|rll||. Тсll lIо Nсtlсс' ТакI'lе эllуляr.оPьI пpll].oдllЬI Ile

ToЛьl{o дJl, JilIl!.Irn xIрvшсr(] l'.]х пIoжlro x l(rrr ьiк) Ira'Гь к:lIt <ltаРаilтllIlIlvl()' il(Лty

].rля пPots(рlLJI jeжсРаэl:roбr'trt'tх ttPогрnltлl ltа в|ц]у()n rJЛ]l кaI{ пoiLollь]TIlyl() [1Ьll]]Ь

/ tля : )кс l l срЛ l \ | ( ' f |оB с 1 .с l l хс D jsk Е( | i todoп l , I lа lЦ l lN lф '

l {0м\ l срчссIo lc c \ lY , r lя ' rо ln , l r l 6or | | ' I r l | | | l .Tue свoсI1 l l с l l oJ ]Ьзу i ( )T i ! ' 0хa l I J IзN lЬ l д l l I l a

] \1 l ] ' Ieскo i i J ] \ l уЛ ' l L I1 l l ] r ) I IY . ! l lp ! ' 11) ' (Ьк() i J I I I I l l l ' ' l 0 | ' | ] l )оПа l | | l | ' i o JLONlа lu lы ' а всс ( )с"

г | l | ' | l | , l ' | , l ' , | ' | ' ' 1 1 l l 1 _ l , ' } x ' ' . ! , | l | ' ' i i , ' , ' | l ' l | l U , l l l | 1 ' t i | | ,

пol.о illP!с|Il)гo I]рoсIрaIr( ll]il ' ol(l) .\,)('l l l Ioi]l .Iaс].oI(O'lIоIl l]L!l)'l.уil"'lЬllЬlх lтo1)1.oв' il-l.l]

] l е , | одЬ l { l ) с v I l ц ] с In j I I j I ( ) y I l с j I I l t l | | l l i L с , | l ] P ( ) | l ]DО]L l ' ' Г c i l Ь | l o сTЬ . , l o l j i l l l ' | . ( ) ] ! ! ; rT l 1 t l с с l . l l

дo6аlз;rя с,r. rrr lдttсРlrоtу всoх i ro l]o}t( )il I l Ьl х Nl у.! Ьтl l Nlc/(rt iiI l],lх кома |l]l (рillyNlсс1.с'l '

пpj,l yсЛoll]lll ' Ч'Го l.|х ,lo]иеl],(I,Iваo'Г Dlllll 4)ll]]ll'Iсскl{i:l lIP()цс(:(оl))'

Mсnr.llу Tоv' в 06рtl6l) lс IIс](JIIо(|]'|(].l|ЬlIьIх сll,гlаll п (тil('(e пlзьIвllcNlЬlх nэl(с.

кeIlпlснаn1r]'), н()з,,lci,l.твll'lх к()]!l.Lll,ll IliL фxaгl!, llr.'lr)пYстItl{ЬIх сnoсo6aх aДРесa-

llпп э]\'уJUfГоPьr Qtlrхr дrIлrrмrr.rcr'кltеI) з:tчaс1ylо вeдyT ссбЯ совсс\] llс 1.aк' как

насТoяlrlllii проlloСсoр' ll ]]аIltlгГl1Ьlii l()]L ]\]о'{ет вьurcrrrlтr, эr.r-rI Brцо.tепt' сс;tl за.

щlщс1l]llLя пPoграIlllil lrе 6}'Лст Pа6o,гaть по,l э:ttу,lя'Io pON ' э'r.0 сl'l-!ьпо вoзrц,'r.иT

ЛегаJIЬllых nоJЬз()пaToJlCii lI еe создатo,llЬ oTrIPаRll1.ся, нy'.. вьI llo]tяnIl куЛа.,'

встPoЕннЬlЙ oтЛAдчикзащ]] щеппьle nPofpаNlNiъl всЯчссш1 ]lр01'ltBoстoят oт.lrад.rиrtапl, Дlrзaсссlr6:lсpаrl '

ДaмllсPaN{ и 11Poчеуy хllкepскому opунrrю, Как пpавlrлo] дo нуJrсвoго кo:rьцадсjlo

1lе дoхoдltтl хoTя rrскlr1.OРъ]е заIцIiTы (lиflрttмeр' ехLIсnrc pгotесt()г) pа6oтаЮт

там, сУllleстnуIoт дссЯTкll, ес-'ill ]]с сoTtlll спoсобoв сopвaтЬ oтЛaдчrпty крьIшу'

oтпPaвJr]Jr е]]o в a]]ал' и nР0тивoстoять xll довoЛrrпо трyДflо, !rс()6сн110 eсЛll вьI

I l , | | ' | . (1 | | i l ' d | | | \ r t г i тпnr1-L ,

N{ol.yшreствo эrlyЛ'Toрa как раз п заl{Jl]очaется в топl, чтo ol1l1oЛпoстью I{онтрo.

,rиPуст вьтпо,rпяel1ыji кoд п о6ьIuнъrс alтlотладoвrrыс rlprrсlrьr ttа пеrl не сра6a.

тьIвaют, к l.o]v'у жe аппapaTllьте orранIrченlя эIlilл pуеlloго пpoЦессoРa lIа са1I

эllyлятoP нe распростPa]]яIoгся' в частrroст ' кoЛичесTвo <аппаPaтlIьтх' тoчeк

Page 419: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

420 rлава 25. эмyлиpyющиe oтладчики и эмyлЯтopЬ|

oстанoBafiе o6язaпо рirвнЯться чeтыPем' кaк па х86, При тrе06х0дип10сTи эNlyля.тop l{lr)ке'г пo]1держиватЬ тьIсячуили ]lDкe I{иJlJlиoIl точеI( oсTaIIoваj ]lричспlvс.lrоэия их сpа6атьrваrrия lroгyт 6ъrть скoль yroдIrlr rrзвpaщeпнI'tiurl (нaпpl]Nlеp'мonп]o вспЛь1ватЬ на кa)кдой кoмаnде Jх' сJlсд)ю!\еir зaхoNlaндoi!-тЕsт ЕAх' ЕAx'сooTвeTсTвyющсйкоrrстРyкци,r jf (mу-funс())',,)'

Ег , с ' . вг ' но, дrя э, огo ]Nlуля гUг дoЛ}кPn 6ы |Ь o.|| i lцсн ин |Р Tир.в iI l l .Ь lN| Uт.ЛадчI1кoпt, Лю60Ii дРyгofl oтлaдultlt, запyщенньrlli пoд эмулятоpоll' наприпrеp solt.iсе, нпItаких дoпoЛllитeЛЬньtх пPеимуп{есTв ]!е пo.lyчaет. вoзмо)кIloс1'и имсю.ц l l х . я | | l | 1eП l | | . ' ов i r l I l t Ь l х o l . I адЧ , l ] t oв дo l ] o , l Ь | |n н l . Ь l ' ' | | | | ' и . 1 о6рс , l P , l l | ва lU Г l | | | ч ] | Lне Лyчпrylо фупкllиollаЛЬltoсTЬ, чrI'I debug'сoml а пepсдкo сyщeствeпllo yсTула.ютсмy| поэтом},I( пlll{ стoиT nри6crать ЛI'п]ь в кpаiiних с.пvчаях' кoГlLaL)6Ьвнo.вснIlъ]е oтЛaдчIllG с 3аIlIlt'Loи vкс нe спDавляIоTся'

Page 420: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Гл^B^27

oБ3oP эMyлятoPoBиз всех сyЛLcстRyxЛ]lrlх cмуJlятopoll Ilаl160Льпlci{ llollуJIяplloстЬlo l]oJIь3у]oTс,I

Dos-Box, Boсhs, мiсrosoft virtual.Pс x vм warc, кa'(дьIii It3 кol.opьlх I]мe-с-l.сBoll 0с06сlIlloстIi, свoи сlrЛьlIЬIс и с"llаrЛnс с-l.opollьI ll' кolIсчlIo '(с, cвoii кPуг

пoкЛolIлlll(o8, сoвeplпe]l}Io l]с IlPCтсIllLуя llа 6есnpIlсТPасTlloo сPaвllelIие| автoP

Pпс!t'Iул вЬlсl{азa'гЬ сt]olo 1.oчку зPсlIия' rlollчeР](,'вa' Tс хаPaI{,1'сРIlстики э)tIyJ!Я-

1 l j I jов , кo IoгL| l о l |у | | l ' |уU lс , ' l l l Г t Iо| , t 'n ! l П '1 i1 , . ]L i | | ' I l t ' | ' ' B кor r . ' r l ro l r г ' I . тс ' л ' .

6oe oIIисal]иe су6ъскl.ивllo'',

DOS-BOXБесnлатIIЬIй эilryЛятoр, расltPос,грa]IЯloпtийся в t'tсхoдilьIх TексTaх. ЭмуJ1!фуе'гединствснную ol1сPациоIlllylo сис.гоily _ Мs Dos 5.0' гЛaвll ым o6PaзoNl пPl'Iме.няясьдл'зallу0кaстaPьIх игP, )I(сс1киедпсl(инсэl!]iЛrlPую,l.ся (эмyлЯцI{я jruс.

кoвoгo ввoДa.вьIвoдa закaнчивасTся I!a прeРЬlвaн и I Nт 21h )' и solt- Lсс на нсNl пеIrдст.3атo сup386 (paспаковщиt{ исnoЛllяeп{ьiх фaliлов llnюс o1Лад.lик) pа6oTa.eт впoЛнс испPaвнo (pлс, 27'1). Tак,{с имeеTся }iеIlлоxoil иIl1.сфlJРoRal]ньIй oT.лaдчIiк (пPauда, дЛя этol^о эl'улятop дoЛхe]l бьlTь пeрrкoпlпил 11poBaп с от"!адoч-

BoзI'oжность PасlrrиpеIIllЯ кo]IструItTIrвнo нc ItРeдусNloтрeна' однal{o дост'\.пнoстьхoрoшo cTрyктypиPован}1ь]х tlсхo/цl lыx тeitстoв ДоЛaет зTу ЛpоirJеlIу 11еаliTуi'.пь'нoii, и вьI в лIo6or:i п'oмонт IIoжеTe До6авитЬ tс эllyji,]1opy Лю6у1() фllч1., кoroрУloтoльI{o зaхoTиle (пaпРимеPl виpтyfu tЬньlй )кесткиri диск),

ПoДдepживaloTся три рeжuмa эмУЛяц]'rт пoJн:ull чзсTIlч]lая Ii дrlliallическа-.l,ПoЛчUIJ "пUл||oй' ' \ lу jяци, на l 'аМoM LP]e дoвo, l | , ' U у ' , ,1oв|I ' . 'oh, iс" tг]rь I le

Page 421: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

422 глава 27. o6зop эllyлятopoв

rцeтt), oДнa*o для пoдавляrolrleгo 6oЛьшинстBa rrеизврarr{епtlьlх IIрoфaмМ с лиx.вoй хtsaTaст и чaстI.rчrroй. o6a эTих pе,ммa дoстатoчIlo пaдФкI{ыl и въlрnaTься зaпрeдeЛы эпlynятopа ]repе:Йьпol правда| пPolrзвoiциTeльпoсть виpтУallъlroй мaiпI,r.ilЬI oставляет )келaTь лyчшero _ Pеlrtium III73з МГц oпyскaетсЯ дo 13,17 Мгц,зaмеl{ляясь бoЛee Чсм в 50 pаз. MoдyЛь диIiaмичrскoй эмvляЦии (выпoЛriяющиiirсoд IIа Фкивoм> пpoцессoрe) всe eщe Iiаxoдrrтся в стадии paзpa6oтки, и тerсyщаяBеpсия сoдеP,rит мIrогo oпи6olq ЛeкoтoРьIс из кoтoрьIх фaтаJ1ьнъl пoэтoмy пoЛъзo.BaтьсЯ им нe peкoмеIrдyeTся (xoтЯ rгo пpoизвoдителънoстъ вчствеpо выше)'06мr:н данньrми с вr.reruнIlм миpoм пpoисxoдI,rт ли6o чсpез пPяNtoйдoстyп к сD-RoМ' ли6o нeрез мoптЛpoванис катaaoroв фIrзичeсIсoro дисta rrа вI'rРryальIIьIeJюгиqeсIсис дIlскlI' дoстylшЬre и3.noд эмyляToРа чepeз иIrтеPфeйс ]Nт 21h, чтooбссIeчивaeт дoс'гaтoчпo IIaДФсяyю защиTy oт вpeдoнoс}rьrх пРoгрaмм' УIIич'тoжитL сN{oн | | | I )nв i I l j l l y lо l ]и t l ск lоP/ю oни .мoгут . l l o вoГ oсе oстаJ] Ь l |Ь lе _ | lет t

Dos.вoх хoPошo гIoдхoдит для экспepименToв c 60лъптиliствoм Мs.Dos.ви.Рyсoв (исIQlloчаJl, пФкaлyi:l' nи]пь тeх из яих' чтo нyl(llaютс,I ts пPepывaнии INT 13или пoр-Iах ввoдa/вЬIвoдa)' a тaкжe взлoмa прoгРaмм' pа6oтaющиx т(аI( в рeаJIъ.IIoNilтa]. и зaщltщенI{o]\l режимах (pис' 27.1).

Pис. 27'1. oтладчик сUpз86, запyщeнный пoд управлeниeм эмyлятoPа Dos.вox(нeпoсpeдсrвeннo из-пoд Windows сpUз86 не запускa€тся)

BoснsПoдлипlio хаIrrрский эмyЛятop' opиeнТ1rpoваllный на прoфeссиoliа,]oв' пpoстl,IесмepтIrъIe lrа.{oдят огo чepесчуp зallyтaннъrм и нelrрохoдиi|Io слo)IсIIьIм' здeсъ всr

Page 422: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

42з

'тастPaивaется чс'peз тerrстoвЬlе кolrфirryРaЦиoнньlе фaйЛЪi oт troЛичества пpo'

цессoPoв ((стa'ги' вoсhs сдиI!сTвerrвьtй пз всеx извeстпьi! п{rrс эмулятoРoв'l1oзвoляющий эl{yЛиPoвaть 6onee oдrrогo llpoцeссоPа!) дo reoметpии впртyалЬ.l1oгo дисI€ (рис. 27,2).

Pис.27.2. oтлaдчик soft.iсel запyцeнный ввoсhsl запyщенвoгo из.лoд WTndoWs

Этo IIеIсoмNrePчeскuii прoдyктс oтt(PЬl'I,ьlп'Il исхoдпьIN!и тоl{стaми и вlleчaтляIo.

щиNl (aчeствoм )МyлЯции' I{oнтpoЛЛоpш ги6r.(их и )кeстких IDЕ.дискoв эмyли.

рyются Ila yрoв]lе пoртoв Bвoда/вьlвoдa! oбeспечивая сoвп{естимоcть пpaкти'tIески сo Bсеми ]Iиз l .ovpoв| lевшми пPоГPамvзми' Пoлl loстЬЮ Jму,1иPyетсq

Jа|I lиu|eнный гPжиv п|)oДс.(oPз ' Bо всяком с ' |) ' leе so. l , i .с lапусrа(тся Bпoлl le

yспсlrlrlo (пpaвдa' ра6oтaeт нссl(oлькo неста6ильн0' пeриoдичeсl(и зaвelllивaя

виртya,J]ьIryю клaBиатуpу)' иMeeTсЯ дoво"'lьrIo пPиЛичIlьIйинтeI}иPoвallIlъrи oт.

лaд.,ик с пеo.paпи'",,ньIм lФJrt'!чествo]!t виDryальных тoчeк oсTaповa и функ.

ций o6paтпoй трaссиpoвки,

к со)кzЙeнию, нeвьiсокая сI(oPoсть эмyЛяции ile iioзвoЛяeт зaпусltать III{l(aкис

гpафи.reскrrе систeмы, Cудllтe сaми эффективная тaктoвaя частoтa l{oегo

PЪniiurп III733 МГц пaдaeт дo 1,49 мгц. этo )ке скoлькo часoв Wiпdows 20006yДeт загpу^cтЬ.'?|Pа6oтJ . дис|,oвыr,и ̂ 6pfuo\ lи | 'PаJ иJoвal l r чPpe l тo vрс lo, l ryдa Макip reлят

нe roняЛ. ПодДep)киваIoTся ToJlькo фиксиpoBaнньle Диски, a самrr o6paзъI сoз.

дaloтся виel!нrrмll сPeДствaмI{ oт незавIlсимЬlх разpа6oтчикoв, К cчастью' пмe

е г . я в о J м o ) | ( н o . г Ь п р я ] \ ' o г o д o . 1 J | , а l с D R o М г p и в o д v ' l I o в о г к ф и з и ч P с I . l I v

пoд упpавлeнием эмyЛятopаl.45.Dos.сeссии

Page 423: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гибI(имдискaм прямoгo дoступa Irетl rr пoToмy' чтo6ьI вынес'Ги пapy файnoв извt{рTуaЛьiroii llаши1{Ir], rтpиxo/lится наllpъIвaтъ зад]Iицy. BoзN!oХнoстЬ рa6отьIсo snаP.shoot'aми такжe oтсутствyeт (пoд sЬap shoot,oм Boсhs пoflrп'ает oт.IIюl1ъ не сoсToя}1ие вЛpTyаЛьной мaшиньI, а кoпию се экDа11а' кoтoDЬIli ttаi{ нaфига?)'эlry.{яTop хoPошo пoдхoдит дЛя иссЛeдoваtlllя виPyсoв и oTладки изврaпleпнь1хrтрoГpа]!In{, Pa6oтaroщих в Мs-I)os илlrтepминanЬiroмDе,rЛмe LINIX/ъгee BsD.a таю1(е экспeрlflliснтов с pазJtичIrъrми фaйJroвьlмll систeмa]!Iи,

tvllсRosoFт VIRтUAL Pснeплoхori кoмп'ePЧcсIс ri эiIyлятop' рaспРoсTpаняIolциiiся 6ез I'IсхoдIrьIх тeксlDв'пo зaтo o6еспe.пtвaюп{иIi пpиличнyю скoрoстъ эilyляциlt' lIpсвParцaющyюPеntiuп III733 Мгir s Pentjum III 187 Мгц (дllпаNxlЧrскиii г,n,u,l* nn'v,''о.l,.lu6cспeьилl 'ет пoпде1гкt(v вслх мf , , ||иI lньIх | .o l IJrrд 4 'и.rr ' r .скoго п l ' . r rсссoрn)

Pис. 27-з. }4iсrosoft virfuа]включая вIos sefup

Pс эмvлиPyет весЬ кoмпьlотеp цeлиEoм,

Page 424: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

425

Пoл]rосTЬIo эliyJrиpуется ANII вIos (с вoзмoя!11oсTьio кoнфrlrурировafitя чс-

Prз setup _ Рliс. 27.3), чrшсeт Iпtсl 440Bх, звyкoвaя кap,гa типа сгеatjve LaЬsSound B]аsteг 16Isn., сlr гевоii аЛаптер DЕC 21140A 10/100 и випсoкаpта S3 Tгio32,u64 PСI с 8 M6аliт паNlяTи вa 6oPтy, B o6щer1l дoвoльIJo внупitlтс.l]ьlIaя I(oн.

фпryPацltя' lloз3оляющая зaпyскaть сoврeмен11ьlе oпepацпoн]1ьlе сIJстеltъ1

семейства Wi dowsNT x !.r €e вsD с <иксaми>.

Иirеетс'r во3i!ожlloсть ]tPяlrогo достyttа к гrr6кI.Iпt и oптичесIоrм дискa]u. )кест.

I.Ileдисrrl{ э!уЛ'шy]отся lla уPoIrне двvхкalIanьrroгo ]{oIпPoЛЛePa IDЕ (см, Дoкy-мellтацr,lrо на чItпсет 440Bх)' рa|rмenrаЯсь na вппчестсPс в вllДе /.lпIlaм]lчссI(ol.o]Urи 4xlксиРoвtltllloго фaii',tа-о6рaзa' ПPj1 жеЛaIlпIr мо)кrro взаI1]!lo,lеiiствoвaт!

с хo3яiiс(оii опсpацlIo!lпoil сис1'смоii п oст:LllЬI1lll]\1и BIlР.гyальньlми NlaIп]наlI11

ч€Pсз Раз/lе-rтяeiuьIс nаlllоI п"!'I вllP'l.уilJlьпylo JIoкaIьl lylo .] €ть. o6a эТ].!х N1етoдa

с xаltсpсli()ii тoчIсlI зpсltuя lIе6сзоrrlсllьr, поэтoltу llРи иссrlедовaниl'i аГрессив.

Ilьlх l1Рorpallil rr нll]!1rtуч|пе Irе llpIlбclaть,

l{ с.'tiаЛ еI l l l lo. п PrI l Iolll,r-r'rre запvсхa so|t iсe эпrуля'гoр а вари ii Irо завсРIL|1lеT Pа6o.тy в l lР1у lU|ьI lo i i I tа!r||||Ь l] вьu(аваЯ (J|c l ly lo lцсс сс)()6| l te lп lо 0n 'с ,27.d) ' BстPoся.

ньlji o'Гnil/lчllп o IсYTс1.IlуеT' кnк оTсутс,rrryсT Il в03i\1oжIlость сoхpill]с|]l.|,l сoсTo,l-

l l l l я l } | lРT) , t lnь l lo j i N|1 l lп l l l lЬ I с l I ( ) ( 'це ' ' l у lo l J l t lм l l o i lpa l J l с I J l I сN l к uenIу . l Jсс i J1o

суIццr ' г I l с | l lю оГp i t I l | | ' I t Iвacт о6 l rас rь r rpипrсuсr r l l я Дa l l l Ioго эл lyЛя, I l )ра ' БуДъ o l I

6{:сl|-1lT||I,|пl lIрoд\rкToNr' сr.o 6l'l'lrrl бьr i'rоrrоro сln!]o Pскo]\IolvкЛlа, J Л']]я ilксilсР|l.

i"|(]IlTolJ с (|)liiJк'rЬll"tu Сllсl.с]\lа]\llt lla lIPсд.\ е'r o6pсTсlllU] llal}ьllФlr llo l)a]PуlI|сlIl,llо/i l окT i l lю l lЛ0 l t i tю i lа l I | |Ь iх ' I lo э |о Я|] I lo l Io с ' ] \ ' I I ' г сх l to I rс | l кo , l . ( )рь lс i l i l | |с f ( ) l IPoОг| '

I j с ( l ln i t ' l . l l i ) У l ' к r |{ ) Y | ' l Iv l .Ь Tоn| 'ко дс\1() |с 'Ц)a l l l l o I l I Iy Iо ' сPс l l t ( ] ' рaб( ' l ,ак) l I l vю I l i r

I l lnJ , ' ' l ' ( с l I I I l l 45 jL l l с i i ' | | ( ) ( lЛ l ] . r r : r . r l тpc6уrorпvкt pсГ l l с , ] .Р i l l 01I i ( l t I IРoчсN l ' B | |a l l I с i i

с'l.l)illl0' Гl!с <Pсг|rсTplцlI,l' си||ollItIt сJxЛrу {lIlаL}Nlы{|аiiд0]\l-кРilI(>] lll ]ToT сЧсr'

Nlo1l(l1о llс Пo'l|ll.'лl1Tься),

Pис.27.4. Peaкция Miсюsoft virtuа| PсHа пoпьlткy зaпуска soft.iсe

VM WAREЕпiе oдин кl:)м[eрческиii эN!уляТор (pnс, 27,5)] r]o в отJrичI,Iе (lT кotп{уPсн1'ов jleil

с'Гвп'гелЬнo сТoяпUiй своих ,цe]lет (0со6ен110 в светЕ тoгo' чTo пol(yпат! его пI]

oдип здPaвo\1ьlсЛяпiиI:I сooтсчествeнпIrк всс РаrIlo Irе со6иРасT(я)' Cкa)ксN! сpа-

зy _ JTo ej1llнствеfi]tЬIii эl!lу".lятop, с1a6UJьнo пollдер)кrlвающnir sol|.] сe и }.lIею-Щи ji Ра6отатj, сo sl1aр.shoоt'a и,

l*-

Page 425: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Lкoрoсть эмуЛяцrrи _ вьrirte всякиx ltoхваЛ. Pоntiцm IlI73з MГц пDевDашaeT.. 1 в P р l l I l J J n l I l З , } t j М Г | l l T U . с Г Ь J а \ | P ! j ч l ' | . я | l I l и \ | Р р | | l l b д в o P . / ' I l o . F о . т L | oDмyJIирyIoTсЯ Phoепix BIOS 4.0 ' чипсeт тиI ia Iпte l 440Bх п LsI LogiсRL S I 5 3 C l 0 х l U I l г а l 6 0 s С s | | o , к U н 1 1 o ' 1 , | . p , | | l l ц L . P ) { и Ь а ю J , , , l i ] Ь и | l r y а 1 L н Ь e)! ) t .ди ' {и, nаJve | , . |oц/cся в . ihf , ]\ tичe.ком || ,1и 4,||к ' || t loв"ннoм q '" i ]лc n6.Paзe' ПPи )кeЛaниrт пto]rrнo рa6oтaтъ rr с IDЕ.дисltами, нo;Itи нeскoJl;кo мeшeепpoизвoД TeЛь}lьl'

Tщaтeльпo спpoeктиpoвa]l]]аJI виРTуальная ссl Ь lIoзвoляетэкспеDимсl]тllDoватъс ( , с | r вЬ | \ I | | ЧеPв , lM I l ' нP o I Jn l аясЬ ' ч , | o odи | | JPазчт U l ' ' I oп l l o I l ' ( o ;пLю ' РD . т i r lжс| | м с n ] | с я в о l ] \ l o ) к l I U ( . D | l I ' я ! l o | о Л о ( T , . л i к Г и 6 , r l ' " , r o . n р ' ' r , n , д n . o " м n p . " д с ' r v .

"v l , lР лaп ки с дoстoйнoi i ]ашlr ,oй

КopoЧе гoBoPя, VМ Waге пpqдстaвляст сo6oii мнoГoцеЛeвoii эмvЛяToр, пPиIoД.tIьiii для лю6шх экспeриNIeIпoвl зa пскЛючrппсм ,.p. вo u." кoм..,yu..e, дЬ6n'o"ся ltoрмaлъпoи]loд,'{еp)ккпзвукаиз.пoд MS.DOs мнr Так r,l rleуД:Lloсь' в,ro вpемякaк y oстаJIЬнЬIх эмуJlятoРов с этlп ltc 6ьlлс) lIикaких ttро6лепr,ПРП всех дooтoпfiстяах V]\,I Wагс оп пc orпr..lrяс.г oст:LпЬlJьrе эмyлЯтoрьIl oсo.6ellнo те l]3 Iulх' чтo ooдeр'(ат интeгPиPoвilllltЬlс oтJlа/lчлir]tl PасlIPoсr.Р ltЯютсяв I'Iсхoд]тых тeкстaх ll 11oзвoJI,пoт 11согpаI,тlllJеlllIo PaсruIlPя1'ь свoil фylIкцпoII.LiI'Пoэтoму ltи лo6едитeлeй, rlи lrрolll'pав]rllIх r этo* сравпertпu нст' ilо6oц1o"т

P,с. 27.5' oтлёдчик soft.ie, запущенный.oдэмyлятopа vll WаIе, зaпyценньlM под Windowsэто прoбo эМулятoP такoЙ хopoший

Windоws 20о0, пoд y.pавлeниeм2000' Heт. этo нe peкyрсия,

Page 426: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

427

oснoBHЬlE XAPAктEPистики HAиБoлЕЕпoпyляPHЬlx эмyлятoPoB

H . 6 л а , o l r P ' ' ; г r . e . в o ; . I B " ^ | v ' , о р о в в | , | j , | | | U t B Ь ' . , r | | Ь . р г ь v t d U 1 |

Dos.вoх вo.hs

кoличеств0 эмyЛИpyrиыx

эффектИвная тaкгoваЯ

нa P €пtUm t l l7зз

динaмиЧескoЙ эмyляции

всrроеrrвыЙ отЛaдЧик

Paбoта сo shар.shootЪми

1

13.17l .4гц

t , 2 , 4 , 8

1,49 Р]гц

IDЕ/ фикси.

дв

1

189 lv l гц

IDЕ, Aинаl'1и.

1

зз6 l"lгц

Дa

IDЕ/sсsl'

Дада, нo

PAзHЬIE мEлoчиsoft.iсe' зaпущснllЬIii гloll эNlу"]lЯтoрol]| rrс зai\foРiu(IrBаeт oснol1!Jую сllсTe}1y'нс за,гьIкitя WinAnrР, с paзРьlBая сосдlrн0ulUt с l1lr|сpllет(lNl,l]e зa\{oРaжlгвая часы сrlс,1е]!{llого вpcllсliи !l oсTanляя i\IsDN дoсTvlllЬl j'] I

Д"1я виpTуаIЬIlоii liашj{н!l с nai]еР]Jого Дrlскl нс116х0д1111lr вOiill] в вllРтvалъ

пьiй Blos sеtф (в чaсTнос]Tи, ts VN,IWarr это дcJIaстся на)l{[|Ilсli ll-та]]пuЛlF2 во время нaчiulЬlroli зaс,гавкll) ll в 11еllю Ьoоt вЬIтЯн\.ть сD.ltoM r].rв0рхi

oДиrr I'! тoT lrrедЛс]Loвьпi o6paз мoхeт6ыть подIi"llrчсн к нссlto'rь (ll\r вlIрЧl

аjlь]]Ъtм Nlаrlrrlllai!1' что Nlolrrот 6lrтr' rrсtrrlлъзовaпo д.liя передaчI1 фaiir|on мe'L

llу пиNIи lши сoвNIесTtIого 11спojlьзoвaнxя lФnЛохеппIIi

. всс огIпсьlвaеItьiс эмулятopъl lroryт 6ьlтъ нaiiдс]lr'I в OсJe по 1tх IIllснI1,

Page 427: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГлABA 28

oБлAсти пPиtv|EнEHияэMyЛятoPoB

эityJDrт0р кoNlJ|Ьк||срll - BonDкм в(xl(l,J l{сi!' бы Uьl IiJ1 6ьI,Цl| - lll'('il]1]IlvTl,l]!l||oJ,Ьз('jа1.t]'{0nI. ilil]\ll,lll||с1.P?lluJх)]i]j IIpоl.РаI|мll(l ()м ItЛtt llа)lto ll()lll](t.l]vюlIlIlмхilltсроll' . )ItyrlяTоl) I]ilс lrЬIPуЧl.ll.t] IloNlo)(e].' lrссl вoлl)oс l],]\]iI' коl'/lа tt I(aк.Bот oб JToм lл,r lт сo6rrpaомсл paсскaзaтьI Э:ilулятoprn Ilрочлo no]|Ul|r в llaпlу}lоlзIlЬ и llo сo6Iiрilio,гОl 113 llсL' llrп(у/lа vхoд|ттЬ, llirIrpoтt,ttl' uис:lсtпtrrcrl rrх rroго.JIовья illll('кl'Iтся с кil)к!LЬli!1 /.illell, lvlы нс 6уllсNl PсклaмпPoв;lть кl]к]lх'т() кolш(.peтI|ьlх lIPсдсl.аlJIl,l.o'цcji эToго в|ulil лусть кaждый вь16rrpаeT эIlуЛ,rтор свoriiмeч,гЬI самостoя,|сЛЬllo, Луч1lIе NЬl расскaиспll чтo с эт!tNt сaмыIr э]!!уляl.llpoit!]\ o){llo сдсЛа1}l Tо сстl, как пl)aвиJlъl1oеГо у110TРс6ить. Iloрy.rпки| l{rr с"това о том,что6ы кyдa.,ro зaс]уllутьI

пoлЬзoBAтEлямвoo6pазисс6екapтиl ly ,гЬIчитаeшьвI(oмIIЬioтсрнoNI)f lyРнаЛeI lРoзаl 'ечaтель.IrуIo llгРyпп(уj заlоpаelпься eю вссr{r,i 4'l6Pами душlr п вдруг о6пaрyrкllвасIllъ'ч1.o на твoeii oсII oria lle идст, Прямo кaк о6yхoм llo гirлoвс| хvnie всеrо пpихo-I l | | . o п . I L J o в i Г e j я N | | . п r B S D l | | р | o л | | ( с н ' . Л ( . l l l , д l P \ | .

" ' n . u , д l n

WiDdows пlссгa нe ,каЛl{o, но п€pe3аLPу'(aтъся к кдьlii раз' что6ьl запyстиTьиrРу' пе1.уж, yвоЛЬте| A cс".1и этo rltpa пoд N4aс или soпу Plаystаtioп? Cовpe.менньIe апгIapатньIe l'oli{ltoсти пoзпo"lrяют зaбьiTь o poд'loм <Eiejreзe) и эмy.nи.рoвать вeсЬ кolll]iьютep Це.lllкoN!' o'ГkРьlвая 6eзгрaнrlчнЬтй миP пpoIpaммlroгo

Page 428: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

429

o6еспечeпI,я. TепrРъ вьI уrке irе пpllвЯза]IьI к l(aкoй.тo кoвкРеTlloй пЛaтфoPпleIr мo,r{стс зaпусI(aть лю6ьle пpoгpаNrп{ьI, яезависимo ]lля какolo кol1rlъloTepa oн1{

6ьrли нaпlсatrьт ZХ SPЕСTRUМ или Х.Boх, Главпоe найти хopoший sп{у-

,.lятoP (Pис, 28,1)I

o с | | " п , ] Я o п ' ' P а U I l o | | н J я . | | с | г м а ( т a | | n п и | с я r а к 6 ы . l . у I l д . l \ l e , Г o v д , l Я ц ( Л o г nзoолaрrta гoстоil, oдпy Irз клетoк этolo звePlrнцa мoжno (Il пyxoro|) вьIдеJIиTь

I l ' д . в о e o 6 P а J н L ' й | . r l i - п | н . o с ' U й | | и к , и 3 в е с , н o , Ч , o I l n и у с , l J l о в { e n o в о Й п n or.paм]!tът въ] всеl.liа рискуeтe уpoни.II oпеРaциoнrryю сис1еIltу _ I'з-зa кРиtsol.o

инстir-цЛятоРa, rroнфЛuкTa 6п6лиотск' Add-Wаre илtI пPoстo кaрllа y пeе такaя,

Пpot.раI'r'Ьт' пo'ryченIlЬtе и3 tleIJaДeлtньlх исToчпиltoв! лyчrnе дrP)кать noд:Lпь1llеот вссх oс,l..UIЬпьп' ПPoстo tsьIдeлите I'м oтдсЛЬIlуlo Bиpтy:Lnьllylo мaш!ну в эмy

лятopеl п хPсtt ollи BьIPвyтся oттудaI

AдмиHистPAтoPA}tДля админrtсTpaтopoB эмy-цятoP _ этo B пepвyю oчсpе/lь ltoЛllгorr для всевo3-

Mо,кllых э]tсl1еPиlliеtlToв. Пoстaвьтс сс6e десятoI( различньlх UNIХ'oв и изде.

вaйтесь llaД }rими пo пoJlнoй пporpaмме. УстaнaвливайTe систсl1y' снoситe ее

rr снoвa YсTaflав.пивaйТе| сIIeгIra пoдкPyтив кoнфигypацirю' нa Pa6oTy ведь

Pис. 28.1. He ваxнo, какая у тe6я oсЬ| ва)кнo/ какoй у тeбя эмyлятоP|

Page 429: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4Зo rлава 28. o6лaсlи пpименeния эмyлятopoв

пPиr]ипraют Jie пo ДипЛol,y' a llo спrцпа.JlЬнoсTи, a сIIсциa'1ьнoсть пpиo6Pстa-ется ToлъIсo в 60ях' To )fiс сaмое от]]осIiтся 1I1{ вoсс1аt1oвлeпll]сl данrlь]х' Бсзспeциaльноii поjl1.oтовки Disk Еd itoг fla сво ей pa6oчeli мaпiIrнe лyчшc всегo ] lезапyскa,rь| a Disk Doсtor теNi 6o.liеe' ЕIeT ниIraкoit t.aparrт[и, чтo oп деliiствIrTсльно BшJlечIlт д]tсltl а не прeвPатIrT eгo в виrrегрст, I(oрoчс roворя' эI'Iyля1oP Jтo всJ]иItоJeпilьlй тостовI,tй ст€нЛ' o l{oтoроNJ PаIlьпIe rlс пPихo]tиJloсь

B 6оЛьшпx оpгаrшзациях а]1}]и1lистраl.op всeгдa ДсPnr,rT IIa резерBпoМ кoпlпьIo-тePe тoчrlую ltoпиIo ссpвrPаj rт всс запЛaTlrl снaчa]|a o6кa,гЬlва!T irа IIеii' в кон-Topах помеl{ьшс oтлеJlьllоii ]\'aпIлl]r'l пoд Эl.() 11сЛо rIпкl.o ]rе дa(1.' lt прlrхоilиTсяпPи6егатЬ rr эмyляToрУ, lln llei!1 жс т€стtlРуloтсЯ l)азnlrчньIе Jксl шlrlrтЬr ' ЕсJlrI фaктyязвимo(:ltl ]1oдтгlер)кдастсЯ' llpt1!п]\fаloTсЯ oпсрaтuвrlыe ]\{еРri llo ее усrPане.

o6щениe вrrpтyальпrlii luаllJиIlЬ] (l ()сIlовIJоii о]lеPaц]l()ttaoii сtlс,l.сilrоil п lЦ)угl{пlпвrjp,гуаЛЬпьl]ЧIr п1anпiIlanlrI o6ьIqlft) осу lсстRJlяcтся vерcз .lroка:r ьttуto ссть' Bиp.туаЛьIlylo| Рa3уNlсстся, Пplr riа.]ичЛjl 512-1024 М6аjh. llапlяпr Nl(D(llo с()3/1аlЬ11астoяulиi1 (opпoРaTl tвн Ьiii ЛIl1.ранrт . с sQL- п WЕв.сeРвсPаIпI' DМZ.зoпoii,6]]aliдмayilPoil l't II €скoЛьfillllи Pа6oЧ,I}пl с1.illlцltяrlц' слo6rцlto умепtaклдtr:iIIтсявIlу1.рlI домalДtlсгo кol1,lЬloTcpа (Рис, 28,2)' J]учIxого |lo'l|r.,гolIa дJUI 06учсlll]'IсeтсЛьllll пpeмyl(poсlчIt л llс lцlltДYм:rcrrtь' Xo.telr(l' -. aтакуii, хo1lспl|' аllllrlll -с'гplrрyit'

,192,16в з2.254

ceть ]92,198.з2 о

сeть 192.168 '40 'о

192'16в 4a,з2 ф , ] ф ' 3 0 , й r r 9 , @ r m ,

| *Е* ]

192.168.80.128

192.163.80.254сeть 192,168,80,0

сeтЬ 192,168.120'о

192,16в,32 '2

Pис.2a'2. виpryальная сeть Aндpeя 6eшкова

Page 430: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4з1

PAзPAБoтчикAlv|Бo,]ьllre всero эп{уJlятopьr лю6яTpазpa6oтч1'Irllдрaiiвеpов, ЯдРo пe пpoщаrTOrrlll.

6oк и мстите,rьпo разpyшaeT )кестшrir дисt{. yllllчт.'I{ая всe дal]ньlсl ]Laкоплеtl

пьreза rrнorие roдьr, lleрезarРyзrrrl и зaвпсalrия в0.)6ще 06ьr.]llоеЛелo' it кoто.

Pоltу lIpивьji{ас]lrЬ' кair It стуку колес 1rлп шopoху llrrll. к'Гоп{y хе 6o.пьшuнс,|вo

отладчиков я]1еpнoгo урoвня тPс6yсr tlaЛjJчrlя riвyх r{oпrllЬю].ljрoll' соелIrrIенI]ь1х

СoM-xIllуPlroм иЛилока.lЬноii сeTью, ilriя IlPофсr:сrюtt:rпьlкlго 1lазра6от.rrrка ;,t.o

не рoскorlrь| нo,', кyда их сritBtlтъ? oкPvя{ишь сt]6я rvoпп].opalltt| a tIoТ0ll каIt

дуРaк кPуTuulъ uo всC сToPопъI гoЛoloii - отRа'.lЛсь NIoя шсЯI

C эп'уiя,|oPоп{ всо намItoго пРoIцс, 1l!r те6е пoтеpllла11ньlхl !]1L]lсpсraгpyзок' a всю

Рa6(JTу по от..тa]lкe N1o'(пo вьllloЛtlяТЬ ]la од]loпl ltoпlllЬlo'].ерe, Ест€ственнo, ч,|0

сoв(сIl yж 6ез xсРсзaгР}зoк;rсltrl пе o6хoдIr'r.ся' ll0 rt()l(а llcРсjaгРy'{аетсЯ вllprу.

aльпаЯ машиlIa' ]\ro'(!lo дc, aтъ чТo.|о tt().1с3llое ilа oснoвIlо]I (11аlll)пI1сР' пPа3llTЬ

псхoiLIlый кoД ]rpаijlreРa), I( тоr\Iy жe Nпn пto'{сj!l зilс'Г:lllIIтъ э\Jy,llЯтlrP IIIlсil,|Ь ]i()

ilаll/(ьl B Jloг l] п()1.оN{ по]1с]\ю'Г!еть) чTo IlРlllerlо ]LРaiiueP к сl1сPтu (rlPа]t/La' nе

всс эN1y]lятoРьl это yrveloт),

B сЕNЕтlсjЛPс lrl cсBSD oт',tадчItttii ttст' a о'lrllli(oчjlос ядРo !lJ()сl|,Г R сrlсTсllv

п06oч||Ь lс эdх i ]eк- r t ' l ' в нсм ] lРa i iBop ] \ lo ) I{oт р i l6 ( r l ' l l ' ГЬ l Jo l ) r ' a .1ь l lo ' r lо брсх l l ' |Ь

B GЕNЕт]с ' с . Wiпdо$,s .o l . J |а/ lчп l{ l l r r сдY l . ссбя .хo)(и l t l o6рa3o}r ' n oк( ) | |ч; lTeJЬ-

]toс Tсс,l.'lРoDa)1rIс]рaiillcPa/to.lDк1|o lЦюхо/Lr ь в a6с3lr()|l|.t/Ul()ii> кoJl(l)lIгуPlLци||'

Ilirчllстo ЛlILllaя pазl]a60гчикд ltссх сРсi(сTl] ol]IдЛк]t Jt пю|li.гюI)llll|а'

A ЧTo lrР I(ЛaдIlьle лDоl.pаN1N'Ilсlln? эмуJIя'Гop,)| lI()ilIlоjl,ll()1. lIsl llсl))l{1l'l.l, IIO.L рv.

кo i . i B o Л l l I l с i i ку or l сp l l |{иoI| ] |Ь|х сис1 '0A ' I lo l ( сц)n] l3aя сBo l r ' l рo l .P i lN lN lу l IoД o( l l )

6eIlнoсT,r lIoвсДrlilDI ка)к/loii ltз Ilих' У Winсlo\s в(сго днc сllс'|c!ы NT ]l|l !]х'

r l ,1o y I iих тoJ lовa крyгoм пдо ' I , а UNlХ r ra l r l к l гo 6оЛе{r PaзI too6Pа i lo ] | ]

l{ol!аpсTвo 6aгoв в тoп{'.i'|'o olllt сl{Jlol]llЬl |loя aЛятЬс'l 1!Jl ЬIto R сTРoгo oxPсrLс,]]с|l.

ttЬIх конфигyРaIllIях' УсТilIюllка /loIIо'цllиТeЛЬllol.о пPoгPаммll(ni ()6еслсчсItIIJI.

а у)к Tcм 6oЛеe псPoк()МпrtJrяцx'l я]Iрa ]\{o'(e1.rlх с]IуГ]lУTь' rl TогДa lrцll-сI]lпцll,

A этo зI|а'll1т, ч'l.o lLo Tех lloр, Iloкa 6ar lrс 6у:rст rrАiilеlI' rr сliстcNс flllчсго }ltпять

нсnь]lя. Hа oсlloвпоli Nlаrn11Ile это тPc6oвa]lrle Rыпo.nl]rt'гЬ за'гPyдll,tlсльпо' пo зaТo

ЛeIIсо на эI1yляToрс! B!1Ртуальна'l маl1|l'!lla, отключclrrlaЯ от сeтп (]l топl чи(Лe

и вtrрTуальноji)' ]l зaшатах lIе rrylrДасTс,l, но ](ajr '(о то]Цil o6.uсllпваться даlr.

пь]ми? к вaU]иiV yслугам дискcтa rl СD-R,

самoe гЛaвrroc - эмуляToРы пoзвo'lяют создatsаTlr <]сЛeпкп> сoсToяllnя d]стl]

мЬt ll вoзвPащiIг6ся l( ]]пм в 'lю6ое вpсlrя, lцlиче]vI пeоIpанllченt]oс l(о"rIlчсствo

Paз- ЭT.] знaчи.l.е,'rьпo },пPoцаeт задaчу восlIPоlrзвеДеIllrя с6оя (Тo есTЬ опредс

.reнrтя o6сr.oятe,.rьств еr.o вoзниi{новеrtrtя), чеI!'гаItoil сxсl lо lt о |l,lliчaется oTдilIl.

пa пaмяти' с6pасываeмoгo сrlс'|еr!к)ri пPи с6ос? Кa]. rl слеДует пз сr.() llaзпarп]я.

дal{rl вкЛючаcтв сe6я тo"!ъttо пaмять' a <сЛexoк' _ всe копlпollcнтьl сl |сте\lьI це

лI.кoNJ:дисIt' паillятьl регrIсTpЪI кoнтpoЛneрoll п ,г' д.

РaзPa6oтчики сeTeвьп пPиJlo)кепIrIi от эllyJl,lToPoв вообпIе Ir поjlнorr вОстoI]ге,

Раньlпе вeдь l(аIс: сTавип1ь втoрoil ]toпlпьютeр, сa'(аепIlr зll нсlo )liепу ]l дo.пго

и нуДпo o6ъясняeпrь, кaкис к"'lавпппl eil нa'{llla'l)'' TепeРЪ '(с oтJа.:rка сe.Гeвъlх

I]риJlо'tении упpoстIIлась дo пpелeЛа,

Page 431: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4з2 rлaва 2a. 06ласги пpимeнения эмyлятoрoв

xAкEPAмЭмулиpyroщиe oтлад,тllки пoявилI'Iсъ eщe вo apeмя Мs-Dos и срaзy )ке завoе.вали 6eшeнyю Iloпyляpпoсть. нeyдивитсльноl Pядouьre зuщ,tтпы"'"xaнизмьlпримel{яют двe oснoвньIx пleТoдикrt д,]я 6opъ6ьt с oт;tадvикaмrr - пассlIвпoeobнаpу)lreriиe oтлaдчикa и aктивrrъIй зaх!ат оТлaдoчтrых рeсyPсoв' lIелающийoтлаДкy lleвoзмo]i(нoй' нaэмyлиpуIoций oтлaДчик 9ти дeйствIrя икак ]iе Рaс.IIРoстрnIIяются - oll ]Iaхoдится llшкe виPтylllь}rorю прoцоссopа (a пoтoмy дляoтлаживаeмогo прlIлo)кeния сoвeРшefiнo rтевиДим) и не испoльзvrт никarrихРeсyРcoв эмyЛиРyемol.o I1рoцессoPа'

слeпки оистсмы oчeнь пoмoгают вo взлoI1о llpoгpaмM с o.pаIil.tчсrrriъIм срoкoNrиспoльзoвaния (pис.28,З). ставим прorрaмму' делаем слerloк, пePeвоДиl{ дaтy'Де.Дaeм eще одиtl слепoк. CМoтpиM' чтo измeнилoсъ. делаeм вьrвoдъI и oтЛavъгвaeм oт пpoгpaммъr ЛиIrIIие запчастЙ (PI{с' 28'4). B лаМepской Pедакции эТa ме-тoдика вlrIIлядит тarс: yстaнавлI{вaем защl'lцeннyю прoIPаNrп,ry на oтдeльяvювиpтyаЛьtryю машиtly. ДeЛаем <сЛeпoк>. Bсe! зaщrrTe xaнa! Скoлъкo 6ьI I"rьI пeзаIтyсIсали (сЛrпoк'' oнa 6yдeт lraивнo пoлaraть' чтo залускается в пepвый pаз.

Pис. 2a.з. oтладoЧная вepсия Wiпdows 2000 s китайском ислoлнении

Page 432: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

эвoтические эмулЯтopьl 4зз

lle сl{o)кет опa пPлвязЬIвaться п к o6oРудouан1rю о6opудoBаtlие эмvлятoPa н€за!llсxL 0T lL]lларaтI]oГo оJrрvжeнпяj прелостaвляя пall ]lеoц)a]lичellпуIo свo6oлу вьr6opa rttlс.'tеiiпeго'

Пoп]-тaо эм!rlЯтoP oсв06о]lqtaer.oт пeoбхoДиrloсTп сTавl1Tь Лot1аetIylo пpoграп'llv rrа свою oсfloвн}tо Ilашltl]y, вo-первьIх' rlеxoтоPыe lIPоrPaммьl' oбнаPy,{ив'чтo пx jlo]\laют' пьl,rаl()lОJ liilli.lo I|аllа]tосГuть I]a Bиj1тс, A ссЛи да]кс и не ltaлa.кo.]тят' тo l{аti ]ltI'Гь ]1а1'll (l!'l|or]iiT' 1:ll( llусl.ь jlyчI]]с LltIoчиT нa эlly'ltяTopе _ этol

t'

Pис. 2a.4. ща мЬ ee хак|lем]

кAк нAстpoить soFт.IсE пoд VмWARЕпpи пonЬтке испoлЬзованил soft.iсe пoдWindows 2000/ запyщенsoй из.подvМWаre, нa.

soft .iсe pа6oтаeт тоЛькo из teхt.mоde.pexима, развeplутoгo Ha вeсЬэкPaв Gaходим в FAR' жмеM ALт+ЕNтЕR. затeм стRL+D), a вo всeх oФальныхpeжимах наглухо зaвeшиваeт систeмy, Ехаяньй 6а6ай! кбатиl пoд W]ndows 98 oн чyвсгвуeт себя вioлне нopмaлЬнo' нo пeрeхoд нa Windows 98 _ не вариaHт'этo извe-нЬй глюк айса' пpизнанный N!Meqa и yсгpаNеtнЬй лишь в Dlivel studiо веp.сии З'1(вофициальной фopмyлировкe этo имевуeтФ (поддеPхкoй VMWARЕ})' noдpoб'!oсrи Moжно найти в докYМeвта ции (см ' \ФmрUWalе\Dr]velst!dio\вoolG\L]s ng sоftlсЕ' рdf'прилoжeHиe Е _ <sottlсе апd VMWаrе'' при этoм в кoнфигypациoннЬ й файл виpnаль.iой машины (имя aиpтyaльнaЙ'мaшины.Vmх) нeaбу'oA|'1$a дoбавитЬ стpокYsvgа,maХFu]] sсгeelrRefгeshтiсk * 2 и vi}тOuse.pгеsent * гАLsЕ' мышЬ будет] тoлЬкo онапeоeсгаHeт 6ытЬ виDrvалЬнoй'.'

эк3oтиЧ ЕскиЕ эt"tyлятoPЬlПoмtlNlo эпiулятop.Jв РС' с1,ц".6191,91 61,.',,.e кoЛllчeсТtso эnlУлятopoв саI1ьlх

Pазноо6pазнь]x устРoйсTв (pис, 28.5)' нaxPиI'сP' сoтoвъIх тсЛсфoнoв, кapl'ан.

l i l':r:tLt

' " , :;' o( l сgd

Page 433: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

4з4

ttьix iомпъюTеpoвl кottтPoЛлеPoв лифтa !{'г. д' Bо3ьмеN1 сотoвЪrй TеЛефoп' ott tlссoдep)rqт сpедсTв pазрa6oтки' а знaчI'T' зaпpolрa]llмиpoвaTь егo| llавя rlа кJrави.rr'rl приiiципиallьнo lrевoзмo,.нo (а сРeдy paзра6oтки ,r.апI пoпtешIаTъ пpoсTo IIе.

кyдa тrе хвaтaeт ни 6ЬrстPoдействия пpoцeссорa,lпl llамяти)' Boтп llpихolll{т.ся iтpи6eгаTь к эlt1yлятoPаll. эTo дa,ке rIе вo]lPoс yдo6стBаl _ эTo вoпpoсвъIxиваниЯI

Pис' 28"5. эмyлягop z80 для Есlр8иваемь|x усгрoйсrв

Page 434: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 29

ЯдEPHo.HyКлoHHAя сМEсЬ,или чEM oтличAEтся xP oт 9x

Wiпdolvs 98 -саl!'аяvДачllaя oпepal(иоlllIaя сIIстсIli] lIз всех кс]г/la.JIlrбo сo:цаЛпЬIх Miсгosoi t ' oнa пастoлько у/ .(аЧl lа l ч1 'o / tа){e 3 i lTРу/ l IIиЛa прoдRп)I(eлttсWiIrdows 2000 п Wiodows хP. УвьI' сс lloдДсР)кI{а rlPекРаlцсl|а _ l'eрехo]l llilWjlldows хP/200з пellз6ФксIr, да'(с ссJI't ̂ 1ьl:JTofo Ilе хo'Гrlм, гollоря'Г, в пoслед-пиe мII{oвенlIЯ пeред сl1сртЬlo чсnoвсl{ всIIoмпllaeт RсIo сIJoе IiРoпIлоe _ свoll'ДoбРыe и пЛoхиe дсJia. llo oпcPацtrolllla.'i .исTемa Лe пa,lе,ella создaпl'е]v! ].I N{о'(eT )l{иTь тoлькo в пanrих ссPдцaх, Bот l1 Дaлаiiтс срaB||'Iпl ее я/lро с я/'lрoIIWiDdоws NT' что6ьI знaть' чтo ]\{Ьl roPясIll а ч l.o lloJ]учilем I'allеll,

Пoкa пoклoннишr Wiпсloi,s 98 размЬlшJlяlот _ сToЛт ли им пeрeхoдпTь пa хP]'tJlll прo/цoЛ'(aть иl.пoрпровaтЬ eе сy]цсствoванIIс и вIlpcl{ь' дсвс'цollсPЬl в0всl.)шTaiurlУroт o6oЛoчкI,I' рa]укрaпти]laюnlIlе I{птерфейс WiDdоWs 98 на Jю6oii }]а.нсp (jlкстаТrl' зачасТу]o пап{lIоIo 6oлeе сиNIпaтI{чIrЬIй' чем хP). PассY}кДая o ДO.. I o y р . Г в 1 ч | | н n ] o с | а с ' х г i ' l

, l | , I l , ] \ U | r | ' i l , | | l ' ' | | | | ь l х . | l с I а \ | . 6 n ] Ь , | | и l с l п о - ) 6

ликац'JIi нaIlирaeт на пoльзoвaтcЛЬскиil ]1нTсpфейс' кoмrlnсlrт]1oсTь штатlloil

пoстaвI(и l.l llРylпe непpIrнцЛпиaлЬньIlr хаpактсpпстjl]tи| Jrсгкo усТpalluIl6le ус-Talloв(oй дoпoлпитe.llьIloго прoгPаllllнoгo 06еспечо]]ия, вoт тoJlЬxo oди}l rlp'i.

мсp: wiпdows ХP ш1.aTпо пoддержппaeт NTЕs' Whdows 98 Еет, oднакo этoсще не oзнaчaeT' чTo Рa6o,гa с NтFs поД Willdows 98 irевoзможнa в пPliнцrrпс,oтнloдЬl сущесTвУIoт pelцIrзацt{и NTFS и под Whdows 98' xo,гя 6ЬI trзвсстньlli

дPайвсP МaPка Рyссиlloвичa,

нaи6oльший интePсс вьIзъIваюТ иi{сttнo ядPа систеIll 1loскo.Ilь!у з&lo)кeн]]ь]eв tiих сRoЙсTвaнe пepe(Pываются пpIrRпадньllI уРoвl]см и во jtjноrоr1 oпPедслЯ-

Page 435: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава 29. 'дepнo rуMоrloq.Yесь, /Л'4 -еv о-л/чаe G xD oI q'

ют хаPаitтер всeii oпeрациoнки в целоl{. насttoЛЬкo I11lс изв€ст]loj тaкolo сPaв-нeниc дUI6 r l e^ l l l l l 0гoвoдиЛo ' L ,

Bo из6eжапиe пеурядицьl дoговoPип{ся пoI{имать пoд Wiпdo}.s NT всю лиllei,I.кy NТ-]10до6пьlх сисTеil, a пl{cllнo: сап{v Wjndolvs NT' Wjndоws 2000' Wirгdol's хP и Windo\'s 200з, Cоoтветствe]ilto' пoд Windows gх пollиllается Wiп.dotl's 95' Wiпdorvs 98' Wiлdorr.s Мe'

пЕPЕнoсиМocть, у|лу| мEPтBEЕ BсЕx)|(ивЬlx

oпcPацlrirIlIlая сt|сTeмa Wiпdows NТ прoектиpoва"!ась с Pазl'Iахопl и oп'|.llNlllс-'l.llчяo'1 всPoй I] свeт"пoe 6удущсс, Toгдa в кollцe вoсЬlrидeсятых 6yлуIllеевt,lдсЛось в,tесткoii кollкуpеllц]lи, сЧит:Lnoсь'чтo пpoцсссopoв с кan(дь,]\! кo/]oNlбyдс]т стаllовПr'ься всс бoльшс rr 6oльшe, поэтому 1uавIrЬiill кPитcРllсlll вri6opаопеpацrrorлroii сttсr'cмьl стnнетеe I]еРeIloсl'Iмoсть, ФoнoмeltzLпь]li]я ]Iolту'l,Ц]floстьUNIХ oбЪясltяЛ.lсь oтIl]o/lь llе llРoгpаNl]llистскиillи кaчeстraми (с тeхнlFiескоii'l.oчкtt зPсlIIIя аРхlГrектyРa сис'гсNlЬl6ьtла Bесьп1a v6oга и яoвUзIIoii пДeii сов(смl|с б"llllо1.алill да II€ Зallи|laют мellя ес пoклollпики _ lIo этo ltстоPичсски ii ll)ак,l l)'а кoJIllчcствoпl пoдjlсР)киB^сI1Ьlх lIЛаT4)орпl, UNIX pа6oтыlаrrpaкr.lvrсItrl лeздс()1'кс)|l гРo.n.llсрoв Лп4)'Г?l /lо кoсмичсс](их кoрд6лeй' ПPoIPампla' IIa11исallIla' дJlяolLlIoii lUlaTd)oРNlьl' I1РoсToii сPскoмпиЛяциcй псРelloсиЛась iIа дeсяToк.дpyг()iioстilЛЬltЬtx (l!a сa^1oм /lс.Jlе] кoIiсчlIo|-l.ребoвa"r]oсЬ l]сilтo бoJ]ьцIee, чсNt пioстaяпl]PLlItoуIIll,]1яIl1lяj lIo э,to y'(3 пс суTь вanolo)'

РасIUlатoii за Ueperloсll]voсTЬ сl.а|loвиTся IiддсtIrtе пDoизвoдrlтс.lьнoстIl (пo/lчасoчс|lЬ сvщссTвc!lноe)' Wiл(lows NT пpa]стичесI(и ЦеlшIкoм нап'rсанa lIaязьtке Сu,Ассс:rr6-lсрньre стpoкlt с16lIаPy,rиваются ЛиIIIь в,гotlкoм сJIоe a6стрaгrц)овaltп'loт o6oрyДoвaxlrя| сol{oP}l{ащсl.o пeрвrгIIпnе ДРайвlrРьI и aпгIaРal]lo-зав]1симЬlсфyпкпши, L],пагoдaPя этolrу о6стoятельству Windolvs NT 6ЬIJlа пopпrpoванa IIаDЕС Al;lhа и нссltо,лькoдpугrIх платфоPм, нoдoлгoе Bрeмя и.нoPиPoвa]raсь про-грa]v]v rlс,l.с]rоli oбщeсTвeIIllосTьlo' l toскl]лькy :LцeI.ватпьlх tsЬlчисJIитслън ЬIх мо пгIкх]Tеii в Тo вpе\'Iя пpoсTo ]le сyщсствoвano r' Windо',vs NT aссoцrrиpoв;r-lraсь пoмеIlЬ!rсй меPe с <lraДиллaкoм} иJrи <]!IeврoЛе'. B пастоящиil lVoмellт Wil).dows N.l. pс:rпьнo ра6oтaeттoЛькo Ilaоднoй ]lЛaтфopNiе _ IB]\,1Pс, а остaЛЬI,ьlеBЬ]NJеD.Jlи зa нe]lадo6носTьlo,

Windows 9х' oРиеIlтuрoвaнная нa 1jlипкиe дoмaшнио кoмпъioTepыl ]lикoгдa нострe\Iплaсь I( Irсрсrioсиnlос'ГI' l' oптипlизиpoвaпась пoд одIly кotlкрст]1yю п-1ат.фoрму . IBп,I Pс. Бoльшoе кoлlчсствo ассеl{6Лeрrtolo кoдa o6eспeчпвAет eii]laI{вьIс1l]уIo скopoсTь вьII1олнeния' Без всякoй иpoнии Windows 9xвЬlпo.lня-eтся так 6ыстpol Irак эTo ToJ.iькo вo3мoжrto' чтo осo6енно хopouroзамстнo нa ltедлеI'нЬlх мaшuIraх, С дPyIoй сТopoпьI, Wiпdows NT сoдepяtлт ряд лpoгpcссивньтхaaгoPI'тпiс'в tloупрaвленлюсисTeмflьIмиpссyPсaмп' и нaбыстpЬlx маrIIинaхс дoс'Гaтoч]]ым кoЛI]чrствolf oпepaTивнoй пaмяти (oт 128 М6airти вьIпIe) oнaсvщe'ственfl o 06юlяет Wil1dows 9х.

Page 436: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

76, з2, 64 и |28 _ или миt1усЬ u]ирокoй рaзряднoстИ 4з7

L6, З2, 64 у| L2ц или миHyсЬll.ll и Poкoи PA3PядHoсти

^r .Pсс с | l в l l а , l P с ] ( j | . t l ] l J aя ка r1 J I l t | | | l , | ' l I l ! ) xon | | l \ l i l ' l 4 ) t l P l l ( r i i п , I i с гo so l t . DЬ lдаcГ p1 [ r

P ' л l l I n r ь |n ) j ( а с с , r JЛ I Jo ] J ; ' l l с j | | | |n )0 r | | x )Ц) r [ !N l l | с , Г с l i ( х ]дoО . l | } I {оп r |e j To зa I J I aв l l ое

] l o (1 ( ) j l | | с |Пo ( i l { ) ] ] х о J | . р I l l l I I ( ) l I l | Ь | \ с l l . т с I I , с y j lЛт ( ] сa l I l l , с l l ачaЛа I l : l 11 ] LonГ ( )l l у l ( ) ] ) | I o l i l l | рa ] l , l j чT ( ) \ \ / i ] l ( | (^\ ' s l ] \ ( l l ! а ' ч ' Г ( , I l l l I ] a ( . n ' lюл | l o с r I ] l о 32 -P l l : r .

l ) , ] 1 r ] r ' ( ) | | { ] l ) i l | ( l l о | l I l r я ( | | ( r l \ j l l , : ] l l | . I | l r I , | яu J I l J | ( ) сЬ l Ч1 r r < | l | r o с l | | l ( ! ] | l p сN l ' | з J l ачс '

||rx ' с l l I ]\( i j yГr i l r1оn( ' l ] ((х.|||| l l1|| чсTЬr i)L]х ' . || Wiпt l r lws N. j . сr l rc r raмrк lгr l 6олoс:J2.]) i l : ]] ,u l ||а ' Чсj\J Wir l ( l l^\.s 9\ ,

, l l с i i с ' l . I i lUс. Ь l l ( , ' W Л(L1)\\ 's l ) \ (оj lС l )){||L 6ОЛЬlIx)c ln) ,n l tЧ{х,r l ]o 16.p, l '}pЯl l I l ( ) l .0 I{0rL ' r 'r r r ' , r , ' ' r r r r ' , , r r r т ' ' ' ' 1 ] ' , ' ' j , ' ' \ | l | | | l | | ' | | | , | ' U , ] i

к{) | | l l 6J lx | ( ) ' 1 ] ' ( l l I l с , l ' l l . L r l J | , I l I l t | i ( j | | | ) ( ) l L ( \ t ( ) l )0^1. ' |оpN loзяrJ lП111(; i , i l ]рЯд l ( ) l r ) I l { ) /L i l .6Ь r | | l o i l l ( ' j . ся l ) ! | l ( i1 | l l r P1 . l ( ) ' l | скО l ) ( l t пoJ lь i ] ( )Пав lu l I i i ся 6оJI l ,l l J ( ) i i r | ' ) l l у j | , lp l lО( r r ' | ( ) v | |р( ) l l : rB( ) ] l |П .с , r |С i i ссрвс|хЛr l I в | ) l сoIФпрor . l : !no ,1( l l , геnЬI lь Iх ( l к )r . \ l lЦ) ( , ! c r i l l l ] ) P i l i ] ( )ч l |х ( ' |a] l I ( l I i i ' СoI lP . i l с l l I ]ьJc l |рo i l . ссоPI , l (x Pе l r t i l i l n l v

' , l | с l , ] 2 ' , ' l l | . | | i ' , U | | l ' : | | l | ' . l . ' , | | | | , : , l , ' ' | . ' i i ' ' | . , '

l t . . t : t . . .П ,llясT(Я дa}(| 6ы(]llrссI l{ то]\1v,lLo оtl зaIJrlмiloт \!сl]l,пIе ]!1е(|1.а lla ди(xс x в ]IаII,Il.ll,

/1Pvroс ,'Lс"'Io' ч1 о 32 PазPял lI Ьl j i t()]1 с! nц]с l !сl lI lо vl I Pощаc'Г пpoгPal{мI] PогraI l rIе.rlo IIoсrФлькv ] 6-])ll:]р}lдlltiс d)PаГl!сtlTьI tloдa ljy6oкo заPьr,ГЫ П Windonls 9х.ltrl.l(llкrii l)iL:!llllцI,lrЧе'iду WiIr':loNs NT ll Windo\1,s 9I с по,ГРе6ltlе"lrьсl{oii Т()чкll3Pс-llll)l xсT (IlРIl!rспt l{ потPl]6IIтс.lяi\I п in oтпосIiII IIе тoЛt'кo xo'1ьзоватс.!ей' }Io ll пpпliJlаr1tlЬIх/сi]стeпппn\ п])orl)aI1I1l]сToя)

но прогрeсс ]lе ст(Лг|'lJx ]\1L{ L1]. l1 pаJря/lIrOсTь xoда нспPсPЬtrrнo yвe.flпчItrrxется'Cеihaс актl]nпo р ра6а'Гъlваk'|с,t х86.сoв]\]сст мъIo пPоцессoрьIj поЛлeрж]lвa'Iоп],те 6.l. lt t28.Ра:]ряilul,lс рс,кlll1ьl, 16. ri З2.pазРяднЬIй ре)кI]Nlьl сoхРаIlя1.сятоjlь'о в вllд.A эIl\lJяll'lU ll6удуT r{ут]{о тоPмoзrITЪ. Ес'Гествеlllкr' саsl Ilо се6е64 разряДrIьIii рe'кl{\l l|е увеJlrIчxвасT сt{oPостlr o6Pa6откli дaппъlх' Il п.r б0-!ь.Il]оli}'счe'Г'v, ]T|) Iф0с,ю хllTPЬlii \1аРк!]тпнrlrвьrri трrок' Ho trам.r.o, rrонсчньrlrпо.] 'J0ва|с.ll'Il, oТ эToго но "'lсгчс] Windows 9х 6удеr кpaiiне нсэффе]LтI1вна н:lTаl{uх -!lашllltах) а еe пеPeнoс потрeбу."T чудOвt1щllЬlх тPудoзатрitт' в 'ioтopьlх

Page 437: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

438 rлава 29. Ядеpнo.нуиoн!ая смeс' или Чeм oтлиЧа€тся xP oт 9x

никакolo смьlфв }1еT, пеpelrести Wiпdows Nт тopаздo пPoщe, и ведь МiсгosoftLсй( ,ви|сл| , , ]o с" . |еЛcнo l ит (н} ,1 , |и вo всяr 'Ъ ' r с . rу lа ' пL l " . | .ч э o гдe . а|L) ,сpaзy ,се вoзникаeт вoпрoс _ кaкoй прoцен1 32.paзpяд]roгo кoдa сoxpaниТсЯв 64/12B.PаэрядньIх вeрсиях Windows Nт?

пoлнoтA пoддЕP)tки WINз2API' v|лу| сBoи сPEди чy)киx

ПPoгPaммтrьIй иtIтеРфeйс Windows 3.1 6ьlл нeвеРoятIlo y6or.и взatrмlro пPoтивoречиl}' поэтoмy гРyппe Рaзpа6oтuикoвWiпdows 9x 6ьIлсl порy'rerто pазpa6отaть пpиIrципrrалЬI{oIroвьIй AРI,учитЬшaющий гoPъкий oпьiт предьIдylцeгo и пpизвalпrьlйликвlrД,гpoвaть elo слa6ыe мсстa. oт paзрa6oтчикoв Wiлdows NT тpе6oвалось o6еспе.чить o6рaтнyю сoвмсстtlмoсTь с winз2 API (имcннo такoe rlазвaнпe пoлу'IилнoвЬIй интcpфсйс) нa урoвнс oДнoй из noдсистcм врeмetl вЬIпoлнeния. Пoна.чаJIу этo ниI(oгo oco6cннo ltс взвoлнoвaflo| noскoлЬкy Windows Nт oриrllтиpo.вaлась пРeимуществeннo нa os/2.пpилo)кeния, и Win32 дoЛror вРeмя oстasaл.ся пoбoчпЬIм пPоetтoм. oДIlaкo сo cillePтЬIo os/2 и фсePичeским взлeToмWindows 3'1 все измerlилoсь и зaдaчa сoвN1ес'ГиNloс'Ги с WiIкloWs 9х (a в сr ус.пexe у)кe I{иI(тo нe сoмlleвaЛcя) вьlпIлa Ila пeРe/Il!иii плaп'

Дикoмaтeрясьи вспoмI.Iпaя всeхс!]ятьIх' I,Iрol{ЛиIlaя БиJ|лa гeii'гсa и ancЛjlиPyяl( свoсмy с06с'гвеI l IIoмy aвтoDитeту (кo1оPыii6ыJI п()6оЛЬ'Uс' чсNt y т|poнr1'иРoв.lциt(oв win32 API)' Iсoмallдa pa.зPa6oтчlllФR Wiпdorvs NТ сyrцсс'гвеrtrto rtеpеpa.6oтaJIa прoфaммIIъIi1 иIIтeDq)eйо' дo6aвип к lleму мIlо'(eс.ГBo 4}уllкциii' кo1oРьIxltе 6ь1Лo и пе мoглo 6ьIть в paмкaх Wi (hws 9х. Ка)roе.тo вPемя рaзpa6()тчи(ипoслед]ieii пыTar']исъ пaйти кoмпрoNiпсс, по поToм поIlяJll,l, ч,Lo этo бeсno.Лeзtlo'и, мaхнyв pyкoйl устaпoвиЛи IIa мeстoTeх (DуIII(IIий' ]сoтoрьlo ollrt tlс смоruи Ре.а.lIизoва'tЬl сsoеo6раз]tlJIe <заt]лyшки'l BссIда BoзвPaщaющие oши6ку вЬIлoлliе.ния' To eстЬ фoрмaльrro фyнкция естЬ, нo тoЛку oт ltee Д ке меt!ьulel чеп! oтнaрисoванвoгo oчaг^ (пoмнитe Бyратllнo?)' нo этo ецe чтoI lle'.отoрЬle фyнк-циI,t B windows 9х ведyт себя иIrаче, чеlll в Wiпdo$,s NT. нaпри}'eр, в Win-dows NT Фупкция сreаteFi ]e Nlol(eт oTкpь']]aтъ пe тoльIсо 4)aiiЛ' пo и уоTроiiствo(скФкeм' ф,Iзическr,iй диск) ' чтo делaeт еe сплънo лoхo)Reй ]lа UNIх' К сo)калe-нию, Wiпdows 9х таIrих rn}"тoк нe пolrимаeт| l1пoлo6ные пpoтpaмI'rьl нa нeй не.рa6oтoспoсoбпьI. llo пPorpaммистьI нe мoryT пoзвoлить сe6е РoсIФпJЬ сoздaвa,гъпpoгрaммьl' рa6oтaюпIие тoЛЬкo тla Windоws NT, и пoтoмy всe преимупIествaпoслeдIteй дo сиx пoр oсTaloтcя ]lевострeбoвaIlIIЬIlliиIМaссовъrй пеpо:roд на Wirrdorvs ХP ao,'ttкен pазpеши,rЬ эту сиТyацию' и кoгда, нaко.нeц, Windows 9х умpeг' пpolpамlt,исты nсетo lllrтрa вз/{oхrryт с бoлъIlIим oблег]e.пиeм' Я IIe ипlelo пичeгo прoтив Wjndows 9х' flo пoдгoпятЬ свo]t lrрollук,гы nol{ двeлиfieйки пpинципиa{ьIlo раaпичtIЬIх oпеpaциo]lllьIх сиcTeм ниI(oNiу rte B Iсай4).BъeДЛивьIе читaTeЛи мoI}'т спpoситъ: a пpп чeм Tут ядpo? Be,ць API _ этo )кeприклaдIIoй иrпеpфейсI Aтa, щaс, paзбe)к.Lциоь| этo всeгo лиIшь o6еpTкaвoкpугфуtrкций ядрa' имelr]ro ядрo зaпpавЛяeТ памя'Гью, прoцeссaми' фaйЛaми и пo-

Page 438: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

пoддерхм o6opудовани9i ипи сапе 4З9,1oкаNrli, ип{еннo ялрo oграПиquваст вoзllоnoloс1ll ]1Pик.rIа,]I]lоIо lrllтeрlDeriсаИ э r r r o r o r r ' r r r . , t и ч ' . ' t | | | . l | . | | , | ' я | l , : r , 1 , | ' , l | Р ' в

MHoгoпPoцEссoPнoстЬ,у|I|v| H^ XPEHA кoзЕ БAяH

Bо вPепlснa сoзданrтя Windов,s gх lllnrтo пoд\'пlaтъ rle lloгj чТo lfнoтoпрoЦeссоРllьlе кoп1llьloтсPъI пPIlЛyтrlа раrn).u1ii сТojl, - tl пoтolty сксl''t ьrю 6ьr пpоueссtlpoв lrc 6ыrrо усlтанoвлеlIo' WindoNs gх вссц1 эа]lеilствveT Jllll]rь oдI1IJ из ппх.ITу]]e IIoддсp'orвaет оIla Nпol.о]lРоцсссoРнoстп' хоTь 'ГьI 1р0сIrл ]

A вoт в WindоWs NT лoДLсP,!t{a l\'ногопPoileсс()l)lt()сl'u 6ьпа 3а.!оnrell) |1i}|lilЧаJIr'.нo, PaздejrerrlIe пPоrlсссoptrЬIх PссyPсoв aРorlсходllr lIа уPonlIе пoToкоrr. с{]PllсР.ньIе пРплo)I(eппЯ, обра6а,t.l'tваlопlrlе Iraлrдое сcl'свoс lIolotЛloчепxe П о,l',цс.Цt,lк]}lпoтoкr' лllIleihю vBс.l]]1Ч]IвaIo'г rlDoпз'olLllTenЬ|lo(LЬ с]lстеI"lЬl ]] зilIlllс]1Nlo(],гjl 01.I{oл] lчrства || l )( ' l0сс()Porr (I 'у пoчTJ l J 'п l |е i i l | () | lco6хоiLr ' io у] lcсTЬ ||; lкJrд l I l , l !PaсхoдьI пa rvic)roIР()ЦeссoрlIЬlс взаl'i\|одCii(rrЛ|'l). or]lttсtп'rс жс rl тепr бо:rr:с rrr.1хг

l ' 1 ' | ' | | l ' i ' ' , ' ' ' ' . ] | | ' | ' | l ' ' ' ' , | с ' | , | , | | l ' | , - , | , | ' , | ' , \ ' , I

в 1! l i loгo l]рol lес( .() l ' J (х '1.|r , I( T()ruу nrc Pсn1ium .1 ( l l IyP0I. , ] . l lГс; l i1]пg I lorIIIo|(|r i r l l , | [1| ! l \ l , J ' ' ' | , ' | | ' , о . ' ' . , ' ' , . Р , , ' ' \ ' | | i , l ' , , , , | | ] ' .

Illх'lзl]о;llf гс]lьll()сГII'

l l o , , l ' + | ! | { l ( \ ' ' | ' ' ] 1 , , \ l i r , ' | ' l l , \ | | l ' | ' ' , ' l ' ] r , ' ' l | , , ] '

J п i I пЬ o6ОЛD2 l I l o l l I i ь I . Po I { r l aNo i i ' l Y j L ; l | ( 1 l , : i l l 6 L ' l 1 t ) 6 .Ц l , r | а r | |Ь | i 1 (Ь ] | ]

бьl llас1. 'l.оJI Ьк() в 11ЬIцtс'J|оDксl

пoддЕPжкA oБoPyдoвAHу|я, v|I|И сAпЕP,otJlиБшиЙся двA)кдЬl

ядРo Windоlvs 9х trс]IOсРсдсTвoнно flе PепIieт вolцl)сoв| связaппьIх с поД(eIЙiт(оii o6oPyдoвalrЛя, i't псрeкЛа/lьIвaeT ]'|у задirчY нa vстaпaпnuваеl{ЬIс дPaiiвсPЬI'lIаlrpотrrв' в Wiлdows ХP пер]rIt'il1ьlс дрaliвсPЬl llстрoепlll в сan]o,lдPoj ilвтопlаТl1чсскu иnи вpvчнylo выrnЦ)аeilioс на сTаДlIll riIlст:lrrЛяцrrr1 O]tсpaЦIIонI].Лi сllс'ГспlIn' Пр]гIеп{ кФкд0eЯдpo ]]сllo.IIЬзyет спori 4!l]]NltlT дсPсва устроilсTB, пo]'|l)rIYo полп.)Il (Jвмсс,Irl]\1oсTII Nlo,tнo толъко Ilеч1.аТЬ,

Aппарa1llа"ч xo]lфиГvPaцIrя Wiпdot,s 9х NюжсT 6ыть шзllепelrа в.lrlo6oii ;rюllснт,B хy:tшcм слу.rаc это пoтре6ует пepоalpузкrr Qшorдa нeск()"'1ьхlх llсpeзагpr'зоIl)'llo нt] 6onсс тolo' WiIdоrr,s ХР в rroдo6ньп слyv:rя)i зaчасTуlo пpПхoд]1тся пePеl'с1анаts.Iirtвать цe"IиiLоl'' I{ i)T() вонсс rrсдсdr0ктiLPllвЬrx руrj каx ]]скотоpЬIr <спеIlrrалисTЬl' авTоPитeтнo гоllорят. Этoдсd]сшв Nloзrаx прoектIlрoвщl1]roв сrlстc]tЬll

Чaстая спrcна o6opудoвallшЯ lIа rxадс'lьцсв \'Viпdо\\s NT дсiiствYcт vrliетаIоJil."(ltoпIу поrrPaвится пeре}.сl.аllавjIxвать oперaцпol!Ityю сxстсмv]ro Irеско':rькo Рnзнaдню?)' ri потo]\{у N1]lo1.ис из н!r]i пPeдпoчиTaЮT Windo\\'s gI' I{ сo'i;urеllllrо, сс

IEг

Page 439: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

440 глава 29. ядеPвo.нy@oнная смeсь/ или чeм Фличатся хP от9x

IIoддср,{кa уже дaвlIo пpекрalцена' идалeко не все сoвP€меJrlroс o6oРyдoвaнисиltеeт дPайвсpьl, прrДназrlaчenllьIe для Wi0dows 9х. с Teчениeм вРеifeни сптy-с ц | | я 6 \ д с 1 | o Л L h о ) \ } J ш , i l ь l q ' п р } . ' l P I l j | l ( . к o й н J д e , к Л o l , r I o в д i , l o р i i U р ч

W | | ' d n ц , N T o 6 p а . . N | | | . } , I l ( P / н , ] в л v Ч ш и е ' l е г | ь l с я o ( й n n д ( т в e | | | l ] ' ] l o | , ) | | ] .]reT, в Wilrdolvs NT 4.0 Рlu8 & P]aу.NIенсд,rеP пpедстав'llяст сo6011 o6Ьl(t{oве]гньIii дpайвер' Лo пачIlllая с Windоws 2000 о]r встРoсIr в ядРo, 1r iIъi въr]ryждсньI

h l J4oи ( / l \ lU o , l I o гo . хo |им ] Гn гo , l j и l l е | ' \ I o ) ' ( l I n l l ' | | прсГ | |

и дpуt.ие llprrмeрьI' 1Io и 6ез этoгo яснo, vтo ядPо Wiпdows NT пoстcпсннo llPс.врaЦастся в сваjII{у, l{y]ra paзPа6oтчlllot вд-.]ят всякуIо xp€пь' сЛстe a ,I €гpaд -

/) l | пPяI lо d. | , | !а!х, p.Jв: ' || lR] ,"Ь под .о6 ' , вP,r , ro i i 1qяPс ГЬ|o, ,

гlлAHиPoBкA пoтoкoB изBHE у| v|зHутPу|I(ажльIii п poцосс иl!1сс1. no Nlclll'uсi'i меPeo/urп лотoкl а ка)кдоe пРlrлo)кепIIr сoз'Л.i €T пoмrllьlxeij rцсPс oдtlllltрoцeсс' I] Nfl iоroзaДачпЬп систellax потoкп uьIIlynЁjtсllЬI 6()Ро'Гься за пPоцlrссoРrloс gpсм,l' си1уtlц!tя' кolДa oДиll гto'Гок oтllll]\fnеTг , o ] J | ,у , ,UI U, l | : ' l | | | , , | r |с " | ' , ' Гnс| |c . ' , ,1 .N, o| |гРаJI loн| lh ' ( | | ' . смh l l ( | .oЛ|| ! | ' ' . , | , ' j , . l '

г,llавIIoгo pilсlloрniцl IL'nя' кooР.IllllIl]Pylоlцrло Dьlilачy пoРциll пPоцrссopltol.o врс.мсllи (ЛlЛ ||;lзьx]aк[сЯ l(вitl11niцц) Tclt ]loToкаNrl l((IГoРые 6oJьlllс всcГo u IIrNl IlYл{.

/xnк'гс,l' иlIaчс :)'Го lia3l'l]аc1.ся IlJlilIlItрoваll!lс]\{' B сгo з:urачy вхrlдIlт rlьI6оР lraп-

6OJсс o l l ] r ]N iaЛьII ( ) i i с ' l ра l . c г ' t , l I I J ln I lпРоt lа I lиЯ ' o6сс l IсчиваIo , l Lс i : l ' '< 'и ' rЬIс| l Iу lo

п Pо иil ноjtLl'l.с"'I Ь}]о(:1.Ь оI lс'Рal llnЛ l l Iotl сl]с,].сп!l)I,

пока к{rJll|\.с|Ilо |l()11)кoв l]спсJlикo, lIлаIlиPoвllull{у l(ос,ГаTotllto сOl.lrа'l.ь I!х B о/г

I!v oЧерсЛl,' о6lrll6tl,|ЬlвaсмуЮ |] <кirJllftin,]стltttcсlсolr> пoря/{кe (в псpвуrо очo.pL,Lr, rl6ра6a,гьrвiuоr.ся r rаLr6oлсo 6oгатьrс _тьr|ly' t1риopп1.еTlIЬIсj_ л.Л.oки )' l(ilк

с'llс,'lс,гI1llс _ ссJlrI nравll,r0''lьсTllo lle lIре/lпрllIlимaeT пI{кaких кoоPд],lIllтpyкЛцllхl]ср _ ( Tcllсllrte]\{ в pсNlсill I 6с)гатьlс все бo,1ьше 6огаТelo'г, (),|'|lиlllая рeсуl)сЬl у ос-

1а-lIьl1ЬIх' .r rIllзкolIpll0pпTeTпьIе пoтolсll !loгу-г lI вовсс ]lс lloJlyчlть yлрав-'Iс|olс,

пnаllIlровlIlпк WiDdоws 9х исlloJIь3ус,| /1oвoЛъllo пPoсTьle .LцгoPrпll ьI Pаспpcдс.t ] ] i N|о| ' | | ' o ' lравд| iв : |o lцr r ' г r '6я ,o . rько | l ' | | | |L . ' ]ь , | | ' ' i j

| | U , o t u d , , | | Л ' | | I I l U | , ' ' l N | п p | | o P | | ' о | o v , с 0 6 с | в с | | н U U в o г я , П ' , 1 | . | | i I(х1)llсl|ьlii пoЛъзовaтсль Pа6oтaсT бoЛeе Чем с ДRумя-тPe]\{я прllлo'(rнIlя11r] oднo.

вpci\lcнllol IloЭl,oпly llа произвoдитсльIJoсть сисTс]\lы Iсaчсст!о лЛaIlлровaппяllpa(Тuчrсxи llпJсaк lle Rлияст. B pcаЛьнoй жизllи рaзPьlв Ntе}кlry Windows 9хlt Wiпdо$'s NТ yдaсlся зап{eTI,lть то-'iько на сrpвсРltых пPиЛo,'{с11иях,

3AщищEHHoсть' v|лv| дoБPoвoлЬtlЬlи3AКЛюЧЕнHЬlи

главнoс пpсимуrцесTвo W]ndo\'s NT над Windows 9х - этo, 6ссспopнo' еeщrтщсннoсть, сисTсмa пoJ'IlIoстъkr контPоЛиpует дoстyп кo всcм с11стеNIн!l11

]этoпPяммlpОтlвoЛоro*jк,сть..оциalиспчeсюii}oчePeдu'rдeвсeочePeдн!кuимcФtравjш'e

pе-

Page 440: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

441

сypсaмl ч t.o пPи пPaвI.lлъ1toи пo.nптrпie адllllнllстРrlpoIrаl IrtЯ суl]Iеств'дl п ю vI{с]]!-L , ' , в . D o l ] Г | | о ( т D \ , ' r | , и l . o n ф , , . р | | U l I i L | Ь | ь \ . , , | | ] | ь | х l | , , | | \ l , ' l J | . l ' | | О |

наxo 6о"lьпIlttlсTвy дoilаI]ппlх jl oфис}iьIt пользogaтс,псlli пр.rс1! lI.чсгo rr IIе о,Irогo заtцищaTr', Да и o кal(oй ,ащI1те rlo)кет ]lllтx pсчь' ес,]Jll бOxьшо пo.nовlrпьlустaI loв11вl]rЛх Win dolvs NT l]oстoяaIIo вхoдя1.g с] lстеri)' пo.1 а:rlnIн I IстРaтoРoII ? |

C o6ывaтс,.lьскoй точкl1 зPснItЯ, \\rjrrdоws 9х flaпrяогo 6()Jlсс дpуя{c.nю6ша l| де.ru(niрaтпчнa' чем Windo$,s NT' кoтoрая 6Jloк11pvст пpяr\foii дoстrл lr о6оl)}'rLовil-xlrюl нapy lая ра6oToсll0с06нlrсть мlIoгrlх N{s-DoS проl.pамм (да rr rrc ю.rькonх), I{ oгpoмIloii ptцoстx l.сiiпIеPoв' Il Windo\.s ХP появллtтl эlrу.rятор 6''LасLс.раj rсplrув Illil к nal3lUl illfloгlrc старъlе IlгР\lшxи 0I DoOI,1 2 t] тоll чllс'ie)'

'li,rl

\ | l | . л | l e i t | | г ' " d U i i , ] " | ф о l , \ | n I i

| | , | , 1 , | о | , | , ] | | l I i i , ' ' | ' L n ' , ̂ l l , | ] j ! ' ' I l I l ,Wiкlolvs 9E' пoскo'lькy все 'lгPьl в l l('pвуlo oчrРедь 1.с( I] lрvlотся ] I \](lI LI I0 l loд псe'Il IIЛкакоl.l гаPаuти1Il ч'Гo llгРvlпка 11оPма,lЪIlо i|аl)aб()l.nсT II,r \\iiIj(Lo\уs хP' у nl.Ilо1.' л ке eс'llll сс сoздаTeJlIl прсTсllrvют lla соп\'сс'11lNloсl ',

]t Tо\Jу )ft] с.llcдуcT ]loi\IIlIiтЬ' чT() всс за,Illl,ГI,J (1)i'lаr<lГt]Л Ir lIopltу|() (ll!рс,(Ь д,rlЯч l r с т i I ь I х J | к ) , 1 l i i , УвидЛ1 Гaкo i i | | а двсp l l iN i 6a ! l |Ь l i . i з i l I l ! I L , ] l ( ) , 1 с , ) Га ( r ! | l ( )Лс | ] га . ' ll l о l . o i i д .T l l l цо " l i l . о зa / l ср ) r аTь T l l ' l | i l l l 1 ' " l l I I во гo J J з " ' l о l r r r 1 r r кa ( r r ' l l l 6o здaр r r r l r r l в l l l o r l .l I l l l J t l r с o l . l ) ( ) \ 1 I l ь l N 1 J J o N l o п 1 ) l l и о l ( l t I ] i ] a м о к I l с с r J о ' r с 1 ] | I ] ) l l П o , { c , l i с с П n l 1 . J ' L l | , a r Ь(1 ' ( ) , J I l с с х p l l дoс l . и ' { l l : ] l J и ] v с га I | аD j | | lЛ i l я v l I l j l x l , l o р с l I I о , L ' ки | I i | ( ) j n l l l х l 1 | LaтЯ r r l r ] r 'J | ( )BсPх з t l 0o | ) r к ( ) J rФ|уk ) | I Poво , ! окv ,

сPABHитЕлЬнAя XAPAктEPисти кA ядЕPWINDoWS 9x и WINDoWS Nт

сpавнитeлЬвaя хаp.пepиоика ядер Windows 9x иWindows Nт

хаpапePиФика/ядрo

пoлнота пoддерxки w]nз2

Mloгoпрoцессoрнoоикачесrвo планиpoвaния

пoддерxка о6opyдoвания

16'и з2-разрЯдный код

поддеpживается Чапично

З2'paзрЯдвый код, в лeрсnективе

пoддeрживaeтся пoлнопЬlo

чаoЬ дpaйsерOв воpoенав яApo и требyeт nepeуФeвOвкисисrемЬ для свoeй замень

oт непредуMЬ|шленlого взnома

тг

Page 441: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гЛABA 30

PA3гoH и тoPlvloжЕHиЕWINDoWS Nт

i4 86 C -' a pц rnх:в яшpе пся'..PазPабoTчltl(и 'lД)a j tсr| о"! !ttIтсЛЬ ll o ii flJсTеIll)l гoвop'l-r| ч1.o оtlo /цеT пиrцу aссlry

ос,гa'nЬnollу. И )'|() отпlодl' llс IQеу|lcJlxilсп],tсI lla lIrюхоNl (l)уllдallel{тс пI,lчсl.o

хорoшol.о l]с lloсTропIlllI lr кaчсс'l.в(' ядpa в зrlачl,|с.]tьIIoи мeре oпрe/{eJlяoТ llPo.

liзвo/llJTojll,Ilос'rЬ Bсeil ollcPaциol111oй с,rсTeмы в цсJ]ONi' B кoi{плект пoс'r.aвк

W i!r dоWs NT вхoД]r,г 6oльlltос кo,lllIчсс1 вo рд]п.)o6Разн],Iх ядoP ( в тoN! числе I,I нa.

шyIк]лllIеr Ялlro I486с,Ilо сЛухаlll' знаЧrrTсnьlю yI]eЛI.IчIrвaloщсе 6ьIстpoдеiiствlIс

сxсTсl]Ьr), каl( oцeниr! Лх llроllзвсlдитс'llЬн()с'16? o6ьгlrlые тссTLlPуlolJIIle пaке

Tы дJl'l э1ol.о пe пoдхоl1яTl и aДекватIry1о lllrToДnкy Лзмeрeпlтй прихoдlll..я ра.з.

рa6а'Гыва1Ь саNюстоятельнo с учe1.о]!{ аpхllTeк,ГvPьl яДpд Windows rl спrЦифЛ.

чeсIсorl на]lPав]leппoсти вoз]Io)](еllllь]х пa нсгo задaч.

Бо-1ЪшllнсТвo пoЛь3oватслоii и сl]сTеNlliЬIх адl1и]r[сTраToРoB 'g,IrrуT с 'IдPoмl na-

зпачeIJньIl{ o]lcPaЦ!]oппoli сr1сто!oii nРIl еe иlIстaпnяцnи] совсрше]lпo rle задyllЬг

вaясь о тol!I, чтo сl.o ]!jo)кп.r зallс}lrlTь дpугпl!f' в пIтатrrыli кoмпЛект пoстaвки

WindowsNT вtoдIrT 6o,]lee дeсятI(а PазЛичнЬlx ядepl и eIце 6oлыI]eс xх lсoЛичe

сTвo l1o){сT 6ЬIть ]IайДенo нa ]ЧroсToРaх иптеPнета' l{скоToPьIе прoизвlrдитrjnЛ

allпаРaт]l{lго о6еспсчс}1ия oгlтli]\Ilrзируют ЯдPa l1од сRоI{ l{aпшньI, и зaчасTyIо эTа

o1lтимil''lЬIIoстъ сoxpаt1ЯсTся fia 6oлЬilпrIiство ос'rirjlЬl lrnх' суп:{ествует п{нсние' чTo

дPсвtlиеядРa (BсeепIс совNIесТllN!ь]e с ]loвoNloднЬшr! версия]\и wiпdows) наl!I1о.

го пPoIIзводlTеJlьIIеe совPеllсн}iЬlх' хoTя и yсryпaют шl flo фylllсцrlонLnънoсти,

o'гдeЛшolю pазгoвopa засJlyж]1вaсТ ].lс'|оpl1я с ядРом I486C, oл'ГимизиPoвaнньlм

пoд 80486.машliпьI, oнo вхoдиJю вo rrсe веРспи Wiпdows вплоТь дo NТ4,0, пo

Page 442: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

qly/r}pа cдра

за.IспI Iiеo)кIlДа]Ilt.J 11счeзrrо' п \\rilldolvs 2000 въrш'rа улrе 6eз негo, oднaкo. W i ' | { \ х P в ' , п P ' ' \ , 1 4 , I d | | o в L , | . q . | ' Ч | , , , o o н o - л n г U d o v в r , | | | , r t : ( , | | г o .пзtroДrtTс'IlьностьсIlсте]vlь], АвтoP,знaкоN!ыri с нпмепIе сo вpсNI€IrWj0dоlvs NT 4,0'подтвср}кдaет: дn' увertllч]llaет' осоrrеtllо на мeлЛепllьlх пIапт']Л i, l{ЛЯ тсoРетIrЧссrroгo о6осl!oва]]l' данноrо qJaкта 116ъr.r]а ]rаlтисана Эта г-laвa.Pазупleется' саrvo лo сe6е яЛIro 1486с нe пасToлько интepеснo, нто6ьr улelrятьсllly свьппe 15 сTptнlrц, llaваii,l.с пlьrслпть 6одсс гЛo6aльllo, ядеP ]\II{oгo, а и]]-стрyllelI1.oI] д.дЯ ollе]lr(rl ltх 1lроизвo,1llтеЛtl]toсти flе сylц""ствyет (вo RФкolI с.ny-чaej n о'ГкPЬrтoпt дoстvпe llет нII oдноro)' l.еi!l нc п'ellee Tаxoii ппстРуNtсят при,{eлаlппlпк]ж]]o PазPa.]оIаTЬ и сa;\loстoятeJL'нo, o нelr мьI' со6ствeппo' rr сo6иpа'rltся I)aсскnзат!

стPyкryPA ядPAЯдpо \Vinсlоivs N1.tlllсlojl,| Ilз дBух l(.rlкЦсRьlx кoIJ l lонсrjтo l] | ||1.('сllLiIJе sцstanl _lrc|lo.r|ttI]Tс.пЬJJl)lj (]1(],.]\lЬl (Лаnсс lrо Тскстy кljltNЕL), РсаЛl,lзouаIпюii в (l)aii.лсntoskln|'eхе' ll 6ll6Jii0тск|| ;lIlLlаPат|lьJх 6с,фilк]'\|1i\ IIа].(]К)ае АЬsl,nс|iaпLaцaI(с()кP^Iцс|llrо 1,,,11-)' llРсЛ(l|аBj|сJt]|oii(l)niinoм HAL'DLL, l-Iа саNl()ll дс,rlс lINlеll:l ()aii.r |оU Mогу r 6ь i .П) ЛЮ6ЬIмI l j J i l l l ] i t I l l l ( | | l i \к )с 'Г | | ( )1 ' 1 . l l l l a Я/ lPa ( ) ] |и вapЬI|Ру]( ) r ( , l 8 , lo .I loЛЬI iо lп I l l х ) ( х l r |х ]дсJ|ах ,

l,,lсхoдl tirrt lкltrrtсrlrtrlя rroс1pосl||lЯ Wiпdows Nl' l IPсlЦ l oJ.]itгiUIа сoсpс]io1tjl|пТЬ вc(Ьсllстelll!o'3а1]l]сl.lt{ьlii кoд D IJAL,с' r'с|Iojj'3vя .гo кiu{ (l)уlu(ilNIс|l'г /LЛ'I lJo3/1ви)(-l I l .U|с l l с l t i l ] l ( ) . I l t l з i l | ] l | ( ! Iм() i i l | с l l о -ц] I I l ] . сx i ' | | ( J i i с l l сTevь| , ' Iоu(а] l - ' l я l IoPснoсaя/ lрaI Ia I lо ] ]v|0 l l ] l lT4юPNlv 6J , |цo 6Ы , . l l ) ( l |а11) . l I lo пс l l с l J l1с t l - гь о/ t . l I l 1 IAL ' пc трогал l lП .чс l . ( l ос] 'anI i l I l ) |1 ( lю l tp . l i i l l с i i r \ loP0 TсоPсT| lчoск l t ) вд0 i i с , гnI . ITсJЬ l loст l i ' {с этоТРсбова| l o Taк l l I l с 6ь lL ro лr ' r r lo" ' l l r с r l r l , r . r 6o: rь r lюе кo .1Iлчсст) ]o ( l1сTс l lпo .3a]J I l с j4 .] \ 'oгo l{oдaIIpoсo l I l r . l l осьв l l спOЛl ]11 lс . l l ] , ] l v lо ( ] l к : l .o ] \{v , i tнАL lQсврaтпnсяв( l l Jourl Io r ] I tагроNlо ,{ l {е| | l l с j I l с |спx f t : l1 ( | ) j1цI IPy0NI| , i х ( )у l rкЦIr i i , тссuoJ lерeпnеTсr tнь iхсI l с .пол l J ] ]Tс , r l l l l о i ' l с l l с |с I ]o i i ' , г : l l ( l l , Lo , ] lвухyрoв l{сваЯ схeN l t l oPr .апt l з i lц l l ядР l lв п.|с1.oящсс IrрeIrя IrllItrlялr i1' .,(oвo,]r LrIo vс-цоtsuoii.

Ис]lo"']нIrтеJlЬ||a,I систеrrа Wirrdоrr.s N'l. рсаjlI.Iзveт вllсокоyP()вllсвЬlc фуlllilIlIиуправJснlrя oспoвll Ьl^Лr PесYlr(ilм] l ( ILаIс1.o lla\lятьlo' (laiixаN{lt' пl)oцес]сalIlJ lI пo.Tокаlll)] B ollPсдеJ.rеl{IloIl сNlЬlс-liе яIUl,l,Iсъ опeрац]lоннoli]J сllсTсIloi,I rr ]\п.lпI]а1rOPс,БoJrьIl] ll tlсTвo эT] l \ фyl j кЦl tii с"ца6.r связlurы с копсцryктивпьrlrrr осo6енпостя rr ико]]]tPеТнoii iLппePiu.vPьr' oпrl nрактrIческr.] ]rс\]енЯloтся oт одllоi }tсrlоnнlIте-rь.нol] сIlс|сIlьI к друr.oll ll l]дlтljaltок) пPornв()дxтс"tЬIjЬl (иJlи непроизвoДl1тс.']ьпЬ0 вo всех я/(рах,o6осo6.лснная чаtr.ь rrспo.n пTе.IIьноir спсTeмъr, peалттзyкlщая наи6oлeе низrtoуPoв]rевЬle oпi]рaциr] п тeснo взаI,II!одеiiсTвуюп{ая с 6и6'{!Ioтекl:)й аllпаPaтньIхa6.с'гpa]rциji' нaзЬIваe'Гс'l ядpoпl (КЕRNЕL). БоЛьlx]J]rс,ГвoядеРных пpoцeдуp ]lpсд.пазttансньr лля сугy6o внутРelll]сl.o пспоtrrЬзoванLIя lr пe экспoртIlруlоTся (хoтяnpисy'Гствуtот в oT-lта.цоЧньIх сI.l^Iвo.шх)' a те' чTo эl{спoртЛрУютсяl 116ЪIч]10 ]Iа..trлtаlотся с пpеt]lиttса Кe (пoдxPоrраl!мьr ядpa) пли Кi (о6pa6отка пpеpьrвaний

44з

Page 443: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

444 rлава з0. Dазгoн и тoDмoжениe Windows Nт

r"""".;;llos /2

POSTX

Ntdц.dll

ди0пgтчoP оисEмнЬ|x с6pвиоoв

(вьLoыва6мЬlэ иtпoрф€йсь| pфм!]а ядpa)

"gёg.Е 9

й EЕ 5*E

*=ЕнqЁ €

EaёЁч

l= ,

gA5Е

:

9 -а'6.tвх !9ъ чдра

УpoвэнЬ а6oтPвlиpoв6tlия oт oбoPyдo84ия (HAL)

Pис. з0.1. AрхиlЕктyЕlа ядpа Wlndоws Nт

этo yя(е]peтьe yпoминal1иe яДpa' котoPoe мы встpечаeм| чтo сo3дaeт oпP{-'Дe-ЛенЕyю nyтаIiицу' Давайte пoпрo6yем PазЛo)китъ o6pазoвавшийся теpминo-Лolичeский кавaрдalс пo пoлoчкам, lla сar'{oм веPхпем yровнс a6стpaкций яд.poм пpиIlятo нaзьIвaтъ сoвoкУIтiloс'гъ кoмпoнeнToв oпrPаЦиollнoЙ системьI'pа6oтаюших l]д лpивиnсгиpoв]нl{оl\{ кoльUе t iулeвого yPoвIlя ' спу.1 ившисЬпoltи,сel l(ьi увидим' чтo яДРo oтilюДь Ilе мoнoлитнo и сoстoит как МиIlимум из

Дв}твaстeй: сo6ствeнвo ядрa и зaгpркaeмьtхдpaйвeрoB' ЯдPo Windows NTpеa.Лизoваtlo з двyх фaйлaх:6и6лиoтeкe aппapaтныxa6сTPaкций (пo сyTи дeлаяв.ляющейся нa6opoм пеpвичньIх дрaйвepoв) и испoлнитrJlЬтIoй сис'гeмс(pис. 30.1). вы6opoм исполнитeльнoй системы pукoвoдtrт кJlloч КЕRNЕL фaй-лa boot.ini, пoэтoмv мrror.ие aссoцI,rирyют ee c ядpом| хoтЯ эTo и,re сoвсеM вер-нo, вo rre 6удeм дoкапываться Дo стoл6а' вeДь фyндaMeнт испoлнnтeЛьIloй си.стer,{ы - тoжe ядpo. и это ещe далeко нe всоl IIoдсисTемы ol.Py,(eния (wiпЗ2,Poslх' os/2 ) имeют своt сo6ственньrс ядpа, сoсредoтoчснrIъre в пpиклaдньIx

Page 444: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

II

445

6и6.rrиoтеriax пeпpиви'.rеIиPoвaннoго PеЦIl]v!a Tрстьeгo кoльцa, и общaroтся с ядPolt Windows NT чеpeз спeЦ[аЛь]ryю <пPослoIiку', реalизовапЛу1o в фаil".tеNтDLL' DLL, яДРa iтoДсисTеп1 o кPy)кe]Iия Itpсдстaвляloт сo6oil сквoзньrс пeрeход-rlпки к ядPy Windows NT п прaктп.lескtr пoлlloсt.ьro a6стpагиpoвaньr от r16o-Pудoванпя. прaюnчсски' Iro lIe сoвссмl llекoTopaя пoPцltя сl,lстerI}lo Заl]Ilс11-iloгoкol]a пРисутствyети з/I€сЬ. МнoгoпРоlIeссoрньlе в еРсиr] 4raйлoв NТDLL.DLLи KЕRNЕLз2.DLLД'1я синхPorI]lзaЦиrr потoI(oв rlсtloJrьзyJот пlаl]ruннyю комаrlдyLoСK' в oдIIoпpoЦсссoрнъlх I]eрсиях irнaтepяет сlrьrсл и замсняeтся 6о.'r".с 6ьгстpoдеi]iствvx) цсr1 кoп{андoii No P, l1aвер1lя I{a сущcстBуlо1. ll дpуrlie рлr| tlчllЯ '1lo я тaкпe сil €]lиаЛъ11o не искaл| пooкoльiсy их lJJrlянuc rlа пРon]вoДllтe.nъlrcсIlс'i(1.сIrьI Ilезпaчl1тeЛЬно,

]4з ]rссгo этогo 3oolIаPкa }raс Ir пeрвуlо oчеPель 6уlyт интеpссoвать ядро lrсlto.lr'нliтc.lьпoй (llстспlьI lI l{AL.

типЬlядЕP.Гt.tп

вьt6t'tpаеlroгo ядрa olIРс]tсJIяo].ся как aРх|lTсI{TYP||Ьlмu оф6cllll()с|'lNlll кoIJ.I{Pс1r| ( ) i ' i i l l I I rаpaTUo i i ЛЛа1. ( )oРмьI ' 1 .ак п .Л l , tч I l l , lм l l l IРсдпoчтсI l I IЯ^I j I i J ( )n| , ]oпаTс 'Ля сrкj1.сN1l,l' o6yUlo!-,|eJ ll |Ьl Nil| с]lсцl кl]nкоii PсU]асiЧьlхJадa'|. суlцс(lЛlvсT |к) \lсIlI'.JlIci]i iljсl)с lIя-l'ь oсl|овIlьrx кPlToPlIсu кnaссIl(hxкaIuIll Я,1сl)i

. Tr1Il пnaT4юPNllJ (Intсl PcЛtiuDr/Intсl l tаnjUIn, сolr lPаq systcпlPГo' ̂s.Г lvIаЛhaLlrn);

. коJ l l l t l ссTвo I IPоцс( l сoРoв (oд l Io i lPoI l cссoPп l , Ie и }] l ]о lo I lРo lLсссop l |Ь]o Л/ lPа) i

. коJЛ]lleс.вo yстallовJlellllоii паrvя-ГII (]]о l г6tliiГ' сi]ЬIшс ,1 г6аiiD;

. -|и|l кollтpoЛ].]ePа tIPсPЬIванIIii (APlс- и PIс я;1l]а)i

. 1 ] ' j I кoP| l с3oгo пeРe l r l1сЛ11тслЯ (Aс]) I . l l l l с ^сP] . 'ДPt l ) .

o.rctrtlдrю, .rтo ядpо дo.ll)rllo 6ЬlTь сonNieсl ]!1О с llc';lcвьl\l l]poцoссoрorl llilуPоl}.l l с ]1 l ]o l tч l l с t гo кoда r I Рa(юTaTь в наI l6oJ lее сстсстве l l I l ( ) I ] д , l t ' яLaГo l ) l ] ) (иN|с(6l-l)aзPядIlьIri пPorlесс0р' IloддсP)кIIвакЛllиii apхIIтеILтyРI 1A:]2' сlloЛ(c,Г рLl6o.тaTЬ 11сo с'rандартl'ьIl!1 32.PазP,IдньIrl я,lР(Jм' ilo PазyNппnI1 1.аl{oo РсЛlr,IIIе ]lс llil.зoвс]xь)' ДаIl'Iaя гЛaвa о6сvж/.]aет вolpoсьl oЦепк]l сPавIlrlте-.lьпоii пPoltзвoдItТсJIьнoстп ядep в PaI lкaх o/ . ] f loй ar l l l aPатно i i п . !аTфoPrvIьI ' t l тс l Ia въr6oрaпр.rпeссoрa 3llссь нe зaтpaгивaеTся-

МнorопpoцессоpltьIе ядPа oтлriчaются oт j\lонoпрoпессopнЬIх преlкде всcГo 1.с\tlчTo oнII <видят' всe yстаI{oвJreнпьlе IlPoцeссoPьt п vN]сlol.с Лпlfll взe]1lloд.iiстBoвaтЬj noзлaгaЯ эrу зaдачу IIa специaльньIй Дpа]iвср, всгроeIllrЬr]i в нAL Tак'кев пlDi карlll,Iнаlьнo пeрeра60тaнr'I мехaflиз]\{ш синхPонПзaцl!l, Есj1l в \1oIlоЛРO-цессoP]tых ядpаt /]-ця пРeдoTвpaщения пpеpьIва]]rrя критичноIo yчас'ГIiа I.oдaдосTатoЧ tlo всrlo лrflrть пoдTяlryть IRQLк веpхпспrу уponlno rrлп зa6лoкпрова'г;,прePьIваnu,] комaliДнoI:i CLI,то в мнoroпрoцeссoрнь1хядрахTaliaя стpатeГxя !жспe срa6aTьшaeт ведь пa всех oстfu.Iьtlьlх пpоцессopaх прeРывa]rпя РазРeп]сl1ьlIr пр].iхollится прп6eгатЬ || с|1uLl\o\|aм (oI aЫл, spirr loсk _ взaпllo6"rокrrpoвка).

5п

Page 445: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

446 rлава 30. рaзrон итоpмoxение W]ndоWs Nт

ll.,Lя 3arциTы учaстI{a кoдa oт 9}lепIaтеnьстпa пзвнс сис'гема вBоitитспец11альпьrй

фЛаI. сr{"!:LцьIвая постyпаlolltrr € зaltрoсьI в сllеци:LпЪнyю oчеPедЪ, ЕсTeственtlo'

это тpе6уст пекотopoго кoJIичестBа прoцессoPнoгo вpем€нrr' ч1.о IiегатиtsIlo ска-

зъrвaет(я llа пPoизвoлптсJlЬlloспr, но дPyroro вЬ]хoда .}- нас rrеT, Значи'Ге"1Ьнo

усЛo]кjrяeтс'l lt сх€llа llj.tспетчсprr3ilциl1 пpеpЬrванrl]it' веДь тeпсPЬ пpпxoдиl.ся

oдrпr нa6op IRQлслить пIc,кду lIескo,пЬкlr]\i пpoцсссopalпl, а тa6лицьr o6рa6oт

ч кoв аllrlаРaтl{ьlх/l1рoгPaпlIlIIьIх IIpсрь]]]аriIlй rl()ДдеР)Itliвa1ll B сoг.]iaсogаш]lоNl

состoяllltll' I,Iзмснeп'Iя l{oсIlулrrсь и 1lла]1иРовщикa' а тoчl1се саlloи сTpaте.

гl!l'1 ]ULаiпrpoва}1l1я пoтoкoя' кoтоpая No'{eт 6r,l,].ь |еaлпзoвa]la I{ак пo сl'lN{Nlет.

P!Iчноii' тaк ll llо aспrчмс,ц't.Iнoii схeп{е' Cl1l!NleTpпчньlс яДрa(aиx6L)ЛьIIпrнствo)

дunу.no.,'. вn.no,.t"lш,е ка,кl1()Гo rrз xoТокoв нa 11106оп{ свo6oД]]oru пPoцессoPe'

асrlмN1стplrчнЬlс )ке 'l{ссТl(o заltPсlLJlяloт сl'l01.е]!l1lыс nоТ()кп зa oдtlllN{ llз пPo.

rlессopoR' вьlIюJIrJяя ItoJlъЗoвaTеЛьСк]Ie пoL(]кl'l rrа Bссх осTaЛЬrrьrх' AсIrмn1сTpич.

,'n'" o,pn u" u,ul,' o "тaIilLаРтIrЬ]й

к()\{плеx.t. lIoстaвки \vjrrdоws NT П о6ьIчн()

llPс/()стaвЛ'ЛoTся rIос'Гaвциrrа \1и сoоTвс l.с,гByroщсr.o о6оp1.довatl шя' AсlrпIме'гpи.t.

||ЬIе ядPa liесi{onЬко Niенсс ]|рсЛ]звoди] errьIlьI' чсill сlllIмстpllчllьrе (oдl1l! l,lз пPo.

цс((l)I)oв 6()ЛЬl lJyIо ча(|-|.ь свoс1.o l] pеNtс l lt1 l IPостaивaсT ) ' o/lIlаlto их llaпilIol.o сЛo}lt'

.'"" *"u..ц'"'n",iu,, ,..пo,rькo 6ьI lI;lrlтrоpлпвr'х пoтoкoв !lи зaгJyстll.rl 3Jlo6lIьlii

х:u(сPl аilillиlrlro,|pa1'оP вссгДa Nio'(сT o6еЗoРуxnfП] пх' всдЬ сrlст€Itlяыe пoтокl1

вьJIloJlIlяiотс,t llа о]./lсjlЬllolli Iфоце(|сорс| N{Ircl.oпРоцсс(x)plIьIс Ядра слeдyст l'lс.

l|()JlЬi'ol]ll'].Ь 'Гo]lЬl(() Ila ]!1lIогоlIPoIlrссoPIlьlх cи('Гсмах' в гlро'Гrlr]пoм Фlyчa€ мьl

з l l i l ч l11 ' сnь l iо 1 lPoигрaсNt | ] пPо l l . j I lo iLи ' | . c j l ь l l ( )с ] .п ' l l ричс i \{ N l l to l .o I IpоцeссoР l l ь ]e

t1аTс|)i'llIскl1!] пЛa1.Ьl с о/LliIlNl llpoцсссoрoIl I Jа 60P1'у тРr6ylоT сll0I цrа]D' lolо упп lr.

pollc;соР|lого я.цpа (Ul1iргoссssor.kспlс|)' a pабrl'кlспoсо6rrсlс'rr' одлoлРоЦессoР-

irьrх ядсP в таrкlii кorкllrlГуРaIlliI.| Il1'lксl\1 llc l'llPа|IтrlрotlаIla (хo,г' o6Ьl.lllo ollt'r Dсe.

T l l к l l р16с lта( ) , r _ Р с ,30 .2) '

AсИмMeтрич|'ая обрaботкасиммвтpиЧная oбрaбoтка

\r-!g!!/

Pис' з0.2. сиvмe-р/r dЯ иаси"м" piч]aя о6р"бo,ка

Page 446: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

почeму непpИгoднЬ тeсгoвЬ е па(eтЬ 447

Pa3Pяднoсть внеI1lней aдpeс]loii ш,llIьI ]!]J]адш}lх jlloДe.Iеii пpoцессoPoв IntеlPепtium сoстаn.riяет 32 6rlта' lt пoтопlv oпи нс пloryт aдpeсoвaTь 60Лсс 4 f6aiiт4Лrзичссl{oii пarити' ПoсtroлькyдЛя сeрnезнЬrхссpвсpoв п;rrолпtъIх pа6oвrrхстанциii эTol.o оказarтoсь tlеЛoстато,t]lо' пauttttitя с Pсnlium Pro rlrll]'iпa шиItш 6ьIлаy!сЛllчсна дo 36 6Iiт. в pезyлЬтaтe чегo 11ь] t1oJtvчи./п1 возi!lо)кlIoсть адpcсoватьвпJloтЬ дo 64 Г6аirт физ!Iческoй пaN!яти' llрl1 рa6oтс в о6ъlчп.)r\r pФк!]!1с стРa}tич]toii адрссaцrrrt ч€тьIpe стaРппrх 6llтa аДPeсtкlii шиньr o6нуляlотlя' и uтo6ьrrJх ijaдс|iсTвoвать, нeo6хoдrrrro пepеueстп пpоцeссoР в peжuхt PАЕ (PhцsiсаLАddrcss Ёat,еn;io|1s' ' aI 'пп.lаloщlrirся стpуктvрori тa6"l п ц стpaнпчнoii пеРeа"цресa.циx и пoддеp'кliваloпli{ii 2 N'16aiil с,гpаllrl]rri памятlr, РAЕ ядPа lleсl{o.пькo пporrзпоДtI,гc.льrlес o6ьrчньlх ядеp' ЛосlФ.IlЬl(у :lаСовьrнaют стaplrrие 2 NI6аiiт aдpсс.нoго rrр.)с1.l)аllсI!а npL)цссса в одI{v стРанIrцy' со кpa]цая '].сiil сallьII lrзДeР)кки llailеРеlоI()]1сtlltс lrоll.сl{сТa \Iс,{д}, пPоцессаlfll' BьJ lю)кеTе исnоЛьзоватъ PAЕ-ядpа,да)I{€ ес.rl]] v |jа(: vс1.illю']rсllо }Iсxсс 4 г6айт фпзпчесlФii ltамлтl1, oдrrаIro BъIиl.-PЬIЛ] в пPоIrзволIt'ГеJ|Ьlloс'Г'' |Ц)|l ',|()Il 6\,цсT rlс oчсIlь сylllествсIllIЬlii'

ts 3tLgIIсxlIoстIJ oт Tllflа коrl'Цю.пJleра 1ц)сpЬrваllllii, YстаUorrJIеrll|оГo ttа пlатсPиtl.i,t()ii ILlrатс. (l.]Iсдvст nЬl6lЦraTЬ Лl|бtl I)]с ' JIи6o АPlс'lдpo, PIс.коIl'ГроЛJlсPЬlпol l l / l € l ) ){ l l r ]a|o 'J . l5 lRQ и всЦсчt lк 'гсЯ l .o. l Jькo IJa Nlо l l ( ) l lрoцсссoPньIх ]\{aтеРlr l Iск l lх Лj lаTaх ' АI , lс к() l rЦюrl , r tсpЬlIIo]1 l lсp) i l rвaюLдo256IRQлlrr lо l ,o l lPoItессoPllуlо o.]l)aбoTкv. I]l пРo|.1lамлttкllt 1tpовttс Р1C. tl APlС.I{оIl Цх,l"1сРl,l взaliN1Ilo сo.l rмс(.rиNIь l ' lю ']oмvРIс+J/ lрoдоЛ,{||оPа6оT:ITЬЛсr\[) lс .кoIГЦ]о"ЧЛеlroNj 'оЛ| l1 lкO,i ]o.Jrс l )]rЬ l r i i | | i ) l I ЭT()I l ()| l0 y]] j ]д l r l . всc|о J l ||| l lЬ 15 I] tQ' . l Do ПT{)РЬlх ' 1." lкaя t(оI|( l r I iгYPaЦll'l llс'Гссl.Ilроt][rIaсь NIjсгosolt. ll Iю].oNlv Iill(ilкjix l.ilPaI!'lltii, ч1.o сrlстlJi{aJ к ] i ] t l I I ] l ( l | | cT l l l ) l 1 i l : ' г l ) v i ] к0 l v l I i l ( l | | oТ '

N'lаlсpjnlск|1с lUlll1r,I o l lo,'ulс'Pno{oii 'l.L'х |I()".ioг|ll l AСРJ lroгy pa6o'raгь кaк с ACPl.,Tаli l| с lIс 1\сPl,'rPaNlll' IЦl l]l0м IIс AсPI я/(l)il са]!()с1o'rT!].llьl1o PlСlrрс/lс'Jlя]o|LlI]с1.с\lIilllе i)ц:Yp(ьl lt()I{J]ькrrсрa ll 8lill!мoltсr!с't'l]vloт с уol.]nЛ1с]rJllNlи nallРЯlIvroja ,\сPI яliРa во вссм rl()]lilГi1l.Л.(]r Iltl АСРI-к(ЛITPonЛcP фaк'Гll'rес](l.l' яIrJlяюшluiiсяl{oрl1oвЬIм llсP.чllс-ЦII'Гс.цеi\I' Tо сс,гIl сn]tюii гJ|aвIloii IJIиlIoii ItомIIьlо,гeрa' к кoT()Р{)iiгI(,]к.r]]0чo]Ill всс oс'].а"'l II vс,Грol:lсTlrа, и х(),]}r э|а ]rll1!l|l вxPтуnЛЬlIil'про]r]lIl( )д l rГс.lI L Il(хlГЬ (l.lс1'сll Ьl Jl IllчI t1'(''ц Ьllо 11адaст' пoсrLо.Jl ь|{у AСPI {o нтPо"!,rсpиNlсoт т.rЦeпllIlIо веlIiа lЬ в.e I)(]I.]r(T(,ikr нtl lllr olLIlo IlPсРЬrвallпе сo lrссI1ll вЬl1.o.]й[)rцlrnшl оTсloда посJrедствlIя\]rl.

|1oдpo6rrcс о6о lсспI этoУ ]l пlllогоNi /1руг{)]!l lllrl рассl{ажl]ll пo х.r/{v ylЛy6jleltияlllly,l.lъ f'ilil вl]r) a lloliа соL]polloToчIlм своо впlI]\'a]пle lIa яцPс Iiак тaкoвo\Ij пРnо |к.

рьlв чсPl1Ьlii ящJ{]t'

пoчЕl4y HEпPигoдHЬl тЕстoBЬlE пAкEтЬlCPeдrl иэo6rrлия тсстoвьIx пPoгPaпllI' IlPедставЛе]llIьlх Irа рь]}i]r € ' llo)liнo нaljTиlпlo'{есTI]o уTиxиT дЛ'I сlцснкrl6ыстPoдеriствпя цеliтраiьlroгo Лpоцсссoраj oпе-

рат]Iв]iо'1 llамяTrll видсo]rаPTьI Irли пotспстeN{ъl ввоiIa/вь]goда' но !нe rrеrrзвeст.пьI rп]с1pYIlсl1:гьl l пpIrгoдIrЬie дjrя oпPeДeЛеп,lя I]рol13водитeJrьIroстIl ядрa опера.rIиo]]]]ой с]]сTсntъI

Page 447: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

448 rлaвa з0. разгон и тоpмoxeниe Windows Nт

А пoчeмy 6ы не вoспoльзoвaтъся WlNsToNЕ ll,rtl SPЕСwеьgti? Пepвъili r1ми.тlPуeт заIlуск РемъtlЪlх oфисньlх llp!tj1o)tiе1шй, второli - вс6.ссрвеРа, Pазве шхпoказaния IIe 6vДyт отpа,сaТь o6ъeI(тивiloе вЛияI1]1е ltoнкРeT] loгo ядPa на Ilpoи3.

вoДительl]oсть всeй oпeрaциolrlroй системьlв цсЛoм? }IeТ' Ile бyдyт,l,1вoт rloчe.

Nfy. WINsТoNЕ (кaк и 6oльutинствo ero сol1JlеNlсяltик0в) Ilрoгorrяет ТссТr,Iв иДezu1изирoваrrlrых yслoвllях пp'l lllи1l]lмаль]loп1 кoJIlчесTвe лотокoв] пoэтoпlyI l а ' ( л i " l н ы е г ' c с I o д Ь | d d п с p e к Л n ч р | | и Р к o | | Р , t с ' ' ' н c ) ч n I L | в o | ' ' г с я Ч r о l t у ^ . ' с .

пeль <o'гзъiвчивoсTи> системЬl (пoдсoзllaтeльIlo aссoциllРуемaЯ с eе пpoti3вo.

дlrтeльIiостью) o6yсJloвЛllвaется oтнюдЬ не скopoстьIo въlпoлне1lия кoдa. a иllтеллeктyаль]loстЬю пЛаIlирoвщиI{а| lloвl'IшаloU]егo пРl.lоРllтeт пoтoltа в 11)т

l1oпlсItт' кoгдa oн 6oЛЬl]Iе ясeх остaпьItьIх нy)кдae]'ся в llpfllессoРIloм врсмelrl1(напPимер' пpи захватe{!oкyсa' завеpI]I€нЙrt oжиДaeм olr oDeРаlIliп ввoда/l]ЬIl]o

дaи т' Д.).llo тестьl этoгo llеучитьrвaют,

ДoIlyстим' пrPосчeт миJIлиoнa ячссl{ эJ]ск,l.PoIIIlоii тa6,rпlIьl uсзавnсl1У() от в€P.

с l t и я д l ' J л , 1 и l ( я | 1 o в | l n n l и н r x с , 0 ' | | : l ' l а е г , l l , ' | о , | 1 о ! . ' ' ' J t l : | ' ' i ' н j ' ] | n l ' ' l ?

вoвсlr пeт| за (адpом oста,/nlсь такI,!с жизlIeIlItо Bano]Ь]e aспскlъl, как зlloiL]lllЛt.

нoсTь' q)онoвЬlх пo1'oкoв сисLс]!Iьl' 4llувствrlт €лъпoсть' rt 1IРсPl,l9illlияll ll T, д,

o д I l o я л р о , L o . т U ' i I l о ( ) 6 | ) J 6 i l l ' | Ь : u ' T l , , I i r н l l J l \ 1 1 | | | ' ' , , l п о l n l | | n п п ' r \ l ' 1 l I l ( l l , | ' | . l ' Р .

Г o м , a Д P у г l ' е : к ) т l . U , ] , o P I | o r l l | , ] ' n n г | l г ! ! | | | r | , , ' , к i г Г | l Ч ( 1 , , , l ' ] ' , ( | , l ' | | Л , | . l , ] , U , . l ' ( , ,

сeкУl{д, lly и с кaклм uз IIIIх вnN{ 6удe1.пРI,lЯ,tllсc pll6оTil'Гt'? l\ вс/lЬ 1.сстlIPуl()rrLciiлрoгрaммe всe равllo.,'

зaй,цeм с дРyгой стopoUьI, o6ыrll]о ,loстоI|o0 3:r/'(alIliс mстol]'r !|з сq)llI.l jIoв1.o.

Гя lo lUих. ! J4N{.Poп, l l г l ' ] vя } jL | | |о , l I lц j l I I | кo11 ' г | |х уL | { | ] |ч ' . .ч , j ] . r r . , | ' t ' ' ' ' . ' r -' | l l I L Л l , P | , | ! { и o r l ' Л o l l . l I I ' ч ! l и , l , l р с ] I | l с | l f , | l ' | , | ' ' | l | | ' . 6 г i | ' | | | r l . ч

( l l у N r , l o n и , \ l о ' ( ( ' - , в J I o v \ l o N l с ' l г t I J ' I l 1 t r i 1 n | r , | , v : t ' . J | \ , ' | | , , ' ' t , ] t I ' . { ) l 1 ' , , l l I l , l \ n

лoЛIфтельrюстъ oдt{olo 3lll'cl)a сoстaв,Jl,tс'Г Ilс 6оЛее 20 ^jс (цсJaЛ l]oЧ|lоfl],Л,tJr

прoцсссoPаl)' за этo вpс]\lя lt{о)R€т в()()6цс ]Iс l|рoязoйTIl пrl oдl1oГo llерcкJrючl]'

llия кollTeкстa' а есЛlI ollо п IlPоIjаoйде1' 'Io будст 6сз)к.lЛoсrrlo ('юpа|lо!alIo

при o6Рa6oTке pсзуЛьTaToR' в pезyЛьTаl.с Чef.J ]!i]n lloЛyчlt\l <чl.tс'l.yю'' llРоrtзвo.

]lllтельнoсть ]\taшIlны зa выrlетo[' вклaла oпсPацlOflнoii сllстеNlы' I\4o)кlto ЛЛ

этoгo из6rxа'rь? УвьI! в пpoТивllo}i сЛyчaс резy.liътаTьl тrс,гxl)oваrlll,l oуjlll,l.

вaрьиpoвaться oT пpoгoнa к l1Pol.ollу' и пoЛьзоватeль Рас'Гср,|eTсЯi кalLoc ntс

значn||ие емy вL|6pа |L? Bель нэ кopor r . " ' l r Iu ' r lР , | ,v | | .р rр . \ | . | | | | ( nо| jqЛ| , ' I l0

20 мс) издер)ккll oт пir6()чlIь!х эффектoв кPаi,irlе ]leпoсTояп]{ьI Il нсo]lIl()рo.llIlЬI'

пoэтo11у вьIдaвaTь неочипIeнньIЙ РсзyJIЬ'Гaт Ile.]Iьзя'

Если жс пpoдoл}китеnьнoсTь зal{ePа пРсвш1rrаеT 20 Nlс' пЛаниpoвщrlrr Win.]owsaвтоllaтичесIttt пеPерасriредeЛяeт прoцcссоPное вPсNrя Taк' ч'Го6ьI IIсpеl.JIoiIе

]lиe кoнтrкста oсtloвнoro ltoToкa (I' 3тиl{ пoтoкoм 6yдсT TестоRЪrI,i пoтo]tI!lро'

исхoдl,lЛo кaк j!1oжIlo реже' a еIo ]Iaклaдlп]Iе Paсхo]lьI стPсмrtJI]Iсь I. пyлIо' l]сTе.

ственнo' oстальные l1oTolill сист€мы сажаIo,гся пa loлoдньI1r aск, рaooтaя

рьIвкамli (Й, как,!lьl yвидI1пi Дaлеe' дa'(е при умеPсннoи 3aгРy3ке сIIстсl1ьl пiL

<плохих' яДpax пoтoк]t пoлучaют yпpaвлefiltе нс чaщс чс]!l одЛп рitз.,' в llссятIr

секyпд, }lе <тr1кoв>, a rтмe}rнo сеltуIIДl l,f хотя lllrтегPar1ьнaя ]lpo uзво/цlтeJrьнос r.ь

с | | ( I e м ь | н e . o л L к o | | е Y l \ l P н Ь U а с с я . d о д J - \ r P о r l ъ l I r e l ' P а [ , o Г а ' ь с . e i i . | а | o .

вится tlевoзмo'dro.)'

Page 448: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

о6су.кдeние метoдик тепирoвания 449

To же саltoс отнoсится и к иlrитатopy вc6.ссpвеpа. flопyстлм' oднo ядpo o6pа-6атыnает сто тьlсяч запPосoв за пIпнут},' адPymе стo пяTьдeсят' кaкoe из ниxпPоизвoДитeлЬIlеe? А есл1r пeP8oe o6слyкивaет всех свoих кJlиеIta вTopoe oтДаeT иI!фopмаllllio <iп.l]евкаllи' с llay3ами пo десять-пятна,ццать сeкунjl? к сo,.аJснию, извсстнЬlс tl]1o тсстЬt этoгo o6стoятeльствa tre y,tитьrвaroт'и потoNIv I iх пoкaзанIIя пP]] всеli своrй с16ъеirпlвI{oсти тоЛкaюT па вы6oP rrеllPа.вllлътrоIo ядPа, Пoмнптс aнсNдoт пРo NlaпI'irly' кoтopая eзДrtT6ысТpo' нo ToPмo.зrlт мeд,rеflнo? ПpoIlзвol1}lте'nьнoстъ этo lleтольl.o oTItoшснrlс кoЛичсстtsа про.деJaнr lоii pa6отЬI к 3атрачепIlol]y вpe lеl UJ' '1.о еЩr и Iraч€ствo llpсдoставляопIoro

сфoPп{vлIiPуer1 Iлaвнoe тре6oвarпто' пpeлъявляе]\{oе llaM Il к сl1сTемс: планиpoв.tlIпI( lloл!{eЛ l{схlIтРпTЬся пrPсРaспРе/lеnl{Tn Лi)oц€сс0Рнoс llPсп{,r п{c,кдт пoтo'Itамп тaк' чтс)6ьl o6otпeчll'ГЬ нnIt]|уЧlllJlii 6nЛilll( ]!tФкду пPоrlзвoдIrтсльнoстьIorr плaвrrостьrо Рa6o'гьl дaже lцхl6о.lrьruoпt ко.rlttчсс,гвс oцнoвpс]!lснllо въlпoлllяIolцпхся по,r0кol]'.]ijJ|сРl) /'ljlя /Loс,l'lDксJll1, tlo'lllloгo сЧастьЯ oсTастся лиUlъ ltaйт1rЯ,llрo своell itlсllTl)l.,'

oБсy)l(дEH иE 1vlЕтoди к тEсти PoBAн ияскмtI1те' кaкylо фr'зичeск\llo вeJrпчпlIy IlзпtеряeT 06r'IrcloвеннЬIй PтyTнЬIй иJrIlслиllтoво ii термo11етр, TеNllIеpаTyP!2 AIсT, 116Ъcм. кa}кдьIй тесT по-свoeilty 06ъe(.I i I D . l l | 1 о ' I o и J \ ' . P ' l I U р n J ' , | | | : l " | | | v Р р р | ' | | i ] п ' , , | J ч | | | e , , | L P o j . N { ' ' l . U , | p . ' l ' .

iяlrтся сго интrPпРетaЦllеiI. o6ъеlI ртутп.rгo пIaрU].aпряlllo llРо]ropЦloнfurс]l cгoтeN]пеРатуpe, этo topollrо. но пpolrзпо/ltтелъпoс,|ь ,_ 11е тcA{пcPатyPа' Этo кolгплекснaя вeлtiчпlial li в t]llдeксах пpoиl]вoilиl.сIlьнoсLисTо'rтЪкo же сrtьIсJ-Iа' сItоJ!ь.]tо и R l(оэфф]iциelтTe tlTe.цЛeкtу.LllЬlloсТ oтдс.1ьнoгo индllвIrд}Tl'a, ктo yrгнee геI1зен6еPI llЛl1 гanya? кTo сиЛьllее _ ки-г или с.noн? какoе из всех ядеpсапIoe пPoизводительrIое? N'Iо)кпо спopи,rьД0 хPЙrlоrы' нo в такoiI фoPмyлI]РoвI(е вoпpoс rlе ll]\leeт oтвeтa, кat( lillltимум, мь] дoлжньI вьrявriТъ фaктoрьI' в liaи.6ojiьпleii стeпelIlI вЛия]oщlte lla совокy]Ilroс 6шстpoдсi,lствI]e сI{стеN!ьт' п pазрa.

Page 449: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

450

ooтать адeквaтные lleTolltlки тeстиpова}iия, pазлагaющ].rс !сктoРнoe пorrятиeпpoизвo,{и,гeЛьпoсTlI пa осыrярныс вeлIrчиIrьt.

никакaя rueToдиI.a Teсlиpoвaния нс 6eзy]тpeчна и oтрir,кaст лиrllь часть Ре:Lnь-Iroй деi.tствителЪIIoсTи, лoэтo[1у I{ пoлyченньIIr рeзyльl.ar ам сЛсдvет oт осIrTЬсяс 6oльlпой oстopoжпoсTь]o' Еоnl <ФoPпIyла 1' езДит 6l,lстpсе, чeN I(аNAз' oт-сIolIа еrцe пe слеДye?l чтo oliа сoхpаlrrrт сuoе пpetтllylllествo llPи пepeвoзкедвух-сoт тoнн киpпиrleи'

М""тoдикa тестирoвания тесIlo сBязаЛа сo сгIeцифиlroir вo3Лагае[JьIх нa систсruузаДач (y aвтогoн]llикa свoll Tpеr]oвания к мaшине, y дальllо6oirщика свoи),lloэтoп{y нrlкaкиx ltollltpeтпых peшсн]lи здссь не пPиIloдltTся _ нaпPoтив, этаrлавa пol(aзывaет| кaк paЗpа6aтыиTl] тсстoвь1е метoлlllФ сaAloстoятсльнo п кa-кие пРoбл€п{ъI пolDкиДаlo1вaо tla э l.oм пyти, ,{ пРo6лeм 6yДет illнoго,',

PAз}loстЬ тAймEPoвCoвpeпlслtlьtс ьtатсpинскltе lпaтЬl tlcсут lla 6oР,Гy IlосlсоJIьl{o llсзаI]llсll]llьIх тaii-пleрoBl l{отoРЬlс никro llс кaлибров;rll п кaл(дllli'i ll3 кoторЬIх вpс'l. сJIоI.IФ llo'свoе.пly, РазJичllьlс'l,цPa исIIoЛьзyroт рa3ЛurnlЬIeтaймерьlll./tя 11одсчоr.а врс]!lсII!l ]t си.( iГем l lогo пЛaниРoвa]rия , пoэтoмy oттaл](ивa] .ьс ' I oT API 'фvнI tЦий TипaGetтj сkсount Ли QL]eгуPerfomаnсeсоUnteг дЛя срaп]iel п tя прoизrroд!,r€Jrьнoсти ядерIraтсгoPI{ЧeсI(r! пeдoпyсTи]llol ну' Bo всяI(oм сJlyчaс' 6сз их пpeдBAptlте.JIьlIoй кa.Ли6рoвки,пeрвЬti! (а нa IBМ хT сще I'I €дlIrrствe!II{ьт]!I) вoзпик l1PoгPal{l{пPуeiljьll:i тай-мrр интepвaлов _ PrоgrаmmaЬle Iпtеrvаl Tirпсr, плr,r сoкpaп1еппo РIT' 6ази.РyющеItся lla миIсpoсхeме Irltel8254 (ссйчас 82с54) и тaшиpусl'tьJй чaстo.тoй 1 ' 19318 МгЦ ( сойчaс Ли6o 1 , 1931B , Л I r 6o 14 ' З1818 N ' l Гц ' пp l , ! ч емпoслel!няЯ встрсчается нaмнoгo чaще)' что oбeсlтечllrraлo ellу превoсхoднуIoЛo тепi lPentенаl{ тoчнoстъ измepeний пoрядкa 0'84 мс (.1 l!с с vчr'Гом пa-кладньIt рaсxoдoв)' в Windows лpoДo.лrкl'lтсльнoсTь o/{Iloгo тиI(a тaiiNiсpа сo-ставляeт 10 мс' кФкдьlе 10 NIс Tаймср деPrает прeрьIвallием' и 3акPсплснньIйзa пим oбpa6oTчик увe.]lriчи!аeт систel{Iroе вpeмя пa эTу )ке всЛичинv' Еслиo6Pa6oтчI'rк пo кaкиNi-ЛI'Iбо причиlIaм nPoмоРгает тaймeрпoe ]трepьIвatlие (an.пaрaT]lше nPеPrnвания зaпPeщrньI иIlсTpyкцией сLI или rтePeпPorрaN'миpoBA.IIиеNI P]с{toнТрoллеРa), системпoe вpеivя lIачIiет oтстaвaть oт реа-цьlloгo' су.щeственtio сни'(aя тotlIIoстЬ и3меpснпй- Xy)ке Tоro, paзмеpeннoсть хoДа РIТ'aдa,!екo ]ic lдeалЪlra и ваpьIrpуется в ДoвoЛьrro шиPoкrff пpe]IeЛaх' Windowsисr1oЛь]ryeт PIС.'гаIiмеP в oсlioв'loм д.Jlя планrrPoвarrия llo'ГoкoBl aДЛя измеPе.

Page 450: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

o6сy'(дeвие метoдик тeФИpoвaниЯ 451

rrlrЯ вP€пlсни с].Рe]\Iптся 11спonьзoвaть дpyr]rе' 60лсе тoчнric тaймeрьl, I'l п€Pс.хoдит па PIT тoльrro 'r.ol.Дa. ]toтда Еи oдин Dз IIих пе /loс'Гyпeн.

TайNf€Р чaсoв pеаЛьr]оrо вреNIсни (Rеal Tnne сloсk' и.tlr сoщaщer]нo RTс)'

tsпePвьIе rioявIrвlrlйся в IBМ AT, 06ьI чrro тarсиpуeтсЯ частoтoй 32'768 кгц, aв.

тoмaт tIесIt]{ о6rroвnяя счeT'l'Iк вP€NI.rни ! сN'loS'.tтo не тре6yст нalи,lия пpo

трамirнoгo o6pa6oтнrrкa ЛРepыванIrli, чaстoта oбlIoвленI.Iя пo уNloЛчаlIlrrо сo

ставляст 100 ].lt' но пPи ]{cnaпиli RTC.таiiмср r!1о)кет 6ьiть п€Peпрoграi!1NЛryouaн'il тorдa чaсЫ 6уДyт I]дти и,lrL Nlедле]llr €r, и, 1I 6ысTрее' Tоч1]oсть пoказalIий зa

в!lсит ]tак oт )с'Гояll11я пllтаlolJIeii 6атaPсйкП (коTор]]Lя Boo6Iцe.тo tl'Il{акnя Ilе

6атаPсiiка' а lIастoящllii ЛиIпeвЬПi aккylrYJr't-t.oр' llo этo ужe нс ва)кIlo)' rак l] от

,1o6РоTrloсTи pеaJr1зaцlll,l llUкРoсхe ьI RTссo всеlJr{ o6слy,l{ивaюци]!1п ее кoNf.

пoн€нTaNxr, Пo заllepeнrlя]\l пРoизвoдитсЛс]i| сPедпее I]Pe\fя yxoдa ira /lФп] с.).

сTaIlЛясT 1-2 оl одIIaкo lt]\1сюшLIlcся y l!eня IlаTсрr'Ilскпe пr]aтьl вPyт нavяoгoсrrльнссi к Т0l!1у '{e пскотоPЬrс n:l ппх о6l{аPy}l{]tвaloт зlIачпТельпьIr <.6 снllя>

Ita r]Pеll €нIlьtх иttTеl)nаЛaх пoP'l]l]lа]Leся,1.ь1х!(oЛсIi сскуrIДlJl' ч1'о отпIoдь 11с сll()'

сo6(TjJyет тOч нoс1]1 ],tзll eРеl I пii, l{PоNlе 'югo, IlelroтoРltс всpсии windо\Is lIсРи

o/1l]чc(к,l сIj rrхрot шl3y кЛ. сl{стс]il!lос rrРеIlя с часai\l и рcаJt ЬI lo].о DPеNtclJrI' ч1! c|це

6o''Iьurс пo/lРьIвас,r.дoвrРlrc к сu(lсnIlloN]y l]Рспlснll' исtto'цllilyя eгo дЛя rtJ]tlc

Pсrtllя I]p()]toJI)l{IJтс.]]l,ll0(:'ги 1.сх и'цll иtIЬlх |IРoltессoв' вьt lllo)ксTс llo.llyrlll 'LЬ oчel|ь

(lTPаIlllЬ|й РозyJIь1.а1., tia.]ь|

рсаJt]'l]оГо I}l) € l\ с|Jl.l 11l]lloJ|Ьilуlo,j'NtIlоIrtс тссToj]ЬIo

t IРo l . РамuЬI , 1 l п0Po I IРoГpnN l I l l 1Po I r1 l J l i ] c RTс . таймс l a Iю3| l onяст ( ) i l " 1ЬсL , I ( l ) ] I l l l i -

Рo,rn 'гЬ DcзуJ lЬTa1' . Windоws 2000 l rсJIonЬ3УФ R.Гс -к)J lькo /Ulя l IepuoiL l IЧcскoi . i

си|lхl]оII|,llraцllи с сllс1.cl\1llЬlмl| LIilс?l]\]ll.

УсoвсP l с l l сTвoв:U l l lЬ I i i l tо l l ,фo"1 .ЦсP l lРcPь lB i l l l l l i i (Аdvar rсed PrograпmаЬlе

[ntе f iuPt сont ro l l с r , 1 l 'ц l r сd( l ]а] lLеI I l , ( ) APIс) , в ослoвt tоr r t I l с l IOJ jЬ: tY l ( ) I l l l . l , ] i l : ' l

Il Nll l oгоl l Poцсссoр llьlх с цс,Гомnх ]ю]\lLl]!1o Ilp0чсii ()спaсT(и BкrII()час r в сeбя lt Ilс.

кОTopуlo llаpoдlilo l Iil Tаiilк]p' l|рс'lп.rзllач(.l||]yi() /lлЯ п"r]aЛЛрo!аl||)я llо'|oILoв и llс.

пpllгoll]lyк) lЛ] дЛя как|lх lIirllepсflltii ввIJду споей нсвЬlсокоii'Гoчпoст,l. OД|lаlto

пo Irопо!lя'ГI|ьII1пPr]чlnlaм АPIс ядpll ЛСlloJьзyrот APlС'гai;iмeр Ir качcс-rвe ос-

l loвtlогo 'raiiмсpa спстспЛnl Лрl] этo]!] всJxrчllla о/tпoГo <тlrка' сос1,вЛяст у)(e IIс

10' a 15 мс, ЕсTес,гвrннol ll.lсl)t IIдут с ltPс)кllеil скоPостr']ol llo nо'цlr,ГIlкa IlЛalIl].

РоваIrIrЯ сy (ес'Гвенно l13Ilсj]яrTсл с увеЛl lllеlIltе\l кваI iтa сoкрапnloтся l ]a](лar.l.

l]ыe pасriоjlЬl ]Ia пеРellllloчеllпe ILонтcJtстов| lrc уxудIlraс'r.сЯ lljl.lвllость ltolll]утa-

ЦЛlI illе)кдy нj1l!1]l, испoJlЬзotsa,Гь пoкaзrнrя счеTчпка спсTr]\{tloгo вРe]!1.н1t д,'lя

сpirвIleIrIrя пpox]вoдjlтlr"lънoстrr AI,IC.ялсpс apyIIl]\{Il я]lpallп нсдolIyстllмo' тaк

lrаIr lloJ]учепньrl"i рсзyJlьтaT буlIе'r зaвсдOп'o л.rжньlNl,

п'taтeрrlнсIrис r1'laTь]' поддсP,сивaknцие AСPI (Аdvanсеd сoпfigi]rаtion aпd

Power Intстfaсе), rrNeюT спсци;iiЬпьrji тai!мсp, ()6ычlIo yпPaв.]iясruьIi.i ltенeджс-poм элe'{тРoпитaнl1я ш пoтolly ]lазывa]olциriсЯ Рower мanagсmепt Тimеr' ltЛll

сокРaщсtlllo PM' ЕЦс егo IIaзЬiвают AсPI'тailNIePом, шl.аT]].] oн тa(1l|руe'Гся

частoii З'579545 N,IГц (так1.oB,я чaс'roта Pl.l''а, Рaздeлct{11аJl rlaчетыPс)] ч,t.o o6ес

печиnаеT l.oч]]ос'гь IlзllеРепlili .0'з NIс, АСPI.яДра исnoЛь3уlo,Г PМ.тaiiмeР в Iia

чествe oс]кlвпoтo r.аiijllерa сllстеnjы, Че]!ly сal{II н€ PадьI' ЧипсeтьI oт \rIA' sls'

ALI' RCС 1le впojr]rr кoрРет{тIro Рe:шизу]oT PМ тайшсp, чтo прпводl1т к oбвaJь

нoNIу nФlc] Ilftl пpoизвoДr]тe'nьiroст11 ollсРaциоrпloй систе11Ь] и сrrп'кению llaдФi(

П

Page 451: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

452 rлава 30' раэгон итормoжение Windows Nт

нoсти еe рa6oтъr' Прo6Лсi!lа llечlшся усTaнoвкoii сooiветстgую lего лакеTa 06-нoвЛенI'я' подрo6нес o lroтoрorl ]\loжIlo прoчlrтaть в тсх]rrIческоit 3аruсTкеQ266344' Разylreется, испPавпть аплapa'rнyю пPo6"1er!y (а в дalrrrоN с]IvЧас пlьIип{eeNI дeJo llltеннo с нсri) лPorРaмltl]]illи сP€дстRallIl нсвoзlll]Лoloj rl еc мo'к]1oЛIr1пь oбoI:iтlr, 1.lo дa)fic нa пРавll-{ьI loN1 чxпсете пРи Bьlсoкoli загpvзlrе p СI.ш]r}iъIPN'I.таiii]ер rlе \.спсвaетсвoевpe]\lenttо ]rсpедaвать свo]1тrкII| Л xо'Гя otlrl ]lp1'l этопIнe пPопа]lаIoT' o6нoвлснUс счетчика вPcм€Irп проltсхoдllт <РьrrrкaNar}l для пРеoдoлепltя (oтopьIx Мiстosсllt рскоlrендует свеpяTЬ пoказa]lия рNI с пoка3аllrlя-мt1 PIС'а/-^РIс'a и''lи RТс, и ссли P]\4 дсожидaшrкl opыI]rет впеРед (jumРforwaгd)' o6oгnав св01tх сollilеlIеllIillков| этol зaпj cР /rorl)кс н a}IнyлиPовaТ'сЯ каIiнсдсIiствlt'Ге.rlь]lr'lii,

Сoвpемепllьlе чrIlrсстlI (!l' в ч:tсп|oст11' intеl 845) (0ДсP,raт спeцllirJlьньпi lrьrсoкoтoчilЬlii Т.liilloP (IIi8h Pfесision Еvспt Tiпl €rs, ],Ull'l сoкPаlllellltо tIРЕT)' TакTиpycNl ЬIii часToТoii ш 10 МгЦ, пРl l lio l.()Рoй вPеNiя .'п ro1o тI пra со. rllii,lст oT 0' 1 ]\ rс]tри тoчпoстп поРядкa10'2% Ila l l Irгсp|*]"llltх oт 1 мс/(() ]00 мс, Это rLoji(,ГвlrтсЛъnoрекордI]о вьIсокiя ToЧ|lосrь' Лo lQ:liilIсii !сPс' a 1Iоpя/(('. nPс]]ЬIIпarо|i(;rя 1очljoстьвсех oстurьпьlх таiirцlog' одЛlкo liPI]'l. r](('сUlс остac'ГОI заrrl'/rl|оii Экi!)]]ll{oй'п IIl.||l(01.Ь| с €гo Ло/l]:lер)ккoLl Iюltil llо oчсI|Ь lIll,ll)oко Раq|рoс,фаlIсllьl'

11oмrrlIo э.l.oгo rrа lrатсрlltlскoji rJ,r:r1.с м()я{llо ЛаiiтlJ м l|()x(сстLro 'Гаiiru сl)oв, нtllIPIi.} tсР ' PсI Lа tenсy T incr ' 1 I .DI l ' Lc ( ' rкп Tа i i r \ ]0рoI] ' o6сJ ly )к l l l r iuoп l l |х Чr l ] l сс ' l . , l | , l I l rы '1lа]\l,lTЬ |l rDol||{с сис l0NlIlЬlc уfl?oiiс Iril, Nllюгl|с Ili] lllIх 1nlffl,Pvю'I(я цllс].оTill\JиРOI ' и , J I t r AGP-r r r r l l l ь r , ' l , |о обeс cч j l I ] i t0T r :1oс laTo l l I J ( ) I lЬ l сoкY lo To ' t I I i ) с , l ' | , l |3A loPt ] .| | ! l i i (п i t , I{o , чoм у J l l ) ] jT) l i o су l I l ! ( ' Г l1с| l , l o aЬп| lo ' чoNI v Р i \ '1 ) ' т ( сo) t ( i lЛс lп ' lo ' o l I

l I l ' ' , l , - ' . ] L . | , | | | , l I l I l ' , | , . , | I I | ' i ' | . ' | " , I U i i \ | ' , l ! | j , ' | , ' ' i i , l : г ( | " ' . , , \'oTся l(l(]|lОсi\tY' с(Jllt l]oобIllc pсilrtl1зуlo,ГсJl,

з0.з. тesttiгner зa

Page 452: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

06сР<дениe мeтoдик т€сlирoвания 45з

lle]rотopьtе исттoльзyютg качeстве тar,iN{epa кo!aнду RDтsс, счиTъiвaющyю l1oка-

зaния внy1PеI{lIeгo счетчIillia npoцeссoра, Itаждь1й та(T yвelllrIиaаюIцегoсЯ нa

посТoяlilryю всJ1ич jrЛy (как ]1PавиЛo, еДUrIицy). д,rя проф1lЛпPoвк r{aпп{tlнoro

| , o , о o | | 3 п o Л \ о д , / j н а ] , l a , l I n в о | " r P o ] l 6 е . п l j | | с - | j " . , , o г o x c ' P ' н w N . , у ) к д | ' е

тянс1, IlеI(отopьIе АPсI-кo]tтl)o".lлеPы !] нaмr1qески из\1еtlяют частoТу 11рoIIес

соРа иЛrr усьlпЛяiот его в llaузaх ]\Ie}кдy Pa6отoii дЛя Лучшe1.o oxjia,iцсltflя. кaк

сJrедствпr _ нeпoсРe/(ствсrtнoс тlреo6Paзo9а!]1с llрOllессopньIх тактoв в llстиrl-

Iloе вPеNIЯ o(aзьltsaется нl]вoзNlo)кIlьI]\I'

УTl]JIrrтy длЯ oцellки РазI{остп хoДa ll €скoльI{их тa|lNtеРoя l!lo)к]lo сl{aчaть' tla.

гlР'IмeР. oтсloДa: http]//!,vWи].оvеrс|Oсkeгs'ru/сg].biп/fi|еs/doWп|oаd'сgi?fiIe=з20&

fr|enаme=tlгnertest.гаl, и ссJIll вьlясIJ!lTся] чтo ваши TaЙlIePЬl I1дуT нсo]lltllaкoвo'

,:Iля сPавнснll'l пPоlJзI]oдltl.сjln|11)ст|l Раз,lII]чtlЬlх 'lдeр r)yдеl. lIeo6хoi(lti1o oгpalпr

ч l lться ЛrI шЬ Lllll lи]vi I{з l{пх Фис.з0'3). Еl:!цел{нсс вссгo Лсl1oльзoвать дJl}l сl{яTl1я

пoказанIIй свoji сo6ствеtllrый драiiBеР' поскoль1tу {]тPаTo].!lя Bьr6оРa тaiiNlсpo9

ядрoм сlrстe}!r'I ! oбtlle\! сJIyчaс jlсlDl,(скa3yеп'a lк])ксТ oTJl]iчa].ься oт Pаltcс

Pl(]\1oтРl ll{ пскoToPЬ] с AP I. фуl l кц и l l' nс пoЛ ьзуспlьlс 'l.с(l П) |]ыNrIr пPо гра Nl ]\I аl\l и

д'1я u3меРеllrlя I.tlIтсрR:l.noIr Rрсil(lL11i

GetТiсkсount. саi!аЯ IIollуjlяр|Iа,r фyпкlol,r' вo]вl)itiIlа€т кoJ]rlчесl.ltо пlrlлЛrr

сскуlul' Iро|IIe/IПiliх со tlPс11сllи llo(jlсдllсгo !l].;lPTir систсltlы, ]] 3аЛ,1сltltl0с-l.]{ oт

тlIIlayстalIoвлeliIюl.o я]Фа l к] по"1ь3усT 'l !l6o I]IT-',1n60 APIс.LlliirvеРьI' D соoT.

IJе'|с,l)j |] || с чсIl cс раilpсluсlJиe сo(1.ав"1ясTJl,16o ]0' J|D6o 15 lrc' llPll.lсN1 llcl(o'гo.

P],lc т,I кrI 'ГaiiNlоРx NloГу,г 6Ь|rr' |ЦхЛlупll)l|,j (To ссIl, за 30 Nlс NlожcТ llс ПPo}iзoii

1.ll llll оlllIoгo уl]с,1l{чсlIIl,] сЧ(r'Fljlка)' ]'1c pеl{o}lсI't),с,|с'l ( ytloTpобЛсIIиlo,

Gсtsystemтimе. Bo3j]PalцAс1. IIсTl.||lll()с Лl)с]\lя .Io

ссть (lyIIкrLttя дуltaо'' .tтo

oпo исT|]l|||()e' l R дсiiс'I.l]п'IсJ.ll,lIoс,LIl оllo lIlo|,lзl]оillloе ()1.сисIсNllloгo счстчи.

ка, rпlIrPсмeIl,].l{Pусllоt! ка'{дl,lе 10 llЛll 15 11с зlL пьlЦстоlll <сlсдс l l Ilt'lх' 'гикoв

rt вPoЛiдсlllloii rIсравIlомeрlloсr'и хo/ra PlT. rl APlс таiiruoРoв, Пepиoдll'rсс'

кп сr,rнхpоllшзyет сс6я с чilс'L]lllr pсаJlьllof.) Irре]vtеIJu, а ссJll зallylцeпa сIlсцrг

aльrraя lrr rтep rrет.слуrк6а' ,к) e]цe lI с aтolllltnNJ'l llaс^Nlи ' тo ссТЬ сl iс'Гrl']]оe BPс-

l , я | | l о | l | | | l r . } r ] ' а t ' | , | , t | ' l | . ' , , , ы н u t о ' ' t t t t , , . , , ' n . \ U l n | 4 , ] l ' л ( l l P ' , с U . н | | o | |

N'cсTl1oс1r l, lInя пзllоPс1ltlii nрс\!с11нЬlх lIрo11е)l(уTIioв нспPЛroДllа,

тimеGсtTime' To л{r сalюcl чгo rt Getтjсkсount, /цокуl"lсн.Гация уrвер,(даrт'ЧтoразрсшaюцiLяспoсс16нoсТЬэToiiфylrкци!lсoсТaвЛяетlмс'Bдсiiствпте,.iьr1oсти )кe 10 11с- сllпxрoнныс xзNlепеllI{я tiпrс Gс|1.jтne Il GerTiсkсouпt пoд-

твеPжДаr0,гl что oни заrlt]l.allЬ] от о]lнor.o 11с1.очJlпка,

slесP. УсьтплЯeт пoтol{ нa укaзaпнor коJlllчествo l'IrлЛпсскуllll, з:LleP)r lваJt

lla вPlrпlя yrфав'rlеrпrс, Tсoре1.шIeскп l,!o'{{с1 llсllо"!ьзonа'гЪся дnя кaЛпбрoвкп

дPуIиx таli\lсPoв п вЬrllисIснrtя кoэффIlщ{сн'ra пеpeвoдa тактoв0ll частoтЬI

пPоцeссора в сскyxl1ь]' ПPашически )кe'.' вpeNЯ о}r!дa]lия принyllltтельпo

оrrРУгnяeTся дo gcnпчпньl] I{PaTпoli <тrllry' oс]]oвI1о1.o сIiстеifнolo тallnlepa'

l]pllчeм fia Nlolrе]tт въixoдa из сr1a Дa]lпьп"I l1oтoк дon}кеп нахoдиться в саlfoll

l b ч . t l е o ' р р n д | | | U т ^ к o q , o ) , 4 f u u r | l х п t , | о , 1 н , ч | | , | ' Ь l | | j n | | | в l о \ | . , , } Ч а e P \ l } '

ltpиl1е'Гся пoДorflдать. ]\{oжет 6штj,lдoЛIJ секy]rдш. a l1о,1rеТ' lleско"r]ькo Nlиllyт

Page 453: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

454 главa 30. pазroн итoPMoхение Windows Nт

всe завrrси1 o,r разIleРoв oчeредп] a orr]'] тlепостоя]]ньI' т]a xоPоIro зaгpужeп-тloli систеNIе пol.ott' llЛAп|.lрукЛцI,lii вздpeltflутЬ 100 N!с. рис(\'eт flpoснутьс,!,,'чеpeз пtIr]ryтуI

o QuеI} Реrfопапсе Coirntet. вoзвРаrIIаeт кoJliчествo тIrIioв rrаI]6oлсс тoчtloгo'rаI"]l1eра, пpol]Iс]lшиt с пloillептa стаPтa спстeмы и.IlI'.. еe aoсjIеднсго псРс.полrrеIJия, явЛяется ]1ерсхoj1I]It]{oll к фyrп(ll],II'l кеQuerуPeгfomаnсeсоunter' pоа.лизoваннoй в lIAL'e, Windows XP поддeрш'rвaeт нPЕT' 6олое Pа]rнlIо сис.теNьI пeт' Ес.nи нPЕT аlttrаPaTнolloсTУпeIi ]I пpOIра]vl)fIIo по']l,llеp)IrrтваeTся'ltспоjlь:lуe'Гся он; в пPoтивнoпt слyчас AсPl.ядpa 6уДyт rlсllо'ЦЬзoва1'ь PМ'a tIс AсР1 илir PIT' Jи6o вoзвратят rrоЛь) сиrtlaлrrзrlрvя o6 ошu6хс, llлrt оtt.

Рсдс.]lс]tия IlpoДоJ-I)кrlтeЛьlIoстп oДпоro тt{rtа l'o,{нo Ilспoльзовать 4rу]1кцик)QueгyPeгformаnсеFгequenсу, вo3ПPanlaюnrylo его частотy в rePllах' этo сап'oслyчшсо сPсдстlo дЛ'I llp(хриJljlРo|lк]l ]l хp.,llоl{eтPan(а llз всех пп{e]olrп.IхсяloднаI{ol l{aк у)кс f0ljoрlr,1ось. ]]l4 тaiiмеPьI мoгyт пЛтIr rlеточпo ]'IJrи сoвсp.шl i t т ь l l с ( ) ) 1 (и i L : l I l I |Ь i e l I Рь r }xк l l впеРеЛ ' пoэто I l у l i o I {aзa l l l I Я , uoзвРn l l l с ннь I с

QueгуPeгfоmanсeСounteг' тPе6yют IrеxoтoPоii o6ра6откп]

синxPoнизAциянa маullннопl уpoв11е N]e)клрoцессoi)lIая сипхPопlfialIrIя()6cсnеЧлвaеTся пРeфrпс.nv 00(, -Рr lо .I iв ,1,|ю| иv ||| ' ,д|r , | . | | , , ' и\| { ' \| ' | | . . l ' , v ' 0 |U ,| , I l | , l i i Loс lJ nrt пal{яTи' всепосягатсльсT!а со с-rоPollьI OсТaЛЬньlх llРоцcссopoв (ссxn оuи сстl')6лoкпрyrотся' o6ьIчно L00К испoJъзyeтс'] сoвNlcсTttо с кol{aнДаNiи] yсTi11ав.!ива.1(rl]1и]!1ll l.lЛtt сIl].IмaloпIиlшli флarlr' сигнaЛизЛpую]дIre o топl, чтo vкaзaнЕаЯ l]тPуIiтуPa Данll6lх в I]aстoяIIIиri мoмент \'!одIrфицIiРye'гсЯ пPoцессopoм и пoтoN{у .]rvч.ше ee н€ TI0гaTь'

МнoloflPоцeссoрньIe ядpa содepхaт мпo)кество LooK'oв, встречаloщrтхсЯ в са-\ | Ь | \ | n o х д d I L ' , l , U L , r B | l J . | н ' U U ) | и ч L Й | | P U ц ' | | г ' , J d U .

дlrтель11ости' пoэтoмy oни вссгдa мсдrrL.ннсс, B ollнo]lpoцeссoPньrх яl1Рах ЧасTьLooK'ов у6paнa пoлнoстью вNIlэст€ с iтРlIмъIкающими к нIrпt флаIами, a частъзaNtенella бoЛee oьIстpoДеiiствующIrмIr NoР'мIr. o6щая же сТруктyрa ядра сoхрalle]la в болеe ПЛll ilепrе посTоянпo}l виде (pliс' з0.a)'

Page 454: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

o6с91(q€ние метoдик т€сrирoвания 455

Pис. 3o'4. AсPI кaк кooнeвой пeDeЧислитeлЬ

AсPI и IRQпРepЬIваllия п мифпчeскaя рaзRoдI(а _ пеиссякaeмьIй истoqпllк сJIУхoвl сIтЛе.TeII' Легerlд и суeвeрий, Полpo6yelr с пими paзo6рaться?

все х86.пPоцeссoрьl (3a искЛ]oчеlIl,leill стaDllIих модeЛей hlte] Pentiun4) УllpaR.J1Jllo1, lIPсPЬlваl Il,lям и чеpe3 спeц!l.LцЬIlЬxj иIlтeрфeйсllый вьIвoд' L)6ьIчxo o6oзllа.чaемьlii как lN'l.ll' выс{'{'lii УpoBel п, сrIгIIi Ia IlакoToрoм свидеТеЛlсTвyеТ o lloс.,|уI|.,lеllиll запрoсa tla прeРь]вalше. пpoЦeссор пРеIq)aщar,r тсl{yщyю рa6оTy.въrрa6д1ЬlваеT сиl.fi aЛ пol1твеp}кдeI!llя пpepьIвaIIl,я (Intетгupt Aсlrпowlеdgе)и считьlваст с l]rипьl даlirl]'х 8.6lt11lЬtй lloмeР векroрa fiсpскрЫвaнnя (lNT п)'1IсРсдaнIrый ItOнl.PoлJlеРol!1 прepываний| o6ыtIrlo реаJlизyrмьlм }1а ЛРавl1учaTыхплемяннI{(aх l{икРoсхеNtьI i8259 и TсppитoPиа.rьнo нахoДящимся в юя(нolf l1o.сTу чиIlсeта.

Зaвшчстoм 32 nPсpЬlgанийl 3apeзeрвпрoва1rньIх PазPa6o lчикalrи IlpoцессoPа, !tЬlпмeем 224 пРсPьIваниЯ, пPигoдньlхдля o6pа6oTки сигнanoв oт пеPифcPиiltlьIхyстРoйств. oзiiачаeтли этo' чтo верt]iеe ограtrичeниe максимLlтЪ]ioгo кoличeствa oДпoвpeмeппo пoддеp'(ивaeмьIх yсTройств paэнo 224? tieт| Heкoтopьtе из]]pевпиx пPoцессoPoв lliliели всelo .riиrnь oдин вeI{ToP пpePЬвaния, нo этo ничyTьiте меIIiaflo имупрaвлятьдесяткoмyстрoliстn otilовpeмeн]ro. кait? Дa oчerrь пpo-с,гo' чTo тaкoe пpepъвaниe? Bсrгo лиI!ь сп0со6 yстpoйствa o6paтитъ нa се6явнимaниe' Пp налlrчиIr Дoстатoчiтогo кoлllчесТвa свс16одньIх веIrтopoв зa кalк

Page 455: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

/]ьl]t1 из yстpoйств !Io)кеT 6ьtть sакрeпJ.Iснo свoe псрсoна,.lь]1oе пpеpъlваli]re, oд-нoзначrro yK1зьIвающeе на истoч]tик с]'тtlа'l;L' Этo сyщественнo упрoщaeт кaкпpoектирoвaнI{e са!Irцустрor:iсTвl тaк II Paзрa6oтitv o6с.qvno{ваIоlцlIх ихдрaiiв€-ровl o]]Ilакo oт]rюдь шe является неo6хoди;itьtм' ПoЛучllв сигIIыI пP€рьIвания'xрoцeссop Nlo,flет oпрoсить всe усTporiствa ]1o oчеpeдl], вьlяс]iяя' ктo llз Ilпх 3a.тpс6oваlr внrrмания, ЕстсствеII'Iо' этoдоста1oчнo пleдJ'Iснная oпсPaцI.lяi вьInI,Iва'IoщaЯся в дeсЯткп ]Iojlojrнитeльпых oпeРaцrlй ввoдzy'вьtвoдal' к Tojuy )ке пoTсн.ЦI,Iaлъ}lo нe6сзoпаспа}I' тaк кaт{ [Iа'rеlirпая oшrl6rtа p;вРа6oтчrlка о6oРaчrIвастсясepьeз]]ьtI{Ir кo1l()Лшrтarur'' кoрoчe говоpя,дляr]loсTи,rеrllI,t на1rвЬrслJeli ста61т'l]ь-rroсти и лPoЛзвoдителъIloсTu сrlстeпlьI l(а]1{дoe пРeрЬIванLIеjloЛ)l(нo tlсxoJ.IьзоIlaй.ся пe 6onее чeM oдниrv уoтpoflствo]ш'Кottтрoллеp rrреpьтвапl'tii' lrсЛoлЬзyсrцьпi в Iв]u хT, пoддеP'orваJ восепlь аll]la.РaTн'Ix лРeрыван]'I й' o6oзнaчеlllIЬjх IRQ (TлtсгruPt Rсqn€st) и llpolrумePовtlн.Ilьlх oт 0 до 7. lloмеp IRQ сooтвeтствуст пprro1,итстy rlpсpьлtalrrlя: velI 6i,.,lьшснo]\reр| Tом Irи)кe пpxoPIrГe1.' tsoлРе\!я о6Pa6oтки 6oxre IIPJ]oPI'lтеTrlr,tх пpeРьlвa.нIrй гeясPаrIия мeltсс пP op|'t1.сTlrЬrх |jol(авJlяe'.", л'

"nnтo"'..,n"'rlru,,,nu6upu,г'мeIreе llPлoPrlTс'ГltЬlе пРeРЬlнa]lия I]I,ll.ссll,lIоTся бoлсc пр|loplJтсTIl,,]iiи, С.IlП.n.стся ' uтtl всм 6oльttrе ресуPсoIJ тPс6yсT устPo iiс1rlo' |с]\l B],Llrlс дo..]л{сl l 6Ь11r, п Рl гoРитeт сю IRg эTo IJсuсPilo, Bь160Р llpсдпoчтllTсЛЬIкл! lRQ оllр0l(!lя€'к]я о,|.rЛollь нe <пPo)кoPnпвoс-l,ьlo' устP()]iсTдa' n крll,l.лIIlIос,l.ЬIо пo1'(]ри пРcРI,l|lаllпЯ,ДolIустим' сc,гсDaя lraPTа' вIl]lя' ч'Го вхoдIt()ii 6уrрnp rrpaкrи.rесrrlr ;rnлoll' a дaIr-пЬIe Il0 витои пaDeтак ,r i|рУ,rj сгсllсрlJРoпiUIn nрсрЬJIIAIlIle' кo'ГoРoс 6ыJк) |lЬt].l]с.lleЛо лрepь]вапиeм зnyкo8oЙ каРTш' nмскJulс'ii .х)j|сс вьlсoкцii lцnloPll,ГсT |l сlll..нaЛ зиРуlolцсй ()6 oпyсTolllсIlLlll пьrrодlкlгo 6yr|lсpа. ]](JIt nl)lli'iЛoP 3lrуш)lюiiкартьl псяаРoкоNJ заI{eIlllсаor.с'l I] уjlсР)i(llr. o6Plr6o J ч 1t к l|Р0Рnlri]]|l.U| дo.IlI,JI|с пo-J!o,(eIl!lоIo, вхollll0й 6yфcРсс,|своii кnP'Гl,I llс|)с|J()xIl|lт(jЯ . |'l llасTЬ Ililксl.о]] oкa)кeтся 6сз8oзl]ра1rrо утcряlIаl даIrlrьJe ||pидс1'ся lrcl)с/lLatrlть в|JoBъ! чrU Iюскolllькoс!lI'lзит 6ЬIсrРo/{eйсТвис ссT}l, япЛяс'l.ся Jlи э'Г2 сиTуtULия Iюр11а,1ьноii? lljlя I(or().тo дa, a дJlя l(oгo.тo и ]lет| IIoтсP'IIльlх lIaNcTовl коlloчно' ,ltiljlь, llo есJIlt xo]vlе.ll'tTъ приoPllтетъl Nlt]с'гartlп' звуl{ollа,l кaРТа oтPeilгl lPуст пa оr lyсTо пJcI] и e вхо,)lll()'гo буфеPа сypoвЬINI исIra'(сlll1ol' вoспpoЛзЛoilt.lNlol.о спLllaJir' чеГO в llскol.oPlrlхсигУациях пи зa Чтo пeЛЬз,I допускаTь, никaкoго /ll)угoго в'rlия]II.1я ll:l llрol1зво.дитlrЛьнoсTЬ вы6oP прrloP!Iтeт.]rr llc olL:Lзьll]ас'Г' [Iе:lавrrслrкl oт ноlreра iRQ о6.r]a6oткa прePь]ваппя заниl{aeт oдI1o и то,rc вprмя' oг o6рaбoтrсr остаilьпьrх пре-pшвaний o]rа таю(e нс 0свo6о)кдаст, Пpл yс.'roвIrl' чтo aпIlaPатнЬre усТPoйств;lи o6слyлlивarощие пхдРaйвeРЬl Pс:lrlrзoва}iьI правI1Jlьнo (To ос'rъ 6oJlro II.lrп \''е.rrсе 6eз6orrсзнеrпto trсpе'Lивaют пo.ГeрIo iRQ li <oTxускaloT' пPерьlва]{ие прaк.тическI,I сРазу xе Itoс"lе ero вoзнIrкпоIrеflия). вьI6oP пpllopитстoв ]l1l]{а]rоil Ponx

контро''lЛсР пPеpьIвaяиIi п0звоЛяeт 01o6рDкаTЬ а1lпaраT]rъrе IRQ0.]RQ7 ]ta 8люoЬIх смe'(IiьIх векторoв пPePьтва}t]тй' ilaпpиl"Iep па INT 30h - INT37h- Tоrдaпp]rnoз6уlкдении IRQO пpoцессop сгeперl1pyет lтpеPьlваll'1с lr\.Т 30ь' a пPи в.]з.6y;кдeнпи lRQ3 - INT 3Зh, B IBМ AT кoличество кoнтpollлероB 6ь]л0'BeЛj1.q€нolloдвyх, приЧем aTopoй 6rn.]i пo/]к.Iючен ]lавхoд пepвoгоl в резyjrьтaтe чcroкoлlflleство аппaРaтньlx преpьIваlrиii loзpoс]ro Дo 15' Пo.rсNIу пe Дo 16? Tаr вeдъ

Page 456: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oбсyждeвие метoдик тюирoвaния 457

oднa11звoсьlllfi ЛlIн]lir пpсpьIваr,иr1 6ьIла пзРасxoдoванa на каскaдIrpoвa]Jrleс ДPy.' ||\ l :o ,Pо,1. \ l )o\|:

l I . . o I o Р с ' . I o , r , l Ч ( . , " o | Р ' P | в : i , " P r J o U . | U l J , o ' | | . I P x l ы \ | у , l о ч . | в , \ | , | екoToрoe 6ьI]1о въ]дeЛ€нo r!шIe isA _ тоrlaшнeпlv иIlдустPиaJ]ъ]]oI{y стarrдapту,Гe]lepaцItя пpepъ]ваllиii oсущесТ!ЛяJ]aсь и3мeI]епIteNl ypo!1lя с11l.l{а.1а Ita 'l!ин]tисoo].вeTсTвук'дегo IRQ' МoryTЛLIr]ва rIли 6oЛеe ус1рoiств виссть rtа oд]rоl11RQ?Hy, вoo6ще-то lIoгтт' нo сс'lIЛ oни однoвPеменнo сг€неPrlруIoт с1lгна.1 прeрьlванltяl To l1o конTpo"Ч'llсра ДоijДсT Лuшь oiulн из rlих' a oстальньIс 6yдтт пoтсpяньr,но tlи lсoltTрсlЛnеP' Itrt yсTрoiiсTlra 06 этonl lIeдolадаloTся, Таl{ая сl1туацrв lloJ]y.чr]лa назвaниc кoнфЛIJfiтal л ес пoсnсДств]rЯ эссl1 хopoшо извсстflьI, BпPoчrпI,есЛII лРepь|вa]lия вoJпrп{а]oт llе сJ1lпII(o]\1частo' тo oбaусTРоiiсTва впoJI]jе y)к],lваlотсялРyг с дРyroм (Ir свoe вРепя aвтop дep)Itал lra oдноili ЛрePьIвaIl!ll.l ll ]\tInпJь'

]tIпIla РCI' пPllшe/IIllaя пaсп{снy Is^, Pa6oтa€твсегo с чrтьl PьIiя JI,{IЛlя\J].t раr]lloI1p]Jopxтстных IlpсpЬrвallIiiI Yсno!нo 06Lrзl!irчасNlЬlх ttак lNT^.' Ir\.Тв' ]NTС] I INТD IIa кilя{/]ЬI й сioт ] lo]lвсдс}lьl всс чст!Ц]o l I PсрЬIrlанlIяl l l устPоii с гв0 l!Io,кстl tсttо'ц Ьзо llаTЬ .Цю6( )с ll()ЛnIIк'кoс].Ix) l|з ]||lх, х('J.я 06Ьl.IrIo oгРaxиЧиBirtoTся 1о''l '()одlr}lм, ЛlIlllIЛ пPсPыBaIIllii o'rнol.{) сJlотil сoсдlrrTоlr (a B }IскoтoPЬIх дсlxсlrых nnillllх !(с [NTA' lNl.ts' lN,]'C Il lN.ГD всtrrarorся яасllillУ J, l] к) ||РеРЬ|ПаllllЛ)' ДJя PаRJк)УсРI'oгo PаспpсЛ.,ItoIl!I,l пP€РЬiIlIlr|]lЯ |Iо усT.Рoiiстrrnll llr l(Dк](oм с.ll0'Гс t|РoLlсхorllгr pо,Гlllll,lя ||PсPьIl].lllI!i'i (p||с,1]0'5), /l()|lvс'гиltlj y Ilaс ссTь двa с.lIо1.а: I] |lсРlrolt (rloTс flрсpl)lва,ll{c INTA (сo сl оP(ЛIьL vсгPoii-01'l]il) сoо1'l]сTсTllусT lIр.PЬ|llltlI||ю ]NTA (сo с1'oР U,| IIJIIllьr), пPсPЬrslr|,lrс IN'Гв 'э

lN.Гв lr'Г. д' Bo lr'|oрoN1 сJi('гс lIрсilЬIsal|пю INTА ((o сторolIьl ус1F)ik]тl]а) сooT.llо].с1lry.r'г |Ц)сPЬillаlI|lc INTв (сo сtll]ollln !lцl||l'')' ]NTts -J lN'гс, IN"I.с + INTDп IN'гD-э JN.г^' в PсзуJl Ь1..rтс чсгo усТP()iiс'Гllll' t lLx l()]lЬ3vl(nl (l]0 пРсPI,llral I t tс IN.ГAloка:jЬIва1оTС,] Paзвс[|aIll,l Лo tDсPЬlваIl|lям INTA tI IN.I.B,

PIRQв# PIRQD#

Pсls lot 1 lNтв# INтD#

Pс|s|ot2 ]Nтв# lNтс# NтD#

Pс]s lot з Nтс# INтD# ]Nтв#

Pс]slot4 ]NтD# lNтвf lNтс#

Pис. з0.5. Poтация aппаpатных прерЬвaHий PсI'шиl]ы

ЛпнпI] пt]epьIвaпиii INT^ INTв сo.дIrняются с вь'вoдawr РIRQo P]RQ3кollТPoЛ"цePа РсI.rrтrпьI' a oтTуlla чеpез рoyтep (PсI Intеrruрt Tlorrteг) попaда-ют в конTPo.ц.JlеР aрерывalп'iй' TеМ илIJ иllьI}t I'a]lерoi!1 oтo6Рa,.к!ясЬ tta че]]nРсJr и]It.lI] I RQ, l lе заl rятьте нlrтtaкимЛ IsA.усTpoйствам1l' ПоскoЛькv i{о-I]r.Iес'Гвo vс-та]IoвЛelIlIt,lх Pс1 усTРoйств o6ьIчнorltнoro бoль1пeче,гыРеx (itьI счr1'Гаelt тaк'кеJl вЛу,ryerl]rиe yстРorlсTва' 'гaкие' напPиlleр' каlt IrнтегриpL'Еaritlыll кot]троллеpUSB, ' t ' tue всeгo |овeшc , |й на I\ТD) нр.кojь rо ) .Гpoi| . , s 0ын!, ' : !"нь|дe

Page 457: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

454 lлава з0. рaзгon и тooмо)кениe W]пdоws Nт

лить o/lllo пpepьIваниe ме)кдy с060й' в отличпe oT IsA, в PCI.птинe сoпN]eстпoeисlloЛьзoвание преPываний является еe l{oрtlаЛъllьlпl сoс'Гояr0тяNl. гeнерацl{ЯпpepъrвaниЙ oсyществляется нe пo пеpeхoдуl a лo сoсmaянuщ 11ус1,paflc-|tsa Мo-)кeт yдePjl.rrвать ".1инllю пPepь]ваIII'IЯ в сooтветствую]цey сoс1oяl1l1и дo тeх пoР,пolсa elo зaпрoс rre 6yДeт o6pa6oтан' Tеopстичeс(и этo Лeгкo' llрaкт]rческ лrе''.ffa,кe пoвepхнoстнoeтeстиpoваниe 06наPy]rrиваeт 6oЛъilroe (o'1ичсствo yстpojiсТl}и дРaйвсpoв' Irе впoлIre сooтвeтствyющиx сIlсцификaЦияNr и нс ]rreлaющ х ле.литъсвoеРIRQс Дрyrим].! (иJlидслающrfi этo tlaстoлькo нсумrЛо' чтo прoизвo.дитeлЬпocTь lIаliaeт в РазьI). слеДoвaIIие спeЦифиxaцияN' прeдOTвращаст кoн.флиIстьl, нo oставлЯrт пPо6лel')" паДeнIr,l ttPoизвoдительlloс1.lr в сlrJIс, ПРпсoвмcсTltoм исlloЛьзовaIrии прepьlвallиiI драl:lвсрьI floлyчаloT cI]r.нaJlьI llс толЬ.кo oT сBoихl нo и от чy)ких yстРoiiсTв' зaс'1ав'lЯя Irх .)6PaщаIЬс'я к свосп{у vс'г.po[tству зa IIoдтвеP)кдe}lи€м, и eсЛI'I вьl,lсн11тся, чтo пРeРЬIIlа]l11с сгсfiоpIrровaлоlie oнo'за]lPoс псpедaеTся сr!eдyloЛlеrvy'1Раj.iвcpу в цlrпoчi{e' A тeпeРЬ llpL!сТaвьте'чтo пpoизoЙДrт' rсл,r на oдIlо]ij пРepьIвAJl,lи tsиситдссятoк yс]'рoйсrr! и дРайвсprIaиooJIеr <6сспoк0йн0го' Irз Irих пoпаl1еT в самr'й хвост oчерe/(иI

Для дoсTruкеIlия наивЬ]сшсй гIpои3вoдитеЛI,li(rс'Г',l сЛсllуeт' вo{lrPвьIх, oII1rl]\lалl.пo рaспрeдeлить PCl-каpTЬl пoслoтаNf (Ilаl]РI.IrveР' ссЛи у вaс llа lneсть Pсl-сJto-тoв пpихoДяTся двс Po1.каpтьt' з.о' втьпrая усцlоiiсl.r]a R пeРBь]й п llя'Гl,lii сJ]()1Ьl'вы вeluаeTe их I{a o,Дtto PIRQ)' lю soзмo,кIloс'l.и сoвмсruaя пa oдrюпr J)lIlQ,кl'rlь.кo пaимellec тeмпeрамellтпьte yсTРoiiсТЛа, 1.o ссТЬ ,гаIr'Iel кo'ГoPьlс гсl'oPllPуlolпpсрь]ваtIия рФкс всeгo, вo.3тoРьlх' Itа)кдoс PIRQдoлrкrlо o,гo6pаrrtатьсrr l lа свoсIRQ' кaкoe _ Ile сyTь вa'(Ilo (вoдЬ llPцoр'{теT PсI.riРсpЬl|]^llиЙ o/{иllilкor) lloтoлъкo свoc' сoвмeстlloе исIloJIьзoвaп!tс oJLIlol.o Il1Q ncскольклми IiIRQо6ьl.r.!тo lIе пpr!вol(и,l.к ltollфJIикТaм| llo нemтпRIIo ска:iьju'leTся Ilil I |рol,{:l вo/{'Jl.с.JlI' Iо ,сти, вeДЬ дPaiiD€Ры Pабoтatoт пс с РIRQ' а с IRQl

Aс PI.ядрa' ра6oтaюпц,le с Р сI.l l{rloii чеPсз Aс РI.Iro}IтроЛ]lер' Jl иlxс]11ь| вoзмo'cIloсти yrlpавлять отo6р кeппeм РIllQIla 1RQ lro св()cljy усr{o,гРe1Iию, llс мo)ко1.yгIPaвЛять этим и BIoS (вo всякoliI слу.rас, лcга,!ънЬIми среlLсTts l]и), Сaм,rсACPI стPе]t'иTcя пoвесltть всс PIRQ нa однo IRQ (06ычllo IRQg), п пon'еlllaп.eмy oчепь тpуДIto (Рис, з0'6). Ес,rЛ кoлIlчeсTBo yсl.аlroвJIснIrьIх PсI-усTрoiiс,|rlпaM]toгo 60ЛЬIl]о чстыPсх' тo pазпrпla в лрoизвollllтсJlьlroст],т ]vlе)кдy AСPl. и }1сACPI'ядpами несушествеl{] la' пoскoЛьку] да}ltс oткaзaвIпrIсь oT AсPl] въI всс P;ln-rro 6удeте въIriy)кдe]lьI pa3,цеЛя-l.Ь одIro PlRQ ме)кдy нескonЬxими УстройствalЛ'I,Дpугoeдeлo' еслI'I количeсTвo Pсl.yсTPoIiств невелпкo и ltarI6o:rсо тспrпеpaментньlе из них висяT ]la своих прepьI!а}1иях' тoгДa прI,I пеpеxo;lc с ACРl нa IrеAсРI-ядрo рa.зIlицa в 6ЬtстPoДействIrIr систeмьl ]\{o'iel. olсaзaт!сЯ oчeнъ зIIaчи-телъпoй (To )ке сalvoe o'fнoси'гся и к }rеyдачrlo спРoeкTЛPoваннь1lt ус'ГPoйстRaп!,H e y м е l o r ц и м д е Л l r I L . I p t ' t ] ! | в c н и л с д р у | и v и r l I l е | | ] \ l . ' | o U , , \ | д o . I o i ] l , o , l J ] \ | е . ] Ь |I{апримep дoPoгo]!{у видсoyскopитeлю' RAID.кoнTPoллерy и т' Д,)К сo:lса.:lонию' прoсто взять и oTкЛtoqiть AСPI неЛьзя, пoскonЬку irlr являетсянrTоЛькo меI{eджeроll питaIIия| pасПP€деjlителе]u рeсуpсовt I1oсще и ILoРнeвь]мпepечисЛl{тeлем' AсPl. и нc AсРI-ядрa rlспoльзytoт РазЛIrчIrьIe /{epевЬя уст.рoйсTв и xoтопly вtaимнo нeсoвllrесTиl{ьr' сменa Ядpа в o6язaтeЛЬllol1 xoрЯдкrтpeбуeT пeреусTаl1oвки системьI' в lтрoтив]toll сЛyчaс та oтка.зьвaеTся зal.pужатъ

Page 458: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

06ф,кдeниe Методик тес.ирoваrrия

ся, эTo сущeствe]lllо затруr.iняeт сравне}rие 6ьiстpoдrйствIrя АСPI- п не AсPl., | д . г , l |U . ' U ,1 | l , у l | r г c ) . р t rД | r ' , , o ы ! I | | нP l рe l ' k J ) evь I l об .

Pa3o]t1 1tзп1еняе1 еe 11рollзвoдlITeЛъl]остъ.

Pис. з0.6. все PсI-yстройства Hа oднoм npеpьlвании, lvlрaкl

I l l ' o r в l r l r v r , ь , r ! j , I l , г I ' I h , 1 / с | | . | ' l 1 l ' , n . п o , | | ' , l v | o I v ( o d u г ш с l . с Т п J Ь 1 I l I ] L | i / ч i , , l г | I ' , ,

ЛeP npeрьIва! l l l i i (Advanссd Р1С' l l JJ l ] сoкРаlцеlт l to AРIс) ' пoдлcp)(ивi t|() l I l I l i i256 1RQ п спoсo6llЬlii lrа6oта-lь в шrrrrrrrлrРollссс0рЛЬlх сIсTeмaх, otlllztItо в lvкlIю|,|Рoцeсс0Рlпnх коl.lqnlГyPацll'lх oII l|с ()бoсl|с.lt'anст |{Lп(nкllх ДonоЛlLlТеЛьIlьlх| г ' ' I l ч ) | | B | | t , l t , l \ I . : l . , к o , l ] l ' I n l t t , " ' t ' , j " - t ' , ' х ' | | . l ' | ' l I l ' . | | | | | i t , , | ' J I l l I i | | | г J е - с 1 t I ' '

коrrтpсr-'lLropoлl' а РCI.ttIIrlloii' It'|одjу Лiс ̂ Plс,,lдPа llе вllo]lllc корРе]{тll.) рабo-'Гaю1, с ,raiiмеРоNl' что сполцт нa псT I]сс llх lIPсllмуulссТва,

пEPЕключЕниЕ кoнтEкстAПол vr .огo ' ' ,д 'ч ,о. rьr '6 ' , , || U / |с || l ' пn l | ' '^n, гр1cй . loд l j i "у\ l , в , 'пaPlп,leлъIloгo вьIl1оjlllo]lия Iк]сIto'nьiolх пр]тЛo,{еIrtILi: что6ЬI в фolroвoм pс,к}l.ме иrрал WinADrР' скачl{вiulся rЦ)3 иJ ИllтeРпeта| пpип'Iм.Llтaсь пoчта,pсдаXтn.

рoвалаl]ь элcктPoнна,I -rа6'цицa ll т, ]l, Nlllпимa,rьнoй eдинпцeй lIспоЛIrcнияв Wjlldo\i,s яв,'iЯется иom,o]{, llo'|aкп o6ЪeДл||я1o.|cя B щ)aцессьL' a лpo.\ес.Ь1в з.J,ar,я (iobs), кал{Дьl,i пoтoli o6Ла.цacт со6сrвснrrьrм стcком rr rrа6opoм рeги-стPoв' нo всc nоToк]1 oдlloг.J прoЦессa RьlпоЛtlяlотся в е,цl1ном q(рeснoм пPoстPаш.сTвe и o6ЛадаIoT идентич]iыNIи (вoТll1!1]],

B IIo6oй NloNiепт вPеменrl на дан]]oм nРoцсссoPс ]!1O)кe1 вЬltlolлLяться ToJькooди11 потoк, и ссnи (o'llичествo потoков прев j,стаIloвЛе''.ньirr пpoцeссoPoв, llo-roки вьII]y)к]lепьl сpa)кaTься зa пpoцессoPнoe вPeмЯ. Рас.пределeнисNI пPoцессoPllor.о nРеN!епrr мe)т(дy пoтокaми зalrимастсЯ яДPo, B!t.Teсняющaя мнoгoзадaч] loсTь ' peaЛизоBa] l] laя в Windows NT' yстPoснaпpи6лrrзитcлънo тaк:кa]кдомi пoтoку !rьIДается опpеделeIiIraя поPциямашин-

Page 459: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

460 глава з0. Dазгoн итooMoxевие Windows Nт

тroго вреiIс}i!l, нaзьlвae]!'aя ad,/rлoл (quantum), лo истeчeнri]т кoтopoй7?'aн'.poB?4?l]r (disPаtсheг) llРинyдrrтe"IьIro перекЛюча€т прoцессoP на Дpуroii пoтoIс,Уч€т проjlессoPlloгo вPеleпи o6еспсчIrвaетсЯ зa счст тайlfеpa, пеpиоДически(рaз в 10 или 15 llс) Taliмl.P г €rreрllpуеT аl1паРатнoе пpeръIванпе' пpl{кaзЬrвaю.щес пРoцессoру вpсмс]lLlo пPI.loсTа]]овитъ вЬiЛoЛ]]eпиa текyпIeГo гtoToltа и пeРeдaть 6pаздьl пpaвлeIlIrя дlIспетчepy' дI1сllеTчсP упrеlIЬшаст квaнT пoтоl(а 11аtlекoTopylо в€'rичипv (()6Ьlчн0 равflyro Двуп1) r{ л116() вoзo6нoв.riяeт вьI]IоJ.rнс.ние потoкal ]t]rбo (ссЛ],l i{вarlT 06РатIrЛся в IIyЛь) сoхPа]tяeт pсгI{стръ] поTo].aв спeцllальIlоl:l 06ЛасTи памятп, I]aзь]васlroil xoнmeксmом (сontехt)' нaхoдитпoтoк' r]о'ЦЬшr всегo IIу)кдающlriIся в пpoцсссoPIJом врcNlcнIri восстаnавJ]l1ва.11 сгo кoнтeксT !]!lсстe с xoIlтеl.с1ol\r пРoцeсса (eс"ци этoт пoToк lIpr]нa,]ле,кltтДрyro]liу пPoцессу) и псPсдает е]\fу упраrЛсн]Ie.Пoтoкп o6рa6irгывaются ]lo oчеРсдll! сoотBетсTви]lс r.Iх пРriopитlr'1ом 1r пpп|Iя-тoй сTрaтсгrIсiI llЛа||пl)oваrl]I,], П'1aIol]x'rщип сno'(trым ()6paзoi{ мart1iпуnt'lруeтс oчсPсдьIol пol1ЬlJllая llplloplIтсTьI l|()'|ol{oв' I{отoPьle с-'1пIIrкonI лonгo )кдут lтpoцeссоРI]()I! вpl'llспll' тor1ькo ч,гo lloJrvчп,'r]J (Dо(у( угJPaв"!сull,l IIJI дo)rq(алIlсЬзавеРп|сllи'l oпcрaJlltи |nn)да/вЬl]]oда, AJ|гoP111.}1 II'raJl,lpoваl1llЯ ]rепpeРьIвllo сo.вepшс] lствyется ' .'1I ]а](o l Iс nс{: vф ПсI)!rcЛ с'Глl) в:l ll l1'I oка3ЬII]ают 6,lIiLt.о] l PIтятI кregJII1'lllиc llil пPol1llвoдI.l'ГсnЬlloс'ГЬ. B o6цcм сly'IJLс ilt]tofolloT.ЛJIlьlс lIpЙJIo,{eIlIIя,(oл,{пЬt tlсlloлпяTЬс'l lIn Тсх Я;lPах' пo/L с|рil].сгiпo пIallt]Рoвa]lIlя lсoToрЬlх oпиolLгим зrц)ов;ljlllс!' l] IlpoT ПIiоill сj|учnс мо)tlio llilPBaтЬся |ia ]lсo,({/lаnlloе ||lt-деI lи i ] lQоI ' : ]вo , | l TeЛЬ||( ) ( ' Г l | .

[lptr ]lc6oJ|ьllIolrt кoJlI.l,lсстI]с ]J('кЛloв ll;lкЛil/.l!Ilnс раoхoдЬI lla Лх llсpск.JIюt|сl]lt'lllоl]tl'lьIlo I]cllсЛllкll и }livlll lr1oжUo IJpс|lс6PoЧЬ' Il(J Iк) \]сPс |'|ilсь|lllе|lия сuс1'сtvlЬloill,l сTРеМЛте.ЦЬllo Рlt.,Гyт] ]:Iа ЧT() x(c Pil(j\oдYс](я IцroЦоссoрIlоo лрсIl'? ]-[]]c)J{/iсвссl'o l]a (l{уnrсбrtЬIс lIу'{|Jь] сillloГo ]lJlаlIl,|1r()RЛlltка (апaЛIIз oчcPсдп' lloTallиIo11р oPи'rсr.oв ]l 1.' д,)' rс\l Ilа сoхРtlrIcllI1o/вoсс,I.аllo|].]lсlllIе llolrгскс'l'a lloToкo]]I l l poцcссoR ' п( ) . :мo фLшl , I tак всe э lo устpoсr Io и: r r rутри!

llЛзaссем6Jl,lРolrаlnrс пolLaзъlRilc1.l чTo a-lrarltцювrrцrrl кaк 6ьr <размазаlr> пo вtlс-Nlу яЛllу, tlo'r' IlРяп{()I'Лп l{oсвсtll1o спязаlIIlЬl.i с tl'llaппPoвa]]ис11j рассPедorочoнllo Десяткaпl qrункциil' б.]-rlьLutl]tс'l'вo lIз коToрl,lх нс ДlrкyN1еn1]1poваllьl ll llс эirс}пoР1!rРyIоTся, этo сvщссl.всlrrlo зitтPyllняст сраsЛе1tllс PaзЛЛllllЬlх 'IдсP дllylсДpvгoм, нo не Дrлaeт сIO llcвoзNlo,lоlьlпl, rlyть пoз)кe мьI пoкail{eiii ltaк N!oл(пo!ЬIдeлиTь пoДnPoгpailJliьl п poqЛlJr]lplr вl цI псr l.lir Ядрal покa )fiс сoсPед{lTorJrtмсЯ нaперс]tJIючeIпlll,t с.)хpaI]снпп/rl0ссTal{oвЛснпи ]tоl11оltсTа.- I p o u e с с ^

' ь , с г r , . r ' г r ч ' х 8 6 | | U J . p 1 | , / п : | " j | | | ] | d o J ч ь | i i ч ' х а н | | J v } r l \ : ' d , . н | | лlФпTеltс l'aмиj авToм a].ичсск11 сoхpапяя/вoссTаI'авЛI'Iвa,I sсe РeгисTрЬl ltP!i пеpe-ключеrrпll Ilадpугую зaдачу' нo Windorvs I]е испoльзует el.o, nрсДпочrtтaя o6Pa6aтывать ка;,пдьпi из pcr.llсTРoв врYчr lvlо ' lfuкoе тo Bрeмя автop Дyмir] l' чTo ]486с.ядрo' нIllle].o ]]сзнаюrцeе o I!'1Мх/ssЕ.pегr.lсTpах сlrвPеI|еlIllшхЛРоцeссоРoв и l]свкJIttFlающеe пх в кollTскст' 6уДет вьllll.PшвaTь n скopoсти' ollllaкo IlаPаллеЛь-ная pабoта jtвvх и 6oJee lIv]lьTl!!eдriihlьlх ]1pи,ro,(errиli olraжется пeвoзмo)nIroй.B Дeйствителъшoстrr :кс oказалосЬj чl.o зa соxpаllellие/вoсстаIloвJ]сниe PегllсT.poв сoxPoц€ссоPa (eс!и сro можтrо так iraзвaтЬ) оTвечают lltашI,Illньle кol аIlдьIr-xsAVЕ/FхsтoR' о6Pа6атьIвaюrшle rl |lХ/ssЕ Pегистpьr тorке' вo.rтo6ш вьтяснитьэтo'пpиrnioсь пеРeръlть всс Ядpo о1 liAL'адо llспoJ1яитe.nьпoii сисТоп{ьII

Page 460: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

обсу}(дeние методик тeбЙрoваниЯ

Пеpcплю.lеtltrс loнтетtс1а oсvщестIlJястся сJ}')fiс6нoil .]]Ун(llиеii SWaрсоnteхt,реfulпзоваIJIloii в ntoskarl.eхe, этo чuсТo впyтр..нняя фупкцпя, п ядPo се нe эк<:, l ' ' p ' t l 1 l " t , 1 " , | ' р \ | P | , , ' ' U н l I' ' , . п : l - l | ' ' Г . Л , | n , - | J j ( ' l | , ' ' l ' , ' p r o , \ l '

" . o ] | l r r r r . r ' ' ' r ' r ' , | , ' . ' l l t r l : l !

поpядпa 150 Nl6aiiг rr rJепoдъсlllio тя'кс'{ д].iя \1одс-\1ногo скачпBaп].]я, Pяд yтп.nrllj т:riirlхj Iln]tр]]rlе|l каx syпЬо| liсLrjеvеr ()I Nuме8a' noзBоrяloT вьI6оpoЧнoс(aчIrBa.Гr) l1еo6xoлпl\ ьlс сиilвnJrьllьlс фajjrьj нP\'чIr\rо| эпarlптс.llЬнo сокParцaЯ}rРс\fя пеp!к:rчILll' oilнако по ЛсlxЛrятrr]jlll nрIJчlпlам orlll 1.o pa6oтalrlr, ro нет( N,In]rosоft 6jтоro ц,усT д.,ступ?) uoэтоrI). I к'o6IoЛJ l[к) vnlсть ||ilхoirlтЬ 1'( )1Лr}' вхоr.iaв sWарсontext сaм()(],к]яте,1ъЛo :'To .!огко s!аpсonteхt . eдJtllсТвгlпlaяj ктo пl.),iсT пР]rн()дJ]1.r] к |||cnlу эILPаlIv (ljср] п с |Illдгрo6l il)'i ll ilдп]r (:llo АпЕl'lPГЕD sl']Iсн. R 0 | .

D P с , | ' , U | o | | , B , o ] р \ , ' , в c r , , { , | ' , , , ' , , l | о , . r n l , e \ e Р | | . ( | | ,J ] ] . r6o i i д1)у tой д| l за( (с r I6nс]) ) ' r r с ] l "x i с , l I INI B(с r ]cРL ' (Рсс1] lъ l ( , ( ! l r | .пкI l l xq , ryщl IеL( (!уЛIiлЛя\l КeBugсheсk Il КевugсheсkЕx, в кll|i()ii'lo iIз |lllх \Jь] ||аiiдспi PUs|] в8h/сАLL Kевugсheсk ] l , l ] i чк}То в: r ' ГоN l PО,ILо , L ) r ra - ro l r6 . ' i l с r ( J )у lL l i lц l с i i s l , JарСоnteх ,] lpoк l ) IЧJL t ]а ' экРа|| . l r l i rассс\ l . ' l I i l ) i l UDt .рх . l l r ' ] vD l Iд l l i r ! r ' l ] lo I l Ha l Requestso f twdгe .In teггuрt ; o l l . ]о ' С( ,6( ]ГBсIJJ ro ' | | l | ( ) . ] \ ' l l k )Чrс| к ) | r l . ск fT l a | ] I l l l o гoI lp( ) l l . ссoрJк) j iJ ]с | )с l | | |ядPr с i ILс l ' \ l i ' l J l l | | l l i \ . ' l ( ) l tЦ l i l l r ' l v FХSAVЕ. J{( ' | l ) l ) rя 1vГ ( ) ! (сN l l i J J | i Ч .N lу ] l к1)IoP i lя ( ) ' сvПr] l \ . т | ] r i l ( ) l J ( l r l l ! ) l кхс ' ) | r l l l ) j i | cрс l l l | , l i l ( ) r |v , (с l l l l o г ( ) l lp ( )ц( .ссoрI l J , l сDср( | ! l l ' lN| | ( ) |1) r I l с l j0 | | l . ' i I , l rц ' ( ) l l l l t r ' , l l с J r i ( D( l l r ] ) l х i t r l l ' I l ] i х l ]о| | | | l l r IL l l I l l ' I r ( ) | (^1уoJ i l l : ]Ь]J l l l l ( ) , |с , | l | сс l ( ) ' tЬ l io r J0 l |с ( . I l l l ) l l ] lП t ) ' l l l l ' ' Jь r l ] , | ] \ l | | .q)у i ] l {ц| | ' Ha]Requеst5оf tWdгеIntо l^ruрt , ] ) . r r r l l ]k ) | ] l l r r r r rЯ П l l^I - ' ' l IP | l ] | i ( )ро| l ( r1 i il l i | ] ) \ l i х ) I{ . ( ) ( ] ,цr t ] |я . |сЯ с ( l )y l l ] ( | ( lU l \ l | | | |а lф1sраtсh ln teггuрt / на]рDispаtсhInteгпrpt .с ( )х| ) i l l l я l ( ) | I l l I r J i1 / I rосс 'Г i l l l nПЦlL]1 l ' x ) l I l ] l l l l l р0| l J (1 . ] ) | ! I | j с l i ) l l I j l о ] ( r r | | | | lЬ lх | l ! |x 'N|с r l | |ЬIx( r l с J l l {o l J |ск( lГ ! | l01() r . j l l ) I l l ra ( , l J I ]с lLс ' r l . l I J ] ( , i )1 i l l r с | l . l ) { ' (a l l ) ] I l l I I l | |v I ip i l l ] j lC l r l l с | | i lК iD i spаtсh]ntег ruрt ' I l J JOI]Ь I ( ) ] | ] l i l l I L l l | l ) l I l ! ] ( ) l rx . l ] n toskn l | ,ехr ] l poк\ , ]х l i1Л| lo ] ]Ь l ] lЬ l .I r l l |0 l | \y lо sW.pсоnteхt l (To) l ( ' , t )Гд l l . ( ) \ l ) t l l ' с1 ' , , , so . . I i l l l l l l ] ' ] | l I r ] i l с | l i . ] r | | ( , ] ( i r , r ?О( t l "i ' L ' l ' сT . ] , l - . l l l IЛnрa l r I l , |0 o . l ) r6( r . . ] l1 rn l ( ] l r rк ( ' i Y l i l l : r l l 10 ' l |0 i ] l L i l I lрL jдyсT i l l | ( ]в ' l1е] l .l lЬ l c ( )6 l ) i l 6 .Tч l J IL l I | |aхo/ ' l I Iтся l ] n tOskгn l ' exе | | L ] ( )лс l ) , i l |Г . ' B l l сPсNI . l | | |o i i IDT ( l ICt tyта tь с lDT т ; r6 , l r l lцо i i l l i n , i l cсСoP l l ) ' к )1 ! l ' l ' ' |1 i l к l | с Jc ;1 l )в i l ' l о ( ) ' t J1д l lTь j l l ( ] j | i слор, | l lPyC 'Гся ядP ' ) i l ! но i l ] ) l l сv rсTвус г | ] с l Jм l lо - l r l , l rЬ 'х 4 , : l j iЛ l l х Пр] l l |х oтс l '1 .с1B]I l lн l i i | | l Lx 'рс r1er r l l ! l 0 IDT \J I ' |{ I l l J .Г . r l ] r | ] ! )с r lа ,ГP l lв l l ' т . ]6] l I I ro ' пРcры]r l lн r l i - l rю6o l .oпз x/ l {ср l IЬJ) i oTn i lдчxкo l r ( s ( , l ( . I сc . \{ i сГоsо l t KI ] l | r | ] DrЬxgнсГ) ' o] |Pсдcл l l те а , lРссa l l ( , с1{o . lъ]L l l х t tо поpe l lаз l tauоп lп; l o6Pа6OTчr1кoв п1 leРЬ]вa l l l I i i (To сс 'Гь TакI lх 'кoт0рl'lс YказьlвiLloT }ra лtosкrn 'eхe' а l|с rla др;lij|rсp) I'' зaФyзllЕ ntoskrni,ехe ]r дlгзассe]\t6"lllrP' ГrоссTlL]{оnпTe llсрскРк.1.]lЬIc с.l,l,rll]l. Beду]дxс I.llrtll, Это rr 6уlотс1рvпт}, iх)1i1DТ.

l{pvгпе q)уILl{цI]lJ тaюкс i'oгv] сo-\Parlятl'/вoсстalInв,rll]в:l1.l гсxyrцltii l{oнтеxст(этo' п 1lа(Тfloстll, ]1с"'Iаст кeiз86Еoiнe]peг' PаспоtОя{cнIrая в ntoskrn.eхe)' п()з1.o.lfv lIilкnaдньI!ё рaс]хoдьr rта 11ерсх-! Iо Ч фЛlс \]е}кд\' tloтo]iам!l oIiаilь]gаloтся лO Ео-i ьIlо вс.цикIl п nЬLIlиваIo,Г(Lt в тьIсяч]1 tITЬiслчl' riollаllд ilaшllr llоro ]iоЛа. ]lp]lче\1r(a'кд.Jс ядрo Ir11сст свolr rlсо6онпоr:тrl pоа.ппзаrI!ПI, i{aк oцclrri'ГЬ. 11асl(о'.iьln) oдноI,з ltrIх пРol.l3I]oд!lтс"'iЬIIее дpvroго!]

Лоrичнo' ес..rи ]"r!l yroвoРllj\1ядPo ЛеРсl{.1rоча'Гl] ]rоrlтelс|!] т:Lr( 6ьrстpoj ral. ToJъitо этo вoзl1о'dl()j . ТoIда l{onrlчeств() IlсpeкjтIочснIfIi в eдlш1пц\I вРсrlеI'п lI Oпрr

Page 461: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

462 глaва 30' paзгoн итopмоxениe Windows Nт

деЛиг вIшаД пaкЛадньlх PaсхoДoв в ()6п]ее oъiсTpoдеi{ствIl € ядРa, скa3а]to сделaнo (ЛистшIг з0.1). сoздасм 6o.1ьшolj ltoJllJче.твo пoтoкoв (пlr п1сI1ьlxеii Nleре сToIrли дa,{lr тРисTa) rr ка]iцы]i ]1з них застaвляeМ l{иrсj1ичеспи Bь1зьlвa'1ь q)упкцию

seep(0)' nривoДящylo к oTдачс кваl1Toв вРeMeп (lr' rLак слeдств]llr' кнсNleДлeппo'п{y пePеключениlo lia лРуroй пoток), кoJtIrчесTвo пeРerсIlючеIrиli контексTa ]\{on(нo oflplrдсЛrrгЬ flo сo/Iерхlinlo]ilyсlIсциа]lЬlюго счeтчпкапpo1'lзвoдl4теrrrrt1осТп' отo6paжaсмoгo сrтстelтнъrпr пtoни1оPом, yтиЛll,гой СPUМоп NIаPка Pyссиllo8пчa'отладчrпtoll Nfjсrosoft KerLlel DеЬug8er Il Dl] loгш rlr ]rрyгиltll прorPапlNlамIl,

листинr 3о.1. ИзмеpитeлЬ скoр0сти пеPешюченИе |{oHтeкста

{// отдаеx пр0QeссоPное врeфя в бeс lDtcч ]0a uиlЛe' t r j l e ( ] ) s l е e р ( 0 )

)

#iefrnе dеiN|h. 300#dеl]nrэ dгgNthГ ((а.9с > l ) l i ] t r r , l (dгgv[1]):de1' l . ] thr)

main( l t aГ!с сh0Г i*а19v)

{

pг lnt|( . 'сгеаt inq ъd L l rгeads , ' ' аг!Nt i r r)

// со3Дасfl аГqNtlrr п0т0[овiОY (а .0: a < аГ9NLhr : а++) C|eа ieгhгеа . (0 ' 0 (VOi t ]*) |hг € аd , 0 ,0 &zzz)

рг rnt l ( 0к\n . ) |h|cаd()

lCPавнoпие AСРI-ядра с l4B6с.я.I tрoNI на мaшrt l lc aв loра ( intе l PсDt iuIn.1 | I 7 З З t \ 4 | ц ' 2 j с М 6 , i . I s D R . R А ] \ 4 . | з , l ) o 6 ' , 1 v ' к ' " а ' | , ' , | 4 , | | | , . , ] ь l , . .

| , j с \ o 1 к .

llеппe в I'IхllPоlt3вo/lllтеЛънoстrl, I486с.ядpо переIr.nючаeт кoI t1.с1rс1. llaм поro 6ьI.(TPcе' oсо6eiiно пPи Pa6oтe с 6о".rьrпrrlr lо.,lи.lестЛOli пoтокoв' B 116щсм с'DyчaеI{orrI{чесTвo пePеI(ЛIoчсниii коl l1.екста o6paтнo xPo11оPцrк' l.Uпnro коJrпч0с'1вy пo.тl]Itов, так кaк кoнтcкс]ш ltaДo где'тo хparrltтЬ, а кЭш.]lаNtяTь пе резIrнoвая, Ес.lия/:Iрo дсЛaеT мlloгo Лиrnll]lх сoхрaпeппI:i (o rtотoPЬIх мЬl у,ке гoвoрилll)' oao су-

пIественнo rrpоrIIрывaет в скoPосTl], Tе]\' пе lleнеe вссЯдРа сjцюeкTпРовarrьI до-.jтaтoчtto грanlотпo lI сoxPаняю1 oTЛllч]]},rо пo]lвI,r)кrtoс]Tъ дaж". пРи рабoTe с тЬl-

lIepeкJiючeнис rlPoцeссoв трe6yот лоlroлплтeльпЬrх нaкладнllх paсхoдoB ,I пoтpс6rtяeт нaмнoro 6orrъшe пa\rятt{' поflyшо !ЬIзЬIвая с6рoс 6уфеPa ассoциатllв.нoir TpапсЛяЦrrli' пoскoxьку кaтr,,{ыir Irз iтPoЦссс(lв o6r1аДaeт сRо]1lu адPсснr'rnl

пРoсTpaнсTвo}J' вьцелить кoд, oTвеTстaенEьп:i за псрокJIюче]l]le Iсoптеl(с'гов' 1lс.

с'цo)к]lo oн въrдaeт сe6я o6Pащеяисм к peгпсTрy CRЗ' загPyжа-q n I]егo }arазаTеllъ rla каталoг стPаllllц (Pа8е Dir€сtoгr, Phуsiсal Addтеss).

Page 462: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

46з

.цавайтe пемнoгo мo]1ер}il,lзиPyеtd lrarxу тсстoвyю прol.Раммy' заменив пoToкипРoцессaми. OдIrrr Irз ваРиантoв pе;LlIизации l{01кет выI]:IядеTь тaк' кaк покaза]Ioв листинIe З0,2.

листинr з0.2' ИзмеpитeлЬ скopoсrи пepeклюЧениЯ пpoцeссoв

{' l r r l е ( 1 ) s l € e р ( 0 ) ]

#dеl]n € aгg l . l !h. ( (а.9с > 1)?аto] (dгqVt1]) ]defNthг)#dеf ine агgргoс .666

irа]n(]nt аг!с ' с l rar **dГ9v)

{

с l rd. bL] i |1000] |sтАRтLJP]NЕ0 stPR0сЕss.Il!lj0RЦAт]0N p

oбсy)l(qени! Mетoдик тeсlиpoвания

п е m s D i ( 8 5 t , 0 , s ] z e o f 5 t ) r 5 t с b - з r z e o l ( s t )

] i ((аraс > 1) &E ]srrсmp(аrgvt l ] ' aг!PrOс)) |hГ €аd()]

sр| int f(Duf ls }5 а.gv|0] a.gP.Oс)р.]n]:|( сгеаt ln9:]d pГoс , , , агgNthг)fOг (a - 0 l а < a.gNrhг: a++)

сгеа|eProс € s5(0 DL]f , 0,0 '0 NORМАL. PR]0пi1Y-сLAss '0 ' 0, &st ' &рr)рГjn1,f( '0K\ i ' ) l th.еа i():

llla'{е пРи tlе6oЛЬшolI кoЛичrrстве лропeссoв систeма 3!iaчитeльIIo (пPoсeдaeт'пoд ]tагрyзкoЙ t{ нaч]tIlae,г oщуТимo приTоPмaжllвa,].ьl а коЛичeствo пеpeклloчe.lrиii кoптекстoв сокрatlIaeтся пPIr6лrtзительнo Rдвoe' I486с.ядрo пo.пРФкпемудeP'oi].ся в]lсPеДIrj чтl.) пе lloхет пе ра/Lовaтьj к тolllу ]t{е с Ilим систсма пaNlIIoгo6о,ree охив',lспнo pеaгируеT]lа внешпше paздPaЛ(иTеЛи (в частПoстиl клaвпaтуP.ньтй ввoД)- Б]'стpoДеilс1вIlс пoдсисТе]\rЬl ввoдa/вьIвoДа специаxьнo не тeстирo.ваJtoсь, ilo' пo сy6ЪcктrlвпьIп' оЩущеIrlrямl 1486С и с эTим спрaвЛяeтся t1амнoгo6ьrстpеe')I{слаloщt1c поЛкрепи,l.Ь эксперимetIтаnьньIе даlп{ьIе дo6рoii пoрциeй дизас'сeмб.]lеPt1ьiх "чпсTиlllов1 Iloгyт сaпloсToятeльllo пpoаfiализ]rрoвaтъ фyпкции лла-rlЙрoвщикa (ЛисTинг30.3)' есЛrr' конечflo' УхитPяTся вь!дратъ lrx и3ЯДpа!Да,1e-I(o нс всем l{ссnеДoват€лям neдP WiDdows yдaioсь этo сде"1ать.,.Зaдуlrаriтeсь: ес;rи ядpолЬsиllуlo /loлю пpoцeссopнoro вРемсни трaтпт нa пере-клloчr11ие коIlTеltстoв, tlе oзпaчaе'f Ли это' что нaи6oлee интeliсивllo вызьIвae-N{ъ]lliи ol{ая{yтся фyttкцli]Jl пРиllaДJlсJкal]lиe плaниPoвщику? Зaпускаeм нaпiу

Page 463: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

464 rлава з0. pазГoH и тормo)r€ниe Windows Nт

тестoвую nPoryalп1yl aoдкЛючaспl Мiсгosoft кernelPгofilrr (и,1Ir ЛюбoйДругoйtlpoфилnPo!цllк ядрa пo вкyсу) и' дaB e 'y на с6oP статист!1к1r где-ToдесЯть сe'l{УI]l1l вIlIrNIатсJlЬIIo изучим поЛ)лrеIrныи peзyлЪтaт,

листинr 3o'з. Фyнкции ядpa, iрямo иЛи кoсвeннo oтнoсящиеся кпланирoванию

436243З329082815з001 3

длитЕЛЬнoстЬ кBAнтoвtIас'iьlс пеpскll ю.r онrrя tс( 'I ГIeкстoв (],j.l) |{цaтс]'IЬl to скai]ъIваloтся l la п Рoизвoltllтель.

Ill](iгx с,1сTс]\lъl' поэToI'y WiDdows NT rloдfulp.tет пPодoЛ)кlгr'eЛЬrloс,гь 0,]lпol-o

]Фаlггa с тi:lкl']\t Paс.lr] o]!l ' .lтo6Ьt oliл лРoи(хo]l1'Лrl каj{ ]!1o)о'o рсжc| TeРяЯ nPи

i)1'oi\l поllвll)olос11, x 6lnстPoту рcакцlll{,

/цoI|усTlr]v, у llaс имсoтся 100 Лor.окoв' кa)v()N{у из кoTopьIх вьuiоЛяo1.с, 100 Nlс

пPoцсссoplrol.о вреМсlllI' пРl]чспj вс0lloтo|(ll llсЛojlЬilyloт ()'l,8с/LсllIloс иl\l ]]Рсji]я

n oJI I ioсTЬ lo, 'Ibцa

м (-)l./LУ ]LвупIя l IL'рсI{JI I()l|еI ! !Iя N1Il olll ю гo 11 тo гo 'tс l]o'l.ol(а I Il)()]l.

]rсT ]0 сI вor rе6с,6l6yllп(а, |1Nlll()Гозаllачl|ЬIй ДсtlЬ..' CкшкIlTc| Iкtr]апlci!1у' ),Гo

lloPi\{.l]lъIlоl t(outil tlil)t(llтirя клaвлLlа o'гo6palкaeTся ll.t 3]rPillкj ToJl Ьl(о чсрc]] 10 сс-

куiuL.l Itоца сстeвьrс кn'tсllты IюJ]учaют в чaс пo Чaii}toй ЛФкк0? A всдь cсJll'l

ссpпeр o6pa6aтьrист кa)I{!(oгo llз кЛиен]ов lJ oтltсJlьяolt пoтокс (ч-к) яBnястс'

Т1'Iitичнoii сТр.lтсгl'сii пРоГp.lNtIlиDoванu' ]] Wiodows NT)' olrдoJI)(еIt уrv'сЛo Pас.

xрeДеnятЬ rlрol{rссоРJrce вPсi\lя ]иФццу r ысячaN{rl lloТOIсо!|

Разl)a6oтчик lJNlх, пРoгpaммllрyloщllс IIе pади дснcг' а B с'lJIy llсTоричссltоn

нсlз6Фкнос'1ll, стрerll'l'Гся вьt6r'rpа,t.ь вeлIrurrItу tсвa]{тa'гак, чTo6ъI ссРвср lте,ГеРяЛ

oтзЬrtsчивoстll дФке пР1'l j1!IкoвoiI I{aгpузкс' Pазpд6oтчI{кl1 windows N.1., пaпРo.

TIlв' oпTиNtlI3]]poв'Lll! cвoю систе]!{y ltoд NIaксимаJlьIlyIo пPo11звo/lIlTе.rlьlloстъ'

мelIяя всJl'lqину квaILГa oт вcpсltll к веPсl'llt тaIс, чт06ы сoвокyпнoe коЛи.1ссTвo

о6ра6отaнпьтх зaпрoсоB в едиllllцу вpс|!1еllи 6ьIл0 l1акс ]!lа-пьнЬll1, вeдь llPoltз-

водиTель]loстЬ - этoсllлa,а кorirQюрта6еlьнoсTь и yют - ]!oпяTtrя Pас'ГяжIrl{Ь1с.

Пoднимитe xoмпъютсpньle )l{урнальI, пoлазаii,гe пo интсplleTy всзДе лeжат

тonЬкo сpавниТeJьrrыс ТесTъI l1poизвoдrrте"rlънoсTji' 1lo Ilигде о'гI]oшellllе вPс-

менrl llрoсToя к-lиeнтa (о вpеlie}rи pa6oтьi' Лaдяo, остaвиNr ЛlЦикy II xерeйдel{

к дe.iу (,|абл. З0,1).

Windows NТ пoддeрхиваст двa тппа кваптoв д-.l ltliъIе и ttoрoTtс,iе. нсзaвп'

сll]uo oт свoelо типa I{ванты мory'г 6ьIтЬ Iсaк фиксиpoBапIroli, .гaк и пeРeмсн]]o':i

lЦиIIьl (кваliTьI пePеNIefiвoй Д.ципъ] e]цr назъIвaют ]1инаN1шческими), BеЛичинa

квaнтa BыPаnGeтся в услoвIrьIx eДиItицах' oф цItаЛьllo ltaзЬIвaeniьIl quапtl]llr

rlnits,.l.Ри квaнтoяъI' единиr{ы o6ыuнo равньr oДrtoN'у тrrкy таrlN{ePa'

nIOsk.n] ехe Еxltel."аsепesOurсе|.oГтlrГеadпtоsk.n l eхе KiDr spaLсh]nteГгuрtntо5kгn] ete s€тOtenImрeгз0nаtrопLеyentоsk.nl ехе (eOelayЕxeсutiоn1h.еаd

ntOsk.n] eхe KiIp]sеГviсe l iоutrneпtоsk.nl,ехе Rtlр|0fеLсhМеmoГ}NOrrТempo.аlntoskгn] eХe (сDi5conneсt i r fег.up!

ntos[гnl ехе EхГгeеPcоll']]thта9

Page 464: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oбсРкдeние метoдик тeоиPoваниq 465

УпРaвJreпие типolr и прoДoЛяrиTельпoсr.l,ю квапта oсyществЛяется чеРeз сЛс.дyIoUlии naPaмeTp pссстPаj нКLN,l\sYsтЕlч\сurrеntсontrolset\сoпtro|\Prioгity.сontro1\WinЗ2Pгioгitуsepаrаtion,Если 4.й и 5 ii 6итьI, счIrт:rя or нvjrяj раB]]ьl 10' с,iстeiua используеT кoPoтrdletсва]rтьI. To '(e самor пpoIrсхoдит прrr oпTI.tпtизацпIr паpаlIeтрoв 6ыстPoдеiсTви'пoltllсtlo.пнеlrr'IепprlJloжснlil:i(панелЬУпpавлeния|сисre}4а'ДoпoлнителЬнo'па.рaMeтры 6ысгрoдeйствиe). 01 указьIвает па дЛинl{ъIе кваl l1.ьI (oн хе пс]tоЛьзvетсяпp'l oптll}lllзaЦIlrr спстеNlьI Itoд вьIпo.nпel1ис L{Ркб в фoнoм Peя(имс), Лrо6оелPyroc значениe Irы6и]]аст пPoЛоJIжитсr1ьнoсl'Ъ квaнта по умоЛчаrl11ro (rФPот.lфс _ в $/jndо\\,s 2000 Pгofеssbnаl. ДЛиIrIrые - в Windo\L's 2000 sеt"ver)'Ес]|n2-hLIЗ i]i 6итьr pавньr 10 .ilJu]tla квarl'Гot] фиксllpoваtlа; 01 пo3!о''lястlIЛаниPoвlIIикy]1llнапIIJческl] варl,xРoвaть Iцx]дo.x,{lIтеJlЬltoсть квall'ra ]r заPаlJееоIoвopеннЬIх llPс]1сJ1аx. J.lю6.]е /{руrос знaчеlIllс вь16;цr:rе,l тrrrl riваптоrl rlo умoл.ЧанlIю (пepeivеltltl,lс. в Windоlvs 2000 Prolъssionа], 4,Ill{с]lРoвa]lпЬle -. в Wiп-dows 2000 sег\.сr)' Прu llсlloЛЬзoвaппtlдtttlаNIIlI]есItпх квaIlтоa п'llallllрol]lIIllк lIЬl.Taeтс,I авToiilaтпчeскll YgсJпчлRal.Ь llpoдor.I)о|TсЛЬl{oсT.ь 1{ваllтoB llеlФ'].opьIхlloтoкoв l тeх| кo,гoPьlп{ пРопессоP!loс пРеIr я l ly)кll сс llсeг(J. Bo uся к( )л| (:',rY час, I Jrra.IlиРoвцrtк дY]\'aет' чтo o]lo l,ll\l IIу)lLllсеl а дуIlaeT ()|| llpll6JIllJПTсJlьj{о такi есJlliпoToк 06слуЛ(lп]аcT GUI-oкlIо л эт<l оttuo IlaхoЛ -rс'| ll {]rоlryссl llPo/LоiI)I{J]ТcJ||,.]loсть I{вaIJ'Га ylcnиЧ]lвaeTся, ]]сЛll lloтoк rlo,!Ii(х]'|lI() lIспonыус,г вссь o'I.lloдс|гlrЬll{ е]!ly квaIl,г| cro прoдo.IDкиl.сJlьlкхlJ, vвсJпч]tL]llс,гс,, I.(]Л|l'.' копl{PсTllЬIi.i ilJl-l.оpl]т]!1 т1JlаllI'lРoвa|, Я 3al]исlгг or lrU6pаljIюгo я,ltРn' ll IIо'г()rvlу oдllll '|дра Il()I.уТoRa3a'ГЬся l laN!l l oго rlPсllll oчТI ToJI Ьl l.с ,ц рyГ| |х.

/цвa]йJIадr| I I l хб l lT i l за/ taIo1иI tдсI{( | , lд l ]yхэJ|o l l с l г l ) lO iи] ! |aссивсPsPг ioг i t }sepагаt iоn '

Рaсllo.ltо)t(сIlIlоNl IJIIyl.Рlr ntosкTn .exe сIIоnьзус]\l()]\! lIJIill'rIрoI]|llllкont j1.Il,| l]асчс'Ta пPoдoJDкЛтt-'ЛЬЛoс'гll квaIlтoll акTllЛl!t)го lIDol1сссa. Эта rrсpомсннaя ltс эксrroрTllРyеTся я/Фo.!Il uo уlтo\1IlIlаgгс,l в сll]\п]o'llьIJьlх фаiiJ|ах, ]jсJlIl ){с l)lп'| ()l.суTсTuYют, обPатЛтссь кфyI l | i J l t lU PssetPгосessPг ioг i tуBуC ldss , коTор i r ' l с J lOJ lЬзусrпеРвьпl JJlемснт этого ]iIaссllва кilIL vlt:LlаTexL nа Дpvгоii IjltссUn'

та6лица зo.1. lloдeлЬнЬй Pяд квантoв в WindоWs 2OOO Profеss onа|

пepeменtыe 6 tzФиксиpoвaнныe 18 18

fiля эIсспeprrr,rентoв с кBaпTaпlи с'lсп(a llloдеPtll.tзпpуe]!f rllшy тестовylo уТxJI]lту'3aстaвЛяя поTоI(и (]lРoцсссьI) t1спoJtьзоват], отneДeнньIl; I'}I кваltТвPeI'erlп IleлIl.кo]u. A в пepвичныr; поTolс всrРoиlt счeTчrп( вpoll €н,l' lЬIrtt1с,1,lюЛllll:l пр(Цox,ltllтельIIoс'1'ь инTер!aпa Nieжду двylя сoсеДrllrlIIl пeРelс1roчснпяNltl (j!x(TинIз0.4),

лисrинr з0'4. измерит€лЬ пpoдoлxительнoсги квантoв

18 12 24 э618 З6 з6 з6

Page 465: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

466 rлавa 30. разгoн итoрмoжeние Windows Nт

лвсrnнr 3o'4 (пpaДoл{ениe)

r l r r l e ( i L= 2 )wh i l e ( l ){

i O | ( а = 1 i d < 1 0 0 d + + ) b - b + ( b 1 a ) i

)

#defrпe defNtlrг 300#def]пе аг9Nttrг ((а.9с > 1)?atо l(агqvt]]):de lNthr)

паi i ( r r r t аrgс сtrаг **ar!V)

{]пtsYsтLi.l] I|]Е sti

р.rnt f( сгeаtrng ld thге i is ' . ' d .qNthг):iоr (a = 0: а < a. lNt l rг d l1)

с.сat € тhгeo.(0, 0, (y0rd*)thr ' .а i . 0,0 &zzz)

f ' 1 р r j n I f ( 0 ( \ п ' )

s l е ep (0 ) i f = 2 :

r lr I e( l ){

G0Lsrst€fll.rmе(&5L)рrr i t f( * i02t] 102d:102i\ l st,!t]rrUг st ' ! l .1 inUt € , 5t,! l5 €сОnd)|s]с] €p(0)

l

)Пoд Wiпdows 2000 P|оtessioпаL v'(с пPи 100llo-|ol.aх вpelliя пDoгoпa oчeре]lllсостaвляет 10 сl а lloд WiI\dоws 2000 sсlvсrи тоIo60rlr'шс, BЬlгnлдЛ,IэTo' скa'(уя вailJ' оtlerп] y/lPyчaroщсl rl Pа6o,|irtЬ в тaкпх усЛoвlJях стalrовптся кPайнс Дllс.кoмфoPTlro- I7рuueм npuо1pеmеl tu е 6utее 6ыtlц юdейспвухщe,o npoцессapа 1lе

ускоряеm o6pо6amкg olepeЭa, ведь пoтoки rro.llpе)кllемУ исllo:lЬзуloт oтвeденflьIе I]I{ ква}1Tъl Це.JnlI{oм и хоTя yспевaют псрсРа60'rаTЬ нirм]roгo 6oЛьпreДaпньтх'к&кдъril lrз нпx, rra]r l1 PанЬшe' по]]yчаеT yправЛенше раэ в дeсять сcкyuд, llеpе.хoд IIa ДRyхпрoЦeссoPную мaшиlly IIовь] пlаeт отзьrвнивoсть сr'rстeltш лри6.,rизlr.].еJъl|о в 1'3 рaза (два IrpоцессoPа У]!'ellьIl]aют длинy oчеpeдr' в,цвa Pаза, но зaсчeT пеpехо/.iа нa APIC IlPoдo.!,{llLe-l]ьI]осTь ol1]]oro п{кaтaймеPа yвеЛIIчиваеrся' l 0 J U | 5 r \ l . , и - о l o 2 I i , 0 . l , , l ) , О , L I d l " ' . т л | | Л | ^ | 4 i , ! P | , e P д o P o , o ' о я ш | | йlr trirмпогo 6oлeе радrrкaлънъril спoсо6 pеtttetlия пpо6".lеl'IЬi' oдиrr щeЛчoк llыI]lrl

УвеЛшчиT 6ьlс'ГРoTy рeаI{Ци]1 сrlсте!1ьl в пятъ,a то и 6oлeе рaз. неuеРLIте? нутaк

щсJrкнитс llo paбoчelliy стoJy, чт116Ъr oкно наlrсIo тeстoвoгo прlIло)кепия пoте

рялo фoI{ус, B3Dlя]]и,1e пaтa6..l.30.2' гдe oтражсriьi вPеNIсl1l1ъIе зaмePьI' кoтopьleIf 1rе yдaJось пo'Цучить,

Page 466: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oбq7)(qerrие пoЛyч€НнЬх резyЛЬтатoв 467

та6лица 30.2. вpeмя 06раб0тки oчepeдИ из 100и вфoнoвоM рехимe на WindоWs

лотoков пpи Испoлнeнии

вр€мя 06Pа60тки пPи испoлнении вPeмя o6Pа6oтки в фoнoвоi' pежимe

00r14r4800r15r0200r15r1600:15:з000:15:4600r15r590о:16:11OOtt6t2700:16r4100:16;55

00i2з|1000:2з|1200r23r1400:2З:1600:2з:1800r23r20оa|2з|22aa|2з|24aa|2з.27aО23:29

tlТo tlрoи3oшJ]o? 1loToкlt ушЛtl r (!1rll' I1хxрt,Iopllтст]to11изl'lJ.Iся, a вrлrIllrпIа Itвап'Ta сoкPатrlJlaсьдo пltIниNlуNlа, и хoт' ltaк'ltaднь]с paсхoдЪ] rla п€PrкJ]oчeJJI'i € lФIгтeкстa вo3PослЛ| вРlэMя o6Pа6on{I1 oчcРсдl'l сoкРатI'iЛoсЬДо 2 с] с кoтopьIi!пr впoJlle

A,].eпepъ зa]rpoйтo всс ol(нir с llссохpa!Iеlllll)lNltl /to]ryмeIгraм!i' ко'ГoPьIе |lall)I{аJI!(o пoтерятЬ, 'l yI]сJ]l,lчьтc l|рll(JplITсT 'гесTовoгo пРrlЛол(€IIj'l,l хoTя 6ы Ilaoдtly стyпeIlь' Bисиi!!? A тoI псl1'ок[| тсстoвoгo пpl.lлo}IteIilt'l от6'фаIо1. rЦ)o-

цессoр}Ioe вDеMя у всех oсTаJIь l lъ lх пo]окoB (вкЛюl laя и l l ско1.oРЬ]с с l ' I с , гcм-] iь Ie) l п oI l ' I окa3ь lвa loтсЯ пeфy l l кп l lo ' l а '1ъI iЬI ' То eстЬ 4)y l Iк Io lo l l aлЬ| lьJ ] l |о Ра3I r 10 с ' чe|о ]LJя o6лA6o,гк l , l к l |ат lиa lуР l lo ] . ( ) l . | i l ь ] | I l l I l Io l .o в] jодa 6oJrс0 чсI l l l oдо .сTaTo.Jllo, з.16авl]o' llo I486с.,ULРO llPll эToIl nl)oдo.цжaсТ pa6o,l'агь бo"цсc I1,пlIмеx € е l l ( JPмaЛь ' 'о ,

oБсyждEHи Е пoлyчEHHЬlx PE3yлЬтAтoBPезультaтьI тестирoвaнI'я I486с лдPа' пoлyчснrrьIе Irа Nаnlиrlе aBтора' пPI{вe.teньI t'].Dке (тa6]r, 30'з з0.6), Itак вIIднo' этo ядPo rt}{еет мrlo'{ес'Гво препrlyществ пepед стандаpтнЬIl' ^СРI ядpoм,Ihl.ос из нlш Irспoльзовать ка'цьIiIдoJIжeн р€lxать сам, 1486С.'дpo lrо IloДДсPживaст AСPl Ir пoэтoмy не спс,со6lIo в пoлIrolli I!еPeyпPавЛять эI]ергoпптaниeil кollпьютеpaj одIrак{l o,Гpпцать еroL и Л ь ] | Ь ] е ' г o l ' ^ , l Ь ] , п l i ] л 4 а ( е , l j " с т 4 . ' Г ' ( ] | | n Л " , , с , l B | | , l е , 1 ь | , U у d . J , ' I l | | в ' l е , , л ] ' , ' l I l .вollите.]llrllосTl сисTемь]' и ]]!чеfo lolфиqесtro1.o в эToll Pазrонс нст, llс зсРx.те? испьIтaйтесгo саlx1, Дnя эToго в пpoцeссr yстaнlrвки (пеPеyстaнoвк]') oпе

рациoIlнo]i систe]!tьl /цo)кl1llтeсъ' кoгДa пa 5крaпе пoяBится сooбщe]lllе Press F6 ]fyou needto insiа||athird pагtу sсsl or RAID driver (нФ}i]t1llTе F6, ес'цI{ ваr' Ле06х()дll.Nlo зarpyзить sсSI иЛIr RAID дPaйвер стopонriеrо прол3вor:Iитeля),Il кNЛlтeF5 и BыбepЛтeиз сlтllскa иllelопIихся я/{еp stаndaгt Pс W]th с'step i486 (сTапдapT-ньIй кoмпьlотеp 1486 с'Геппинг.C)' Пoсле чегo пpоr.lо-lr)к]fle yстalloвl.y в ()6ьlч.

Page 467: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

468 глaвa 30. раз.oн итоpмФкениe W]ndоws Nт

та6лица з0.3. скoросгь пеpе@юч€Hия кoнтекста пoтокoв н. Windows 2000 PюfessiоnаLс отдачей квaнтов времеHи (пoтоки исnoльзy|от l]ичтoхнУю чабЬотвeдeннoгo и,,l прoцeссopного вPeмени)

кoличёствo пoтoкoв кoличeсгвo пеPеuючeний кoнreкстoв за 10 сI486с.ядPo

+50+З00

7 141 1612 464 962

8 0о2 7344 a2в 72з

та6лица зo.4. скoросlЬ пepeклюЧениЯ ковтeкФа Прoцессoв na Wiпdows 2000 Pfofessiona|с отдaчей квантoв времeни (пoтoки исnoлЬзуloт ничтохнyю часгЬотвeденнoгo им пpoцeссорнoго вPемe|rи)

кoличeствo пepемючeний aoнтrксгoв за 10 с

+50+з00

z 92З 7I91 945 529

9 6з8 65r5 0З8 8з7

тa6лицa 30'4. скoрoсrЬ пeрeключенИя кo|rтекста пoтoков на W ndows 2000 Professionа|бeз oтдaчи квантoв вpемe|rи (пoтoки исnолЬзyют oтведrнноеим пpoцeссoptroe вpемя целикoм)

кoличeствo лoтoкoв кoличeФвo пeDeключений кoнтекстoв за 10 с

+50+з00

з03з2086

64814166

та6лица з0.5' время oбрабoтки оЧeрeди на W]ndоWs 2000 Profеss]onаi 6eз oтдачи кваHтoвврeмeни (пoтo(и исnоЛЬзyют oтвeдeннoе и]Ч nроцессopнoе вpeмя цeликoм)

кoличесвo пoтoкoв вpeия o6pа6oтки oчepeдиt с

1486с.ядpo+5о+з00

I15

},,'ttz'b+/ t:э !

Page 468: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

гЛABA 31

WINз2 3ABoЕBЬIBAЕт UNIX, иЛипoPтили, пoPтили и спoPтили

,,3аlа'ш, pсutае'lл'tе с no-lx)ul,|,lo na'\!nьanеPа, xе]xx'|о с0.мl|Л xa пua]nч1оj| u nolюllсdо loпu].

Пoл грэм

в пoсЛеднсc вPeмя мIloго roвoPяTо )lel)спосс 1]Nlх'lЦx)l'рамru lla Windows,.гo.lь-кo тaк, и lппсarс но наo6oрoт' нo всдЬ сylцеoвуeт 60Лъ!1()с кo"ruчсс1.во Wiпdows.

пРoIрaNIм' a!Ii]-пoгoв IФтоPЬIхпадpуГIlх Il"!аTq)()рri1iх пeт(преЛцс вссr.o э,l,() вanIп

сo6ствcнньlе прогpalrмьr)- Стопт ли пх пeрснoси'l'l, lla UNIХ' и ссли Дa, 10 кaк?

A6сoлloтнo псpeяoсимoгo пpoгpaпtlпtoro o6сшrсчс}lrlя Ilе суlllестnуeт, r.аlr IIс су.

ществyет a6соnюТil(]гo пу".rя' Пoня1]le <.пePеIroсl1NlосTu) сце lle о3]iачаcт' чTo

lloрTирoвaниc свo/{и,гся к пPoсгoii ]|eРекollпrпЯцrlrt, BсеrlLa Tре6уIoтся дoll()rl.tIllTелъ]lьIеуси'llиЯ по его адапTaцлrl. иtroгЛа тPyдoзaТpal.ьl 1laсToльI{o значrlTе.]l ь-

rlьI, чTo прoщс xсPеписaть пPoгРаNlIlу с nУЛя, llell гоняТЬ сс ме]кДi, плaтфoPма-ми, сисТeмнo.oРI.rснтиI]onанньic паксTLl (FAR' soft.iсс) псPсtloсllTь вoo6щс6ессNtьlсЛeIlпo''.

B лю6oм сrryuае вьr долхньr пoлпoстьlо paзo6pатьс' в исхoДIIьlх тertстах' ]{oтo-

Pьlе llерerloсtrтe' Пp Дol!шниpующсIl стrUIе кoД poвания !.Iнтсp(Deiiс пpограllмьl ItepeltеlIIaн с (вычrlсЛитeльrroй' чaстью (спаси6o визуaлЬныr\{и средаlt paз-

ра60ткиI)' и pаздr'qиTЬ их llе пpoще чеIl сиaмскrп 6лизнецoв (но p;вдeлять всc

're пPrЦеTсЯ' пoтoму чтo иllтepфeйс в UNlХ oчerlь сиЛьнo дPyl.oii), ти]тичяыйкод нaшnrrговaIr бoльll]иIт I(oл].lчествoNI сисГeIJrlо зависиrjъп фуlll{цпii вмсс-

то стaIЦaртньIх 6и6JrиoтечньIx функцl1ii пpeо6ладaют въrзoвьl AРl п N1FC, Ак.

Page 469: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

470 rлава з1' W,nз2 зёвoевываq.\iХ, иЛи пoртyли, noр.или l сroF'тилi

тивIIo исIiользyloTся aсссм6леprтьIe встаslrrr и пoвсeместtlo _ умo,IlчатlиЯ кoM-пиЛятopa, Этo в БaгДадe сhar пo yмor'rчаниIo liпsi8nеd, нo в дpyгиx IсoNlпиJrятo.Paх oн вeдeт се6я сoвсeм }ie тa(! прo <уМoлчaннyю> кpaтнoсть вьIрaвниваrtиястpyктyр я и вoвсe мoЛчy' xуЖе этoгo тo.]rькo ]rесTaнДаpтIrьIе paсшиpeния I(oм.пIrлятopа I,l специфичeскиe oсoбенносTи eIo пoвeдeния, БoльUlиtlcтвo прoгpаN'м'сoздaнньIxсоврeмеIIItЬlми <пPoгРa]!1мистaми'' нe кoмnиЛирyloтся Мs Vсl есЛиI'аписaнЬI ЕaBCC и' сooтветствеIlнo' наo6opoт' flo пеpенoса пa UNlХ им тaк xeд;!цeкo' как их aвтopаМ дo зва}rия <пpolPамilIистa> (нс o6язатeльнo даrке <пo.чeTнolo пporРаMмистa,l мoжIro пPoстo (ста)керa'' пyтaющeгo язы]r сo срeдoйРaзрa6oтки).C.rитaeтся, vтo пepeнoс со]сРaIцaеT издсРЯки пa paзвитIre и coгtpoвo'rДetlиe пpo.cктa, иveя l lеJав,сиv"|ёвePсии д.пя Wiп. lowsи lJN|Х.вш вшну,клerlu внoсиrьиспPaвлеlIия и гolrятъ 6aгoв в oбeЙх пРог!аммaх oдfiовРc$lсннo, ПopTa6eJrьньrйкoд этих пeДoс:t aткoв лиrlleн' Як06Ьl, Cкa)киTс| lсoгда.Ilи6yДь въi пpо6oваЛи пи.сaть пРoгpаI{мy' кoмrтилпРусмyю бoлeе чe11 oдним т(oмпиJIятopoм? МатeриjrисЬгlpиэтoм? и ]IpaвильIiolя 6ы ToжellIатeриЛcя' o.Рaпичсliияl ]lа"1aгаeмЬlс ,тepe.нoсIlмьlм ltо]loм' JIишaюT ]iaс мнoгих (вкyсlloстcй} язьп(а I{ знaЧитeЛьllo yвcли.чивa Io т , l ) ) l o с 'Мкoс | Ь р l з р : ' 6 o т ки ' Допу (Tим , в ь l

" с t I oль зye ] " uа6лoн l , I

(Lcmplates) u lla Ms Vс всe pa6oтаeтl llo пPи Ilсpeхoде lIа дpyгojt т(oп{IlI,IJrятoPпpoфамма рaзвыlивaeтся к чeРтy' A нeкoтopыe кoмпиляToры нe иниЦиыlизи.Pyют cтaтиqескиe экзcмпляpЬl кJIaссa, lIy нe иПициirпизиpyroT _ и всe'гут| зa.будЬтe o стaпдартах. Itoмпи'ilя-l.oPъ] всe paвпo их нe придeРЯсивaloтся' чeм )Reтoгдa рукoвoдствoвaтьсЯ? A ничe$Il этo y)к мI( пoвФeT/нe пoвeзст'при lo)кдoм внeсelтии измeнeпий в прoгрaмму пPolonяйтe ee чePеэ всe целeвьIeI(oмпиJrятoрьт' кoд, спсцифичIrьIii д"1r дa]{нoй плaтфоРмът' 3a6oтJtиso oкpyкaйтe*lfdеf иЛи вьп{oсите в oтдeлЬньтй фaй''l| ну ит'д. B кoнevпoм сvетe вы пoлyvитевсе те х{r двa }leзaвисllмъIх пpoeктa' IIo тeснo пeрсII"r]еTeннЬтe дpyгс дРyгollt, пPи.чeм внесеI{иe измeнel!иЙ в oдиIl из llиx даrт нeпpeдскaзyeмь!й эффект в дрyгoпl'}Ieт.нeт' нe пoдyмaйTel Я вoзсе нe прoтl,tвник переtloсимoгo lсoдa' прoстo нe лo.lIимаIo тех| Дця кoгo пepснoсиll1ocTь _ Цсль| a нe сpeдсTвo. нпктo нe спорит' чтoтalФe пРoеltтьтl Iсaк Apaсhе иЛIr Gcс' дoлжtlы изнаrlа"tтьнo рaзpa6aтьIвaться кaIспeprнoсимьIе (пpoцeнтсистeмнoIo.нeзaвисимoгo кoда в них oчeньвелик),io вoтмeл(yю утвapь типa пoчToвoгo кЛиентa лyчшe затaчивaть пoд иtlllивидyaЛьJ{УюIIлaтфoрму| a пPи пeрeхoдe нa UNIх пeрeписЬtвaть зaнoвo.

Page 470: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

Фoи а6сrDагиDoвания' или 6а! знакомЬtе всeлица] 47L

I

слoи AБстPAгиPoBAния,или БA! 3HAкoMЬ1E BсE лицA!

ЕсЛи нy{]ro 6ь]стрo п€Рrнссти 11poграN{N{y' вoсllользyйтесь WINЕ lIЛи Willows'это 6eсплаTнo paспPoстРaняrпrьlс миТаторъI Wiпdorvs, o6opa,rивaюшltе UN lХ.

фyпItции тoлстьlN! сЛoеN! пePеxoднol.о 1(oда' peaЛпзующеro wiDЗ2 APl, и рабoTaющ'1еIrаWindows 9X/NIT/2000/XP' Lirruх,lrтce tssD' sо]аris (а Wi]]owsсщеи llа

QNХ _ ес,l.ь Taкoli rr,roн UN1х' упРавЛяroщиli истpсfttTeJ]яMrl' aТoп{IrьIпlи pсalt-

тopaмп и 1lрoчими missioп.сrit]са!спстепlaruиl rrстаTlr toвoря' 6eсIiлатньrй п с.пo6oд"о ум' 'щi , ," tшt iся нJ o.rнUi iJ|| . , - (р)

o6рaтl'rте вншI'tаlIrrеlн€ эмyЛя,l.oрnI, a ппleннo иппrтатopьr (WINЕ ипreннo тaки PасшифрoBьiвaется: < wnе I5 Nо|: Еnulаtоr, - эmo t]а.l| не э'i|цляmop), т1011-тиРус l !1ая j|рогРаl1ма xс l lo .Цl lяeтся ] la скrIвoNlD l lPoцrсф])e ' пPактичсс '{и 'Jстеря' в сt(oРос'гп, Bo всЯкo]\1 с.llучarl PеliJlаlla I0rоPl|'Г Il]vrllllo тaк, A чтo pс-

a.irьнaЯ ,(rtз11Ь? IlРп псеi:i схo)ксС1'I UNIх и Wiкlows NT (IIх Я,lцlа llaсJrодylo.l.с16Iцпй па6oP кr- l lL l lеr l I lп i{) oни вo ̂ j lюгоiv PаЗлlrчньI, ts UNIХ ссть зa l tечатсль.

Ilaя фyIlкцl'я fork, рiL(!lerJляюIllая Ilpoцссс Ilапопojtаi!I. B NТ 0o r|е'Г. сгeаte.

Proсess/сrеateтhreаd _ эTo фyфЛo, 14 вo,l.tloч0,!у' lIаItлa,цпьre Расхoды Ila р^с.цс l l J lс l I l ' lе пРоцоссa loгk,o l I l r IчTo] l( l ] ' l ' чс l 'o l ieЛьзя спa3a,] .I) o 0оi]] i iLI l l ' l l lI IDoцc(сa/Лoтol{а с l lуJ lя ' кс,гaтп говoря' с пoТoкaмr l в L iпt lх cuЛolI l l lo j i нa.

nряг (вI lу 'ГPс l l l l l ' с пoТoкl , t l IPс/ lс ' IaвJ lя( ' l ' ( t )бoi i тс ' (c l1р0цсссЬI l ] lo l . ( ' ' lь l (o

с <.I'IзвDaulel'иями'). Boсг,l!a' кoгlLа это l.oлtnro воапlo]i('Io, зaNlcllяi]l'Гc Сreate'

тhreаd !rа fork (IlрoI{ессЬl' B o].Лl,lЧllс ()1. llo'l'oкoв| l]сlloЛЛяIoTся I] Рi]iJ]Illtll!l)IхадpeсI lЬ lх l IРoстРAlIс 'Гвaх rr мoгуr.o6ьlсrrIIвaться /LаI l I lЬII tи тoJ lько tJсре3 IРс l

пalIPI'lмеР llPoeцrtРуcldьIс в flarvЯть фaji''IЬI)' l{ тoму )I(c срсдс'Iвa сиlIхРон,iз.r.

l{ии пoTокo!] в Windorvs л UNIХ РaзJI lчuьI| A в LINUх сut lхрol l l ]3aция I lс

I l oддс l ) ' ( | | d : ( | ся пnв .n l | р . : l , 1 | | ' v l , l . J в | с |U | , ' l \ ' I l l I ' 6 - l l o , nк i I ' , , B . e nn Л l 1 Jn ,

oто6pаnrсrlис Win32 API па UNIх.фуlrкц]lи псo]rпoзIlaчflъIм, и вь16rrр пDeдпочTитeЛЬlIoIo сLIсТсNll1olo в ЬIЗoвa в ка,]t/1oNI кol i кpс'Гнoii] сJIytlae ДoJl)I(сп oIlPс/tсJlяTь.

ся индивL!дуaлЬнo, ЧeЛoвекoм, I,I]!1llтaтoр нa это нс сlloсо6etl' fi падe]lия пPоl13-

вoдиTeЛьIloстп не из6e'(aтъ (дpyloе деJ.lo| чтo при сoвРeмеЛIlъIх aппаPaтIIьlх

Nloщнoстях п:r прorввo]цlтeльнoсть jlto) lo пo].Лaсть)'

l{oнстРyктиsнo 6oJIьшиllствo пNIl1 aтoрoв сoстoят r1з Двух oсlIoвньIх кolrl1oIIеll-

тoвi 6инaРнolo интepфeйсa (Binaгу Intе[fасе) IJ 6иблиoтeки РазPa6oтчl lxa( LiЬraгy). некoтоPые иN{итатoРы ( нaпpиlliеpI Willоws) вкJl ючaют eщr и yРoвеl l ьa6с'гpaгиpoвапия oт плa1фopмьr (Piа|forn.aЬstгaсtion Laуeг), qTo yпPоIдаcт llхпeреIloс 11а llРyIие систеNlьI, ]]o этo у)кe ДетaЛи Pеа-r1и3ации'

БиEaPнъIй rп]Tерфrйс вK.т]oчaет в с€6я winз2-загрузвик, <псPевapпвaющIii; PЕ.

4)aiiЛьI и с мaксиN{i]-цьпoй точностЬIo вoссoздающlrЙ пРивьг]fioe д,'lя нItх oкРyжениe' }leобхoдимoстьts neрекоlшIrлЯцrш гIри этoNl oтпадаеTl oд]lакo совNIссти}loсть

сlстаеTся ]ЕyPoвне сЛа6oro под06]шЛевoii pyки. Pralrь]1o у]raeTся запустить ''r}iDIъ

нe6ольшoe rсoлl,lчествo oфисriьIх пРилo)rrcниii типа offiсе, АсгоЬаi' Phогoshoр и т, д,С и с | . ч н , , r у г y - , | | | , . h o р , Ч . Р o o | , . J

" п ] . n , P , ' n o ] | J N | n | | , Ь ' р | l х o L | | ,

6и6-1иоTекa заrojroвoчньle фaйльl пЛюс 1jЬ-фаli.fl, Адаl]T]1poвав ]lрило)lrcние' Nl ьJ

Page 471: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

472 rлава з1. WлЗ2 зёвoевЬ|вае' UryIх, ц n гop aлv, 1oЙvлl ислop|V"4

illo)ксNl кoNiпиJ1I]Poвa,lь eго кaк в ЕLF (тог/'Iа Iieo6хoдиN1осTь иIIeтъ а пIапlиIIe vс'] . н o q J l e Ь л o | Й . r I l и ' а | o г o I ] | а J ' e I \ . | а { / в P L , к . . о | а :в (Раiiнеil случaс i\foж}lo вoспoJtьзoвaTься iIоJIнoцепным э]t{у-Iятоpoi\l РсVNIWаге илri Wiп4l-inj oдIlако IloлeзIloсTь этotю рeшeния сoпIнитeJ'Iьнa, деЛода)кe но в аппаpатllьlх тре60ваниях (я впoлнс yспеr]Iно Ioняю VМWaгe нaP IlI 733)' a в-].д06с'Гвс исiтоЛшoвaппя (тoчIrес, в еГo oтсуTсIвии)' достаточнoсказаTь! чтo o6мснивa].ъся даIJl] ьllllи с эI{yляTopo]tf пPиlI €тся Чсpез виpтyа-tъltyюлoltаlьIjylо сcтьl гoIIя,l lIх в 06с стoРoнЬr в xвoст и l] гpиву,

yстAвшим oт пAсЬянсA гIoсвящAEтсядля Пeрeнoса Игp идрyГИх графических пpиЛoltений луЧшe всего подxoдитWinex' в на.ooяцеeвpемя пepeи[leнoванвыЙ всеdе9а/ *кoммеpчeская версия имитатоpa WlNЕoткoмпании таnsфming/ opиeятиpoваннaЯ Na Dirесй/ DirrсtзD oреn cL и прoЧиe теiн;.o.n/ э|oгo vрoв]q, PaбO.ае' в L,1.\, Мaс, P'd!srё!iо1 2, \воr и \;tt Gег, хoтy,е, rоква{а-Ь (Wо 0 гoleмl.тo лoo сroвo на l о<oка-ь ' в l 1J^?нет лpoблeм|А еL]rе мo){но (лoDool4атЬ' иЛи пoгolrЯтьв лeеa.oьspеeс' спиЬi пой;живаeмыx игр oЧeнь вeликl и сЧет ид$ Ha тЬФчи !аимeнoваний,

пЕPЕtloс пPилo)|GHиЙ, сoздлнньlxB MIсRosoFт vIsuAL sтUDIo

I ( O | ' ] l ' l , | ^ М , ' i n s n | , ' l т : r ' ' : r v ' . л , t к n , , l l , i i ( I l l , , , ' | | v J , | | ] ' с х l | , , | | ] J L ' . | . ' , 1 | ' , w i ) .' | ' t \\ .ч zU{|(|) l t l ' , l \ ' , , | || . , : ! ,Ь\ ,( . I i | , ' ' , I l , l | | , | i i ' | | ,aЛ v l I V isuаl Маi l rWiп, r r ' ' " rз ' , r . | r . ' rп ' r tlпlсn'Гь ко/l в Мiсl'osоIL Visu.l1 studio lI Tу,l, ,кc кl)]\!lIrl'пrlPoвaTЬ сl.o пoд DазIlьlсплатtpoрмьl (Wiпt lorvs ' L]Nl]х ' lтP.UP' AхI ' so laг is) , l rprr . lепr кo-, lи.Iсст io пrvrЛeр}к]lваrNIьIх лIllтфOpм Л"'Iаuol'cl)rю рaс'roT (pllс, 31'1)'

тач€дeвелоп€pа(комлЬютeр разpабoтrика)

:i"dlt;:jJi3iт:," "pилоxений пoд visuа] Wintчain, интeгpирoваннЬй

Page 472: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

перенос прилo)кениЙ, созданных в l.4iсrosoft Visuа| studio 47з

Pи.. з1.2. иеPаpхия 0ассов Windows

Пaкeт сoсToиT lt3 пескoЛЬкпх чaсTeii _ эTo ll и]lспе]сoр rroдa, ]toзвonяющllii o6-l l l р v } к | | | L . | | . , n \ l н o . . J в | | . и М Ь | . ) U а г 1 t l l . r у . к а й г p о - р з v v t t с - г l t t t p " ш l t с t t l r t

n l l 6уЛе I I l х и .п l j . |1ЛЯтЬ. ) , и l pc ' l l jn | |P .с . l , ' пnЛ|o I JB 1ив i l |Uшl| | i ] | l х ' l I lЬ | i t | i^ Lк пoсЛeдyroщей тpаllсЛяЦии GсC (IrЛп.1кJ5ьlN1ДPугlrм UNlХ{roNllllUl,1ToPoll)'и кoнeчно )l(е (16пшрIrая 6иблпoтека фупкциri' рeалIrзуIoщaя: a) W]ndows-при.Nlитивьl (SЕн, DLL, nPoцсссьl/пoТoки' сPсlrства их синхрoяизаuпи, peсстр,6у'

фсP о6п{снa и пoДдсpжку нaциoнil|Iьнrnх юrnкoв); 6) грaфичесшlli п пo".lьзoвa.тeлъск1п:i lrнтePфeйс (GDI32' UsЕR32);в) сoМ мoдеЛь (Aсtivех' oLЕ' МIDL'DсoМ)j I) 6lr6лuoTeкy вpeпlеllи ис]loлДeпия (ALT' МГC, C Ruпtiтnе liЬтатy),Пoi l !ь lй t lеpечel lь no]Церя( l !вaeмьIх 4J l Iч ] la WWW'mаinsoft .сom/so|ut ions/vmws_wp.html.

Page 473: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

474 rлaвa з1. W]n32 завoeвываeт UNlх, или пopтили, пopт|4лV' ислopтИли

Pис. з1.3. иeDаDxия Kпассов WхWindows

ЭTо кol!]v'epческиil прoдy1с' пPиqем oчснъ с]rльrro кo]\!мeРчeсIrи]i (.]rицснзияira оДнoгo Рaзрa6oтчиlс?r сTorIr свЬIшlr двyх тьIсяч дoЛлapoв); nPавjrа] дoступirа30 дневн:|я пoЛпoфупкциoнiulЬнiu] дcilto-вepспяl тaI(чтo,,, pешaflTе сaми:имеTь

МаiпWin, кotlечнo' мoп{ная rпryкa| Iro иrrorЦaTpc6yeтся сoфTипa пoмeльче, oс.нoвной камeнь пPеткнoвеIllJя этo кolIeqнoжс МгС, в М]сгosoft visua] studioвсe визyа-l6нЬ1о сPсдства Pазра6oTки пoстрoellьI ]tмeнно нa нем, и xo'Гя исхoll-ньrе TeксTЬI МFс дoстУпнш' llсPснссти elo нa UNIХ пaмнoro слoxнеe, .rеlr сoз-д, l Гo с | lvJ lя, сoхРa. lив иrpаPI,/ о | , а.сoв и lpо | n l , rпы фунlц||" , ,vхwiпdows этo6eсплатпая6и6лиoтrкa,пРaктI'Iчeски пoлtloс1ьюсonмrсTи.маяс N'IFси рa6oТaющaя rta Bсeх UNIх.плaтфopмаt' IдeесTь GTк+' Моtifили

Page 474: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

сoздаHныx в l4iсФsоft V]sUа! studio 475

МEoжeстBo пo,tезных6I'6ЛиoTек мo]t(llo пaйтlr нa WWW.sourсeioгge'net, }rа11prti!1еp

6 u 6 1 и o 1 ( . , у л | ч р . 6 0 1 L r . i l | | ' p " i ] а N l ' l | ' ' J | , , l 1 | | J | | р o в q I t ' ^ е е e . ' l o ! , o ' L , , U Б l IзoнаI) _ l]bini.|ib' всс oнlr бесплатны' paслрoстраняютсяв ltсхoдtlьIхТеItсТах ll ЛеI

кo пoдклIочаIoTся к лю6olty пpoектy, ]:lикoгДa ]rе 6рoсaiiTeсь писaть нl1какoiт

кoД' пPсliваРителЪlro Ес noискав в ссти, Сi(oрe€ всегot oн нaписaн дo вас, LаIt

зaчем )кe изо6Рeтать вeЛoсипeДl IФгдa есТь loToвъ1r чеpTежи7

eтo 6есшлaтньтii клoн Lеsst]l ЕдинсTвснtIoе oтJичt]е зal{Jll0чаеTся в 'гol{ l чтo !Nlе-сто l1peфикса <С' здесь испojiьзуеТс9 <1fх>, в pеэy'llь,l.аTe чelo сl'/nd пPrЕpацaе,г-сЯ вWxwnd, llекoToРьle к-.laссЬI еrце rre PсaлизoваIтьj (IraпPI{мср' o1сутствyeтсЕditvieн), и кorда oни l]oявятся 11сизвесTпo (рис- З1,2, 31,З)' эTо' кoнечIto'нrnDия,г]]о' ]]o и 1l € смеDTeЛЬпо. N1о}к]lo rr0e.1Йк ir6oйтись 6сз tlеДoстаloп{lтх Itлас.сoв, эаi1elIив сЕdi tVIe}r нa Wхтеxtсtгl; onсpaцию <пеpe6ивки> llpeфиксoв зaтнaтьв IlPепг]oцессoP иЛи 11oвесIl'гъ нa макрoс Фис. З1,4 u З1,5), Cамое главнoc _

wхWinсlows пpеrсpаснo рaбoтaeт нa Windows' a зrrачи.l.| 0/1и11 l1poеI(т rrе Pасnа.

l"la сai'iте IBМ ес1.ь з:tмeчaтс.lll,llaя статья пo llсPе]toсy МЕC.пpи,.lorкеttлii пa

wхWirn]оws, a нa саiiте самoil wхW]I)do\\,s €lце нсrvlнot.o llаTеРliалoв на эту 1.еIlу'

судя Il() бalrн€PaпI, ttpoекTyпокPoв!тсnьстBy]oт вссьпlа tsJ]llя,lелl,lIь]е кoпIпaнии

vMWаrе и неlРWaгс' llo')тollly за сro дtlrlы lеiiiпylo сyд!6y lloжll() rre вoлнoBaTЬся,

Pис. з1.4' oригиHальноe N4Fс.лрилoжениe

Page 475: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

476 rлава з1. Win]2 зaво€вываeт UNiЬ или пoртиЛи, пopтили и спopтили

Pис. з1.5..' то )ке приЛo}<rни€' пoртированное Ha UNIХ с пol'!оLцЬю WхW пdоws

сooтBEтстBиЕ oсHoвHЬlx кJtAссoBтaблицa з1'1. соoтветс|вие основнЬх классOв мeх{дv l.4Fс и WхW пdows

Е d t v e W

lчDI сhiId fгаmе

сЕditv eW

сМDlсhidWndwхDосмDIРаrcntFrаmе

DELPHI + BUILDER ++ LINUX = KYLIX

БaгдaД ве.Цимя фпрмa! Это oна сoздала TrrrЬoPasсal r.i TuгЬo DсЬu88ег ('Гочпee' нс сoзда-.тa' a }'к,.,Тo{rстЬ кyпri]ra), этo oliа сoз/.iшa.ГuгЬo Vision ll oгI.pеДелиЛa 06лик пI'тегpиpoваttнoil сpeдьr paзpабoт.кIr, ск t{y чссT1ro. Я пe сЧитаю Bог]and с++ xoРошl1м 1{oI!IпиляTopo-!1 (он кaк тo страlrнo тpактyеT

Page 476: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

DЕLPHI + BUlLDЕR + +LlNt]x = lсLIХ 477

ANsI.стaнДaPт' дa Ir oптrlN{изиpуeт ]]e oчerlь)' Би"r]дep я 06х0rку стoРoнoй, a o1..цeЛьфи iцelш rrатуPа.Iъrrо тol1lнит' [Io этo _ Личныe впечaтлerrия' Мori nю6и.мьIй Мs Vс нa UNIх'е oкaзьIвается в гnу6oкоli дьIPе (пеPeнoс тpе6yет 60,rь.ших Денe)кllьIx влo)к€нr1й и тeЛoдвDкеflиri), a пa Бaгдaде ' прoстo пеpеI(oмпп.Лиpуeтль rrа Kyliх'e и всr!

К у 1 i х ( " t , I I л и . r ( t p e . ' К ; L . х ) ' L Г " в h e | Г с ч с L I , r t i i л Л l l ] l c н ч й , n е } t e r , р - i l | , I l l I r ( , t , ' , . o .

сyд l{ля питья виIlа: лJ-IoскaJI чaша на lto:lставке с Двylllя гoРIlзoнта.пьflьlillи Pучка.N'и> . вьIп]lска изэIlцlп{лoпeдпчeсI{огo слoвaPя) _ эTo Dе]phi lI Builderд"Iя Liпuх,

распPoстРaняю1цпriся пo JrrтпenзUп GPL(тo€сть нах&llяву) и вкЛIoчaюпIпIYI в сe-

6я иптегрирoваннуlo срely рaзра6отки (экpaннЬlй рellактоp' пllтeрaктI{вrrЪ]ri oт.

J.]alчllк''' fl)-l в o6щепIt ктo lte лoня.n' тoт в БarДадс нe бЬlвa"l) 0о всeNIи r]eo6хoдIF

lrьrмл 6п6лrтoтeItalrп I.r сЛoямrt а6с'ryarllРoвaнIrя на6oP,Ly (Pис' 3] '6), ПРи услoвIrпчTo пРoграi\{rla нr t1спoJlьзуeT пРяlfьlх вЪlзoвoв win32 API' nсpL'Ilос ]lе прeдстau.ляeт lппraкoli пpo6лeпrы (ll^ сlпloм деle всо нaмttoгo с'1oжl1сс' и ес"llи этo нe чUстo

BьIt]1rсл]rтeЛьн.lJl з.! lnча 'гппа 6vхг:штерrIrr' 6сз IIP'мЬlх вl,lзoBов еij ]пfiaк пе 06011.

тttсь' достa'гoчнo 3irхoTeTЬ пPoчптaтьсeктoP с сD.RoМ.ди(кa),

Pис' з1.6. ку|iх в pазгар pа6oчегo дNЯ' для рaзнooбpазия _ на китайсKоM (япoна мaтЬl)

A вoт чтo дсi iсТвителъно мсня вoз6уж/]аeT, тa( этo Fгсс Раsсal (oп )кеFPк Pаsса]) _ 6есплaтньrй крoсс.l aTфоРNlertньIй кoмпиJiЯто! I1ас(J.nя (с I.lсхoднIrкаNIи!)' пoддeр)кивающIrii lntс]х86' N4Otоrоlа 680-\0' Po\\сrРС l1 patютaю]ций пPактичесtot пaлю6oй oпсpацuoн}toй плaTфoРмe: Linrrх' ГгсеBsD' NetBsD'

Page 477: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава з1. Winз2 завoевьвает UNl& или пoртилиl

МaсoSХ/Daгwin, Маcos сlassiс, Dos' Win32, os/2, Beos, Solaгis, QNХи Amiga. синтaксичecки и сeмaнтически FI€e Pasсаl пoлнoстью сoвмесiимс TP 7.0 и пpакTичecки пoлвoстъю _ с Delphi вeрсий 2 и 3 (pис. 31,7). в дaль-нeЙlпeм IUIaпиpyeтся пoд/Iep]кка fleрeкpьrтия фyнIщий и oпеpaтopoв. BъI eщeнe6ьeтесьв оpгaзмe?Kуliхи pядoм liе валялся. на плaтqopмJlinux oн кopoлъ'a зa еe прeдeлами Iсo?nдинствeпнoe' vего Eeдoстaeт Fтее Pascal, _ тaIс эTo нopмa,Iънoгo IDЕ' хoтя. нaмoй мdrцЬх.ьJй взгляд, тoт |DЕ. кoтopь|й естЬ. гopаJдo t|oPMалЬIlеe Мs Vси Delphi вмeсте взятьIх' oдяослoвo _ Iсoнсoльl пpи 6люкай leм рассмoтрeниивыя( ня€lтся Дpyгая заl\lечaтeлЬная вeць' FГеe Pаsсalне сoвсeм кoмпилятo;. тoч.нee' LoвсeA{ нe l(otr1пилятopl этo - тpaнслягop Пaскaля s си, Фopмэ.пьiro егoмo)кIlo считaть кoмllилятoPoм пeрeднeгo плaна (Fгont*Еnd сomPilel)' сoстьгкoвaпfloгo с Gсс' oтсюдa и приЛичнoe кaчеoTвo ollтимизации' и l(Doсс.плaт-фooмеlrнoстъ'

Pис. з1.7. интeгриpoванная сpeда pазpа6oтки Flеe Pаsса|; мoй дoм, мoя нopа| <нopа',я сy€зaл, а не (дь|ра'l ylюю этиx GUI,шникos, 6лин

Pyчнoй пEPEнoс, у|лу| oДv|H }lA oдиHсAм с сoБoк)

Uмeльчак:lм, oтвФкизIпимся I{a сaмoстoЯтелъIlый пepеIroс Wiпdows.пPlrnф(eпий'нe 060йтисъ 6eз тa6Лиц сooTветствrй АPI.фyrкций систeмrrым выйвам, кoтo.

Page 478: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

рvчнoй переHoq или oдиrr на oдин сам ссoбoЮ 479

pъIe пpивoдяTсяда-nеe (тa6л, з1.2_зl'4). Paзyм€ется! эТo нe всe фy]](ции' а тoлькoсамьIe пoпyляp}lьIе из Ilих (пoлныl.t списoк зaнял 6ы riес(oлько yвесистrnx1oмoв'

для тpанспoртиpoвrrи кoтoРьlх пPишЛoсь 6ьl o6зaвестIrсь тРузoвl1lto]!l),

та6лriцa 31.2. Функции длЯ раб0ты сnpoцeffaми

winз2

EхltProсеss()

кi тimersetЕnvirоnmeпtvаriаЬleGetЕпvironmеntvarаb e

iork()/ехесv()КiILеxц)аl9vt]

аarm(0)

та6лица зl..з. Фyнкции для pабoть с пoтoками

W.nз2

Gеtсurrentтh€adIdтеrп]inаteТhrcаd((HANDLЕ *)threadld, 0);WаitFоlsing|еobjeсt ();-endthrcаd();5|еeр (50)

s|eерЕх (0l0)

pthr€аd.аttr-init Pthreаd-аtil-setstасksizе

рthreаd_саiсe (threadId);

рthrеаdjoin();pthlеаd-eхit(0);struсt t]mеspeс t meout, гemаiпs; timеout'w-sес = 0;timeout.tv_nseс = 500000000j /* 50 mi iseсоnds */папоslеeр(&timеoUt, &rепraIns);

тa6лица 31.4. ФVнкции для pa6оты сфайлaми, проeцирyемьми в пaмятЬ

Winз2сrеatег]IеМаPin9 opеnFi elчaрpin9

UnmapviеWof Fi|е(tоken > oсat]on);с|оseHаnd|€(tоken.>hЕi|еМаpping);

l.4mаp shmget

Мmаp shmаtmuпrnар(tоkeл-> осationl token.>пsi2e);с osе(token.>fl Fi|еDеs) j remove(tоkеn->pFi eNаnre);frеe(tokеn'>рЕileNаmе);

перeEoс Windows.приЛo]кerrий нa UNlх нatrllior.o пропle' чe}13'Гo ка)кется пo'начa?|у. к вашl|м усл)г ' м n6UиPнЬ| i i , l .1P)У ' н| i lpyи и oг| ,n\ l ||^д ко,1| 'чP.|во6и6лиотек (6oльrпей uaстьIo 6eспЛатнЬiх)' сoсpeдoтoчьтссь нa прoграIII'l]оNlкoде и зa6yдьте o пуcтякaх пусть иlш зaнимастсЯ j!Еt]Iинa (см, эпигpaф)' но

Page 479: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

480 глава з1. Win32 завoeвыва€гГ UNI& или пopгили, пopтили и спoElгили

ire oтклaдьIвайтe этo делo в дoлrий ящик и пPeкpатите' нaкoнeцt игвopиpoвaTъUNtx-п,1aтфopмy. Ее лoпyляpllостЬ _ свеprдившийся фaкт' Tiк затev i"рятьpьIнot? Teм 6oлеe чTo кoнIсyРиpoвaть здeсЬ пoка нe с кeм. B UNIX дo сиiпooнег !]lloжeства пpивЬlчных Windows.пpилoжeний и утилит 1систем paспoзна.вaния тeкстa' шeстЕaдцатеPичвых редaктoPoв и т' д.), ттoэтoмy дФке плoхoнъ.кая пpoтpапdмa пpoглaтыaаeтся пy6Ликoй с энтyзиаэмoм' BьI всe eще ищетe, зoilтo вoнtить когти?

интEPEс}IЬ|E ссЬIлкиwINЕ _ пoпyляpl1ый иMитaтoр Wi{rdows' noддepхиваюций 6oльrпoe кoлиuе-с,гвo UNIХ-пЛaтфoРм. БeспЛaтetr.

http://www.winehq.orgWinХ.oнжcCedegа кoAaмepч'.скийвaриaнJ WlNЕ'opиeHтиpoванншй на игpыи PaбoTающий fPеиl"fyu{eствeиro на LINUx.плaтфoDI,{е'

http://WWWtrаnsgаming.сomсodеWeaveгs _ кoMмeрчeский иr,fитaтop Windows' Pa6oтaroщий тoлькo наLlNUх и oриeнтиРoвaнвъIй нa эаnyск oФисIrьIх пpилФкени!i.

http://WWW'сodеWeаveгs.сomVisuаI MаiлWiп _ плаги|l к lЙiсгoqoft VisUа| s ludio' yпPoUlaloщий .oздal lие пe.peносиМolo Iсoдa и пoзвoляющlrй кoмпилиpoзaтъ wiпdows-прr,rлo)l{el,Iия пoд

Page 480: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

pуЧнoй пepeнoс/ иЛи одиH на oAин сaм с с060ю 481

рaзлич}tьIе плaTфoр}lьI' 3tесъ же лежит паpа статеr1 пo пеpe}roсy кpиTIlqeсIшх6и lн<.при,,]oжeн j lй

httpi//WlryWгnаiпsoft 'сom/pФduсts/mа]nwln'htmI

wxwindows _ крoсс-пЛатфoРvеtlная 6и6Лиoтr[at 6oлeе иЛи пleнсe сoв]!lссти.мая с МFc, исхoдI,IьIe TeкстьI дoстyпrlьIl де1rег нe пpoсит.

http://WWW,WхWiпdows.oгg

LIBINT - 6есплaтнaя 6и6ЛиoTe(aдля рабoтьI с INI-фaliлaпlи на UNIх.

httpi//|]bini'sourсefor9е'net

Free Pаsсal бeсплaтнъпi кpoсс.плaтфoPмснньIii кoмпилятоP Пaсltа"lя с oгРa.IIичeIIIloй пoдДeр)ккой Dефhi.

httр,/wr,,vw.f reeраsса |.org

Portiпg МFс аppliсatioпs tо Liпuх _ ,IorI кo!ая сTa1r'я лРo Ilсpеяос Мгс.ltр'lЛo-х€нIrй в UNIх пPl1rloilorци WхWjndou.s'

httр://\ry\мru-106.ibm'сom/devе|opеrworks/ ibrаry/|.mfс

с++ portаbilitу gцidс lпlIкapIlaя кaРта РIIфoв и oтпier-Iеii с oтN|eт]саNlll aсех пeсoвIrсс I имос1.сli'I ра:J-ll11ч I L Ьl х l{o\1l l ujl,lTо Pо D

http://WWW.mozi||а.org/hасking/portabIe.сpp'htmI

UNlх АРpliсаtion Migп0fun Gu e lIl!tкаPrl()с Рvк()llo^(rl.]n) ll() Nllt]l)аll|'lll J'аWiкhrvs отUNlх IIlloгoчl|(.JlсllI|Ьl]\!lt IЦxll{сpaNill' [Ioдl)oбlю olll.|сirll|'| 'сс рilз.]IlltIt'lЯ ]\''с,к/lу c1.l.iмl.l dILl|c]\1аI1ll' '|1lк '|к) ])-к'Г 11arrускplrrr,г ра6oтaст ll o6с ст<lрo.

http://WWW.Wi |уdеvnеvdesсa19аs/pгev/uniх.pdf

Thс Bi8 switсh: мoviпg trom Wi'idоws tо Linuх witь куliх 3 о6зoprrая ст.rтья'оп} lсЬIва|t)щnя IIсрс l loс Dеlphi/BL l i ldсг l IP l l J Io)кс| lи i i I l . l l - inL lх ,

http://WWW.128' ibm'сom/devе|operWorks/db2l l ibгаrу/tесhаrt iс le/0211sWаrt/0211sWагt2'htmI

мigrаtiпg wiп32 с/с++ aРpliсatioлs to Linux on РowЕRl , | : , | | ' , | ' I l { ' Ь , | Ц ' r Ц n U " P ) l | | U l ) ' r ' г ' I U l ' v l | Г | l . J ) l . ' | | | l ' ,

http://WWW.128.]bm-сom/deve|operworks/eseгve'аrtiсles/es.Мi9rаtin9Winз2toLinux'htmI

Usiпg сoDI teсhпоlogies oп Uniх Platforms - как UереIlссTIr сoNI.пpи.Io'{сllЛe IIa UNlх с пrшlrtNiа-l]ъlrоfi гonoвпoii 6оль10.

http://WWW.128.ibrл.сom/dеvе|operworks/]inuХ/|]brаry/|.сoпr'htг'rlPеализация Win32 в срeдe Oс рeалЬIloгo времeни стандapта Рoslх псPе]roс Windolvs{lPxJloltеnиii на QNх' зrrесь яtс нахoдrtтся ]\fнo'{ествo llpylих ип-I e | ' " с I , Ь r . | а - P i i ' п o . в l ] U l l ч н Ь | \ J I o " в р , 1 | | | . o , l р | j ^ й , н o ] \ l a ] " | | J в . , , l н U i i U | ' ( р " .

httр,/lrywwrts-ukrаine.соm/QNxArtiс|es/Wi |оцrs Winз2.htrnA tаste ofwine: Trаflsitiоn from Windоws tо Linux WlNЕ как сpслствo п.:рe-нoсa пr]иЛo)кепий иЗ Wjndorvs в UNIХ,

httр://l^./ww.128,ibm'сoпl/dеvelоpeгWorks/|inUх/librаry/l.W]nе/indеХ'htmI

Page 481: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

482 гЛава з1' w1з2 зёвоевываe- U.{lx, iли ropтyп,l. I oрaли l сropтил/

opeпNT _ пyть к <oткPъlтoму> Nт _ o6зop UNIХ.эмyлЯтopoв нawiпdows Nти Windows NТ.эмyЛятoрoв на UNIХ'

http|//WWW'osр.rulos/199z0зl42'htmязьIки пPolрaп'миpoвaния чеpеt стo лeт _ какoйязьпс въr6paтьдЛя pазpa6oткидoлгoвремeнньIx пPило]кений'

http://WWw.сomputer€'ru/hiteсh/з5042Пopтиpoвaниe кoдa _ пoд6opка ссьIлoк пo пoртирoвaнию,

httpi//ww.!,v'opennеt.rullinks/sm|/50.shtrnl

Page 482: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA 32

гoHки HA вЬI]v|иPAниЕ,дEBянoсTo пятЬlE BЬDкиBAют

.' 'll Оepнgll эюе меняuеpп.' ' хomя пе|n' ofu 1cсnc paт om?oвФu-oa].,' я mozaa |cк!cсmвен||ъ|м uн|nеI]elc|noм увле1cаJ|cя' вomu caзDал нa свсl|o zoлoвu '.' 1сoмnu]яmoo G сc.

из оаeк oтечeствeнньrx пpoгpамliисгoв

сPeди кoмпилятoрoв _ хopoшиx и рaзпьlх * кarс вьt6рaтъ eдинствeппo прaвиль.r.ьrй сsoй? lIe вeрьтe ни сoseтaм дPyзeй' пи рeкJaмtIьIм JtиФ'кaм' lrи Дaxе э'гойгЛaвe' llo всe.тaки eе пpoчитайтe' тaк вьI узнaeтe сиJtьпьtе и сла6ьre стopoвыпoпyляpllъlх lсoмпилятopoв и пaй'Дете сpaв]rитоrъньrетесты их 6ьтстpoдействия'сpaвнeпиe кoмлиля1Dрoв _ дoхлoe делo. PелигиoзEыe вoйтIьI. Фaпaпl3м. БeII.гмapки' o6ъrктивrrьtх кPитеРиeв oцeЕIФ llи y кoгo нeт, дa и нe мo'(ет 6ы't.Ь fioonPедeлeнию (Чгo PJсскoму xopoшо', ') Bсeгда лiйд}тся yслoвия. пa кoToPыхваш кoмпиляГоP удeJlЬrвaeт всрч ос.альньtх' Кo^{пЛексltьlе 1,rсть| |oJ|Ьtсo зaп}.тъiвaюT дeЛo' oтo6Рал(аeмая ими <сpeднeгoдoвая} тeMперaТyPа не имeeT ilиче-гo o6щегo ни с щoпинeсKoй )каpoй' ни с aрктическими мopoзами. мoжеT, чeлo-вeку целoчисЛе}Jt loе пpилo)кеt i l |е кoМпиЛиPoва,]L Hадo, а oснoвнoй вк,1aДв кoмпЛeксllыЙ тeст Дaют плaваюцие oпeрaции.

Адeпты мaксимаЛънoй oптимизaцпи, сo6йрaIoщиe все пакeTы вpyчнyю' испьI'тывают 6oльiциe TPyднoсти с въIбoрoм <еДилствeннo пPавилънoro> кo}tпиля-тopa. Mнoгoo6paзиe вepсий Gсс их yпIelaeт' a 1ут eще мoщный кotlкУpeнTв лицe Intel пapисoвa"lся. oсIioввым системtlым компилятopoм 6oльшинствoдистри6yтивoв Лиfiyхa шaзпачaloт GсC 2.95- B пopтах Лe)к'lT GСcз,2/

Page 483: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

444 глава з2' гoнl,и нa вымирaн девянoсго пqтЬ е вь *иeают

Gсс з'3. Бo'цee све'.11е вepс],tи пРиxoдиTся д{06ьIваTъ в инTeprrете сaltoстоя.

Boзникаeт есTeственнь]й вoпPос: oпpaвдь!вaет "1и сeбя пePехoд с Gсс 2.95 нaGсс 3'x иЛи' мor*(ет 6ыTь| Лyч1IIе эIllrlpиpoвaть нa дpУгoir кol{п['1ятoр? ЕсJrигoвoр]1ть кpаткo _ IIa вttyс и цвет тoваPищerl пет. Gсс 2'95 _ этo мaксиi{aль.нaя сoвIlteстиNIостъ п 6ьIстР0Tа кoi!{пI,ляции, IсC 8'х _ нaIrвьrсшая пpoизвoди-TeЛь1loсть oткoмп]lЛllрoвaflнoгo кoда' GCс 3.х р€IioрДс]\lеIl пo oптиN{изациIr

вектopньIх пplr-]rоже]tllй под AтJ.roн rt др},rис npoцeссoРЬr фиpмьт AMD,

A'г€псрь 060 всeпI этоNl и llrroгo[l дpyгolr пoдрo(шее'

дBA лAгEPя _ пoлЬзoBAтЕлии пPoгPAММистЬl

Tpс6с'вaппя, пpсilьяп,rясNl1,lс l|Роrра]i1nlllсl.aNiп lс Iio]\1l l 11.Ця 1 oРу' сoвссI\l lleте'чтo

y пoльзoваTсЛой, Лorу l l г <вPсr r ' t 1раt l с J r 'ци l l I l i \ ' € с т з I{ачс| l I tе l> oтвсP|аcTся

пo.:l ьзoв.'r e:rьскrrм сoo6lllсс'гtro\l кaI{ ]\InPiL3N , пе тpс6уюUlllii с)61,ЯсllсIi!iя, B сa-

моN{ дсJIс' i(акOй iIРolrс||-r сI]oсlo l]Pc]\{е||n Tpil,ГIfГ r|а r|сРсlсol1lll]JяI(I1lо Pядollol.|

.nIlIlyксoи/l? ^ lIрorрnмNlu(]'|? ] Iо.'J ьзоxаTcn к) [.,rу6oкo ltа'tхаLь' laс l|'цl| /lira oflo

r ' v | . . . , l ' У , l l , | и l , ' d ' , l | ' , , ' , l . r ' ' r . ' " ' , ' l r ' , 4 . ' l . | ' ' v ' | ] ' . | ) ' х " | " ' | , | | | i i \ | ' l | | , ' | | . I l | ' , l | к n , ' ,

Bсс oсталЬlloс l|есуlпс(-t.вclrIкl, Проl1l;iьrпlrrстьl }кс lliL IIсРBoс ]!1ссю DьIдвIlгnlo-l'

uмe lпюскoP()с1 .ь r .1) i l l l с ' ' rя IuI r I ' r rк6ь lс l ' |х l ; t с i i r : ' t .R t l I ( )с ( )6сП]с| I l jo i i l l Р ( ) l l у i { lU l l l o | 'uв o6п{с l l ' гo Pав l rоду l r r rы (д i l , ( с ссJ lЛ l t11}(с I Ia l l с i i l l Pа60та ,П, | )j{oс1.oпlIсTвo Gсс 2.95 B сrOбЬ|с'ЦnIIс всрсllu3,хкоrllпIlЛIlpylo,ГIlРоrPaljI{ьI чуTЬ

J.Iп нс в двa р и ntolLjlсllItсс' iL l]сilЬ Ir]]сNtя - )'].() Ilе'Il'IЬкO дсlIllГll' lIo Il сPьlIi всeх

сpоIсов разpа6o,r.кrl. С)6lIoвlITь кo\!llL,ютср? llo мI(Л.llе l.l 'Гаli Pl16o1.an),]. r la сlNюIl

мoпIноl{ )lrcJlезс, lio'|OPое тоJIьIro jL()сTупноl дa lI IIе бyдcT Лlктo пPoсTo 1.ilх lrъI

IспaдьIвaтЬ J1епЬl.n тоJ.lькo за'Lеlr'.lтo6ьr rrcpсriпl }la nolrуlо nеpс11Ю GСC' кoгдa

и с'гapая сrце lrепЛo\о pa6o,Гaст.

It нoBoмо'iньIм (t! зпачrrт' trrLe пс о6кaтаrttlьrlr) aJl.oрnTмaп{ агрсссrl3lloli oпТrj.l1иJaцпIl п Poгpi!]!r]\ пстЬl OTl Ioсятс,] всс Ь]! l llaс]оРO'iel IlIo' ]!l ox{llo д l(с сказаTь _

скeптltчссrrи, BeДr, зa м и3epIroc у яеЛпчснIIс llpoпзвоlt]lтejlЬн0сTи зачастy]O прIl.

хoдIrTся рaсп-!ачlltsaтьсЯ пoTереii ра6оToсrl{)со6нoсти rIpoгрaмпtьl' РассN{o'ГPrlм

сЛсдy]oпIпй кoд: foг(а=0]а<funс() iаф), oчевIrДнo' ч, l .O фУIIкцЛя funс() иr lвapи-

aнтЛa пo.lтнoшeппIo к цl.tкJ.Iу и с .1Ilаlevaтпчсскоji' тoчкIl зPr]lllя lio)кет бьITЬ

вьI]тeсена за еt.o прtrдс"lьr, OДrrакo xеI]eд этrlм ox'ГI1NIЛ3aTop дoJIжсЛ пPoанаJIиз]1.pовaть ее тс,]o - вдpуl. Tапr прпсу'гс1.в1,lот по6oн lьle !ффeIiтьI тЙl1a вьiзoвa pri ntf'

llодифиI(aЦиIr сTатичесILоii/гЛo6L'iЬнoli Ilсрeiuеlтноir' о6paшIeнпя к пoРтаlit пвo-

да/вьIвoдa' псPсДa.пrуIipавЛеIlliя пoуliajaTeJю и Т,ll,' и IIе фактl чToтраrrсЛятоp

этo <<зal{етrrт'' испoлъ:roва]lriе ollтlt]!l']зации ! Gсс 3.х напoillrlaeт хo)кдсниe

пo j!пlппolry по'цlо тal.oс (о-rтичествo 0lrп{6оп сI{pьtвае1.ся в кo}lп]1Ля,гoре'

кoN!пиля'гоp Iсс совмсщaет в с16с вьtсoкyю сl{оpoсTь TPa'rсляции с х{lрolпIilf rta.

чествоlr peзуnЬ'Гliрующсгo ко/ia' oднal{o o]] ]rе о6xo/lиTся 6eз пeдoсTаTкoв. Э,го кoNг

r l е p Ч е . к и i ' I P U l } к , с , | | , D | 1 | l l | р | с | с \ , / , ' l u J l 6 p , ^ в r Ю J l l ] l 1 o , 1 Ь | , о

Page 484: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

вавилoнскaя баr.!ня языкa сиlс++

пЛатфopNry х86, зaтoченнЬrй Iтол прoцeссoРы htel, Дa т. Toмv )ке ецe и пe 6eс]lJ1aт.Ь | й ( 6 P с п | а , н o с o . l , | я P д к . ] \ l ] \ ] / l Ч l \ к o | o | Г ' / \ i e | | е | | | l ' н ' в . l р , ' , l - n в \ | U , | o Д o r

llьi ]Ilа]llкu нaгoлo Il аilДa, пo пo }1сpс yг'{v6ле]lия ! Jtсс все 6oЛь]Ue хочстсЯ xy.шaть). к тоNlу 'rс }iIrlrакoй увeрe]ifloсти, чтoзaв'Гра Iсс не коl'if €pциаll]зllpуют-ся ol{опчатеJl'нol y нас Ilет (сIiорес вссIо, ип'еIIIlo Tаквсс и пропзoйr.rеT),

T€ll нeNiеllес pЯдьI пoк"1oнпикoв lсCrnиPяlся с кa,{дllпt ДIl € lI' Il па1.0 rсTьсвo1lпрrrчиllьl, этo ЛyчlUиI"r кoN!пrшяToP для пЛaтфopмЬl Iпtеl (а пo]l llPуги€ плaт.

фopмы 6oльlIп1r jствy fl'lЧс1.o кoIl пrтлпРoвa1ъ и ]leнyж]Io)' o н oTлnчrro лoкyмсt{.TиРoванl слy,(бa Tсхнuчсскoil пoдlleр)кfiи Pа6oтаe'Г чeсl.I1o и oпеPатЛвnо (GсС,nо сvтIrl Ilе ]]oдllср]flI1вaeтся поо6lцс, paзPa6oтчl.lкli сoвеPшеIJствyIoT t(olrllrlJ]я-тoP в свoе yДl)ts0J1ьствиel а этп пpoтllвнЬIe п.]лъзов;ITUIи IJll тoJll,l.о мсшaют),BпIeстeс Iсс ]Ioставляlотся lla6oр 9rilсoкoliрои3lJодl1тсльIlь]х 6и6Лиoтсl{ с загo.тoвкarJи Ila всс сJlучаlr )к!lзЛп l! ollтrlllизaтop VTuпc (хoтя lloсJI €l(Ilr'ii мo,]{стPа6oтaть !i с ЛРyгиiии кollпЛлятoPaNllll свяЗI{a Iсс + VTulle пaш6orlес уд()6наи эффсItп.IuIIa)' эTо nс llсpссxaэ peIUlnNlllot.o liPoспек1,ll а ЛUчIIьIе BJJeчlTnе]]rl,],IIeдrrpolt tprrplra QNХ вь16pалa IСC оr:rtoвльIм rloпrлu.ll,]l.oPo}j д.lя сBo{-'ii osPe:Uunlolo вРcllellltl ollltilкo их uьIбоl) эТ0 llсс..r.аJrr' Лх вЬI6oP, oJl Ile /loЛ1(с|l6ытьor toРo i i l tлявашсt .oсo6ствсr r r l t l г t lмr tсяля,BкоI lЦcкoI l J ( )R ' IпI IL l . ( ) l t с . Jа j lРс .

щnст псI,oJlь3овil'Гr, оr]n lro]!1п JIя1'()pа I l0лсpспrel | |rrl' r I ttрo6л ешra < r t:t и - tш rl > здсс ь

вABилoнскAя БAшHя я3ЬlкAl{ачeстBo lIPoскTol] o])сЛ sопг(t (ч1.() бl'l Tаi! Itlt l'oвoPl],,lи Itх пoILJlooIlliк ), Jroo6пlе |.()Ix)ря' oчснь r Iene.]l l] ко, l(olдa flРo Ц)all пI Il I{оIlпlIJIlIPyсTся э1.о v)(с хoр{).lUоl a еслll Ilрl{ э,гoll oIra сtцс и рaбo-r.aст..' всяl{irя Uo]rЬr1r{а ()lГ|}lNlизацI'llt (l'ЛlrIIсPсход IIа /LpуГoii ТPаlJсJlяTоР) Pазвtljl]rвaeт хрvllкoс прorрaммllс'r'скoс сTрo{j.lrис oкoпчaтс"цьлo' Ли6о I]poгPаммa псpес,l!еT ltollпилt,tjroвa'l.r,ся сопсеrt'.rr16ов нeй 3aвollllTся г.nючпl,lii 6lI. Ра6o1.акnцис lla гo,ro:"r зптvзrrазмe pазрa6оr.rrrrtrlпрoстlj ]lс в сoстoяпIltI olIробoвать всe Bсpсии Irссх коlvfnr"llятороnj il нeдЬ PазJrичия llе)кдy ниl'и oче|iЬзllaчIr'гсJrьпЬ], BoT Tо-1Ько о/]llll пP]lмePiв Gсс З,х llз kinaс'са std::fstгеаm пзъяJи конс,гРуктOр fstгеаm(jnt) rt мсroд аttасh(int) ' в PсзуJъ-TitTс чclo объят]Леl ll{я вrIда fstгeаm* Fs = ne fst гea|lr ( fd ) пeрeс'r :шr и paбoтать' Епleоnllil ,{сpтвa зaяI]JlеI l]]oй сoвrvlести мoс]'u со стапДaPтo]!] I Bпpочe11, llс]tPI lЯтIJостъэ1у lfo'{но об()iiти: ]laпilсaть своii ]{Лllсс' гIporl3вoдньr]i oт std: istrеаmbuf' созЛil-ющxй st геаmЬLrf lloток (нтодoлr.o, затo пopтa6е-1ьrlo)' п-.lII llсnojlьзoвaтЬ гп},сllr)еpасrrll{Реflпe _gnu.схx: istdjo-filebuf (<GNU(пOс> пoт()Nly ч.|о непoртx6eЛL-ное)' rlo эTo Ра60та прoгрnliNlllсTа' a ве кo]lсчнoгo пoльзoвaтсля!Сo вpсмен GCC 2,95 llоддePrl(кa пЛloсoв пРетеl)пеЛа сvщeсTгlепltЬ]с' ]]з\jенeпlJя,B oснoвнo]!, _ lloлoжIrтejrьlьie, КoнтPo,rЬ паI{ oш16пами ужестovился. Этo хo.Рolllo (хоTя вl1еl]rние веPпфикalOРы кoдaтllпa LINTеIr{е пI.ll(тo нlr o'гllепял. u вoIltloгltх с!!vчаяx они пpeдnoчтите.llьпeе), A вoт с iФaсс]1чсскпп! сlt пoя!иЛI{сьпpо6ЛeмьI, oптI.rмистьI вeрЯтl чтo oтl l.olnlrfirтРyется пeхv,{e' че]u вчeРa, Пссс'IмI'lстъI жe закиДываloт их дIiзaссeNI6лeряь1ми Jirrстиtтrarпr, y6еждaIoщrrrrи, .ттo

cИlc++

Page 485: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

446 rлава з2. .o|rки на вьlмирaние, дeвЯнoФо пятьe выхивaют

новьiе версиI{ Gсс гeIIepируюT 6oxсс гPoNIoздкий и УelIee эф(!ек,|иrlыii коjr,а чaс'ГЪ кoIкjTpУкцrlй нс l{oj!1]I]]лируется вoобrцеl

OбъeNI I1рo].РампI, IroNIпилиPy€п!ьiх тo:rько теNlи всpси'llrr (oNIпI'лятoрoIr' подкoтoPьiпlи oни pазРа6атьII]aaись' очепЬ3нaчll'Lсlсн Ql не вa;rоrо' тде зaрьrтаоши6-кa в лпс'гиllге пpolpaNlNlъl иJr]lв l{o]ilпи.!ятoреj пoлЬзoваTеJjЯм .)1.эloгo I]с стa.нoви'гся ,1eгчe). /црeвlrlri'i GCС 2.95 поддерл{иваeтся 6ольш11нс1rro}l 11potlзвoirи.I e д i . l и | e | | e ' ' l i , ' v е , l J o l , . . , l U , | н U l , а ч с . | в .

" I i i л . , . " | o . ' | " ] , | ч I U | , ' | r l 1 | ' г . , \ | , о |

Пoэтoмy.To сoс1.авитlriи нoрпrальньrх лпстprr6Y,Гrlв()в 11 устaнilЕЛивaют оIo oс'Iloвilьll{ сllсTеMнЬ]]!1 кo11llиЛяТopoll пo ylloлчапIrюj o'Г'Iе(tl'l,l вссх l{oнl{vрсtlтoB

Пo yтuеP'(дell1lю (l)иРмЬI hrtсl' lСC пPактlrчесIrIr полlrос-rью сoвlrсстrr;u с GСC,oн ilоpм:Lllь|lo кoмllllЛ!]Pyст ".ll1ljvхoвoe ядPо I]eРсltu 2'4, oдitaкo' спoтьIкaетсяlla 2.6' тРe6уя сIlсци.UlЬнЬrх зап-.lатoк, oдIla прав|1T llсходньlri код я]lРа' ,.iIy.aясaпl кoмIllrЛятop, ПРикл&1но€ пPогРаNlмltoс o6r:сnснсяrrе 6eз lrапrr'lьttика ш pl.,|уа-'IьнЬп тallЦeв с 6yFЛlоl{ l'аI(rl(е ]tс о6ход]lTся,

B o6щсм, сlа6oнсPвн ьrп{ тoвaРIJ II laм |lа !(хDскT11в] loсTь лvчпIе 3:L6lJТL oсTilвr,-t,сGCC 2.95 oснoвньlм спстei{rlъlп{ ко\{]|rr"l]я1.oрo]\l 11 lllткvдn с l|сг() lIt] сх()Л|lTC'

кAчЕстBo oптиМизAции,иЛи ]vl ЕгAгЕPцы, спPEссoBAHHЬlЕB стPEлy вPЕMEHи

l(oмrlиxпPoвilтъ llaдo I(o\J]1ltJIя]!]юNl] а olI'ГItlll,lзItpоlraTь _ rоJIовoii, OIl1rlмLlзI,tpуIoщl l i i r to l 'пиJЯTop yве]I l l ( I I lR iLcTскoрoсГЬ пPoгpа l l vъr rлавr l l ' rм r l6pr rз r lм зa снст| ' U ' . | | ' I L 6 y в ' . - l | J | с n ( . | ' . | | i L , Ч ' \ l l , . i о - , 1 | l ' , ' l , ' ' - . . ( \ L I | t x

rllии выlIrPьII]I даeт оптllпollaтoР' кoroрoNlу oсТllcl.ся всеlo "l1иllIь itаNlсlI,l1.Ь /1C'Цl]llие умlro)кснIrем (a сдмo yмIlо)l(е|lис _ xoгичсскll]'пt сдвlrгаI!|l) t| IUI|lIlиPoвlr-гьпo1.шtи ]{оi!lанд. зrlствсркIi' Ii пepвЬtе lюдсrlrr Пнcli пljrJи /.lов()]lЬI]o i]а|lv,гаll-пьlii рrl1,уа.ll спаPиванlIЯ, rl ДJrя ДосTll)сellllя flallвьIсшсri пРо}lзI]()i.IЛl,c.]lьlюсTll]\]aши]{ньlо l{нстPyкцrпJ прихo/lиЛoсn pадlrкilxЬнo псpryпоРядо!llltsaТ!l llpxчcNI

- . l , | e д o в : ' I r , | | , н U . l ' r р ' 1 ' , ' , в - 2 | . ' 6 ' , ' J ' ' | , l | а , I p | ' в l Iа-itьlryюзадaчy' 6лагoДaря чему качссTвo опт}Ii!{изaцпIi DaзIш1Лoсъ отoднoгo кo]!гпилятoрa к дpуrollу, lIо с пoявленIreII Penliu Pгo/AN{D к5 эта прo6Лei1aсpa.зy стаЛа liеaктyальпoи пpoцессoPш noy\{неЛI{ насTo"l]Ькl:)! чТо научпЛllсьlleрсупopядoчиnатЬ ]\faU]l]IпIь]е к(]11aндш саllloстояTеJ]ъilo| и l1l1тс.IIr!оliтyarтЪriосTьo п 1 | | n | | | ] p } | , ] | i | l х | \ n \ l I l | | . | Я | U p o в o , о U , | а ' ' P , n l j n | | | , , | а | ,

нe с,гo!fl' npавo rflс, гнаться зa нoвЪlми версl{я!1и oxтимI.Iза,гoPов, эTa Teх]ro,lо-Iия достигЛa свoсгo t1асьIщения у)i{е в сeрeд]illс дсвЯнoстьIхl и r]'lт.at(их tlPоplrвoв с тeх пop IIе пpoисходиЛo, Пoддер)кita i!J},J.Iь,|tIIк]д]rriных SSЕ,/зDNowL'ш].п{анд вoздeпсTвуeТ ToJlькo нa мyЛьтliveДпиIlьIe II' oTчaстIll l{атel aтичeскиeп p и л o ) к e l , l | я . а в с L \ l o с | l , , к , n l , U I l | | r U Л о l | | o к p | | в \ n ^ т л ' ' , Ь | r .

ния проIрaп!I!!у oп1иillизатop всr равlio пe rlспрaвит (oll ведь нe боI), a гpaNioтнo

Page 486: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кaчеово oптимизации, или меГаreрцЬ|l спpессованнЬе в Фрeлу времeни 487

спрoeк'ГиpoвallпЬIЙ кol1 pагlпоi\lepllо распрeДеляет IIаIРузI.J, пo всеNl фУlll.цltо.на'1ьтrЬпI yзлаNI' и 6ез остpоli liеoбrio,]ппfoсти "iyчrllе €гo пе yскорять. BoзЬlfеl{

сетeвoе llpи'ltoхrсrtие, o lIтиIr1{зaцllЯ l]Pоl.Рallj!r]lor o кojrа увeличx!аст I{ox]]чссТвoo6pa6атъIваеilьIx запpoсoв' чтo в свoю очcPсдь yвсjтичllвaeт rrагpузIу rrа сеть'

l] oбЦаul llрoиэвoдlTeЛЬlloсTЬ llе L0Jlь].о llе вOзpас,|е,|' tlo мс|,кетдiжс уrlас1.r'

Агpссс11внъ1с fu.lгoPитмьI .JптlINolзaции (за кoтоpъIс ir6ьrчнo oтвечает xjтюч 0з)

llлjIl пРавиJ'IьIIе.A скa3aть' <лeссиMlI3ацlIlI'tililЧ:1с1'уюдaloT llPЯll{r lIРотrlвоIIojlo]]{.нъпi оnоr/]aei!1o]v{y PезyЛЬTат' УRлечеI]IIьIе <прl]дРaзвepст]roiiD цrlкnoв ll ф1.]rк.цrti1' oяи oцут]1мо yвсл11ЧиваюТ o6ъсl1 пPoгpа]\{ ]!lнoro кoда' чтo в кoпeчrlоп счете тoлькo спrDкаeт I Jрo] i3I lo j (итe" !ЬI I ( )сT l , ' A fnюки o l ITипIr IзциI r? BxPoчс .о llпоI{ах lilъr yже гoвoPиrrп,

Hе гонпт€съ за пpoгРессolJ (а то пeдЬ jloГo]l|l,J'е)' llo li rrс nрсвPацaiiTс всPrloс|ЬT Г , ] | | | U I l я N l D Г l , , ' ' , | | U , , ' | | i i , j ' | | | | | | . I l t | . , , о o | | 1 | | , d ' ' | . . c 1 Г , . | | | | , , I F j ' | , ' ] 1 ' ,

/:lllТсЛЬнoсти, ссJlIl кoIrI l1IЛЯTOP дnс'Г сс /LaPo]\I, сoздатслIJ GСс говоPят о lJO пpо

цеllтпoil пРевoсхоliстпe веРсlJlt з,0 lIаЛ 2.95' одItако i{:Ulскo ]1с ясс PазPа6oТчllкIiс i'l.I,lм !юl'.illсllln. [jrшьtlttrlкlr.нrl воo6лrс нс о6наpylIсrrвaст ппкartогo увеr]пчоII]I'rl ц)оltз]]oill,lTслl'яoсT11' ;t tlскoтоpЬIс /1а'(с oтп'счаIот замсЛJIсI l |{с. II l t.Ic 11) vдl1]r L П1].1|,пого] АлгoPи 'Гп{ы o i ]T}|ми3аIц l l i 8 Gсс з х I lРст0рr tслr l 6ольrп l rо лзпrer rcпr r r , oдr r l lIIoя виn lIсц 'lpугиc llсЧ eзЛl ll тaк чm D J (!|ОI{ сl I rу;ll ul,l ()(l1 aJ ( )сr, l lсlrзNIсttllоii,

.iъ.т l,к)

вoт l lРo I Io . I ( / l сp , tкy lю ln 'х l IPo iLсCсoPo l} l | с l l a ]к) ' r ? ( ] | ln iu lnрoвa i lпс i ' кo]Lа (Л|| l

' ' ( - ' ' ( | " " n ' r r L ' r r r r r r ' r ' . ' " ' i ' i r 'Iцхn lс l rГ l r l IT( ) | |з I ]o/ ( l lTс . l Iь l loс1] I l Л i l l | 1 ! l I l l ч l I с1 , ( ) l ]Ь l ' I l | с r r lП с - l I l ] | l ь l х зада ' I i l х ) ! i L r | ( !r lЬ lo вoк , |oP l l ь Iс Pсг l ' l с lPЬ l l . l l i ( )^1 iL l l j L | ' l I lpос ' |o | . ; l к l j c : r I tдс i ' ] сГвvс l Ь . O j l I lo i ]пrрeкоNl l | I l J l J I l \ l . l l I : rдссЬ|| ' rдoс . | t lТo ' l | l ( ) ,L lPо| l ) l t l | j }1 l l l ) l l |кoЛOjI1( j ! l ! с ]к ' l ьз ( ! ]1]ь , / | l |Ir()3мono iL)с:1.''t ,Iвl ю. эф(irсI{| l I вl Iо вс ктop 0]oIrtlTl, коiL l lе I t\ск'Г дilЛ{C сvl lс])l()r\rI l l) |( )1'!rPIlЬlo кollш'Ilят(]ръl. Bo всrIltorr слу.raс rшlllа, lI-.rrr, то.rrrсo' уltо'^ что пасчет сРа8llell ,| 32тlrзрЯдIioгo lloдll с 64.PазP'дпьrNi./ Пo.nьirоx.l1.сJЬ /l\,.мaeт] 64 llirNl]loгo lrРyчс, чс\1 З2' l сJсдoвaTе"lьlIо, п 6ыс1']х.сI 1IaчIlIlаl{Jlцllii ll])l)грaм]!Il,!стi ] ly, пloI(eTl jI I lе 6ы с1'pсс ( всс Pllвнo !сlr тoPllозит п)ro//rrыlr(),il) l l r( ) ч]( ) l tсNl0д.lсннсс этo тoчно | A вoт хPeI t па]\{ l БЬl м.'I r'с llPоrPаIlNл tстьI нn'1 э,ГtJl\{ l.оJь li)пoс]VtеиI]aк'| ся, мe]LJlсl il]cе | Ещс к.lк Nlсд,]cннсс | З2 paзрядl l ьrii кoд r ro сpа в rrсlrr.rкlс 16.рaзpЯДrrьI]vl в срeДпеrvi потре6Ля еT в 2 - 2'5 Pаза 60''r Ьше паN]я-гI I' 64 фaзряjulьliiкolL _ э1'o tsot)6щс IIoнстрl рaзв:шrlrrаюЦийся пoД с06сгвcrшоi] Tя'{oсTЬIo, ̂ водъptlзllеP Itэ1!-6уфcPоB I,I пpoпvскIraя спос(]6Л()сTь сl|сlсмtloii шпньI нс 6сзrрalпlIIны l < I]Irrрoкая' разPяднoсTЬ jlас 1' вьlигРrnш nIlxIЬ в vзкo}f кp! ГУ 'rесrjI1iL ( ll еЦи(h гчсских пPиЛoхенlJli (5о"!ьlIleй чaсTьJo IlnyчrlЬlх), Ск'.а'{Irтr' вaN чaстo пprlхOДrjтсясталкивaтЬся с чtlсJlaiиlt l1oр,lдкa 18 446 744 07З 709 55l 615? Tог,цa с как()ii сl alll

Даппьlе, xo]lучснi1ь]с Тоnу BoLlrkе с ш1^rw.osnews'сom (рис 32.1)' этo пo,1н.rстьloпo]]ТвержДaiот (http://WWW'osneWs'сom/storу'phр?nеWs*id= 58з0&раge=1),GсC 2,95,3 гснePиpуeт чvть чyтъ боЛеe бьlсTpЬlli кoд, чсм Gсс з'3.2' а 61 6иT-нaя uеpсrlя Gсс з,3,2 нахoдI1Tся глу6oxo в за,lrrrrтle lI кotlt{PсTt]o тopNIoзIrт, санoвский l.oltпилятоp pyлl.iт в обoпх сЛyЧaях' l1o 64.pазPяДIrЬrй lioД все рaвIlo

Page 487: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

488 rлава з2. гoнки нa выMиpаниеt дeвянoоo пять|€ вЬDlивают

600

550

500

450

400

з50

* зooa6 2so

200150

100

50

0

М 9сс 2,95,3

E gсо з,з,2шE gсс з,з,2 (64 6ит)в

zP UпziP

o6Pа6oткa gziP.oм файла 624lvбайт

Pяс. 32'1. сpавнelие каЧeсlва кoдoг€яepaции pазлиЧнЬ|х компилятopовнa пpимrре }.гиЛиты GZIP (лyчш€мy резyлЬтаry сooтветствyет

900

800

700

600

500

400

з00

200

100

оз'iashаlh/lPo oз'iаst.mаlh/|Po'IDмUPGo

в gссз.2 8 gcсз,2.3 П gсcз.3 Ж iсс7'O ff i iф7.1

P}rс.32.2. срaвнениe качeсrва кодoгенepации по даннЬм теФа Rooт(имитатop финансoвЬ|х прилoxeниЙ)' БoЛЬu]еe зNaЧениe

Page 488: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кач€сгвo oптиl4изации, или МегагepцЬ]l спрессoвaннЬ|е в стpелy врeмe|]и 489

ТoЛъrсo не rrадo loвopитъl чтo мъl вьI6pали <Itеyдarlньiй} пpимep дЛя срaвllения!GZIP _ т]rпичIror систeмlloe приЛo)кeниel и нa 6oлъrпинстве oстalrьных oeзvлъ.Гa] 6y,еl Гaкиl\{,ке, МyЛь,гиvёдиЙяL|с и vaтeмаГичe(киe лpиjо}кe"* nou n..pеroдe на Gсс 3.х мoryт yскoPитЬ свo|о ра6u1у u n..*o,o*o pu,. , yny.'.o.o 'o.IсoЙ выигрыilr rrеJтъзя' жaбa задуlЦит' }lо кaкyю версию въI6paть? <нoвoе} ещеIle oзнaчaeт <лyчl ee' ' а нeпpиятнyю тeндerrцию }тyдr e;rия качrства кoдoгенe-рашии 1 CCC мы yжe oтl lенали.Tостирoвaние пolсазЬtвaет' чтo llальпla пеpвelrствa пpиI{aдлФlсит Gсс 3'2'3'a Gсс 3.з и Gсс з.2.0 irа пeскoлъкo прoцeптoв oтсTatoтпo скopoсти (pис' 32'2и 32'3)' вpoде 6ы мeлoчъ' д Iса( дoсaд}ro! Если Gсс з'2'3 oТсyтствуeт в пoр'тax вaшегo дистри6yтивa _ нe рaсстPаивaйTeсь ! вы пeмнolю lloтеpяЛи!стaвь.,]е лю6ую сга6иЛЬную вРPсию сeмei iства 3,х и нaслаждайтесь жизl lЬю, сnе.циaльilo вптяlиватЬ из сeти Gсс з'2.3 llиlсаl(olo смысла }reт' Если вaмдействитeJIьнoнyхнaпpoизвoдитeлЬпoсть _ пeрeхoдитeнaIсc.пpaктичeс.I(и всe' ктo пepeкoп'll]и,Iиpoвaл мyльтимcдийtlъle llpЙЛoжotiия' IloдтвeDДили20-30.пpouеr'тrroе ускoPeI{иc по сPавнe||иlo с CCC 3,х' L{елovислeнныЪ пpи.лo)кеrrия в o60их слyчaях Pа6oтаIoт c тoй )кe ст(opoстъIo иJrи дФкe чyть мeд.лeI{пее (oс06еlllio eсли пpoгpампla 6ьIJ.тa спeцI{aлЬtlo затoчена пoд Gсс), llaпpoце(сopaх (hиpмь! AN'1D ситyaциЯ вьlглядит иIIaчс' и Gсс з,з с кЛючикoм-псрu=сpl].tуpe athloп тelreРируeт нa 30-50.% 6oЛee 6ьIстpьIй кoд' чeм Iсс 8'1'reчЬ' Pазyмee]с,Il идeт тoЛЬкo o веlсToPI'ьIх oпePaциЯх, a IIа цeлoqислeнныхICC пo.пpeяоreму впepeди'

160

140

120

100

80

60

40

20

03' fаslflаt,h/|PoIDмUPGo

@ 9с63.2 E gсс 3.2.з E gссз,3 & iсс 7.0 8в iсс7'1

Pис. з2.з. сpавнeние каЧ€.тва кoдoгeнepации пo данным тесга GЕANт4 (мoделиpoваниедвиxeния элeмeнтаpяь|x частиц)' Бoльшee значениe * л}чший peryльтат

Page 489: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

490 rлава 32. гoнки на вЬ|ми д€вЯнoсro пЯть|е вь|хивaют

ПРиплюсtlутьlе nporРамп!ы I]'Iавньш O6Раз0м вьIигPь1вaIoT oт то1.o' чтo y lсс

6oЛеe пloщнaя STL' oпTимизирoванlrая 11oд нуpст тhreаdin8, oдпакo на кЛaсси.

ческиil Cи эта ль.oTа нe рaспPостPaпяется| и TaIФIе пPиJlo)кеIlия Лучlliе всеlo

кoмпилиpoвaть стaрЬIм дo6pыNI Gсс 2,95' исклюqeниеt пoжallyii, сoстaвЛяIoт

flрoгрaNlмЬll и,lтенс1lв]1о взаимoдeйствуloщиe с fiаNIятьIo' oптимизатoР lсCсo.

ДсРкпT специ;LпьIrьrй eцгoритпl, пoзвo".1яющиli еN{у выхвaTить 1lсскoЛькo ДопoЛ-

нI''гелъ11Ьlх пpoцсtIToa IiPоизвol]итсJtьIIoсти зa счeтllехaнизпIa пpедварriTелънoи

вьr6оpкп Ir yЧeтa пo.]rитик1r 1rэrrr.!(oнтРoлЛepа пeРвoгo и втoPoгo УPoвrreи (ttoд-

pо6нoсти пroюlo пaйтrr в моeii шiите <Технrtкa oпти!ll,1запIrи ' эффективнoe

испoJ1ьзoвaнис xa]!Iяти')'

линyс и кoмпилятoPь|l{ак lliьl вЪIяlсЛилI.l' нoвьIе Rеpс!и Gсс пrДаIoT l Мкat{их ltPeпп'ущсcTв пPrl псрe.

коп{п ляци,l Ядpаl lliLпЛсaI1вoгo t]а ltjlассичесI{oiu сu и оптиiuизlЦoпalriroIo вру.l.

ную' ПоэтoNlyЛи1lyс (как rr 6oльurипство oстaльяых IrPoГРar'INtIlсTojl.я/!еPнllкoB)

пo сItсLililт pxсс.aвaться сo свollпl JI,о6п]\lЬ]Nl Gсс 2,95' qсм и вьIзыBaloт пeдo-

yNlelJi'lс IlоЛЬзoваТсJ,eй, Bo,г лep€RoД фpагмe1пa IIсрспllсl(Il' вllJloвлeннoи ]laдa-

локoм зa6угopпoпl dхрyпlеl0т]LjnUs тl]гvа]ds t[ЬЛо скипнyт0]Tефa iRe: Lоr]деряка стаpых (0[n л,lтоp0в

Date:вIoр iи1 , 4 нOlбpд 2004 11 зB 47 .0800 (Psт)

кa1тO вO втoрви( ' 4 нoябр, 2004 Аdаm неаLt l писал]

> Я se OтpиЦaю pа3л[cи' nO скopOсти [el{ду сlаpыiи 11 ll0в!ми к0яaLiлятopаии

> l ]o пOчe y этa пpобл €мa sстаeт и lеннo пр l к0 пиляции яApа?

> как чaстo eL пep€кoвпилирy€тe свoa ядpO?

Bo.rreрsыя' ядрO дЛя нногих люд€Й в кOтOроM oни l]poводят бOлЬшую чaсrЬ

своefo ашl1Hногo 3p €меHи Bo-втOpЬх дeло не тoЛьк0 и не cт0лЬк0 в т0 l1 ' чт0 к0 lпил 'т0рь

едленнеe истоpичeски 1OsЬlе версии gсс

гe|еpЙрtют худшшЙ кoд i

нd протя)rr.^}rLlи иногих лет eAияственнoЙ лриЧивOЙ OонOsлeBия gсс бЬла пОддep)'{{а си++

клdссичeскиЙ си пoддeрнивaeтся всe хt{е и хуяe пp sсeм увахeниЙ кeгo разрабOтчика '

в пoследнее spe я ситyaция сЛe.ка иefleкиласЬ ялyчшe y, До пояBлeн ' qсс 3'3 всe

вoвoввeдеHия сeри gсс З,х нe стOltЛи ухудшeн[я flOддеря([ клaсс[Чeскoro с,],

чЕм HAPoд кoмпилиPyЕт ядPoПo Дaн}tьINl WWW'kеrne|traр.org' 6oЛre 80% пoлъзoвателеЙ компилирyIoT ядPo нo-

вЬlrvtи веpсияIll. Gсс, B% отдaют преl]почтениe GсC 2,95 Л 10% нe пepeкомпи.

nирyiот ядрo вo(16щс, этo дoказыtsaеt' чTo llс всяIroe rоспoдствуIoщеe nrнепиe

пPав'Iльнoe (Pис' 32.4),

Page 490: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

49L

нapис,32'5 лp]1вeдer]ы сpaвrlитe-!ЬньIе тсстЬ] Iсс 8,1и З,3,1 пa ЕЕмBс 1,1 6еrlч.I]аркr (ЕЕ14вс Расlлllфpoвьlвастся каrr ImЬeddеd \4iсIoprосcsslrг BсnсЬlпагlrсonsort]1rln), A мep!ст этa lrтyrrа yсреднe]lltуIo пРollзвоДuтеЛьпoсTь на pепpeзс}iтaтIlвjlоiI вьI6opI{с llз сеTсвьIх' oфис]lЬIх ! вЬlч11сЛитеJ]ь11ых тecтoв' Аdvаnсedoplim izat]on по,]РазуilеваeТ сJrcдYIoщиr клIoчи: I ntе,l с+ сompi]eг: .0з .ipo -хl,,lGCC 3 '3 '1 l '03 .лаrсh=рert ium4 .mсpu=pent iLп4 .msse .msse2 -mпlпx . funro]] 'JooDs. Г г d 5 - . г а т n , . O n . t . . г d . e . O O 1 l e г . . 1 . O п а t . . s s е | п o l ] p о 6 l ' ' , о 6 , ' г ' N | N l n x н o п о ч x .татЬ пa WWW.qnx' сorn/down|oаd/downIOаd/ 10028/Intе|-сompiIeг.Prod!сt.вrief' pdf) '

EщE тEстЬl

40

зО

1 0

Gcо cсс2,х 2 95.х

Gсс Gcс Gсc Gсс Gсс сс cс3'0,х з 1,х з '2 х з.3'х з,4 х 6,х 7 х

Pи..32.4. Какoй хoмпилятор вь исполЬзyете для перекoМлиляции Ядра(п0 даннЬ||l www'kelne trар'olg нa 21 anpеля 2004 гOдa)?bсегo вгoлосoва!ии принЯло yчас.иe з696 чeлoвeк

сpавrrer]rte кaчeства кодoleнсpaЦпIr подaнньrМ Tестаstrеam (пpoизвoдитсльIloс]Ьн а o п е o э L и я x . ] | с \ ' я l Ь | o , М 6 ] j i Г . ) л o ] , а l i h o I l d р . 3 2 h ' ] J l r ; | 6 о ] е . а | Р e с с I I в н oвьIpавIlIlваст стpyктyPьI даt]]]Ъlх ].t yчllтьIваеT apхитei{туpy liэш.кo]lтрoлЛeрal зaсчeт чеIo въiигPь]вaeT нескoЛЬi.o прoцснтов rlPоtтзвoдитeЛь]lости'A пa pпс, З2.7 срaвпивaются качествa кoДot.е]]ерaЦrш пo ДанEьINI тестa wiпstoпe(i{оNlп"!еrcньIЙ'TсI{ст с в]tjlIочe]1иеl' ili}'.!ъти]ttед]4ririых пPи'пo,{ений, веРTикil-nьf l ' q | | | . l \ | | P s ) Ь , , o , о в " 9 6 , ' ' . . o " n o , , \ o ! " - в U i . ; , P " J ) ч , l d | | ; | o , U - oB J l l l | Я \ ] L . o ' l | с г ' U в , o к n o р ы v g ' с 2 9 5 н | | l " 1 ' , ' J ' 1 F -

ffi

1 I l 1 1 2

x1 1 0

ж x - ll

Page 491: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

492 rлава з2. гoнки на вь|миЕЕниe, девянoсrо пятЬe выxивают

$ a %

'120 %

100 %

8 о %

6 0 %

40 уo

2 A %

0

ЕЕlv1вс 1.1 lnte|Penl]Um 4 PФсessor

-02 Advаnсed optim]zаtiоn

Pис.32.5. сpавнитeльныe тeсlы Iсс 8'1 и з.з.1на ЕEМвс 1'16eнчмаpкe

400

35о

3о0

250

204

150

100

0

@ icсs E 9со 2.95

Page 492: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

49з

25AA

2000

1500

1000

500

0

|т$шi*;xп

icс 5,0 icо 5,0.wp_рoPис' 32.7. сpавнeниe кaЧedва кoдOгенерации пO данHЬм тесга winstonе (кoмплeксtый тeкстс вкл|оче!ием мулЬтимедийныx приЛoжe|lийl вeртикалЬHая шкaлa _ 14iPs)

3AкЛюЧEHиЕи Gсс' lt lсс _ BсJl,ll(oJlellIlыe It()NlIll]Jl)tTopЬII l]обрiL|]ll]I'с в с16я псe Дoс'гlDкe.]Iия lлюгРcссa'

.ГcУ ||r ]\1еIlco ILаJIско Ilс всc lJl)j|()6pсTспrIЯ lior|I'lll, rIм нA лoЛЬзy,

и IЦol.pill!1]!lисTЬl l] сl]осii Nlасс0 oсTaIотся |lсPll,n дрclrllci{у Gсс 2,95'.l.aхorо л{rll,teIlrIя лрrlilсР)l{lllralor'ся сoс1aвиTc'llи дисTpll6у,I]II]oR It oIlьlTllЬIс nдiиIllIистPa.r.lrpьI' пoJlь3oПаrtjllr' lIPaвдil' lle Pil3lLсЛдlol.сгус,].ltв|llr]t.Oс,l духa коI|сcl)вaтlrзi]аlI вoвсIo пoЛi,зуl()T GСс 3.2/3,n lI ос()6ololo Gсс з,:J' лI,lIlу)кlLаЯ Рaзра6or.ЧtlкoвIIоJ!цср)IoilrаTь |lol]ьIo llсРсl!It l!сзавll(l{]!1o o']'Toгoj хoтяT ollи irToгo LIЛrt пeт' nрo.tlаl.aliда Iсс покaтoJ'JьIк) Ilачlxill]Toя' tlо' YчиTlnBая вJl]tяIllre4Л{pмьI IпLсl' а Taк-'{е r] ьlш)кoc I{ачестIlo кoNllltl,rяToPa| \{отolо ] lе с()мнсIlilтъсяj ч,l.o в lioкoторыхсфe.

Рaх РьIIrr.а eгo o)кrrДaс'г усlIсх, Чтo хc касlас'r.ся паyкoсIlких пpило)кепиi'i]{ въIчисл]ITеЛЬI1Ьlх цсltтPoв скоl)ее вссr.oj оIlll сохраlul-| своIо Rер]Iсl(lть llРo-цессoрaм AMD (llнrвьie кЛaстера сl,o,l,t нa}пIoгo llopo,nс) п кoN'пиЛяTopу Gсс'

B o6щс]V1, пonrпвeп{ _yвидl1м- Будс\] нa/ieятьс'l' чтo в 6yдущcм trоllпилятoрьl llepазжrrPenrт оrtопчa1.еJlЬllo j1здpавьIlil сlllьlс'll вoстoP'(eствуе-r над РазyllloN{, пorcaяtс 6ссспoрньlх пo6eдrtTcЛсit нст, п муДpьlе jtllнуксои/lьl вЫнyriДеньI пспо].IЬ3o.!aтъ цельIl1 зоoпаpк l{Orfiпшя,гoPoв,

gcc 2.95

Page 493: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ГЛABA з3

тEXHикA oптиMи3Aциипoд лиHyкс

Lhпо tlахоlu пся n оd ччlxoй 1|pь|1ц t|о й оnnшмu3u]1!J1a1l)r?o

колnuляnaра? I]ем оau]l uз lLux omлuцас||ц:я aп apу2azo?

IIРa|Aa r|l, чmo Inta| с++ atr|11о2o хp!це GсC, а сa\ cСC6ьеrл llю6oЙ'1]|ittlous'кoм|1l1ля1nop? хo|п1'nе !3xа|nъ1 Кaк

] 1 o:\' 01 ! ь an nu,\ t uз а1 l\op !| с Zr 1 1 е Pup o в а|n ь 6 o j L е е Э 4 ) ф е r mu в н ъ |Й

коd? сеi1час J,tьl з.1iiмеj|tся u(I:лёаaваluе'1| aвцI 1lаL16оnее

11о|1!J]|яР11ьlJ . L iпurкo, l tntutяmоpoв: GCСЗ'З,4u Inu.I с + + 8,a, a конкpеll.l La ' сР1|]1|е1Lu е,I| J|oщ1lос1|lu uх

anmuмuзапapoв, ,Ц.lя na]1к)1l1Ь| К(ц)пu1L1]1 |з эlnо1n сnuсa]|

вк:tltluен Мiсrosоft Visuаl С++ 6,a oduн 3 n!!чшu:t

wind o |s aaм1 l lj я|noр oв -

oБщиE сooБPA)l(Eния пo oптиMи3Aцииl{ачсс,Гвo oптIми3ирующrrх копlпrrrrятopol o6ъlч]]0 oцеllll]]аtоT llo результатaI!

коldпЛсxсnьDi тeстoв (}'YльтlalrедrтriнЪ]х' <06щeспсTeпlньIх' иЛlт l]aтrNIaТиЧeсlоlx),

чтo IrNlенIIo оптиNlЛзrrруется и кaк oстается нeясЕьlN1, oсшовнoli <и]]Teллект'

n | | | \ ' , , J ]n1ов ,U ' , I j c , IoIo | | |в пч| .o iо . гUв||дпoV ID IpULJессоPр свU.о6 i ' " 'нo l

<.n I{видаToре' нaи6oJее oчсвидпЪiх пPol.PаN'N'l{стских оДrи6oк' rIсм качес'Гвеrr.

р ' , , . ] i ' l . 1 н Ь ' I h o : , т P \ , \ ) , . n ' o l , , o l l а е ' , ч o | . | ' \ | | | , a t , , и , . [ ' 1 ь | < o в . д U , | ' 1 д , , o | ' .

ствсtlllЬlN' lrоДоIll Dа6отаTъ rliцоl Мнolo,зIlaTЬ II o)ксс1oЧetlllo дyмать, Лoi!{аJI ка.

Page 494: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

oбщие сooбрахевия no oптИмизaции 495

Рal lДaши Ли вrpЬl:]аясь в к.павиaтуpу, I to]\ fy To это в pадoсТъl a l{т i r Toл р р Л l o ' ' , , , л | ' | Ь , ( , ' . , ^ B т P 1 в | я т о p ' o , , l | \ | и ' I l p ) . | |)ltсланпe пepе6рoсптЬ чaстъ ра60,r.ьl ]]а тpaнс.nяTop впoJl llе естсствefi]loe и I{оp.Nli'lЬнoc (дnя твoРчtсTla бoлЬпIе вpeмсни остaпeTся)' нo пРи э,t.ом нynrlro зaPа.I{еeзпaTьj чтo l.lп'еlпIo orr оrlТимlIзIIруeTl а чтoтoJ.iЬкo nr)Iта€тся' llo кaкэтo l'oж-но yз]iaть? на фoне ao"!Ireii!]еI]i тсPllпIlo.nol.rlчсскoli пeраз6сplrхи' кolда однии Tс ,{e пPrlеllьI о] lтllInrзацrш в кмцoм сjryчaе на3ьlваются ]lo.Pазнo]\fyj пp.ячaсьзaничего IIе IoвoРяпlIlj\tI.l l]l'].a11паlп1 тппa <<(oPv рГoPаgаtion> (Рa3NItiort!сниe кo-пrrr:r ) lтли <. геduпdаrrсy е ]i пr inаLiоп} ().стрaпeнис из6ьттovнoсти ), тpебустся oнепькaчествеппа't llo]tvмеllтaпrIя нa l{o]!lпиrrятoр' нo онa yвьt o6ьгпlo or.pаниvивnстся тупЬI]\l 11сPсчI{слеlпrеNl otlт] liIиз] шyl()Щ11х клIочеii с кPaткoiI поrvlеTкoй'зaчто oтвсчner. ка)кдЬlii llз r]riх. какl1с кoпи1I ра3мнo,raет ].оNxlиЛятоP и с како]i1lеIью? I(акvю ll!6l||0.]нoстъ oli ус,|PilнЯeт п 3alсlr? Hе являе,гся 'lпl paзппкlжс.II],Iс вI]сссн]]сNi ЛЗrЛn1оч]1oстпl кот(DуЮ сaмorшy n(е ollтllми3aToРу l1 l1pIIxo'1l.l1.с'l

j]зЯть хoтя 6Ll r1ol{уllсrlтацlпo Ilа коillп,lлятop inlс] с++ 7.0/8.0, Этo пpoсTo Лс-l)счrnL кЛIoчсi'i к0rмltlUllюiiстpoкlI' Рa|l6aвЛспlrьiii с'(oвссrrъlпl rцусoром, в кoтo.Poп{ IIеТ lIlкaкoii xollкPс'ГIiки, сl{lчаiiтe д.Ця срав}l€llпя дoI(y]!Jспl'allиx) на ]rоп{'l tI'JIЯтоР () | рNr Ьl I lс\\| ott- Рnс kai.d] http://doсs, hp,сorл/en/86056'96002/86056-96002' рdifloход.lиllое ortлсаttrtс aРх]lтскTvpl'l IфollсссoРilj совс'ГьI Ilо t{o]lllpoваIlrпo] 1'aк.'Гик l r и стРi lTс, i rш опTl lN l|| i ] I ' l )yIо|J lc l l Tрi l ! lс ,пяILI l ! t I lа l (oнI(РcTl lЬIх l lPимcl]аx, ] la .сTояIцtu б] l6J| я l |рoгрaУ\ l l l с|a l

oсTaЛ,nIl'lс коNllIпЛ'l,1ol')I onTllNl з|{Pvк'Г п рl I11сpl кl 'r.aкrrпl хс о6paзопl, пoll'гoпryТакaя 6I l6nl l ' н lx)Л||o I lрItc]\ j ' l Ic i l lа l l д. r lЯ I l l Iх ' <э4хl)oк 'ГItIr l ( ()с] .Ь оI lT l l l t l . |з iцIr } l l3tl6с1'рllкTllьIх ll 4)р IIl)сl]Ptlпl.tl]l(]я |] ссl)lrlo lцmсTЬlх Tсстоrr' l(ll)Ii/LInii из котoрьIх]vlo)t Il o ] |l)o Гн a rЬ чсllсl ,r.l]a |](.lIЯ'r oр I I llо l рoга1], Рук.t\'tlt ' jllrзассcl'6"1 иPo BаI l ис отl{oIJlIIt,lll'polrailIlЬlх (l)lli'jIoв 11oзI]oJ]яс I ()днoзIlаtllIo устaxoвrlт]ll сlll)авllJIся ли oll.Tltlnlзa'Гoр сo свoсii зn,llaЧеii lUllt tlст'

3Дссъ сPaвtltrвarотсlя д|lit па]i60Jlcс пoпyЛярllЬIх LiDLlх.к()NluIIJIя'ГоРa: Gсс з,3.'.1(стa6rl,1Ьiltlя BсPсllЯ, проI]eреlllIaя вpcleпеr\1| r]х0дяп]ая тr 6()'Цьшl tlrсT8о сoвРcllс!Iньlх/.jltо.Pи6утпвоll) rr Iпtсl C++ 8,0 (дtllloo ]lo тскстy iсl), пoзl,l1{иоItxpуc: ъli! кaксaN{ыii эффolil]Iпrlыii к{JмrlIJJIятор всeхвPСмсIrеl{ п llaPOДов' з0.дlleвIlая oзIraкo.\Iитe)Ьr]ая' а таюке бесrlцаTнaя /llЛя lIcкolY!nlсрчeск()lt] ]lPи]!]епe]Irl' IIоЛнoфvIIк.циопa. r lЬ11 i l ' l L inL lх . leрсия кoтороro Лс)I{а 'Г нa f гр-сepвеpe 4 lиPI lы] i tp| / /down оаd.in|e ' сom/softwаre/рrOduсts/сompiLеr'dOWnIOаd5/ .сс_p_8.0 '055,tа [ 9z' JЛlцснзr1ю нa кo'Гоpьrii llоя{нo по"!учuТЬ] rrIrIrIЬ запoЛlllв РсгпсTpациoнlry]o фоl)Nlv нaвс6.саIiTе (6ез Лrtцснзtlп pa6oTаTЬ нe 6yЛeт), дЛЯ пoлtlolr,l каpтxнЬI rr это1.спrIсoк вI{лючeп / lРсвrrx i i ' нo всe ещс I iспoЛьзvеl{Ьr i i Wi ldows.кolIпи" 'тя,r . r lpNIiсrosolt Visual с++ tj,0, для кpапrrюl rr o6означaeN1ьr]i кaк n]svс,Ес"ти нr: oговоperrо o6paтнoej прIiведcнньlе пpl.l]\{eРы д0Л)к]lьl кo]!1I]]1,пrровaTьсясo сjleдvюЩll]lflJ Ii-пIо.rallrl] .0з -mагсh=pеntiUm3 (gсс)' .03 .mсpu=pentjum4 (iс])rr /0х 0ns\.с), Paзнtlllа в пrtaтфopпtaх обьясняотся теNl' чтo GСс з'3 4 ещс нe поЛ-/]ep)кивает реx{иN1а oIlTxм]]зацIrп дЛ' РспLium 4' а InLсl с++B,0 не имеeT спецIr.альнor.о к.]rюча ДЛя Pспtiurn II]' в РсзyЛьтaтe llегo llc,l{дy illlt1ll вoзни]tае'Г ]]eкo.'Гора9 <нсстъIlLовкa', Од]]аxo нapезуЛ'татъI Irашttх экспePи]!1епToв oнaникaк Eе

Page 495: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлaва зз. тeхника oптимизации пoд линyl(с

BЛияетl пoскoЛЬкy l1llкaкlr € спецI!фичIrьIе llЛя Pеntium 4 вoзNloжt1oсT'l здесь Irе

кoHстAHтЬIl]ачIrспl с самoroпpoсTогoи фyпдaпlспTanьнoгo' с кo1IсTант,To естьс llепoсPсд.

сTвеil]lъtх чисЛoвьIx t1'lltl стРol{ol]ьlх 3Лa,lенI!ii' Tnкихl нaпp пrср' кaк .1: 0x666h;

0 '96;<hе]]o' sаi]oг\l> и т. д, кaз:L,roсь 6ъI, что 'гyт оптим llзпрoвa гЬ? Oднако кoм-

IlrтлЯтoРьl пPи^leняIoт l( кoнстаIlтаll цeЛь11.1 набop NrсTollllкl o r.отopьIх мы Ir хo.

тl'Il Pа(сказaть,

свEPткA кoHстAHтBьппlс;rсltr're кolr:таrrт на .а,'llllt коrvппJl'lцип (ofloже <Рaзпlllо)rcпlrс' Irлп {св{:Рт-

Ita' кoпс'l.аll'r, сollstапt сlimilratioll/li)|din8/РroРа8аtjon' пЛtl шЛ{Pаlцсllло сP) _

ltoI|у..lярIlЬ|й пPIlсм опTltмизaцIrrr. из6авляклциii llPoГpaNIп{rtста oт нсоf]хoдIl]i()

сII] l|()с'гoяIlllо пN1с-Lь I{aлькулятоp rкuL Рyкoй. Bсс кouстаllтtll,tе вьlPа,ксllия (как

lI0Jlotl11слсItIlьle' тa( ll IlеIllссl''jсlЛiьlс) ()6Рa6ll'|Ьп]aю'гс' TPаlIс"lI'шoPоNI сitMостo-

'ITcJlъIlo и в o-|.l{o]!1I]l.lJlиporrа|llIЬIii кo/L пе пotlа/Lаltlг'

PассмoTDиM с] I . ]д\ , I ( )п lпй l lP l l l l cР i а =2* 2;ь .4 *с / 2 , l {orv l t l l J l яToPЬ l ' | |од .

' . ' , I t , l , l ' п i ' l n , I I | | ' , Г : ' | . у n ' I I l ' i | , l | | ' ' U , , l , | | \ ' | | , l J , L l I l l ' | , | \ | , р , I l ' l , , . i r l т ' l | ' l a = 4 ,

L 1 2 * . , l I l l | l , ' l t , r ' . i ' x | | и | . ] , r I l ( ' , | j l r ' v r ' | | l ' ( - ' . ' | | | | ' l \ : . l ' t ( к | , , ] l : 4 } с / 2 ' ' , , . I . | |

)rаJIсllтlю 2*a' Iк)To]\ly чr.() пРIt ylljl(Dксltllrl lIа j ]\lo)(0T llilсTyllrr|Ь lIсPcпoJlIlclillcl

i L I lp l r дсJ|с|0 lп r rа 2 -vжо r r r , locт l l ] l c I laс 'Гу l I l t ' IЬI Cкaжстс ' ч r .о это I la l , tГPа l l l l ь l i i

l , n | | \ l ' ] ' , \ ' i ' , l l | | | ' | ] П l ' l ' l ' : ' ; ' n . . t ] r r ' ' r . ' ' . l r , ' r r ' r . l ч t t , , | ' ' | | o / ! : . , I з | r г ' i ' ж ' | . ' l .

t i . i г r ' ' с l o l ' с r ' ' l r - l ' r . r r . . ' 6 t ' n . ' г т ' l n | | ' I ' \ ( ' ] ' | . ' . | | n p n \ t , | | | | , ' l ' а . l l х i | l l . 1 , l 1 ) l ' .

rцllNi сдвuIом IrпPаtsо ll:t задaI]]lос кoJlllчeствo l|oзllцnii' I]o пoсnс'П)гo кaк ||aд

пPoгр;Llil{oi.i lloра6oтаc'Г tlllтл]!lи3aтoР' э,t.оT эqхDсItT Tсряс-rсяl с вcшLeствснiloii

aрпфмсTикoii cце ху'(с, зпa.IoIUlс dоub]e (4*а/2) вlloЛlle мo,ке'г 'l1Il] сoI]пасть

с 2*i даx{e безo r]сякoгo ЛсрeпoлпсIlия1 в doub]e нaчIltlает пгpa'Гь роЛь кolleчнаЯ

Toч l loсть . ЕсЛи 4/2 точнo paвпo 2 ' - rо doub]e(4)/doub]e(2) _ эТo 2 l lЛrос ' l l r l l l yс

чтo-'1.(] очень Nlil,lеIlькoe, в rrаучItoм п{лPе ]To пpавrtЛo частo фoрrvулирyloт так:

<Peзy,'rьтaт вьгlислeпия с dоtrЬlс нr моя(eт равllятъся 0', Поэтoму всe кoнсrрyк

циl{ i I . Iпа i f (doub]e-funсt ion(х) == 0) t taдo зa l lенять на i f ( fаbs(double-

funсtion(х)) . ЕPs)' йaЧe lIe Pa6oTaeтi рсз),Льтaт вычllсЛенпl'i 6удeт зависеTь oт

веРспr,t (Osiпrr.rrятOpa I,J клIочей oптимIlзацnl- ЕсЛп oпTrrмизатoP пРевpацаeт

4*а/2 flрoстo в 2*а (вьlкидъIваcт ol{Ily oпсPaЦпю ), он,rеРяет точпoсть нс Двa pаза'

lt в один, в ноpм&цъпo наllllсаaнoй пРоrpaмN1е (r]е опсPиpy]ощсii с oчень пlaЛьi

мtI и-rlи oче]lь 60льшиl!]и числaмr,r) эTo IIесyщссTвеннol тах кalt прoгРaill1]1сr из

I]ачыJъIIo сnp0eк'гиPoв;U] код тar.' чTo6Ьl oT Dтrrх lloгРellпloсr.ей пe за]]исeть. Bl1.

димо, Рaзpа6oтqики юNll1иJ.lяторов пa нrш x oРr'ентиpуtoтся' а тoт' liто yмllо)кaет

10"(-з0E) rra 10"(+307)' )келая lloЛyчпть иj!'еIrнo 0'1 (завязьtвается на погPеIl.

II{lстЪ)l _ сai!{ сс6е и вIrнoвaтj

Улуч re l Iнaя свeрTка кoIIстarrт l в aпгJ ioЯзъг l I iоЙ лиTepaтyPe rтменуеI l iaя

<ad\.аnсеd сопstaпt loId in8/Pгopа8аtioп' ' замeняеT Rсe I(oнстaнтньIс lIepеlIеннЫe

496

Page 496: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

497

!Iх яeп.lсpeдсTвeli1rып{l' знaqeflиями' ПaпpиlleP| а = 2; b = 2 * а; с = b . а; лрс-в p а ц а e т с g в с = 2 '

свepткy кoliстalrт в пс'лной NIсPе noДleр)кивaloт Bсе тpи paссмaтpr,rвaеNlьIx кoirI l l l J lятoра: m"\. ' jс l , 8сг,

oБъEдиHЕниE кot|стAt|тllсскoльlсo сTpoкoвьIх кoнстант с идeнт]1чнЬ1п1 сollеpжиt.lЬtl{ ДlIя экollolllиlt пaNяTll Nloгyт 6ьi'Гь 06ъrд]'1нсньl (<merge>) в oдпy' To ,{е самoe oтнoсится Il Iс всцс.ствепlIьINI зпачеtIиЯм, цслoчисЛen]]ьIе 32-6птlrьle констан'гьI o6ъeдин,тЬ нrв!I.гoдllo' looкoJtькy ссьlлкa пa rroпстанту зан]'lMает бoЛьДre мeсTa B 32тaзpяДiroм

РФкиме. ссь;лIФ зaнrt[!асT.З2 6итaпJюс oT oднoгo дo I!€спr 6aйтoв на пoЛя aдРе.сaцип (oдпп 6aliт <сbс/rаel> l{оdR/l,1' :]fu1аIoщес спoсо6 aдРссaцrш и вы6иpаIolцeеpeтистPьI| дРyгofl6аih rlpllхo,lLj]'кя l]а(I)alryльтaпJвноcпoле sIв _ sсаlе{пdeх.ваsr,испоJlъзуe]!{oe д21я мaсштa6rцDBnllI]я, ]I еrllc чeтЬrPе 6aйта - tla яс]loсpсдствel]I{ocс]t'еlцепиe ко}Iстa,tтЬI B lrаrшTи)' lloэтoмy ссьlлкп тoлъкo тlaчtlная с 64/80.6иT0'вЬlх кoIlсTаI]т ста1loвятся въIl.o]lнcc, чеNl I'аllпlп]lая коIratlllа с кoпие ]toliстаfiтЬIвltутpll'дa и BЬI6opкa кotlстalJтьi llз гIa]\l,tти бЬ!сTPoдeiiсTвиIo' в oбцc^{.Tо,llе спo.сo6ствyст.Пorсalteм тeхпrrкy o6ъel(пtlсIlия Ilа слсдylolцrпt IЧ''Ii{ePe (листltll[ зз't).

листинr 3з.1. нeoптимизиpoванный кандидaт нa о6ъeд

р г , ] n t f ( , i r e ] ] о ' \ ! o Л d l \ n . ) ] / / 0 д н а с т p o к о u а я к O r c r а н т ар Г l n t f 1 . h e ] ] o ' l l o . l d | \ n . ) ] / / Д р у r а л к о ] с т а н r а ' и ! e ! т L ! q н а я п е p в о Йрn]ntг( . r 5аy hе] lO' Wог.]dL\n ')] // 3Olстанrа с L iд €нти.|ноЙ подстpoкoЙ

кoмгIиЛятoP msvс <ЧсстlIo} гellopирyет псе TPЛ сTPоItoвьIс l(oflстallтьll il gссU i с l _ т o Л Ь r . o ; l D c l l l l l x х i < h e ] ] o ' ш o г ] d l \ n ) l I { i 5 а y h e ] ] о , w o r ] d ! \ n > ' l l a т o ' Ч т опеPвaJi стрolrа сoвl tа,Дaс'г с коlIцoм вTорoii,Ilи oдин lrз кo^1пи,lяTopоs пooбP:rirlj'IlвIlимaпия, прихo/lитс'l l]allPяr.а,I'ься ll писаTьЛ|lсTllllгз3.2,

лис1,нr зз.2. ЧасгиЧно oптимизиpФar]ный вaриaнт

сhaг st]= i sаy hе]]о, Wог]d|\r l ' : // pаэ l iеЦаeЦ стpOк} впа[ lт '1pг i i t f (&s l6]) // выводиl1 п0дстpокуpг int f(&s[6]) // 3ывоA'r пOдс] l )окypг int f(s) i // Bь!ao0иф всo сrрo{y l , ]еликом

нo ведЬпозицtllo lloДстРокll в стрoкe придeтся oпPсдсЛяTЬ вРyчнуIo' тyпьIl{ пoll'счeтoп{ бyкв! илп испoльзoвa'гь illа]сpoсъt' oпPe/Ieляя дл1lllу сТрoкrr с пol1ощьlosjzeof' тoлькo''' этo же скoJькo кoдитЬ llаl]oI Пo'.тIloстъIо oптI{мI'IзиРosанIx,тliвaриaнl пpпвeдeп в лllст],.]rre 33.3'

листинг 3з.з. полtloсгЬю 0лтимизир0ванныЙ вapиант. h d . ' t o ] ' е . . о , , o ' . d , ,

сhаг *s2 = s1+ ] say ' | : // he l lO ' loг ld]\n 'P ' " t ' Zp.- l t " t '2pГ iпt f(s1)

Page 497: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

494 .лава зз, тeхника omимизации подлиrryкс

ПPичсr']' в oTлu,Jпe oт ситyациli с o6ъоД]l]1]1e!1 двух ]loJlнoстью тo)кllестBеIIIlьlхс,Грoк' прaктI.lчес]rая цс]lt1oстr, кo,|oрoй сoNlllитeЛь]la, задaчa oбъелинe]rия пirд.с,ГPокIi сo с'ГРоrLоri встPечастсЯ дoвoль]]o час'|o,

кot|стAHтHAя пoAстAнoвкA в yслoвияxПсрсNlснI1Ьrс, испo.Ць3укЛц1]еся лля <пРи1rЯтnя PeIIсния' o ветвлснxrtj в xа]чдoiiиз вето1t пllсtот lxo'rlttс llpeдсIia3уе]цьrе 3flaченllяl зaчастyiо явЛяюnlиeся кotl.

с , гаI rTап{I i ' I {oд вI rда i f (а == 4) ь = 2 * а ; NIo)ке] .6ыть прeo6pазoвaнrr if (а : 4) b= 8' что кoмпи"'lятopl,l msYс/gсс ll oоуLцествЛ9loт' uз6авJIяясЬ oт]IltuUlей опеpацliп yп IIoЛ{еIrия' a вот iс] этoго сдс"цаTЬ нс дol'аllьlваeТс,t.

кoнстAнтнAя пoдстAнoвкA в ФyнкцияxЁс.lи всс аргушrеrп'r'l r|lуlll{IUlп кotlстаtITьI Il oна не имеет никaких пo6oчньlхэффсtt'l.o! Trl1lа r\кЦI1{''iкarlии г.;ro6.L:п ьr п,rх/стaтtIч€сiLих пepеNiе rlirых (п пе завII.сl.l-г oт их зtlа.'еItliЯ), вoзвPa;rraс оо знaчсtlxс 1.акжс 6уДс1.к.)нс,l.а]tТoi'i. oДIIaкol.оN{lll'lj|'l'|.('PЬl ll ||o/lalrлякrlпerr 6ольпuпIство сllучасв o6 этoll rrс дoгадьrваloтся'] I('lеJP€|lия oIIтrIIlпЗnlт4lа oгPaнrI.iсt'oтслоп{ фvlшцlln, <сквoзrlая' пoдс1аlrorкааP].упlсlr,юв (<сgrР'lкa 4)vlrкlп.Iй') осуIII €стп],Iма Л l1Iь rr сJlyчаr uстPaиваемь]х(illlilrс) фYllкцl,lii llJIIr |.Ц06а.цЬllоГo pс)|(шN{a oIГГItмrlЗаll]ll'.

кoмI lи . r l , | ' Гор i с ] иNIс !T ( ] | l с l ( а r lъпъ l i i I l а6оP к .п lo . |с i ] . ip / . ipо , ( ] ] ( )pс] tpy|о l | i I l i i г ' l l o .6аjЬllyю olI11'Nll,li}аI0lIo ll TсJ(vЛlcм фaiiJlt, x всcх I'lсхoдIlInх т0ltстnх сooтвстс'ГB0tl.Irc' ЧTо ]lо3l|oJЯeT с]\lу |rЬIIIo]|IlЯTЬ кoIlс,r.а|l1]IyIo Iio/lстarloBкy в filе](yJoпle кo/lс( j Iист l t l J г 33 .4) ,

лиdинrзз.4. каNдидатяа кOнсrантнYю noдстанов(y

f 1 ( ] n L а , r n t Ь ){

)

t 2 o

rei lrn г1(0х69 0х96) | 0x666i

кo\{пилятор 8сс toстlrгaс-г arrаJlогIrчIlоro poзv.llЬтаTa Jш]Лъ зa счет тoго' чтo tlаypoвlIe oпT1I}1] tзацrти -0з oн aBToru aтичесr.ri встPаивaе,Г всe мeлкпе фупкцпи в Tе.Jio llPoгpаNIмЬtl в To врсп1,I как msvс встPaивaeТЛш]lrЬ нс(oтopьl € из них. И д {еесnrl фу]п{ция o6ъявЛепa как <.ilrliЛе'' oптlli{изаTop oстaвЛяет 3а с06ой прaвoPrшаTь: oсyщeсTвJ]ятЬ Ли всTрallваIlие в даllllo]i1 с"lтyчae иilи llеT.

кoд и пEPЕlv|ЕнHЬlЕУдAлЕниЕ ltlEPтвoгo кoдA

<MePтвь!п{ кoДoм' (dead codе) назьtваeтся Iсoд| пиI{oг]Ia не поЛучa]oщий управ.лeние Il впyстуIo тPaн'кирЯIrIиЙ дискoвoe прoсTpaпствo и oпePaтивнylo пaп!ятъ,

Page 498: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

499

B пpoстeiiпlrм слyча€ oн llpедсTавляeт со6oli yсjlrвисl jlожt1oсть rсoToporo oче-виднa eщe ]встадиIr тРансляци11' иЛи I.oЛ, paспoлоnrеЕlrьIй пoсJlс 6езусЛ.)в]1lrговозtsрa]a из фупкцIrи'в o l ' | | : ' , , г и l l ё г : i . ( 0 ) 1 ф : e I s е 1 . . э - o | | e . , I n ) . ( n ' r J а Л а ч э с Ь o | о Г U , l у . п e | | | | lспPаlJlяloТся всe тpи РассмaтPивасмltх коN!пllлятoрa.

^. вoт в сjlсдуlo1цеiv сЛ]лlaе 6eспo,!eзность !ыpФкelпIя n+ y,кe lI € стoЛь очсвиll-па|for (a =0; а < 6i а++) if (а < 0)ft+'Услoвис(а < 0 ) всеlДa 'lo)кпo' пoскoльку

цl,tlсJt ltачи]Iaeтся с 0 и пpoдonжaстся дo 6, и3 Rсeх тPех pассмaтpIваeI{ьIх кoмriиЛЯтoPoв эTo llo зy6aм тoЛъ]rо iс],

yдA,lEHиЕ HEиспoлЬзyЕрrыx ФyнкцийO6Ь,1вJlellпыe' пo п,I Paзy нс tsr'lзl]lllIllЫe фyrlкilr{lt iroмпилятopу lI €,гnк.тсl пpo.

сTo уl1аЛt'lTь, 'l.ехllo.floгllЯ

PаздсJllttoi,i кol{пllJlяцпIr (oдtlЙ фaiil ltсхoдlloгo тeк.

ста _ ollttIl o6ъектпъIй i\loду"ц],) llPe'цполaгaeт] чтo фyrшция' rre исllo,/п,зyloцaя-

ся в тскуlrlепl Nl o/lуJlr' впoЛнс ]!lo)llс,L tsЬlзЬits2L,(.ься пз oсTа-.rьпЬrx, Pсa?IЬ!]Ьtii Рaсiоl:!1Bь]яl]лЯс,гс,l ]111l1lь lIa с].lvlии ко]!Iпolroвки, BЬtхoll!IT, lIeиспользуемьIс функциlЛoлnrе]] y/lanllTЬ ./lInlкeP? IJо <вЬIllnPаlIаTЬ' lllopl.вylо фy]пrrlиro irз 06ъс(тlroll)

фаiixа сrцe сJ]onolеoI дЛ' эTot.о лrlltl(eРу lleoбходпN{o nмсть ]!lolllшЬ]Й J(изaссrм.6лep и нохилr,ti'i иtlrrусс'rnеlIlIьlfl ]rI]'Гс'ЦЛeк,l. вlry Лaчy'

I(oмnlr''IяToP id B Pс)кIтмe г]JooaJIьIIoii (ЛrГим't3al(пl,l (ключ -jpо) o,гсJIсж лаc1.

I Ieис l loJ lЬ tyсмЬIс фу l l к | lцп с lце J la )таI Iс Tра|IсЛ ' I lиu ' l l Л o6ъeк,г l , IЬ l i ' i мo 'цуЛЬ оIп i

Ilс llo|taдают, oсTаЛl,пыe кONtl.lилятoръI lпlilciv ТaкиN' IюхI]aстaTъся пe Nlol.уT.

пoi)Toiиy кaTегoричeскLt l{с'Рcкoi\lсlUlуеl.ся дcl'кaTЬ вeсЬ l1рoск,Г lt o/l]lом ФaЙJe(oсo6ellrlo 0сrlи вЬl l|иrlle1.e 6п6ЛlrоTcку), о(,1и 'гоЛьI(o вЬI ].lc хoтиTсl ЧTo6ы посЛс

к(J]!{пoнol.]к]l вi.lIIl кo,1 кlllшe.J] }tc xу)кIllnllи r|Р,IJloл(еI]икj фyнкцпЯNlll (Paзl'яflIe.

ппe, по'пloслry,6улет IIеJlипл'IIlм). IloruсlцaiiTo lj фai,iJl To'.lькo <Рollс'IвeIl]lьlе'

фу]lкциLt' кoТoPыс trссцa пспoлЬзуIотсЛ в llаPс и Iю о'LДeJ.]Ьlloстll ле llмctoT IIи.

lсtкol.o с]!tьтсЛa' oдxа q)yl 1](rll,Iя пaо61,скTн]'ii фli]Ul - э1.o вlIоЛI]e lIoРlц:Lnьнo' Двс.тpI4 cщс 'r.oРцll!io' a вoт 6oльпrc уltс rrере6oр, ПPисNioтритcсь' как yсТpoeЛьl

с,|alutaрпlьIe 6I16Jx1oTскl't я3ь]кa си' rl вatrll'l пPoгPаNlllЬI сPазУ Лoхy/1еIoT'

yдA,lEниЕ нEиспoль3УЕМЬIx пЕPEМEннЬIxo6ъяв.лепuьte' пo rrеr,IспoJ]ьзyсл1lnе 1leРeNlerr!IьIе удaЛяIoтся всс11tt сoBрeN'eнньII1I'i кoУ л I'lлятoраlllп. ДPeDние oлти]\ изaтoрьl удаiIяЛи Jlишь fleрепle}Iнь]е' ]t кoтo-pьIl{]lе I1poпсхo/ll1.lro ниоднol.o o6рeЩeп!тя' сeйчaс '{е oпти11!rзaтop стрoит свoе'o6Paзнoe (aбсTрaктнoе дoPcвo' ' I l Rетви, ведyщIrе в никyдаl пoЛнoсTьIoo6ру6aюTся,

B лPивeдer{lloМ примерe (лисTriнгзз 5) msvс' iсlи 8сс уlIаЛяют всe тPu пepeп'eн't lьIх , ' b и. .

ли.тинrз3.5' примеP проГpаl'lмы с нeиспoлЬзyeмЬ ми перемeн3ь|ми

marn( i i | ] r ' сhаг **v)

IлpaАaп|*Иe 9

Page 499: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава зз. техHика oптимизации пoд Линyкс

л'сrnнr зЗ,5 (npaДoлжeние)

с = 6*b: / / пrэреиевна ' с Bе испOЛьэyе iся dзн4rит . п € pе l l с l r }ьe а и i п rUние

)

yдlAЛЕниЕ нEисt|oлЬзyEмЬlx вЬ|PA)кЕнийнепсlrojlЬiryеlfьI€ вьIPа,'ксl||rя уда.!яются всrл111'DеrIя рассltaтРrltsаe]!п'l'lI l{ош

пrl-.1'rloPaмr{' Boт1 }lаIlpltl1ер' r1пс ГпIlг 3з,6,

лисгин.зз.6' пpимep пpoгpаммьL с Heиспользyeмыfrи вырaжениями

mа]n(]nt n. с ia .** v){

/ / lе иC.OЛЬзуетсл, лepe1рьвaс lс ' (2*n)

/ / 1срл0rся 'pи 3Ь loЛe из фyвкц[L l// сд[lrсr3e] юе iсг0Ль]ryеф00 Bьr'irяе[иe

500

а - i ]0х666:b - n.0х999]d * 2* i :

lB ЬЦra't{: l l !lс n+0x666 I lс ltсl lo]|t,l]ус,I.ся' ]loс l(oJI ЬI(y j |сРсl{ |]l)l,]llстс,] о.]IсlLу lo |цсl'l 0j Iс.

рaI lUe i i I IРисBoс| l11я 2*n ' l3ьЦa,{o l l t l с n .0Х9991сРяс1.с , l |фt t вЬ lхo]Le з 4)у l l I { |1 l l l l 'сЛ0/(оBaтeЛъllo, llцш lrolL )|(вllв&lтсЛTсll| гeturn (n .0х999)'

llo tsссl.l!A такая oп'Гl llI l1за ц ll n fl р0хo'Ll]т 6сэ6ojl сз t lс l{ по I{oNrl I цJlJгl oPt,l <Jitбы8a-

to].} о 1.o1!l ' чTo lIoкo1.ор],|е l]lllrIl|сJ|сr'Il,1 иN{(llоl.||o6oч|lЬlii l4]oк'| rr Dllд! IrЬl6рoс,

}lск.]IIочelпr,' i(oд в!ll(a а = Ь/сi а = d rюж]l() lЛfl.jlIti]зJIPот]а,гЬ в'Iо]\L ll L()J|Ьlil] R -

Toм ('l}лlас' ссЛll IlсPеllIeIЛIaЯ с за|]сr1o\l() ||o pillllla llуЛl(), Еlо fl!I од!lrt j1J,Ipeх Рaс.смaTI']вaс]\tЬlх кoмnlUtяr.орoв тaкoii lIPonсPкl] I|с вьIпо'!liясT! 3а6авrro' ltо в сo.

кралIе пI I аP] l tD l l сTr lЧeскr Iх вь lРаnrc| lЛ i i (о кoT. ,рых рсчЬ с] l l l c Лr leрrJ1и)

oпTиNlt,]зaтoPЬl всду,Г сeбя Ilамнol.o 60,llсс о(lгоро)кlIо ll1lкто lil ljих ]lе рl'lсllyетсoкpaцать вьlРажсl]l]е (а/а) /]o сдиnицЬl) lLа)кe "Aс'IIJl перe}!сlrнaя а завe/{oMо пe

pавlla пулюl Бapдirlr' }r ()6tlleiu.

yдA,lЕниE лиlllHиxoБPAщEHиЙ к пA1{яти

кoмfiилятс]рьI сTPсмятся Pa]]!!enIаTь персменнLnс в Рeг!lсTрaх' из6егaя (дopoгO-

стoящих,' oпePaцlril o6paщeпия Ii пaмяти, Bзят6 хoЦ (',I Taкоri код; i =*P|с]

b - *p . d' oчсвидIio' ttTo вTopoe с)6ращrнис к *p лиltпIее, It кoмпri яToрЬl пo.стуlaloт таlс t =*р. i = t+сi b = t.d' при эToпI нeявнo no'laгaeTся' чтo сi]дсpяtи.мoс ячe'llol xp нe пзl{е1lя€тсЯ нl'll(акt!м внешнI{lI l{оilolfl в пPoTивпo}t сjiyчae ol1.

Page 500: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

удалениe лишних oбращений к паMяти 501

тимизация 6yДeт iтoс],l'гь дIrвepсиoннo.PазРyIIlите'nЬнъIй хаPaктсP, Чтo eслIlпepспlсннaя испoЛьзуe,гся для o6мепa дalr1rьIми/сиtlхpoнизациir нескoльк'1хпo.o|rUв? пpи! lеp. ко||еч]|n. г ,1упЬ|| i : s .e Jн],o | ' ч ,o дЛя .ин\Po' , ' заJи,1 и( | lолL.зуютсЯ сclllаq)opы l'I мьIoTeксьI. нo зaтo пaIлядньIй. чтo eс]rи aкoiгтo драi!веpвoзвPaцarт Чеpeз нeepeзyjlьтaт свoеilPa6oтьI? наIrоEeц' чTo сслIr мьI roтпN1пo.лгlить IlсI{лючеl1ие tlo o6раЩellиIo к с'ГРапrп!е пaмятIr? .цля yс]\i}lPeния oпти.мизaтoРа во всeх этих сJryчаях нco6хoДиN1o oбъявЛять пeреп'ejl]Iyю каI( vo]аti]e(6укв:t.'lьпo: <измепзrrвьiir}' <нoyЛоtsиr]ый))' ToЦа пpи кDкlloм oбpaщениu oнa6yдеT tlcрeчи1.ЬlваTЬсЯ rlз пai!lяти.

Указатс.JIu _ нaстoя!Lu ii бпч oптIlмll3ацпIr. KoNпЛлятoР rl1коrдa Ire пlo)fteт 6Ытъyвrpeн, aдРcсуto'г Ли двi-']IсрeмellIlьlх pазлIllЛп]Ic о6,rасти паNIЯ'гп пли o6pаIдa.ютсЯ ( oднoli и тоii )кe,!чеiiкe tlамяTlt. Bo,л' llaпPllN1еР, лисTllllГ 33.7'

листинr 3з.7. пpимеp слишними oбpацeниями K пам'ти, oт кoтoрь x нельзя избавитЬсЯ

{

х . *d + *b // сЛояеEиe с0лepц[и0r0 цвyх яч€rl*b = 0 lб9: // изDe Lсr ' lе i .еЙ([ *b ал|)eс кот0p0] i нeизseсreн xоinиляlорyх +Ё *а, // не l rаpaвrи qт0 заrrись 3 ячeй(y *b i le из[eнила ' rчeЙкy tа

lI(oмпи,IяToP Ilc i!t0)(eT Р^i]мeс'IllTь сolLepлrимo0 *а l]o вDeмclllloii ]Iср0iv€rlнolt,пoскoлЬlсy, есЛи Ячciil{u *a I *b часTпчlIo tlJIи IIor'lпoс'mlo ЛeРeIсрЬIвAIoгcЯ' l!1oд!г

фикaци'l 'l.Iсйкu *b ЛРtrводиT к |loo}l(llдаIlпo]\ly изlicllcltl,tIo ячeiiI(Il *аl

To 'l(с сaNlос oTlloсrlTсЯ Il к сJIeдук)t|leMу прllмерy ("1исTIrlп з3.B)'

ли6яяr зз.a. приMеp с лиL!ними o6рацeнияl'1и к памятиl or кoтoрЬlx мo)lнoиз6авитЬся вpyqнyю

f(сtrаг *х ]nL *dsL ' r L n){

r n t r :foг ( i = 0: ] < n ]++) *dst +- r t i ] .

)

КoмIlrUlятop !tе мo}кеT (]]e l{l1еeт пРaва) вьlнoспТь пеpеNiепlтYIo dst за пpодсЛЬlцЙк.,Iа (a вдPуг dst и Х пeресекаlотся? языIr.тo этoго не зaпрещаетI), и о6paшr.ния к памяти 61цyт пpo!lсхoД]]ть па кax(/.loli итеPaции. что6ьI этогo из6с}кaть,пpoгРаI1мист доJIжсн пеРсnисaTь кoД тaк 0ЛrсТппгзз.9),

листинг 3з.9. oптимизиpoванньiй ваpиант

f(сhаг *x, int *dst ]nt i ){

f о - 0 1 . ' . 1 l O ' po Auё , J \h | 0o вp6 ' р , O i 16рр"ё , ,O ;*dst+.t| // записЬ к0Rечн0г0 pезyльraтa 3 пa|яrь

)

Page 501: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

502 rлава зз. тe\ви!а оптимизации пoд линyrс

yдAлЕHиЕ кoпиЙ пЕPEMЕHнЬlxl]jrя экoilомпи пaiияТи кoNn1иЛЯтoPЬr о6ыrпIо сoкPaщaют кo-IичeсTвo ]rспoлъзye]vьIх пepeмсннl,Iх| въIпoJ.ltlяя :L1re6рaичесl{oс РазвеpтьrвaпIte!ыРarкrнlrй rr yд:L{яя

B alrгЛoяЗъгl]Lоii ЛитеPатype зa даnltoй техtlпкoi] опт]ii!tl{зациизal{Рeп]ierr тepiIиIl <]сoр\' Рropa8atjoп>, су'Гь 1(oToрolo nоясI{яется B сЛeДующсмпРпruеPе (лrтсTипl. 33' 10)'

Лисrинrз3.10 ' пеpемeннЬeа иb_лишвиe

пi]n(]nt n ' сha.** V)

b = l d: // и3оirs , j r0rc! or перe!енноЙ i r] (1. {n } 1))гe i l i гn d ]]: // пэOавr ie iся от пеDe{'+ ]Oi j ] b ((n ' 1] ( l (n + 1))):

lovr:ltr/lttо, .rтo сгo rIожIIo пrРеrlilсать кirк 2*n+1' из6авпвIrrись t1lllзу oт двух пс'l)сNlс|n|ых' ts(с'|pll Ра(с11атPlll]ас\1ь|х l()IllIItnяТopа jlмоI]lI01nк ll пo(:Tуllак,г. (С1.eхI t l l! I((t(o l'i '].o\кl I зрсllrl,r' ДаlпlЬIii ||Р||сNj оttTl]]!lи3iLllI' я|lЛяеTся tlilсTlllrl]!t Оly.. Iаcм 6олcс r l6tцr:r 'o мсхaI i l ' з l l iа аJrгс6Раl]ч!сJ() l .o уr l ; rошсrrпя пь lpa lксrrл i i r r рас.пPсЛoЛclJll,l Рсt]1(t.П)|tI lФ l.oPьl ii бу,1lст PдссI'oTРcIi ll,lж0.)

PA3MHoжЕHиE гlEPЕМЕHньlxIla llpoцcссорaх ( кoIlвейср|ll)j] lрхll,rск1.уpoij },/{аЛelпle <(JlllrnIiIIх' кoпl'li'i пoро)(.дает ло)IoIуlo i]al]пс||]l{oстЬ lIl) дa|ЛlьrNll lIpl]вод'Iltl!ю ( lIa/lortиro ЛPo}lзпoДrtтeль-lloсTll,lr пeрei{епlII,lе lцl11хoдl'1'Гс' l10 ToЛькo <]сnоРаilиl]аTь'] но и разп Iю)(aгьI

PассrvoTРим ilриrlеp (.Дl1(Тинг зз.1 1)'

лисrинг з3.11. Лo)r<ная зависимооЬ пo дaннЬ|м

oпepации Х + у i . j мorvт 6ьIть вьrполllelIъl oДrroвРсмеrrIJо' нo чтo6ьL сOхPa.пиTЬ резУ.lrьТaT вьг]ис'qениiI' часть проЦeссoрнЬlх мoдyлeй вьпlpкдetla llpoстаIr.ваLЬ в o)к11даrlии' пoка Ilе осloбод].tTся ]lеpсNlснная d'

Что6ьr yстрaпlтъ этv зaвиси]\loсTь' кoд нео6х011и]!lо llеPспrrсaтъ тaк (лпстипr.ЗЗ'|2),

листивг з3.12' Pазмнoжениe пeрeмeнной а yстраHяeт зависиl.loсгь пo даннь|м

i ;1 i

b = а 1 + 1 :

Page 502: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

распрeделениe перемeннЬх пo рeгисгpaм 503

c = a 2 I / / . за0исиr 0т а2 ' нo нe зaвиси l от a l

Пpостelhlш€ зависulvloсти rto ДarпrъIlf пPoцсссoрЬl oT Рeпtjum Prо r' въrше усT.pапяkrт сaп{oстoЯте'llЬ]]r), PучI'oе PазI1ножс11ие ]lePei!!епllьix з]1есь тoлькoвpeДI{т l(oлич€ствo prгrtс,|pов o6nlerо rrазнaчснrDt oгPанt1чeIтO' и коl{пIlлятo.

РaNI IJх кaтaс'гPoфичссI{Il rlе хвaтает. нo это тoльI{o снaру,tt!t, tsпуTРIr lтpoцессo-p n ' o . \ l , ) к и | l с | д o p o Ь t ' , i p ' ' г l l с | , ' o г l | | | i - i i i , а в o \ | а , / ч . ' , ' , . г ' u , t l ] ( л | я | . | | , ' : ' }perисTРьl tlo меРe IIео6xo]1иNIoсти,

сЛo}к1rъIr зависилlос,t.lt l1o ДallпьIllf tlа пtlЛ{Poуpoвнe у)]{e nepaзPеI]Ir'мьr' и чтo6Ьlс]ц)ави1r,ся с lilrпrlr' нсl:16ходиN{o иr!Jе,ГЬ дoстyп 1t исхoд]loпrу ,|еt(сl.y lцroгpaмI{rnкoМ1lиЛятoР iсl yстPан'cт 6oJ]ьtrlиIlс'ГRo зависIrмoстoйl oсTaJr!нr'lе жe остaBля.

PAспPEдЕЛEниE пЕPE]vlEHHЬlxгlo PEгистPAм

Pct.l'lс'ГPoв oбIцeгo Ilnзяllч0lll])1 l]сcг0 сl]NJь' a Ilаnlс 'l Тогo Nlсlll,шс, Pсt.ис'].p ввP

llсIюJ]lii|уc1,с'L i(JIя o])гаrlllilацl,lл фрciiмoB ( rаt()I(с lla3ывaci\lЬIх с].el(t)l]Ьlnl11l{il/,l-

Рnм11) , рсг l r сЦ) ] ]Aх ' пo oб i l l e ] lP l l l l яToп ly сoгJ l i l l I I c I ] l . | Io l пспo j lЬзyoтся ;LJ l ' I Jo3 .

Pа l l l c l l l t } l з I l l rчс t lия 4)у , l кJ ( l , l t ' , F ]с (o1 .oРЬ l t кo i ! ] i l l uцn (сЦ)oкoвЬIc Oперaцш' l , yп1-

l Io) ( ( | ] l ' t c / l Lc . l l с I J l t с ) p . l6отaк lт с ( l I l l сспpoBaI luЬ lм l l абoрo l , ! РeГt l сTро l t ,] lPпхo/( j lTся l l а I lрo- t .Я)кс l tии r Jсс i i фy lткц}I r l / l0p ,иTЬ сгo 4r Ioд сукI loм> иЛи

l | ( ) ( l I ( )я| l ] to гo l lяTL ДaннЬ lo о1 ' оЛ l lo |o ре l . l l стpа к Дpу loruy ' ч1 .o Tак)кс I l с r lo6 lв .

nЯ е1' lЦх)lIз3o/Irl,гсJlЬlloс,гll-

сTраTeги, oЛT l lмаЛЬ|I ( )Г( ) l )aспP l ] ' l с Jс f l j l ' l l l oPoмoII I l l l l х l ro рcгпстрам (gLoЬa l

rеgisteгs а]lосаtion) _ сЛo)l(llaя зqtaча, коToPylo сlце lIPс/lсToиT репIIlть' Пусть

сЛoBo <gloЬаl> нc ввOдil,I вaс 1] зa6Лу'кДelILIе. этa lло6a-,rьнсlсть сyгубo лoк;шь-

xoгo llасlltm6al огрalllrчc]ra oдrloii-сдиlIсl.Rеlпlor.i фуrrl(ц']eli' а To и со чaсTЬlo,

l{oмIllJl'l'|OРьI сЦ)er1ятсЯ пoмсщaTьв РсгllстРьI ]laибoJIее ltll,teпс впо испojiьзу-

eiliьIе пrpсIlollllЬlс| ol1llil].o пoll <(I'l{'ГенсIlBнос'IЬro' зilссlJ noниN1aеTся оTllloдъ Ilе

чaсToта пспoJ.lьзoвания| а t{oJll]ЧeстBo <yпol{пlIaнr,tй'. llo всдЬ нo всс <ylюNlипа-

rl я ' равII{rзнaчнЫ ! вoтl lla|lрllrlleР, if (*a 1 16) У+;€]seс+; о6paщсrrrlек гtе-

l)ёме]lпоii с проIrсхoДиr в 16 Рa3 чaIlIеl стaтистпка o6Pащeн].lii ilс tsссl.да Nlо)кeт

6ыTь пoЛ}^{еrrr щЦ.rм пряп1l]Io alliUl]1заtjсхо/1lloго кода програruilьI' тaк чro,кдаTь

rlolюrl11l со сTоPоньi пlаIшинr'I.,. xal1вllo,

,1зьlIoJ си/с++ пoддcPжl1ваioT сlIецllаjlьlloе l{лrочевoе с.noвo reg ister' ynPавJ1я10.

nli]c Pазмсще]]иeI!I перeменllь]х' oднакo oнo нoсri1 хaPаI(TeP рeкоNIeпдацlIи' a не

IlмпеDaтива' и всeтPи PaссмаTР'lвeеN{ЬIх I{ollпirЛятoPa егo IrгнlrPиPуют1 llpсдl]o.

чt1Ta' и]lTeЛ.r]еI{ry прoгpa Nиста свoii сo6сTвеlIlIь]й ]\ аIl]иIl1тыr:i интe.flлект,

ПPедсTaв.liЯст интеPeс сpiLвIli.lтъ paспpeдeЛeнис ]lсPсмснншx llo peПIстpal{ в Iлy

6oкo влolrенньrxцrrкlах, xоскoJl rуегo втrл4ц ! о6щ}цr прorввoдителъt1oсTЬ весь-

iuа зпaчптe.fleri' PассNIoтриju сJlедyIоxlпii пРимер (лI'lстинI 33,1З ).

Page 503: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

504 глава з3' тeхникё oлтиМизации под линyкс

лиdинг зз.1з. глу6ок0 вЛoхeнный цикл чyвствителeн к качес.вy распpeдeленияпеременнЬ х пo рeDоpам

пd]n(]nt n, с l raг **v)

{lnt I . j lnt sum=0:f O г ( i = 0 ] < n ] r + + )

fог ( j = 0| j < n: j++)+ j] + 5um/btJ] + х++'

кoltпjIлят(Ц)y lllsvс РеlrlсTРoв o6lцеIo llllз]raчснxя y'r € aе хватиЛo' ll тpx llсрс-Ntell1IьIх' o6Р,6aTInBa€Nlьlх впeЛпlпм цtIкr1orI' (вьrлетолrl> п стеlt' тtоmrrurятор iсl<уJtсl'oljк|я> B 14 (l) с1.скОвьIх пеРcr]eirlJъlх' 5 (]) Л3 коToрЬiх о.Рa6aтыRакrTсЯ Boвну.t.pсl]!lспt цl]к'!сl o каl(oi.i Ilpоl1зroд]lTеЛьII0(,гll Iк)!:'.lс ]] юt.о nIO)toю l.oB()рllTl,?lBтoрoо место зlнял gсс _ rrз 10 сrсковьlх trсpсlrсItl1Ьlх 5 рaсllololксrrЬl во вfiУ,г.

Peп]Iсl1цl]rtло, A Irы спlс N'I iсIoso It] Pvl.астс,,. зl сЧс,г Чсlо тiu(о]i вLll)грr,lш д0с'l.u-гaется? oбl,I.Ilю дJI,] РaсIlрФlс.лсlllrЯ рсгuсl.Рoв Ilсtlo.'l|,зvются J.pафЬi' l.д(| в зaв]I.

lOс] . r l l l с l jo j l l ) l ] ( ) t r i l I l l | , l рс] r l (ТPo|] o l I l l Pnск l )aш' ,П i l |o] .О l8 РaзnI l t l ] | l , l с ц l}cLa _ о l .хo ' ] |o i ( I lи r ] ' ' Lo гo] ' l l J l ' гo ( t lо . ) l . ( )} lY )Тa тсх|1 l tк iL ч rс|o l ]а .3ЬJ8aстся сd()Ёп laP) ' ( )д l I i l lФ ) , l . ( ) x ' | .о| ) | | l t ' Е ln I lР l l ( | l1 ] ( l ' ' лФ 1[ц ' l ]1ос , l ' lDкс| l l j ' |l l рис 'N l j l сNо l .O ка ' |сс 'Г l l i l Pас] IPс jLс j |с | l t |я i rр l rхoд l ]Т(я | 'P ' l6сГаTЬ к | l скo ' | ( ) lюУуl lаб0Pу i )ЛРxс 'Г ! l . l cс ] ( j Iх l l l i L6J lо I lо r ] ' дсЛ i l i ( ) J l l l | х < i I l l f ]v l . l ' Г l ' l J | | l ' l l э ' л ] )eдIюJ lo ' {с| j l |я

o po iUIЬ l lo i i <3аГру){Ur l l l o0 | | ' ' Г ( ) i ' i l l J I l I I i l l ( ) j i | | t .P l rмс| | l lo i ] , Cу lL ' | |o Bсс 'мy . xorvI I j l .

]lЯ'|.oр nlsvс j,Iсfl oJl l,l]yс]. бo.д ьш кlс кo:rпчссr.вo эвPllс1rlЧ0сl(l1х lIla6ЛoflоП' lloэ-l.oNlv

с 6oJIьlllllrt o'l.l]ы,юм I1 ]] обo,tqut(r. oс га'! Ьн l,lх,

PЕгистPoвЬl Е PE.AссoцvI ̂Ци|4/lля пPеодо-l]eппя кaтастрoфпчeскoii lIехвirтк]l peгпс,ГРоB пскоTopl,lе r(оi!|]1llля-тоpьl сTрr}1ятся с{lR\{еlllaть счeтчпl{ цIjк"та с vкl!зrтe.nell lli ()6рit6аTыnaeмьleilirll-

] lыe , кoд в l{ / la foг ( i _ 0] i < n i i+|) n+=at i ] i прeвРа lцaе lся l lA l r1 н foг (p= a;

р < &аtn]i РЁ|) nЁ*p, экоllorl]lя ll.ullц()] tsllсpвьlс ( l I аскonЬ кo It '1o l'звсстriФ эTaтехrrrrка tir,шra rrprrrrеrrеrla в кoulluJlЯToPtlх qx1PllЬr 1]с\4.tt Рaсkагd' гtс oнa фиryPпPoвалa пoд геP]\! пн oм rеgistU rеаssoсiаtioп. A что )кe кoпк\'репTъI? I Bo'lьмеN'сЛeдyIоrцrlji ]ro'ц _ ксTaTи| вьl/.IраlI1lьI'i Ilз llоltуNlеIlr а ци11 на нP.копlпиJrятL)Р (Jxl'

стlшr 33,14),

лис'инr 33.14. HеoптимИзиpoваH!ый кандидaт iа рeгисгpовую РЕ aссoциaцию

rnt а|10]|20]L30] l i

r n t i . j . t lf l rг (k = 0 i k < 10 t+.)

f o г ( j . 0 : j < 1 c ' J + + )

Page 504: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

f о r ( ] = 0 i r < 1 0 : i + )а t i ] t j ] t k ] = i I

грaltoтнъrй oптI,lNII'Iзaтop iloл)кerr пеРспЙсaTь егo таrr ('цистинг зз.15).

листингзз'15. oт,ф/з/poвач'ыn вао/аrт_.LeNик.lиaла сoвмецeнс yказатeлeм нa массив

rnt аI10] l20]IЗ0] i

I

гe9ist0 l i t (*р)t20] l30] if o r ( k = 0 k < 1 0 : k + + )

f o г ( j = 0 : j < 1 0 i j 1 } )f O г ( P . ( i n t ( * ) t ? 0 ] t з 0 ] ) & а t 0 ] ] : J ] t k ] r = 0 ] i < 1 0 r + + )

* ( p + + t 0 l t 0 l ) _ 1 :lэксflePиNellт пoкaзЬIваеT, что яи l]rsYс1ltl.l gсс пе вЬlтloJr]]яro,I рсгистРoвьlх Pсас.сoцlациi.i пir n слo)]оlЬIх1 |пr /la'(c в !Iрос'].ei]llJIих слyцaях' с I'pлвсд€IlнЬl]ll lrPrгМeDoм сllРавиЛся oдl.tll ЛиUIь jс]; r]гJРoчcм' i,To eгo все РaвIIo l{с сItaсает! и msvсpaсrlPc/lcЛяc,Г PсгllстPъ1 JlамlюГo J]yчllle'

* BЬIPA)|(EHияyпPoщEt|иЕ BЬ|PA)кEниЙ

вЬiflолI]ятЬ a,llгo.)РilllчсO(иe уIlPоuloЛl|,1 оliтLlvизаToPьl lIayчl'lЛllсЬ ЛиUrЬ l|сlLаIr.

Ло' Ilo эффскT, каIL lotroPиTс,il lIРcвзoLlIlj Ir0с orlo,taIlllя, Рс/ц(иii прol.pilмNlIк|1'

скlrii к('L Ilе сoдePж,l'Г вЬц)a,rеI]IIii' кo'j'()Pыс 6ьI'llо 6ьт яс-1ьз'l сoкPaTlrTь, oткРoii

Tс дoкумc] tтaцlllo пo NILl.с lla рa3/te,1с <сhаn8in]gthе stуles ofа Wjrnlolv сreatеdЬу МFс' и пoучи1есI'' кaк rtуя(нo Ilиса,].ь прогрa\'NlЬI (лuсTI4Irг 33,16),

лисrингз3.16. этo так l4iсmsoft нас учит писaть пpoгpаl'lмЬ|

BcOL сl,lainГГаriе:]Prесгеаtel.]rndO!(сRЕАтЕSlRUСт8 сs)

{// сгeatе а Wind0! lithout m]n/mах blt|Ons оГ s]zdb]е bогiегсs style = I,,]S-0VЕRLАPPЕD ls-sYs ЕNU | П5 вORDLR:

, . е , , е { | d O J I O l r . ' 6 q o а n . . , ' е '

сs сy = : :GеtsуsiemM.|гiсs(sM-сrsсRЕЕN) / з|сs сх = : :GеtsуstеmМеLriсs(s сХsсtЕЕN) / зiс 5 r = ( ( с s ' с y * з ) с s с y ) / 2 :с 5 ' х - ( ( с s ' с х * з ) с 5 с х ) / 2 :

// сd]] |he bаsе'с].s5 veгsiоn|etuгn сгramеNnd::Pгесгeаtеl^indOW(сs);

Page 505: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

506 глава зз. техникё oптИмизацИи пoд Линукс

l{еyд]rвшe.nьIro, чтo Wiлdorvs тaк тoрпtoзитl Что6ъl пoн'lТь oчcвидrro€, пaрнЯпiиз Мiсrosolt пoTpeбовaлoсЬ Двe oflеpац{и уM]ro)ксн!rЯ] две дeJrения п двeсЛo,сeния, итoro: шес,f ], ol1epациii. |IpoBеРим, сi1o)кeт лп oптиtoт3aтоp из6аrlIть-ся oт пlусoРнЬп oпсPаций' пРсдвaРIrтелЪlrо пеРеппсaв коД тaк (JltlсTинI З3,17)'

л'q'B. зз'17 ' неof,rиМЙзЙpaвaннь|й кaчдЙАaт Йa aл.ё6раичeскoe yлрoцeвиё

sLruс i сs{]nt х jn t y i ]t ( r n l n , )

st.uсt сs сs:

у = ( ( с s y * 3 ) с 5 } ) /i - ( ( с s Х * 3 ) с s ' Х ) /

2 l2 l

l

Kоп{п]]ЛятoРпsvсuЬi6Рся rQl't 'тoм 'llе|1olIятrlo. oптllNirlзal!Р Л€гко рaскРьIвaе,r скoбки (сs 'у*3) _сs.yl

llo /lа, ыllс ],Toгo ОIl пe идer, пoсЛynlпo вьi'].'JJlяя бе(спll,tс.ltсllltуlo oJlсpдциIoсs.yi,2/2. и TуТ)](c' с],()Bliо oдyl''а|llЦ|lсl,l llpllllудlt,|сJlЬ]lo o6}]YЛяcT pсгrlсP ЕAX'lloзвра|lliul к()l|с1.аll1||ьlй ||()J|Ь. су/lя ||1) в(!lиу' Pсзу.l]ь1.1l,г ]r}lра'кclllI,l вЬ]ЧItсл'гсTся кo]\ tпxЛя 'ГоРoN| с |цс l lA с 'Г iuL l | тP;LJ l с JяIL| | l . l Io о| l сЛoL]1к) l l с рс l t l i l o l ( , I l lN lвoспoJlЬЗо3а.ll,ся (JIllсTrпl| 3З'18),

листинr зз'18. 3aгaдo.]нЬ й кOд/ сгеHepирoваH!ый коMnиЛятoром vс

mоv eal, Icsр.aг!_0:]

2 ( б0з yчстa 3 ака)

пpе0ораз0ватЬ nвОЙяоe зна(ов0е сл0в0

: n l = 2 1

кoмrrиlЯToP iс] вьr6pасьrвaст пlусoрньrli Irод пoлIтостьIo' геIIeРиР}Я чс(Тныйх0R ЕАх ' ЕAх. a вoт 8сс вoo6rrlе не вьrполпяeт пшraкпх ynрощсниiiI oднаIiо lforvIцествo 1сl о.reпъ пере;rrепчllRо. вoзьNiеNl TаIroй rrprrпrсp (lпстIтнr 33'19).

листиtlг зз.19. Ецe oдин кандидат Hа аЛгeбpаиЧeское упрoцение

{

Page 506: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

507

х _ n . n y = n + n

' rеtur iх+y-2*n+(n/n);)

казаJtoсь 6ьt, ч-t,o в нe}l слoжI{oгo? кoмIlIl.цяToРьI msvс 118сс вLlкидьlваio| всe'крoI1с n/n] oстaв]lяя сго нaТоT сJ]учaи' есJ]l.I tlеРеilleПпaя n oxа,{l]тся Равltoll11уЛIo'llopазЛтe.rlьrlo, Ito iсl вьIпOJ'I]1яeт все въГIl'сЛеltия це.I]l1ltoill' Iiе l1poи3воllя t1llt{а-ких ynPoщсни',

Т i ( ' l м o 6 p : r з о r l , л ь , | о , | н Р | l , P ] . | | , 6 р i | | Ч р . r n \ v л l , n | | . e | | | | i I c e ' ч r , 1 , , , п l , ' , Jj] Пeпpe/цскaзyе]!1ая oлеРaцIiя' не }l&1ейтесъ' что к()]vlп],lll'lToP вьп1oJIl1и1 rеза вaсI

УпPoщEниE A,IгoPитlvlAнаи6oЛъ1xий пP,lPoст пpoи3вoдUТcЛьнoстrI дaст иilсrrIiо a.flгoРптrj!шсскnя oп-. I l N l I l J " | | l Я r n J | ' o | | N | . ' | J ^ l ' | | ' l . I J , L | p t i | , o d o i ] ' o р ' ' I P o o | . ' j | | : r ' ' р ' , ' P o 0 | . y в . , : l L .lсап{rl). гIIша(oй коiJ]luJlятop с .',|l llll IРaBuтЬс,I нсts сoстoЯппп'Irо lrсякo}lсЛy.Час. lIoка' Ilо llср9Ьlii ]rrаl.уrrс o/Lе]]Ut. сoBPсNк]Ilxrnс кo}1пrJЛЯтoPьr paспoз]laют(l,l'rи' lю кpaiirtсii мсрс' llln,|^lol.с'l pilсlrc3]1iLTЬ) сIrысnoвy]o н arpYз(y тРa нсл trpу.с]!lofо кoдa l'l Лрrl llс06х()llll\юс,гIl заN1сяяIoL llсхо,цllЬIii ilлroPlП.rl дРyгlj}1' IlаNirlo'гo 6oncс э(|)q)ск,l.I.Iв!tЬl$l. BоT' наllрlIl,lср, ЛllсТIlllг 33,20,

лxбихгзз.20' кaндидaт lэ упрoщeниe алг0ритма

пrа n(] i t ] r , с l r{r . **v)

{n l j а = 0 i n t b - 0

iO|( i .0 ]<n 1+r ) а.+ // в|oг0{nirт!Oс сnоя0lи0 . )т0 tи l0мl1] и1]гO|(J.0 jq]: j t+) l r |+

)

l1Ля .lеnoвскa очсвидIlоl чTo эTш lto/l мoЛnro заlЛ.|oаTь Tак: n*n Моii Jю6xl'лniiлlsvс Ilм1-'нно так IJ xoсTупaеT' а вoт icl I,J 8сс llaк])учIiвaюT цtlt{jlЬI }Ia rrаPдаll,

испoлЬзoвAниE noдвЬ|PфкEнийхoрolrпre oп,ГllмизaтoръI I]I'пtoI/цa Ilе пЬгпlсЛяloт 3llачrl]ие о,ll1ol.o I'1'ГOГo )ко вЬl.

рaжения tвая(дьI. Paссl{oтриlt сJrедyloпlllii прпN'e]) (поllвl,lpа}кеllrrc (х*У) _ ()6-

!tee)l

b - х*t п / / вьpa lение (х*у) yяe встречалосьL Йх,у стех пOp вe leн 'Лись]

чToбьI LIзбaвиться от лпl]Jfleгo у]!л]о)кel]ияl эToT l{ol1 lLеo6ходIINlo ]1ePсписа гь тaI{i

t = х*у: / / в !ч i сЛиr5 в lpаtен '1е ( r*}] [3апOl |и lь pL .зyлЬтdта = t + ni // Лодстaioвt(а !)r1е вьjчисле lнO|r] з laчеlия

// лОд. re io8кa l f i е 0Lци l ]ле l . i э Йч. мя

AмсPиl{aнцы ]rазj,Iвaют эю цaaIенuеl|uЗ6ьl]]1oц1ю.'и, (rеd Ur]d аrrсу e]jшjoatjon) иJotнur'v о6щuI выpaжеxufr (Shа|e сoл]Лrоn sLЬехрress]оns),

Page 507: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

508 глaвa зз. техHика оптимизации пoд линyкс

Пo',rнoе yla'rсrrис lrз6ьrтaзнoстtl (Full Rеdundапс! Ehminаtiо1\' coКpaп\еНнa FRDпPедпo.]iaraет' чтo сoвпlе Paжeпия пpoшсхoдитTo].lъ].o в ос-новrъIx iryтях Фath) rrьlпoлIlеrпiя пРoгРa livlь]. Bетвлепltя ]lРrt этo}1 Ir гI]opllPyют.ся' чaстичltоe yдi],]еtlt{€ ||з6\||aчяoс,|u, (Pаtl,hl l(!dundаl1с! еliminаtiоn, с]КP|I|1\еII'н o P л t . | о \ в | | s t r P I B , L п р o l l , x \ | | Ь i i . n ' к , l { - ' ' v l t ' . Ь ' l , B 1 ' н , ' i | , I а , .Л сrrарynol. To eс,ъ чaсrЛ.Itloе yдajlerr1re i13бьпo'пкх:,r'll Yд:r-qяст из6ьrтoчпость rrа.rufloro лгIIпe' чем поJIrrоe' Ioтя пРl{ пoлЛoNl I|p.)I.РaNlI]a к()i{ll11JIирус'Гся rry1.Ь.чуть6ысц)ee' Bо,I Ti1кая UoT,гeр}llllюJ]огичeсlilu] II!Tаttlrца, Bся закавьrкa в тoriI' что вьг

рtl'(еlllrе <pаIlia] гсduпdlnсу еL]miлatiоп, llсPсgoдиl.сЯ на PyсскIIit язьпr отнюдЬllе кaк <час'ГIiчlк]e у/tlltеll,te i]бЬl,гoЧ]юс,Гп> (хо,l.l, эTo и о6щслpинЯTьlii вaPиант),a кaк <yДаtrrеппе чaсTr'Чrloii Л36l,l'Г()ч]юстrD' a <.l!ll l.сdLtndaпсу с]irпLrrаtioп> _ каrtnyдa''rеUпе пoЛI|()й Il36ьlтotJIloс1.II'j чтo сoBсe\] |le одIJo lt тo жсl

Bсe r.PIr Рассп{аTpпllаеr! ьIx кol'r| I t.llя']'оРll rl o/lдеlD|L l.l ваю t. сo9}lсс'Гl Ioс rIсflо,lьзoва.liI,l € вьQа'(еlпlii' с ЛРI'll.AДеirIIЬIN 11I)tl]!xjроIl ollll u]plLв'ЦЛl0l.с'l Jlс].l{o, нo ДaBайте

услоnolllм за/]aчу' пp"дilJlo).llв 11м кoд ttolLсtlсLа суrI}lЬI сoсeлппх элcl{епTоя п{aссивn Q l !с ' | r l l i г ЗЗ .21) ,

лисrинг33.21. nример снeoЧеsид|roЙ paзбивкoй нa пoдвыpa'(ения

/* sL]п nс i0 i ] ro .s Oг i J */

4 o v r n - o [ ( r i ) * i ] 1 J Il o i t " а t ] ' п . J . L l iГ r ! . t i i i i * i * i l ls ш = ! p r d o ' | l ' l о f t , . ] n h t i

,tIаlк: для чс,повска rrс ln'L,I)lа O'Ioв||,ц|lo| Ч1о сГ1) Nlо)к||o IЦ)еnI](а1.I) rl'llс/llvк)IllI.|N(o6paзoм ' сor1 l l r , L r l r r l L r ' . ' r r t t l l ) l ] тB i ) o l Iс l ]ац l I i i у}1I l { ) , ( ] | I l |я с l l с1] , Jрсх / ]o ( ) j l l | ( )Гo ( ' l | | ' l с .Iи11| з:\,22)'

листин.зз.22' лoлHoсrЬюоПтиМизирOва lt'й вариант(рyч|lая OптиMизаqиЯ)

]n j . i*n + j / / O]LrO i l i ] тнOа пtчиспc l [1] l . l 10 ! r ldяеПЙяuр = Vа l t ]n j n] : / / Й3б iL tЛеПие Lrdo 'п - va l t r г j + n] : / / избавлевия ! r Одвого сD0иения и lЦПOяe L lя]е t ' L - vd] t ]n j 1] / / изоaMевие r rт однOгo сЛ0яения и ,фtOв0 lи j ]. ig l r t . vа l t ]n j + l ] / / изodвлевиe.т Од l rогn l - iоцe!и! и !п lопe l usum = uр + do!п + ]еfL | Гr9lr."

I(oмпriлятоР DsvсуспеIlI'Iо JЦitлII.п .III lluпeс вLnPaжcultс i*n' llз6авпв'lIись oт ol1-l , U | . o у \ | | | o ^ ' ' | | | | n ' , с 1 l n Р | | р o в , r o н o , | Ь н o | \ V J н | | Ь l l | | N | е J Л r l , , | | | i i r l j l , с U | | .

PавдьIвaюпlIni вoз"llаIaеl'ьIх нa r]егo ]lа]1е'кд, Ana'1ol.]Iч]lы 06Разlrм пoступилll8сс. Егo oсlloпl]оii r.оlпryРelIT - iсl _ хо1.ь ll сo]rPaTиJllto-цIlчl]с'гвo yrJно)Ireппli

| а п ' I n в l l | | \ , l | i | | r ] ' и t ] U Ь i t ' U | . I l , I t , \ | U . , r l l i i , о Д , , n о , I q l l | | | : | | i | | e т в е ' ь в ь | и Г .

Г L ' | U ' , | ' ] | | | | \ | | | J а L , , | | , к U | o ' ' n в o | ч . l r r л o , l n | Ь ' \ п Р | | l ' ' l , U \ D | , l , , | | l o , v ' p .j | ( , , | | l ' Ь | | , , ' ' я / , i o , I l L , I n t o . | | | . ' ' , , l , a ' ' B | , . t ] . i I l . ' I i ' ] l ' l ' , I ь , | ' Ц , ' | , Г w .гpам]!!]1с,г lюJDке] l вьltlo.lrrlять все rrpсo6разoвaнпя саlloсTоятenьlIо' Пo l(pаii]1еiiNIеpe' ]lе()6хoДrllloдoбиTъся, чтo6ы всосoвltсстнo испoJьзyеi!{ъIe въIра]]сell,lя ]l ltс-ходпоN{ тeI(сTе l1рисутсTвoв;Llll1 в яtsrrоr1 вt'дс,

Page 508: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

509

Aкак o6стoят дe.na с улaцellие'l частllчiloli ]rз6ьIт0чн0сти? Boт' нaпpиl{ep:

i f ( n ) а = х * l + n е l s e а . / 3 п

I(oNIпI]IЯтoP пlsfс уя(e lte спРаRJ.rяется генePиPYст две oпсPации уtrttlLl}ке|l11явмeстo од}тоii, A вoт l.oмп],InЯтoРъl iсl rl 8сс пoстуflaloт пpав]т'llЬнo' вьIчllсляявьrpая{errиc x'y Bсcгo oдЛlt раз.

oптиlvrи3AЦия вEтвлEниЙ/вRANснBeпвnrм,в (hlnnсh' o11И,кe !слadbrc/6езцCloв1Iъ1r nсРехoaьl) o7t|ocя1cЯ к |bу|II\a'

мlэ11таЛ ьttьIпl oснoвaNi Л](J6оIo язьlка' 6ез котopъIх н€ о6хoдится нu oдна llрoгparvг

пra,,rаrкс <.hсI]о, rvoгlrll>|tsеДь rrьIхoд lIЗ фyllкцllп mаin э,Гo тoжe вeтвneltис ' пус.

кail п неявнoе (нo uсдь 1lpotl".с(loр сиtIтакс]tс()lll язbп(alle лрoпедеlIIЬ|). A сколъIrо

uепrлeIrиil сoдсP)кl1т сaNIa фуякцuя ргjrtf? A 6и6Juo1.еl(a вРеi$еlIП испoлrlrния?

CyпсPсxaЛяРltЬlс NlикрoIrlоlк]сс()1)ьl' |loс-tрoепllьiс lro кo]JлeilrPпoiI aРхIIтсIiтуPc(а всс сoврсNrсIlIll'c NIl]](poпРоlIeссoРьI |iNlellпo тalt ]l устРоellii)' 6ьlсгPеc вссlю

вьtпoл}lя]0I ЛUIlсiil|ьIй lФ]t l] |leJlаП!l/LяT IIL'тrrJс|rlш, B Лy.|пlсм слyчаe ouI,I дс:]o.

Pисtlтl]pyl('Г lIрol(\x|(I)' сneгкa ilрlIoсTallllrлшвaя вь'пол||сilис пPol.Р;tNl^lЬl| в хуlL.

шc]!] )кс _ tюJllюстl)ю oчиlllilloт ю|llrеiiеР' A lln послс,1ll,lх Рcntirlп]'ах oll oчcIIь

дJlия|ll,lii (]l o к tqloii ](х]JlсдуloU{еii Nl(,lс.rJЬI() с1'аlIo|lиTся l]сc дJlиlIIlсе ll lullпl-нec)' ];ыcтpo сt]c l'lc зllflo.JIlll.lI|IЬ-' l]а эT() Il())к0T уjilll nc oлlla с01.Ilя'j.iLIс'Гoв' ч'ro

вЬlзoI]0,г o6ва]lьllоc IlitlLсllIlо tlрol'lзRojll] l(JlЬlюс1.tL'

oIl'IllNllJз!l]( я l]оРсхo,'loIJ дAс,].зIlnЧll |.c'llьIlЬIji Лl,llл.|)l'Jl], осо6сIIl{o ссJlll ollll рi]с.lloJl0}l{сlJьl ]]|ly,r'Ри lllllсl()3 (I{с'rа1.'1 юl]oPJl| ]LllкЛr)I _ ),I.0'гс ,iс сa]!т!nе IlоPeх0дЬi)'||()этoItу каlrCсTl]o кoм|IIl'llяT(Ц)il lll] ll Il()с'llсlltIl{)lо о'lсРC/lЬ оlЦ)c/leЛяrT(я el'о у]tjc-Il исм l Iо'll I l()с'гьIо l,lji l | Ч i]с,L.l.I ч I lо 11збal1,'lя'!.In] я о1. Ilс-l l}Jlсl lll ii

вЬIPAвниBAHиE пEPЕxoдoвllpoцессopЬl, oсltoB^l!llьIe Ila '/1рaх ]n!e| Р6 ll АМD K6, пc тpe6yют вьЦаBrlиBa.l1ия l1сPсxодol]' зa l.lск.1lloЧсllltеllt Tof() сiуЧilяl It()tДll цc'ltс]raя llllстPукцItя ]'tJI1l сaN1a| , o ч i r | | д ] ] . P n \ U l , р J . | ] ' | . | | l r ' , | | P l | | | | | l l ' . | , ' | | . , l l ] | ' l i к | | | . I U J : l \ | ' в P l ] y J L J l .

lllэгo Ila6люДaeтся зrI1ч|lTс"1ь}1oc Ila,]снlс IlPoиз1]oдптe-l]ь}!oсти. нalI6oJьIl]иii

УпIеРб пРпшl IяIoT пeрeходьI, rlaxo',tяпlrt{rся п цt lt,]Iах с l{otfпактп ь]м TеJIоN| ],I 6.)ль.

ш Nl уpoвlleпl в']lo)кeIl'tя,1Iт()6ы llадсlll,l,i llрoI1:lвoil TeJIЬlIoсTп пe llроllсхoдl.l'no' l]е]lоToрьiе коNiпllлятоРьlIlpи6сlа1оТ l{ вшрaв]Ll1вitlll'llo' РaспоЛaгiя llIlсTрукцlIIl ]lеpeхol]a пo кРaTlII,тм aII-pесам, и запoлпяют o6pазуюrциеся дь]рЬl ltезl1aч.lщrlIrи и11сTрукциямll' таXrlмикaк xснG EAх,ЕAX (oбмсн сoдсp,кllllоl.o PсгисTpoв ЕAх ilссTаllи) lrxи |40v ЕAх' ЕAх(IiePесьIлlta сoдеp}кUпloro ЕAx в ЕАх), этo yвсxичиваоT paзllсP к..oдa и нескoJIькo

сни)кaeт eтo пPol'lзвoДителънoсть, пoэтorry 6eздyl'нoе (o]rо )ке <aгPeссивнoe>)

вьlравtllttsаlIие Toлькo вpед1lт,

Лrrкo поj{азать' чТo juаlrиrrншr кolrандa тpс6yсT вьtpавнива1lия в тсх и тo.пьlroТеx сл}чаяx, Itoгда yсЛoвис ((addr я сасhe']en + sizeоf(oрs)) > сасhe ]en) стaнo.

в'1тся llстIт]lпьll!, ' здeсь аddr л rlеI:iньiй аДpeс ипс'ГРyкцllи, сасhe ]en pазмер

кэ '.лиllеih(и (в завпсrrмoс,ги oт тппa прoцессоPa pавrlьIii з2, 64 irли 128 6aй

Page 509: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

510 глава 3з] тeхника oптиМизации подЛинукс

тап!)' oрs - сarIa мarllип]lаЯ иliстрyкция, I(o.nпче(твo вЬIpаlrп{ваIоnпrх 6аilтonPaссЧI,Iтывaстся iтo фoPмyл€ сасhe

,len (аddг: сaсhe ]en),],I1'е+Iнo тaк поступа1OT все пPоlраlrilllстъIl в)адеюпlие язьп{ol1 Aсссм6лер' A(-сeм6jеpl1lиlo1' н() To.пъкo пе кoмflllJтятoрЬlI NIsvс и iс1вoo6щe не вьц]аB]l]r!aютперeходoв| а 8сс вьЦaвнивaeт цеЛeвую lltlстрyкцию на ф]1кспРoвa]]]1yю в€"]]и.чи]]y' крaт}rylo степени двoI;ки (тo сстъ 2' 4' B,,.), что яв.]lЯстся кра'1rrо ]rеэффеr(.тIlвнoli стратeIиeil вьIРавril]вaIl]1я; oдн:lIФ да,rе ]т.noхаJI стрaтегl.lя все )itе J.lучшс), I , r \ l с o в . " \ l | , l I l . а ^ o l , T { f l c г j , l , Е o p с , | | ] \ , ; l , , о , о , I O , | , o l | l ' , ' , е ь о \ | |

| | , ч | ' ' J L п | . t .x lсl гelreР[Iрyют неyстoiiчпвъпi код' Toчнсе кoд с <(пJraвaющril> пРoизвoди1ельнoстьIo' б!rстрo,1ritствt{с котoрolo гJraвIrьIIf обpaзolj ijaвlrс]lт oт тot.о! рirсщеrIляются 'lи 1."tу6oко влo)кс]lньIe пeРсхoдъI пJ],I IIе1, ̂ эт()l в своro очeрrдъl заtsис'f oт ]\flJо)кесl.ваTрудlю llPo]]lозирyсп{ЬIх о6С rФ]ТсЛьств' вкntоч:tя {)азу.[уlJъrj1 I{o.llичес1.lo осaдI{oп'

Уuитьrвaя' v,t.о срeдпяя д''r'нa х3G.иIl(тPvILщ]ii сoсTau.lяс,|:]'5 баi'iTа' цс'псс()о6.Разпeе вссгo вьlРав]]].lвa1I] Il €PeхolLьl пo гРа1]]']Ie четьiPсх 6aiiТ (x-'JIоч -fа,ljgnjUmрs*4 l io lп l ,ЛяТоpa 8сс). I{Люч' fno.а, l jgn. jumps ( l ' lЛп :rквx laЛеl l1 l l rn i i с i lуfа] jgn. jumps=1) o1т ' l l ]oчает в l , lрnвI l l l l lа|L l r{] ' I{Лiоч . fа l ign. junrps=0 за, .((] i ]с1ц.c;

nьЦnIJltиJrаlrrIe l|о у}к)ЛчаJпlJo' illJ1o]!JxT||L].сInJ ]]ьi6lrрrсj\Jo€ к(Б1lll'ЛЛ-r(]ln)i}l Л ЗаlJ]lсlli!кх]т!I o'J. Tl'llIil llpoцесСoРn.

Фo1) l {Улa ра (чс ' I а o l | | l lN l l l ' 1 ! J l o i i ] i Р r l о сТ I l l l | ' l p ; l l r , l l l п a J ] l l , ] д ] |Я | l Рo I l ( ' с сор l ) l l o ' |I l lLс] Pe] l t iu lц I[ ) l i r п lc:i г ((аdd. l с i rсrс- еn l sr/eО|(ODs)) > с i ]с]]c-]сr

o I ,

чAстичHoЕ BЬlчислЕt|иЕ yслoвиЙзJIсTя1..,(вll rL1)OкoдIl'llа oЛпlI l{nlnPlrTIiJllii' ЛрvIoii lо'l{с Il.l с.]Bсp,t' rrоl хopоLJlllii ЛР}'i1сР Tirхllrl]tJ1 6t,п:пpolо 6ц'lевоzo u,t,ttlt:ltе]1lr'l (ц (|t1lц1|ое oьlц1Й1(nш, цс']o|зui ' Рafl,iа | е|)а ll|||iЙ] оl l rst ф nl j|,iоns IIJ|| 5h|,7 l]nсln'?8 ) ' O )6с1rrс] п l(,' r lr 1Чсгo t r6ь l ( |1 .POro ' в пeм r loT . l ] ( j ' l l l l l IoРвoе l I J l l 0ско j l ькxх ус iо l l t l i i l свя: lа l lньIхопeРаTopoN АND' Jl()'{rlo (Где вlU(с'lIlr kЛа,црtl1rjI,Iх кlrо|(oдIr",l()i]?)' oстxnInlшo !'iсtIс ]lьltlUсJ']Ioтся, Lo()1.вcтс].llеl|||oj oс.nп lre])!oс ,tз llк'кoJЬJtllх vс.]]оnllii] связаlI.ньrх о]|еpll,гоРolJ 0Rl ]lс,гIlнrI.]' trь]чrlс"!лть ()сTaxЬЛl,lе liсТ ]iY'r/(Ьl, I,I э.Го () ||lloдЪ IrcсвоисTв0 о]lтIIlrп]laToPit (кaIi у rвсP'{дax Л. I Iсl{oторьlе Pсrurir\l II ЬIс 6\ц-пеl.ьr)1a тре.6oваrtис язьatz, 6ез кoтоpоro BсTвЛerrrIя в uда j f (х && (y/x)) 6ыJoi6ы ]tсвоз\'';lr{.IrьI' пoскotrrькy вьIrluсjIЯть зllaчснIrс пьЦ)iDflснпя у/х Iloлnlo Тolда rl ToJr,ILo,Гогда,кoIда x=10' тo есrь вЬlрахеrxlс x пстrlllнo' в пpOTllвно[I с.llучае пpoцссс.rр вri6рoсI]т исItJlючениe и вьIIioлIreIIиe Jlрoгра]vllЬl 6уДeT ос'Iанoв.l]снo. ПoэToмy тa]Q'сTpaтеr.ия повеl{сния сoЦ)altястсядахe lIPи oткЛtoчсн1rоп! oпт]1NiIlзal.opе. Bсс ТPIrIrасс]!fа'гривaепIъIх к{lNiп]1ЛЯторa пoддсp,кIlвa1oт 6ьтстpос 61.лeвo вьiilIlсЛсtIl]е,ЁсЛU Rь]р {еJiиe (a : b) пстиtпlo. вьiрФкенпe (с : d) у)кe Ir € пpoвeрЯcтся]i l ( ( а = = b ) ( с ' . d ) ) ' '

yдA,lЕниE и3БЬlтoчнь|х пPoвEPoкHeбрeжнoe кoдирoвaнIrе чaстo пPrIвoДит к пoявnенIrro из6ьIтoчнъlх LI-Iи .цфI{езaвeдoмo Jroх(ньIх I]PoвePoкl полIlостЬro l]ли час,Гr1qнoдуб.]1иРvIo1цI1х дРvг/]рvга,

Page 510: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

511

наxP]rп{сp:jf (а > 9) ,,. if ( а , 6 ),.,, o чсвиднo' чтo втoрая прoв..pка лlтrпняя, и iсl6лaгoпoлy.rпo еe удivlясT, oс1a'1!нъIe Pnссl'aтрllBaeмьIе коNIпиjIятоРЪr тaкоii спo-собносTьIo lIe o6JlaдaюТ. пoслушrrо IеI]еpпpyя сJLедylOщи1i кoд 0reоптпrv!иlJиPo-вaяlIьIii варlaнт):

r f (п > l0) d++, е l5е Геtu .n 0 ii f (n > 5) d++ е l sе .е tuГn 0 | |i f (п < 2) d*+ e l se ге tum 0 | | зaвeдoпo лo3ная пр00 €рка

и oптIlN!изирoвaнньtи вариaнтii f (n > l0) а+-2; о ls € r € |uгп 0

yдAлEниЕ пPoвЕPoк нyлEвьIx yкA:!AтЕлЕЙПpolpаNiпlltсTъ] Дo сих пoP нe Nioгут oпРеДeJtrlт'сЯ' ктoдo0кe]] oсуществЛЯть IIРовepкy aplyпIс]1тoв. вьrзъIвaJoпIaя ЛjItr вЬIзывaсмая фyпкt1ия' Nlrroгис стандaртьlкoдир()вaltn' пpсдпrIсъIвaIoт вь]поjlIlя'Iь 1.акуlo ]IРoв€Ркy o.)с11M (nи(l.11нг ЗЗ,23)'

Листивг 3з.2з' HeoптиMизИpOванный вариаHт

f ] ( in t *р)

/ / пpоsеDкd l i ,2 !о){сr б l т ! lдаЛ €нa кo iDиляr r rрO( ,/ / ra1 3 .к l rЙ rp0дшес iв03аr rа заr lиСь пO yказ i ] rent rr i (p) Ге fuпr *p+1: с ]s ' " г0 tuгn , ]

i// nрo30plа l ! 1/запись r0 y(аз i] iсЛo] f ( р ) * p - 0 1 6 9 e ] s e . r | U . n . l :

lЛишflltс прoBeркп уBеrn lLr I{ваlo.Г pаз]!tер I('lll,l iraмсД,IIяrоT eI( ) l]lnll(),rll1cflи. (oс().6снIIо eсJIл ]lаходя1.ся l.лy6oкo п цпкле)' rrоэтoIIY к.rNlпlrr|'1.()p 8сс лоЛле!){ll.вaeT спе цЛа-ll ЬIr ыi] t{'цloч fde,]ete.пrll.рointrг.сheсks, <вЬIчlnцalolllrlй> rtх llз llPr).граi l l lьI , вся соJrъ в 'Гом' чт(] х86. l lPоцсссоpьr (к:rк rr 6ольлпr l rсrвr l дрrгrrх) нaаIInаPатноNl урoвпlj о1.с'llсживаюT o6l)arIIelпxl к llvJс!ъI]\ yкil:lir|сjl'i\lj авTоN{а'' r .ическшвъI6рi lсьIвая eсЛl lTaкoсо6paп1elrrrе l (с i lсTвитеЛъпопРoизoш-'io, ПoэTоNIyrсЛ!I nрoверitе пa <.Леги.гllмнoсTь> \II!aза,|еJя r l Pсд]rJестnv.eт oперацIlя Чтellия/записи пo этоMу vкaзаTe.lю' э,Гу lIрOвсPltv ]\{o)кно пе вь].полпять. Paссмo1P!rl! Jrrfст]lнг 3з,2з, сначаJа пpoхоДuт llPoверILа ука3атeJ1я(пPoверкa 1)l ]]oтol1 в него запilсьJвaеTсЯ чllсJio 0x69' rr yказатeлъ пepeдаеTсяфyrп{Ции fl' вЬtпoJ1няюrцeй пoвl.oPную пPoвеPку (прoвrPкa 2). кoNIпиЛятоPвидuтl что втoрaя пpовepкa oсyщестI]ляeтся yже naсле o6pащенuя к указаlnе-,IJo (eстeсTвеппo' чтo6ь] сlfу этo yвидet.Ь' фyнкцxя fl дo"'rn{на 6Ьi'гЬ вcTpoeнаилLl дoЛ)кеп бьtTь задсйствoватr ре'кfi[] rjl06 ЬIroй oптимизaции). кonlпиlя.тop paссy)кl{ает тaк: eсли олерaция t1Pисвоенrrя *p = 0х69 проходrш yслешIroи пpоцессop не вьт6рaсьIвает rlсItлюче]lияj тo vкaзаТеlЪ р lapaнтиРoвarrrrо нeрaвен }lyлю Л в пporrерке нет llиI{axоi1 rry)кдьl, Ес'.Iи ?xс укa3aтеJ]Ь равсн нy,.Iю'

Page 511: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

572

Тot.да пpп o6РащeIIи' к нсму пpoцeссop вь16Росr]т искnючеfl]тe и дo lrpовeрки

дслo всe Рaвнo нс дoilДет' Taк 3arlell niе тоrда еe вЬтполнятъ?

кolпиnяToрьI ]nsl.с ll iсiтa].оIi т.rхнrtш! oпти[пIзаI1llll ]te пoJl]1еР,к!iвaloт' Прaв.

,xa' в pс:кrtlIe гло6altьrtой oптиllllзaци и iс] ]\loжет yДa-!ять ]reс]ioJlько пoдpя'1 ll/lу.

пlйх пpoвcрок (прп встрапRaнпи фy ]{цuii этo I1Ро 11схoд]1T ДоBоnьIro частo)' пo.

скo-llъlrу эToяIlJiяетс,l чаояъl]\f сjlyчaс]!1 Tех |IпI{l l удil'rсI l J tя llз6ыточнъrх poвeРокi

oдяaкo спryацrtю <lIрoвеРкa/пюди('rкацпя.укtlза1eJIя/o6pащеlt с'{.указnтеjю/

прoBсpкa> jсl у]кс llе oсиJlnТ, i\ 90т gсс спPaвЛяс1ся с нeli 6ез тРyдаl

сoвlt|EщЕll иЕ пPoвEPoксoвNIеlценIlс лPo!epoк oчo}Iь Iк)хo}кe lIа пol]Тop1loе пспoльзоваtlие поr'lвьIPa'tс.

пIrй: ссlrt oдllit rI1a )flс rlPoвсРка IIPllсyгствуeт в ДIrух llnl| 6олеe iuесTaх I.t oтсyт-

ст!УloT IтaРазит]1ьlс 3аl]IiсIlпIoсTll ll0 il;l]lllъl]\I' всс IlрoRеРl{п ]\]o'rнo o6ьeлин11ть

r r oЛIJy (ЛIIст l I l I гп 33 '24 и: ]з '25) '

либингз3'24. неоптимизиpoванiый ваpиаiт' две пpoверки

глава зз' тeхникa oптиМизации подЛинyкс

rf (сPt],-тY|,|. *. АМ0)x . A ц D - l 1 ( } )

х - . I N г Е | - г 1 ( t ) i

]г (сpU- lYPt . . AЦD)n = дl']]-l2i D ) i

а _ ] l l l LL l?(b)

ли.тинr 33.25. oптимизиPованньЙ ваPиaHт, тoлЬк0 oднa пpoв€ркa

1l (сPU-тYPЕ -- Al]l)) // rОr '(О OлHir пPoв.Plа

{х = А|]D f](y)]a = АMD-fZ(b)]

l

{х = INтIL f1( ! )d = INтЕL |2(b)

lиз Bсех ,грсх кoмjlилятoров сoвi{сщаTь прo!еPl(lr yllест ToJlьl(о |сl' да l11() ше

сoкPAщЕниЕ AлинЬ| МAPшPyтAЕсли oдиll yс-'ioвtlьIli r1Лll 6flyслoвньIй псpсr(од уl €зьiвaет на дРуl.oii безvс.noЕ.ньI]i 11ерехo,ц' тo всс Tри рaссl{aтривaсNlых t(oNlлплятopа aвтojilаTичeсIш поРе.

iraпPaвляloT ]lеpвЬiй цсЛсвoii aдрес I1а пoсЛсдl1rlii ' чтo Ir дeмoIrстPирУет сЛедyю'

щr]ii llРЛмep (rистиIrг]1 Зз.26 И ЗЗ.27),

Page 512: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

лисгnнг з3.26. Рeoл'/ч/з/Poванrь; вdola п

E]tO lаb 1 : // пeprхOд кieт{е ]db-1 а бeзусЛoвныЙ пeрeход кПеrке ]ab-z

lаb-1 gOtO lаb 2 : // пеpeхOд ( heтке ]аb 2

iuь-z.

листинr зз.27. oптиМизиpoвatный вёриантgoto ]db-2 ; // срaзу пеpexсди'l к rтке ]аb.2' Dинyя ]db-l

]ab.1: gоto ]ab-Z i // neр€ход к шв'ке lаb-2

1uь-z.PазyмеeTся' oпсpaтop gоto lle o6Язат€льllo дolDкrн IIPис]rтcтвoвать в пpoгрaмм.tloм l(oдe B явtloill видe, а впo.ltнс моrrtет 6ьrr.ь <PaсTsopен' в цикле (листинI3З'28).

лис'инr 3з.28. Heoптимизиpoваяный ваpиaнт

// lab- l i f ( la) gotо ]аb-4

51з

{\,лi]e(b) || 1ab-2,i| \ h) goto ]ab.3 /* пeр€xoд на оeзyсЛoBн6Й пеpехoд '/{

/* (0д ци(ла */

) '// gоto lаb.2

] // ]аh-з gotlr ]аb-lt / 1aa-4

Лoс'лe oптпмпзaци и :'lтoт tсoд 6yдот вьtглядeть r.aк (лиcтиllг 33'29)'

лисrинг 3з'29. oптиMизиpoванньLй вaриант

{rhi I e(b){

/- l]0д ц'lкла x/

// ]ab-l ' r (|a) gotо lаb-4

|/ 1ab-2| jг (]b) 9OL0 lаD-1 /* oлrи и3ироsaно */

jmp lаb l ; // лrpeхOд ва усЛoвнЬй reрехoд

] // qоtо lаb 2} // ]db-з: goto ]аb-1

// 1ab_4

Aналoглчньrм спoсoбoпr oсущeсTвляcтся и оптI]мизаuия услoвньry'6eзуслoвrrьIxпepeхoдoв| yIQ3ьIвaющIIх нa Другoil yсЛoвпьIй пеPехoд. вoт, пoсмoтpиTe нe.oтттип{изиpoваtlпьlи BаPиaнT:

lаb- l : j i z l db_2И oптимизиpoвaнньIй:

jn, l аb-2

lаb-1: j ' r2 ]аb-2

Page 513: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

514 rлавa з3' тeхника oлтиМизации пoдЛинyкс

ЗаметIrru' чтoв сиnу oгPaничeтrнoIi <дaлънo6oйнoсти} (с]\{, paздeЛ (Tpансляцияi{poTltих усЛ0в11ь1х пеPехoдoв>) yсЛoвнrnх пеPсхoдoв в пeкoToрI'1х случаяxдЛи.]ly цепoчки r1Pиходится нетoJ.lькoуN1енъrxать| Ilo Il yBелиЧиlaтьl пpи6е.аЯ lс сЛe-дyющeпly тРюкyI

УсЛoвtIьIй и"1и 6rзyс'roвньI!'i пеpeхoд| укaзьIвaioщпй нaвьlхoд из фуIJкции, всe.митрепи кoмпиJrятopaми зaN!eнясTсЯ на tlепoсрellствeнньrй вьIxo]1из фyн]сции!при yсЛoвии что кoд'эlтилoгдoсTатoчI1o маЛ и наl(ЛаllпьIe paсхoдьi нa егo;1y6JIи.PоваIlие пeвeЛики (Листи1lги 3З'з0 п зз'31),

листинг 3з.з0. HeonтимизиPованный ваpиант

f ( i п i a , ] n t b ){

{] i (а -* b) br €аk| // усЛовн!Й псNlод 'а rеLuгn а

l

l

листинг 3з.31. oптиl'iизиpoвaнный вapиа!т

{

lr. (a.. b) гetuгn a] //нrпoср €AсraеннiЙ |oIUгn d

l

)

ytt.lЕнЬulEниE кoличЕствA вEтвлЕниЙBсe трtl кoмпrrлятoрa прoсмаrPl{Baют rrо]1в I]o1lскax yслoв1IЬlх IlсPсходов' пе.рeпрьIгиваtoщl,It чel}e3 6е3усxовньIe (соnditjona] Ьгаnсhes ovет urrсоnd]t]ona]Ьгаnсhes)' и oптшlлrзщ)уlo'г их: инвrpTиру Io l. yОroв н ьIii пеРеход| псренаце'llи.вaя его нa адPeс 6eзyсЛoв}ior.o пrреtoДal а сaм 6сзусл08шЬlii ]lсреxoЛ удаЛяIoT'yменьrnая теNI саn ,]м ксlлпчeсTвo вeTвлен]f й I]a eДиницy' llеoпТиl"i'1зl.lPoвaн.

i f (х) d=а*2 e lse gоtо ]аb-1 // д3Oйвоe вeтвление ] f - . . ]se

lab ' l l с-a*10И oптимизирoвaнвьrй вариантl

] f (]х) goto lаb 1| || oдинарноe вeтвЛЕниeа=a*2i

Page 514: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

515

oпеpaтop goto нe о6язaте"ць]1о дoЛ}i(еп гlpисyтствoвать в Тrl{стeявIlol ol1впoлIlеNloжст 6ьпЬ частьIo do/While/breаk/сontjлue, вoт' iвпpимсP|листrтlIгиз3,З2 IrЗ3'3з'

ли.тинr 33'з2. HеoлтиМИзИрOваннЬLй вариант, два ветвлeниЯ

l l r i l е{1)

{]f (а==0х66) bГeаk;

)| || скPыъЙ r]eзyслO8ш|i] пeрехoд l]а lrачалo цикла

листинr 33'зз. oптиМизиpoвaHный вариaHт, oд|ro ветвлeниe (ветвЛениe nepед началoмци@а нe сЧитаетсяl так ка( испoлняeтсЯ всeгo лишЬ ра'

// ''сr]lDанис

OднOЙ итеpdlLliи цL!кла

/ / и i вepтируем псpеход rолькo Oд l rO 3eтвлeниe

i f ( а ]=0166 )

htr]]е(а =0х66)

сoкPAЩEниE кoличЕствA сPAвнЕниЙIlpoцсссoрьr сештс1il:l.lllL х86 ((ак I{ r\lfloгlrr /tРупre) o6ладaroт oднoй oч€Ilь иl1.TсРссl1oii (ollпс|lrlпсii| l(oтoPоii llс,l.lIll в oдllol 'зЬ]кo IlьIсокol.o yPoвпя' оxc.рnциI, вti/lа if (a>b) в),llto'llnЯIоTс'l в lвa этaпа. сItaчaлa I'Iз чltсЛa а выrIиTAеTсЯlпtсJюbl tl fi)сTo,I l j.l с lJътll ]lсЛлToЛЬ11oго yсTPo ii(Tвa сoхРal иc'.сЯ в Р€гIrстPe (Jлa.IoI]' Pa3JIllI]I]Ьtс ко]!т6r|Ilaц}'lj фiAl.оп сooтвe1ствyю-l'РaзЛЛtIтlьIN{ o'].нoIllelrIlJi]\lчllс0]ll tt зilI(lDl0ll'|ii ll Il|]х о'гвсIIilсT <сI]ой,' y(,loIrllЬIii пepсxoД. ЁIaпрI,l]!tcРl JILI-<r.trI tг 33,34 '

листияr 33.34, срашreние двyх чИсeл нa язь|ке ассeм6лерa

сmр cах ' r0х // сpaurиваrм rах сс l r i , запo!ина'r p0зуЛЬтат во фЛalахJ l ]аL l 1 // пеpеiо/r cсrи eах < 0bхj9 lab 2 // пеDeхол .сли еах > rbХ

lab з] // ра3 мы злесь ' r]аr -= еhi

Ha язl,trсaх вьtсоltогo у1)oBIU] l]сс lIе Tаx] u orlсPaЦию сPaвllеIll,l,l ]lpихоДиTфl lloB].ol)я1'Ь нcсILoлькo pаз ]loiцrяД,ч1! llo сlIoсo6сTвуo'Г ни тФмllaктностиl нu ]IPоиз-водl{Teльlloс'|и, l1о ' моn{eт 6ъrть' ситуaци ю uu rрап ll1. oIl'l.иl!'изa,].oP? PассNlt]трl,lм

l l ( a < 0 х 6 9 ) р f i | i ( b ' ) :i f ( d > 0 х 6 9 ) р Г r n t f ( ! ' ) i] f (d == cх69) рг]ntf( € ' )

.цIrзaссe]!16JlиРовaнпe пoкaзывает' чтo кol{пllлятoру nsvс пoтpе6овалoсь цельrх]]ва сpaвнеIrия. a вoт iсl 6ЬlЛ0 дoстaToчнo Ir oДпolo, кoмпиЛятoР 8сс ]le зatIетилпoдвoхa и честIlо вьп1oлтrил всe Tpи сPавпeпия,

изБAвлEHиЕ oт вЕтвлEнийTeoрия yтвepхдaет, нтo Л106oй вьiчисЛиTe.цъriьIй anгoРиTNI пloяснo paзвepl{yтьв ЛинeйI]уIo lroнстP},irциlo, зal{eнllв всe вrтвле1lия п{aтel{aтпчесI{имl! oпeрaц]шми (кaк прaви.llo' за]Iyтaпньlми и Iрollioздкиlrп)'

Page 515: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

516 глава зз, т*ника omимизaции пoдл;нyкс

РaссNtoтpпll фyllкцlпo lloисlia NlаrrспNlyrla сpеn]{ ]1в!.( цеЛ Ь]x чисслi ( ( а>b ) ?а : b) 'дJя наГ-qядпoс].lt зitпltсаннуIo та(: if (a.b) а+. как uз6aвиться oт ветвnelrия?B этoпl пам пoNlо7ке1 машrlнIrаЯ l{ollаIrДasвB' pеiLJ] ll:]уIoщaя вьIчlIтаtllIе с 3aеIIO}i'нaЯзъкe aссеll6Jlсpa этo lIоIло 6ьi 8ьIгляДетЬ' паlIprшlrp''гaк (лllсTIIlIг зз,35),

листивгз3'з5' Гloиск максиМyма срeди двyх целЬx чисeл 6ез испoлЬзoвания ветвлеHий

suB b. dотвяrЬ 0r сс l ]eDнииог0 b. значенlе . i r ' ' 3апLl .аa резyльrат s 'b.€сли а > b тo проЦeссOр yстаяOdит ФлаГ заeиa в eдишl(Y

sвв с' с: oтнятЬ oт сOд.сpпЛl1 l ] гO сyчетO! фл i ] la зae|а ': зап lсав ре3yЛьта l Обрат io в с , ( , с вDe4сшая nсp0{eвнaя)i Если а <= D. тO флаr зaсxа сO0oш!н l , с б}деr pаsнО 0

Если a > b тo фЛаr з i rеhа rс ]аП03Л0. и с ' бyдeт рdвк0 lAND с , b

aыпor iитЬ битовyю oп €рdцию (с 8 b) , зап. .1са3 рr3ультar в ' . ,Если а <- b ' r . флаг зa € f l а rа !с l L !Лю' с раsПо 0 .зна .ит ' с=(с & b) == 0 0 пр0]L i8 l ro[ спt rа . . с =. b а

ADO а сслодenre со]lcDпиloг0

D r o c . . ! . i ] l e _ 0 + ( D . а ) : - L )

I(oпl l l и'rrлтop ш s vс l t o,'ц1ср)Ill lllllст i}iш1| |ly Dс1'lj,I|оI l l t1i ]\lа,rсiм ilTич сс кl,lм !I o IIсраj'll tя.]tlI.tl o/l||aкo ],lсnoJlЬ3Yc Г llсск()Лl,I() Лl)у|}ro 'lr!хвllIiI' oli(nвая jIPcilIloч'l.с|l1.l0 ll]lcт.

рyкl ll l]r sЕтсс xхх' Yс,гдl laвЛ 11в;rI() |]l0 ii Хxx в ./II l Il llI lуl сс.ll ]'l уОl oвl Ic сс lJс1.llll l Io, l{nI(IloкаэЬltsасT IIPal(ГtlJ.a' llls\( ()|l1rII!lIзlrPyсT тo'п]lI(() lroTl],llсllIl,l кoII(тnIlTшofo 1.l.lJ|а,Toсст l ) j f (n > m) а = 66; е . l se a = 99 i сu{сoл1 ' | lм l l l r l i Pvс1 'сЯ 'a 1 f (n > m) а = х;e l se а = у: _ у , .е l | с ' | ,

I(oмIIп"'Iя1.о]) gсс, l.iсIloJlьзvlolцrlii llllстpукцIllo vслoв]fulг(J ll]rисвoсllия сli0vсс'oпт l l ] !{и i l l , l PyсT всс коt l стрvI{ l ( l l j l Г l i l l a m. in ' naх ' se t f l а9s , аbs L ! г .д ' , чтосуnleсTвсl]нo yвir-tt'lчI,Iгlaст l|роllзL]oдlrTo,IIЬнoсть' oдпaкrl трс6уст rсак плппrмупlРе]ltjuln PIo (llнстPукцпя SЕ'tсс Pa6oTaст ll IIа lпte] 80З86). За э,Гo отвeчаloTкЛю. l l1 - f i f . сonveгs ion I l - f j f . сonvers ion2 ' котоРь lе l Iа ] lЛатфоp l !e Iп tе] э (впвa.леrIтнЬl дPуr другy. (вooбЛlе IoвоP,l,8сс пo/.lllер)ij'васT Nlноnrсстпo кЛючеi.iloтвсчающrl!за лllliвllllацlilo всTв.rIсrппj' о/.lпаIсo na x"цаrфoрN'е IпtelolIп 'цu!rс-]iы сN{Ь]слal поскo.IlЬку в ЛciLспкoЛе х86.llPоцсссlopoв прoсTo llcT сooтв€тствy.

КLlшlилятоp iсi еlIпIIствсtшЬrii rв всеx трeхl ктo ]lс заn!еI{яеTветвЛеlltiя Nlа.ТсNIатIlческип1lI o]]еРацlrяпfri (чтo B св".Тe aкТивноiI аIитailЛл 3a кOмaндЬI sвв/сl]OVсс' Pа3вер vToil кoмпarrfiей Int{'' вrnгл'дит дoво.llъЛ() сl.pаIr]rо), Bo всякoNrсnучаe' кoмllrtJl,1ToP нcдеЛirет э'Гoгo явl1o и в IiачrстBe кo]v леrrсaцrIи IтpедЛагaeT испoльзoват! x]lтPи]rсrlк]i (oт аItIn, <iпiIiпSiс>' буквaJrЬнo <внyтРеннl r> нeсTаllдapтньlс oпePaтоPЬI яз ЬI I.а' 11еlloсPeдствеIr I ю Tрallс.1upуюЦиeсяв мaIIин]rьlй koд; 3a 6oЛсе пoдpобньIli их oписаtlисil o6paпIaiiтесь к Pукoвoд.

Page 516: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

ству на lto]\l]lиJIятop) tr фyllкцl{и llуJrьтиlfeДиiiнoй 6и6лиoTeки sIМD. в чaс.ТпoстLl' цlIкл видa5lro. t a l4] ' b[4] сt4] i' o / 0 . r . . .

с t i ] . i r t i ] > b t i ] ? a t i ] b | i ] :

lllt)я(ст 6ъIтЬ ]tсpсIl'кjair так (устpанеll]1с вeтвJlсE!пi путсм исtloльзoвания фyнк.цllli selесt gt 6и6лиoтскU к"']ас(oв Intс]sIМD)

с - 5е lесL gt(d, b. a. b) ' ] / ф] ' lкция вe{r0pнO о r lОиска !а l{сиByiа Oeз ветBлснийЕстeствeнпo' .ral{oii кoд 'IeIIсрснoси11 ll пa ДРугllх ttoN'пиЛЯтopaх рa6oтать ]reoудет' пoэTon,v прс,кдечеl\l lioдсlDк]1вaтъся fla IotcL' слеДуeтвсе взвеспTь и тrцa.ТсльIю обдyl'aTЬ, тсп! 6onссчтo il.цЬтеРltаТиIrIII'суyльтимеДийt{ь]е 6и6лиотекииNlсIo1'ся It на лруrllх кoм]lIr-lIят()Рах,

oптимизAция SWIтсHollеPilтoР Мuo,{есTвс]lllоП) Bы6орn s!.]itсh oчellь ПoпyJlяpeн сРeди прolpaмми-стoB (oсобеIilro РазрtlбoтlпrкоB wilкl(Nvs-I]l)l,',o,J(сllиI1)' B пeкoтьрьIх (хoT,; и pед.ких) сJlyчаях oпoРаl.oРЬl Ialoniсс1,Ilс!l]loго ,'l5оPа сoдoр)кal сoT;и (; To и т;сЯ-чи) I lабoр()в зJ l lчс , l i I i i , I l сс ' l t l l ) с l I l а 'ГЬ зa/Laчy

"pавr Ienия uв лo6, , время

вьlлol|||сIjtUl o|'lс'рa,|оl)а sl4itсh ока)t(]ljя с,llIlIJ]кoM 6oЛьlflим' чтo llе 'Ilучl]]и]!1 06.рllзo]\] скlu{сl'с' Ilrt o.Лцсi,l iIlюll3l]одЛ'l.с'llЬ|io(тll ]IРolрaммIlr| пoэToNlу пРснe6рe.гil1ъ сгo оIl1.lINi113inl||сЙ ll || IJ l()сilJ с,rlvllа0 l{С-цl,3я,

БAлAнсиPoвк.A лoгичЕскoгo дPEвAЕсJllt o.IпJ|c.l|,с' oт YсГояl]Il]сiiс,I IlЛ or1ы <{)Ilсpirl.oР sW]tсh Лaeт спeцпaЛьпьliiсuосo6 BьIбоPtl ollllог() lll] I|l|()ГIlх llrрlIilIIГoLll lloтоРый :ralrЛючaе,ГсЯ в прoвePкeсoвIrФ"telllDlз|laЧ(rп{, ](аlIl]ol.(r Лl,lp,rn('Jr||я с oJL]tоii I,lз задalltlЫх кoIlстaпт в сooт.aсTсТвylol{сlll веТllJll)lI]|l>. jllj.|{l) llolixзl1.ь| чro sl,/itсh ЛPeдставляeт с060й зaвya-JlиPoвaIlЛЬIIl оllеPаTol) lIouскa (()o'Лrсl.сГвY]olцсгo сitsс'зrlaчсния'lIoсЛ1эдoвlTe'lЬньIй пч)e6oр вссх IlaРll.ll]Тoв| сoo,гвсTсTвyIо ]иii тPивиaпЬнoп!y-цпIIе}rноNry ]Iоl,lску'. заlIя'Гие Il()РoчI10е ll крайrre пеэффeIсrrrвнoЪ, !oпустим'паш oлePa'foр swltсh DьJlrI,]дUт TаIi (Л,tс1'иrlг зЗ'36),

ли.тинr зз,з6. нeoптимизированнЬ й ваpиант oпeрэтора мно)кесгвеннoгo вь60ра

{l а р o 8 . . O l о о р o о 0

/ , , o ,

сasе 4 : /* кOл 0браоOтчи[а */ b .eаk 'саse з : /* код оoра io l{ rш */ bгеа[са5е 9 /* {Oд oоpаб.виsa */ ! гeа l . ;саsе ?2 : /* кoд обрdб.iчика */ bгeаr|саse 0 ] /x r]0д обрабoви(а */ bгеdkсasе 1 t : /* кoд oб!абoтч[(a i / b .еаk|

Page 517: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

518 rлава зз. тех|икa оптимизации пoд ЛиHукс

л'cIинr зз.з6 (npoАaDкe|]ие)

666:9 6 :

0браоOтчикa */ bгeаk:oоPdoотчикd */ bгеа[ :oбpdоотчика */ bгеаt IOбpабоrчи(а */ bгеаk:

TоrЛa соoтвeтствуюrJreе rпry неоптtпIизиРовaннoe Joг]'lческое ЛeРево 6улeт дoстLIгaTь в ]]ьIсoTy oдиIIIIа]lцатil Гпe3Д (!пс' 33,1' .]), ПPrlllei!]' xа Левой вelке кoI)tlевoг0 l.l1езl{а oIQ)кeTся а,( десяTь tФугих гltезll' а IJа гlраgoii _ в0()6цс нl'l одЛo.Iо, Чт06ы uспPавпть <лeрекос ' ' ' рa3pe)кeNl oдx! вe|ку нa двс и IIpицепItмо6Р8овaвIлиrся fu)Jо!]rпкlr к lювo}lу гIleз/'1у' соДePжar|к]мy vс.]t()в]1el onре!(еЛя.J()lц.Aе' в какoii lтз вe.Гoк слеДveт tiскaтЬ сРaвlil.l|]aeмую персNlеllliyl(). I.Ilпри]\{eр'левaя l] €ткa пюя(е'Г сo/.leP'{a'ГЬ гпе3дa с tIеTIjь]ми 3llаllе]lttяl'1и| а ]lрiLt]а' с I]e.четt]ьIl{и' но эTo rlлохoli xРитеpпI:li чсTlIьrх и Ileч€TlIьrх |}l]ачclJllii Редкo 6ЬlваеTпoРoulry n ulк,въ о6Рaэуe].ся п€Рeкос. гopаз/lо J]]]LllсnarcL'Il()с,|уllrll't' lnкi 6срсi!1]IаItNIellьшec и3 l](сх зllaчс,ttt'lii и брoсaL'Il сr.o r кучу A, затеNI 6сpспl нar]6олЬltlсе]lз l]ссх зtlaчсIlIlii и 6poсасIl с1.o в кyчy B,.].a]{ noв'IoPяспI /lо тсх ]loР' пol{a нr Paс.(oртIrрусN1 всс l,ltiсIo1rll,tсс' зtlаЧсtlltя (PIlс, з3,1' 6),

Пoскo inку oпсPAтоP sя i t сh TРc6yст yI l } l кaльпoст l i каn{/ l loГ( ) l ] l l a l I c I l l . l я ] T( ) сс 'Г l )](а,tдос чl'сло ]!toт(e'г пстРсчaтЬся '(l]lllЬ oirriаж/lЬ|t Легкo IloкilllilT,,l ч1\)| а) l, ol)с-rlх ку чirх 6удст (oцc P,(атЬся рlLвllo0l{o.]]Ilчес.jJx] чlt(сЛ (Il хy',(lJIcNl сJlучао. R ()д.

] lo ] i кучс o l (а) (стoя l l a чI rс j l i J 6( ) ,лЬLUс) i 6) l r сс ч}к: 'ц l l кyч l l А N leI l ]n] |с l l aЛп|с l lЬnIo .Гo r l3 чисс '1 l (у t l I l B , с j |с l (o l ]1 lTсJ lЬ l lо ' ]1( ]с ' l . а ' t ( ) I l i Io Rъ l I io . l l i l ' l ' l ь T( ) j lЬко о , l l l о(lрilвl'lсlJис' ч1.oбЬ( оIIрсll0nuTЬ' я l(l|кoii rl:l 'Irrух llvЧ с.J]e/(v01. lIс(il,|.ll сРill]IIl,|l]illj.

1." / "

"=1.=1,

Iа > ] 0

t у / \

, а > 5 - a > 9 7

/ \ / \а==0 a==T a==9в a==1T7

/ >/ 'vt >// / / /а = = з а = = 9 а = = 2 2 a = = 6 6 6

I

1.."-7u*'' '

.=!n" 1

"r1u-)"l'' >

I

Pис. 33.1. switсh/саsе.дeревo| a_ Hесбалaнсирoваннoе; 6 с€алансирoваннoе

Page 518: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

519

Bьrсoта внoвъ o6рaзoвапноr.o дepевa 6удeт рaвнa ((N+ 1)/2 + 1)' Iдe N_ i{o,и.Чсствo гI'eз'l сTдpol.o Дrpева' fieiiствитсlтъно, мьI же 11слим ветвь l1еpева iiадвoеи дo6aвляЪNi шoвoе rнозДo oтсroДa и 6еPrTся Q + 1' а (N+ 1) нeo6ходIrNIo ltляoкPyl"tепия резvЛьтата деJreIiIrя в 6oЛь1nyю cToрoнy, Тo eсть есЛи вьIсотa пeo-птпмизпрoва1]ноIo деpeвa дoсТI1гала 100 гпeзД' тo т€пеpъ oнa умсньriJиласъ дo51' Чтo? lЪвopитe' 51 всe равно Nlнoro? нo ктo нам меrпаeTpаз6ить кDкдy]o ltздвух вel.Bеji сщс нaдвe? этo умсньnnrт uьlсоTу /tсрeва лo 27 гнезд1 Aнaлoгич]lo'пoсЛеДyroщсcyплoтllепиeд сT 16 э 12.+ 11 -э 9 э 8.'' 1I вcеI БoЛеe iтЛот пaя уlla.кoвка дlrpсва v)itе ilевoзмo;кна, Hoсогласитссьl вoсeNlь l.}1сзд. эTс] lle стoloптIr-j\Iи3llPоlaннЬIIJ R aРпa!]r. oпсpатоРa s\'/i tсh 9 хyДrJleм с,Iу'rае пoтPeбyeT Ли!Iь пят11сpавнcниil' llо jI эТ0 сщо Irе предeЛ]

УчI.Iтъlnilя' чтo х86.пРoцессopЬr всr тРи oIIеPациЛ срaвнения (<' =' >) сoвitс.]IIаю'r н i]Дrloй п{аnп]IllIoi'i кoпraнде' /'{вoич]]oс .п oгиuесtсoс дсpево пlоlоlo ttpoо6.Разorra,|ь в l.Polrчrloеl тоЩа t{oвьIх гlrез/l llJI,] сгo 6aлaltсиpoвкп дo6aвlять ненужllo' IIPoстсйпI'lli nЛ[оprtтпI, I{aзъIпас]llltfl ''rcпodaм ompезкotз' pa&lтaeТ l'aк:соpтrlpУcll lсс чIrсЛa по вoзрастаrll'lю п /tсJljl]\l пoлyчпвlrllйся oтРезoк |IolIo.naII' lillсJl(),\l rlдхoдяпiсеся l|осoPедlЛJе (s Ilaш0i{ случae ] 1)' o6ъЯвляеrvi ReP.]!rIнoil деРeDа' a чnсла] РaсIl('lo)ксrtнЬle сЛeDa оT ]lсгol - eгo JlcвЬlмп !eтI]ям|.|!l lIод'стI]япl|| (в наlшcrЧ сЛyч^e i)'|o 0' 3' 4 и 7). oстaльrп,rс чI,lсЛа (22' 96,98,066' 777) r ' (уT lJ l l l lр l l 'o ' I . Iовторясiu э,гу oпepаr lп lo PскуРс l ' I l l |о l lo Tсх пoРl i Iок i lд]ljlllir llодт]еTuсii llc сo(рaтIJ'Гс,' ]lo сдпIirlllы' JJ кOясчlюiu счсT0 в'Iрilстсl.сnс.цуюlцcс Лcрo|]1) (рис, 3З,2).

//

,/l_\а < = з a > = 7

/t l\

I

\ " .= 'n"

,/l\a < = 9 6 а > = 6 6 6

/t 1\-L Il l

Pис' зз,2. трoиЧнoe дepево? часlиЧно с6алансиpoвaннoe

oчeвlД]tо' чTo этo lIе сaNloс лyчrllеe Дерово Irз всeх, N1aкспп fuaЬItoе кojrriчестBoсPa}пe]]l1'l (тo естъ кoJtичссTвo сраRllt*]иli в хy'rшeм с,'1учаe) сокpaTи.]ioсь с пя.'Г]т Дo чe1 ъlрсх' а lioлlFlесl.вo вствлепий loзрoсЛo вl1вoс' в peзyль,rаТсч0гo времявьlпoЛllс]rrul oперaтopа slvitсh ,ГольI.o вoзpoслo' к-ГоNIy же стрУкTyРa пoсTрoe.]tt]я ]lсрсва яllio ]к: o111.]'1маль1ra, гпезда а<=з' а>=7, а<=96' a>=666 иNIcютсвo6oДrrысne1]l]1| чтo уnе-rlПчllrrаст въIсотуДeреla }rа e]рпIицу, Hо' мoясeт 6ьrтъ' коltпллятopсyNlсст это опTпrllизrlрoвaть?

.циэассем6ЛиP1rваниe пoi.aзьlBaeт, чтo I(омIlIljятoр ltlsvс leнepиpyеT тPoичпoедeрeRo' с6.r!ансироiаш]]oе пo vлyчnlеЛнolfy аJiгopитмy oтрeзI(orj сoдeP,GпIеe

Page 519: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

глава зз. тeхника оптИмизации пoдs20

вс€гo ли1lIь 7 опсparlий сPавнснl'Iяl 9 всTв.tснцй l1та6ЛI'пIу IIеРrходoв нa lu эЛе

iй* iй, p""o"', "с.здaшпс

та6ллuы пePсхoдolr>), B хyдIlIсм сnучaе gьlflоЛ

; ' " ; ' :ъ ; . , : ' , , s i l t сh | <г ' - l т J , , r , в ' A ' ' ' ' ' ' , ' r д . r влer r r r i i Т ' ' j , ' ч |nр . . | , сdo '

, ; ; ; , ; ^ ; ; " ; . ' ] ' ' ' , ' ' ' , | ' ! j ' о \ | Б ' ' . o i I i , l | | | l n / , , ч o l n { 1 : r . . | | ' e . I o I ' \ а o г | ' I r \ l у

. ' ' ; : " ' . ' . . . ' . ' ' ' , , , . .

| | ' , | , ь | , n | | i t ' . , , J ' . , п " r r r r r r , B r ) ' l t

' , v с 1 - l . l | р в D l | o I п Р ." ' .

, ' " " ' , , ' " . ' " ' " ] . . ' ' ' . ' ' ' . " . ' ' ' ' ' ' , i " P i P ' | " ' ' l Я | | с l | в | F , , , , , l ( ' ' l t '

' | , | " | ' '

iс]' pа6oiirюцпli rrо пPuнцxЛу tlРос'го].o Л1IнсijЛoIо пoItска, стpollT двo1lчllo€ де.

."uЬ u" lt "pu,u"nni

,1 11 !етв.llfllllii. в хyЛшепi сЛучaс всс yзлЬllтеPепa <llеpс-

i."oo'*u.'.'o ц""uno,', Boт тaк <опrlrlпIзацlrя>|

сoздAниE тAБлицЬl пEPExoдoBЕс]tli зlrачсяlrЯ BeтЕсi,l Еl,l6оPa пpeЛс'Iаlrляl()т сo6оi1 aР!к!i!lетljче(куIo IDоl.pес.

с.l'. i',i'.',''''' з,зz ' зl]'38)' кoмпll''rятop мoжст с()оPNlllPовlть л?dti,i]4, ??.Т]lr.

'nаou "n..'o'

nрunu'LсксlРоI]l ппniiсаse зnil.Iсrrl !яlur l ] t сoдrPжirпo1ii ),кil3iLте-

;;;;;".,;;;;;;йi'.''" lrьl сrrse'о6pa6oтнIrки B )Tом слyЧilе скoлЪк0 6ьl oпсРатор

switсh tlП сoДеP)каx ветвcii * ('пtv п.]Ill i!п,IЛЛ]Jott, - оll ]rьilюЛ!!яeтся 3aоцJly иTe-

Рaцпю, кpaсотаI

лиоинr зз.з7' l сon-/"r'rlo.ва'l ь; ч^ rс5, оOl"ч/]oвd.| ыi |о пo/| ,/| .

}гoooдоче |ror' oolфv" /чe.loй -рoгpeссии

{саsr l ] /* (Oд O1]р. iоr .и(а ./ D. .ёKi

сasс 2 : /* юЛ 0oраijO]!и(ir r/ Dгei][

с sа з /* loll Orjрd0or]i(a "/ 0.rr;l|

саsе 4 : / . rorL Oб) i] .эrч i ld r/ h i ik

саs € 5 /* 1ол ОU!.r l ro]ч,кd "/ 0Г0i](:

с isо 6 ] /* (оп oора.0 .пG r/ l r r !" i rk

са5е 7 ] /* (1 l] об!t0.]чшка,/ .гoa(:сasе в /* к0]] OоPабoгrи{а */ b..a(

сa5e 9 ] /* 1. ' l .6рa0oiч[ ld "/ Dгeаr:

сasе 10 /* (од о6раоoтчикa r/ D.оак

саsе 11 : / * кo ' ] Oбрaоотч i t а 1 / 0 l с l k :

l

листинr3з 'з8. дизaссeм6лeрньйлисlингoптимизировaнioгoвариalтаоnеpатoра sW tсn

с i р e а х , 0 в h

jd shoг i l0с -8048зГ5 | dс fdЦ lL

eсЛи d > 11 ' 0ьxоциt П j i rпсpeтоpa 5 ' r . сn

jmр ds .fi 80t857сledr*4:] i slitсlr .]um! .. *щдu* уuрu." ' . сО.твe iст9}ю[Leну саsё .OорaбOrчи(у

] rаки[ L .брaз . ! ' Otнo сраанeниe

// тaолицa спсLrreн[Й саsе 0брaбOr+r(ов

E-

Page 520: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

off-80485/с dd Offsrt ]ос'8048З|.5 DАтA )(iЕг] mаin+11^гid 0ffset l0с 8048зЕ8 ; jlmp tabl€ foг sw]iсh stаialL€ntdd оfisa| lOс 8048з19d. offsеt lOс 8048402dd оffset l0с.804840вdd offser 10с-804841,1dd Offset ]oс 80484jDnd ollsеt lос в0.18425dd oifsеt lоl.804r]42Гdd Offsеt ]ос,'80.18438d. Oiiset ]ос-8048441d. Of|s€t loс-8048.|4Г

Cоз,]авa'гь la6'ullцьI псPех()/.lоll yмсltt'г всс тpIt ])n(сnlа,|рlIвnеi\| Ь]х коIIln'rятоPal /]:l)l{с0с!'ilт эJrellc]]TЬ] xpоrpсссIrrI t teкo,L.oрьrпr o6pазопI lrсpсlrспl:rпr,r (.urlстингЗЗ З9),

лис'инr зз.з9. г]eoaтимизирOванньй sW tсh, организoвaнный rro пpИнциnу yпopядoЧеt]нойаPифметичeскoй пpoгрeссии

521

{

)

оор{r io rcи1 i */ Dr .а| iOбраоo lчик i */ b .еаk.оJ]iоо чИ{а */ Dг""r[ ]r rбD i l00 lч[ (a l / b Ioаk:00рd0Or\и (а */ bГoаk ior jраоo l .икd */ brсаkoбpa6cl ф1а */ h.еi]koбDaбOlчфc i / ! гDot :оbраo l rтчи(a r / bгoаk:0t lра0 l r rчЙ rd a/ bГеаk ioорaооrчи(ir */ tr..dt

ЕслI'I oДпll Лll нсскoлькo эЛol'1снтов пРоfPoСс]Ill отсуТс1.вуIoTl сoотвсTсTвvlоIlIие 11NI значеl{IIя дol lOjlн'пoтся 4п к lj tвнЬIl{ l l пeрехoдншка:ir ш к dс[аulr о6ра6oт.utlкy' Ta6ллцa lrсрсroдов oT эToгo, I.oпeq IIot <Pllс]lIухаeT'lrrrtIlа скоРо(j1rl вЬlII o:lнс1rия oгIePаl.opа sl'J]tсh Irе oTра'{aстся'

oдпакo rrprr дoстпrltettIrll нскo.ГоРоii noptlroвoй в""лlвиньI <1aзpеrкснrrя> та6ли-Цa llсPcxoдoп вnеза]lн.] тpallfil)oPмиPyстсЯ B двorrvное/цlоrr.rнoe дерeвo, Коlп]1лЯтop пrsvс. сдIlrrс,гвellrt!tji Ilз всеx Tpcх' с]Iосo6rll,lii xoм6I'IпироваTl, Ta6.liпцьl пеpехoдoв с л l]г1I l !eск]1мlI дсРeвь 'ми' Разрe'(е lJ t]ьIe y l lасTши с дaJrекоoтс,гoящиIlи ДPугoт дРугaзI]ачerr].lямIl 11()]]тlIрy]oтс,l в виде дeрeва] a rусTоrlасе.лe]шr']€ o6-'IaсTП уxакosъIвx]отся в,lа6"1ицьI tlcPсходоB'

Bepнсмся к листuнrу З 6' З aче1\11я9' |1' 22',t 4' 666' 777 vlloPЯдoчIilraтоTся в видe Дсpeвa' a 0 l 3, 4 ' 7 ' 9 ЛoжaтсЯ в та6nиц1' пеpeхoдoв' 6лaгoдаpя не:шyдoстliгaeТсЯ лPeдeльlIo вlrlсoкая скoрoсTь вьlпoJ.т1Iеrt]1Я' 'IaЛeкo o11cPеj{rarощаясitоpосTи кoнпypеII'Г0в'

Page 521: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлaвa 3з. тeхника оптимизации под Л

сBoдHAя тAБлицA

visuаIс++ 6InteIс++ 8'o Gсс з.з'4

упpoщ€Hие вЬ|pа'€ний

улрoщeниe aЛгoритlia

Page 522: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

52з

дeЙсrвиe мiсrosoft IпtеIс++ 8'0 Gсс 3.з.4кoмпилятoPа visuа| с-+ 6Использoвaниe Pаспoзнает Явныe PасПoзнaeт всe Pаспoзвaет явнь|еподвЬLрахений пoдвЬpахеiия пoдвЬpахеHиЯ

тoлЬкo в oснoвнOйпoдвЬpахения

вырaвнивaние He выравнивает нeвьpавнивaет вЬpавHивaетлeреходoв no фаницe сrеnени

двоИкиБыпрoе 6yлeво лoдд€Pцивает пoддeрживает пOддepживает

удалевие ИзбЬтoчнЬ х не yдаляeт yдёлЯет Hе yдаЛяет

yдаЛ€Hиe пpoверoк |.lе удалЯет нe yдаляeт Удаляет

совМeцe|rие прoвepoк ilе совмeщаeт сoвмещает He сoвмeщаетсокpаU]еlие длинь сокраU]аeт со(paщает сoкрацает

УMeHьшeние кoлиЧествa yмeнЬшaeт yMeнЬUrает yме!ьшаeт

сoкрaщetlиe сoкращаeт часrичto |']e сокрaцaeтсoкpaщаeт

Избaвлeниe из6авлЯетсЯ |lиr(огда Из6авляется всегда,oт вeт8лeниЙ oт вeтвлеHий не из6аM'eтся когда зтo вoзможнo

БалаHсирoвкa тpoичвoе дepeво, ДвоиЧнOе, трOЙчнoe дерево,лoгическoгoдeрева сбаnансирoваHloе нсс6алaвсирOванное сбалансиpoвaнloe

yлyЧшeняЬм дeрeво мeтOдoм oтрезковметoдoм отpeзков

сoздание таблицЬ сoздаeт сoзAаeт сOздаeт

поддеPжкаразpeжeннOЙ Лoддeрхиваeт пoддеp)киваeт пoддepживаeт

сoвмeщeние таблицЬ сoвмещaeт не сoвмeщaет Hе сoвt4ецаeт

BьIBoдЬlспpапеr.l".lпвlх1.l1 !адl, Ilа"!ь]l первeпстllа lla эT(]T рaз }lе j1ос,Гaпется 1]]lкoI1у вс0тр]r кoNiппtя1l)Ра lloказЬ]вaют од1]пак0 вo gxсчатjrяю Ilrе резy"llьr.а'|ьl! l1o пPoкaJIьтnaюTся в Ilе-1очаr, fIrrз]]ц1rя iсl въlгnядит дoстaтoчfiо сиЛьllо]i) оДнaкo нa 6eзус.Jrовнoс госпo:1ство lill].al( нс Tянст, I{ак lltт]ll'Ni!м. сIly пPедстoит llavчиTьсявыравнимть пeре\!:rri. заIlснЯтъ вeтRлeI Iия l]а |сl1aт]тчесlill]!Iи oпеpацияlfll и пе-

рeвариваTЬ l )пepаIOp 5 l1J i t сh ,

Page 523: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

rлава зз. техНика oптимизации пoд Линукс

кoмпилятoр gсс, с yчетoм eгo 6eсЛlаTI]ости' пo'пpеnrн€NIу остaeIся tlаи'llучurиlIвьI6lrpoм' oн peа-1изуeт l{llolиe нoвoмoднь]с сп0со6ьI orITrlIIЛзaЦIrи ветвЛениir(в час'гlloсти, ис]Io.,lьзуeT иIiсTpукцlrю сH0vсс)| oднаrro пo Ряllу ]loз!цrlй пpопг'Рывaeт насквoзъ l(омNleрчeскollу msvсl nПI]rнlJl:i Pаз подIвеp}iДaя oсIroвнoй,ro.зyflr МiсIoso1t: <Bill ahvаys win', прII пеPеxlrДе с]T веТвJlснrlй I{ циI(Jiаl{ (a цrlк.Лы' кaI( llзвeстнo' <(съсдaют,' дo 90% пРoПзвoди|сЛ!ности lrpolра}4]\lЬl) этoтPaзPЬtв лиIIrЪ yсилI'Iвaется' нo o цrlкnaх в друloi]l Рaз' эТо сл].1шt(o[r (16ъсмная,хотя п yвЛекатeJ:IьнLч Tсj!1а. CoвPеillrнныe ко]\Iп],ЛяToрЬl нс тo.пъкo вы6РaсьIвa.Ioт из цllк,Ia всe ненужнoc (I{aпPиIIrp] зa[{еIlяiоT циI(1 с пPeДyс.пor,rlеп{ пa rIикJtс пoс1.yсЛoвI,leI1l l(oTopЬlй на oдl{о в{этaJeIrпe кoi)oче) l нo I{ TPаlIсфoPIlrФ!IoТ (jaNlа-цгopит]!I' пolЦoн,lя llopядoк o6Pa6откп дaп|п,Iх llo,lL 0с(16сIпlостll аРхll],еllтyрt'lко}IкpеTпoгo пlиl(poпpоцсссoPа,

сoBEтЬlизбer.айтe испoЛЬзoванlтя гЛо6aJ|ьlIьJx и с1,r1,llчссlolх IlсРcNlo||||ьJх Jlo](illl]irlьIсItepc11rII Ьlе компиll,lтoPv l]аNlIl()llr Iфoшlс oIfгlirп{зlЦюJ]iггь'

Ile испoльзyiiте rrepeмcIllit,l0 Til]\1' ]дс ]\ю,aк) l'с|rr),l|Ьi()tJiгl1, IФtJстаJITьI,

Beздe' гдc этo тoлЬкo во3мo'rlI()l !lс||orЬз!iiJrr 6фllllill(ol}ь](] Il0Рсnl()lIlьlc _ olJI]Ilа!lltoI.о Легче oIтти]\1i,lзl'IРyn1'с'|l (х1)t)сlll|0 в'l'(]х с'llуIla'|х' ]{l]l)(il коN{Лllля'],ol)llЬtтile,гся из6авиться от вс1]lJlс|Iиii.

зап lФ lяйтс in t а ; i f ( (а >= 0) && (а < |Aх)) l l а i f ( (uns , ignеd in t )а < ] ,1Ах) _ | loсJ l с ./lIl'l'l кoнстрyкцIlЯ Ila o]lilo вс1]]JIoЛllс кoPo!!.

Bс ' r ] ]Лeние с прoBeрко i i I l a l l ynь oI r111I l l l : l r lp "vс|ся r Ia] \J l ]oгo l IРoIцс j чс l ' с п] )oвe l ) .](oй на лIo6oe дpугoе зllaЧolиr,

Кor IсTPyкциитппaХ. ( f ]аg?s in :сos) (y) l I с l r з6ав- l tя tо , t .o ' l , вс r .в" ' r сни i i 'посoкР i t -

щaют o6ъе]\! кol1Ilрoшllия'

He прeпe6реraйтс oпсра-гороl' goto _:li1чаcl.yк) oII r loзвоJ]яе1. l Ц)0err'lrlPоBirтЬ 6оЛеe кoмlralсTньй lI элегaнтньri] кoд'

тPAнсляция кoPoткиx yслoвHЬlx

524

пEPExoдoBo,1нa из непpиятньrх oсо6etrпoсTеii х86-IrPоЦсссoРoв ttгParlичснная <дaпъно.6r)йн0сть' кoNiaнд усцoвIIoro x€pсхoдa, PaзРa6отч]tl.rtiш]rРопр.rЦессopaв с,tPем.лeниидo6итЬсявшсoкoli ]toмпaкTIIoсT].l l{одaOlвс.Ц! !l l LеJlевox :цpcс вс€гo o]1иll6айт' oтpанинив тем сaмьrм дЛипу IIpЬDt{кa ]t]тepвaлопl в 255 6аliт, Этo тaк пa.' ' ь . в i е N ь | i l ^ o p o , , / . , i ( с , n / 7 , л e ! ' е l U , i , I p ' . ) \ | Ь l i n | . , n . l , . , | " , ] | l v | н J к o B Ь | t с ] \ l е .lцeнием, oтсчиTЪIвael!ьт]t1 oт нaчar]а слeдyloпIeii за инстPукцией ттeРeходакoмандoй (pис. 3з.З)' Tакая схe}rа адpссaцrЕI огpаrrrtIlrlвастдлIllry пръDкк:i <впe.рeд' (тo естъ <nтrиз>) Bсero 128 6аilTаllи, a зназаД> (тo ссть <ввеDI>) п тorо

Page 524: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

525

ntеньl]lиNr чис.]1oj!1 _ 127I (Ilpмхoк вrlсpсд кopoнс пoтoму'.lто ему тре6уeтся<пeР€сечь > lt сaIry поNlaiiдy пеРeхoдa,) Этпх oгР a|пче|1|1i\ ]1vШe1| бjlxl .н|ld (.nео1)6 р з t с t o п ы l п P , ' e ^ o 1 i r , 1 e . r e \ | | ' I i л ' l ь t ч . i , ' г ' l i , t t I l L р i I l d . | r J l , , Ь | l г ' , L с j а х

всегo сeIмetlтa.

сMP A ' в 9Щдв--

Б L--/ ycлoввЬlй

Eлижний бoзyслoвнЬ ЙпePeхoд дeЙствуgт

в лpeдeлах всeю оeгмelrта

Pис' з3.з. Bнiтренlее пр€дсrавление кoрoткoгo пepехoда

ItoPoTкпе пeРeходьl yсjlо]l{llяlo'Г TрiLllсJl'IIll1k) llсl'lrJlсllllii _ всД], ]lc всЯ]{nй I(сJlе.вoi,i адPес rlaхo/IЛтся o пРеЛrJaх 128 6nii'ГI (]у|ilесГl]y0'Г Mtlo)l(ссTtso llyтcil ()6х0да, ]o lо o| , r ' l 1 | | | | l ' . , . lЯ , ]{ i l I r ' ' , | ' " l . п\ , я ] , . | | ! , ' ' Ц | , I l | | i i | |Р| l ( r l : l ' с , l . j | , . , l \ : ' l h , J .я , .Uг

вllдllт' чтo llcлoвoи nllPсс 0ьlxoли'Гза пpeлс"lЬI дtхj'lГаеN()с1'll усJlo!ltoго IIеl)0хoдaloll иi{вePTllPу0т yсnoн].lс срa6iтьll]llllIlЯ li соlJсРIIl:rсT кol)o'L,{Uii (shoгt) Il(pcхoдl iа } l сТ l (у сont inue ' A l l a do- i t l I срсДаcт yпРa| l j | сJ l l ' е 6 .пJJ )к| | | | I ! ( l r саI ) пеpсхoдoNt 'дсi]lствукЛцl|]\1 в IЦ!)(rJ|aх оlt|l(Л.о ссl.MeIl'н (nlс. 33'4).

0000 i00020d04i00ffir0ф7:000n1

аx '01

в1

Pис. з3.4' трансляция кopoтких nepeхoдов

llачп]laя с I tеlB03B6, в Лсl{с,ll{olIC llPoцсссoрr lloявlt'Цaсь пятЛ6a]iTIlъ]e iсоiliаl].дь] yсllol]н!'lх ]lсpсхoдoв' <6Ьюш{ис' в lIPедe.{aх Bсегo чeTыPсхl.игa6аii'гноr.o а'1

P . . н o l о ' l p o . т ' l l | с | R ] ' n Л | , : ] , . | , ' , ' , , 1 \ d , ' ' i i U r U ' l | - n , | | н o | | e з Ь , с n к n i i п l ' n и | в o .дигeль]lостlI таlс lI oсTaвt шtleся trевoстpс5oвaнrrыlлl'

3AкЛючЕHиEсoвPе 1снньIс I!eтoдик]] oптимtlзaцип пoсяT ]loвo'nЬlIo llpoтI1вopечивьrli хараI{.тrP. С однot"] стoрoнъI, онIr yЛvчil]aюT код' с ]1рУгoй _ сТPaдают I'eпPедскaзye.п1ьINxr п06oчньIrI]1 эффеI{там ' oпытнЪlе прогрaпtlшlстьt лoдo6ньrх <вoльностеr1>пe oДo6pяют ll РrжIllloll аIpeссивflol:i oпTlll{tlзaциIr пoльзуroтся с6o,rьrшой ос.1 o p o х н o . | Ь Ю , o l ч J I i o п O , - l ! 1 , , l L l U U | , | , : t I L o J l | ' ч i ] | \ | а U | | н h ! i l o л l и M I t l а ц и I l . : l а , l t t

сaмьIе заl(оpe]le.lьIe кoIlсеРвaтoPЬlуже неРешаются' Pгi]loe <вьIЛltзllвание' ltoДa

Page 525: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

s26 глава з3' те^HИrа oптимиз.цИи пoд лиrrукс

(16чo! j1ся .Л||U| ,o\ l LoP l r |о . I Pаo]а , , Io ' . | . Lещедoрo)ке. нaPащивая пIoщъ oптимизaтoPовl Paзрa6oтчи]ol кoпIпIrлятоРoв Дo.пyскаiirт всe 6oльпIe 0ши60к' и в oтвстствснtiь1х шyчaяx проIpамMистaI пРи'\ n Д и | с я l ' д ' Й н а ' { o v | P o \ 1 | | ' с ' I o P v ч J o o | | 1 , r \ l , з а Г o P - Г o ' . о | ) " ' . " Р " 6 0 ' о | 'B рe3yльтатe кoтoрoй ]\{oл{нo 6ъIть пoлlrостьIo yBеРеIlпь]If (сBеРтIty l(оlIсTа]1т,rroнста}lTilуIo IIoДс.r'аIloвIq Ii T' /ц,)'

с06ствснн0 roвoPя' нашс исо1сдoвaнис l{oмllПJlяTopoв сщ€ }1с заI{oнченo, lI 11с'peчислепliьie пpиeп{ЬI oптиillизацIrи - э'Гo да)irе невrрхyпlкa айс6eРгa' a нe6олЪ

шoй eго кyсoчeк' кoгдa ]r!r6yдь мьl Paссl'oтPим тpariсфol]Nlaщrlo цrfк]loп ll liРo

чие вIlдЬI вeтBлeппi'i. yвеРяio вaс, этo oчеIrь пIJ'г €Респaя TeNlа' Здесь есть чeпlу

пo}^lиTьсяl (lry Дoжи-liи..' тРаllс'liятоРъl учат пPoгРa]!lNlI.lсTоЛ.'. [6уРчalIие y,l:Lrтя

l()I!еГoся t1ьпцъх'al).

Page 526: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

кpuс кacлepcKu

кoмпьютepнЬte виpyсЬ| изнyтpи и с}|apyжи

зoвeдуloщиn рeдaкцисй

Литeратyрныii pедaктор

лиuеBПя ид }t! 05734 or 07.09,0l.пoд !и . !цoкпcsa rB l 9 ' | о , 05 ,Фopмaт70x l 00 / l 6 . уФ .л .л42 ' 57 . тnpax4000 , зaкa ]93

ooo ldlпep прияD, 194014, фяп.пflефyрiЕ, сдм!сoнBcфкяя пр ' 29a.нuorовзяльrmа_о6цeptrснйсKкkклвсflФккдтopпpoДvкцнBoк00'9],тon2195з005 лц!рarypoyч.6ны'

oEcчlNo c фщ д!цфшвoв l oAo (т.дяФcш цпD190фJ' сaФпфт6'?r, tъхrilлoвcмй лP'' '9

Page 527: крис касперски   компьютерные вирусы изнутри и снаружи [2006, rus]

I sвN 5-469_00982_з

'||шll|шJxIlill|lш ш шlI