Ian Carroll a Sam Curry, kteří se podíleli na výzkumu, si během svých cest po Spojených státech všimli řady s označením Known Crewmember (KCM). Tato iniciativa Úřadu pro bezpečnost dopravy (TSA) umožňuje ověřeným pilotům a posádkám vyhnout se dlouhým frontám u bezpečnostních kontrol. Program KCM a podobný systém Cockpit Access Security System (CASS) dokonce umožňují pilotům obsadit volné místo v kokpitu (tzv. "jumpseat") během letů.
Podle výzkumníků ale není nutné absolvovat pilotní výcvik, abyste se dostali na palubu. Stačí znát základní principy útoku SQL injection (technika napadení databázové vrstvy programu vsunutím (odtud „injection“) kódu přes neošetřený vstup a vykonání vlastního pozměňujícího poškozujícího SQL příkazu).
Mohlo by vás zajímat
Drobný háček
Navzdory tomu, že se do programu KCM přihlásilo až 76 leteckých společností, by tento útok nefungoval u větších poskytovatelů. Společnost ARINC, která systém spravuje, ověřuje KCM a CASS status jednotlivců a předává požadavky leteckým společnostem k potvrzení jejich pravosti. Větší letecké společnosti obvykle vyvíjejí své vlastní systémy pro autorizaci, a proto nejsou považovány za zranitelné.
Menší společnosti se však častěji spoléhají na služby třetích stran, jako je FlyCASS, což je platforma, kterou výzkumníci označili za zranitelnou vůči SQL injection.
Nepříjemná zjištění
FlyCASS nabízí leteckým společnostem způsob, jak spravovat žádosti KCM a CASS bez nutnosti vyvíjet vlastní infrastrukturu. Podle výzkumníků byla přihlašovací stránka pro každou společnost vystavena na internetu a mohla být snadno napadena jednoduchou SQL injekcí.
"Testovali jsme SQL injection zadáním jednoduchého znaku do uživatelského jména, a okamžitě jsme obdrželi chybu MySQL," uvedl Carroll. "Bylo to velmi špatné znamení. Potvrdili jsme problém pomocí sqlmap a byli jsme schopni se přihlásit do FlyCASS jako administrátoři jedné z leteckých společností."
Výzkumníci tvrdí, že poté mohli v systému CASS do seznamu ověřených pilotů doplňovat další bez jakýchkoli dalších kontrol. Tímto způsobem mohli lidé se základními znalostmi SQL obejít bezpečnostní kontroly a získat přístup k kokpitům komerčních letadel.
Mohlo by vás zajímat
Problémy po oznámení
Původně chtěli výzkumníci upozornit FlyCASS, ale vzhledem1 k tomu, že platforma pravděpodobně funguje na bázi jednoho správce, rozhodli se jej neupozorňovat. Následně kontaktovali společnost ARINC a Federální úřad pro letectví (FAA), následovaný Ministerstvem pro vnitřní bezpečnost (DHS). Letiště TSA poté odpojila FlyCASS od programů KCM a CASS.
Podle výzkumníků TSA nesprávně popírala závažnost objevené zranitelnosti a tvrdila, že tato zranitelnost neumožňuje přístup ke kontrolnímu bodu KCM. Výzkumníci však prokázali, že systém stále umožňuje manuální zadání identifikace zaměstnanců, čímž se zranitelnost neodstranila.
Zdroj: Schneier on Security, Reddit, The Register