USD 92.26 ЕВРО 99.71

Как обеспечить конфиденциальность в эпоху HTML5?

Аналитика

Новые API в предстоящем HTML5 позволяют веб-приложениям намного проще получать доступ к программному и аппаратному обеспечению, особенно на мобильных устройствах. Консорциум Всемирной паутины W3C относится к вопросу конфиденциальности серьезно, добавляя финальные штрихи в HTML5, но следует учесть еще несколько важных вещей.

HTML5 — последняя версия языка Интернета, была разработана с прицелом на веб-приложения. Она содержит множество новых интерфейсов прикладного программирования (API), которые нужны веб-разработчику для аппаратного и программного доступа к  устройствам с помощью JavaScript.

Вот наиболее интересные спецификации HTML5:

  • API Геолокации позволяет браузеру знать, где вы находитесь
  • Media Capture API разрешает браузеру доступ к камере и микрофону
  • File API разрешает браузеру доступ к файловой системе
  • Web Storage API позволяет веб-приложениям хранить большие объемы данных на вашем компьютере
  • Спецификация DeviceOrientation Event  позволяет веб-приложениям знать, когда ваше устройство изменяет ориентацию с книжной на альбомную.
  • Messaging API дает браузеру доступ к системе сообщений мобильного устройства
  • Contacts Manager API позволяет получить доступ к контактам, сохраненным в базе данных контактов пользователя

Прочитав этот список, вы может заключить, что HTML5 в настоящее время разработан специально для хакеров и кражи личных данных. Однако, в реальности авторы HTML5 относятся к конфиденциальности очень серьезно.

Беспокойства по поводу ослабления защиты конфиденциальности в HTML5  были наиболее  ярко выражены на первой полосе New York Times еще 10 октября 2010 года. Статья «Новый веб-код вызывает озабоченность по поводу конфиденциальности» в основном о дополнительных возможностях отслеживания в HTML5 и возможностях браузера хранить историю посещений. В частности, использование приложения Сэми Камкара Evercookie, является особенно зловещим примером. Evercookie является приложением JavaScript, которое записывает данные слежения в различные места в браузере пользователя, делая данные тяжело удалямыми с помощью обычных средств. Хуже того, Evercookie восстановит все cookies, если обнаружит, что они были удалены.

Камкар создал Evercookie, чтобы продемонстрировать легкость, с которой новые механизмы хранения могут быть использованы маркетологами для отслеживания пользователей. Маркетологи быстро обратили внимание на Evercookie и взяли его на вооружение.

Уже страшно? Должно быть страшно.

Но HTML5 не является проблемой. На самом деле, HTML5 является частью решения.

HTML5 улучшает сетевую безопасность, позволяет обойтись без плагинов

Нынешнее состояние сети, даже не беря во внимание HTML5, включает в себя отслеживающие cookie, флеш-cookie и взломанные веб-сайты, распространяющие вредоносное ПО. Кроме того, 6,3% веб-серферов по всему миру (многие из них из Китая) по-прежнему используют исключительно небезопасный Microsoft Internet Explorer 6.

HTML5 стремится сделать Web более безопасным, в частности, за счет устранения необходимости плагинов для браузера. Это отличное начало. Два наиболее часто устанавливаемых модуля браузера —  Java и Flash, также являются двумя крупнейшими дырами в безопасности в любом браузере.

Просто будучи установленными, плагины делают браузер менее безопасным. Но дело не только в этом. Плагины, как правило, написаны для нескольких операционных систем. Уязвимости в плагинах, таких как Java или Flash — это уязвимости в Windows, MacOS и Linux. Другой проблемой является то, что большой процент установленных плагинов не имеют последних обновлений безопасности. В целом, плагины представляют собой большую проблему.

Многие из новых функций HTML5 — встроенное видео и аудио воспроизведение, векторная и растровая анимация, доступ к устройствам и сетевое хранение, предназначены для устранения необходимости плагинов. Цель — собрать то, что считалось «лишними» функциями под крышей браузера и, что более важно, под крышей утвержденных стандартов безопасности и конфиденциальности, а затем интегрировать в гораздо более последовательной, осторожной манере.

Доступ к устройству через API в HTML5  и настройки конфиденциальности

Доступ к такой широкой категории устройств через API представляет ещё одну потенциальную проблему конфиденциальности HTML5. Для многих из нас кажется естественным, что продолжающееся расширение сети и интернетизации всевозможных устройств создаёт много инновационных продуктов и услуг. Так же как и в настольных приложениях, где Web-приложения охватывают многие задачи, которые ранее были прерогативой пакетов программного обеспечения, так и в мобильных устройствах всё смещается в сторону Интернета.

Самым большим недостающим элементом сегодняшних мобильных веб-приложений  является ограниченный доступ браузера к возможностям устройства по сравнению с возможностями родных мобильных приложений. Мобильное веб-приложение не может, например, включить виброзвонок телефона, проверить текущее состояние батареи или измерить освещенность. Однако, большинство новых мобильных браузеров могут получить доступ к вашему текущему местоположению и камере. Поскольку эти новые возможности встроены в браузеры, неприкосновенность частной жизни становится серьезной проблемой.

В «родных» приложениях настройки конфиденциальности устройства, как правило, настраиваются в процессе установки. Например, при установке приложения Android вы получаете уведомление о типах доступа, требуемых приложению. В этот момент вы можете разрешить или запретить запрошенный доступ. После установки приложения настройки сохраняются и приложение может получить доступ к камере, контактам и чему угодно что вы разрешили.

Соблюсти конфиденциальность и безопасность в мобильных веб-приложениях сложно, так как веб-приложение может измениться в любой момент и обновление не требует вашего активного участия. В большинстве случаев, это является большим преимуществом веб-приложений — вы получаете постоянные обновления без раздражающего процесса обновления, как бывает в случае нативных приложений. Недостатком является то, что любое изменение может привести к тому, что ранее безопасное и надежное приложение может стать менее безопасным или даже вредоносным.

Чтобы понять, как браузеры справятся с этой потенциальной проблемой, мы должны сначала определить некоторые термины:

  • Уведомление — обязательное требование для API,  сообщающее пользователю о сборе данных. В настоящее время браузеры имеют немного другие механизмы уведомлений, но панель уведомлений в верхней части окна браузера становится наиболее распространенным методом. Вы можете увидеть пример вызова уведомления API, посетив сайт, который использует геолокацию HTML5  с браузером, который поддерживает геолокацию — последние версии всех основных браузеров умеют это.
  • Согласие — процесс выдачи разрешения пользователем доступа API к устройству. Согласие может быть явным или неявным. Например, если вы нажмете кнопку «сфотографировать», вы неявно дали приложению разрешение на использование камеры. С другой стороны, если вы нажмёте кнопку «Отправить другу», вы не даёте разрешение API  на спам кому-либо через базу данных ваших контактов. Каждый API в HTML5  предполагает, что явное разрешение требуется по умолчанию, но определяет обстоятельства, при которых неявные разрешения является приемлемыми.
  • Минимизация — требование, чтобы API позволялось собирать только необходимый для текущей задачи минимум информации.
  • Управление —  возможность пользователя управлять выбором разрешений. Пользователи должны иметь возможность отозвать доступ браузера к устройству, после того как они его дали. Опционально, они должны иметь возможность вести белый и черный список приложений.
  • Наконец, доступ — возможность пользователя просматривать и удалять историю совместно используемого устройства.
  • Геолокация, пожалуй, потенциально самый большой нарушитель конфиденциальности в HTML5. Интересно, что она также является одним из наиболее широко реализованных  API. Чтобы получить представление о мерах защиты конфиденциальности в API устройства, полезно посмотреть, как это реализуется в геолокации.

Раздел 4 предлагаемой спецификации API геолокации посвящен конфиденциальности. Он делит конфиденциальность на два направления: соображения для исполнителей API геолокации (создателей браузера) и для получателей информации о местоположении (разработчиков программного обеспечения).

Работа по проектированию реальных механизмов и пользовательских интерфейсов для запросов, получения и управления правами доступа фактически достается браузеру. Спецификация просто говорит: чтобы соответствовать спецификации, информация о местоположении не должна быть получена без разрешения пользователя веб-браузера.
Спецификация также устанавливает дополнительные требования к получателям данных о местоположении. Они должны уведомить пользователя, что собирают данные, защитить эти данные от несанкционированного доступа, дать возможность пользователям изменять и удалять любые данные, которые они хранят, сообщить пользователю, как долго будут храниться данные, проинформировать пользователя, будут ли данные повторно переданы и объяснить каким конкретно образом данные защищены.

Браузерная часть уравнения не вызывает тревогу. Производители браузеров очень серьёзно относятся к вопросу предоставления безопасной среды. Но разработчики веб-приложений всё же должны беспокоиться. Соответствие спецификации процессов, посредством которых получатель берёт данные о местоположении от любого устройства, зависит от отдельного разработчика. Некоторые разработчики даже не знают требований, и не существует никакого механизма принуждения.

Хотя браузер специально предупреждает, что ваши данные о местоположении могут быть получены, у вас нет ни информации, ни гарантий, что данные не будут храниться или использоваться в иных целях, чем те, которые вы разрешили. Это следующий фронт в битве за веб-конфиденциальность.

Решений для защиты конфиденциальности  немного

Консорциум World Wide Web разработал несколько лет назад платформу  Privacy Preferences Project (P3P)  для решения  такого рода проблем путем создания стандартного языка, с помощью которого веб-сайты могли бы обмениваться политиками конфиденциальности. С P3P браузеры могли информировать пользователей о политике сайта и даже позволять им отказаться от посещения сайтов с политикой, с которой они не согласны. Однако P3P не завоевал популярности у создателей браузеров, поэтому работа над ним была приостановлена.

В настоящее время Группа Защиты Конфиденциальности (Privacy Interest Group) консорциума W3C и  Рабочая Группа Защиты от Слежения (Tracking Protection Working Group)  представляют из себя две единственные силы по укреплению и стандартизации безопасности и конфиденциальности в Интернете и в HTML5.

Пожалуй, самым заметным достижением в  конфиденциальности браузеров в последние месяцы является реализация спецификации, запрещающей отслеживание – Do Not Track (DNT), – всеми основными производителями браузеров. Некоторые браузеры, включая Internet Explorer 10, зашли так далеко, что включают DNT по умолчанию.

DNT является преференцией браузера, и отправляется через заголовок HTTP на веб-сайты.  На самом деле, это довольно слабая защита, но веб-сайты в настоящее время должны добровольно соблюдать пользовательские предпочтения не быть отслеженными.

Хотя рекламная индустрия в целом сказала, что будет уважать предпочтения DNT, мало что было сделано в этом направлении. Предлагаемый в Калифорнии закон (California Right to Know Act) 2013г., например, позволил бы людям требовать у бизнеса отчета о том, что бизнес знает о них. После того, как ему противостояли лобби промышленных групп Интернета, закон был снят с рассмотрения, по крайней мере, до конца 2013 года.

При отсутствии добровольного жизнеспособного механизма для сайтов раскрывать свои политики, похоже, законодательство — единственное решение проблемы, которая только усугубляется, поскольку маркетологи собирают всё больше данных о пользователях.

Руководитель Федеральной Торговой Комиссии, Эдит Рамирес, недавно призвала рекламную индустрию выполнить свои DNT-обещания. В то же время, законопроект о DNT  был предложен в Конгрессе, и сейчас ему уделяется всё больше внимания, пока стандарт активно обсуждается.