Vladimir Ivanov ([info]ivlad) wrote,

Размышление про X.509 PKI, не считая версии 3

Все, что я тут написал, в общем-то не ново. Но офисным крысам не очевидно. Так что - в плане ликбеза.

Вот, положим, ходите вы на hotmail (или, что б это было ближе нашему пользователю, mail.ru). Что б туда ходить, нужно логиниться. Что б никто и никогда не прочитал ваш пароль, вы пользуетесь HTTPS: то есть для Hotmail вы логинитесь через https://login.live.com, для ЖЖ, например, ходите на https://www.livejournal.com/login.bml, а для Mail.Ru - https://secure.mail.ru.

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

Администратор устанавливает https proxy. Обычно https proxy работают так: настройками разрешается метод CONNECT на порт 443, броузер говорит прокси, CONNECT, после чего прокси просто пересылает шифрованный трафик туда-сюда, не делая попыток в него заглянуть. Происходит обмен сертификатами, выработка сеансового ключа и т.д.

Положим, теперь, в компании используется WCCP и все проксирование происходит прозрачно (и, возможно, без ведома) для пользователя. Простота реализации на клиентах, политика безопасности - в общем можно массу аргументов сочинить для этого. В общем-то, тоже ничего особенного, прокси открывает tcp-соединение от имени клиента с https-сервером и гоняет трафик туда-сюда без проверки. HTTP трафик может инспектироваться, проверяться на вирусы, например, или может проводится проверка URL на всякие блэк-листы (что б офисный планктон в ЖЖ не сидел в рабочее время).

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

Выход тут - делать man-in-the-middle для HTTPS. В общем случае, увидев HTTPS, прокси может сам открыть HTTPS-соединение адресату, принять сертификат, сгенерировать сертификат с такими же данными полей (кроме подписи CA, конечно) и подсунуть его клиенту. Что может увидеть клиент? Максимум, что сертификат подписан недоверенным CA. Клиент ведь не знает, какой CA в оригинале подписал сертификат Web-сервера.

Теперь, предположим, что у нас развернута AD, доменные политики и проч. Администратор домена создает корпоративный root CA, сертификат которого распространяет политиками на все компьютеры организации (оно, даже, кажется, само так делает). Сертификаты, которые HTTPS-прокси будет подсовывать клиентам вместо настоящих сертификатов Web-серверов, подписывать в иерархии, во главе которой стоит собственный, доверенный enterprise CA. Клиент ничего не замечает, сетевой администратор читает почту генерального директора.

Все довольны.

PS. В X.509v3 теоретически есть mesh-топологии, как в OpenPGP, но на практике я их еще не видел.
Tags: computers, security, не-для-5300

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    Your reply will be screened

    Your IP address will be recorded 

  • 120 comments

[info]quick_justice

March 19 2007, 13:19:11 UTC 5 years ago

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

налицо использование служебного положения.

[info]shaman007

March 19 2007, 13:26:41 UTC 5 years ago

Например в Astaro такое работает (работало?) "из коробки". Многие антивирусы так (уже) устроены.

[info]dil

5 years ago

[info]dil

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]arkanoid

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]dil

5 years ago

[info]shaman007

March 19 2007, 13:25:04 UTC 5 years ago

Можно и локально в трояне такое организовывать.

[info]ivlad

March 19 2007, 21:23:49 UTC 5 years ago

локально можно и хуки в activex использовать. я где-то читал.

[info]alexott

5 years ago

[info]maxcom

March 19 2007, 13:32:11 UTC 5 years ago

хорошая идея :-)

[info]ivlad

March 20 2007, 06:52:36 UTC 5 years ago

попробуешь? ;)

[info]alexott

5 years ago

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]alexott

5 years ago

[info]maxcom

5 years ago

[info]alexott

5 years ago

[info]paxvel

March 19 2007, 13:46:04 UTC 5 years ago

существуют решения (wan акселераторы, антивирусы), которые таким образом врезаются в https by design.
только вот с клиентскими сертификатами не всё хорошо.

[info]shaman007

March 19 2007, 15:18:10 UTC 5 years ago

Сейчас де-факто почти все антивирусы это умеют. Не от хорошей жизни конечно.

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]oldmann

March 19 2007, 13:46:51 UTC 5 years ago

чо, Вова, скучаиж по пресейловой работе инфобезопасника? :-р

[info]ivlad

March 19 2007, 21:51:57 UTC 5 years ago

ну, оно мне привычней :)

[info]iskatel

March 19 2007, 15:11:49 UTC 5 years ago

А насколько это все реализуемо на практике?
(man-in-the-middle для HTTPS)

[info]ivlad

March 19 2007, 21:27:21 UTC 5 years ago

вполне реализуемо. есть продукты для проксирования и контроля https-трафика. я не уверен, что там нормально реализован вопрос подмены CA, но контроль - есть.

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]iskatel

5 years ago

[info]ivlad

March 19 2007, 21:30:05 UTC 5 years ago

угу. например.

[info]iskatel

5 years ago

[info]ivlad

5 years ago

[info]iskatel

5 years ago

[info]unixblog

March 19 2007, 17:27:41 UTC 5 years ago

Да, кстати, работает. Я даже где-то делал видео how-to. Тестил с интернет-банком и gmail.

[info]ivlad

March 19 2007, 21:31:14 UTC 5 years ago

найдешь - покажи ссылку.

[info]unixblog

5 years ago

[info]ivlad

5 years ago

[info]arkanoid

March 20 2007, 02:46:11 UTC 5 years ago

Обычно, как я понимаю, все же никто не парится с генерацией сертификатов на лету - клиенту дают один проксевый сертификат и все.

[info]ivlad

March 20 2007, 06:54:08 UTC 5 years ago

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

[info]arkanoid

5 years ago

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]ivlad

5 years ago

[info]alexott

5 years ago

[info]avk

March 20 2007, 08:03:31 UTC 5 years ago

Всё гораздо проще и печальней

1. Вы когда-нибудь видели "типичного офисного пользователя", который хотя бы прочитал окошко в броузере с подтверждением? Так вот - они их не читают. Они нажимают "Угу" абсолютно не глядя. Те, кто таки читает - они и в замочек тыкают и смотрят, кем, собственно, сертификат подписан.

2. Администратор может точно так же такой же доменной политикой установить кейлоггер/патченый netinet.dll/whatever и добиться такого же результата совершенно не заморачиваясь с PKI.

[info]ivlad

March 20 2007, 09:23:27 UTC 5 years ago

Re: Всё гораздо проще и печальней

кейлоггер - явно посторонний софт, установку которого еще надо обосновать, а Root CA -"бизнес-практика". =)

[info]quick_justice

March 20 2007, 10:33:55 UTC 5 years ago

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

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

вывод -- секурные каналы ломать нельзя ни под каким видом. либо запрещать https, либо, видя что идет доступ на какие-то странные нерабочие сайты, идти лично и пытаться выяснить, запрещать такой доступ и в случае повторных нарушений увольнять.

в сами каналы лезть нельзя ни в коем случае. уголовка светит.

[info]maxcom

March 20 2007, 10:41:24 UTC 5 years ago

Это только в случае если используется сертифицированная криптуха, и притом надлежащим образом. А в случае обычного ssl с непонятно откуда взятыми сертификатами CA - каждый сам себе злобный буратина.

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]maxcom

5 years ago

[info]ivlad

5 years ago

[info]bugware

5 years ago

[info]bugware

5 years ago

[info]bugware

5 years ago

[info]alexott

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]ivlad

5 years ago

[info]gamajun

March 20 2007, 12:15:55 UTC 5 years ago

В частности, поэтому в IM для шифрования мы выбираем PGP, а не какой-нибудь там SSL.

[info]ivlad

March 20 2007, 12:25:18 UTC 5 years ago

я давно говорил, что mesh-топологии доверия лучше, но мне не верили :)

[info]gamajun

5 years ago

[info]ivlad

5 years ago

[info]wrest

March 21 2007, 17:18:52 UTC 5 years ago

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

Кстати, если пользоваться например portable firefox-ом, то он тоже будет пользоваться виндовым хранилищем сертификатов, в которое злобный работодатель подсунул свой копроративный root CA?

[info]ivlad

March 21 2007, 21:03:52 UTC 5 years ago

> Кстати, если пользоваться например portable firefox-ом, то он тоже будет пользоваться виндовым хранилищем сертификатов, в которое злобный работодатель подсунул свой копроративный root CA?

afair, нет. по-моему, у ff свой certificate store, но надо проверить.

[info]pustota1

March 27 2007, 21:18:59 UTC 5 years ago

Так це ж старая как мир идея про CA от мафии. Гармошка мастера Семенова.

[info]ivlad

March 27 2007, 21:32:33 UTC 5 years ago

читай первый абзац. :)
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…