Надання конфіденційності даних рукам користувачів

Дослідники розробили Riverbed, платформу, яка гарантує, що веб-додатки та мобільні програми, що використовують розподілені обчислення в центрах обробки даних, будуть відповідати перевагам користувачів щодо того, як їх дані передаються та зберігаються у хмарі.

Нова платформа, розроблена дослідниками Массачусетського технологічного інституту та Гарвардського університету, гарантує, що веб-сервіси дотримуються переваг користувачів щодо того, як їх дані зберігаються та спільно використовуються у хмарі.

У світі хмарних обчислень користувачі мобільних додатків та веб-сервісів зберігають особисті дані на серверах віддалених центрів обробки даних. Ці дані можуть включати фотографії, профілі в соціальних мережах, адреси електронної пошти і навіть дані про придатність пристроїв, що носяться.

Служби часто об'єднують дані кількох користувачів на серверах, щоб отримати уявлення, наприклад, про шаблони покупок, рекомендувати нові товари конкретним користувачам, або можуть обмінюватися даними з рекламодавцями. Традиційно, однак, користувачі не мали можливості обмежувати обробку та обмін своїми даними.

У документі, представленому цього тижня на конференції USENIX з розробки та впровадження мережевих систем, дослідники описують платформу під назвою Riverbed, яка змушує сервери центрів обробки даних використовувати дані тільки так, як це явно схвалюють користувачі.

У Riverbed користувальницький веб-браузер або програма для смартфона не взаємодіє безпосередньо з хмарою. Натомість проксі-сервер Riverbed запускається на пристрої користувача для забезпечення зв'язку. Коли служба намагається завантажити дані користувача у віддалену службу, проксі-сервер позначає дані набором допустимих застосувань для їх даних, званим «політикою».

Користувачі можуть вибрати будь-яку кількість визначених обмежень - наприклад, "не зберігати мої дані в постійному сховищі" або "мої дані можуть бути передані лише зовнішній службі [ім'я домену]". Проксі-теги всі дані з обраною політикою.

У центрі обробки даних Riverbed призначає завантажені дані ізольованому кластеру програмних компонентів, причому кожен кластер обробляє лише дані, позначені однаковими політиками. Наприклад, один кластер може містити дані, які не можуть використовуватися іншими службами, а інший може містити дані, які не можуть бути записані на диск. Riverbed контролює код на стороні сервера, щоб переконатися, що він відповідає політикам користувача. Якщо це не так, Riverbed припиняє обслуговування.

Створення "всесвітів"

У 2016 році Європейський Союз ухвалив Загальне положення про захист даних (GDPR), в якому йдеться про те, що користувачі повинні дати згоду на доступ до своїх даних, що вони мають право вимагати видалення своїх даних, і що компанії повинні вжити відповідних заходів безпеки. Однак для веб-розробників ці закони надають мало технічних рекомендацій для написання складних додатків, які повинні використовувати дані користувача.

У минулому комп'ютерні вчені розробляли системи управління інформаційними потоками (IFC), які дозволяли програмістам маркувати програмні змінні за допомогою політик даних. Але з такою великою кількістю змінних та безліччю можливих взаємодій між змінними ці системи важко програмувати. Таким чином, жодна великомасштабна веб-служба не використовує методи IFC.

Насамперед, Riverbed використовує той факт, що серверний код програми може виконуватися поверх спеціальної програми-монітора – програм, які відстежують, регулюють та перевіряють, як інші програми маніпулюють даними. Монітор створює окрему копію програмного коду для кожної унікальної політики, призначеної даним. Кожна копія називається "всесвіт". Монітор забезпечує, щоб користувачі, які використовують ту саму політику, завантажували свої дані в той самий юніверс і маніпулювали ними. Цей метод дозволяє монітору завершувати код юніверсу, якщо код намагається порушити політику даних юніверса.

Цей процес включає в себе інтерпретатор користувача, програму, яка компілює мову програмування в код, зрозумілий комп'ютеру. Інтерпретатори також використовуються, щоб допомогти виконавцям впроваджувати низькорівневі команди у вихідну програму під час її роботи. Дослідники модифікували традиційний інтерпретатор для вилучення певних політик з вхідних даних користувача і маркування певних змінних з певним напрямом політики. Наприклад, позначки будуть позначати веб-служби, включені до білого списку, для спільного використання даних або обмежувати постійне зберігання, тобто дані не можуть бути збережені, коли користувач припинить використання веб-служби.