Pudel är en hundras med ben som liknar sockervadd. Den är intelligent och en vanlig stapelvara på hundutställningar. Även de mest vänliga hundarna har en benägenhet att bita. Nu ser vi alla typer av säkerhetsvarningar och snafus gillar heartbleed och shell shock!!! Det senaste tillskottet är PUDLE.
Allt detta började när ett team i google utvecklade och testade en attack med namnet PUDEL (Padding Oracle On Downgraded Legacy Encryption) som avslöjade sårbarhet i Secure Sockets Layer (SSL) version 3-protokoll eller kort sagt SSLv3.
SSLv3 är en föråldrad men fortfarande använd kryptering i både äldre och nya webbläsare. (SSLv3 är ett 18 år gammalt protokoll som ersattes av TLS-protokollet)
POODLE försöker tvinga anslutningen mellan din webbläsare och servern att nedgradera till SSLv3. POODLE-attacken drar fördel av protokollversionsförhandlingsfunktionen inbyggd i SSL/TLS för att tvinga fram användningen av SSL 3.0 och använder sedan denna nya sårbarhet för att dekryptera valt innehåll i SSL-sessionen. Dekrypteringen görs byte för byte och kommer att generera ett stort antal anslutningar mellan klienten och servern.
Hur gör dom det?
En angripare kan köra en JavaScript-agent på en webbplats för att få offrets webbläsare att skicka en cookie med HTTPS-förfrågningar till https://xyz.com, fånga upp och ändra SSL-posterna som skickas av webbläsaren på ett sådant sätt att det finns en icke försumbar chans att xyz.com kommer att acceptera den modifierade posten. Om den ändrade posten accepteras kan angriparen dekryptera en byte av cookies. Småkakor
TLS 1.0 och nyare versioner utför mer robust validering av dekrypterade data och är som sådana inte mottagliga för samma problem. Men för SSLv3 finns det ingen lösning.
Hur illa är det här och hur påverkar det dig?
Säkra anslutningar använder främst TLS (efterföljaren till SSL), de flesta användare blir sårbara eftersom webbläsare och servrar kommer att nedgradera till SSLv3 om det finns problem med att förhandla en TLS-session. De flesta SSL/TLS-implementeringar förblir bakåtkompatibla med SSL 3.0 för att samverka med äldre system för att få en smidig användarupplevelse. En angripare som utför en man-in-the-middle-attack kan utlösa en protokollnedgradering till SSLv3 och utnyttja denna sårbarhet för att dekryptera en delmängd av den krypterade kommunikationen och extrahera information från den. POODLE-sårbarheten fungerar bara om klientens webbläsare och serverns anslutning båda stöder SSLv3.
Hur testar jag om min webbläsare är sårbar?
Gå till webbplatsen poodletest.com för att testa detta. Om du ser en pudel är du sårbar. Om du ser en Springfield Terrier är du säker.
http://www.bolet.org/TestSSLServer/
http://code.google.com/p/sslaudit/
Vad kan jag göra för att förhindra detta? Pudelvaccin?
Som slutanvändare, inaktivera SSLv3-stöd i din webbläsare. Om det är inaktiverat kan POODLE INTE nedgradera din webbläsare till det. För att uppmuntra bästa metoder för säkerhet rekommenderar jag starkt att du använder den högsta versionen av TLS. För de flesta webbläsare bör detta vara TLS 1.2.
Kommer detta att påverka min surfupplevelse?
Detta kommer att påverka vissa äldre webbläsare. Webbplatser som redan har avslutat stödet för SSLv3 kommer att bli inkompatibla med äldre webbläsare och operativsystem. Gamla webbläsare som Internet Explorer 6 som körs på Windows XP eller äldre versioner kommer att se ett SSL-anslutningsfel.
SSL v3 kommer att inaktiveras som standard i framtida versioner av många webbläsare.
Hur inaktiverar man detta på servern?
CloudFlare meddelade att de inaktiverade SSLv3 som standard från sina servrar. Det gjorde många tjänsteleverantörer också.
Om du kör Apache, gör bara denna ändring i din konfiguration bland de andra SSL-direktiven:
SSLProtocol All -SSLv2 -SSLv3
Detta inaktiverar SSL-protokollet version 2 och 3.
Hur kan utvecklare förhindra detta?
.NETTO
Använd egenskapen SecurityProtocol för att aktivera TLS.
För information om hur du använder SecurityProtocol-egenskapen, besök:
http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol(v=vs.110).as…
http://msdn.microsoft.com/en-us/library/system.net.securityprotocoltype(v=vs.110).aspx
Som ett exempel, för att tvinga fram TLS 1.2 i en C# .NET-implementering, skulle du använda:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
JAVA
OBS: TLS 1.2 stöddes först i JDK 7 och kommer att vara standard i JDK 8: https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls
Använd metoden SSLContext.getInstance för att aktivera TLS.
Mer information om hur du använder metoden SSLContext.getInstance finns på:
http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html#getInstance(java.lang.String)
http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html#getInstance(java.lang.String,…
http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext
Om du till exempel vill använda standardleverantören för säkerhetslager för att aktivera TLS, skulle du använda:
object = SSLContext.getInstance(“TLS”);
För att tvinga fram TLS 1.2 när du använder Suns Java Secure Socket Extension (JSSE), skulle du använda:
object = SSLConnect.getInstance(“TLSv1.2”, “SunJSEE”);
ringla
Använd alternativet CURLOPT_SSLVERSION för att aktivera TLS.
Mer information om hur du använder alternativet CURLOPT_SSLVERSION finns på:
http://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html
Som ett exempel, för att tvinga cURL att använda TLS 1.0 eller senare, skulle du använda:
C/C++/C#:
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
PHP:
curl_setopt($curl_request, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
I cURL 7.34.0 eller senare, för att tvinga fram TLS 1.2, skulle du använda:
C/C++/C#:
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
PHP:
curl_setopt($curl_request, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
RailsCarma teamet rustat upp i fullt försvarsläge för att täppa till alla hål som lämnades öppna av denna sårbarhet. Vi tillämpade de nödvändiga korrigeringarna på våra applikationer för att inaktivera osäkra SSL/TLS-alternativ.
Referenser
http://arstechnica.com/security/2014/10/ssl-broken-again-in-poodle-attack/
https://www.imperialviolet.org/2014/10/14/poodle.html
http://blog.cryptographyengineering.com/2014/10/attack-of-week-poodle.html
https://blog.mozilla.org/security/2014/10/14/the-poodle-attack-and-the-end-of-ssl-3-0/
http://www.theregister.co.uk/2014/10/16/poodle_analysis/
http://www.theregister.co.uk/2014/10/14/google_drops_ssl_30_poodle_vulnerability/
http://www.pcworld.com/article/2834015/security-experts-warn-of-poodle-attack-against-ssl-30.html
http://www.alertlogic.com/blog/poodle-man-middle-attack-sslv3/
https://www.us-cert.gov/ncas/alerts/TA14-290A
https://www.openssl.org/~bodo/ssl-poodle.pdf
http://www.makeuseof.com/tag/stop-poodle-from-biting-your-browser/
https://community.qualys.com/blogs/securitylabs/2014/10/15/ssl-3-is-dead-killed-by-the-poodle-attack
Inaktiverar pudel
https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle