Вы здесь

Мышление Безопасника и Обыденная Паранойя

Элиезер Юдковский

Нижеследующее – вымышленный диалог, основанный на Безопасность ИИ: Почему это сложно, и где начать.

(ЭМБЕР, филантроп, заинтересованная в более надёжном Интернете, и КОРАЛ, профессионал в области компьютерной безопасности, находятся на конференции и обсуждают, как настаивает КОРАЛ, сложную и важную проблему: трудности создания «надёжного» софта.)

ЭМБЕР: Итак, КОРАЛ, я так понимаю, ты считаешь, что очень важно при создании софта сделать, чтобы он был, как ты это называешь, «надёжным».

КОРАЛ: Особенно, если он соединён с Интернетом, или если он контролирует деньги или что-то ещё ценное. Но да, верно.

ЭМБЕР: Мне сложно поверить, что это должно быть отдельной темой в информатике. В общем случае программистам надо разобраться, как заставить компьютеры сделать то, что они хотят. Создатели операционных систем уж точно не хотят, чтобы те предоставляли доступ кому не надо, точно так же, как они не хотят, чтобы компьютеры зависали. Почему одна задача настолько сложнее другой?

КОРАЛ: Это глубокий вопрос, вот частично глубокий ответ: Когда ты соединяешь устройство с Интернетом, ты потенциально сталкиваешь его с умными противниками, которые могут обнаружить специальные странные способы взаимодействия с системой, которые заставят её части вести себя странным образом, о котором программисты не задумывались. Когда ты решаешь проблемы такого вида, ты используешь другой набор методов и инструментов.

ЭМБЕР: Любая зависающая система ведёт себя так, как этого не ожидал программист, и программистам уже надо такое предотвращать. Чем отличается этот случай?

КОРАЛ: Окей, так… представь, что твоя система собирается принимать один килобайт ввода за сессию. (Хотя это уже тот род допущений, в котором мы бы засомневались, и спросили бы, что произойдёт, если она получит вместо этого мегабайт ввода – но забей.) Если размер ввода – один килобайт, то разных возможных вводов 28,000, что-то около 102,400. Опять же, для простой визуализации, представь, что компьютер получает миллиард вводов в секунду. Предположим, что только гугол, 10100, из всех 102,400 возможных вводов, приводит к тому, что система ведёт себя не входившим в намерения проектировщика способом.

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

ЭМБЕР: Так ты говоришь, что это сложнее, потому что программист сталкивает свою сообразительность с противником, который может оказаться умнее.

КОРАЛ: Это почти-правильная формулировка. Важен не столь «противник», сколько оптимизация. Есть систематические неслучайные силы, сильно отбирающие конкретные исходы, из-за которых части системы идут странными путями исполнения и приходят в неожиданные состояния. Если твоя система буквально не имеет неправильных состояний, то то, что у тебя IQ 140, а у противника IQ 160, не имеет значения – это не соревнование по армрестлингу. Просто создать систему, которая не приходит в странные состояния, когда эти состояния специально отбираются, куда сложнее, чем если они происходят только случайно. Отбирающие-странность силы могут проводить поиск по большему пространству состояний, чем ты можешь себе представить. Преодоление этого требует новых навыков и иного режима мышления, того, что Брюс Шнайер назвал «мышлением безопасника».

ЭМБЕР: О, и что это за мышление безопасника?

КОРАЛ: Я могу рассказать пару вещей про это, но держи в голове, что мы тут имеем дело с не полностью передаваемым качеством мышления. Если бы я могла выдать тебе пару банальностей про мышление безопасника, и после этого ты и вправду могла бы проектировать безопасный софт, то Интернет выглядел бы совсем не так, как он выглядит на самом деле. С учётом этого, мне кажется, что то, что называют «мышлением безопасника» можно разделить на два компонента, один из которых куда проще другого. И это может привести к тому, что люди переоценивают свою собственную надёжность, потому что поняли более простую часть и проигнорировали более сложную. Более простую часть я буду называть термином «обыденная паранойя».

ЭМБЕР: Обыденная паранойя?

КОРАЛ: Многие программисты обладают способностью представлять себя противников, которые пытаются им угрожать. Они представляют, насколько вероятно, что противники способны атаковать определённым образом, а затем они пытаются заблокировать этот способ. Представлять атаки, включая странные или умные, и парировать их мерами, которые, по твоему представлению, остановят атаку – это обыденная паранойя.

ЭМБЕР: Не в этом ли вся компьютерная безопасность? Что, же, по твоему мнению, другая часть?

КОРАЛ: Формулируя банально, надо сказать… это защита от ошибок в твоих собственных допущениях, а не от внешних противников.

ЭМБЕР: Можешь привести пример разницы?

КОРАЛ: Обыденно-параноидальный программист представляет, что противник может попробовать прочитать файл, содержащий все имена пользователей и пароли. Он может попробовать хранить файл в специальной защищённой области диска или специальном разделе операционной системы, предназначенном для усложнения доступа. Напротив, кто-то с мышлением безопасника в такой ситуации думает «Независимо от того, какую специальную систему я построю вокруг этого файла, меня беспокоит нужда делать допущение, что файл нельзя прочитать. Может оказаться, что специальный написанный мной код, раз он реже используется, с большей вероятностью содержит баги. Или, может быть, есть способ вытянуть данные с диска, вообще не проходя через написанный мной код.»

ЭМБЕР: И представляет больше и больше способов, которыми противник может добраться до информации, и блокирует и их! Потому что обладает воображением получше.

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

ЭМБЕР: А, вроде шифрования файла с паролями!

КОРАЛ: Нет, это просто отодвигает проблему на один шаг. Если компьютер может расшифровать пароль, чтобы его проверить, значит он где-то хранит ключ для расшифровки, и атакующий может выкрасть и его.

ЭМБЕР: Но тогда ему понадобится выкрасть две вещи вместо одной; не делает ли это систему надёжнее? Особенно, если ты напишешь два отдельных кода для файловой системы: чтобы хранить ключ и чтобы хранить зашифрованные пароли?

КОРАЛ: Это в точности то, что я имела в виду, отделяя «обыденную паранойю» от полноценного мышления безопасника. Пока система способна восстановить пароль, мы всегда будем беспокоиться, что противник может быть способен обхитрить систему, чтобы она это сделала. То, что кто-то с мышлением безопасника поcчитает более глубоким решением – это хранить односторонний хэш пароля вместо самого пароля. Тогда даже если атакующий прочитает файл с паролями, это всё ещё не даст ему возможности выдать системе то, что она распознает как пароль.

ЭМБЕР: А, довольно умно! Но я не вижу качественной разницы между этим способом и моим способом прятать ключ и зашифрованный файл отдельно. Я согласна, что твой способ умнее и элегантнее, но, конечно, ты знаешь более хорошие стандартные решения, чем я, потому что ты профессионально работаешь в этой области. Я не вижу линии качественного разделения между твоим и моим решением.

КОРАЛ: Эм, это сложно сказать, никого не оскорбив, но… возможно, что даже после того, как я попытаюсь объяснить разницу, а я собираюсь это сделать, ты не поймёшь. Как я уже говорила, если бы я могла выдать тебе пару удобных банальностей и преобразовать тебя в кого-то, способного по-настоящему хорошо справляться с компьютерной безопасностью, то Интернет выглядел бы совсем по-другому. Я могу попробовать описать один аспект разницы, но это может поставить меня в позицию математика, пытающегося объяснить, какой путь доказательства выглядит перспективнее; ты можешь услышать всё, что он скажет и согласно покивать, но это не превратит тебя в математика. Так что я собираюсь попробовать объяснить разницу, но опять же, я не знаю простых инструкций того, как стать Брюсом Шнайером.

ЭМБЕР: Признаю, я ощущаю некоторый скептицизм по поводу этой предположительно непередаваемой способности, которой некоторые люди обладают, а некоторые нет–

КОРАЛ: Такое есть во многих профессиях. Некоторые люди въезжают в программирование в пять лет, поглядев на страницу программ на BASIC, написанных для TRS-80, а некоторые сталкиваются с большими трудностями, пытаясь освоить основы Python в двадцать пять. Это не потому, что есть некая загадочная истина, которую пятилетний знает, и которую можно вербально передать двадцатипятилетнему.

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

ЭМБЕР: Хорошо, продолжай.

КОРАЛ: Окей, итак… твоя мысль поместить файл с зашифрованными паролями в одно специальное место, а ключ в другое специальное место. Почему бы не зашифровать ещё и ключ, написать третий специальный кусок кода, и хранить ключ к зашифрованному ключу в третьем специальном месте? Не сделает ли это систему ещё надёжнее? Как насчёт семи ключей, спрятанных в семи разных местах. Не было бы это особо надёжно? Даже практически невзламываемо?

ЭМБЕР: Ну, это версия идеи ощущается немного глупой. Если ты пытаешься запереть дверь, то замок, требующий двух ключей может быть надёжнее, чем замок, требующий всего одного ключа, но кажется, что семь ключей не сделают дверь намного надёжнее, чем два.

КОРАЛ: Почему нет?

ЭМБЕР: Это просто кажется глупым. Наверное, у тебя есть более хороший способ сформулировать это, чем могу я.

КОРАЛ: Ну, красивый способ описать, почему это глупо – это то, что шанс заполучить седьмой ключ не является независимым от шанса получения первых двух. Если я могу прочитать зашифрованный файл с паролем, и могу прочитать твой зашифрованный ключ, то скорее всего у меня есть что-то, обходящее твою файловую систему и читающее напрямую с диска. И чем сложнее ты делаешь свою файловую систему, тем вероятнее, что я смогу найти странное её состояние, которое позволит мне это сделать. Может, специальный раздел кода файловой системы, который ты написала, чтобы спрятать четвёртый ключ, содержит баг, который позволяет мне напрямую читать диск.

ЭМБЕР: Так разница в том, что человек с настоящим мышлением безопасника найдёт защиту, которая сделает систему проще, а не сложнее.

КОРАЛ: Опять же, почти правильно. Хэшируя пароли, профессионал по безопасности упрощает свои рассуждения о системе. Убирается нужда в допущении, которое может находится под большим давлением. Если ты поместишь ключ в одном специальном месте, а зашифрованный файл с паролями в другом специальном месте, тот вся система в целом всё ещё способна расшифровать пароль пользователя. Противник, исследующий пространство состояний, может быть способен вызвать это состояние расшифровки-пароля, потому что система спроектирована так, чтобы хотя бы в некоторых обстоятельствах это делать. Хэшируя пароль мы избавляемся от этого внутреннего противоречия в рассуждениях, на которых основана надёжность системы.

ЭМБЕР: Но даже после того, как ты используешь этот хитрый трюк, что-то всё равно может пойти не так. Всё ещё нет абсолютной надёжности. Что если кто-то использует «пароль» в качестве своего пароля?

КОРАЛ: Или что если кто-то найдёт способ считать пароль после того, как пользователь его ввёл, пока он сохранён в оперативной памяти, потому что что-то даёт к ней доступ? Суть избавления от дополнительных допущений о надёжности системы не в том, что мы получаем абсолютную надёжность и можем расслабиться. Обладатель мышления безопасника никогда не может быть настолько спокоен касательно своих рассуждений, заявляющих, что система надёжна.

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

Это… опять же, оформляя это как банальность, обыденный параноик затыкает все дыры, через которые он может представить, что атакует противник, а кто-то с мышлением безопасника защищается скорее от «что, если элемент этого рассуждения ошибочен?». Вместо того, чтобы очень сильно пытаться удостовериться, что никто не сможет прочитать диск, мы создадим систему, которая будет надёжной даже если кто-то прочитал диск, и это – наша первая линия обороны. Затем мы также создадим и файловую систему, которая не позволит противникам прочитать файл с паролями, как вторую линию обороны на случай, если наш односторонний хэш сломан, и потому что ни у кого нет нужды позволять противникам читать диск, так что и не надо им этого позволять. И затем мы ещё и посолим хэш на случай, если кто-то применил низкоэнтропийный пароль, а противник всё же смог прочитать файл.

ЭМБЕР: То есть кто-то с настоящим мышлением безопасника пытается скорее не перехитрить противников, а сделать меньше допущений.

КОРАЛ: Ну, мы думаем и о противниках! Рассуждению о противниках проще обучить, чем мышлению безопасника, но оно всё же (а) обязательно и (б) сложно для обучения в абсолютном смысле. Многие не могут его освоить, поэтому рассуждения о «мышлении безопасника» часто открываются с истории о том, как кто-то провалил рассуждение о противниках, и кто-то другой провёл умную атаку, прошедшую через возведённую защиту.

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

ЭМБЕР: Но разве нельзя получить лучший уровень надёжности, ещё и добавляя больше линий обороны? Не увеличивает ли это сложность истории, но и уровень надёжности?

КОРАЛ: Тут можно кое-что сказать о предпочтении в истории-надёжности дизъюнктивных рассуждений над конъюнктивными. Но важно осознать, что то, чего хочется на самом деле – это основная линия обороны, которая должна просто работать и быть непроницаемой, не набор слабеньких заборов, которые, ты думаешь, что может быть сработают. Кто-то, кто не понимает криптографию, может составить двадцать умно-выглядящих новичковых шифров и применить их по очереди, думая, что даже если какой-то один окажется взламываемым, то уж точно не все. Тогда АНБ передаст этот могучий заслон новичкового шифрования стажёру, и стажёр взломает его за вечер.

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

Но, конечно, лучше использовать два истинных допущения, чем одно ложное, так что простота – не всё.

ЭМБЕР: Интересно, имеет ли этот вид мышления приложения за пределами компьютерной безопасности?

КОРАЛ: Думаю, да, как и намекает метафора про шестерёнки.

К примеру, немного выйду из образа персонажа, автор этого диалога несколько известен за обсуждения задачи согласования Сильного Искусственного Интеллекта. Он как-то говорил о попытках измерить скорость усовершенствований внутри растущей ИИ-системы, чтобы она не думала слишком много минуя людей, если в ней произошёл прорыв, пока она была запущена на ночь. Человек, с которым он говорил, ответил, что кажется маловероятным, что СИИ наберёт силу настолько быстро. На что автор ответил примерно это:

Не должно быть твоим делом предполагать, насколько быстро СИИ может улучшаться! Если ты написал систему, которая повредит тебе, если некоторая скорость самоулучшения окажется возможной, то ты написал неверный код. Код просто должен никогда тебе не повредить, независимо от истинного значения этого фонового параметра.

Лучшим способом настроить СИИ было бы измерять то, насколько он усовершенствовался, и если более, чем на X, то приостановить систему, пока программист не проверит уже произошедший прогресс. Тогда даже если улучшение произошло за миллисекунду, то всё в порядке, пока система работает как предполагается. Может, система не работает, как предполагается из-за какой-то другой ошибки, но лучше волноваться об этом, чем о системе, которая повредит тебе даже если она работает как предполагается.

Аналогично, ты хочешь спроектировать систему так, что если она откроет новые восхитительные способности, то она подождёт оператора, чтобы тот разрешил их использование – не полагаться на то, что оператор увидит, что происходит и нажал кнопку остановки. Тебе не следует полагаться на то, что время открытия или время катастрофы будут не меньше времени реакции оператора. Нет нужды принимать такое допущение, если ты можешь спроектировать всё так, чтобы система была надёжной и без него. К примеру, оперируя парадигмой дозволения методов из белого списка оператора, а не запрета методов из чёрного списка; требуя, чтобы оператор сначала сказал «Да», а не предполагая, что оператор на месте, обращает внимание, и может сказать «Нет» достаточно быстро.

ЭМБЕР: Ну, окей, но если мы защищаемся от ИИ-системы, открывающей космическую мощь за миллисекунду, это кажется мне не особо осмысленным беспокойством. Думаю, это отмечает меня как лишь обыденного параноика.

КОРАЛ: В самом деле, один из отличительных признаков специалистов по безопасности – это что они тратят много времени на беспокойство о крайних случаях, которые не тревожат обыденного параноика, потому что они не звучат как то, что противник, вероятно, сделает. Вот пример из блога «Freedom to Tinker»:

Этот интерес в «безвредных провалах» – случаях, когда противник может вызвать аномальный, но не напрямую вредный исход – другой характеристический признак мышления безопасника. Не все «безвредные провалы» приводят к большим проблемам, но удивительно, насколько часто умный противник может сложить набор кажущихся безвредными ошибок в опасную башню проблем. Безвредные провалы – плохая гигиена. Мы стараемся по возможности их искоренять…

Чтобы увидеть, почему, рассмотрим недавно пробежавшуюся по прессе историю с е-мейлами donotreply.com. Когда компании посылают коммерческий e-mail, и не хотят, чтобы получатель на него ответил, они зачастую используют в качестве адреса отправителя заглушку вроде donotreply@donotreply.com. Умный парень зарегистрировал домен donotreply.com и стал получать все е-мейлы, адресованные туда. Это включало «отражённые» ответы на е-мейлы, посланные по неправильному адресу, некоторые из которых содержали копии оригинального письма, с информацией вроде реквизитов банковских аккаунтов, информации о военных базах в Ираке, и так далее…

Люди, поместившие адрес donotreply.com в свои письма, должны были знать, что они не контролируют домен donotreply.com, так что, должно быть, они подумали об ответных письмах, направленных туда, как о безвредном провале. Зайдя так далеко, есть два способа избежать проблем. Первый – тщательно подумать о траффике, который может отправиться к donotreply.com, и осознать, что его часть может быть опасной. Второй способ – подумать: «Это кажется безвредным провалом, но стоит всё равно его избежать. Ничего хорошего из него не выйдет.» Первый способ защитит вас, если вы умны, второй защитит всегда.

«Первый способ защитит вас, если вы умны, второй защитит всегда.» Это, в общем-то, вторая половина мышления безопасника. Это то, что имел в виду автор эссе, говоря о согласовании СИИ, построенном на белом списке, а не на чёрном: не следует предполагать, что вы достаточно умно подумали о том, как быстро СИИ-система может открывать способности, вам следует иметь систему, которая не будет использовать пока что не внесённые в белый список способности, даже если они открыты очень внезапно.

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

Возвращаясь к обычной компьютерной безопасности, если вы пытаетесь создать замок с семью ключами, спрятанными в разных местах, то вы в некотором роде выставляете свой ум против ума противника, пытающегося прочесть ключи. Обладатель мышления безопасника не хочет полагаться на то, что он выиграет состязание умов. Обыденный параноик, кто-то, кто может освоить тот вид паранойи-по-умолчанию, которой обладают многие умные программисты, посмотрит на donotreply@donotreply.com в поле «Отправитель» и подумает о том, что противник может зарегистрировать домен donotreply.com. Кто-то с мышлением безопасника подумает скорее о допущениях, а не о противниках, и подумает: «Ну, я предполагаю, что этот ответный е-мейл отправится в никуда, но, может, мне стоит спроектировать систему так, чтобы мне не надо было беспокоиться о том, и правда ли это так.»

ЭМБЕР: Потому что настоящий великий параноик знает, что то, что выглядит как смехотворно маловероятный способ атаки, иногда в конце концов оказывается не таким уж смехотворным.

КОРАЛ: Опять же, это не идеально правильная формулировка. Когда я не делаю так, чтобы е-мейл исходил из donotreply@donotreply.com, это не просто потому, что я оцениваю вероятность того, что противник зарегистрирует donotreply.com выше, чем представляет новичок. Насколько мне известно, если отражённый е-мейл послан в никуда, то может произойти всё что угодно! Может, это работает так, что е-мейл перенаправляется в странные места в поисках правильного адреса. Я не знаю, и я не хочу быть обязана это изучать. Вместо этого я спрашиваю себя: могу ли я сделать так, чтобы отражённый е-мейл не генерировался? Могу ли я сделать, чтобы он не содержал текста оригинального сообщения? Может, я могу запрашивать сервер электронной почты, чтобы удостовериться, что адрес верный, прежде, чем посылать сообщение? – хотя ещё могут быть автоматические ответы «я в отпуске», так что лучше я сама буду контролировать адрес отправителя. Если может быть очень плохо, что кто-то неавторизированный это прочитал, может это не стоит отправлять прямым текстом через е-мейл.

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

КОРАЛ: Опять же, это не в точности верно. Человек с обыденной паранойей услышав про donotreply@donotreply.com может подумать что-то вроде «О, ну, не особо вероятно, что атакующий действительно зарегистрирует это домен. У меня есть более срочные проблемы, чтобы о них беспокоиться», потому что в этом режиме мышления он оббегает места, где может быть пожар, и вынужден приоритезировать те, где он более вероятен.

Если вы продемонстрируете странный мысленный эксперимент о крайнем случае кому-то с мышлением безопасника, то он не подумает, что там вероятнее проблемы. Он подумает: «О нет, моё убеждение, что отражённые е-мейлы идут в никуда было ЛОЖНЫМ!» Проект OpenBSD по созданию надёжной операционной системы также, по ходу дела, создал крайне устойчивую операционную систему, потому что по их точке зрения любой баг, потенциально приводящий к вылету системы, считался критической дырой в безопасности. Обыденный параноик видит ввод, который приводит к выводу системы и думает: «Вылет – это не так плохо, как если бы кто-то украл мои данные. Если ты не продемонстрируешь мне, как этот баг может быть использован противником, чтобы украсть данные, он не особо критичен». Кто-то с мышлением безопасника думает «Ничто внутри этой подсистемы не должно вести себя так, чтобы ОС вылетала. Какой-то раздел кода ведёт себя не так, как моя модель этого кода. Кто знает, что таам происходит? Система не должна вылетать, так что её вылет демонстрирует, что мои убеждения о том, как она работает, ошибочны.»

ЭМБЕР: Буду честна. Бывало, что меня поражало, что люди, называющие себя профессионалами в области безопасности, казались очень обеспокоенными тем, что для меня казалось крайне маловероятными сценариями. Вроде того, что кто-то забудет проверить конец буфера, а противник вкинет туда длинную строку символов, которые перепишут конец стека адресом возврата и перепрыгнут в раздел кода где-то ещё в системе, делающий то, что нужно противнику. Насколько вероятно, что это действительно будет проблемой? Я подозреваю, что в реальном мире куда вероятнее, что кто-то назначит своим паролем «пароль». Не следует ли скорее защищаться от этого?

КОРАЛ: Нужно делать и то, и то. В этой игре нет утешительных призов. Если ты хочешь, чтобы твоя система выдерживала атаку со стороны государств, тебе нужно действительно сделать её чертовски надёжной. Тот факт, что некоторые пользователи могут попробовать назначить своим паролем «пароль» не отменяет того факта, что нужно защищаться и от переполнений буфера.

ЭМБЕР: Но даже когда операционную систему проектирует кто-то с мышлением безопасника, всё равно зачастую в конце концов её успешно атакуют, верно? Так если эта глубокая паранойя не искореняет вероятность багов, то стоит ли она на самом деле дополнительных усилий?

КОРАЛ: Если созданием твоей операционной системы не руководит кто-то, думающий таким образом, то у неё нет шансов на то, что она не провалиться немедленно. У людей с мышлением безопасника иногда не получается создать надёжную систему. У людей без мышления безопасника никогда не получается создать надёжную систему, если она хоть сколько-нибудь сложна. Этот тип мышления даёт тебе шанс на то, что система простоит больше суток, пока её не взломают.

ЭМБЕР: Звучит довольно радикально.

КОРАЛ: История показывает, что реальность не волнует, что ты считаешь «радикальным», и поэтому твои лампочки с доступом к Wi-Fi – часть русского ботнета.

ЭМБЕР: Смотри, я понимаю, что тебе хочется, чтобы все крохотные кусочки системы были в точности правильными. Мне тоже нравятся чистые изящные штуки. Но давай будем рассудительнее; мы не всегда получаем что хотим.

КОРАЛ: Ты думаешь, что торгуешься со мной, но на самом деле ты торгуешься с законом Мёрфи. Я боюсь, что мистер Мёрфи на самом деле не слишком рассудителен в своих запросах и довольно непростителен по отношению к тем, кто отказывается их выполнять. Я не агитирую тебя за план действий, просто рассказываю тебе, что произойдёт, если ты не будешь ему следовать. Может, ты думаешь, что не особо плохо, если твоя лампочка выполняет DoS-атаку на магазин матрасов в Эстонии. Но если ты хочешь, чтобы система была надёжной, то надо делать некоторые вещи, и это скорее закон природы, чем требование, по которому можно торговаться.

ЭМБЕР: Нельзя торговаться, ха? Готова поспорить, ты бы сменила своё мнение, если бы кто-то предложил тебе двадцать тысяч долларов. Но всё же, я удивлена, что ты не упомянула ту часть, что люди с мышлением безопасника всегда сдают свою идею на коллегиальное исследование и принимают то, что другие люди о ней высказывают. Мне нравится, как это звучит, это кажется очень кооперативным и скромным.

КОРАЛ: Я бы сказала, что это часть обыденной паранойи, которая есть у многих программистов. Суть выставления идей на анализ других не так сложно понять, хотя, конечно, есть многие, кто не делает и этого. Если бы у меня были какие-нибудь оригинальные идеи, как вложиться в хорошо исследованную тему компьютерной безопасности, то я бы оформила их как советы мудрым параноикам, но, конечно, люди, которым они были бы нужны ещё больше – это счастливые простаки.

ЭМБЕР: Счастливые простаки?

КОРАЛ: Люди, лишённые даже обыденной паранойи. Счастливые простаки склонны рисовать в своём воображении то, как их система работает, но вовсе не спрашивают себя, как их система может провалиться, пока кто-то им это не посоветует, и даже тогда у них не получается. По крайней мере, таков мой опыт и опыт многих других в этой профессии.

Есть одна невероятно ужасная криптографическая система, эквивалент детского мата в шахматах, к которой иногда приходят совсем полные новички, а конкретно Fast XOR. Это значит выбрать пароль, повторить его много раз, и XOR-нуть данные с строкой из повторённого пароля. Человек, изобретающий такую систему, может быть вовсе не способен представить точку зрения противника. Он хочет, чтобы его чудесный шифр был невзламываемым, и он не может по-настоящему войти в состояние разума кого-то, кто хочет, чтобы его шифр был взламываемым. Если ты попросишь его «Пожалуйста, попробуй представить, что может пойти не так», он может сказать: «Ну, если пароль утерян, то данные будут навеки невосстановимы, потому что мой алгоритм шифрования слишком силён; я полагаю, это считается за то, что что-то пошло не так.» Или «Может, кто-то проведёт диверсию над моим кодом», или «Если настаиваешь, чтобы я изобретал неестественные сценарии, то, может быть, компьютер спонтанно решит не подчиняться моей программе.» Конечно, любой обыденный параноик попросит наиболее способных людей, каких только сможет найти, посмотреть на его умную идею и попробовать её обвалить, потому что другие разумы могут посмотреть с другого ракурса и знать другие техники. Но другая причина, почему мы говорим «Не заводи свою криптовалюту!» и «Дай эксперту по безопасности посмотреть на твою умную идею!» – надежда достучаться до многих людей, которые вообще не могут инвертировать полярность своих целей – они не думают таким образом сами, а если заставить их это сделать, то их мысли идут в непродуктивных направлениях.

ЭМБЕР: Это вроде… того, как Правые/Левые кажутся совершенно неспособны выйти за пределы своей драгоценной точки зрения, чтобы пройти Идеологический Тест Тьюринга Левых/Правды.

КОРАЛ: Я не знаю, в точности ли это та же самая ментальная способность, но сходство определённо есть. Кто-то, лишённый обыденной паранойи, не может представить точку зрения кого-то, кто хочет, чтобы Fast XOR взламывался и пройти Идеологический Тест Тьюринга противника, который хочет взломать Fast XOR.

ЭМБЕР: Не может или не представляет? Ты, кажется, говоришь об этом так, будто это врождённые необучаемые способности.

КОРАЛ: Ну, по меньшей мере, есть разные степени талантливости, как обычно в профессиях. И, тоже как обычно, талант сильно растёт от тренировки на практике. Но да, иногда мне кажется, что тут есть что-то вроде качественного скачка, что некоторые люди могут сдвинуть точку зрения и представить противника, который действительно хочет взломать их код… или реальность, которая не болеет за то, чтобы их план сработал, или инопланетян, у которых эволюционировали другие эмоции, или ИИ, который не хочет завершать свои рассуждения «А потом люди должны жить долго и счастливо», или вымышленного персонажа, который верит в идеологию Ситхов, и всё же не думает, что он плохой парень.

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

ЭМБЕР: Тебе, кажется, нравятся качественные разделения. Есть ли обыденные параноики получше и похуже? Есть ли спектр между «счастливым простаком» и «настоящим глубоким мышлением безопасника»?

КОРАЛ: Один очевидный количественный уровень таланта, входящего в обыденную паранойю – это насколько сильно ты можешь исказить свою точку зрения, чтобы посмотреть на вещи – креативность и эффективность атак, которые ты изобретёшь. Вроде этих примеров от Брюса Шнайера:

Uncle Milton Industries продаёт детям муравьиные фермы с 1956. Помню, несколько лет назад мы с другом распаковывали такую. В коробке не было муравьёв. Вместо этого там была карточка, в которую можно было внести свой адрес, и компания пришлёт тебе муравьёв. Мой друг удивился, что можно получить муравьёв по почте.

Я ответил: «Что действительно интересно, так это то, что эти люди пошлют банку с живыми муравьями любому, кто попросит.»

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

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

Серьёзно, ничего не можем с этим сделать.

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

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

Для ясности, разделение между «просто обыденной паранойей» и «полным мышлением безопасника» моё собственное; я думаю, стоит разделять спектр выше счастливых простаков на два уровня, а не ограничиваться одним, и лучше говорить: «Рассматривать мир под странными ракурсами – это только половина того, чему тебе надо научиться, причём простая половина.»

ЭМБЕР: Может, сам Брюс Шнайер не понимает то, что ты имеешь в виду, говоря «мышление безопасника», и ты просто украла его термин, чтобы называть им свою собственную отдельную идею!

КОРАЛ: Нет, штука с нежеланием рассуждать о том, что кто-то может когда-то зарегистрировать donotreply.com, а просто исправить это – методология недоверия тому, что ты умно поймёшь, какие проблемы всплывут – это точно часть того, что реальные профессионалы по безопасности имеют в виду под «мышлением безопасника», и это точно часть второй, более глубокой половины. Единственная необычная вещь в моём представлении – это что я формализую промежуточный навык «обыденной паранойи», заставляющий парировать воображаемую атаку, зашифровав файл с паролями и спрятав ключ шифрования в отдельной части кода файловой системы. Я подозреваю, что прийти к идее хэширования паролей – это качественно отдельный навык, действующий в пространстве твоих собственных рассуждений, а не пространстве объектного уровня систем и противников. Хоть невежливо такое говорить, и это могут воспринять как попытку прихватить себе статуса, но мой опыт с другими укоренёнными в рефлексивности навыками подсказывает, что многие люди, возможно, включая тебя, совершенно неспособны так мыслить.

ЭМБЕР: Это действительно кажется мне ужасно невежливым.

КОРАЛ: Это в самом деле может быть невежливо; не отрицаю. Ошибочно ли это – отдельный вопрос. Причина, почему я это говорю – поскольку я хочу, чтобы обыденные параноики пытались переходить на более глубокий уровень паранойи, я также хочу, чтобы они были в курсе, что это может просто оказаться не для них, в каком случае, они должны просить о помощи и слушать, что им советуют. Им не стоит считать, что раз они смогли заметить возможность посылания муравьёв не туда, то они также могут заметить и проблему с donotreply@donotreply.com.

ЭМБЕР: Может, тебе стоит называть это «глубокой надёжностью», чтобы отличать от того, что Брюс Шнайер называет «мышлением безопасника».

КОРАЛ: «Мышление безопасника» есть «обыденная паранойя» плюс «глубокая надёжность»? Я не уверена, что это очень хорошая терминология, но не буду против, если ты будешь использовать эти термины так.

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

КОРАЛ: Они верят, что мудро определили, что реальная проблема, которую надо решить – это плохие пароли, и тратят всё своё время на всё более и более умные проверки на плохие пароли. Они очень впечатлены тем, как много усилий они потратили на детектирование плохих паролей, и как сильно они продемонстрировали свою заботу о надёжности системы. Они становятся жертвой стандартного когнитивного искажения, чьё название я не могу припомнить, того, когда люди пытаются решить задачу одним большим усилием или парочкой больших усилий, и потом прекращают, и больше не пытаются, поэтому люди не устраивают убежища от ураганов, когда закончили закупать запас бутилированной воды. Заплати им за то, чтобы они «попытались посильнее», и они спрячут семь ключей шифрования к файлу с паролями в семи разных местах, или построят всё более и более высокие башни в местах, где успешный противник очевидно просто обойдёт башни вокруг, если вообще будет там проходить. Что у этих идей общего – то, что они в некотором смысле «поверхностные». Они прямолинейно устроены как попытки парировать конкретные классы предвиденных атак. Они дают тебе удовлетворяющее чувство тяжёлого сражения с воображаемой проблемой – а потом они не работают.

ЭМБЕР: Ты говоришь, что проверять, не «пароль» ли пароль пользователя – не хорошая идея?

КОРАЛ: Нет, поверхностные защиты зачастую тоже хорошие идеи! Но даже тогда, кто-то с более высоким навыком попробует взглянуть на вещи более систематично; они знают, что зачастую можно найти более глубокие способы смотреть на задачу, и попробуют их найти. К примеру, крайне важно, чтобы твоя проверка паролей не отвергала пароль «правильно лошадь батарея скоба», требуя, чтобы пароль содержал хотя бы одну заглавную букву, строчную букву, цифру и знак пунктуации. На самом деле ты хочешь измерить энтропию пароля. Не провалиться, умно пресекая чью-то попытку сделать пароль «rainbow», заставляя вместо этого ввести «rA1nbow!».

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

Архетипичный персонаж «обыденный параноик, который думает, что очень сильно старается, но на самом деле лишь городит гору поверхностных предосторожностей» – это Грозный Глаз Грюм из Гарри Поттера, у которого была целая комната Детекторов Тьмы, и которого в итоге заперли на дне чьего-то сундука. Кажется, Грозный Глаз Грюм был слишком занят покупкой ещё одного Детектора Тьмы для уже полной комнаты, и не изобрёл предосторожности достаточно глубокой и общей, чтобы она покрывала непредвиденный вектор атаки «кто-то пытается заменить меня с помощью Оборотного Зелья».

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

ЭМБЕР: Опять же, мне кажется, что это скорее количественная разница того, насколько идеи умные, а не два разных режима мышления.

КОРАЛ: Категории реального мира зачастую расплывчаты, но мне кажется, что это всё же два разных режима мышления. Моя догадка – что человек, популяризировавший требование смеси букв, чисел и символов, рассуждал не так, как человек, думающий об измерении энтропии пароля. Но назовёшь ли ты разделение качественным или количественным, оно есть. Глубокие и общие идеи – такие, которые на самом деле упрощают и усиливают обоснования надёжности системы – изобретаются реже и более редкими людьми. Чтобы создать систему, которая может сопротивляться или даже замедлить атаку нескольких противников, некоторые из которых умнее или опытнее нас самих, нужен уровень профессионально-специфического мышления, которого не стоит ожидать от каждого программиста – даже от тех, кто может представить точку зрения одного равно умного противника. Чего стоит просить у обыденного параноика – это признания того, что более глубокие идеи существуют, и старания изучить стандартные уже известные глубокие идеи; чтобы они знали, что их собственный навык – не верхний предел возможного, и чтобы они просили профессионалов проверять их рассуждения. А потом действительно слушать.

ЭМБЕР: Но если люди могут думать, что их навыки выше, чем на самом деле, то как ты можешь знать, что ты – одна из тех редких людей и правда обладающих глубоким мышлением безопасника? Не может ли твоё высокое мнение о себе быть вызвано эффектом Даннинга-Крюгера?

КОРАЛ: … Окей, это напомнило мне дать ещё одно предостережение.

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

ЭМБЕР: Но не поощрит ли такое отношение сверхуверенных людей думать, что они могут быть параноидальными, хотя на самом деле не могут, в результате чего они будут слишком впечатлены своими суждениями и идеями?

КОРАЛ: Я сильно подозреваю, что они так будут делать в любом случае. Простое личное согласие быть скромным на самом деле не продвигает никакую хорошую выгодную всем коллективную практику. Сверхуверенным всё равно, что ты решишь. И если ты не беспокоишься о недооценивании себя в точности так же, как о переоценивании, если твои страхи о залезании выше, чем положено, несимметричны страхам потерянного потенциала и упущенных возможностей, то, вероятно, перед тобой стоит эмоциональная проблема, а не строгая забота о хорошей эпистемологии.

ЭМБЕР: Если у кого-то есть талант к глубокой надёжности, как его можно натренировать?

КОРАЛ: … Это чертовски хороший вопрос. Для обыденной паранойи разработаны некоторые интересные методы тренировки, вроде занятий, где ученики должны сообразить, как можно атаковать повседневные системы вне контекста информатики. Один профессор выдавал тест, в котором один из вопросов был «Первые сто цифр числа пи?» – суть была в том, что нужно найти какой-нибудь способ сжульничать, чтобы его пройти. Сначала следует натренировать такую обыденную паранойю, если это ещё не сделано.

ЭМБЕР: А потом? Как ты перейдешь от обыденной паранойи к глубокой надёжности?

КОРАЛ: … Пробовать находить более общие защиты вместо блокирования конкретных атак? Признавать, когда ты строишь всё более высокие версии башен, которые противник может просто обойти? Эх, нет, это слишком похоже на обыденную паранойю – особенно если ты начинаешь только с ней. Дай подумать.

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

ЭМБЕР: То есть, вроде того, что если я создаю операционную систему, то я записываю «Допущение о надёжности: система авторизации сдерживает атакующих»—

КОРАЛ: Нет!

Эмм, нет, извини. Как обычно, кажется, что то, что я считаю «советом» опускает все важные части, которые нужны, чтобы кто-то и правда ему последовал.

Это не то, что я имела в виду, говоря «эмпирические допущения». Ты не хочешь предполагать, что часть системы «преуспела» или «провалилась» – это не тот язык, на котором это должно быть записано. Ты хочешь, чтобы элементы истории были строго фактическими, не… ценностными, целе…ориентированными? Там не должно быть рассуждений, явно упоминающих, что ты хочешь, чтобы произошло или не произошло, только язык, нейтрально описывающий фоновые факты о вселенной. Для целей брейншторма ты можешь записать «Никто не может угадать пароль какого-нибудь пользователя с опасными привилегиями», но это лишь прото-утверждение, которое нужно разложить на более базовые.

ЭМБЕР: Не думаю, что поняла.

КОРАЛ: «Никто не может угадать пароль» означает, что «Противник не сможет угадать пароль». Почему ты в это веришь?

ЭМБЕР: Понятно, ты хочешь, чтобы я переделывала сложные допущения в системы простых допущений. Но если ты продолжаешь спрашивать «почему ты в это веришь», то однажды мы дойдём до Большого Взрыва и законов физики. Откуда мне знать, где остановиться?

КОРАЛ: Надо попытаться редуцировать историю за пределы разговоров о целях вроде «противник не сможет» и вместо этого говорить о нейтральных фактах, на которых это основывается. Пока что просто ответь: Почему ты веришь, что противник не сможет угадать пароль?

ЭМБЕР: Потому что пароль слишком сложен, чтобы его можно было угадать.

КОРАЛ: Словосочетание «слишком сложен» – про цели; твои собственные желания касательно системы определяют, что такое «слишком сложен». Если не использовать язык или концепции, отсылающие к тому, что ты хочешь, какое нейтральное, фактическое описание того, что делает пароль слишком сложным для угадывания?

ЭМБЕР: Энтропия пароля достаточно высока, чтобы атакующий не смог предпринять достаточно попыток, чтобы его угадать.

КОРАЛ: Мы продвигаемся, но, опять же, термин «достаточно» связан с целями. Твои собственные желания определяют, что такое «достаточно». Можешь сказать что-то вместо этого?

ЭМБЕР: Энтропия пароля столь велика, что—

КОРАЛ: Я не имею в виду найти синоним для «достаточно». Я имею в виду, использовать другие, не связанные с целями, концепты. Это подразумевает изменение смысла того, что ты записываешь.

ЭМБЕР: Извини, видимо, я не слишком в этом хороша.

КОРАЛ: По крайней мере, пока. Может и вовсе, но это неизвестно, и не надо делать это заключение на основе одной неудачи.

В общем, я надеялась на пару заявлений вроде «Я верю, что пароль обязательно будет иметь минимум 50 бит энтропии» и «Я верю, что никакой атакующий не сможет сделать более триллиона попыток угадать какой-нибудь пароль». Где суть написания «Я верю» – это заставить себя приостановиться и задуматься, и правда ли ты в это веришь.

ЭМБЕР: Говорить, что никакой атакующий не «сможет» сделать триллион попыток – это разве само по себе не связано с целями?

КОРАЛ: В самом деле, может понадобиться разбить это предположение и дальше на «Я верю, что система отвергает попытки ввода пароля, менее чем через секунду после предыдущей, я верю, что атакующий будет делать это не больше месяца, и я верю, что атакующий будет использовать менее 300000 одновременных подключений». И тут опять же суть в том, чтобы посмотреть на написанное и сказать: «Я и вправду в это верю?». Для ясности, иногда ответ будет «Да, я точно в это верю!». Это не социальное упражнение на скромность, где ты показываешь свою способность на мучительные сомнения, а потом всё равно делаешь то же самое. Суть в том, чтобы понять, во что ты веришь, и во что тебе надо верить, и проверить, надёжно ли это.

ЭМБЕР: И это тренирует глубокое мышление безопасника?

КОРАЛ: … Мооожет быыыыть? Я навскидку предполагаю, что это может работать. Это может заставить тебя думать в терминах историй и предположений о паролях и противниках, а это помещает твой разум в состояние, которое, я думаю, по крайней мере, часть этого навыка.

На самом деле, настоящая причина, почему автор указывает эту методологию – он сейчас пытается делать что-то похожее с задачей согласования Сильного Искусственного Интеллекта, и он хочет продвинуться дальше, чем «Я верю, что Мой СИИ не убьёт всех», куда-то в сторону записывания утверждений, вроде «Хоть пространство потенциальных весов этой рекуррентной нейросети и содержит комбинации весов, которые бы сообразили, как убить программистов, я верю, что градиентный спуск на функции потерь L приведёт только в подпространство Q с свойствами P, и я верю, что пространство с свойствами P не включает комбинаций весов, таких, что нейросеть с ними сообразит, как убить программистов.»

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

Продолжение: Мышление Безопасника и Логистическая Кривая Успеха


Перевод: 
Выменец Максим
Оцените качество перевода: 
Средняя оценка: 3.5 (4 votes)
  • Короткая ссылка сюда: lesswrong.ru/3010