POODLE ( Padding Oracle On Downgraded Legacy Encryption ) je typ útoku v počítačové bezpečnosti , jako je „ man in the middle “, kdy útočník zablokováním TLS 1.0 a zvýšením počtu pokusů o připojení způsobí, že internetoví klienti a uživatelé používají SSL . bezpečnostní software verze 3.0 násilně [1] . Poté, co byl systém vrácen zpět na SSL 3.0, útočník použije útok Padding Oracle .
Tento typ zranitelnosti objevili členové bezpečnostního týmu Google Bodo Möller, Tai Duong a Krzysztof Kotowicz [1] . Veřejně oznámili objevení zranitelnosti 14. října 2014 [2] , přestože odpovídající článek je datován o něco dříve - září 2014. Dne 8. prosince téhož roku byla oznámena verze zranitelnosti typu POODLE, která ovlivňuje i provoz TLS [3] . Původní zranitelnost POODLE byla přidána do databáze Commonly Known Information Security Vulnerabilities ( CVE ) s identifikátorem CVE -2014-3566 [4] . Společnost F5 Networks také požádala o přidání verze útoku POODLE proti TLS do databáze , které byl přidělen identifikátor CVE -2014-8730 [5] .
Vzhledem k tomu, že tento útok využívá zranitelnosti protokolu SSL 3.0 a problém těchto zranitelností neexistuje rozumné řešení, bylo pro zajištění bezpečného připojení nutné zcela opustit používání tohoto protokolu [1 ] . V říjnu 2014 Google oznámil svůj záměr v nejbližších měsících zcela ukončit podporu protokolu SSL 3.0 ve svých produktech [6] . Možnost přechodu na SSL 3.0 byla zakázána v Chrome 39, vydaném v listopadu 2014 [7] . Podpora protokolu SSL 3.0 byla ve výchozím nastavení v Chrome 40, vydaném v lednu 2015, ukončena [8] . Dne 29. října 2014 společnost Microsoft vydala opravu hotfix, která zakázala podporu SSL 3.0 v aplikaci Internet Explorer a Windows Vista / Server 2003 a novějších. Ve stejný den Microsoft oznámil, že během několika měsíců plánuje standardně zakázat podporu SSL 3.0 ve svých produktech a službách [9] . Dne 10. února 2015 společnost Microsoft zakázala možnost přechodu na SSL 3.0 v prohlížečích Internet Explorer 11 pro weby v zabezpečeném režimu [10] . U ostatních webů tak bylo provedeno 14. dubna 2015 [11] .
POODLE je příkladem zranitelnosti , kterou lze úspěšně zneužít mechanismem navrženým tak, aby záměrně snížil zabezpečení odkazu kvůli kompatibilitě. Pro práci se staršími servery používá mnoho klientů TLS takzvaný „downgrade dance“, který je následující: při prvním pokusu o navázání komunikace pomocí protokolu TLS klient vyzve server, aby použil nejnovější verzi podporovaného TLS . ze strany klienta . Pokud tento pokus selže, klient se pokusí navázat spojení pomocí starší verze protokolu TLS , dokud není spojení navázáno. Toto záměrné snížení zabezpečení klientem může být způsobeno výpadky sítě i škodlivými útoky. Pokud tedy útočník, který ovládá síťovou část mezi serverem a klientem, zasáhne do procesu TLS handshake a zahodí všechny klientské zprávy s nabídkou navázání zabezpečeného připojení pomocí protokolu TLS verze 1.0 a vyšší, klienti, kteří podporují „downgrade“ dance“ budou připraveni omezit se na méně bezpečný protokol SSL 3.0 . Výsledkem je, že ke skrytí dat se používají nezabezpečené šifrovací sady SSL , které používají buď proudovou šifru RC4 , nebo šifrovací režim CBC , který je náchylný k útoku Padding Oracle . V případě úspěšného zneužití této chyby zabezpečení by útočníkovi stačilo provést průměrně 256 požadavků SSL 3.0 , aby úspěšně dešifroval 1 bajt zašifrovaných zpráv [1] [12] [13] .
Při navrhování systémů umístěných ve vysoce fragmentovaných doménách je zapotřebí větší opatrnosti, protože tyto domény mohou mít rozšířený mechanismus pro downgrade zabezpečení odkazu ze strany útočníků . Jedním ze způsobů, který umožňuje útočníkovi snížit ochranu kanálu, je emulace přerušení komunikace při použití protokolu TLS [14] .
Jedním ze způsobů, jak zabránit útokům POODLE, je úplné zakázání podpory protokolu SSL 3.0 na straně klienta i na straně serveru . Někteří starší klienti a servery však nemusí podporovat TLS verze 1.0 nebo vyšší. V takových případech autoři článku o útocích POODLE doporučují, aby prohlížeč a server podporovaly mechanismus TLS_FALLBACK_SCSV [15] , který brání útočníkům ve zneužití zranitelnosti [1] .
Dalším přístupem k ochraně před zranitelností je implementace mechanismu „Anti-POODLE record splitting“ – rozdělení dat do několika částí, z nichž každá zaručeně nebude napadena touto zranitelností . Problémem přístupu sdílení dat je však to, že navzdory přesné implementaci mechanismu v souladu se specifikací se tento přístup nevyhýbá problémům s kompatibilitou kvůli nedostatkům na serverové straně mechanismu [16] .
Například v prohlížeči Opera 25 je tento mechanismus implementován navíc k mechanismu "TLS_FALLBACK_SCSV" [17] . Různé verze prohlížečů Google Chrome a souvisejících serverů také poskytovaly podporu pro mechanismus „TLS_FALLBACK_SCSV“. Mozilla zakázala podporu SSL 3.0 ve svých prohlížečích Firefox 34 a ESR 31.3 vydaných v prosinci 2014 a podporovala mechanismus „TLS_FALLBACK_SCSV“ ve Firefoxu 35 [18] .
Společnost Microsoft zveřejnila bezpečnostní upozornění, které vysvětluje, jak zakázat SSL 3.0 v aplikaci Internet Explorer a OS Windows [19] .
Prohlížeč Safari společnosti Apple (pro OS X 10.8, iOS 8.1 a novější) čelil útokům POODLE tím, že zavrhl všechny protokoly CBC v SSL 3.0 , ale tento přístup stále poskytoval podporu pro RC4 , který je také náchylný k útokům RC4 na protokol SSL 3.0 [20 ] . Zranitelnost útoku POODLE byla zcela uzavřena v OS X 10.11 (El Capitan 2015) a iOS 9 (2015). Aby se zabránilo útokům POODLE, byly některé služby (například CloudFlare a Wikimedia) zakázány pro SSL 3.0 [21] .
Sada knihoven Network Security Services verze 3.17.1 a 3.16.2.3 poskytovala podporu pro mechanismus "TLS_FALLBACK_SCSV" [22] [23] , následně byla podpora protokolu SSL 3.0 ve výchozím nastavení zakázána [24] . Knihovny OpenSSL verze 1.0.1j, 1.0.0o a 0.9.8zc poskytují podporu pro mechanismus "TLS_FALLBACK_SCSV" [25] . V LibreSSL verze 2.1.1 je podpora SSL 3.0 ve výchozím nastavení zakázána [26] .
Nová variace klasického útoku POODLE byla oznámena 8. prosince 2014 [3] . Tento typ útoku využívá nedostatky v implementaci režimu šifrování CBC v protokolech TLS 1.0 - 1.2. I když specifikace TLS vyžadují , aby servery kontrolovaly takzvanou „výplň“ (soubor dalších bitů přidaných ke klíči , heslu nebo prostému textu šifrováním, aby se skryla jejich skutečná hodnota), některé implementace tohoto protokolu si neporadí. s jejich správnou validací, která ponechává některé servery zranitelné vůči útokům POODLE, i když je zakázáno SSL 3.0. Tento typ útoku POODLE je považován za nebezpečnější než klasický, protože útočníci nemusí při útoku uměle způsobovat, že se ochrana kanálu vrátí zpět na SSL 3.0, což znamená , že k dokončení úspěšného útoku je potřeba méně operací . . Projekt SSL Pulse zjistil, že „přibližně 10 % všech serverů je ovlivněno modifikačními útoky TLS POODLE“ ještě před oznámením této chyby zabezpečení [27] . Této chybě bylo přiřazeno CVE-ID CVE-2014-8730 v implementaci TLS společnosti F5 Networks. Informace z National Vulnerability Database od NIST ukazují, že toto CVE-ID je přiřazeno k chybným implementacím TLS prováděným pouze sítěmi F5. Jiní dodavatelé, kteří mají stejnou chybu implementace „vycpávky“ (například A10 a Cisco Systems ), by měli podle National Vulnerability Database vydávat vlastní CVE-ID , protože jejich verze TLS nefungují správně kvůli chybě v protokolu, ale chybná implementace tohoto protokolu [5] .