Как стать автором
Обновить

Комментарии 42

«Расширение протокола HTTPS, которое защищает миллионы сайтов и сотни миллионов пользователей, уязвимо к новому типу атаки.» — мне так нравится это предложение…
Столько блаблабла, а в чём атака так и не понятно. Если вредный js подсадили, что мешает поменять что угодно?
Многие используют CDN на своих сайтах, получается владельцы CDN могут использовать эту атаку.
Ну, не знаю. Так можно дойти и до того, что владельцы %package-manager%-registry могут атаковать проекты использующие в сборке хостящиеся либы…
Страшно жить на белом свете становится.
Ну исходники пакетов хоть посмотреть можно, а CDN может точечно подсовывать код конкретным клиентам и никто не узнает.
Не даром развелось много бесплатных CDN.
> много бесплатных CDN

Простите, а кто кроме CloudFlare еще?

googleapis, например, хостит некоторое количество библиотек.

Разницу между CDN и хостингом библиотек совсем не видите?

Если в контексте вектора атаки "cf или google подсовывает вредоносную библиотеку вместо jquery.min.js", то не вижу.

Я задавал вопрос в контексте «много бесплатных CDN». Мне стало интересно вдруг я что-то пропустил. Оказывается, что бесплатных CDN, кроме CF, нет.

Вроде ещё incapsula предлагает free, но без tls'а.

cdnjs, jsdelivr, тут есть список бесплатных и платных (они тоже к теме относятся), в прошлые года несколько рекламировались на хабре.

CloudFlare уже сам по себе стал очень весомой проблемой безопасности.
Стоит сворачивать эту лавочку по впихиванию его везде и всюду.

И в чем же он «проблема безопасности»?
Не можете поведать? Можно отдельной статьей, думаю многим будет интересно.
Пока известна ровно одна проблема с CF, они плевали на незаконные даже в РФ приказы Росцензуры, ну так это кому проблема, а кому только плюс.
И в чем же он «проблема безопасности»?
В чем может быть проблема если Сбербанк в личный кабинет подключит js файл с сайта «Васи Пупкина»?

И это тоже. См. ниже про Video.js и внезапную гугланалитику (которая сейчас задокументирована, впрочем, после воплей в тикетах) — у них версия на CDN отличается от оригинальной ровно на гугланалитику.


И это далеко не самое плохое, что может внезапно прилететь от CDNа со скриптами.

Если..?

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

Почему же, там и на вкладке Network в Dev tools все прекрасно видно по доменам, включая и то, что Ghostery не ловит. А резать основную массу можно и по hosts, проверяемому вручную — достаточно просто проверить, что он не подставляет никакие IP, кроме 0.0.0.0 — можно даже с автообновлением, грепая по "^0.0.0.0\ " — максимум что будет, это заблокирует лишнее

Тем, что он является глобальным MitM, который работает в обход шифрования и контролирует около 10% крупных сайтов и около 5% всех сайтов вообще. Вас всё ещё ничего не настораживает?


Статья вот: http://cryto.net/~joepie91/blog/2016/07/14/cloudflare-we-have-a-problem/ — это сводка. Ссылки дальше в ней же.

Ну за всё надо платить. А какой самый ценный ресурс? Правильно — информация.
Вы же думали что «бесплатные» сервисы существуют от переизбытка филантропии у компаний?

С чего вы решили, что я так думаю? =)
Я, вроде бы, не давал повода.


С youtube, например, тоже некоторые далеко не сразу замечают, что всё не так, как можно было бы подумать:


Problem is, people see YouTube as video hosting service when it actually is a service that gets their video and try to make money out of it.

(источник)

Ха. Например, если вы тянете VideoJS с их CDN — он вам подсовывает свою гугл аналитику.

https://www.w3.org/TR/SRI/ — если с умом подходить, то не могут. Сие уже поддерживает Chrome и Firefox, то бишь можно указать хеш файла, который ожидается, если придет что-то иное, то среагировать на сие событие.


Пардон, не увидел ссылку akaluth выше.

Указывайте хэш вместе с подключаемым файлом, актуальные браузеры отклонят загрузку измененного файла.

Мне тоже непонятно, зачем использовать Resource Timing и Fetch API, если вредный код уже встроен в страницу, он ведь и так может спокойно отправлять запросы с куками жертвы и CSRF токенами.
Вместо этого жертву атакуют при помощи невинного JavaScript файла, скрытого в рекламе или «вшитого» прямо в страницу вредоносного сайта.

Если речь идет о рекламе в iframe и коде, который выполняется в iframe, тогда это интереснее, но детали не описаны.
То есть, я могу у себя на сайте вытаскивать куки фейсбука и смотреть, что за юзер ко мне пришел?
А где можно готовый эксплойт посмотреть?

Куки нельзя, только данные в теле ответа.

CRIME позволяет с помощью нескольких запросов побайтово подбирать содержимое cookies, наблюдая за значениями, которые выдаёт zlib. Эксплоит расшифровывает значение cookies по 4-6 запросов на каждый байт base64

До настоящего момента злоумышленнику необходимо было активно управлять трафиком, идущего от сервера к пользователю. HEIST позволяет убрать это ограничение.

Мне показалось, что речь идет о чтении отправляемых cookies. Мало какой сервер будет отправлять один и тот в ответ set-cookies раз за разом. О чем тогда идет речь?
Я не буду использовать этот эксплойт в корыстных целях, подскажите где найти.

Текст как будто перевели с помощью PROMT 97. Не сказано про главную особенность — необходимо, чтобы один из параметров запроса выводился в ответе, т.е. атакующий должен иметь возможность вставить свой текст в ответ.


HEIST также эффективен против HTTP/2

Не просто эффективен, HTTP/2 снимает ограничение выше, для эксплуатации атакующему не требуется вывод параметра в ответе.


В статье ничего не сказано про защиту. Проблема в том, что Fetch API позволяет отправлять запросы на сторонние сайты с авторизационными куками (режим no-cors). Сейчас прорабатывается стандарт для атрибута кук SameSite. Он позволяет задать политику использования кук только в пределах сайта, что тем самым ограничивает отправку кук со сторонних сайтов и нейтрализует данную атаку. Хром >51 уже поддерживает SameSite-куки.

Подскажите, кто знает, а как, собственно, BREACH и CRIME работают? Они запрашивают страницу много раз, и с запросом отправляют разные кусочки текста, которые сервер должен выдать обратно. А далее уже по размеру ответа после deflate-компрессии можно увидеть — есть ли уже такой кусочек текста внутри страницы (размер ответа не поменялся), или нет такого кусочка (размер ответа не поменялся).

Так вот вопрос в том — есть универсальная техника, которая позволяет заставить сервер делать reflect-данных в запросе? Или же все зависит от конкретного сервера и конкретной страницы?

Такой универсальной техники нет, все зависит от приложения.

Вот ходи теперь в интернет без блокировщиков рекламы.

Вот Доклад, если кому-то нужны технические детали.

Если кому интересно как работает атака, но читать оригинальные 26 страниц — TL;DR — есть неплохая статья на arstechnica.com
Там же есть и ссылки на описания Breach и Crime в стиле научпоп — не глубоко но подробнее чем — "Эээ, у нас проблема, назвали heist, интернет сломан, мы все умрем."

Для борьбы с утечкой информации через CDN у firefox существует расширение decentraleyes, оно блокирует все популярные CDN заменяя их локальными копиями, что также ускоряет загрузку страниц, предотвращая лишние сетевые запросы.
НЛО прилетело и опубликовало эту надпись здесь
Не понятно почему social security number переводят как «номера страхования». Правильнее было бы сказать номер социальной защиты. Social Security, это не страхование а скорее государственный пенсионный и социальный фонд, а SSN это налоговый идентификатор индивидуума- играющий ту же роль что ИНН. Опасность попадания этого кода в руки злоумышленника заключается в том что этот код является одним из основных способов автризации в онлайновых государственных и финансовых сервисах. Зная ССН, полное имя и дату рождения + кое-что ещё можно получить кредит, подписывать налоговые документы и т.д.
Спасибо!
Отличный документ на эту тему.
https://www.ssa.gov/pubs/RU-05-10064.pdf

Служба социального обеспечения надежно охраняет ваш номер социального обеспечения.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий