Logická bomba

Logická bomba je samostatná aplikace, skript nebo kód vložený do jiného programu, který se spustí po splnění určitých podmínek.

Logická bomba může dělat v podstatě cokoliv. Nejčastěji ji do systému umísťuje nespokojený zaměstnanec, který ví, že bude propuštěn nebo se této situace obává a jeho motivem tak bývá pomsta nebo snaha se finančně zajistit v období, kdy bude bez práce a příjmu. O tom, že toto riziko roste např. v době krize, jsme již psali.

Do systému může logickou bombu umístit v podstatě kdokoliv. Zpravidla to bývá administrátor nebo vývojář, který má jako jediný přístup ke zdrojovému kódu nebo programovému vybavení. Ovšem v případě vývojáře bych hovořil spíše o zadních vrátkách (backdoor), které mu umožňují přístup k vybraným funkcím produktu po jeho uvolnění a nasazení, než o logické bombě. Pokud chceme takovéto situaci předejít, měli bychom provést audit zdrojového kódu a vůbec zajistit bezpečnost během celého SDLC, neboť hrozí riziko, že by mohla být nasazena jiná verze než ta, která byla testována. Ano, narážím zde na nezvládnutí procesů a rizik spojených se SDLC.

Ale zpět k logickým bombám, které do systému obvykle umísťuje administrátor nebo jiná osoba, která disponuje takovým oprávněním, které ji umožní začlenit logickou bombu do systému tak, že bude mít zajištěno její spuštění i po svém odchodu ze společnosti a zrušení účtu v systému. Logická bomba může způsobit narušení integrity a to obzvlášť rafinovaným způsobem. Kromě toho může způsobit i nedostupnost systému a dat, od prostého zablokování uživatelských účtů, změnu práv až po shození serveru nebo smazání dat. A stejně tak může způsobit narušení důvěrnosti, což se může projevit např. tak, že důvěrné soubory jsou posílány mimo společnost. Ať už logická bomba způsobí narušení důvěrnosti, integrity nebo dostupnosti, měli bychom se zamyslet především nad tím, jakým způsobem těmto situacím předcházet a jak ji v systému včas odhalit.

Předpokládejme, že cílem toho, kdo chce logickou bombu do systému umístit, je, aby bylo zajištěno její spuštění i v okamžiku, kdy bude ze systému odstraněn jeho účet nebo bude daný server restartován, ať už se z důvodu plánované odstávky nebo nenadálé havárie. Jak tedy zajistit, že se logická bomba bude spouštět s každým startem serveru? Nejlépe tak, že její spuštění bude zajištěno samotným systémem. Logická bomba může mít podobu skriptu a využívat pouze funkcí systému nebo může mít podobu spustitelného souboru. V paměťovém prostoru pak bude nejspíš běžet jako proces. Ale nového procesu by si správce systému mohl všimnout a přítomnost bomby snadno odhalit.

Útočník proto nejspíš připojí svůj kód k nějakému stávajícímu skriptu, který třeba provádí zálohování nebo jinou běžnou rutinu. Stačí jediný řádek, který bude volat jiný skript. Skript může zůstat dokonce stejně velký, pokud útočník odmaže např. komentáře o příslušné délce. A koho napadne kontrolovat skript, který funguje, jestli náhodou kromě toho co má, neprovádí ještě něco jiného. Nezapomínejte, že mnoho skriptů bývá dost často vytvořeno lidmi, kteří už v dané společnosti nepracují a stávající správci skripty dál používají, ač jejich vnitřní struktuře příliš nerozumí, nebo je ani nenapadlo se jimi hlouběji zabývat. Jistě, měla by existovat dokumentace, ale vy ji snad ke všem skriptům, které ve vaší společnosti používáte, máte? Kromě toho útočník nemusí disponovat v systému žádnými právy, stačí, když svůj kód jednoduše začlení do makra v spreadsheetu, který používá celá společnost.

Jak jsme si již řekli, logická bomba čeká na splnění určitých podmínek, těmi může být vypršení určitého času, nebo může být její spuštění na určitý čas naplánováno. Jinou formou aktivace může být přijetí zprávy nebo vytvoření, smazání nebo modifikace určitého souboru nebo položky v databázi. Ano, může mít i podobu úložné procedury. Chtěl bych zdůraznit, že logická bomba nemůže být odhalena žádným nástrojem na detekci malwaru, protože nástroje tohoto typu nejsou schopny rozlišit, zda činnost, kterou logická bomba provádí nebo má provést, je žádoucí či nikoliv.

Ideální by samozřejmě bylo, kdyby zaměstnanec neměl vůbec možnost do systému jakkoliv zasahovat, to však v praxi není dost dobře možné. Riziko lze částečně minimalizovat tím, že příslušnými privilegii bude disponovat jen omezený počet osob a odpovědnost za jednotlivé činnosti v systému bude mezi ně vhodně rozdělena (separation of duties). Dalším řešením je ihned po instalaci a konfiguraci operačního systému a příslušných aplikací zdokumentovat všechny soubory, běžící procesy, služby a vytvořit kontrolní součty souborů ve vybraných adresářích. To může provést pracovník, který v systému disponuje pouze právem na čtení, takže začlenit logickou bombu do systému nemůže. Zatímto účelem je možné použít odpovídající SW, který po spuštění zjistí aktuální konfiguraci systému, spočte kontrolní součty a výsledek této operace uloží na médium, na které má právo zápisu. Toto médium nebo svazek se pak na jiném serveru namontuje jen pro čtení a následně je pak možno kontrolovat, zda v systému došlo k nějaké změně. Pokud by útočník svůj kód začlenil do programu, který zkompiloval a původní verzi by tímto programem nahradil, vyšel by jiný kontrolní součet a byl by vygenerován alert.

Závěr: Každý nový skript, program, aplikace nebo produkt by měl být před nasazením do produkčního prostředí důkladně otestován a měla by k němu být vytvořena dokumentace. Přes výše uvedené skutečnosti a doporučení se však mnohé společnosti domnívají, že pečlivě vedená dokumentace k programovému vybavení je ztráta času a nasazovat nějaký nástroj na kontrolu integrity je vyhazování peněz, stejně jako jednotlivé činnosti v systému rozdělit mezi více správců a přístup k datům a systému řídit na principu „need to know“ a „least privilege“.

Myslíte si, že stačí, když dotyčnému pracovníkovi všechny přístupy do systému nejprve zablokujete a až poté mu sdělíte, že je propuštěn?


Pokud vás tento příspěvek zaujal, sdílejte ho!
Share on FacebookShare on LinkedInTweet about this on TwitterShare on Google+Email this to someonePrint this page

Štítky:


K článku “Logická bomba” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: