Проблема неполноты SSL на сайте www.pgpru.com и petname для Firefox – [решено]
Большинство серьёзных проектов используют SSL-хостинг, а для сохранения доступа к аккаунту через сеть tor он просто необходим, иначе его просто угонят с исходящего узла.
Впрочем и без сети tor пароль в открытом виде проходит через кучу узлов, а значит через кого попало.
К счастью, pgpru.com перешёл на такой защищённый хостинг, хотя это затратно и тяжело для небольшого некоммерческого проекта.
Но по понятным причинам (например для компенсации тех же затрат на хостинг) на сайте крутятся баннеры, Но эти же баннеры не дают покоя в том смысле, что даже если их полностью
заблокировать, браузер будет получать смешанный контент, как защищённый так и нет (http + https).
При этом он не будет его подробно различать по степени защищённости, а просто посчитает не всю страницу защищённый, выведет битый значёк SSL и предупреждение "Broken https".
Злоумышленник, находящийся посредине, может произвольно менять соотношение между защищённым и незащищённым контентом, оставаясь незамеченным (если не разбирать полученный браузером исходный код страницы), например модифицировав отдаваемую страницу так что поле ввода пароля пойдёт через простой http, а декоративные элементы страницы отдавать через https.
Пользователь конечно может заблокировать http://www.pgpru.com и разрешить только https://www.pgpru.com, чтобы избавиться от возможной подмены, но это неполноценное решение, так как всё равно получим битую страницу и видимость защиты.
Кстати существует простой плагин к Firefox – petname. Вот какую задачу он решает.
Пусть мы не доверяем центрам сертификации, пусть корневой сертификат будет похищен, пусть даже центр сертификации сдаст свои ключи полиции, чтобы она могла организовать подставной сайт, чтобы отслеживать соединения пользователя (полиция – это самый опасный злоумышленник :-) ). Но если не похищен сертификат самого сайта, то браузер будет показывать правильное соединение для другого (подставного) сайта, заверенное корневым сертификатом, хотя отпечаток сертификата сайта и будет отображаться другой.
Другая проблема – если пользоваться самоподписанными сертификатами, а также что один корневой сертификат может быть использован для подписи сертификата другого сайта, если раздатчик сертификатов это позволяет по неосторожности или по умыслу.
Заметить это трудно, Не сверять же каждый раз отпечатки по бумажке. Для в этого в плагине petname проблема решена самым простым и изящным способом: каждому посещённому SSL-сайту при первом заходе прелагается сопоставить его хэш-отпечаток с некоторым кратким названием-кличкой. Если при последующем заходе [кличка]-[url]-[отпечаток сертификата] совпадут -получим
зелёный значок, иначе предупреждение о смене сертификата, но и подмену url можно заметить по не той "кличке" рядом с адресной строкой.
Клички сайтов и хэши сертификатов (сверяется и md5 и sha) хранятся в закладках, так что ими легко обмениваться.
А вот с https://www.pgpru.com это не работает из-за тех же баннеров. Получаем статус untrusted.
Решение может быть в том, чтобы пропускать все баннеры через https://, такое можно теоретически сделать на отдельном сервере, но решать такую задачу на виртуальном хостинге это конечно изврат. С другой стороны, SSL тоже должен быть полноценным, а не для показухи.
Какие мнения?
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 271 документов: 13 редакций: 4
Tyler Close уже ответил. Не мог бы кто-то кратко перевести суть? Дело в том, что убрали API, или нет?
комментариев: 271 документов: 13 редакций: 4
Приспосабливая Petname Tool к Firefox 3, я изменил алгоритм привязки кликухи к сайту в соответствии с исследованием Collin Jackson-а относительно различения источников. См.: "Origin Granularity"
В исследовании Collin сообщает, что политика броузера такова: страницы, имеющие одинаковый источник (origin) (URL scheme, имя хоста, номер порта), могут свободно читать и записывать друг в друга. Таким образом, уровень доверия к страницам с одинаковыми источниками и разными сертификатами тоже одинаков. Поэтому Petname Tool привязывает кликуху к источнику, а не к сертификату. К сожалению, сертификаты не задают границ доверия в броузере, только источники задают.
Если вы хотите проверять сертификат, то следует удалить все сертификаты CA из броузера и использовать the certificate pinning UI, включенный в Firefox 3. Тогда броузер позволит использовать для named origin только pinned certificate. Так как Petname Tool привязывает кликуху к источнику, получится твердая привязка кликухи к сертификату.
Это всё, что я могу сделать с учетом текущей модели безопасности броузера.
--Tyler
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 11558 документов: 1036 редакций: 4118
комментариев: 271 документов: 13 редакций: 4
Вышеуказанный документ не говорит, к каким броузерам это относится, но ясно сказано "read and modify (i.e., control completely) another document", то есть "читать и изменять (то есть полностью контролировать) другой документ". Ждём заплаток. Как бы включать в origin еще и SSL-сертификат никому вроде мешать не должно.
комментариев: 11558 документов: 1036 редакций: 4118
Он всего-то взял за аксиому наличие смешанного контента, когда доступ к странице с безопасным логином производится (для пользователя) с обычной страницы полученной по незащищенному каналу, через чудеса веб технологий или просто по ссылке. Немного фокусов с иконками для сайта. Или немного игры с сертификатами для интернациональных доменов, для пущей убедительности. И вот он какой эффект, для широких слоев народонаселения. Вот она сила смешанного контента.
комментариев: 212 документов: 27 редакций: 20
В 12 часов 21 минуту 58 секунд он истекает в понедельник..
комментариев: 271 документов: 13 редакций: 4
http://www.pgpru.com/themes/plastiq/icons/file.gif
http://www.pgpru.com/themes/plastiq/icons/web.gif