The Curious Case of RADIUS: Forgery, Hashes, and the “Blast-RADIUS” Attack

In the ever-escalating cat-and-mouse game of cybersecurity, it seems we’ve stumbled upon another classic whodunnit. And this time, the suspect at large is none other than RADIUS, a protocol that has managed to wrangle its way into every corner of networking, cloud services, and even Wi-Fi access. Its crime? Being all too willing to trust those pesky MD5 hashes, making it susceptible to an attack that’s as dramatic as it sounds: the Blast-RADIUS attack.

Before we delve too deeply into this scandal, let’s give a shout-out to the Canadian Centre for Cyber Security and Juniper Networks for blowing the whistle on this vulnerability. Their recent advisories have exposed the dangers of trusting MD5 for authentication, shining a spotlight on the vulnerabilities in the RADIUS protocol that could let a malicious actor impersonate someone else without so much as a by-your-leave. So, what exactly went wrong, and what should you be worried about? Let’s dive into the chaos.

What Is RADIUS, and Why Should We Care?

Let’s start with a bit of context. RADIUS, or Remote Authentication Dial-In User Service, is a protocol that’s been around since the mid-90s. Back then, it was introduced as a solution to manage authentication, authorization, and accounting (AAA) across networks. It was pretty slick for its time, but as we’ve all learned in tech, “for its time” doesn’t always age well. Today, it’s used in everything from controlling access to Wi-Fi to securing VPNs and managing cloud services.

In a typical scenario, RADIUS operates as a client-server protocol. You, the humble user, send an authentication request to a network device (the RADIUS client), which then forwards that request to a RADIUS server. The server verifies your credentials and tells the network whether to let you in or slam the door in your face.

So far, so good, right? Well, this is where things get messy. RADIUS’s original design leveraged MD5 hashes for securing those authentication requests. And, as we know in the world of cybersecurity, MD5 is about as reliable as a padlock made out of cheese.

The Blast-RADIUS Attack: When Trusting MD5 Goes Wrong

Here’s the kicker. This vulnerability, now known as CVE-2024-3596, exposes a glaring issue: MD5 simply can’t be trusted to authenticate RADIUS packets. The Blast-RADIUS attack exploits this weakness by allowing a man-in-the-middle attacker to forge responses from a RADIUS server. Picture this: A crafty hacker positions themselves between the client and the server, forges an Access-Accept message, and voilà! They’ve successfully logged in without needing a legitimate username or password. The cherry on top? The attacker doesn’t even need to know the user’s credentials—they’re just riding the coattails of that weak MD5 hash.

This vulnerability has thrown multiple products into the danger zone. Juniper Networks, for instance, has acknowledged that several of its systems are affected, including versions of Junos OS and Junos OS Evolved. They’ve been scrambling to patch the issue since late September, and the cybersecurity community has been abuzz with concern.

Why MD5 Is Like the Zombie That Just Won’t Die

MD5, for all intents and purposes, should be six feet under. Cryptographers have been ringing its death knell for over a decade. It’s slow, outdated, and easy to break. In fact, cracking an MD5 hash is something that even high school students can do during their lunch break nowadays. But here’s the thing: Despite all this, MD5 is still kicking around in a lot of legacy systems, and as we’ve seen with RADIUS, this reliance is proving to be a serious liability.

The problem lies in the fact that MD5’s vulnerabilities allow for what’s called a “chosen-prefix collision attack.” In non-cryptographer-speak, this means that an attacker can take two different pieces of data, modify them ever so slightly, and end up with the same MD5 hash. For RADIUS, that’s a nightmare because the protocol relies on MD5 hashes to authenticate communications between the server and the client. If an attacker can create two different messages that hash to the same value, they can effectively trick the server into accepting a forged authentication response. Not good.

Who’s at Risk?

At this point, you might be wondering, “Should I be freaking out?” Well, let’s not jump to conclusions just yet. The Blast-RADIUS vulnerability (CVE-2024-3596) primarily affects systems that still rely on non-EAP (Extensible Authentication Protocol) authentication methods, such as PAP, CHAP, and MS-CHAP, and that use UDP to communicate. So, if your organization is using RADIUS/TLS or if your system is configured to require the Message-Authenticator attribute (which validates the integrity of the communication), you’re in the clear. But if not, it’s time to start sweating.

The good news is that TLS, the modern standard for encrypting traffic, isn’t susceptible to this type of attack. If you’ve configured your RADIUS system to use RADIUS/TLS or RADIUS/DTLS, you’re safe. But if you’re still relying on RADIUS over plain UDP, well, you might want to get those patches rolling—like, yesterday.

Juniper Networks, for instance, has issued patches for affected systems, and administrators are strongly encouraged to apply these updates pronto. If you’re running Junos OS or any of the Junos OS Evolved platforms, you’ll want to check whether your version is vulnerable and get on top of those updates. The advisory, JSA88210, has the details, including a list of versions that are affected.

Mitigating the Blast-RADIUS Attack: What to Do Next

So, you’ve got the bad news, but here’s the good news: There are steps you can take to protect your systems and prevent malicious actors from exploiting this vulnerability.

Step 1: Patch, Patch, Patch

This should go without saying, but seriously—patch your systems. If you’re running any of the vulnerable versions of Junos OS, apply the updates immediately. Juniper has been quick to respond, and updates are available for affected versions, so there’s no excuse not to get that done.

Step 2: Switch to RADIUS/TLS

If you’re still using RADIUS over UDP, now might be the time to consider making the switch to RADIUS/TLS (also known as RadSec). TLS encrypts the communication between the RADIUS client and server, making it far more resistant to man-in-the-middle attacks like Blast-RADIUS. Plus, TLS also offers stronger protection against replay attacks, so you’re killing two birds with one stone.

Step 3: Require the Message-Authenticator Attribute

Configure your RADIUS server to always include and validate the Message-Authenticator attribute in every request and response. This attribute provides an extra layer of security by ensuring that the communication hasn’t been tampered with. It’s like adding a tamper-evident seal to your RADIUS messages—if someone’s fiddled with it, you’ll know.

Step 4: Block UDP RADIUS Traffic at the Firewall

Another simple but effective step: block RADIUS/UDP traffic at your perimeter firewall. By blocking ports 1645, 1812, 1646, and 1813, you can prevent unauthorized RADIUS traffic from entering or leaving your network, limiting your exposure to potential attacks.

Step 5: Don’t Forget Physical Security

Let’s not overlook the importance of physical security in all of this. No amount of patching or configuration will protect your network if an attacker can simply walk up to your devices and start messing around. Ensure that your network devices are physically secure and that only authorized personnel have access to them.

FAQs

What is the Blast-RADIUS attack?

The Blast-RADIUS attack is a vulnerability that affects the RADIUS protocol, allowing a man-in-the-middle attacker to forge authentication responses by exploiting the weakness of the MD5 hash used in non-EAP authentication methods. This attack is tracked under CVE-2024-3596.

How can I tell if my system is vulnerable?

Your system may be vulnerable if it uses RADIUS over UDP with non-EAP authentication methods and does not require the Message-Authenticator attribute in its communications. Juniper Networks has published advisories with details on affected versions, so check if your system is listed.

How can I protect my system from the Blast-RADIUS attack?

To protect your system, apply the latest patches from your vendor, switch to RADIUS/TLS, configure your server to require the Message-Authenticator attribute, and block RADIUS/UDP traffic at your firewall. Also, ensure that your network devices are physically secure.

Is this vulnerability being actively exploited?

As of the latest advisories, there have been no reports of active exploitation of this vulnerability. However, given the seriousness of the issue, it’s only a matter of time before attackers start targeting unpatched systems.

The Final Word: Don’t Be a Sitting Duck

The Blast-RADIUS attack might sound like something straight out of a sci-fi movie, but it’s very much a real-world problem that requires immediate attention.

If your organization is still relying on outdated MD5 hashes to secure its networks, you’re playing a dangerous game. By applying patches, upgrading to RADIUS/TLS, and tightening up your configurations, you can protect your systems and avoid becoming the next victim of this increasingly sophisticated attack vector.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply