2024-07-25
Sammanfattning CVE-2024-3596
Vad
CVE-2024-3596 – Även kallad “Blast RADIUS” är en sårbarhet i autentisering protokollet RADIUS. [1]
RADIUS utvecklades 1991 och är de facto standarden för autentisering inom nätverk. Tyvärr använder sig RADIUS av md5 för kryptografisk säkerhet i meddelanden mellan klient och server.
MD5 är knäckt sedan 2004 [2], tidigare har man trots detta antagit att det inte är praktiskt möjligt att attackera RADIUS-protokollet i sig. Motsatsen har nu bevisats, som svar på detta har CERT officiellt tilldelat sårbarhets-id: CVE-2024-3596 som publicerades juli 2024.
Hur
Attacken är en så kallad “Man in the middle” attack. Det vill säga angriparen måste befinna sig (eller kunna leda om trafiken) mellan RADIUS Client och RADIUS Server.
RADIUS Client är den enhet som skickar begäran om åtkomst t.ex. switchar, accesspunkter, controllers eller routers. RADIUS-Server är enheten som skickar tillbaka svar på begäran. Vanliga RADIUS-servrar på marknaden är FreeRADIUS (opensource), Aruba Clearpass och Microsofts NPS.
[3]
Som syns på diagrammet ovan så kan angriparen med en lyckad attack byta ut ett “Access-Reject” mot ett “Access-Accept” och därmed tilldela åtkomst godtyckligt.
Risk
Hur stor risken är beror olika faktorer. Dels på vad man använder RADIUS till för access. Om man har ett segmenterat nät där RADIUS paket går på helt nedlåst nätverkssegment som vanliga klienter inte kommer åt.
Använder man EAP minskar risken ytterligare då man än så länge inte lyckats bevisa att EAP är sårbart på samma vis.[4, 5] Tekniskt så kräver alla EAP-metoder att alla EAP-paket innehåller Message-Authenticator attribut eller droppas [6]. I skrivande stund anses detta skydda mot denna typ av attack. Under EAP faller t.ex. EAP-TLS, den ofta förekommande formen för autentisering av klientdatorer, där man använder certifikat för autentisering. Använder man mindre säkra metoder för access via RADIUS, som tex PAP eller mschapv2, bör man snarast planera in att genomföra lämpliga åtgärder.
Rekommendation
Hur akut en åtgärd är beror på hur nätverksmiljön ser ut och vilka autentiseringsmetoder som används. Generellt är en attack relativt svår att genomföra vid denna artikels skrivande, detta kan dock komma att ändras. Det kräver befintlig åtkomst till nätverksmiljö, stort kunnande och kraftfulla hårdvaruresurser. Likväl bör en plan för åtgärd tas fram.
Många tillverkare har släppt patchar till sina system där man alltid kräver att Message-Authenticator skickas för alla requests. [7] Detta kräver dock att man uppdaterar mjukvaran på både server och även alla RADIUS-clients. Det kan även innebära att man råkar ut för att vissa RADIUS klienter blir inkompatibla tills dess att man uppdaterat mjukvaran på dem (i vissa fall kanske inte ens en sådan uppdatering släpps till äldre system). Det finns heller inget som garanterar att det i framtiden inte kommer en ny sårbarhet i RADIUS eftersom protokollet i sig använder md5. Vi ser inte detta som en optimal lösning generellt sett.
IETF har börjat titta på förslag för att utfasa RADIUS i klartext som det ser ut i nuläget [8, 9]
Med tanke på detta samt den inneboende sårbarheten i RADIUS pga användadet av md5 så rekommenderar vi att påbörja en plan för införande av RADIUS over (D)TLS [10, 11]. Detta anser vi är den lämpligaste långsiktiga lösningen.
Kontakta oss på Brave Operations. Vi kan hjälp dig med att:
– Inventera er verksamhets exponering och risk.
– Skapa en genomförandeplan.
– Ta ett helheltsansvar för att säkra upp er verksamhets nätverksmiljö.
Länkar
Nedan följer en lista med länkar med mer information kring sårbarheten för de som vill fördjupa sig ytterligare.
Originalrapporten finns på denna sida.
https://www.blastradius.fail/
Intressant sammanfattande artikel
https://blog.cloudflare.com/radius-udp-vulnerable-md5-attack
Följ denna länk och scrolla ned till ”Vendor Information” för en lista över tillverkare och deras status angående sårbarheten. Majoriteten har släppt fixar eller rekommendationer för väg framåt.
https://kb.cert.org/vuls/id/456537
Källor
1. CVE-2024-3596. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-3596
2. Wang, X., Yu, H. (2005). How to Break MD5 and Other Hash Functions. In: Cramer, R. (eds) Advances in Cryptology – EUROCRYPT 2005. EUROCRYPT 2005. Lecture Notes in Computer Science, vol 3494. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11426639_2
3. RADIUS/UDP considered harmful (
https://www.blastradius.fail/pdf/radius.pdf)
Sharon Goldberg, Miro Haller, Nadia Heninger, Mike Milano, Dan Shumow, Marc Stevens, and Adam Suhl.
To appear at USENIX Security 2024.
Sida 6 , Figure 1.
4. Are all RADIUS packets vulnerable? ( https://www.inkbridgenetworks.com/blastradius/faq#)
5. RADIUS/UDP considered harmful (
https://www.blastradius.fail/pdf/radius.pdf)
Sharon Goldberg, Miro Haller, Nadia Heninger, Mike Milano, Dan Shumow, Marc Stevens, and Adam Suhl.
To appear at USENIX Security 2024.
Sida 3 , punkt 1.4
6. B. Aboba, P. Calhoun. RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP). RFC 3579, September 2003.
7. https://csaf.arubanetworks.com/2024/hpe_aruba_networking_-_hpesbnw04662.txt
8. A. DeKok. Deprecating Insecure Practices in RADIUS. draft-ietf-radext-deprecating-radius-01 https://datatracker.ietf.org/doc/html/draft-ietf-radext-deprecating-radius-01
9. Jan-Frederik Rieckers , Stefan Winter. (Datagram) Transport Layer Security ((D)TLS Encryption for RADIUS draft-ietf-radext-radiusdtls-bis-02
https://datatracker.ietf.org/doc/draft-ietf-radext-radiusdtls-bis/02/
10. S. Winter, M. McCauley, S. Venaas, K. Wierenga .Transport Layer Security (TLS) Encryption for RADIUS. RFC 6614
11. A. DeKok, Datagram Transport Layer Security (DTLS) as a Transport Layer for RADIUS. RFC 7360