I recently purchased a D-Link DIR-615 Wireless-N Router. It’s proved to be a capable, powerful router, and I’ve been happy with it. Of course, I’m a tinkerer, always interested in knowing how a thing works, so shortly after I got the device working, I started testing it. nmap scans and p0f fingerprinting suggested the device was running a Linux-2.4 kernel, a fact corraberated by the logging mechanism within the logging mechanism within the router.
As if the fact that there was strong evidence in the network traffic and the log that the system was running Linux, the most damning evidence of all didn’t hit me until a few days ago, when a power outage forced a reboot of the router, and I checked the Router log to see when the power came back. In the log’s bootup messages, it clearly indicated that it was running BusyBox 1.1. Further curious, I grabbed the firmware update I had on my computer, and ran
against it, sure enough, it’s a basic JFFS2 file system.
Regrettably, my preferred forensic analysis software, autopsy and task, do not yet support jffs2 images, though I’m working to rectify that situation. If nothing else, this will be a good opportunity to further my knowledge of file system internals (the only other file system I’ve studied in detail was FAT). So, for the moment, my analysis of the software on the DIR-615 revA is at an empasse.
Of course, I knew that this meant that D-Link was distributing GPLv2 software without complying with the terms of the license (making the source available). BusyBox has had quite a few problems with this in the past, and has taken to simply informing their legal benefactors, the Software Freedom Law Center of these such transgressions. I’ve already sent them an e-mail providing proof of this GPL violation. The version of BusyBox that D-Link is pirating for this router, could potentially also be licensed under the GPLv3, which contains specific anti-TiVoization clauses to prevent this sort of activity.
Unfortunately, to my knowledge, the GPL has never successfully been tested in this way in US courts. The lack of precedent is disturbing, but the work of the Software Freedom Law Center should help that soon. D-Link has actually been found guilty of GPL violations before, except that it was in Germany, on a different device.
I was ecstatic when I learned that my hardware was running Linux, as my original plan was the build my own router, though that was cost prohibitive. Even if I could only get SSH access into the box, I’d be a lot happier with it. Ultimately, D-Link needs to do the right thing here, and release the GPL’d source that they’re using on this device. If they wrote the code correctly, this doesn’t mean they’ll have to give up any of their precious IP. While their at it, I’d really appreciate native Linux driver for my DWA-130 USB Adapter, though I’ll settle for Vista 64 ones to use via ndiswrapper.