But it also raises privacy concerns. A cloud server bank could be running applications for 1,000 clients at once, unbeknownst to the hosting service. One of those applications could have a ulterior motive: spying on the other 999.
Encryption could make cloud servers more secure. Only when data is actually being processed can it be decrypted; the results of calculations are then re-encrypted before being sent off the chip.
In the last 10 years or so, however, it has become clear that even when a computer takes care to encrypt data, its memory access patterns—how frequently data is stored and accessed at different memory addresses—can betray a surprising amount of private information.
At the International Symposium on Computer Architecture in June, MIT researchers described a new type of secure hardware component, called Ascend, that disguises a server's memory access patterns, making it impossible for an attacker to infer anything from the data being stored. Asciend also thwarts another type of attack, known as a timing attack, which attempts to deduce information from the amount of time calculations take.
Computational trade-off:
Similar designs have been proposed in the past, but they have generally been traded off as too much computational overhead for security. "This is the first time a hardware design (not yet built) has been proposed that would give you this level of security while only having about a factor of three or four of overhead in performance," says Srini Devadas, the Edwin Sibley Webster Professor of Electrical Engineering and Computer Science, whose group developed the new system. "People would have thought it would be a factor of 100."
The "trivial way" to hide memory access patterns, Devadas explains, would be to request data from every memory address—whether a memory chip or a hard drive—and retrieve everything except the data stored at the address of interest. But that would be too slow to be practical.
What Devadas and his collaborators (graduate students Ling Ren, Xiangyao Yu, and Christopher Fletcher, and research scientist Marten van Dijk) do instead is organize memory addresses into a data structure known as a "tree." A family tree is a familiar example of a "tree," in which each "node" (in this example, a person's name) is connected to only one node above it (the node representing the person's parents) but can be connected to multiple nodes below it (the person's children).
With Ascend, addresses are assigned to nodes randomly. Each node lies along some "path" or route through the tree, starting at the top and moving from node to node, without backtracking, until it reaches a node with no further connections. When the processor needs data from a particular address, requests are sent to all addresses on a path, including the one in question.
To prevent an attacker from deducing anything from memory access sequences, Ascend accesses a specific memory address each time, randomly changing that address, which someone stored somewhere in the tree. As a result, accessing a single address multiple times via the same path will be very rare.
Less computation is needed to hide an address.
By limiting its dummy requests to a single path, instead of sending them to all memory addresses, Ascend exponentially reduces the amount of computation required to disguise an address. In a separate paper, not yet published in print but available online, the researchers demonstrate that path querying only provides as much security as querying all memory addresses.
Ascend also protects against point attacks. Suppose the computation outsourced to the cloud is the gigantic task of comparing a surveillance photo of a suspected criminal with other random photos on the web. The surveillance photo itself would be encrypted, and therefore safe from prying eyes. But cloud-based spyware could still deduce which public photos were being compared. And the time the comparisons took could indicate something about the source photos: Photos of obviously different people might be easy to rule out, but photos of very similar-looking people could take longer to distinguish.
So Ascend's memory access scheme has one more "trick": It sends requests to memory at regular intervals—even when the processor is busy and doesn't require new data. This way, attackers can't know how long any given calculation might take.
Written by Larry Hardesty, MIT News Office
Load balancers with natively integrated Web Application Firewall
KEMP Technologies has announced that its LoadMaster load balancers will natively integrate Web Application Firewall (WAF) services. This will enable secure web application development, preventing Layer 7 attacks, while maintaining core load balancing services.
