Как спрятать данные в открытом мире?Вводная заметка Security and Privacy in an Online World приглашенного редактора Рольфа Опплигера (Rolf Oppliger) совпадает с темой номера и предваряет подборку из пяти больших статей. Благодаря впечатляющим успехам в области ИКТ сегодня можно говорить о рождении онлайн-мира, в котором предметы повседневного обихода приобретают невиданную компьютерную мощь, постоянно подключены к Сети или буквально живут в в облаках, сохраняя там свое состояние.

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

Мобильному пользователю часто требуется удаленный доступ с карманного устройства, даже если он находится внутри защищенной корпоративной сети. Ситуация, которую принято называть BYOD (Bring Your Own Device), ставит перед специалистами по защите корпоративной информации уникальную проблему — периметры безопасности должны быть в некотором смысле проницаемы и многие объекты должны существовать по обе стороны периметра.

Первая регулярная статья тематической подборки называется «Злонамеренные и нежелательные публикации в онлайновых социальных сетях» (Malicious and Spam Posts in Online Social Networks) и написана Саидом Абу-Нимехом (Saeed Abu-Nimeh), Томасом Ченом (Thomas Chen) и Омаром Алзуби (Omar Alzubi). Популярность социальных сетей возрастает экспоненциально — крупнейшая сеть Facebook в июле 2009 года включала 250 млн активных пользователей, а уже через год это число удвоилось. У каждого пользователя в среднем 130 друзей, он ежемесячно создает 90 фрагментов контента, и наибольшую угрозу пользователям социальных сетей представляет утрата конфиденциальности. В июле 2010 года исследователь в области безопасности Рон Боувз обнаружил , что детали учетных данных более 100 млн пользователей Facebook были публично доступны через поисковые машины. Кроме утраты конфиденциальности, пользователи социальных сетей сталкиваются со спамом и разнообразными злонамеренными угрозами, включающими методы социальной инженерии, хищение персональных данных, браузерные эксплойты и вредоносные программы.

 

Как спрятать данные в открытом мире?
Число публикаций в Facebook: (a) правомочные; (б) спам и зловредные публикации

 

Хакеры нацеливаются на социальные сети по нескольким причинам. Здесь много активных пользователей, имеются большие объемы персональной информации, подключиться очень просто, характерен определенный уровень доверия друг к другу и объектам контента (сообщениям, ссылкам, фотографиям, приложениям), а совместно используемый веб-контент, включающий гиперссылки и приложения, многообразен, что делает пользователей особенно уязвимыми к потенциальным атакам. Кроме того, социальные графы обладают сильной связанностью, что обеспечивает возможность вирусного распространения зловредных программ и других атак (это свойство социальных сетей стало широко известным благодаря «принципу шести рукопожатий», сформулированному психологом Стэнли Мильграммом).

Несмотря на широкую популярность социальных сетей и имеющиеся в них угрозы безопасности, до сих пор очень мало масштабных исследований оценки реальных размеров угроз. Для этой цели авторы статьи проанализировали более полумиллиона публикаций Facebook, используя приложение Defensio, защищающее пользователей от подобного контента, а также фильтрующее бранные слова и блокирующее заданные категории URL. Анализ показал, что значительная часть публикаций в Facebook представляет собой спам, а зловредные публикации занимают гораздо меньшую долю.

Статья «Уязвимости системы безопасности при применении политики единого домена: следствия и альтернативы» (Security Vulnerabilities in the Same-Origin Policy: Implications and Alternatives) представлена Хуссейном Саедяном (Hossein Saiedianи) и Дэном Бройлесом (Dan S. Broyles). Одной из первых мер поддержки безопасности, внедренных в браузеры, была политика единого домена (Same-Origin Policy, SOP). Еще в Netscape Navigator 2.0 политика SOP запрещала разделение данных между разными первоисточниками: уникальными хостами (например, веб-узлами), портами или прикладными протоколами. Так, например, SOP не допускает доступа из документов одного узла к содержимому или свойствам документов в других узлах, давая возможность пользователям посещать ненадежные узлы и не позволяя им манипулировать данными и сессиями в надежных узлах. Если, к примеру, обходится сайт example.com/index.htm, то SOP в соответствующем браузере разрешит или запретит выполнение скриптов или доступ к данным из следующих источников:

  • http://example.com/about.htm (port 80): разрешит;
  • https://example.com/doc.html (port 443): запретит;
  • http://google.com/search.php (port 80): запретит;
  • http://dev.example.com/more.htm (port 80): запретит.

По умолчанию SOP не допускает взаимодействия поддоменов (таких, как dev.example.com) с основным доменом, однако за счет использования скрипта в разных поддоменах SOP позволяет разделять данные между страницами example.com и dev.example.com. Это может привести к проблемам; например, страницы поддомена user-pages.example.com получили бы возможность доступа к данным страниц поддомена payments.example.com и изменения этих данных.

В SOP некорректно используется то предположение, что все пути по каталогам внутри одного URL относятся к одному и тому же источнику. Например, у URL www.example.com/~john и www.example.com/~mary имеется один и тот же первоисточник, хотя они относятся к разным пользователям, и, следовательно, между ними не следует поддерживать доверительных отношений. Еще одной проблемой SOP является то, что эта политика не позволяет разработчикам предоставлять пользователям динамические данные из нескольких источников. В то время как технологии Интернета развивались и усложнялись, SOP не совершенствовалась для поддержки потребностей безопасности более сложных систем, что позволяет злонамеренным пользователям обходить заслоны политики безопасности.

В принципе ограничение SOP является хорошей мерой обеспечения безопасности, поскольку позволяет защищать целостность и конфиденциальность данных, однако эта политика не успевает за изменениями в веб-технологиях. В первых браузерах безопасности не уделялось достаточное внимание, и механизм SOP был добавлен в них позже, чтобы удовлетворить лишь некоторые общие требования безопасности. С появлением JavaScript, AJAX, веб-сервисов и коллажей ловкие программисты и хакеры нашли способы подрыва SOP. При любой реализации SOP может найтись веб-приложение, которое можно будет атаковать из зловредного кода, даже если эта реализация выполнялась вполне добросовестно. Кроме того, при исправлении дефектов безопасности необходимо учитывать уникальные черты среды Web – отсутствие сохранения состояния и мобильность кода. Ситуация еще более осложняется тем, что правила и реализации SOP различаются для разных ресурсов, объектов DOM, объектов XMLHttpRequest и т. д.

Неопытные веб-программисты, не знающие, что на некоторые объекты и действия (такие, как предоставление формы и теги типа