USD 65.99 ЕВРО 74.9

Веб-браузеры также виноваты в ситуации с Lenovo Superfish

Аналитика

Пора узнать о Центрах Сертификации, которые ручаются за безопасные сайты

Предварительно установленное компанией Lenovo программное обеспечение Superfish, было катастрофой безопасности. Был ли у Lenovo злой умысел, или, как компания в конечном счете стала утверждать, дело в простой некомпетентности, трудно доверять ей в дальнейшем. Их первоначальные отказы, что все было не так, оставили неприятное впечатление. Конечно, Superfish вместе с программным обеспечением от Komodia, которое они поставляли в комплекте, также заслуживают обвинений за нарушение безопасности HTTPS и SSL/TLS.

Однако, вина ложится и на наши веб-браузеры.

Google (Chrome), Microsoft (Internet Explorer), Apple (Safari) и Mozilla (Firefox) позволяют хак безопасности программе Superfish и другим, таким, как PrivDog и Gogo. Они делают это путем бездействия.
 
Позвольте объяснить. Безопасные (HTTPS) веб-страницы требуют от веб-браузеров файл, который называется цифровой сертификат, который нужен, среди других целей, чтобы убедиться, что вы на самом деле находитесь именно на том сайте, на котором думаете.

Это необходимо потому, что конструкция Интернета делает возможным скам сайтов. То есть, вы могли бы зайти на somebankingsite.com а вместо реального банка, это может быть фальшивый дубликат сайта, созданный, чтобы обмануть вас различными способами.

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

Чтобы использовать защищенный веб-сайт HTTPS, вы должны сначала получить файл сертификата у любой из сотен компаний в бизнесе по их продаже. Эти компании часто называют Центрами Сертификации (Certificate Authorities). Они должны проверить идентичность лица или компании, производящей запрос.

Пройдите проверку идентичности, заплатите взнос, и вы получите файл сертификата, за который ручается Центр Сертификации.

Технари упоминают файл сертификата, как «сертификат» или, чаще всего, просто «cert». Иногда его называют «сертификат HTTPS» или «сертификат шифрования». Google, в своем описании ниже, называет его «сертификат безопасности».

Чтобы подтвердить свою идентичность, сайты, использующие SSL сертификаты, предоставляют сертификаты безопасности для Chrome. Любой желающий может создать веб-сайт, притворяющийся другим сайтом, но только реальный сайт имеет действительный сертификат безопасности для URL, на который вы пытаетесь попасть. Недействительные сертификаты могут означать, что кто-то пытается манипулировать вашим подключением к сайту.

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

Одна из самых больших уязвимостей в системе заключается в том, что любой Центр Сертификации (CA) может поручиться за любой веб-сайт.

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

Кроме того, никто не знает эти компании. GeoTrust, Entrust, USERTrust, GTE CyberTrust, Starfield, CertPlus, DigiCert и Thawte не являются общеизвестными. Стив Гибсон любит подчеркивать, что почтамт Гонконга является доверенным Центром Сертификации. Вы бы стали доверять веб-узлу, идентичность которого удостоверяется почтамтом Гонконга? Наши браузеры доверяют.

Компании, которые производят веб-браузеры, не создавали эту уязвимую систему, но они способствуют ей, скрывая ее.

Настало время для веб-браузеров перестать прятать имя Центров Сертификации, которые поручаются за безопасные веб-сайты.

Нет сомнения, что Microsoft, Apple, Google и Mozilla будет указывать на то, что имя поручающегося Certificate Authority легко доступно. Технически, это так. Реально, однако, это не так, по крайней мере, не для не-технарей, которые нуждаются в этом больше всего.
Чтобы увидеть имя Certificate Authority, вам нужно совершить несколько манипуляций, а маршрут передвижения никогда не объясняется новичкам. И они отличаются для каждого браузера.
Ограничим себя только Windows. Есть несколько путей по раскрытию имени CA.

В Firefox 36 (и выше), необходимо нажать на замок, слева от адреса сайта в адресной строке. Во всплывающем окне появится «Подтверждено» и имя Центра Сертификации.

В Chrome 41 название компании темно-зеленое в светло-зеленом прямоугольнике. Вам нужно нажать на название компании или на замок рядом с адресом, затем на слово «Соединения». Это не сразу понятно, в появившемся окне есть две вкладки — одна для Разрешений, другая для Соединений.

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

В Internet Explorer 11 кликните на замок с правой стороны адресной строки. В появившемся окне вы увидите информацию об идентификации веб-сайта. Внизу окна кликните Просмотр сертификатов и увидите подробную информацию о Центре Сертификации, кому он выдан и сроках действия.


В Opera 27 вам нужно нажать на название компании, отображаемое зеленым цветом рядом с черным названием сайта, или на замок слева от адреса. Затем, вам нужно нажать на слово «Подробнее». Название Центра Сертификации показывается, но он не идентифицирован как таковой.


Браузер Vivaldi technical preview 2 предлагает секретный намек. Если навести курсор мыши на название компании, отображаемое зеленым цветом, слева от имени сайта, всплывающее окно покажет «информацию о сайте». После нажатия, цвет фона меняется со светло-зеленого до темно-зеленого. Нажатие на название компании вызовет окно, которое выглядит так же, как в Chrome — с вкладками Разрешения и Соединения.

В Safari на OS X вы должны нажать на маленький зеленый замок слева от названия компании.
Два браузера iOS 8 работают как Джекил и Хайд. Chrome не показывает название компании, только адрес. Safari, напротив, показывает только название компании и скрывает URL.

Хуже всего в Safari на iOS 8 то, что независимо от того, где бы вы ни кликали, нажимали или наводили, он не выдаст название Центра Сертификации для безопасных веб-сайтов. Черт возьми, он даже не показывает полные URL-адреса. Chrome на Android также не в состоянии идентифицировать поручительства Центра Сертификации для защищенного веб-сайта.

Странное совпадение, что в наиболее популярных браузерах на iOS и Android отсутствует важная функция безопасности.

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

В Windows, Firefox, Chrome и Vivaldi используется слово «подтверждено», Internet Explorer использует «определил веб-сайт как», а Opera просто показывает имя.

Лучшее объяснение в Safari на OS X: Компания X определила сайт Y, как принадлежащий компании Z. Довольно просто. Но даже это объяснение не определяет Certificate Authority как Certificate Authority (Центр Сертификации), что делает ситуацию гораздо сложнее для не-технарей.

Добавляет путаницы название Центров Сертификации. В приведенных выше примерах Bank Of America, мы видим четыре различных названия: VeriSign Inc, VeriSign (без Inc), Symantec Corporation и Symantec Class 3 EV SSL CA — G3.

Как же Центр Сертификации может использовать четыре названия?

Частично это происходит из файла сертификата, имеющего несколько встроенных имен для каждого Центра Сертификации. Chrome отображает «общее название», а Firefox отображает «Название организации». Ни один из браузеров не отображает название «Организационной единицы», которое, в данном случае, «Symantec Trust Network».

Несколько имен также возникают из-за использования субподрядчиков (технарями используется другой термин, но он лучше представляет концепцию) Центров Сертификации.

Эти субподрядчики, в свою очередь, могут иметь своих собственных субподрядчиков. На самом деле, один корневой CA никогда не ручается за индивидуальный сайт, это делает субподрядчик самого низкого уровня. Итак, какое название должен показывать браузер? То, которое у субподрядчика самого низкого уровня, промежуточного субподрядчика или Центра Сертификации высокого уровня?

В примерах с Bank Of America, показанных ранее, браузеры сообщали, что VeriSign подтверждающая этот веб-сайт, получила название либо от CA-субподрядчика среднего уровня, или от оригинального CA (известного среди технарей, как корневой центр сертификации).

И все становится еще хуже.

В случае с Bank of America, технари знают, что Symantec купила VeriSign, так что эти два названия, по сути, одно и то же.

Но, действительно ли Bank of America использует VeriSign? Может быть, они используют DigiCert или GeoTrust или Thawte. Как нам узнать? Единственный способ узнать, если у вас родственник работает в этом банке.

Все еще думаете, что использование термина «скам» было слишком суровым?
При этом, мы можем полностью понять, как работал Superfish.

Человек посередине (Man in the middle)

Проще говоря, Superfish размещает себя между жертвой и остальным миром.
Когда клиенты Lenovo думали, что у них установлено безопасное соединение с somebankingsite.com, его на самом деле не было. У них было безопасное соединение с программным обеспечением Superfish на их ПК с Windows 8.

Кроме того, банк также был обманут, думая, что он общается непосредственно с клиентом. На самом деле, банк также общался с Superfish. Это классическая атака посредника, атака «человек посередине», MitM-атака.

В старые времена, только плохие парни и шпионы осуществляли атаки посредника. Теперь рекламные компании тоже делают это.

Классическая атака человека посередине использовала незащищенное соединение HTTP между веб-браузером и мошенником. Если происходит замена HTTPS на HTTP, то должен отсутствовать значок замка. С тех времен многие вещи изменились.

Superfish может скрыть свое присутствие путем предоставления веб-браузеру файла сертификата. Не настоящего файла-сертификата, конечно, а того, который Superfish создает на лету. Независимо от того, какой защищенный веб-сайт HTTPS клиент Lenovo посещал, Superfish динамически создавал сертификат для него.

Другая часть атаки заставляет веб-браузеры доверять сертификатам от Superfish. Нормальные компьютеры так не делают.

Долгие месяцы клиенты Lenovo не замечали, что Superfish ручается за каждый защищенный веб-сайт в мире. Это говорит о том, что найти название Certificate Authority слишком трудно. Gogo долго выпускал мошеннические сертификаты YouTube, пока сотрудник Google не заметил это.

Веб-браузеры должны четко показывать Certificate Authority на видном месте. Лучше заставить пользователя кликать, чтобы скрыть название, а не чтобы его показать. Браузеры должны пролить свет на систему, которая функционирует в темноте.

Существовавшая когда-то компания розничной торговли Sy Syms использовала слоган для рекламы: «Образованный потребитель — наш лучший клиент». В мире технологий все не так. Кажется, там целью является поддержание в неведении технически не подкованных пользователей.

Если имя Certificate Authority будет на видном месте в окне браузера, конечные пользователи могут выиграть несколькими способами.

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

Со временем, мы неизбежно узнаем что-то о различных компаниях в бизнесе по продаже доверия.

Мы увидим Центры Сертификации, используемые крупными компаниями и станем испытывать к ним больше доверия, чем к компаниям, чье имя мы никогда не видели прежде. Мы будем знать, кто должен проверять защищенных сайт, который мы часто используем. Сейчас название Центра Сертификации ничего не значит почти для всех, кто использует Интернет.

Спецслужбы не любят образованных потребителей.

Нынешняя система служит им хорошо. Они могут предложить мошенническую копию веб-сайта и поручиться за него сертификатом от скомпрометированного Центра Сертификации. Компрометация одного CA, позволяет им поручиться за любой веб-сайт, пока скрыто название CA. Если бы мы могли видеть, что Центр Сертификации Harveys ручается за Bank of America, афера бы не сработала.

Так что, все зависит от Google, Apple, Mozilla и Microsoft. Им стоит показать своим пользователям название Центров Сертификации, подтверждающих подлинность, якобы, безопасных веб-сайтов.
Идентичность Certificate Authority очень важна.