Безопасность и анонимность в сети - часть 4

Безопасность и анонимность в сети - часть 4

t.me/nightbiznes

Регулирование шифрования, принуждение к небезопасности и легализация шпионажа

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

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

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

Другие примеры, демонстрирующие волну изменений в разных странах, это например, блокировка WhatsApp на 48 часов в Бразилии из-за разногласий компании и правительства по вопросам шифрования. В Индии есть очень сильные попытки ограничения шифрования. В Казахстане правительство незаконно требует внедрять бэкдоры.

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

Нечто подобное уже пытались осуществить. Это были криптографические войны 1990-ых. Микросхема под названием "Clipper" была предложена правительством США и в ней был найден встроенный бэкдор, и к счастью, она не получила широкого распространения, потому что эту микросхему собирались встраивать во все электронные устройства, осуществляющие шифрование. И таким образом правительство намеревалось обходить шифрование и наблюдать за вашими действиями. Если бы это произошло, то это обернулось бы полной катастрофой ввиду найденной в микросхеме уязвимости.

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

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

Это Мэтт Блейз, выступающий в комитете Конгресса США на тему невыполнимости подобных планов, и это определенно стоит посмотреть. Давайте запустим эту запись, она длится минут пять.

"Председатель: доктор Блейз, ваши пять минут.
Мэтт Блейз: Спасибо, мистер председатель. Как технический специалист, я ловлю себя на мысли, что мне очень странно участвовать в дебатах по поводу целесообразности того, что звучит прекрасно, речь о системах безопасности, которые могут быть преодолены хорошими ребятами, но при этом надежно защищены от плохих.
И разумеется, мы можем это обсудить. Но как технический специалист, я не могу проигнорировать суровую реальность. Это попросту не может быть сделано безопасно. И если мы вырабатываем нужную политику, которая допускает и делает вид, что мы можем сделать это безопасно, то возникнут ужасные последствия для нашей экономики и национальной безопасности.
В наше время трудно переоценить важность устойчивых и надежных компьютерных систем и коммуникаций для нашей персональной, коммерческой и национальной безопасности. Очевидно, что современные компьютерные системы и сетевые технологии приносят огромную пользу нашему обществу и мы зависим от их надежности и защищенности точно таким же образом, как мы зависим сегодня от электричества, воды и других ключевых инфраструктур.
Но к сожалению, система, основанная на программном обеспечении - это фундамент, на котором строится технология всех современных коммуникаций, и общеизвестно об их уязвимости перед атаками преступников или враждебных государств.
Крупные утечки данных, конечно, это буквально повседневность. И эта проблема становится все хуже, потому что мы строим все большие и сложные системы. И не будет преувеличением охарактеризовать состояние безопасности программного обеспечения как начинающийся национальный кризис.
И горькая правда за всем этим состоит в том, что компьютерная наука, моя сфера деятельности, попросту не знает, как разрабатывать сложное, крупномасштабное программное обеспечение, которое бы обладало надежным и безошибочным поведением. И это не новая проблема; она ничего общего не имеет с шифрованием или современными технологиями. Она остается главной темой исследований в области вычислительной техники с самого рассвета программируемых компьютеров.
Новые технологии позволяют разрабатывать нам более масштабные и сложные системы, и вместе с тем, задача по обеспечению надежности становится существенно сложнее ввиду все большего количества компонентов, взаимодействующих друг с другом.
Если мы интегрируем небезопасность и уязвимые системы в структуру нашей экономики, то последствия от недостатков таких систем станут с большой долей вероятности все более серьезными.
К несчастью, нет простого решения проблемы защиты систем, основанных на программном обеспечении. Масштабные системы изначально подвержены риску, и мы можем, в лучшем случае, управлять этим риском, а не убрать его вовсе.
Есть два известных способа управлять рисками ненадежного и небезопасного программного обеспечения. Один из них - это использование шифрования, и это позволяет нам обрабатывать критичные данные в небезопасных медиа и системах программного обеспечения на уровне наших возможностей.
И другой способ - это разработка программных систем, которые были бы максимально небольшими и простыми, насколько это возможно, в целях уменьшения количества компонентов, в которых злоумышленник мог бы найти дыры для эксплуатации.
Вот почему предложения по предоставлению правоохранительным органам возможностей по доступу к данным так сильно пугают меня. Криптографические системы в числе самых хрупких и деликатных элементов современного программного обеспечения. Мы часто открываем катастрофические слабые места даже в очень простых криптографических системах спустя годы после их разработки и внедрения.
Требования по доступу третьих сторон к данным приводят к тому, что даже очень простые задачи, которые мы не знаем, как решить, превращаются в гораздо более сложные задачи, решить которые у нас вообще нет шансов.
Криптография с бэкдорами, которую продвигает ФБР, может быть и решит некоторые проблемы, при условии, что мы ее реализуем, однако это хорошо известная всем проблема. Мы нашли едва заметные дыры в системах, разработанных агентствами национальной безопасности, например, в микросхеме Clipper, две декады назад.
И даже если правильно настроить криптографию, мы останемся с проблемой интеграции возможностей доступа в программное обеспечение. Требование к разработчикам предоставлять возможности доступа третьим сторонам в корне разрушит наши и так слабые способности противостоять атакам.
Хочется поставить вопрос ребром: либо персональная приватность, либо деятельность правоохранительных органов, но по факту, на карту поставлено гораздо большее. Мы попросту не можем сделать то, о чем просит ФБР без серьезного ослабления нашей инфраструктуры. В полном выигрыше останутся преступники и противостоящие нам государства. Конгресс встает здесь перед критически важным выбором, либо фактически закрепить на законодательном уровне принудительную небезопасность наших критических инфраструктур, либо признать огромную важность надежной безопасности в вопросах предотвращения преступлений в мире, все больше погружающемся в сеть. Огромное спасибо за внимание."

https://dspace.mit.edu/bitstream/handle/1721.1/97690/MIT-CSAIL-TR-2015-026.pdf?sequence=8

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

Следующий короткий документ (https://people.csail.mit.edu/rivest/pubs/Riv98e.pdf), который вы можете прочитать, это доводы против регулирования технологий шифрования, всего пара страниц. И вам будет полезно это прочитать, чтобы получше войти в тему. Это "Девять эпичных фейлов регулирования шифрования".

А здесь большой список от Брюса Шнайера, можете узнать, сколько существует различных криптографических продуктов. Это единый учет криптографических продуктов со всего мира. Погуглите на этот счет. Здесь есть версия в PDF. Есть версия в Excel, она довольно-таки удобная, потому что вы можете сортировать список по типам. Здесь можно взглянуть на все разнообразные виды криптографического софта. В этом списке есть и те вещи, которые мы будем рассматривать в курсе.

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

И я думаю, нам стоит начать с цитирования Эдварда Сноудена.

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

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

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

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

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

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

Доверие и бэкдоры

Нам нужно задаться вопросом: «Насколько мы можем доверять операционным системам и приложениям, которые мы используем?» Что ж, мы знаем со стопроцентной уверенностью, что все они содержат уязвимости в безопасности и баги.

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

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

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

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

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

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

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

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

Давайте теперь поговорим об отношении бэкдоров к вашему доверию. Бэкдор – это весьма глубокое понятие. Будем считать, что бэкдор – это слабое место в системе.

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

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

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

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

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

Это произошло с пиратской версией Xcode, что привело к заражению вредоносным кодом приложений в Apple Store. Разработчики приложений не заметили, что добавляют вредоносный код во время компиляции при помощи той пиратской версии Xcode.

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

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

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

«Выяснилось, что на протяжении последних нескольких лет в устройства Juniper NetScreen был внедрен генератор случайных чисел с потенциальным бэкдором, основанный на алгоритме АНБ Dual_EC_DRBG. На определенном этапе в 2012 году код в NetScreen был изменен неизвестной стороной, этот бэкдор мог использоваться для перехвата соединений NetScreen. Поскольку эта модификация кода не была утверждена компанией Juniper, важно отметить, что злоумышленники не изменили основной код механизма шифрования, они изменили лишь параметры. Это означает, что системы были заранее потенциально уязвимы для третьих сторон. Более того, характер этой уязвимости крайне хитер и в целом запутан».

Весьма трудноуловимый бэкдор. Определенно, работа государства или хакерской группы экспертного уровня. Интересно также то, что он основан на алгоритме АНБ Dual_EC_DRBG, именно поэтому люди не доверяют стандартам, продвигаемым АНБ в список стандартов Национального института стандартов и технологий США. Не доверяют, потому что верят в то, что эти стандарты были преднамеренно определены таким образом, что некоторые из них сделаны намеренно слабыми.

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

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

Итак, как нам с вами минимизировать риски, связанные с бэкдорами? Что ж, у нас есть детерминированные и воспроизводимые сборки, они могут помочь обнаружить бэкдоры.

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

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

Однако, об этом легче говорить, чем выполнить в реальности.

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

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

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

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

Если вы заинтересованы углубиться в этот вопрос, допустим, вы разработчик, то вот хороший материал от джентльмена по имени Майк Перри по детерминированным сборкам в связке с Tor. Это интересный материал.

Можете также посмотреть это видео на тему «Как разрабатывать ваше собственное программное обеспечение воспроизводимо».

Цензура

Цензурирование Интернета осуществляется не только в странах типа Китая или Ирана, оно существует в разных формах и на Западе. Например, Верховный суд Канады принял временное предписание с требованием выпилить из поисковой выдачи результаты по одной из двух конкурирующих компаний не только в канадском сегменте Google.ca, но и из сегментов Google в других странах.

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

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

Пользователям Интернета в Великобритании запрещен доступ на ряд веб-сайтов по умолчанию. Доступ фильтруется на уровне интернет-провайдеров. Чтобы получить доступ до блокируемого контента, пользователям необходимо обратиться к провайдеру и отказаться от данной фильтрации.

В США предпринимались ряд санкционированных правительством попыток регулирования контента, которые отменялись на основании Первой поправки к Конституции США, зачастую после продолжительных судебных тяжб. Правительство оказывает непрямое давление там, где не может цензурировать напрямую.

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

По сравнению с большинством стран мира, где интернет-провайдеры вынуждены подчиняться государству, в США большая часть действий по регулированию контента происходит на частном или добровольном уровне.

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

Новости и предупреждения в сфере безопасности: Будьте в курсе

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