Profs prep promising privacy-protecting proxy program... Yes, it is possible to build client-server code that safeguards personal info

Software framework teases shortcut to GDPR compliance

Computer science boffins from Harvard and MIT have developed a software framework for building web services that respect privacy, provided app developers don't mind a minor performance hit.

In a paper scheduled to be presented on Thursday at the USENIX Networked Systems Design and Implementation conference, co-authors Frank Wang (MIT), Ronny Ko and James Mickens (Harvard) describe a system called Riverbed – not to be confused with an identically named IT company – that consists of a proxy service to oversee the handling of data locally and on remote servers.

"To web developers, Riverbed provides a practical IFC [information flow control] system which allows developers to easily 'bolt on' stronger security policies for complex applications written in standard managed languages," they explain in the paper.

"To end users, Riverbed provides a straightforward mechanism to verify that server-side code is running within a privacy-preserving environment."

Riverbed involves a proxy on the client device that acts as an intermediary between the local app and its remote server. When a user generates an HTTP request, it verifies that the remote server is running the Riverbed IFC runtime and attaches user-defined or user-selected data policy rules like "do not save my data to persistent storage" or "my data may only be sent over the network to"

In the cloud, Riverbed's reverse proxy modifies the runtime of managed languages like Python, .NET, or the JVM to "taint" incoming HTTP data so that it can be tracked and controlled.

"If the application tries to externalize data via the disk or the network, the externalization is only allowed if it is permitted by user policies," the paper explains. "The Riverbed runtime terminates an application process which attempts a disallowed externalization."

The reverse-proxy defines a "universe" – an isolated instance of a web service – for specific data policies. Users runnings apps that share the same policies can share the same space and data if allowed.

In an email to The Register, Wang, a doctoral graduate of MIT's Department of Electrical Engineering and Computer Science and the Computer Science and Artificial Intelligence Laboratory (CSAIL), said app makers would be the ones to install Riverbed and might be motivated to do so by Europe's General Data Protection Regulation (GDPR).


Unearthed emails could be smoking gun in epic GDPR battle


"With the backlash against Facebook and its loose privacy-enforcing abilities, app developers can use Riverbed as a differentiator or feature to say they have stronger privacy," said Wang. "Riverbed allows for strong definition and enforcement mechanisms of policies like GDPR at the systems level."

The researchers describe the performance overhead as modest, with worst-case slowdowns of 10 per cent. To benchmark this, they ported three Python apps to Riverbed: MiniTwit, a Flask-based Twitter clone; Ionic Backup, a Dropbox clone; and Thrifty P2P, which implements a peer-to-peer distributed hash table.

The Riverbed security model relies on server-side TPM hardware so the cloud runtime can assure the client it's legit (remote attestation). But it assumes that data center operators can be trusted not to manipulate server RAM to peer at protected data; it also assumes that the client can be trusted, with the exception of web page data – that's what gets tagged for policy enforcement.

The researchers rejected Intel's SGX hardware enclave due to its memory size limits and the burden of repeated context switches for applications with a lot of I/O operations.

Wang said there are currently no plans to release the code. "It’s just a research prototype, so very early proof of concept," he said. "If we were to release it, we would probably change the name." ®

Similar topics

Other stories you might like

  • Amazon warehouse staff granted second chance to vote for unionization

    US labor watchdog tosses previous failed result in the trash

    America's labor watchdog has given workers at Amazon’s warehouse in Bessemer, Alabama, another crack at voting for unionization after their first attempt failed earlier this year.

    “It is ordered that the election that commenced on February 8 is set aside, and a new election shall be conducted,” Lisa Henderson, regional director at the National Labor Relations Board, ruled [PDF] on Tuesday.

    “The National Labor Relations Board will conduct a second secret ballot election among the unit employees. Employees will vote whether they wish to be represented for purposes of collective bargaining by the Retail, Wholesale and Department Store Union.”

    Continue reading
  • It's the flu season – FluBot, that is: Surge of info-stealing Android malware detected

    And a bunch of bank-account-raiding trojans also identified

    FluBot, a family of Android malware, is circulating again via SMS messaging, according to authorities in Finland.

    The Nordic country's National Cyber Security Center (NCSC-FI) lately warned that scam messages written in Finnish are being sent in the hope that recipients will click the included link to a website that requests permission to install an application that's malicious.

    "The messages are written in Finnish," the NCSC-FI explained. "They are written without Scandinavian letters (å, ä and ö) and include, for example, the characters +, /, &, % and @ in illogical places in the text to make it more difficult for telecommunications operators to filter the messages. The theme of the text may be that the recipient has received a voicemail message or a message from their mobile operator."

    Continue reading
  • AsmREPL: Wing your way through x86-64 assembly language

    Assemblers unite

    Ruby developer and internet japester Aaron Patterson has published a REPL for 64-bit x86 assembly language, enabling interactive coding in the lowest-level language of all.

    REPL stands for "read-evaluate-print loop", and REPLs were first seen in Lisp development environments such as Lisp Machines. They allow incremental development: programmers can write code on the fly, entering expressions or blocks of code, having them evaluated – executed – immediately, and the results printed out. This was viable because of the way Lisp blurred the lines between interpreted and compiled languages; these days, they're a standard feature of most scripting languages.

    Patterson has previously offered ground-breaking developer productivity enhancements such as an analogue terminal bell and performance-enhancing firmware for the Stack Overflow keyboard. This only has Ctrl, C, and V keys for extra-easy copy-pasting, but Patterson's firmware removes the tedious need to hold control.

    Continue reading

Biting the hand that feeds IT © 1998–2021