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. ®