You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
HACKERSKÁ ZPRÁVA <strong>2005</strong><br />
23<br />
KNOW-HOW<br />
JAK HACKEŘI HLEDAJÍ<br />
BEZPEČNOSTNÍ MEZERY<br />
<br />
může být vyslána v podstatě jakýmkoliv subjektem.<br />
Hacker může takovou zprávou modifikovat<br />
rutinu pro ošetření výjimečných situací<br />
a do paměti programu tak propašovat<br />
např. trojského koně. Potom záměrně vyvolá<br />
havárii programu. Nyní ovšem namísto<br />
korektního systémového ošetření výjimečného<br />
stavu dojde k odstartování podvrženého<br />
trojského koně. To mimo jiné také znamená,<br />
že i uživatel s pouhými hostovacími právy<br />
může zavírat aplikace, vkládat libovolné<br />
informace, v horším případě dokonce získat<br />
vyšší přístupová práva.<br />
SETKÁNÍ HACKERŮ<br />
Seznam účastníků vypadá<br />
jako oborové „Who's who“.<br />
Na DefCon, největší hackerské<br />
konferenci na světě, se<br />
setkávají programátorští koryfejové,<br />
zástupci bezpečnostních firem a administrativy.<br />
Většinou na přednáškách,<br />
mnohdy však také jen šeptem si vyměňují<br />
poznatky o bezpečnostních mezerách<br />
v softwaru a o metodách jeho<br />
napadení. Není divu, že sem své pracovníky<br />
vysílají i tajné služby, jako například<br />
NSA, a firmy, jako je Microsoft...<br />
Chceme to vyzkoušet a od jednoho z hackerů<br />
dostáváme doporučení, abychom<br />
napadli „Správce nástrojů“. Tento nástroj je<br />
nainstalován v každém počítači s Windows<br />
XP/2000 a má systémová práva. Program<br />
vlastně slouží k tomu, aby na požádání<br />
dával k dispozici obrazovkovou lupu a další<br />
pomůcky. Náš „Shatter Attack“ startujeme<br />
WINDOWS MAJÍ VELKÝ PROBLÉM VE SVÉ<br />
ARCHITEKTUŘE. BRETT MOORE, BEZPEČNOSTNÍ EXPERT<br />
tak, že programu posíláme kód stisku funkční<br />
klávesy F1. Poněvadž z toho není jasné,<br />
pro který prvek nápovědu požadujeme, program<br />
žádný soubor nápovědy nenajde<br />
a vyzve nás, abychom jej určili sami. Software<br />
však nijak nekontroluje, zda se pak skutečně<br />
jedná o soubor nápovědy (s příponou<br />
.HLP), takže si můžeme vybrat libovolný program.<br />
A tak namísto očekávaného souboru<br />
„UManDlg.HLP“ otvíráme příkazovou řádku<br />
DOS „cmd.exe“. Pod Windows XP Professional<br />
se pak prostřednictvím příkazu whoami<br />
dozvídáme, že jsme nyní vedeni jako uživatel<br />
„SYSTEM“ – a že jsme tedy obdrželi vyšší<br />
přístupová práva.<br />
Cílem každého hackera je vždy dosáhnout<br />
podle možností co nejvyšších přístupových<br />
práv (administrátorských, systémových,<br />
v Unixu ROOT atd.). Pak už má volnou ruku<br />
a může instalovat trojské koně či viry, krást<br />
data nebo třeba mazat libovolné soubory<br />
v počítači.<br />
<br />
Uživatelé denně narážejí na problémy,<br />
které se při podrobnějším zkoumání<br />
ukáží jako bezpečnostní mezery. Jasným<br />
příznakem toho je, když například Internet<br />
Explorer při návštěvě určité webové<br />
stránky havaruje pokaždé stejným způsobem.<br />
Kdo se problém snaží vypátrat,<br />
chybovou zprávu "neodklikne", ale<br />
nechá si vypsat detaily, studuje obsah<br />
webové stránky a všemožně se pokouší<br />
přijít věci na kloub. Pokud má hacker<br />
štěstí, dá se chyba využít (anglicky<br />
exploit, viz též glosář 25).<br />
Nutnou podmínkou úspěšného "hacku"<br />
je dokonalá znalost systému, který má<br />
být napaden. Ve většině případů to znamená<br />
také zvládnutí programovacích<br />
jazyků Assembler a C. Jen ten, kdo je<br />
schopen číst a psát programový kód,<br />
dokáže najít nesrovnalosti.<br />
"Snídám diffy a spím na definici céčka,"<br />
zažertoval si na konferenci Halvar Flake,<br />
mladík známý v branži svými dobrými<br />
nápady. Prohlédne si v opensourcových<br />
projektech zdrojové kódy oprav chyb<br />
a hned přesně ví, kde v C číhají záludnosti.<br />
"Kreknout" se dají i programy, od<br />
nichž není k dispozici zdrojový kód. Pod<br />
Windows se nejprve soubor se strojovým<br />
kódem zpětně přeloží tzv. disassemblerem<br />
(např. IDA) a pak se pod<br />
nějakým ladicím programem (např. Olly-<br />
Dbg, viz rámeček na 28) sleduje průběh<br />
programu. Pokud se v programu<br />
podaří objevit nějakou slabinu, napíše<br />
hacker zpravidla v assembleru kousek<br />
kódu, který mezeru (např. v souvislosti<br />
s Buffer Overflow), využije ke svému prospěchu.<br />
Elementární částice: Disassembler IDA<br />
rozloží program na jednotlivé strojové<br />
instrukce a vyjádří je symbolicky podle<br />
konvencí assembleru.<br />
C H I P L E D E N 2 0 0 5