Vývojářský toolkit vyvolává poplach

Antivirový software objevil zadní vrátka v nejdůležitějších produkčních aplikacích firmy. Jak dobře si asi budete...


Antivirový software objevil zadní vrátka v nejdůležitějších produkčních
aplikacích firmy.
Jak dobře si asi budete vést, když budete jednat se zahraničním výrobcem, jehož
zástupce nemluví vaším jazykem a překladatel tajně pracuje pro vaši konkurenci?
A jak na to vlastně vůbec přijdete? Jakým způsobem se budete snažit dopátrat
pravdy, pokud už byste snad pojali nějaké podezření? My jsme podobnému problému
čelili docela nedávno, ale v našem případě nebyl překladatelem člověk byl jím
program.
Vyvinuli jsme vlastní software, který zpracovává uložená data o našich
obchodních činnostech a tvoří z nich zprávy, které používáme jako podklady při
přijímání důležitých rozhodnutí. Pokud bychom tomuto softwaru nemohli věřit,
potom bychom se nemohli spolehnout na to, co říká o našich datech. A kdybychom
omylem těmto nevěrohodným údajům věřili, velmi rychle bychom jistě ztratili
slušný balík peněz.
Musíme tedy vkládat do lidí, kteří píší naše aplikace, spoustu důvěry.
Provádíme také spoustu testů našeho softwaru, ale ty jsou většinou zaměřeny na
nalezení chyb, nikoli na záměrně ukrytý škodlivý kód. Takový kód by mohl naše
data zkreslovat nebo třeba posílat ven z firmy např. naší konkurenci. Mohl by
také upravovat naše výsledky tak, aby si kdosi cizí mohl přivlastňovat část
našich peněz bez toho, abychom měli vůbec šanci ho chytit.
Toto všechno jsou důvody, proč zaměstnáváme týmy auditorů, nutíme naše
vývojáře, aby používali vývojové toolkity, a provádíme pravidelné zkoumání
kódu. Potřebujeme se prostě ujišťovat, že nás, pokud jde o kvalitu kódu,
nečekají žádná nepříjemná překvapení.

Útok je realitou
Ale co když nemůžeme věřit ani svým nástrojům? Co když, po všem tom ručním
procházení kódu, některý z nástrojů při kompilaci vloží do výsledné aplikace
škodlivý kód? Takové otázky jsem si kladl, když náš antivirový software začal
křičet, že máme ve svých klíčových produkčních serverech program se zadními
vrátky.
Abych byl konkrétní: Antivirový kontrolor našel soubor DLL knihovny (Dynamic
Link Library), který byl přítomen na většině našich serverů a který jevil
známky přítomnosti relativně nového backdoorového nástroje.
Mohlo se stát, že by někdo z našich lidí vložil do kódu nějakou závadnou
rutinu? Okamžitě jsme poslali kopie našeho kódu prodejcům antivirových nástrojů
k analýze. Možná jde jen o falešný poplach. Nebo jen nějaká kombinace kódu
vyvolala varování bez toho, aby byl přítomen skutečný škodlivý kód.
Naše naděje zmizely v okamžiku, kdy výrobci potvrdili, že náš kód vykazuje
naprostou shodu se škodlivým kódem backdoorového nástroje. Vyskytuje se v něm
několik subrutin, které může útočník využít k ukrytí souborů operačního systému
nebo ke sběru hesel jejich prostřednictvím totiž na sebe může snadno
přesměrovat standardní volání rutin, které je legitimně vyzvedávají od
uživatelů.

Rána pod pás
Naše podezření padlo nejprve na skupinu firemních vývojářů. Vzali jsme
nejnovější signatury virů a začali jsme zkoumat jednotlivé desktopy v tomto
oddělení. Nakažené soubory byly všude dokonce i na instalačních CD-ROMech od
našeho poskytovatele vývojových nástrojů. To nás dostalo.
Jestliže byl kód zadních vrátek dokonce i na zmíněných CD-ROMech, potom naši
zaměstnanci zřejmě nemohli být příčinou celého problému. Naši programátoři
prostě vytvářeli nakažené aplikace proto, že používali dodané nakažené nástroje.
V první chvíli jsem si oddechl, že nejde o aktivitu nikoho z našich
zaměstnanců. Vzápětí ale úlevu nahradila další strašná myšlenka: Vymyslel
nějaký hacker tento geniální způsob, jak obejít ochranu v naší i ve všech
dalších institucích, které používají stejné nástroje? Jistě proč útočit na
dobře zabezpečené finanční instituce, když lze zaútočit na jejich dodavatele
vývojových toolkitů?!

Nové dilema
Po několika horečnatých telefonátech výrobci našich vývojových nástrojů jsme se
dostali až k vedoucímu jejich technického oddělení. Vysvětlil nám, že dotyčný
kód nepředstavuje zadní dvířka, ale sérii nástrojů používaných pro debugging.
Jeho prostřednictvím jsou odchytávány události, ke kterým v aplikacích dochází,
jsou podle potřeby modifikovány a posílány dále. Tak lze provádět testy bez
toho, aby bylo třeba provádět zásahy do operačního systému.
To znělo rozumně. Proč ale naši dodavatelé antivirových řešení tvrdili, že jde
o hrozbu, když jde pouze o kód používaný pro neškodné testy? Jeden z níže
postavených zaměstnanců dodavatelské firmy nám nabídl svou odpověď: Má za
přátele lidi z nějaké hackerské skupiny a ta používala ten samý toolkit, který
jsme zakoupili, nikoli pro testy, ale k vytvoření známého backdoorového
programu.
Byl jsem na vážkách. Měl bych věřit ujišťování výrobce, že jeho nástroj není
škodlivý i přesto, že jej vytvořil programátor, který si vyměňuje názory s
black-hat hackery? Jak si budeme moci být jisti, že se uvedená hackerská
skupina nerozhodne zneužít svých kontaktů a probourat se přes výrobce nástrojů
do firem, které tyto nástroje legálně zakoupily?
Na druhou stranu jsme však neměli žádné důkazy, že by se stalo cokoli
problematického. Ale jak se to dozvíme, dokud nepřijdeme o nějaké peníze?

Těžké volby
Stále se snažím najít nějaké rozumné řešení vzniklé situace. Mohli bychom
zvážit možnost, že by naši zaměstnanci nebo i nějaká nezávislá instituce
provedla analýzu zdrojových kódů dodaného toolkitu pokud by s tím tedy výrobce
souhlasil, což ovšem není příliš pravděpodobné. To by ovšem bylo stejně velmi
drahé řešení a navíc by bylo třeba k uvedenému procesu přistoupit vždy, když by
byla vydána nová verze.
I kdyby však byla taková prohlídka možná jak bychom si mohli být jisti, že
zkompilované DLL knihovny i spustitelné soubory jsou skutečně výsledkem
zpracování stejného kódu, který jsme zkontrolovali?

Víra v dodavatele
Jestliže však něco nepodnikneme, může se stát, že nástroje, které používáme pro
zvýšení své bezpečnosti, poskytnou hackerům přímý přístup ke kódům v naší
společnosti. Kudy dál?
V tomto okamžiku zatím provádíme pouze antivirové skenování na všem našem
softwaru. Zmíněné události mi ale otevřely oči. Nyní si kladu otázky, které
jsem dříve opomíjel. Lze je shrnout do jediné: Nakolik mohu věřit našim
dodavatelům?
Řešíte podobné problémy jako Vince Tuesday? Podělte se o svoje zkušenosti s
námi i se čtenáři Computerworldu. Můžete psát na adresu bezpecnost@idg.cz.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.