Иногда я проверяю свою рабочую почту и вижу там сообщение «Анонс доклада: Вершиннная эллиптическая криптография в N-сторонних Бананотряховых[1] пространствах». Я смотрю аннотацию и там говорится что-нибудь типа «Хорошо известно, что 5-сторонний обмен секретами нелегален со времён Протестантской Реформации [Лютер1517]. Однако, используя новые результаты в области исполняющихся за полиномиальное время Бананотряховых проекций, мы показываем, как множество корреспондентов, притворяющихся друзьями (но являющихся противниками)[2], могут послать друг другу вплоть до 5 ехидных язвительных замечаний, устойчивых к атакам с использованием выбранным по Бананотряху открытого текста сообщения». Такое чувство, что началась середина трагичной, но вряд ли интересной оперы. По какой именно причине нас только что засунули в эллиптический мир? Кто именно такой этот Бананотрях, и почему нам не пофигу, какой он там открытый текст выберет? Если потому, что он похитил наши семьи, можно мне хотя бы обменяться сообщениями с похищенной роднёй, и если да, обязательно ли сообщения должны быть ехидными и язвительными?
Исследователи, занимающиеся подобными проблемами напоминают мне некоторых моих друзей, любителей триатлона. Когда я с ними сталкиваюсь, я говорю: «А вот в обычной нормальной вселенной, это когда же за тобой будут гнаться по озеру, затем на велосипеде, а затем по дороге, где машина не проедет, но в гидрокостюме пробежать можно? Такое вообще в природе бывает? И если да, то, может, вместо подготовки к такому событию лучше было бы выяснить, почему какой-то безумец заставляет людей плыть, затем ехать на велосипеде, а затем бежать.» Друг обычно отвечает, «Триатлон это хорошая тренировка», а я ему говорю, «Так точно, если ты несколько раз сделал плохой выбор и теперь на тебя охотится водоплавающий Рональд МакДональд». Друг говорит, «А с чего ты взял, что меня преследует Рональд МакДональд?», и я отвечаю, «РАЗУЙ ГЛАЗА, КТО ЕЩЁ ЭТО МОЖЕТ БЫТЬ?», и мой друг прекращает общаться со мной про триатлон, и меня совершенно устраивает такой результат.
В целом, я считаю, у исследователей в области безопасности проблема с PR. Безопасники как самодовольные тинейджеры, которые слушают готическую музыку: их прям переполняет нездоровыми и подробными монологами про вездесущие, окружаюшие нас катастрофы, но к практическому вопросу «что же людям делать перед неизбежной гибелью от воронов или от нехватки черной туши для ресниц» у них интереса существенно меньше. Ну, типа, вебсайты это замечательно, НО НЕ КЛИКАЙ НА ЭТУ ССЫЛКУ, а твой телефон способен запустить всю эту кучу замечательных приложений, НО МНОГИЕ ИЗ ТВОИХ ПРИЛОЖЕНИЙ ЕСТЬ ЗЛО, а если закажешь на Craigslist[3] невесту из России, МОЖЕТ ПРИЕХАТЬ ОФОНАРЕВШИЙ МУЖИК С ФИЛИПИНН, КОТОРОМУ ПОЕЗДКА В КОРОБКЕ НЕ ПОНРАВИЛАСЬ. При этом неясно, что ещё делать с компьютерами, кроме как кликать на всякие штуки, запускать приложения и заполнять пустоты в своей душе выписыванием по почте малоимущих иностранцев. Если безопасники правы, то единственная доказуемо безопасная деятельность — это пялиться на подкову, чья целостность заверена кворумом из Ривеста, Шамира и Адлемана[4]. Я, однако, почему-то не испытываю энтузиазма от перспектив жизни в стиле Пилигрима, у которого магическим образом есть доступ к любым двоим из троицы {Ривест, Шамир, Адлеман}; в основном потому, что если бы я был скучающим Пилигримом и у меня была бы машина времени, то я бы похитил Сэмуюла Л. Джексона или Робокопа, а не каких-то волшебников-математиков из будущего, чтоб они дразнили меня своими знаниями простых чисел и финала сериала «Во все тяжкие».
Единственный подарок, который я когда-нибудь хотел на Рождество, это автоматизированный метод генерирования таких стойких паролей, которые возможно запомнить. К несчастью, большая часть сообщества специалистов по безопасности одержима авангардными ужасами, такими, например, как факт, что во время солнечного затмения можно удалённо перехватить контроль над кардиостимулятором при помощи подъёмника гаражной двери и банки из-под чипсов Принглс[5]. Поистине прискорбно, конечно, что банки Принглс открывают путь для малоизвестных Ситхопободных Сил, применимых против тех 0.002% населения мира, у которых одновременно есть кардиостимулятор и смертельные враги среди электронщиков-любителей. Впрочем, если есть кто-то достаточно упорный, чтобы убить тебя фокусированием электромагнитной энергии через банку Принглс, то ты, наверное, натворил что-то эдакое, что заслужил такую смерть. Я не заявляю, что желаю тебе смерти, но я утверждаю, что тебе, возможно, придется умереть ради того, чтобы исследователи, которые сейчас изучают пофотонные хеш-коды проверки подлинности сообщений (HMAC) для кардиостимуляторных передатчиков смогли бы наконец заняться облегчением создания хороших паролей. «Но Джеймс», возразишь ты, «есть же куча техник для выбора паролей!». Да, я в курсе про технику «выбери яркий образ», и если бы я жил в камере для сенсорной депривации и никогда не пользовался Интернетом, то мог бы легко запомнить фразу-пароль типа «Вечеринка гигантских Марсианских насекомых». Увы, я пользовался Интернетом, а это значит, что я видел, слышал и местами даже платил деньги за всё, что только можно представить. Я видел видеоролик «Вечеринка гигантских Марсианских насекомых», и я видел другой видеоролик, «Вечеринка гигантских Марсианских насекомых: Не говори маме», и оба ролика мне сильно не понравились, но это меня не остановило и я снял продолжение, «Вечеринка гигантских Марсианских насекомых: Возмездие»[6]. Так что мне невероятно сложно придумать хорошо запоминающийся образ, чтобы он выделялся среди того бурлящего океана нелепостей, что заполняет мою голову в результате потребления 31 часов медиа-контента за каждые 24 часа. Придумать запоминающийся образ сложно, а чтобы жизнь мёдом не казалась, безопасники вдобавок говорят, для разных вебсайтов нужны разные пароли. Так что подразумевается, что я должен помнить и «Вечеринку гигантских Марсианских насекомых» и «Структурно непрочную сумку Йети», и каким-то образом вдобавок надо запомнить, которая из этих фраз для моего онлайн-банка, а которая для другого вебсайта, не имеющего ничего общего ни с внеземными насекомыми, ни со снаряжением Йети. Это варварство и я требую от жизни большего. Так что когда исследователи в области безопасности говорят, что не работают над паролями, это как если бы физики времён Второй Мировой говорили, что не работают над радарами и ядерными бомбами, а вместо этого разгадывают тайны полёта шмеля. Ну, типа, ты так близко, а всё же так далеко. Ты почти понимаешь, но это хуже, чем не понимать совсем.
Я пытаюсь сказать, что безопасникам надо определиться со своими приоритетами. Раздел «модель угроз» любой статьи про безопасность напоминает написанный параноидальным шизофреником сценарий теленовеллы: есть вычурный нарратив и теории глобального заговора, есть герои и есть злодеи с фантастическими (но странно ограниченными) сверхсилами, что неизбежно влечёт мучительную битву на полное эмоциональное и техническое изнурение. В реальном мире модели угроз существенно проще, см. рис. 1. На пальцах, ты имеешь дело либо с Моссадом, либо не с Моссадом. Если твой противник это не-Моссад, то если выберешь хороший пароль и не будешь отвечать на емэйлы с адреса ChEaPestPAiNPi11s@virus-basket.biz.ru, всё, скорее всего, будет хорошо. А если твой противник Моссад, ТЫ УМРЁШЬ И С ЭТИМ НИЧЕГО НЕЛЬЗЯ СДЕЛАТЬ. Моссад не отпугивает тот факт, что ты используешь https. Если Моссаду нужны твои данные, они с беспилотника заменят твой мобильный телефон на кусок урана в форме телефона, а когда ты умрешь от раковых опухолей внутри опухолей, они соберут прессконференцию и заявят «Это не мы», не снимая футболок с надписями «ЭТО ОДНОЗНАЧНО МЫ», а затем они выкупят все твои вещи на распродаже имущества и поглядят на оригиналы фоток из твоего отпуска вместо чтения скучных емэйлов про эти фотки. В общем, за https:// и пару долларов можно купить билет на автобус в никуда. А ещё, ДЕД МОРОЗ НЕНАСТОЯЩИЙ. Беда не приходит одна.
Рис.1.
Угроза | Решение |
Бывшая/бывший хакнул твой почтовый ящик и опубликовал твою переписку с фэн-клубом «Мой Маленький Пони» | Стойкие пароли |
Организованные преступники хакнули твой почтовый ящик и рассылают спам | Стойкие пароли + здравый смысл (не кликай на спам про Виагру из целебных трав, это приведет к кейлоггерам и горестям) |
Моссад проделывает всякие Моссадские штучки с твоей почтой |
|
Дуализм «Моссад или не Моссад» это лишь одна из истин, которую исследователи в области безопасности пытаются скрыть. Их сообщество использует кучу отводящих глаза уловок и утешающих слов, пряча истинную природу реальности; в этом смысле они напоминают дилеров подержанных автомобилей и девочек-скаутов (чьи «продажи печенек» просто являются подставными компаниями для Якудзы). В самом начале статей про безопасность часто встречается предложение «предположим, что существует криптосистема публичных ключей». По задумке авторов, ты пробежишь это предложение глазами быстро и не задумываясь, как будто организовать масштабируемую инфраструктуру для ключей это проект на выходные, ну, как будто полочки в кладовке прибить или шиншиллу приручить. Основываясь на такой инфраструктуре публичных ключей, авторы предлагают вытворять всевозможные увлекательные штуки, как в «Мальчишнике в Вегасе»[7], вроде взятия хешей от ключей, и организации ключей в прикольные деревообразные структуры, и выяснения, кто из пользователей плохой и чьи ключи можно уничтожить, или отозвать, или залить бетоном и деактивировать. Чтобы лучше описать Менделевскую генетику ключей, авторы определяют чудные, неестественные операторы над ключами; операторы, которые Книга Левит (третья книга Ветхого Завета) и штат Алабама описывают как нечестивые, чьи определения вынуждают разбираться с непонятными, набитыми подстрочными индексами фразами вроде «Пусть Kr ₩ Kt означает полу-Каспаровскую чота-затыкающую операцию в двустороннем XYabc пространстве, такую, что про показатель степени проболтались, однако новый ключ не создали.» Вечеринка по подписыванию ключей в манере Калигулы выглядит как очень интересная штука, но на практике построить инфраструктуру публичных ключей чрезвычайно тяжело. Когда кто-нибудь говорит «предположим, что существует криптосистема публичных ключей», это примерно эквивалентно высказыванию «предположим, что возможно клонировать динозавров, и заполнить этими динозаврами парк, и можно в такой 'Парк Юрского периода' купить билет, и прогуляться по этому парку, и тебя не сожрут, не располосуют когтями и никаким другим образом в состояние квантовой сцепленности с макроскопической динозавровой частицей ты тоже не попадешь.» В случае основанной на публичных ключах криптографии есть чудовищная, фундаментальная проблема, настоящий вызов: найти кого-нибудь, ну хоть кого-нибудь, чтобы они создали и поддерживали инфраструктуру. Например, можно подписать на это дело хорошо известную технологическую компанию, но это оскорбит утончённые эстетические чувства слегка смутно Марксистского и одновременно уютно буржуазного сообщества хакеров, которые желают, чтобы всё было децентрализованно и без всякой иронии верят, что Тор[8] действительно используют для чего-то, кроме торговли наркотиками и заговоров с целью похищения. Или давайте иначе, инфраструктура публичных ключей может использовать децентрализованную модель «паутина доверия»; в такой архитектуре отдельные лица изготавливают свои собственные ключи и сертифицируют ключи доверенных подельников, тем самым создавая цепи свидетельств. «Цепи Свидетельств» это отличное название для хэви-метал группы, но оно несколько менее практично в реальном, не основанном на событиях из жизни Оззи Осборна мире, потому как мне не просто нужна цепь свидетельств между мной и каким-то неизвестным мерзким незнакомцем — мне также нужна цепь свидетельств для каждого звена в этой цепи. Эдакие рекурсивные свидетельства постепенно приводят к фракталам и безумию в стиле Г.Ф.Лавкрафта. Кроме того, криптосистемы с паутинами доверия приводят к генерированию емэйлов с крайне короткими текстам (например, «ну ты в качалке сёдня бушь?!?!?!?”) и многокилобайтными вложениями PGP ключей, что даёт 98.5% накладных расходов при передаче сетевых пакетов. Энтузиасты PGP похожи на того парня с университетской степенью по этно-литературе, у которого в подписи несколько абзацев с 14-ю буддистскими цитатами про мудрость и про отношения человечества и деревьев. Ну, типа, хорошо, хорошо, Я УЖЕ ПОНЯЛ. Тебя волнуют те штуки, которые тебя волнуют. Теперь, пожалуйста, оставьте меня в покое, я хочу поразмышлять над неизбежностью смерти.
А парни, которые утверждают, что можно использовать социальные сети для начального запуска инфраструктуры ключей — эти парни даже хуже, чем приспешники PGP. Увы, люди в социальных сетях это те же самые бестолковые криворукие недотёпы, что населяют физический мир. То есть люди из соцсетей это те же самые люди, что ставят тулбары для поиска, пытаются кликнуть на обезянку и выиграть iPad и не готовы уверенно отрицать, что покупка приложения для предсказания судьбы за любую отличную от нуля сумму денег это хорошая мысль. Это не самые лучшие люди в истории людей, однако, каким-то образом, я должен вышить и этих клоунов на роскошном криптографическом гобелене с поддержкой отзыва ключей и верифицируемых журналов аудита. Я как-то раз летел на самолёте, и сосед спросил меня, почему его лаптоп не включается, и я попробовал нажать кнопку питания, и я заметил, что кнопка залипает, и я спросил, эээ, а отчего кнопка залипает, а он сказал, ну, ЭТО ПОТОМУ, ЧТО Я ПРОЛИЛ ТУДА ЦЕЛУЮ БАНКУ ГАЗИРОВКИ, НО ЭТО Ж НЕ ПРОБЛЕМА, ПРАВДА? Не думаю, что этот чувак готов организовать криптографические операции с 2048-битными целыми числами.
Ещё один распространяемый исследователями в области безопасности миф утверждает, что планета Земля содержит более 6 программистов, способных корректно использовать метки безопасности и управление инфромационными потоками (УИП). Это верование требует предположить, что несмотря на то, что два самых часто встречающихся в коде названия переменных это „штука“ и „штука2“, в тот момент, когда программисты сталкиваются с системой типов в стиле Dungeons-and-Dragons (системы правил для ролевых игр), которая заставляет аннотировать каждую переменную исчерпывающими биографическими данными, а также списком уязвимостей к непроверенному пользовательскому вводу[9], они, программисты, магически становятся дисциплинированными архитекторами программного обеспечения. У людей настоящий невроз случается, когда их спрашивают, не хотите ли вдобавок большую картошку-фри всего лишь за 50 центов, так что я сомневаюсь, что непостижимое решёточное исчисление станет среди молодёжи большим хитом. Ну, в смысле, да, я понимаю, каким образом можно расставить метки, чтобы написать безопасную версию HelloWorld(), но как только моя программа вырастает до 10 функций, то желание думать про комбинаторные потоки меток постепенно уменьшается и заменяется срочным желанием РАССЕКРЕТИТЬ(), пойти домой и прекратить волноваться о морально непростых выражениях вроде „taint-взрыв“, то есть „взрыв загрязнений“[10], которые типично ассоциируются с индустрией подгузников или с МЧС. Я понимаю, что в идеальном мире я бы сортировал и повторно перерабатывал весь мусор, отсылал 10% своего дохода на благотворительность и добровольно и с песней соглашался бы на когнитивные накладные расходы из-за обильно расставленных меток безопасности. Однако прагматики понимают, что основную часть своих свободных денег я потрачу на комиксы, а вместо сортировки мусора я его весь выкину в Нью-Джерси, где он самоорганизуется в сложную Матрицо-подобную симуляцию мира чаек; симуляцию, целиком состоящую из частиц небезопасного для глотания размера и объектов в форме чаек, но не являющихся чайками и не реагирующих на брачные ритуалы чаек созданием новых маленьких чаек. Это, конечно, проблема, но именно выявление проблем и делает науку интересной, и теперь мы знаем, что надо послать в Нью-Джерси спецназ, чтобы обезвредить построенный из мусора клеточный автомат, угрожающий образу жизни чаек. Аналогично, мы знаем, что исследования УИП не должны фокусироваться на том, что случится, если я как-то использую 17 типов меток для описания 3 типов переменных. Вместо этого УИП надо бы сосредоточиться на вопросе, что произойдет, если я поставлю на все свои переменные Метку Господа, чтобы моя программа скомпилировалась, а я вернулся к своей любимой семье.
[Кстати, думаю, что „Метка Господа“ была важным элементом сюжета в шестом романе Дюны, но я прекратил читать серию после пятой книги и семисотого доклада, начатого с „КТО КОНТРОЛИРУЕТ СПАЙС, КОНТРОЛИРУЕТ (ЧТО-ТО, ЧТО НЕ СПАЙС)“. Также хочу отметить, если сотрудник полиции выписывает вам штраф за превышение скорости, не говорите ему, что вы Квизац Хадерах, что вы Видите Будущее, Недоступное Ордену Бене Гессерит и вы не видите там штрафа. Эта линия защиты рассыпется в суде, а в тюрьме весь „спайс“ делают из жидкости для полоскания рта и сброженных апельсинов.]
Худшее во взрослении то, что в мире становится всё больше ограничений. Ребенку кажется вполне логичным построить космический корабль из простынь, петард и садовой мебели; но когда становишься старше, то осознаёшь, что К.К.Невероятный унесёт тебя не в космос, а в одинокое и смертельное поле огня, соцслужбы по защите детей и неловкие интервью для местных новостей; необязательно именно в этом порядке, но все они рано или поздно придут. Исследования в области безопасности есть постоянный процесс открытий, что твой космический корабль это смертельная ловушка. Однако, как разок сказал Джон Кеннеди, „ПОФИГУ, МЫ ОТПРАВЛЯЕМСЯ НА ЛУНУ“. Я не могу прожить всю свою жизнь в страхе из-за того, что кто-то по кличке ФрикусМаксимус на конференции DefConHat 2014 продемонстрировал, как можно удалённо навести аллергию на орехи при помощи SMS-ки и пряди волос жертвы. Если дела обстоят именно так, я это принимаю и двигаюсь дальше. Про безопасность можно думать, как про поездки на мотоцикле: в безопасных местах неинтересно, а в интересных местах небезопасно. Я отправлюсь туда, куда требует душа, и я найду свою Вечеринку гигантских Марсианских насекомых, и меня, наверное, разорвут на куски огромными криптозоологическими мандибулами, но я погибну, как Томас Джефферсон: свободным, непокорным и без метки безопасности.
- В оригинале Bojangle. Сомнительно, что Джеймс имеет в виду сеть ресторанов, портманто balls jangle куда вероятнее, особенно с учетом мощных образчиков современной культуры. Но перевод „мудозвон“ не особо приличный, в отличие от оригинала; „шарозвон“ просто кривой; а вот „бананотрях“ сколько-то (сколько-то) сохраняет смысл, плюс передает привет Стефану Банаху… ммм, бесценно. ↩
- Frenemies.↩
- Craigslist, всеамериканская онлайн-барахолка, такой американский Авито. (Если совсем точно, то Авито это такой русский Craiglist.) ↩
- Ривест, Шамир и Адлеман это, конечно, не случайные имена, а примерно как Карл Маркс и Фридрих Энгельс современной криптографии. (Ну, то есть не муж и жена, а
четыретри разных человека, а Слава КПСС вообще не человек, ага). ↩ - Вы думаете, про Силу Банки Принглс это была шутка?! ↩
- В оригинале Into Darkness. Но художественный фильм Star Trek: Intro Darkness в русском прокате назывался „Стартрек: Возмездие“. ↩
- В оригинале Ferris Bueller. Вы знаете, кто такой Феррис Бюллер? Ну и я тоже нет. ↩
- Tor, или По-Настоящему Анонимный Интернет. Анонимность сохраняется вплоть до момента штурма вашей квартиры сотрудниками ФБР! ↩
- Output sinks. Примерно такие места программы. ↩
- Taint explosion, это про taint analysis. Дословно, „анализ загрязнения“: все ненадёжные переменные (например, любой пользовательский ввод) помечаются, как грязные (tainted); все переменные, небезопасно полученные с участием грязных, тоже. Берем строчку с именем пользователя из веб-формы, забываем проверить ее на всякие спецсимволы, кладём „грязное“ значение в 3 разные переменные в 3 разных классах, каждая из которых в свою очередь используется в 7, 13 и 9 местах соответственно… вот это и есть taint explosion. ↩
Автор: shodan