var BrothersNames = new Array("Update antivir∙ p°ez inet je patentovßn","╚erv Badtrans p°ichßzφ s vylepÜenφmi a o₧φvß...","Podporuje Microsoft replikaci Φerv∙ zßm∞rn∞?","HTML viry realitou i pro antivirovΘ programy","ProgramßtorskΘ techniky dneÜnφch vir∙","ProgramßtorskΘ techniky dneÜnφch vir∙, 2. dφl","");
var BrothersIDs = new Array("54","87","106","143","181","187","");
//=====INFO======
ItemName='Article187';
InIFrame='No';
TableNum=2;
ItemID=187;
ArticleType='1';
Action='articles'
ItemTitle='ProgramßtorskΘ techniky dneÜnφch vir∙, 2. dφl';
ItemComment='ProgramßtorskΘ techniky dneÜnφch vir∙, 2. dφl';
Intro('Jak fungujφ dneÜnφ viry? ProΦ nep°ichßzejφ s niΦφm nov²m ale p°esto jsou na systΘmech Windows tak ·sp∞ÜnΘ? A jak se majφ u₧ivatelΘ brßnit? To vÜe se dovφte v dalÜφm pokraΦovßnφ serißlu. ');
Zamaskovßnφ spustitelnΘho programu je jeden z klφΦov²ch pasivnφch prost°edk∙, kter²m se virus sna₧φ donutit p°φjemce poÜty ke kliknutφ na p°φlohu. O nejklasiΦt∞jÜφm zp∙sobu - tzv. dvojitΘ p°φpon∞ ßla photo.jpg.exe - jsme mluvili ji₧ minule. Vedle tohoto zp∙sobu je popsßna chyba systΘmu Windows, kterß umo₧≥uje skr²t p°φponu za tzv. CLSID identifikßtor. Zavirovan² soubor tak m∙₧e mφt nßzev nap°φklad viewthis.jpg.{093FF999-1EA0-4079-9525-9614C3504B74}, kter² je ve skuteΦnosti ZIP archivem. Odhalenφ skuteΦnΘ p°φpony je i pro zkuÜenΘho u₧ivatele vφcemΘn∞ nemo₧nΘ a jedinou radou pro vÜechny je p°φlohu nespouÜt∞t. V∞tÜina program∙ ale naÜt∞stφ p°i dlouhΘm nßzvu zkracuje zprava jmΘno, proto jsou tyto techniky pouze podp∙rnΘ.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Windows Scripting Host
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Zato WSH je skuteΦn∞ nßstrojem, kter² tv∙rc∙m vir∙ chyb∞l. Jednß se o implementaci VBScriptu a JScriptu (JavaScript od Microsoftu), kter² umo₧≥uje programovat na klasickΘ aplikaΦnφ ·rovni, tedy nejen jako souΦßst WWW strßnek. To by samo o sob∞ nebylo na zßvadu, problΘm je ale v ActiveX komponentßch systΘmu, kterΘ t∞mto dvoum jazyk∙m dßvajφ neskuteΦnou sφlu.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Jak je to mo₧nΘ? JednoduÜe. Velkß v∞tÜina Microsoftφch aplikacφ (nap°φklad z balφku Office) je mo₧nΘ pou₧φvat jako ActiveX objekty a tak jednoduÜe vyu₧φvat jejich k≤du v t∞le viru, ani₧ by programßtor musel n∞jak detailn∞ji rozum∞t funkci objektu. Umo₧≥ujφ tak psanφ relativn∞ pokroΦil²ch Φerv∙ i naprost²m laik∙m.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Nejv∞tÜφ sφla je v objektech Scripting.FileSystemObject, WScript.Shell a Outlook.Application. Scripting.FileSystemObject je zßkladnφ prost°edek pro prßci se systΘmem soubor∙ - pomocφ jeho metod virus Φte ze souboru, prohledßvß disk apod. U objektu WScript.Shell se vyu₧φvß p°edevÜφm metod RegRead a RegWrite pro zßpis do registru a Φtenφ hodnot z n∞j. A nakonec Outlook.Application slou₧φ k pohodlnΘmu odesφlßnφ mail∙.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Jak je vid∞t, ka₧d² pr∙m∞rn∞ znal² Φlov∞k m∙₧e ve Windows Scripting Hostu vyu₧φvat tΘm∞° vÜechny pro virus pot°ebnΘ funkce systΘmu. O tak jednoduchΘm a univerzßlnφm pou₧itφ, jakΘ WSH nabφzφ, se p°ed pßr lety ost°φlen²m vira°∙m v assembleru ani nezdßlo.
</DIV></FONT></b></i>
<A Name="Title2"><FONT Size=3><DIV Class=Headline>WSH z webu?</DIV></font>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Jedno z nejv∞tÜφch bezpeΦnostnφch rizik je mo₧nost pou₧itφ popisovan²ch ActiveX objekt∙ z kontextu HTML strßnky. Dφra v MS Virtual Machine kdysi umo₧≥ovala jak objekt pomocφ jeho CLSID p°ipojit ke strßnce
Jeliko₧ je psanφ vir∙ v t∞chto skriptovacφch jazycφch velmi jednoduchΘ, je takΘ na sv∞t∞ n∞kolik virov²ch generßtor∙. Tyto programy na zßklad∞ zadan²ch parametr∙ vytvo°φ VBscriptov² program - virus. Asi nejznßm∞jÜφm P°φpadem je Φerv AnnaKournikova, antivirovΘ programy ho Φasto znajφ pod nßzvem VB/Vbswg. ProΦ? Prost∞ proto, ₧e vÜechny viry generovanΘ Visual Basic Worm Generßtorem (Wbswg) obsahujφ charakteristickou sekvenci znak∙, podle kterΘ je antivirus do jednoho poznß.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Ve snaze zabrßnit takovΘmuto prozrazenφ pou₧φvajφ viry n∞kolik technik - od prost²ch nßhodn²ch nßzv∙ prom∞nn²ch a funkcφ po kompletnφ polymorfismus, tedy m∞n∞nφ k≤du svΘho t∞la v pr∙b∞hu infekce, resp. kopφrovßnφ.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Pokud se chce virus vφce zamaskovat, pou₧ije n∞jakou vhodnou k≤dovacφ funkci na p°evod z nesmysln²ch znak∙ na smyslupln² text, naopak inverznφ proces pou₧ije programßtor Φi virov² generßtor p°i tvorb∞ k≤du. VÜe si ukß₧eme na p°φklad∞ z ji₧ popisovanΘ t°φdy vir∙ VB/Vbswg.
K≤d jsme zßm∞rn∞ nechali v p∙vodnφm tvaru. Jak je patrn∞ jasnΘ, slova M18066BL, EVA188II, SBVHM2AL a NRCD1VD8 jsou nßhodnΘ nßzvy prom∞nn²ch, Φφm₧ se generßtor sna₧φ ka₧d² virus co nejvφce odliÜit, SG6452A8 je nßhodn² nßzev dek≤dovacφ funkce. Pracuje velmi jednoduÜe : vezme dva parametry, kter²m bychom mohli °φkat "Text" a "Shift" v tomto po°adφ a ve for cyklu posune ka₧d² znak Textu o -Shift (mφnus Shift - jednß se o dek≤dovßnφ). MΘn∞ podstatnΘ jsou podmφnky, kterΘ zamezujφ nesprßvnΘmu vlo₧enφ °φdφcφch znak∙ (v tomto p°φpad∞ apostrof∙). Jak postupovat, pokud chceme zak≤dovat nap°φklad vytvo°enφ objektu Scripting.FileSystemObject? P°φklad volßnφ v JScriptu je uveden v²Üe, ve VBS je situace tΘm∞° stejnß. Vezmeme nßhodn² posunovacφ index "i" a ka₧d² znak v konkrΘtnφm slov∞ posuneme jednφm sm∞rem o "i". Nynφ nezb²vß nic ne₧ do funkce CreateObject dosatit <SPAN Class=CODE>Decode(Text_enc, i)</SPAN>. Tedy nap°φklad takto :
VÜim∞te si volßnφ v²Üe uvedenΘ funkce SG6452A8. Pokud zavolßme <SPAN Class=CODE>SG6452A8("|l{ry}rwp7orun|é|}nvxksnl}",-9)</SPAN> obdr₧φme hodnotu "Scripting.FileSystemObject".
</DIV></FONT></b></i>
<A Name="Title4"><FONT Size=3><DIV Class=Headline>Obrana proti WSH vir∙m?</DIV></font>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
NejjednoduÜÜφ cestou jak zabrßnit infekci Windows Scripting HostovΘho viru je bu∩ zm∞na asociacφ ke vÜem potencionßln∞ nebezpeΦn²m soubor∙m nebo p°φmo zm∞na jmΘna interpretu WSH - souboru wscript.exe, kter² najdete v ko°enovΘm adresß°i Windows. Pokud tento typ skriptovßnφ pou₧φvßte, bude asi nejlepÜφ vytvo°it novΘ p°φpony, °ekn∞me .vbscript + .jscript a pouze ty asociovat se zmφn∞n²m interpretem (ostatnφ nejlΘpe s notepadem apod.)
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
Zb²vß snad jen dodat "nebezpeΦnΘ" p°φpony. Jsou to .js, .jse, .vb, .vbs, .vbe, .wsh, .wsf, .hta a p°φpadn∞ i .html a .htm.
</DIV></FONT></b></i>
<FONT Size=2><DIV Align=Justify Class=Paragraph>
V p°φÜtφm dφle budeme mluvit o mo₧nosti rezidentnφch vir∙, kterΘ se brßnφ odstran∞nφ, o k≤dovßnφ celΘho t∞la a dalÜφch technikßch.