Už skoro rok se v práci zabývám počítačovou bezpečností, tak jsem si řekl, že se podívám na konferenci a nasaju vědomosti od zkušenějších kolegů. Koukal jsem se taky na to co udělat na OpenAltu líp, a které přednášející pozvat.
Security session je maličká konferencička, která trvá jeden den ve dvou místnostech. Po vzoru OpenAltu přednášky uváděli Toast Másteři. Líbí se mi to že tam funguje někdo jako session chair, který přednášejícího představí a nažhaví mu obecenstvo. Na druhou stranu je velká škoda, že to nedělá človek z oboru.
Zajímavým rozdílem proti naší konferenci byli 35 minutové přednášky a 25 minutové pauzy. Časování bylo volné, zřejmě v tom nebyl započítaný čas na diskusi. Ve finále to bylo hodně uvolněné a člověk si mohl pěkně odfrknout.
Asi největším nedostatkem bylo kafe. Prostě chybělo. Ze zákulisí jsem se dozvěděl, že vloni KofiKofi nevydělali, takže je letos nepřemluvili. Přilehlá kavárna byla taky zavřená.
Obědová pauza byla rafinovaně naplánovaná, tak abysme přišli 5 minut před otevřením “Opic”, což mi připomělo, že na to musíme dávat pozor.
Celkově je to docela zajímavá akce, takže tam třeba příští rok uděláme přednášku o našem supr produktu..
Softwarové protektory
Podle názvu jsem si myslel, že se bude mluvit o pneumatikách. Po pár minutách se ukázalo, že bohužel ne. Pod tímto vznešeným názvem se skrývají techniky obfuskace kódu a ochran proti cracknutí. Dva roky v Red Hatu na mně zanechaly asi následky, protože nějak vnitřně nedokážu pochopit, proč by někdo chtěl chránit kód proti kopírování. Vnitřně mám taky vsugerované, že security by obscurity není správná cesta k cíli (k dosažení bezpečnosti). První přednášející navíc poměrně monotoně, takže jsem se musel docela nutit poslouchat ho.
Tvůrci protektorů docela bojují s tvůrci malware. Obfuskace totiž nejenže brání v přepisu JE na JNE v asembleru crackerům, ale stěžuje práci tvůrců antivirů, které hůř hledají zase jiné instrukce..
Na security by obscurity se dá založit docela slušný biznis. Podobně jako naši zákonodárci nutí aktualizovat účetnictví, tak hackeři nutí tvůrce protektorů znovu a znovu přepisovat jejich software. V praxi se prý vyplatí aktualizovat protektor každé 3-4 mesíce.
Protektory dělají mimo jiné to, že se snaží detekovat rootnuté telefony a upozorňují na to, jakoby to bylo něco špatného. FUJ!
Wintel hell
Druhá přednáška se mi zdála výrazně lepší. Zejména protože šla do hloubky a k praktickým ukázkám. V podstatě by se dala rozdělit na dvě částí Windows a Intel Hell.
Reprodukovat postřehy z Windows Hell se ani nebudu snažit. Od dob Windows XP jsem naštěstí programoval už jen v linuxu a jména knihoven a api mi už naštěstí nic neříkají. Ono ty operační systémy vesměs dělají totéž. Hlavní rozdíl je v tom, že Microsoft evidentně nezveřejňuje ani zdrojaky ani dokumentaci. (-;
Z harwarové časti mi toho taky uteklo fůra. Dozvědel jsem se ale, že pokročilejší malware dokáže udělat útok i na cizí paměť tím, že na úrovni ovladače vyvolá DMA čtení. Intel už nějakou dobu pracuje na MPX (Memory Protection Extensions), které umožní rychle a snadno označit chráněné bloky paměti.
Martin Hron nám taky umožnil trošku nahlédnout do budoucnosti. Intel v nových procesorech bude mít podporu pro rychlejší spekulativní transakční vykonávání kódu. Hlavní klíčové slovo bylo transakční. V serverových hodně-jádrových systémech by to mělo umožnit 100 násobné zrychlení těchto operací.
Pak jsem se dozvěděl i něco o tom jak funguje chytrý malware. Metody pro jeho detekci jsou často založeny na debugování kódu. Chytrý malware pak kontroluje hodnotu v registru DR7 a tváří se jakoby nic.
Bruteforcing of botnets
Veronica Valeros povídala o tom jak analyzovala nějaký botnet. Většina analýz se provádí maximálně 5 minut v nějakém sandboxu. Ona to nechala běžet celý měsíc a koukala se jak se mění jeho chování v čase.
Chytrý malware se snaží detekovat jestli je spuštěný ve virtuálce. Pro jeho lepší detekci se dá dělat tzv. hardeninig virtuálky, t.j. skrývat fakt, že se jedná o virtuálku.
Botnet se obvykle vyzačuje tím, že je C&C. Ten konkréní, kterým se zabývala, si stahoval postupně svoje soubory několik dní v několika variantách. Upřimně řečeno jsem z anglického talku přesně nepochopil proč a jak si vybírá, kterou verzi má spustit.
Každý správný botnet reportuje svůj stav, t.j. jakou má verzi a jakých výsledků dosáhl. Pak si ten botnet stáhl seznam domén, které má zkoušet. Nejdřív zkusil admin/admin a pak spekulativně admin/část-doménového-jména jako heslo.
S tímto nastavením se mu překvapivě dařilo v průměru 1 ze 7000 získat kontrolu nad wordpressem, což v praxi znamenalo jeden wordpress za tři a půl hodiny.
V diskusi pak zazněla otázka jak to vlastně analyzovala? Na takovém běžném Windows XP za 30 dní vznikne asi docela veliký PCAP. Je otázka jestli se to dá vůbec něcím rozumně načíst a zpracovávat. Odpověď byla pro mně překvapivá: Wireshark. Asi nikdo nic lepšího zatím nevymyslel.
Robots vs. Robots
Pro mně asi nejzajímavější přednášku měl Sebastián Garcia z ČVUT. Celá přednáška se dá shrnout překvapivě jednoduše.
Data posílané po síti se na úrovni toků označkují podle podobných parametrů. Nepochopil jsem úplně podle čeho, ale lze udělat například podle množství přenesených dat v jednotlivých packetech. Vznikne feature vector, který popisuje jeden tok, který vypadá přibližně takto:
AABEAAACDDAAADADADADADDDDA
Pak se anotuje dostatečné množství komunikace od daného botnetu a natrénuje se na tom markov chain.
Toto je potom schopné klasifikovat daný botnet (rodinu botnetů). Nějaké přesnější číselné shrnutí toho jak dobře to funguje, jsem se moc nedozvěděl. Čekal jsem, že ukáže nějakou Precision/Recall křivku. Ale aspoň jsem si procvičil idiotské koktání v angličtině (i to jak se stydět).
Při jeho následující přednášce jsme si prozvičili základy TCP/IP a práce s wiresharkem. Snažili jsme se identifikovat co je v jednotlivých packetech. Dvě hodiny jsou na to asi málo.
Zajímavé bylo, že reputace ip adresy ověřuje pomocí virustotal.com a passivetotal.org.
Sebastián pořádá na ČVUTu malware nights, kde se takovýmto workshopům věnuje víc do hloubky. Škoda, že je to v Praze..
Win, Win, Win
Houby, houby, houby. Zase jsem nic nevyhrál. To mně přesvědčilo, že musíme na OpenAltu udělat rozdělování věcných darů od sponzorů stejně jako to bylo na DevConfu: Tak aby to byla zábava pro všechny a nečekalo se dlouho na předávání taštičky a potřásání rukou.