Don't look now, but we've failed to anticipate our attackers' next moves --- again.
Yes, in the last several months, we've seen attacks and vulnerabilities that again illustrate how our attackers are able to adapt to new technologies, while we fail to protect those new technologies, even from problems we already understand and should be able to prevent.
Consider two specific problems we've seen in recent months: attacks on embedded devices such as point-of-sale (POS) terminals used for credit card payments, and recently published weaknesses in USB devices. Although the two are hugely different in technical specifics, there's a common thread to be found when we look at them a bit.
The POS problem was vividly demonstrated at the end of 2013, when the Target chain was the victim of an attack on its POS terminals in which the attackers were able to modify the firmware on the terminals and hijack credit card account data during legitimate transactions. The malware used in the attack simply looked through the POS terminals' RAM for plain-text credit card data and, when found, copied it and delivered it to the attackers via a network connection.
It turns out that the firmware on the POS devices was in essence just a specialized version of a general-purpose operating system and just as susceptible to attack as its general-purpose cousin.
In the case of the USB weaknesses, it's not an operating system that gets attacked, but the underlying protocols used to talk with the devices. Using network commands that date to the world of SCSI peripherals, a USB storage device can be made to behave like another type of USB device, such as a keyboard, which can then be programmed to perform various attacks on a host computer. The USB problems, published at the recent Black Hat conference, have not yet been seen in the wild, but their appearance there is inevitable.
The thing that strikes me about these two examples, different as they are in their technical details, is that they both illustrate how we're failing to apply security lessons we should have already learned.
In the case of the POS terminals, we should be applying the lessons we learned from protecting our desktop and server operating systems. These include the principle of least privilege and other things straight out of Saltzer and Schroeder's seminal work from way back in the 1970s. At the very least, the administrative accounts on those terminals should have been better locked down, and read-write access to them should have been better controlled.
The USB weakness admittedly is a lower-level vulnerability, and in a technology that has been deployed for several years. But there too, we failed to apply lessons that we should have already learned. Who on earth could have thought that it was a good idea to have a device I/O bus on which a device can redefine its own type -- that is, change itself from a storage device to a "keyboard," thereby allowing a malicious device to "type" commands and attack the host system. Surely that sort of weakness should have been discovered in a threat model of the USB architecture.
By failing to apply to new technologies the security lessons that we all already understand, we're giving our adversaries far too many soft targets to go after. It becomes an endless game of "whack-a-mole" in which we're forever reacting to the latest emergencies.
Only by learning from our mistakes can we ever hope to deploy new technologies that our adversaries aren't easily and readily able to attack. We've simply got to do better than our current track record shows.
With more than 20 years in the information security field, Kenneth van Wyk has worked at Carnegie Mellon University's CERT/CC, the U.S. Deptartment of Defense, Para-Protect and others. He has published two books on information security and is working on a third. He is the president and principal consultant at KRvW Associates LLC in Alexandria, Va.
This story, "Kenneth van Wyk: Why do we keep relearning the same security lessons again and again?" was originally published by Computerworld.