Zobrazují se příspěvky se štítkemBezpečnost. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemBezpečnost. Zobrazit všechny příspěvky

pátek 6. března 2015

FREAK roste před očima

Útok FREAK[5] cílí na zabezpečené webové připojení (tj. na HTTPS, šifra RSA) a je dalším z mnoha podobných útoků v řadě za poslední půlrok. Původně nevypadal až tak závažně (jen jako exploit CVE-2015-0204 z ledna),[8] avšak později se ukázalo, že postihuje velmi mnoho webových klientů (prohlížečů) a i serverů (přes 10% z TOP 1 miliónu, přes třetinu pak ze všech)[5] včetně prohlížečů na platformě Windows.[4]

Podstatou útoku je schopnost snížení úrovně šifrování na "exportní 512 bitovou šifru", která se používala kvůli omezením používání šifry RSA v "nedůvěryhodných zemí" (což byla z hlediska USA byli i Česká Republika, dokud jsme nevstoupili do NATO, protože jsme před tím byli členy východního bloku). Dnes se pro RSA používá klíč délky 1024, běžněji však 2048 bitů (prodlužování zvyšuje obtížnost mocninou). 

Pokud se postižený klient (tedy všechny kromě Firefoxu) připojí na postižený web, útočník sníží šifru na 512 bitů, zaznamená provoz a klíč pak získá do několika hodin za výpočetní výkon z Amazon Cloudu v ceně $100 (pomocí speciálního stroje vyrobeného z FPGA bude získání rychlejší). Po dešifrování komunikace může získat ze záznamu přenášená přihlašovací jména a hesla. Co hůř, postižené servery takový starý klíč používají hodně dlouho, takže útočník pak může v reálném čase sledovat (a měnit) i následující komunikaci (i s jinými klienty).

Pro tento problém nejsou aktualizace zatím dostupné (jedná se tedy o tzv. "zero day zranitelnost") ani na mobilních platformách ani na desktopu.

[1] https://dev.ssllabs.com/ssltest/viewMyClient.html - otestujte vlastního klienta (webový prohlížeč)
[2] https://dev.ssllabs.com/ssltest/ - otestujte webový server
[3] http://www.root.cz/zpravicky/nova-zranitelnost-ssl-tls-nese-nazev-freak/
[4] https://csirt.cz/page/2733/ - Microsoft potvrdil zranitelnost Windows
[5] https://freakattack.com - původní stránka útoku (popis, doporučení, seznamy, novinky)
[6] https://mozilla.github.io/server-side-tls/ssl-config-generator/ - konfigurace serveru Apache
[7] https://www.feistyduck.com/books/openssl-cookbook/ - výborný "Bulletproof TLS Newsletter"
[8] https://www.openssl.org/news/secadv_20150108.txt

pátek 13. února 2015

Záhada: jak bylo hacknuto PS3?

Playstation 3 byla hacknuta v roce 2010 skrze externí USB. Využito bylo přepsání haldy v ovladači USB portu (viz přetečení haldy) na Wikipedii. Na tom by nebylo nic zvláštního, kdyby však nebyla PS3 předtím černá skříňka bez dostupnosti zdrojových kódů a bez možnosti připojit debugger a dokonce ani s přístupem k binárnímu kódu. Ať tak nebo tak, finální PSJailbreak nebyl nikdy představen, ale jeden ze zkušebních vzorků se dostal do ruky někomu, kdo měl k dispozici USB sniffer, a tak vznikl opensource PSGroove.

A jaké je poučení? Že utajením (zdrojových kódů, návrhu, vývoje, principu funkce) nelze bezpečnost zabezpečit (viz Security through obscurity). Vzpomeňte si na to při pohledu na technologie jako je Secure boot, UEFI a dalších (včetně používání Microsoft Windows). Nebo přitom, až si budete kupovat nový počítač s procesorem Intel (viz Why Rosyna Can't Take A Movie Screenshot).

pátek 12. prosince 2014

Nastavení HTTPS v Apache kvůli problémům se SSL/TLS

Hodnocení T kvůli použití propadlého certifikátu.
Po druhé vlně POODLE útoku, která se webových serverů běžících na RHEL netýká (nebo jeho klonech, jako je CentOS, Scientific Linux), jsem se rozhodl podívat na zabezpečení u mého kolegy. Pokusil se o zásah a tím získal krásné hodnocení T, které jsem ještě neviděl (viz první obrázek vpravo).

První oprava byla vrácení správného certifikátu, který byl serveru vydán na jaře, čímž jsem postoupil na hodnocení C (viz obrázek vlevo).

Pohledem do konfigurace Apache jsem zjistil, že je tam implicitní nastavení pro SSLProtocol a SSLCipherSuite. Vydal jsem se proto na nákup na server BetterCrypto.org a oboje nastavil podle jejich doporučení, které najdete hned na první stránce. Hodnocení se zlepšilo, tentokrát jsem dostal A- což není špatné (viz obrázek vpravo).

Dalším krokem bylo přidání parametru "SSLHonorCipherOrder On", čímž jsem si vysloužil hodnocení A. Přidání volby "Header add Strict-Transport-Security "max-age=15768000" pak už hodnocení zůstalo, ale dostal jsem za něj malou pochvalu navíc.


Výsledek pak vypadá v konfiguraci Apache takto (uvnitř sekce definice virtuálního serveru naslouchajícího na portu 443):


  SSLEngine on
  SSLHonorCipherOrder On
  Header add Strict-Transport-Security "max-age=15768000"
  SSLProtocol All -SSLv2 -SSLv3
  SSLCipherSuite EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA

Poznámka: poslední řádek s SSLCipherSuite je jen jeden a po mezeře následuje řetězec definující ciphery, ve kterém není žádná mezera (jen dvojtečky oddělují jednotlivé položky).

Dalším krokem bude požádání o nový certifikát, který místo SHA1 bude používat ve svém podpisu SHA2. Možná by se dalo nastavení dále vylepšit, ale po tom jsem se od jara zatím nepídil...



Poznámka (13.2.2015): Mimochodem - nejlepší "známky" (F) dosáhl v mé blízkosti web STAGu na TUL Liberec.