id: Гость   вход   регистрация
текущее время 02:35 21/09/2019
создать
просмотр
редакции
ссылки

7. Защита пользователей


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


В попытках существенно снизить урон от такой атаки для конечных пользователей, мы создали Certlock, лёгкое приложение для браузера Firefox. Наше решение выполняет политику доверия на первом использовании (Trust-On-First-Use — TOFU), укреплённую тем, что страна, откуда был выпущен сертификат не сменится в будущем. Наше решение особенно полагается на кэширование информации об УЦ, так что это даёт полномочия пользователю на возможность управление информацией на уровне стран в порядке создания отношений доверия, основанных на здравом смысле.


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

7.1 Мотивации для разработки


Атака создания сертификатов по принуждению — классический случай маловероятного, наносящего большой урон события [32].
Для подавляющего большинства пользователей крайне маловероятно пережить это, но тем, кто с этим столкнётся, будет по-настоящему плохо. В таком случае важно иметь крайне низкое количество ошибочно позитивных срабатываний, даже путём привлечения внимания пользователей к тому, что была детектирована попытка осуществления перенаправления SSL-сессии.


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


Кроме того, чтобы достичь широкого применения (а тем более того, чтобы даже поставщики браузеров включили схожую функциональность в свои продукты), любая защитная технология не должна приносить в жертву пользовательскую приватность и безопасность. Информация, относящаяся к привычкам пользователя в отношении вэб-браузинга, не должна утекать к какой-либо третьей стороне, даже если такая сторона является "доверяемой" или это делается анонимно. Решение должно быть самодостаточным и способным защищать пользователей без контактов с любыми удалёнными серверами.


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


Мы также считаем, что пользователи доверяют УЦ не напрямую. Кроме крупнейших УЦ, таких как VeriSign и крупнейших телекоммуникационных фирм в странах своих регионов (Например, Verizon в США, Deutsche Telekom в Германии или Swisscom в Швейцарии), маловероятно, что пользователи слышали о сотнях компаний, выпускающих сертификаты, которым доверяет их браузер. Так, нет оснований ожидать, что американский пользователь будет делать обоснованный выбор в вопросе доверия сертификату, выданному польской технологической фирмой Unizeto Technologies также как и ожидать от японских пользователей, что они будут доверять сертификату, выданному фирмой QuoVadis с бермудских островов. Однако оба этих эти сертификата являются доверяемыми ведущими браузерами по умолчанию.


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


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

7.2 Доверие по странам


Мы верим, что большинство пользователей вполне способны выработать основные связи доверия на основании доверия по странам. Однако, количество жертв мошенничества в Америке, которые поддаются уловкам послать деньги жуликам в Нигерию, показывает, что не все пользователи готовы к выработке доверия на основании страны.


То есть, американский потребитель, банковские сессии которого в норме зашифрованы сервером, представляющим сертификаты, подписанные УЦ, относящимся к США, может отнестись с подозрением, если ему будет сообшено, что его американский банк теперь использует сертификат, подписанный УЦ из Тайваня, Латвии или Сербии.


Чтобы сделать оценку доверия такого рода, ему не нужно изучать детальным образом бизнес-политики зарубежных УЦ, вместо этого он может полагаться на здравый смысл и спросить себя, почему его банк из Айовы занимается бизнесом из Восточной Европы. В порядке решения пользователем вопросов о принятии оценок такого рода, основанных на доверии по странам, CertLock использует большое количество данных, накопленных в ходе предыдущего посещения с помощью браузера.


Отдельные лица, живующие в странах, законы которых защищают их приватность от необоснованного вторжения, имеют хорошие причины для того, чтобы избегать доверия к зарубежным властям (или зарубежным компаниям) в вопросах защиты приватности своих данных.


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


Также, отдельные лица, находящиеся в странах с репрессивными правительствами, хотели бы знать, когда их коммуникации с серверами, находящимися в зарубежных демократиях вдруг неожиданно устанавливаются посредством местных (и контролируемых государством) УЦ. Так например, пользователи в Китае говорят, что их шифрованные сессии с Google Mail неожиданно используют сертификаты, предоставляемые китайским УЦ, что вероятно делается для чего-нибудь нехорошего.

7.3 Предотвращение ложных срабатываний


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


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


Принимая политику доверия после первого использования (TOFU), мы подразумеваем, что если вэбсайт начинает использовать сертификаты, выданные тем же самым УЦ, который выпустил предыдущие сертификаты, то нет никакой причины предупреждать пользователя. Такой подход облегчает нам достижение возможности значительного снижения количества ложных срабатываний, при этом оказывая малый негативный эффект на нашу способность защищать пользователей от множества угроз.


Мы также полагаем, что существует мало причин для того, чтобы предупреждать пользователя о том, что вэбсайт меняет УЦ в пределах одной и той же страны. Так как наша модель угрозы сфокусирована на государственном противнике, который имеет возможность при желании принуждать любого местного УЦ к выпуску сертификатов, УЦ внутри страны по существу можно рассматривать как равноценные. Это так, потому что правительственное агентство способно вынудить нового УЦ к выпуску сертификата, также легко, как это можно было бы сделать и со старым УЦ для этого же сайта. Поскольку мы уже решили не предупреждать пользователей об этом сценарии (описанном выше), то нет и никакой необходимости предупреждать пользователей в случае смены УЦ в пределах одной и той же страны.


Уменьшая инициирование предупреждений до уровня смены страны, мы считаем, что так мы добьёмся баланса, который будет работать в большинстве ситуаций.

7.4 Детали реализации


Наше решение CertLock в текущем виде будет выполнено как приложение к браузеру Firefox.


Браузер Firefox уже сохраняет данные о всех посещаемых вэбсайтах. Мы лишь просто модифицировали браузер, чтобы извлекать немного больше информации. Так, для каждого нового SSL-защищённого вэбсайта, на который заходит пользователь, CertLock позволяет браузеру также кэшировать дополнительную информацию о сертификатах:


Хэш-отпечаток сертификата.
Страна выпускающего УЦ.
Имя УЦ.
Страна вэбсайта.
Имя вэбсайта.
Полная цепочка доверия до корневого УЦ.

Как только пользователь повторно посещает вэбсайт, защищённый SSL, CertLock сначала вычисляет хэш сертификата сайта и сравнивает его с хэшем, сохранённым от предыдущего посещения. Если он не был изменён, то страница загружается без предупреждения. Если сертификат поменялся, то сравнивается УЦ, который выпускал старый и новый сертификат. Если УЦ тот же или с той же самой страны, то страница загружается без всяких предупреждений. Если же поменялась страна, выдававшая УЦ, то пользователь увидит предупреждение (см. рис. 3).



The warning displayed to users of Certlock. (130 Кб)


Рис. 3: Предупреждение, которое выводится пользователям CertLock



На верхнем уровне этот алгоритм довольно простой. Однако есть некоторые тонкие места, в которых требуется некоторая сложность.


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


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


Как только CertLock определяет изменение сертификата, он может также определить тип УЦ, которым был выпущен новый сертификат. Если новый сертификат был выпущен корневым УЦ, то CertLock легко может сравнить страну старого УЦ со страной нового корневого УЦ. Однако, если новый сертификат был выпущен новым промежуточным УЦ, то у нас нет способа точно определить достоверность страны УЦ, выпустившего сертификат.


Например, израильские власти могут вынудить StarCom, израильский УЦ выпустить сертификат промежуточного УЦ, который будет ложным образом отображаться в списке стран промежуточных УЦ как США. Такой промежуточный УЦ будет затем выдавать сертификаты для последующих действий в области слежки. В таком гипотетическом сценарии мы можем представить, что этот мошеннический УЦ выпустит сертификат Bank of America, действительный сертификат которого выпущен VeriSign в США. Когда CertLock просто проверял бы страну УЦ по предыдущему выпущенному сертификату, который был ему доступен для Bank Of America и сравнивал его со страной, выпустившей подложный сертификат от промежуточного УЦ (неверно отображаемого также как из США), то CertLock не заметил бы попытки перехвата. В порядке обнаружения таких мошеннических промежуточных УЦ должны быть проведены более тщательные проверки.


Поэтому, в случае когда новый сертификат был выпущен промежуточным УЦ, CertLock следует цепочке доверия до самого корневого УЦ, отмечая каждую страну в процессе пути. Если хотя бы одна из этих промежуточных стран (или сам корневой УЦ) имеют отличающиеся страны по отношению к УЦ, выпустившему оригинальный сертификат, то пользователь будет предупреждён.


Назад | Оглавление | Дальше


 
Несколько комментариев (2) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3