Boffin brings 'write once, run anywhere' to Cisco hijacks
Curse of the ROMmon
A researcher has discovered a way to reliably exploit a known security vulnerability in a wide class of Cisco System routers, a finding that for the first time allows attackers to hijack millions of devices with a single piece of code.
The discovery by Felix "FX" Lindner of Recurity Labs in Berlin brings the write-once-run-anywhere approach of software development to the dark art of compromising routers that form the core of the internet. Previously, reliable exploit code had to be specifically fashioned to one of more than 15,000 different supported builds of IOS, or Internet Operating System, which run various Cisco devices.
"What FX has shown, conclusively, is that when something comes out that can potentially compromise your router, you have to get on it as you would get on a remote vuln, for, say, your domain controllers or database servers," said Dan Kaminsky, a fellow researcher who has reviewed Lindner's findings (PDF). "Router infrastructure has been conclusively proven to be as generically vulnerable as commodity operating systems."
Each image version of IOS loads programs in substantially different parts of the device's memory. Until now, the randomization made it virtually impossible for weaponized exploit code to know ahead of time where to stash malicious payloads for the specific device it was targeting. Lindner was able to work through this limitation by observing the behavior of software known as ROMmon, which is analogous to the ubiquitous bios software found on personal computers.
By using small chunks of ROMmon, Lindner has shown that it's possible to drop code into specific memory locations and then execute it. At last week's Chaos Communication Congress he used the technique to reliably exploit a known vulnerability across a wide class of Cisco routers. The exploit disabled the devices' CPU caches and instead got them to load his own code.
The method works on any Cisco device that uses a PowerPC processor, which includes the widely used 2600 and 17000 series routers. He has yet to find a similarly reliable way to attack Cisco gear that uses MIPS microprocessors, but said he is close.
While Cisco's security pros are still reviewing Lindner's findings, Kaminsky says the company's security incident response team is one of the most aggressive in identifying and patching exploitable bugs. The bigger problem is streamlining the IOS patching process to lessen the very real risk that a single fix will bring down machines that form the cornerstone of enterprise networks everywhere. Convincing the legions of administrators to regularly install the updates is another challenge.
"In the long run, it means we need to find a practical way to update IOS devices," Lindner said. "Nobody ever updates them, and not because they're lazy, but because the update breaks so many things."
Over the shorter term, administrators should make sure all remote packets sent directly to a router are dropped. As Lindner has now made clear, assumptions that the device is just too darn hard to exploit are no longer safe. ®
...can't we have at least one "Linux is best at everyting." or M$ bash in an article? What's wrong with you guys! C'mon...
Find your dude
I agree with everyone so far. And I'd like to add that since the IOS has been pirated nobody should consider it secure. Pretending vulns don't exist is what large computer corporations do as a matter of history since the 70's. It's just how it's done.
For good advice on the subject you should find the closest Cisco corporate office. Ask for a sales call and request an engineer. If you don't have anyone local, then call someone at Cisco. It's more difficult over the phone to be sure. So good luck.
A real Cisco engineer that will come over for free and give advice is a good thing. And having another person to blame when something goes wrong is always good. Setting up that kind of relationship made all those things you are talking about disappear.
And if you can't make that happen then the other commenter is correct. You don't need to buy Cisco equipment. Find your local "dude".
<i>That's because their QA is quite frankly shit. Every single IOS I've ever used has had glaring and obvious bugs that shouldn't have got past testing.</i>
Quit whining, the IOS code builds, that is quite enough quality for the likes of you ;-)