(no subject)

Azure Key Vault - очей разочарованье. Читаешь - вау, круто, хардверная защита, неэкспортируемые ключи, файерволлы, managed identities, access control!
Вникаешь в детали - и тут же выясняется, что для SSL защита ключей нерелевантна. Потому что то, что реально происходит, это:
- сертификаты с секретными ключами просто сохраняются где-то на диске,
- ажурные виртуалки, на которых бегают App Services или App Gateways, попросту переписывают их себе - вместе с ключами - и используют локально.

Таким образом:
- HSM вообще не при делах,
- да и импортировать ключ в этот HSM тоже нельзя - только сгенерировать внутри (поправка: не точно, но для того требуется исходный HSM, так что один хрен),
- да и просто сохраняемый на диске software-protected key тоже экспортируемым быть обязан - иначе для SSL он неприменим. То есть любой, имеющий доступ к Key Vault, его скачает без проблем.

Умом, впрочем, и так понимаешь, что не могёт того быть, чтобы для любой новой SSL-сессии к HSM обращаться - а всё одно обидно.

(no subject)

Всякая мура:

1. Приснилось, что разрабатываю компьютерную систему, которая защищается от взлома, врубая нападающим death metal (причём конкретно этот альбомчик) и тем выводя их из строя.

2. Зарікалася свиня в багнюку не лазить. В припадке ностальгии отсмотрел "Homeland" до конца седьмого сезона. Матерь божья. До какой пласмассовой халтуры, патриотической пошлости и лобовой пропаганды довели сериал, концовка первого сезона которого была просто гениальна. Какая жалость, что на этом его и не завершили.

Особенно впечатлил следующий момент: ЦРУ добивается от генерала из СВР, чтобы он помог им выкрасть из Москве некую даму, кадровую сотрудницу ГРУ - а чтобы он был расположен им помочь, замораживают его счета в американских банках. После чего тот генерал, не думая дважды, попросту посылает свой спецназ взять штурмом штаб-квартиру ГРУ - среди бела дня, со стрельбой в воздух и мордобоем - чтобы ту даму американцам вручить на блюдечке.
При этом те же русские, которых только что показали какой-то совершенно карикатурной банановой республикой, одновременно потрясающе коварны и в два хода ставят great American democracy на край гибели. И лишь непревзойдённый героизм Кэрри - которая надоела этим героизмом настолько, что уже хочется, чтобы её пристрелили - эту democracy в самый последний момент спасает.

Ну как назвать аудиторию, способную такое съесть?

(no subject)

После того, как Управление Верховного комиссара ООН по правам человека опубликовало "черный список" компаний, работающих за "зеленой чертой", Исраэль Кац отдал распоряжение сотрудникам МИДа заморозить контакты с этой структурой. Кац добавил, что этот шаг возглавляемого им ведомства направлен на защиту компаний, действующих на территории государства Израиль.

Министр иностранных дел Израиля Кац, прокомментировал публикацию "черного списка", назвав ее "позорной уступкой давлению со стороны стран и организаций, заинтересованных в нанесении ущерба Израилю".

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

Just pathetic.

А внутри у ней неонка и думатель

Микрософт лапочки. Читаешь про Azure Files и про безопасность трафика в SMB 3.0 - шифрование, цифровые подписи, все дела - и восхищаешься: вот здорово! А потом думаешь - а как, ёлы-палы, ты вообще знаешь, что подключаешься к настоящему серверу \\mydearfiles.file.core.windows.net, а не к липовому? И тут понимаешь, что никак.

Сертификата, как в HTTPS нету. Да, SMB работает с Kerberos, который аутентификацию обеих сторон умеет, но какой тебе Керберос при обращении к Azure Files через Интернет? А что есть? А есть древний NTLM, который умеет лишь серверу юзерскую личность доказать, а наоборот нет.

А потом думаешь - а тогда на основе чего, граждане, вы ключи для своего замечательного шифрования вырабатываете, о котором с гордостью рассказываете, что оно на самых модных алгоритмах из лучших домов Парижа, от самого месье Галуа? А на основе того самого NTLM, про который сами же честно пишете, что:

  • NTLM is a challenge response protocol and its session key is based on password hashing that relies on weak cryptography.
  • NTLM does not support any modern cryptographic methods, such as AES or SHA-256. Its key derivation from the password is based on MD4 [RFC1320], DES [FIPS46-2], HMAC_MD5, and RC4.
  • NTLM does not use any salt. It is possible to observe a network packet trace and produce the same key if the attacker knows password, as shown in the appendix by an example of NTLMv2 session key calculation.
  • NTLM does not offer mutual authentication between client and server. The is no so such flag in the protocol.
  • The password length and complexity should be chosen carefully to mitigate brute force attacks.
  • At a minimum, NTLMv2 should be used, and auditing should be in place.

  • Ну и чего ж тогда эти ваши AES-128-CMAC, AES-128-GCM и HMAC-SHA256 стоят?

    То есть реально полагаться на шифрование в SMBv3 можно там, где оно особо и не нужно: в контролируемых корпоративных средах, где есть Active Directory и можно через политики отключить использование NTLM, чтобы избежать вражеских хитростей типа downgrade.

    А вот атаки man-in-the-middle на Azure Files по SMB ничто не предотвращает. Даже если "настоящий" пароль (access key) расшифровать не получится - это нафиг не надо: ничто не мешает запросить у настоящего сервера челлендж, передать клиенту, получить шифрованный пароль, передать серверу, получить доступ. Причём полный - иного варианта по SMB через Интернет просто не предусмотрено.

    Update: последний абзац неверен, кота занесло. SMB Signing таки предотвращает MiTM, хотя я долго не мог понять, как. Ответ узнал из этой блестящей презентации - любителям криптопорна всячески её советую. Очень грубо говоря: NTLM использует третью производную от юзерского пароля, а для того, чтобы создавать подписи на пакетах, надо знать первую. Если атакующий перехватывает-подменяет полностью весь обмен между клиентом и сервером, он увидит эту самую третью производную (параметр NTProofStr), но он будет не в состоянии использовать первую (NT Hash), чтобы вычислить общий с сервером сессионный ключ, который затем используется для подписей и для шифрования. То есть аутентификацию от имени клиента атакующий пройдёт, но затем всё - ни расшифровывать трафик, ни подделывать трафик не выйдет. Возможно, какие-то replay attacks и выгорят.

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

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

    Но поскольку в случае Azure Files пароль уникален для каждого "сервера" (access key для storage account), генерируется самим облаком и не может быть назначен клиентом, то и это не беда. В общем, мой наезд был не по делу, моё поведение недостойно советского офицера, я был нетрезв.

    (no subject)

    Задумался вдруг над одной сценой из "Поттера" и внезапно она мне показалась очень нелепой. Не логически-технически нелепой (этих-то дыр не пересчитать, да и незачем), а поведенчески нелепой, а такого у Роулинг как раз очень немного.

    "Узник Азкабана", встреча старых друзей:

    — МОЛЧАТЬ! НЕ СМЕТЬ РАЗГОВАРИВАТЬ СО МНОЙ В ТАКОМ ТОНЕ! — завопил совершенно ополоумевший Снейп. — Яблочко от яблоньки! Я только что спас твою шкуру; тебе бы следовало на коленях благодарить меня! Тебе было бы хорошим уроком, если бы он прикончил тебя! Умер бы как отец! Тот тоже был самый умный! Тоже не мог поверить, что может ошибаться в Блэке! А теперь отойди или я заставлю тебя это сделать! ПРОЧЬ С ДОРОГИ, ПОТТЕР!
    Гарри решился за долю секунды. Раньше, чем Снейп успел сделать хоть шаг, он поднял над головой волшебную палочку.
    — Экспеллиармус! — крикнул он. Но его голос не был единственным. Раздался взрыв, от которого дверь чуть не соскочила с петель; Снейпа приподняло в воздух и впечатало в стену. После секундной паузы Снейп сполз на пол, из-под волос потекла струйка крови. Он потерял сознание.
    Гарри оглянулся. Оказывается, одновременно с ним Рон с Гермионой тоже решили обезоружить Снейпа. Палочка преподавателя высокой дугой пролетела по комнате и приземлилась на кровать рядом с Косолапсусом.
    — Вам не следовало этого делать, — сказал Блэк, взглянув на Гарри. — Надо было предоставить его мне…
    Гарри избегал смотреть в глаза Блэку. Он не был уверен, что поступил правильно.
    — Мы напали на учителя… Мы напали на учителя… — причитала Гермиона, испуганно глядя на безжизненное тело. — Что теперь с нами будет…
    Люпин пытался выпутаться из верёвок. Блэк стремительно нагнулся и развязал его. Люпин встал, потирая руки в тех местах, куда врезались верёвки.
    — Спасибо, Гарри, — поблагодарил он.
    — Я не говорю, что поверил вам, — ответил Гарри Люпину.


    Вам тут ничего глаза не режет? Вот и мне не резало.

    [Spoiler (click to open)]
    А почему Гермиона говорит "мы напали на учителя", а не "мы убили учителя"? Почему Гермиону волнует, что их накажут за сам факт нападения, а снейпово состояние ничуть не волнует?

    Ну представьте, вы кого-то вмазали об стену, он сполз и лежит, не шевелясь. Откуда вам знать, что он "всего лишь" потерял сознание (что вообще-то означает, насколько понимаю, сотрясение мозга)? Откуда вам знать, что он не умер, не умрёт в скором времени, если не оказать ему немедленную медпомощь, не останется калекой, овощем?

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

    А ведь вообще-то человек не микроволновка, чтобы её выключить и потом включить, как ни бывало.

    (no subject)

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

    Причём благодарность за обнаружение они выносли никому иному, как No Such Agency, что на серьёзность ситуации как бы намекает.

    Патч для соответственной версии винды можно по ссылке скачать, а можно просто поставить апдейты сниматься.

    Кстати, семёрка с сегодняшнего дня всё. Для восьмёрки и Win2012 Микрософт патч не выкатил, так что можно предполагать, что и семёрку эта проблема не затрагивает, но в любом случае лучше с неё на другую ось переползти.
    • Current Music
      Sisters of Mercy - Dominion
    • Tags

    (no subject)

    В продолжение мечтаний:

    Вот интересно, существует ли на белом свете сетевая хреновина типа файерволла, умеющая обрабатывать исходящий HTTPS-трафик следующим образом:
    1. Ответить на попытку установить TCP-соединение на любой адрес - от имени этого адреса.
    2. Получить от юзера пакет "Client Hello", прочесть оттуда хостнейм из поля SNI - сегодня его посылают практически все.
    3. Проверить по DNS, на какие IP-адреса резолвится этот хостнейм.
    4. И лишь после этого искать подходящую firewall policy и проверять:
  • соответствует ли хостнейм из SNI тому адресу, на который было запрошено соединение,
  • или тому, что указано как destination в этой полиси - а это могут быть как и диапазоны адресов (в таком случае надо проверить, попадает ли адрес, используемый юзером - или же адреса, полученные от DNS - в эти диапазоны), или же текстовые правила типа регулярных выражений (тогда надо на них проверить хостнейм),
  • соответствует ли сертификат, посланный сервером, этому хостнейму - по полям CN и SAN.

    Ну и в качестве вишенки на торте, чтобы проверяла полученный сертификат по ограниченному списку CA и чтоб deep inspection умела делать. Ну ещё и заголовками HTTP манипулировала, мечтать так мечтать.

    Фортигейтов Explicit Proxy умеет многое из этого, но это прокси. Клиентов надо настраивать к нему обращаться. Но вообще-то без малого 2020-й год на дворе, было бы неплохо уметь делать умную обработку трафика и прозрачным для юзеров образом.

    Если нет такого - так выпьем же за то, чтобы в наступающем новом году!..

    (no subject)

    Громкие вопли услышав, сбежались они отовсюду,
    Вход обступили в пещеру и спрашивать начали, что с ним:
    - Что за беда приключилась с тобой, Полифем, что кричишь ты
    Чрез амвросийную ночь и сладкого сна нас лишаешь?
    Иль кто из смертных людей насильно угнал твое стадо?
    Иль самого тебя кто-нибудь губит обманом иль силой? -
    Им из пещеры в ответ закричал Полифем многомощный:
    - Други, Никто! Не насилье меня убивает, а хитрость! -
    Те, отвечая, к нему обратились со словом крылатым:
    - Раз ты один и насилья никто над тобой не свершает,
    Кто тебя может спасти от болезни великого Зевса?
    Тут уж родителю только молись, Посейдону-владыке! -
    Так сказавши, ушли.


    А ведь перед нами, товарищи, наверное, наиболее древнее описание успешной атаки наподобие SQL-иньекции.

    (no subject)

    С самого утра полнейшее дежа-вю.

    Военный корреспондент корпорации "Кан" Кармела Менаше после инструктажа, проведенного пресс-службой ЦАХАЛа для израильских СМИ, сообщила, что на встрече несколько раз подчеркивалось, что ЦАХАЛ не намерен возвращаться к тактике "точечных ликвидаций". То, что был уничтожен командир северного крыла "Бригад Аль-Кудса" ("Исламский джихад") Бахаа Абу аль-Ата, является "исключительным случаем", заявляют в ЦАХАЛе. (c)

    Ну разумеется. Исключительным предвыборным случаем.
    • Current Music
      Башня Rowan - "Господь ненавидит идиотов"
    • Tags

    (no subject)

    В честь Йом Кипура, немного еврейской современной религиозной популярной музыки вам в ленту:


    Подбросил давеча студента йешивы по дороге, он мне и поставил. Должен сказать, был приятно удивлён - по-моему, это очень хороший уровень: и голос, и аранжировки.
    Френды, не знающие иврит - как такое на ваше ухо? Слушатебельно?

    Послушал ещё этого автора, Ишая Рибо, на ютюбе - и да, нравится, несмотря на весьма елейные религиозные тексты. Талантливый товарищ. До этого единственной израильской группой, что я слушал, была металлическая Orphaned Land.

    Есть у него, впрочем, и просто симпатичная песенка: