Sign In

Communications of the ACM

ACM TechNews

New Software Continuously Scrambles Code to Foil Cyberattacks

shuffling cards, illustration


Columbia University researchers have developed Shuffler, software that tries to preempt hackers who exploit errors in software code by enabling programs to continuously scramble their code as they run, effectively closing the window of opportunity for an attack. "Shuffler makes it nearly impossible to turn a bug into a functioning attack, defending software developers from their mistakes," says Columbia researcher David Williams-King.

Even after repeated debugging, software normally contains up to 50 errors per 1,000 lines of code, each of which is a potential avenue for attack. Shuffler maximizes address space layout randomization's code-scrambling approach by randomizing small blocks of code every 20 to 50 milliseconds. "By the time the server returns the information the attacker needs, it is already invalid — Shuffler has already relocated the respective code snippets to different memory locations," says Columbia professor Vasileios Kemerlis.

 Shuffler runs faster and requires fewer system changes than similar continuous-randomization software, the researchers say. On computation-heavy workloads, Shuffler slows programs by 15 percent on average, but at larger scales the drop in performance is negligible. The researchers want to make Shuffler easier to use on software they have not yet tested, and they want to improve Shuffler's ability to defend against exploits that take advantage of server crashes.

From Columbia University
View Full Article


Abstracts Copyright © 2016 Information Inc., Bethesda, Maryland, USA


No entries found

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account