!
Počítačové viry a bezpečnost počítačových systémů
Škodlivý kód prof. Ing. Ivan Zelinka, Ph.D. Department of Computer Science Faculty of Electrical Engineering and Computer Science VŠB-TUO 17. listopadu 15 708 33 Ostrava-Poruba Czech Republic
!
Email:
[email protected] www.ivanzelinka.eu Phone: +420 57 603 5192 GSM: +420 775 161 965 prof. Ing. Ivan Zelinka, Ph.D. http://www.ivanzelinka.eu/hp/Vyuka.html
Schéma přednášky Um!l" #ivot Von Neumann A. M. Turing
Samoreplikující se struktury
!kodliv" kód
Nep(ímá ú$ast
P(ímá ú$ast Stahova$e
Viry
Exploity
Dialery
Auto Rootery
)et&zové dopisy Kity generátory vir'
Programátorské viry
Spyware Zadní dví(ka Boot viry
Pishing
Zárodky
Souborové viry
Droppery
Multiparitní viry
Injektory
Makroviry viry Stealth viry Polymorfní viry
Rootkity
Adware
#ervi Chobotnice Králík "Vorové" ($erv rozesílající emaily) Logické bomby Troj%tí kon&
Spam Floodery Scannery (sníma$e stisku kláves,... )
Fáze přednášky Um!l" #ivot Von Neumann A. M. Turing
Samoreplikující se struktury
!kodliv" kód
Nep(ímá ú$ast
P(ímá ú$ast Stahova$e
Viry
Exploity
Dialery
Auto Rootery
)et&zové dopisy Kity generátory vir'
Programátorské viry
Spyware Zadní dví(ka Boot viry
Pishing
Zárodky
Souborové viry
Droppery
Multiparitní viry
Injektory
Makroviry viry Stealth viry Polymorfní viry
Rootkity
Adware
#ervi Chobotnice Králík "Vorové" ($erv rozesílající emaily) Logické bomby Troj%tí kon&
Spam Floodery Scannery (sníma$e stisku kláves,... )
Turingův stroj: definice
Turingův stroj
Turingův stroj
Turingův stroj
Turingův stroj Z obr. 4 je jasně vidět, že takto pojatý Turingův stroj lze simulovat bez větších problémů na počítači. Simulace strojů lze nalézt například v prostředí Mathematica, kde lze nadefinovat a spustit širokou třídu strojů. Na obr. 5 a 6 jsou ukázky činnosti strojů, které jsou v tomto software naprogramovány i pro vícerozměrné pásky (1D – klasická páska, 2D – plocha, …).
Turingův stroj • • • • •
John von Neumann, 29 stavů, 2D, 5 prvků = 200000 buněk 1948 vize o replikujících se automatech 1953 Watson a Crick, DNA 1968 Codd buňky s 8 stavy a 5ti prvkové prostředí 1980 NASA / ASEE samoreprodukční roboti na Měsíci
Základní atributy viru • • • • •
John von Neumann, 29 stavů, 2D, 5 prvků = 200000 buněk 1948 vize o replikujících se automatech 1953 Watson a Crick, DNA 1968 Codd buňky s 8 stavy a 5ti prvkové prostředí 1980 NASA / ASEE samoreprodukční roboti na Měsíci
Společné rysy
ZipPY virus
Virus Stoned
Fáze přednášky Um!l" #ivot Von Neumann A. M. Turing
Samoreplikující se struktury
!kodliv" kód
Nep(ímá ú$ast
P(ímá ú$ast Stahova$e
Viry
Exploity
Dialery
Auto Rootery
)et&zové dopisy Kity generátory vir'
Programátorské viry
Adware Spyware Zadní dví(ka
Boot viry
Pishing
Zárodky
Souborové viry
Droppery
Multiparitní viry
Injektory
Makroviry viry Stealth viry Polymorfní viry
Rootkity
#ervi Chobotnice Králík "Vorové" ($erv rozesílající emaily) Logické bomby Troj%tí kon&
Spam Floodery Scannery (sníma$e stisku kláves,... )
Počítačový virus
• Malware =Malign Software = škodlivý software. • Počítačový program, který se šíří, aniž by o tom uživatel věděl. • Viry umí jen to, co jakékoliv ostatní programy. Jsou jen vytvořeny pro škození. • Není pravda, že viry dokáží ničit monitory, pevné disky, procesory. • Je pravda, že dokáží simulovat poruchu těchto zařízení.
Definice viru
• program → má vždy autora • šíření - záznamová média, síť • činnost - bez vědomí a přání uživatele - ničení dat, pozměnění dat (nejhorší), blokování
• schopen se samostatně šířit → množit se - zapisuje svojí funkční část do jiných programů nebo do určitých míst na paměťových médiích
• dnes - zapisování do dokumentů - makroviry Počítačový virus je spustitelný program, který je schopen sám sebe připojovat k jiným programům a dále se z nich (bez vědomí uživatele) šířit.
Projevy virů
• obtěžující chování – zpomaluje práci PC – pro své šíření, aktivaci a další • • • • •
"práci" potřebuje část systémových prostředků blokování místa v paměti grafické a zvukové projevy "žertovné" – nápisy na monitoru (skřítek požadující keksík,...), padající písmena, záměna písmen, chod hodin pozpátku nestabilita systému – časté padání některé aplikace nebo zamrzáním celého systému poškození OS nebo dat - triviální vir přepíše bez varování obsah celého disku – pomůže záloha, zákeřnější pomalu a nenápadně mění data – záloha může obsahovat již také poškozené soubory
• dnes – počítačové sítě • krádež dat • šifrování dat – vydírání – smazání viru znamená ztrátu dat
Části viru
• • • •
reprodukční část – zajišťuje šíření – základní a nejdůležitější část ostatní části nejsou povinné : analytická část – zkoumá PC a zjišťuje potřebné parametry : přítomnost antivirového programu, aby se jej pokusil vypnout nebo se mu vyhnout nechráněná síť pro další šíření
• • akční část – destrukce dat … • spouštěcí mechanismus – "start" pro virus – virus čeká na konkrétní hodinu, •
datum, x-sté otevření souboru s virem - vir CIH (Černobyl) vždy 26.4. maskovací část – nenápadnost – snaží se měnit podobu, šifrovat se, vyskytovat se na neobvyklých místech (nápověda, HTML dokumenty)
Šíření viru I Přepis hostitele: nemění dělku hostitele, ale zlikviduje jej.
Virus
Virus
Program
Připojení k hostiteli: prodlouží délku hostitele a zachová jeho funkčnost Skok na začátek programu
Virus
Program JMP na konec souboru kde bude virus
Přesměrování na tělo viru
Virus Připojení na konec
Šíření viru II
Připojení k hostiteli: prodlouží délku hostitele a zachová jeho funkčnost
Virus
Začátek programu
Virus
Program
Začátek programu
• Virus přepíše začátek hostitele a přepsanou část umístí za konec hostitele
• Virus vrátí v paměti na začátek hostitele přepsanou část a předá jí řízení
Šíření viru III Další metoda je založena na faktu, že se první spouští soubory typu COM.
Program.exe
Program(virus).com
Šíření viru - princip II
Generátory virů I
Generátory virů II
Generátory virů III
Generátory virů IV
Generátory virů V
Boot viry Bootovací viry napadají bootovací sektor disku nebo diskety. Tento sektor obsahuje každý pevný disk a nebo disketa. Vir, který tento sektor napadne, je poté zaváděn a spouštěn s každým spuštěním PC. Boot viry - jsou celkem stare, maji vetsinou velikost jen do 512 bitu a ukladaji se na pevny disk, nebo disketu do tzv. boot sektoru. Pri spousteni pocitace pocitac hleda jestli v boot sektoru neni zavadec, maly program, ktery rekne, ze operacni system je pritomen a zacne jej spoustet. Je-li v tomto sektoru virus, spusti se jako prvni jeste pred operacnim systemem a pote zacne zavadet op. system. Z techto duvodu se nedoporucuje mit nastavenou sekvenci v BIOSu A: > C: , ale C: > A:, z duvodu prinesete-li si od nekoho zavirovanou disketu, kterou zanechate v mechanice a restartujete pocitac. Pri startu by se totiz BIOS zeptal diskety je-li tam op. system, ale misto nej se zavede do pameti virus, ktery zaviruje pevny disk o cemz se nedozvite a nasleduje hlaseni, ze chybi operacni system (pokud disketa neni startovaci, pak by se pokracovalo v bootovani). Po vyjmuti diskety, uz je pritomen na pevnem disku a dokud se ho nezbavite zavirovava dalsi diskety, ktere vkladate do mechaniky a snazite se cist, nebo zapisovat. Proto je lepsi mit sekvenci z C: pak BIOS preskakuje disketu a vylouci se moznost zavirovani zapomenutim diskety v mechanice. Je dobre diskety, ktere neslouzi pro prenos dat, jako systemove, instalacky k hardware, otevrit prepinac, aby byl znemoznen zapis. Dnes se u novych viru teto techniky moc nepouziva, ale to neznamena, ze se i dnes nesiri treba i ty prvni napsane viry. Obdobou je vir, ktery se zapisuje na pevny disk do tabulky MBR (Master Boot Record), ktera urcuje rozdeleni disku. Z teto oblasti se vira nezbavime ani formatovanim. Zbavit se ho muzeme jen Fdiskem zrusenim tabulky rozdelani disku a vytvoreni nove, nebo Low Level Formatem - nizko urovnovy format maze uplne vse. U starsich disku hlavne MFM se nedoporucoval, protoze hrozilo trvale poskozeni disku, u dnesnich IDE uz to nehrozi. Tyto metody samozrejme zlikviduji i data na disku, jsou-li dulezita je potreba pouzit antivir, ktery nam vira z MBR umi odstranit (dnes snad vsechny), ale je to casove narocne. Tuto vlastnost pouziva treba nejslavnejsi slovensky virus One Half.
Souborové viry
Souborové viry napadají spustitelné soubory (EXE, COM, BAT), dokumenty, které mohou obsahovat makra a některé skripty aplikací. Nejcasteji napada com, exe, ktere muze uzivatel spustit sam, jsou i takove viry, ktere napadaji com, exe, bat, sys, drv, dll, zip, rar, cab, ... Virus je programovy kod, ktery se pripojuje ke kodu programu. Pripoji-li se na zacatek tim, ze prepise od zacatku tolik programu kolik potrebuje, dochazi ke zniceni puvodniho souboru. Po spusteni takoveho souboru se provede jen virus a dal nenasleduje nic, nebo k chybe ve vykonavani programu. Ma to jedinou vyhodu, ze bitova delka souboru zustane nezmenena, ale stejne na sebe velmi upozorni nefunkcnosti programu. Pouziti tehle techniky neni uplne cestne, kdyz virus kazdy soubor, ktery napadne nenavratne znici. Vetsina souborovych viru vyuziva pripojeni na konec souboru, tim se sice soubor prodlouzi, ale nedojde k jeho poskozeni a je moznost po odvirovani normalni puvodni chod programu. Dela to tak, ze se pripoji na konec souboru, ale na zacatku zmeni odkaz na sebe, tedy po spusteni programu je proveden skok na konec souboru - zacatek kodu viru ten se vykona a na konci viru je zase skok na zacatek programu a program pokracuje ve sve cinosti, aniz by uzivatel neco poznal. Dale je moznost zapsat virus rozkouskovane do mist v souboru, ktere jsou nevyuzite (obsahuji vetsinou jen 0). Takto se soubor neprodlouzi, ani se neohrozi jeho chod, pro antivir je to pak slozitejsi se vira zbavit a poskladat soubor do puvodniho stavu, vetsinou uz to stejne neni uplne ono.
Multiparitní viry
Multiparitni viry - jde vetsinou o kombinaci technik rezidentni, bootvir, zapis do MBR a souborovych. Vir kombinující víc výše uvedených mechanismů šíření. Typickou je např. kombinace souborového a boot viru, kdy se při aktivaci zavirovaného EXE souboru na čistém počítači kód viru přenese do Master Boot sektoru pevného disku. Po prvním nabootovaní z pevného disku si potom virus zajistí paměťovou rezidentnost a dále se chová jako vir souborový – napadá EXE soubory. Protože daný počítač už má vir pod kontrolou, nemusí se už dále šířit na pevném disku, stačí když bude infikovat soubory směrem k síťovým diskům nebo výměnným médiím (vir OneHalf). Jiným příkladem může být kombinace souborového viru. a makroviru (vir Anarchy), makroviru a skriptového viru (ColdApe) apod.
Makroviry
Dnes jednoznačně nejrozšířenější typ viru. První experimentální vir tohoto typu vznikl v roce 1994 (makrovir DMV) a v terénu se makrovir poprvé objevil v roce 1995 (Concept). Jde o viry, jejichž činnost je řízená makrojazykem příslušné aplikace, přičemž jsou v tomto smyslu vázané na konkrétní formát dokumentu makrojazyk Word Basic a dřívější verze MS Word, respektive dnes nejčastěji Visual Basic for Applications ve spojení s novějšími verzemi MS Word, MS Excel, MS Access, MS Power Point, ale už i CorelDraw a dalšími aplikacemi. V tomto smyslu jsou nezávislé na samotném operačním systému počítače (Win9x, WinNT/2000 i MacOS) nebo na jeho hardwarové platformě (Intel, Alpha a MAC). Vzhledem na jednotný typ makrojazyka existují i viry, které napadají dokumenty dvou i tří různých aplikací ze stejného kancelářského balíku (např. MS Word, MS Excel a MS Power Point z balíku Office 97). Standardní způsob šíření makroviru spočívá v následujícím postupu - po načtení zavirovaného dokumentu příslušná aplikace interpretuje makra viru, která při různých doprovodných akcích zabezpečí napadnutí globální šablony. Zavirovaná makra šablony se potom vkládají do dalších otevíraných dokumentů a tím je infikují. Makrovir se aktivuje už samotným prohlédnutím dokumentu v příslušném typu editoru (který má používání maker povolené), což je zřejmý rozdíl proti souborovým virům. K aktivaci makrovirů však nedochází při kopírovaní nebo jiné manipulaci se zavirovanými dokumenty. Z výše jmenovaných tří nejběžněji se vyskytujících druhů virů se makroviry nejjednodušeji programují a navíc se také nejsnadněji šíří vzhledem na to, že výměna dokumentů mezi uživateli je mnohem častější jak výměna spustitelných souborů. Když k tomu přidáme nové možnosti šíření kanálem elektronické pošty využitím některých vlastností standardních e-mail klientů firmy Microsoft, nedá se v budoucnosti v tomto směru očekávat nic pozitivního.
Stealth viry
Stealth viry se snaží zamaskovat svou přítomnost v souboru tím, že se zachytí na přerušení, kudy prochází veškeré požadavky na čtení dat ze souboru (tedy i požadavky antiviru). Vir si pak kontroluje, zda se požadavek týká i infikovaného souboru, v tomto případě pak vrátí aplikaci data původního neinfikovaného souboru. Na tento způsob maskování byla vytvořena obrana - antivirus si buď kontroluje, zda není adresa přerušení přepsána, případně na čtení používá přímo služby diskového řadiče. Jde o viry s dost koplikovanou a perfektni technikou, jak zustat v systemu nevideny. Ma plnou kontrolu nad op. systemem a kontroluje vse co se v nem deje. Z duvodu antivirove kontroly, ktera otevira kazdy soubor a hleda v nem znamky pritomnosti viru, provadi to, ze pri spusteni souboru, ktery jeste neni zavirovan jej pri uzavirani ihned zaviruje. Spousti-li se jiz zavirovany soubor virus jej odviruje takze uzivatel pracuje vlastne s nezavirovanym souborem a pri jeho uzavirani jej opet zaviruje. Nez byla tato schopnost obevena, tak takovy antivirus, ktery ma uzivateli pomoci provedl uplnou paseku, oteviral vsechny soubory ve snaze najit vir a tim docilil, ze aniz by o necem vedel prispel k uplnemu zavirovani dat. Dnes jiz antiviry spolehlive umi tento druh viru objevit.
Polymorfní viry
Polymorfní viry jsou schopny modifikovat svůj zdrojový kód, tímto způsobem se snaží maskovat před antivirovými programy. Polymorfni viry - mutujici viry - kazdy antivirus pouziva pro detekci nejcasteji dve techniky. Prvni je velmi rychle skenovani souboru jestli neobsahuje kratky retezec instrukci, ktera je pro dany vir typicky, je to taky neco jako prukaz totoznosti. Druha je Heuristicka analyza, kdy se podrobne zkoumaji schopnosti programu a jejich urcitou kombinaci (nap. rezidentni, pravo cist, zapisovat, ovladat volani HD a FDD ...) dojit k nazoru, ze se pravdepodobne jedna o vir. Tato metoda je pomalejsi, muze ale najit i vir ktery nema v databazi. Tato metoda vznikla pravdepodobne hlavne proti polymorfnim virum, ktere ve sve dobe, byly opravdova hrozba. Tento virus ve snaze uniknout skenovani a tvarit se jako uplne novy virus, s kterym se jeste antivir nesetkal koduje cast sveho tela po kazde, kdyz dela novou svoji kopii a pokazde pouzije novy kodovaci klic, ktery si nahodne vygeneruje. Takto se tehdy jeden virus tehdejsim antivirum jevil, kdyz byl treba v tisicich kopiich jako by se jednalo o tisice novych viru i kdyz se jednalo ve skutecnosti o jediny. Podobny princip pouziva skutecny virus chripky
Zárodky
Život tzv. „zombie“ http://www.zombievirus.org: 1. Autorovi viru se podaří infikovat uživatelské PC. 2. Viry na napadených počítačích se průběžně přihlašují k serveru a vytváří síť napadených počítačů (botnet). 3. Spammer zaplatí autorovi viru za poskytnutí vzniklé sítě. 4. Po IRC kanálu pošle spammer virům instrukce a 5. napadené počítače slouží k rozesílání spamu.
Červi
Počítačový červ je druh škodlivého programu, který se vyznačuje tím, že napadá počítače za pomocí počítačových sítí. Škodlivá činnost se nemusí vždy vyznačovat napadáním souborů uložených na disku. Hlavní činností červů je zatěžování sítě a vzájemná spolupráce při napadání významných serverů v prostředí internetu nebo místních sítích (tzv. exploit). Každý počítačový červ obsahuje specifické moduly a funkce. Jedná se především o:
• vyhledávače obětí, • modul pro vzdálené ovládání a aktualizace, • plánovač životního cyklu, a další.
Červi - Vyhledávače obětí
• Aby se počítačoví červi mohli šířit sítí, je zapotřebí určit cílové body. Jedním ze způsobů vyhledávání adres objetí je vyhledávání kontaktů za pomocí adresáře e-mailových klientů, messengerů nebo ICQ. Červ prochází složky těchto programů nebo všechny soubory na disku a hledá případné e-mailové adresy, či IP adresy dalších potenciálních obětí.
• Druhý způsob, jak se mohou červi šířit je založen na generování náhodných IP, či emailových adres. Parametry pro vyhledávání kontaktů mohou být více konkretizovány, například jen na okruh adres určité země nebo domény. Po vyhledání kontaktů se pak červi mohou dále rozšiřovat a jejich počet roste geometrickou řadou.
Červi - modul pro vzdálené ovládání a aktualizace
• Modul pro vzdálené ovládání a aktualizace slouží pro ovládání sítě červů útočníkem. Ten je schopen červy na dálku modifikovat a za pomocí příkazů řídit jejich činnost. Zároveň je takto schopen aktualizovat kód červa na kompromitovaném systému. Aktualizace červa má obvykle vést ke změně jeho chování nebo posílání nových infekčních strategií, aby bylo možné kompromitovat co nejvíce uzlů.
Červi - plánovač životního cyklu
• Většina červů je navrhována a naprogramována tak, že vykonávají svou činnost po určité časové období. Cílem útočníků je, aby se červ co nejrychleji po síti rozšířil a poté hromadně provedl napadení vybraného cíle. Po této destruktivní činnosti, „život“ červa zpravidla končí.
Červi - vorové
Červi - chobotnice
Červi - Králíci
Logické bomby
Trojský kůň
Trojský kůň (někdy také označován jako trojan) zpravidla bývá samostatný program, který po spuštění vykonává na první pohled neškodnou aktivitu (spořič obrazovky, hry, atd.). Ve skutečnosti na pozadí operačního systému provádí skrytě záškodnou činnost. Někdy se trojský kůň vydává za program k odstraňování malware (dokonce jako takový může fungovat a odstraňovat konkurenční malware). Zásadní rozdíl mezi výše uvedenými typy infiltrace a trojským koněm je v tom, že trojský kůň se samovolně nešíří. Na hostitelské počítače jsou dobrovolně staženi samotnými uživateli. Výjimkou jsou případy, kdy jsou trojani vytvářeni červy z programů, které jsou uloženy na disku. Nejčastější funkce trojských koní:
• sniffer – odposlouchávání přístupových jmen a hesel, čísel kreditních karet, • keylogger – sledování stisknutých kláves na klávesnici, • backdoor – součástí trojského koně je síťová služba, pomocí které může útočník proniknout do hostitelského počítače, • Security software disabler - zablokuje software pro zabezpečení PC (firewall, antivir, atd.).
Rezidentní viry
Část těla viru je po zavedení operačního systému do paměti neustále aktivní. To je zajištěno tím, že vir na sebe přesměruje vektory přerušení (v případě volání přerušení se zaktivizuje samotný vir).
Fáze přednášky
Um!l" #ivot Von Neumann A. M. Turing
Samoreplikující se struktury
!kodliv" kód
Nep(ímá ú$ast
P(ímá ú$ast Stahova$e
Viry
Exploity
Dialery
Auto Rootery
)et&zové dopisy Kity generátory vir'
Programátorské viry
Adware Spyware Zadní dví(ka
Boot viry
Pishing
Zárodky
Souborové viry
Droppery
Multiparitní viry
Injektory
Makroviry viry Stealth viry Polymorfní viry
Rootkity
#ervi Chobotnice Králík "Vorové" ($erv rozesílající emaily) Logické bomby Troj%tí kon&
Spam Floodery Scannery (sníma$e stisku kláves,... )
Stahovače
Dialery
Řetězové dopisy
Adware Adware (advertising-supported software) je označení pro produkty znepříjemňující práci s nějakou aplikací reklamou. Ty mohou mít různou úroveň agresivity - od běžných bannerů až po neustále vyskakující pop-up okna nebo ikony v oznamovací oblasti. Další nepříjemnou věcí je např. změna domovské stránky v Windows Internet Exploreru, aniž by o to uživatel měl zájem. Většinou ale nejsou přímo nebezpečné jako spyware a jsou spojeny s nějakým programem, který je freeware. To se dělá z důvodu toho, že díky těmto reklamám mohou vývojáři financovat dál svůj program. Nebo když se jedné o placený produkt, může se díky těmto reklamám prodávat program se slevou. Nějaký adware je taky shareware, ale není to totéž. Rozdíl mezi adware a shareware je ten, že u adware je reklama podporovaná. Některé produkty nabízejí uživateli možnost odstranění reklam po zaplacení. Spousta lidí si plete pojmy spyware a adware. Adware velmi často využívá výsledků, které dokázal vyprodukovat spyware,ale není na něm závislý. Adware se instaluje do počítače za souhlasu uživatele. Uživateli je při instalaci hlášeno, že program obsahuje malware a sám má možnost se rozhodnout jestli s tím souhlasí a bude dál pokračovat v instalaci, nebo ne. To je díky licenčnímu ujednání “EULA“ (End User License Agreement). Naproti tomu spyware se instaluje do počítače bez vědomí a souhlasu uživatele. Někdy program, který je použit jako reklamní podpora, je spyware - tedy adware instaluje spyware, často se zastíráním detailů činnosti tohoto spyware. Programy obsahující Adware na rozdíl od spyware neshromažďují tajně informace a neodesílají je přes internet bez souhlasu uživatele. Existuje velké množství programů, které pomáhají uživatelům vyhledávat a odstraňovat Adaware programy, případně je zachovat, ale zamezit zobrazování reklamy v nich.
Spyware Spyware je program, který využívá internetu k odesílání dat z počítače bez vědomí jeho uživatele. Někteří autoři spyware se hájí, že jejich program odesílá pouze data typu přehled navštívených stránek či nainstalovaných programů za účelem zjištění potřeb nebo zájmů uživatele a tyto informace využít pro cílenou reklamu. Existují ale i spyware odesílající hesla a čísla kreditních karet nebo spyware fungující jako zadní vrátka. Protože lze jen těžko poznat, do které skupiny program patří, a vzhledem k postoji k reklamě řada uživatelů nesouhlasí s existencí a legálností jakéhokoliv spyware. Spyware se často šíří jako součást shareware, a to jako adware nebo bez vědomí uživatelů (ale s vědomím autorů programu). Jakmile si takový program nainstalujete a spustíte, nainstaluje se do systému také spyware. Často se to týká například klientských programů pro peer to peer sítě umožňující stahování hudby a videa od ostatních uživatelů. Spyware patří mezi malware, tedy programy, které na počítači běží bez vědomí uživatele a nějakým způsobem jej poškozují, nebo zhoršují jeho funkci. Spyware představuje z hlediska bezpečnosti dat velkou hrozbu, protože odesílá různé informace (historii navštívených stránek, hesla) z vašeho počítače určenému uživateli, který tyto informace dále zpracovává. • Adware - obtěžují při práci na počítači reklamou • Browser helper object - dll knihovna, která umožňuje programátorům změnit a sledovat Internet Explorer • Hijacker - mění domovskou stránku • Dialer - přesměrovává telefonní linku na drahé telefonní tarify • Keystroke Logger - sleduje každý pohyb na klávesnici, některé druhy odesílají uživatelova hesla • Miscellaneous - je to směs spyware • Remote Administration - umožní vzdálenému uživateli ovládat PC
Spyware II
Ochrana proti spyware
• • • • • •
Neprohlížet internetové stránky s podezřelým obsahem (pornografie, warez) Při surfování používat bezpečnější internetový prohlížeč Používat antispyware Provádět aktualizace systému Používat firewall Neinstalovat podezřelé programy
•Spyware může odesílat • části registru systému (uživatelé často pracují pod účtem administrátora) • IP adresu uživatele, někdy i MAC (fyzickou) adresu • Historii prohlížených stránek • Informace o software a multimediálních souborech, které jsou na počítačí • Seznam otevíraných souborů • celé dokumenty • uživatelova hesla
Spyware III Zadní vrátka (z anglického backdoor) je metoda v počítačovém systému (nebo také kryptosytému či samostatném algoritmu), která útočníkovi umožňuje obejít běžnou autentizaci uživatele při vstupu do programu nebo systému a zároveň mu umožňuje zachovat tento přístup skrytý před běžnou kontrolou. Pro svůj vnik do operačního systému mohou backdoors obejít firewall například tím, že se vydávají za webový prohlížeč. Tento kód může mít formu samostatně instalovaného programu nebo se jedná o modifikaci stávajícího systému. Samotný vstup do systému pak mívá formu zadání fiktivního uživatelského jména a hesla, které napadený systém bez kontroly přijme a přidělí uživateli administrátorská práva. Některé druhy malware, např. červi Sobig nebo Mydoom instalují zadní vrátka na nechráněné systémy. Napadené počítače poté mohou sloužit útočníkům k další činnosti např. k rozesílání spamu nebo k DOS útoku. Zadní vrátka mohou být také v programu úmyslně zanechané programátorem nebo se může jednat o pomůcku pro ladění programu, která byla omylem ponechána i v ostré verzi. Většinu cheatů lze považovat za druh zadních vrátek relativně neškodného druhu.
Spyware IV
Antispyware • • • • • • •
Spybot Search & Destroy Spyware Terminator - zdarma i pro komerční účely, český překlad Ad Aware SE Personal Edition AVG Anti-Spyware Free - existuje také komerční verze Spy Sweeper - komerční software Spy Emergency - kvalitní komerční software ze Slovenska s českou lokalizací Spyware Doctor - podle většiny testů a názorů nejlepší, ale bohužel komereční, s dosti ochuzeným real-time štítem je i ve free verzi spyware doctor free - na této stránce zatrhněte jen spyware doctor.
Pishing
Phishing (někdy převáděno do češtiny jako rhybaření) je podvodná technika používaná na Internetu k získávání citlivých údajů (hesla, čísla kreditních karet apod.) od obětí útoku. Jejím principem je rozesílání e-mailových zpráv, které se tváří jako oficiální žádost banky či jiné podobné instituce a vyzývají adresáta k zadání jeho údajů na odkazovanou stránku. Tato stránka může například napodobovat přihlašovací okno internetového bankovnictví a uživatel do něj zadá své přihlašovací jméno a heslo. Tím tyto údaje prozradí útočníkům, kteří jsou poté schopni mu z účtu vykrást peníze. Technika phishingu byla detailně popsána v roce 1987 v práci a prezentaci předané International HPUsers Group, Interex. Poprvé byl termín phishing použit v usenetové skupině alt.online-service.America-online dne 2. ledna 1996, ačkoli se označení mohlo objevil již dříve v tištěném magazínu 2600: The Hacker Quarterly
Pishing II
----utb.cz Webmail Technical Services----Account Subscriber, Due to excess abandoned webmail accounts, We are currently performing maintenance on our Digital webmail Server to improve the spam filter services in our webmail systems for better online services to avoid virus and spam mails. In order to ensure you do not experience service interruption, respond to this email immediately and enter your Username/id here (********) password here (********) and future password here (********). Checkout new features and enhancements with our newly improved and secured webmail. NB: We require your username and password for Identification purpose only. ----Copyright © 1997-2010 utb.cz!. All rights reserved-----
Pishing III
Fáze přednášky Um!l" #ivot Von Neumann A. M. Turing
Samoreplikující se struktury
!kodliv" kód
Nep(ímá ú$ast
P(ímá ú$ast Stahova$e
Viry
Exploity
Dialery
Auto Rootery
)et&zové dopisy Kity generátory vir'
Programátorské viry
Spyware Zadní dví(ka Boot viry
Pishing
Zárodky
Souborové viry
Droppery
Multiparitní viry
Injektory
Makroviry viry Stealth viry Polymorfní viry
Rootkity
Adware
#ervi Chobotnice Králík "Vorové" ($erv rozesílající emaily) Logické bomby Troj%tí kon&
Spam Floodery Scannery (sníma$e stisku kláves,... )
Exploit Exploit je v informatice speciální program, data nebo sekvence příkazů, které využívají programátorskou chybu, která způsobí původně nezamýšlenou činnost software a umožňuje tak získat nějaký prospěch. Obvykle se jedná o ovládnutí počítače nebo nežádoucí instalaci software, která dále provádí činnost, o které uživatel počítače neví (např. internetový robot). There are several methods of classifying exploits. The most common is by how the exploit contacts the vulnerable software. A 'remote exploit' works over a network and exploits the security vulnerability without any prior access to the vulnerable system. A 'local exploit' requires prior access to the vulnerable system and usually increases the privileges of the person running the exploit past those granted by the system administrator. Exploits against client applications also exist, usually consisting of modified servers that send an exploit if accessed with client application. Exploits against client applications may also require some interaction with the user and thus may be used in combination with social engineering method. Another classification is by the action against vulnerable system: unauthorized data access, arbitrary code execution, denial of service. Many exploits are designed to provide superuser-level access to a computer system. However, it is also possible to use several exploits, first to gain low-level access, then to escalate privileges repeatedly until one reaches root. Normally a single exploit can only take advantage of a specific software vulnerability. Often, when an exploit is published, the vulnerability is fixed through a patch and the exploit becomes obsolete for newer versions of the software. This is the reason why some blackhat hackers do not publish their exploits but keep them private to themselves or other crackers. Such exploits are referred to as 'zero day exploits' and to obtain access to such exploits is the primary desire of unskilled attackers, often nicknamed script kiddies.
Exploit - Autorooter
Exploit - Rootkit
Spam
Spam je nevyžádané masově šířené sdělení (nejčastěji reklamní) šířené internetem. Původně se používalo především pro nevyžádané reklamní emaily, postupem času tento fenomén postihl i ostatní druhy internetové komunikace – např. diskuzní fóra, komentáře nebo instant messaging. Používá se též zkratka UBE/UCE (Unsolicited Bulk/ Commercial Email). Pro opak spamu, tj. poštu, která je zaslána konkrétní osobou se specifickým jednorázovým účelem a adresát ji považuje za žádoucí, se řidčeji používá termín ham (anglicky šunka).
Spam II Filtrace podle způsobu dopravy Blacklisting Blacklisting rozhoduje, zda dopis je nebo není spam, podle adresy odesílatele (která může být zfalšována), nebo lépe podle IP adresy, ze které dopis přišel na cílový SMTP server. Blacklisty obsahující IP adresy, ze kterých bylo zaznamenáno rozesílání spamu, bývají zveřejňovány nejčastěji pomocí systému DNS. Výskyt adresy v blacklistu může mít za následek buď přímé odmítnutí (nepřevzetí) dopisu ještě během SMTP relace, nebo může být informace z blacklistu použita jako dodatečná informace při následné filtraci podle obsahu. Greylisting Greylisting rozhoduje také podle IP adresy a emailové adresy odesílatele a adresáta, ale dělá to dynamicky. SMTP server, který provozuje greylisting, udržuje databázi, kde pro trojici (IP adresa, odesílatel, příjemce) je uvedeno, zda dopis s těmito atributy má být převzat k dopravě, nebo zda jeho převzetí má být dočasně odmítnuto. První dopis je odmítnut a je zaznamenán čas, kdy k tomu došlo. Po určitou dobu (typicky několik desítek minut) pak jsou dopisy s týmiž atributy odmítány. Po uplynutí této doby, pokud se původní SMTP server stále pokouší o odeslání dopisu, je záznam v databázi potvrzen a dopisy jsou naopak přijímány a dopravovány bez zdržení. Po další době (typicky několik málo týdnů) je záznam z databáze odstraněn, takže příští dopis bude opět pozdržen. K odstranění záznamu z databáze dojde také v případě, že v příslušném intervalu, kdy byly dopisy odmítány, se nepokusí původní SMTP server o znovudoručení. Tato metoda využívá faktu, že protokol SMTP rozlišuje chyby trvalé, jejichž číselný kód začíná číslicí 5, a chyby dočasné s kódem začínajícím číslicí 4. V případě dočasné chyby má odesílající SMTP server dopis uložit do fronty a pokusy o odeslání opakovat (typicky po několika málo desítkách minut). Robot rozesílající spam však často chyby neošetřuje a snaží se všechny dopisy rozeslat co nejrychleji, neboť je možné, že před případným dalším (nebo novým) pokusem o rozeslání, již bude spamerova IP adresa zveřejněna v některém blacklistu. Proto k druhému pokusu již nedojde. Greylisting se zpravidla používá jako předstupeň před filtrováním podle obsahu.
Spam III Filtrace podle obsahu dopisu Automatické rozpoznávání nemůže z principu fungovat dokonale, protože názor, zda konkrétní dopis je spam je individuální. Přesto filtrování podle obsahu dává použitelné výsledky a hojně se používá. Existují dvě základní metody, některé antispamové programy (např. SpamAssassin) je kombinují. Filtry založené na pravidlech Filtry založené na pravidlech vyhledávají v dopisech rysy, které jsou pro spam typické. Jde jednak o některá slova (např. viagra) a slovní spojení, jednak jsou vyhledávány chyby pro spam typické. Příkladem je třeba datum odeslání v budoucnosti, nedovolené znaky v hlavičce, chybně označený MIME-typ zprávy apod. Za každý rozpoznaný rys je dopisu přiděleno bodové ohodnocení, body se zpravidla sečítají a pokud součet přesáhne hranici, je dopis pokládán za spam. Rozpoznávané rysy jsou definovány pomocí pravidel, která je třeba pravidelně aktualizovat a přizpůsobovat praktikám spammerů. K vytváření a údržbě souboru pravidel je třeba mít znalosti, není to práce pro běžného uživatele, laika. Filtry založené na učení (bayesovské) Filtry založené na učení (často nazývané bayesovské) využívají triky z oblasti umělé inteligence. V režimu učení se filtru předkládají dopisy explicitně označené jako spam a ham (ne spam), filtr z předložených dopisů extrahuje informace, které si ukládá do databáze. Nejčastěji je dopis rozkládán na slova (popř. jiné úseky textu) a pro jednotlivá slova se statisticky zjišťuje pravděpodobnost, že dopis, který toto slovo obsahuje, je spam. V režimu rozpoznávání pak filtr využívá nashromážděné informace a testovanému dopisu přiřadí pravděpodobnost, že je to spam. Nejčastěji se pro výpočet pravděpodobnosti používá vzorec, který navrhl matematik Bayes. Velkou výhodou je, že filtr může učit i uživatel – laik. Učící se filtry jsou nejúčinnější, učí-li je přímo sami koncoví uživatelé podle svého individuálního názoru, co je spam a co ne. Přesto se bayesovské filtry používají i na serverech, kde učení probíhá pro všechny uživatele serveru společně. Bayesovský filtr je součástí např. poštovního klienta Mozilla Thunderbird. Příkladem čistě bayesovského filtru pro server je bogofilter.
Flooder
Denial of Service (česky odmítnutí služby) nebo též Distributed Denial of Service (česky distribuované odmítnutí služby) je technika útoku na internetové služby nebo stránky, při níž dochází k přehlcení požadavky a pádu nebo minimálně nefunkčnosti a nedostupnosti pro ostatní uživatele. Cíle takového útoku jsou v zásadě dva: • Vnucení opakovaného resetu cílového počítače • Narušení komunikace mezi serverem a obětí tak, aby jejich komunikace byla buď zcela nemožná, nebo alespoň velmi pomalá.
Flooder I Projevy United States Computer Emergency Readiness Team definuje příznaky DDoS útoku takto: • Neobvyklé zpomalení služby (při otvírání souborů nebo prostém přístupu). • Celková nedostupnost části nebo celých stránek. • Nemožnost se ke stránkám připojit. • Extrémní nárůst obdrženého spamu. Splnění některých podmínek ale ještě neznamená DDoS útok, může jít o prostý výpadek zaviněný hardwarem nebo softwarem samotného serveru bez cizího zavinění. Typy útoku Všechny typy se vyznačují několika společnými charakteristikami: • Zaplavení provozu na síti náhodnými daty které zabraňují protékání skutečných dat. • Zabránění nebo přerušení konkrétnímu uživateli v přístupu ke službě. • Narušení konfiguračního nastavení. • Extrémnímu zatížení CPU cílového serveru. • Vsunutím chybových hlášení do sekvence instrukcí které můžou vést k pádu systému. • Pád samotného operačního systému.
Flooder II ICMP floods. Smurf attack spočívá na chybné konfiguraci systému, který dovolí rozeslání paketů všem počítačům zapojených v síti přes Broadcast adresu. Pak stačí aby odeslaný paket měl dostatečnou velikost aby nebyl odfiltrován a všechny počítače v síti ho budou muset přijmout a zpracovat (zahodit). Ping-flood stojí na zahlcení cílového počítače žádostmi o ping odezvu. Základním předpokladem je, že útočník má k dispozici rychlejší připojení k internetu s možností většího objemu dat. Tento druh útoku je nejjednodušší ve svém provedení, stačí použít „ping -t“ k odesílání nekonečného proudu žádostí. SYN-flood zasílá záplavu TCP/SYN paketů s padělanou hlavičkou odesílatele. Každý takový paket je serverem přijat jako normální žádost o připojení. Server tedy odešle TCP/SYN-ACK packet a čeká na TCP/ACK. Ten ale nikdy nedorazí, protože hlavička odesílatele byla zfalšována. Takto polootevřená žádost nějakou dobu blokuje jiné, legitimní žádosti o připojení. Teardrop útok. Tento typ útoku zahrnuje zaslání IP fragmentu s překrývajícím se příliš velkým nákladem dat na cílový počítač. Chyba v TCP/IP při přeskládání takového paketu může na starších Operačních systémech vést až k jejich pádu. Peer-to-peer útok. Jde o využití masivního zástupu lidí na P2P sítích. Prakticky jde o zneužití bugu v klientu (většinou se jako příklad uvádí DC++) k odpojení od stávajícího serveru a pokusu o připojení k oběti. Při dobře provedeném útoku může být oběť vystavena najednou až 750.000 žádosti o připojení. I když tento útok se dá snadno odfiltrovat pomocí identické hlavičky p2p klienta, při masivním útoku i sama filtrace může vyústit v pád systému. Nukes jsou speciální pakety určené k zničení cílového počítače. Ne vždy je totiž pro DoS třeba server zahltit, občas se v něm nalézá chyba která zapříčiní pád při zpracování jediného paketu. Typickým příkladem je WinNuke který využívá chybu v NetBIOS handleru v Windows 95.
Flooder III
Obrana SYN-cookies SYN Cookies vnitřně modifikují chování TCP protokolu tak, že k vlastním zdrojům serveru se přistupuje až po ověření platnosti adresy. Tímto postupem se dá velmi účinně předejít SYN Flood útoku. Implementace této obrany je běžná na Solaris a Linux systémech. Firewall Přestože obsahuje jednoduché procesy k blokování IP adres či celých protokolů, z logiky věci nemůže být účinný absolutně. Nemůžeme přece kompletně zablokovat port na kterém přichází i legitimní uživatelé. Intrusion-prevention system Je účinný pouze v případě že útok má shodný podpis (například část hlavičky) s již dříve provedeným útokem. Podle podpisu totiž může začít okamžitě filtrovat pokusy o DoS od normálního provozu na síti.
Scanner
Viz též
• Microsoft safety scanner http://www.microsoft.com/security/scanner/en-us/default.aspx • ESET http://www.eset.cz/cz/domacnosti/produkty/online-scanner/
Antimalvarové desatero http://www.peetko.estranky.cz/clanky/antivirove-desatero.html
1) Provádějte pravidelný update svého antivirového programu! Sebelepší antivir se zastaralou virovou databází je k ničemu. Takřka každý den se objevují nové škodlivé kódy, ze kterých navíc mohou vznikat různé mutace. Pouze aktuální datové soubory poskytované výrobcem konkrétního antivirového programu obsahují údaje umožňující spolehlivou detekci a odstranění i nejnovějších virů. Někteří výrobci dnes dokonce poskytují tyto aktualizace denně. 2) Nikdy neotvírejte e-mailovou přílohu, kterou jste nepožadoval(a)! Prudký nárůst škodlivých kódů šířících se pomocí elektronické pošty je v poslední době více než zřejmý. Brát tento způsob šíření virů v úvahu nás přinutil nemalé ekonomické škody (odhadují se asi na 8,7 miliardy USD). Programování těchto virů je poměrné jednoduché a jejich efekt rozsáhlý. Typický virus obsažený v příloze elektronické pošty, pokud na něj uživatel klikne a tím jej otevře, nemusí zůstat pouze u svého šíření na adresy, které najde v poštovním programu. Může obsahovat i další škodlivé rutiny, které například zlikvidují data na zasaženém počítači. 3) Mějte kontrolu nad svým počítačem a nad tím, kdo jej používá! Riziko virové nákazy a ztráty dat vzrůstá úměrně s počtem lidí, kteří mají ke konkrétnímu počítači přístup. Stačí jediný nezodpovědný člověk, který přinese z domova zavirovanou disketu nebo otevře e-mailovou přílohu s virem, a práce všech ostatních přichází vniveč. V současné době se stává důležitým prvkem ochrany počítače jeho zabezpečení pomocí vhodného bezpečnostního programu, který zajistí přístup pouze definovaným uživatelům. Nejde pouze o zamezení virové nákazy, ale i o ochranu informací uchovaných v počítači. Je třeba si uvědomit, že informace mají také svoji cenu. S připojením počítače na internet vyvstává potřeba chránit se i proti nežádoucím průnikům ze sítě.
Antimalvarové desatero http://www.peetko.estranky.cz/clanky/antivirove-desatero.html
4) Instalujte včas všechny „záplaty“ na používaný software! Existují viry, které používají tzv. bezpečnostní díry v operačních systémech a aplikacích. Pokud je taková chyba v programu zjištěna, jeho výrobce zpravidla připraví tzv. záplatu (patch), kterou lze na daný program aplikovat (nainstalovat), a tím chybu odstranit. Tyto soubory jsou zpravidla k dispozici ke stažení na stránkách jednotlivých výrobců software. Je v zájmu uživatele sledovat aktuální situaci a nové záplaty co nejdříve aplikovat. Toto pravidlo platí zejména pro operační systémy. 5) Vždy prověřujte diskety a CD média předtím, než je použijete! Přesto, že podle dostupných údajů asi 85 % zaznamenaných virových útoků přichází prostřednictvím e-mailu, nemůžeme podceňovat ani „tradiční“ způsoby šíření škodlivých kódů. Proto je bezpečnější investovat několik minut času a médium otestovat, než se potom několik hodin trápit nad zavirovaným počítačem, případně platit specialistu. 6) S každým novým souborem (i z důvěryhodného zdroje) nakládejte s největší opatrností! Uvedené pravidlo platí nejen pro pirátský software. Existují dokonce i případy, kdy instalační CD od známého výrobce tiskáren obsahovalo virus. Mnohonásobně větší je riziko v případě souborů stahovaných z Internetu. Nezáleží na tom, komu stránky patří, i na stránkách renomované firmy mohou být soubory infikované viry. Připomeňme si případ, kdy na stránkách světově nejznámějšího výrobce nejmenovaného operačního systému byl několik týdnů k dispozici dokument nakažený makrovirem. Inu virus si nevybírá, komuže patří soubor, který napadá.
Antimalvarové desatero http://www.peetko.estranky.cz/clanky/antivirove-desatero.html
7) Využívejte více než jen jeden způsob antivirové ochrany! Z hlediska celkové bezpečnosti není dostačující použití pouze jednoduchého antivirového programu, který umí na požádání prověřit daný soubor či adresář. Je žádoucí, aby antivirový program uměl kombinovat několik druhů ochrany. Mezi ně patří: • antivirový monitor, který umí na pozadí (on-line) kontrolovat otevírané soubory; • integrity checker (kontrolní součet), který umí zaznamenat modifikace souborů a adresářů, jež mohou indikovat napadení virem; • heuristická analýza, jež vyhledává viry ne pomocí typické sekvence kódu, ale pomocí jejich chování a projevů. Kombinace těchto několika technologií může efektivně ochránit počítač před většinou škodlivých kódů. 8) Vytvořte si zaručeně „čistou“ bootovací disketu a pečlivě ji uložte na bezpečné místo! Může nastat případ, že na počítači, který byl napaden virem, nelze spustit operační systém. Nemusí to však nutně znamenat, že by virus data na pevném disku počítače smazal. V takovém případě je vhodné mít k dispozici předem vytvořenu tzv. bootovací disketu (samozřejmě nezavirovanou), která současně obsahuje antivirový program. Pomocí této diskety lze napadený počítač spustit a infikované soubory vyléčit či přinejhorším smazat. 9) Pravidelně zálohujte! Ačkoliv toto pravidlo přímo nesouvisí s antivirovou ochranou, jeho dodržování umožňuje minimalizovat případné škody způsobené agresivním virem, nespolehlivým hardwarem apod. V porovnání s cenou ztracených dat je čas strávený zálohováním zcela zanedbatelný. Vytvořené zálohy je vhodné uložit na bezpečném místě (pro případ požáru či jiné živelné katastrofy).
Antimalvarové desatero http://www.peetko.estranky.cz/clanky/antivirove-desatero.html
10) Nepodléhejte panice! Jak autor tohoto desatera dále praví, není cílem formulování těchto deseti pravidel strašení uživatelů počítačů, protože počítačové viry jsou v podstatě obyčejné programy. S tím rozdílem, že svoji činnost konají nezávisle na vůli uživatele. Pokud už se stane a váš počítač je zavirovaný, dělejte vše s rozvahou a vlastním konáním nenapáchejte větší škody, než by napáchal přítomný vir.
Utopie: Nejlépe chráněný počítač je počítač jednoho pána, který nikdy nebyl připojen na Internet a je na něm dodržováno Antimalwarové desatero
Antivirové softwary Seznam mnoha antivirových SW ve formě srovnávací tabulky lze nalézt na Internetu. Většina antivirů obsahuje různé úrovně ochrany a služeb, hodně z nich používá k detekci viru analýzu chování než identifikaci podle signatury. Viz http://en.wikipedia.org/wiki/List_of_antivirus_software