Исследователи создали новую систему, которая защищает частную жизнь интернет-пользователей, обладающую достаточной гибкостью, что позволяет построить веб-приложения, объединяющие данные от различных веб сайтов, существенно повышая уровень безопасности работы в сети.
Система COWL работает с Firefox от Mozilla и с браузером Chrome от Google, и предотвращает исполнение вредоносного кода веб-сайта браузером, блокируя несанкционированный доступ к конфиденциальной информации пользователя.
Тестирование в браузерах Chrome и Firefox показывает, что система обеспечивает высокий уровень безопасности без ощутимого замедления скорости загрузки веб-страниц. COWL будет в свободном доступе для скачивания и использования. Команда разработчиков проекта, в том числе двое аспирантов из Стэнфорда (работающих в сотрудничестве с Mozilla), надеются, что COWL будет широко принята веб-разработчиками.
В настоящее время конфиденциальность пользователей глобальной сети может быть нарушена вредоносным кодом, скрытым в, казалось бы, вполне добропорядочных веб-ресурсах. Модератор веб-сайта зачастую добавляет разного рода JavaScript-элементы, взятые на сторонних веб-сайтах, не понимая, что код содержит ошибки или является вредоносным. Такой код может получить доступ к конфиденциальным данным в текущих же или других вкладках браузера, позволяя злоумышленнику получить или изменить данные без ведома пользователя.
Исследовательская группа описывает COWL в статье, которая будет зачитана на 11-й ежегодной техническая конференция USENIX, передовой площадке для проведения исследований операционных систем.
Соавтор проекта, профессор Брэд Карп, сказал: «COWL достигает как конфиденциальности для пользователя, так и гибкости для разработчика веб-приложений. Достижение обеих этих целей, которые часто находятся в оппозиции во многих системных конструкциях, является одной из основных проблем в исследованиях по безопасности компьютерных систем».
Новая система обеспечивает свойство, известное как «конфайнмент», который был известен с 1970 года, но на практике трудноосуществим в реальных системах, таких как веб-браузеры. Если программа JavaScript, встроенная в одном веб-сайте, считывает информацию, предоставленную другим сайтом (законно или нет), COWL предоставляет данные для совместного использования, но затем ограничивает передачу информации стороне, лишенной соответствующих полномочий. Вся конфиденциальная информация при этом остается в пределах браузера.
Соавтор, профессор Дэвид Мэзиерес (Стэнфордский университет информатики), сказал: «Механизмы защиты для интернета должны идти в ногу с быстрым развитием сети. Текущие меры, такие как политика SOP, работают, блокируя программы JavaScript, включенные в одном веб-сайте (злонамеренно или нет) от чтения данных, принятых отдельным веб-сайтом. Этот хрупкий подход не работает для современных, так называемых, «гибридных приложений» — приложений, которые сочетают информацию из нескольких веб-сайтов. По существу, SOP не подходит множеству веб-сайтов, существующих на сегодняшний день. Предыдущие попытки ослабления SOP с целью поддержания работоспособности таких механизмов обмена информацией, как CORS, делали SOP уязвимым для вредоносного кода».
При создании современных веб-сайтов, веб-разработчики обычно включают JavaScript-библиотеки, написанные сторонними авторами. Исследователи приводят статистические данные, согласно которым, 59 % из топ-1 000 000 веб-сайтов и 77 % из топ-10 000 веб-сайтов включают библиотеку JavaScript, написанную третьей стороной. Такое включение библиотек JavaScript опасно, так как, хотя код и содержит в себе функции, необходимые веб-разработчикам, он также может содержать вредоносный программный код, который крадет данные пользователя браузера. В таких случаях SOP не может защитить конфиденциальные данные, так как включенные библиотеки размещаются на том же сайте (т.е. под тем же доменным именем в интернете).
Профессор Карп сказал: «Блокируя веб-приложения, которые синтезируют контент из нескольких веб-сайтов, SOP фактически заставляет веб-разработчиков создавать дизайнерские решения, которые ставят конфиденциальности пользователей под угрозу. Это проблема у нас решается с COWL».
Например, одно полезное веб-приложение позволяет пользователям компьютера проверить, что они не переплачивает за предметы, заказанные на Amazon. Приложению придется брать информацию из банковской выписки пользователя и Amazon, объединить ее и представить в браузере. Чтобы сделать это, веб-разработчик должен был бы написать код, который интегрировал бы данные веб-сайта банка с данными с сайта Amazon, но SOP будет блокировать это, так как два источника данных размещаются под разными доменными именами. Сегодняшние веб-разработчики обходят это, написав приложение, которое просит учетную информацию пользователя и для банка, и для Amazon, для того, чтобы войти в обе службы сбора информации как будто это пользователь. Это ставит под угрозу частную жизнь пользователя, поскольку поставщик приложения получает полный доступ к системе дистанционного банковского обслуживания пользователя и счету Amazon.