
Полная версия
Кибергейт: Как выжить в мире умных вещей
Глава 9 носит общий характер. Чтобы заручиться доверием граждан, правительство должно отдавать предпочтение обороне интернета+, а не нападению (наступлению) с его помощью. Я объясняю, как это сделать. С практической точки зрения маловероятно, что большинство изменений, которые я предлагаю в главах 6–9, будут приняты в обозримом будущем. Поэтому в главе 10 я стараюсь оставаться реалистом и рассуждаю о том, что произойдет и как на это следует реагировать как США, так и другим странам. В главе 11 я выдвигаю несколько предложений относительно направлений в сегодняшней политике, которые существенно снизят защищенность интернета+. Глава 12 опять-таки более общая и посвящена тому, как нам создать такой интернет+, где доверие, стойкость и мир станут нормой, и как это будет выглядеть. По сути, я привожу доводы в пользу того, что хорошее правительство творит добро. Это может быть трудной задачей, особенно в строго либертарианской, компактной с точки зрения управления и настроенной против регулирования компьютерной индустрии, но это очень важно. В 2017 г. даже консервативный The Economist опубликовал материал, поддерживающий как контроль за умными вещами, так и ответственность, лежащую на них{47}. Мы часто слышим жалобы, что правительство делает ошибки, работает спустя рукава, да попросту встает на пути технического прогресса. Гораздо реже обсуждается, каким образом руководство страны управляет рынками, защищает физических лиц и сдерживает напор корпораций. Одной из главных причин сегодняшней незащищенности интернета+ я считаю отсутствие контроля со стороны государства (правительства). По мере того как риски приближаются к критическим отметкам, требуется все большее включение руководства страны в процесс защиты интернета+.
Заканчиваю книгу я обращением к политикам и экспертам в области технологий. Я призываю их к действиям. Политические дискуссии в своей основе являются техническими. Мы нуждаемся в политиках, которые разбираются в технологиях, и нам необходимо вовлечь в политику таких экспертов. Нужно сформировать пул специалистов, ратующих за интересы общества. А эта проблема гораздо шире, чем защищенность интернета+. Но я призываю к действиям в конкретной области технологий, поскольку разбираюсь именно в ней.
Кроме того, я поднимаю некоторые дополнительные темы.
Гонка вооружений в области безопасности. Зачастую безопасность полезно рассматривать как технологическую гонку вооружений между атакующей и обороняющейся сторонами. Атакующая сторона разрабатывает новую технологию, а обороняющаяся отвечает контртехнологией. Или обороняющаяся сторона разрабатывает технологию защиты, вынуждая атакующую сторону придумывать новые пути и методы ее преодоления. Понимание того, как эта гонка вооружений разворачивается в интернете+, критически важно для его защищенности.
Доверие. Хотя мы зачастую не думаем об этом, доверие – базис функционирования общества на всех его уровнях. В интернете также все строится на доверии. Мы доверяем компьютерам, программному обеспечению (ПО) и интернет-сервисам. Доверяем сегментам сети, которые не способны увидеть, и рабочим процессам в используемых устройствах. Осознание того, как мы сохраняем это доверие и как оно может быть подорвано, также важно для понимания защищенности интернета+.
Сложность (запутанность). В этой проблеме сложно и запутанно все: технологии, политика, взаимодействие технологий и политики. Добавим сюда экономику и социологию. Эти области знания многомерны, с течением времени они лишь усложняются. Проблему защищенности интернета+ принято называть wicked problem, поскольку ее трудно или даже невозможно решить. Имеется в виду не дьявольская сущность проблемы, а ее завуалированный характер и – как результат – сложное или вообще отсутствующее решение. О выработке разумного решения и говорить не приходится.
В книге затрагивается множество вопросов по теме, которые раскрываются схематически. Огромное количество сносок – одновременно и список рекомендуемой литературы, и приглашение к ее прочтению. Перечень был уточнен в конце апреля 2018 г. Он есть и на веб-сайте книги (https://www.schneier.com/ch2ke.html). На сайте https://www.schneier.com/ вы найдете ежемесячный бюллетень, а также ежедневно обновляемый блог по упомянутой тематике и остальные мои работы.
Поднятые в книге проблемы я оцениваю с метауровня, будучи, по сути, технологом, а не политиком и даже не политическим аналитиком. Именно поэтому я могу рассказать о технологическом подходе к решению проблем с защищенностью интернета+. Могу дать рекомендации, какую политику необходимо проводить, чтобы найти, выработать и реализовать эти технологические решения. Но я не пишу о поиске политических решений. Не могу рассказать, как получить необходимую поддержку, или как вводить политические изменения, или даже о том, насколько они осуществимы. Признаюсь, книге этого действительно недостает.
Отмечу также, что я рассматриваю проблему с точки зрения американца. Большинство примеров взяты из реалий моей жизни, и бо́льшая часть рекомендаций дается применительно к Соединенным Штатам. Во-первых, это то, что я знаю лучше всего. Во-вторых, я убежден, что у США уникальный опыт развития не по плану и – благодаря территории и положению на рынке – эта страна как никакая другая способна изменить ситуацию к лучшему. Несмотря на то что освещение международных проблем и геополитических аспектов защищенности интернета не было целью этой книги, я так или иначе затронул эти вопросы. В то же время на эту тему есть отличная работа под названием «Темная сеть: Война за киберпространство» (The Darkening Web: The War for Cyberspace){48}.
Проблема защищенности интернета непрерывно эволюционирует и неизбежно находит отражение в каждой публикации на аналогичную тему. Я помню, как в марте 2014 г. заканчивал книгу «Данные и Голиаф» (Data and Goliath). Мне думалось, что она выйдет через полгода, и я надеялся, что за это время не произойдет ничего такого, что повлияет на ее нарратив. То же самое чувство я испытываю и сегодня. Тем не менее я верю, что главное событие, из-за которого мне пришлось бы переписать эту книгу, не произойдет. Конечно, появятся свежие истории и примеры, но ландшафт, который я описываю, скорее всего, останется неизменным на протяжении многих лет.
Будущее защищенности интернета+, или кибербезопасности, если вам по душе такая терминология, – это неисчерпаемая тема, и вопросы, поднятые и раскрытые в большинстве глав этой книги, могли бы послужить основой для новых работ. Надеюсь, что, копая не столько вглубь, сколько вширь, помогу читателям составить представление о реальном положении дел, предоставлю им возможность осознать существующие проблемы и предложу некий план действий. Цель я вижу в том, чтобы вовлечь как можно более широкую аудиторию в дискуссию по теме защищенности интернета+ и подготовить читателей к обсуждению поставленной проблемы на более глубоком уровне. В ближайшие несколько лет мы примем важные решения, даже если они будут сводиться к тому, чтобы не предпринимать никаких действий.
От рисков никуда не деться. И они никак не связаны с тем, насколько развита инфраструктура той или иной страны или насколько авторитарно ее правительство. Не ослабевают они и по мере того, как мы решаем глобальные проблемы, одна из которых – неэффективная политическая система Соединенных Штатов. Не исчезнут риски и под воздействием изменений на рынке. Преодолеваем же мы их лишь постольку, поскольку решили сделать это и согласились с политическими, экономическими и социальными издержками наших решений.
Мир создан из компьютеров, и нам нужно их защитить. Для этого следует начать думать иначе. В 2017 г. на конференции по безопасности интернета бывший председатель Федеральной комиссии связи (Federal Communications Commission – FCC) Том Уилер поддел экс-госсекретаря Мадлен Олбрайт, язвительно заметив, что «мы сталкиваемся с проблемами XXI века, обсуждаем их в терминах XX века и предлагаем решения XIX века»{49}. Он был прав. Нужно действовать эффективнее. От этого зависит наше будущее.
Миннеаполис (штат Миннесота),Кембридж (штат Массачусетс), апрель 2018 г.Часть I
Тенденция
Пару лет назад мне понадобилось заменить термостат. Я много путешествую, поэтому в свое отсутствие хотел экономить электричество. Новый термостат представлял собой подключенный к интернету компьютер, которым можно управлять со смартфона. Переключать программы, следить за температурой – и все удаленно. Очень удобно.
В то же время обнаружилось, что при использовании термостата могут возникнуть проблемы. В 2017 г. некий хакер хвастался в интернете, что удаленно взломал умный термостат Heatmiser (у моего устройства другой производитель){50}. Другая группа кибервзломщиков продемонстрировала возможности вируса-вымогателя, созданного для атаки на термостаты двух популярных американских брендов (опять же, моего среди них нет), и потребовала определенную сумму в биткойнах за его деактивацию{51}. Если хакеры cумели внедрить вирус-вымогатель, то они могли бы включить термостат в сеть ботов и использовать его для атаки на другие интернет-сайты. Это был исследовательский проект, в ходе которого ни один термостат не пострадал, а все инженерные коммуникации остались в целости и сохранности. Однако опасность, что в любой момент могут атаковать именно мой термостат и это повлечет за собой непредсказуемые последствия, сохраняется.
Когда речь заходит о безопасности интернета+, нужно помнить о двух вещах.
Вещь первая: принципы обеспечения безопасности наших компьютеров и смартфонов становятся принципами обеспечения безопасности абсолютно всего. Поэтому, когда вы задумываетесь о незащищенности ПО, уязвимости входа в систему, аутентификации, обновлений, то есть о том, что мы будем обсуждать в части I, – все это относится не только к компьютерам и телефонам, но и к термостатам, автомобилям, холодильникам, имплантированным слуховым аппаратам, кофейникам, уличному освещению, дорожным знакам и вообще ко всему. Компьютерная безопасность становится всеобщей безопасностью.
Вещь вторая: уроки, извлеченные из практической реализации принципов компьютерной безопасности, касаются абсолютно всего. За последние несколько десятилетий специалисты в сфере компьютерной безопасности столкнулись с совершенно новым явлением – цифровой гонкой вооружений, многое узнали о природе компьютерных сбоев и осознали важность устойчивости системы (обо всем этом мы обязательно поговорим). Ранее подобного рода уроки имели отношение исключительно к компьютерам. Сейчас они имеют отношение абсолютно ко всему.
Проблема обеспечения компьютерной безопасности приобрела иные масштабы. Риски, связанные с проникновением интернета во все сферы нашей жизни, поистине огромны. Реальной угрозой нашего времени становится техническая возможность удаленно воздействовать на любые системы, будь то GPS-навигация мирового судоходства{52}, двигатели самолетов{53} и автомобилей{54}, электростанции, заводы по переработке токсичных отходов, медицинские приборы{55}, что неизбежно спровоцирует сбой в этих системах и приведет к гибели множества людей. На карту поставлена безопасность наций и целых государств. Не к столь катастрофичным, но оттого не менее значимым последствиям способно привести вмешательство хакеров в процесс электронного голосования на выборах, атака на умные дома с целью нанести ущерб имуществу конкретных людей{56}, взлом банковской системы ради экономического коллапса.
Цифровая безопасность – это гонка вооружений между атакующей и обороняющейся сторонами. Подумайте о борьбе между рекламодателями и противниками рекламы. Если вы используете блокировщик рекламы (по всему миру так поступают около 600 млн человек){57}, то наверняка заметили, что некоторые сайты применяют программы – антиблокировщики рекламы, которые препятствуют ознакомлению с контентом до тех пор, пока вы не отключите антибаннер{58}. Подумайте о борьбе между спамерами, разрабатывающими новые методы принудительной рассылки навязчивой рекламной информации, и компаниями – их противниками{59}. Мошенничество с кликами – примерно то же самое: жулики используют различные трюки, чтобы убедить крупные компании, такие как Google, в том, что по ссылкам на платные рекламные объявления переходят реальные люди и что Google задолжал деньги мошенникам, тогда как Google пытается их вычислить. Никогда не прекращается гонка вооружений в области мошенничества с кредитными картами: атакующая сторона совершенствуется в методах взлома кредиток, а компании, их выпускающие, совершенствуют способы защиты. Нападениям со стороны хакеров подвергаются и банкоматы: военные действия ведутся с помощью скиммеров, миниатюрных устройств, которые крадут информацию с «пластика»{60}, с помощью камер, считывающих ПИН-коды, а также удаленным способом – через интернет{61}.
Следовательно, чтобы разобраться с безопасностью интернета+, нам следует осознать, насколько в принципе сегодня защищен интернет. Следует выявить и проанализировать технологические, экономические, политические и криминальные тенденции развития цифрового мира и благодаря этому понять, что ожидает нас в ближайшем будущем.
Глава 1
Компьютеры по-прежнему уязвимы
Соблюдение требований безопасности – это всегда компромисс. Иногда компромисс между безопасностью и удобством эксплуатации, время от времени – между безопасностью и функциональностью, а бывает, что компромисс между безопасностью и быстродействием. Наше стремление к комфорту, выбор в пользу него в ущерб безопасности – одна из главных причин уязвимости компьютеров. Справедливости ради стоит признать, что обеспечение безопасности компьютеров, как и информационной системы в целом, – задача поистине сложная.
В 1989 г. эксперт по безопасности интернета Юджин Спаффорд произнес знаменитую фразу: «Единственный по-настоящему безопасный компьютер – тот, что выключен, залит бетоном и под круглосуточной вооруженной охраной находится в герметичном помещении, стены которого обшиты свинцовыми листами. Но даже тогда меня одолевают сомнения»{62}. С тех пор прошло несколько десятков лет, однако почти ничего не изменилось.
Слова об уязвимости правдивы как по отношению к персональным компьютерам, изолированным от интернета, так и по отношению к устройствам, встроенным в приборы и подключенным к сети. Не так давно бывший директор Национального центра кибербезопасности США Род Бекстром сделал следующее умозаключение: 1) всё, что подключено к интернету, уязвимо; 2) к интернету подключается всё; 3) всё становится уязвимым{63}.
Защита компьютера настолько сложна, что у каждого исследователя в области безопасности на этот счет существует собственный афоризм. Вот мое изречение от 2000 г.: «Безопасность – это процесс, а не вещь»{64}.
Тому есть множество причин.
Бóльшая часть ПО написана плохо и ненадежнаЯ играю в Pokémon GО, и приложение часто сбоит – вылетает. Работа его крайне нестабильна, но не то чтобы подобное было чем-то из ряда вон выходящим. Каждому из нас приходилось сталкиваться с аналогичной проблемой либо при работе на компьютере, либо в процессе пользования смартфоном. Чтобы защитить хранящиеся в устройствах данные, мы создаем резервные файлы или используем системы, которые делают это автоматически. И даже тогда мы рискуем потерять важную информацию. Мы привыкли снисходительно относиться к издержкам «общения» с техникой такого типа, а потому, не ожидая от нее идеальной работы и внутренне готовясь к сюрпризам разного рода, пусть даже таковые нас совсем не радуют, перезагружаем компьютеры, когда те зависают.
Большинство компьютеров снабжены плохим ПО, потому что за редким исключением рынок не поощряет высококачественные программы. «Хорошо, быстро, дешево – выберите любые две из трех составляющих». Выбросить на рынок недорогую и быстро сделанную программу куда проще, чем корпеть над созданием качественного продукта. Что примечательно, на протяжении какого-то времени большинство из нас считает плохо написанное ПО достаточно хорошим.
Такой подход прижился в области компьютерных технологий и проявился на всех ее уровнях. Для среднестатистической компании гораздо важнее получить продукцию с опережением графика и в рамках бюджета, нежели приобрести качественное ПО. Университеты c большей вероятностью ограничатся кодом, который едва работает, чем приобретут надежную программу. И мы как потребители ПО чаще всего не готовы платить дополнительные деньги за его улучшение.
Современные программы содержат мириады ошибок, некоторые из них – неотъемлемая часть сложного ПО{65} (подробнее об этом позже), однако большинство возникает на начальном этапе создания программы и не исправляется в процессе разработки. Соответственно, к потребителю ПО поступает с ошибками. Способность работать с некачественным кодом свидетельствует о нашем мастерстве.
В 2002 г. руководство компании Microsoft всерьез задумалось над тем, чтобы свести к минимуму количество уязвимостей в системе безопасности своих программ, и на улучшение процесса разработки ПО ушло целое десятилетие{66}. Продукты Microsoft все еще несовершенны – это за пределами существующих на сегодняшний день технологических возможностей, – но качество их намного выше среднего уровня. Компания Apple славится своим высококачественным ПО{67}. Как и Google. Некоторые небольшие, но критически важные сегменты ПО с самого начала отличались высоким уровнем исполнения. Например, программы для авионики написаны в соответствии с очень жесткими стандартами качества. Также и в НАСА: контроль за качеством ПО космических челноков обязателен{68}.
Столь разное отношение к вопросам безопасности ПО у ИТ-специалистов разных отраслей продиктовано мерой ответственности и степенью рисков. Стратегически важные сферы имеют и более высокую степень защиты. Именно поэтому в НАСА действуют консервативные стандарты гарантии качества. На бытовом же уровне, пользуясь такими относительно высококачественными операционными системами, как Windows, macOS, iOS и Android, мы постоянно их обновляем и пропатчиваем.
Некоторые ошибки (баги) в ПО, безусловно, – уязвимости в системе безопасности, чем не преминут воспользоваться атакующие. Например, ошибка переполнения буфера позволяет злоумышленнику захватить контроль над компьютером и принудить его выполнять произвольные команды{69}. И таких багов множество. Точное количество не поддается исчислению. Мы не знаем, сколько ошибок следует рассматривать в качестве уязвимостей и сколько уязвимостей можно потенциально использовать{70}. На эту тему ведется самый настоящий диспут. Я твердо уверен, что большие программные системы содержат тысячи уязвимостей, а для взлома достаточно всего одной. Иногда ее просто найти, иногда – нет.
И хотя уязвимостей много, нельзя сказать, что они равномерно распределены по программе. Есть такие, которые выявить легко, и такие, которые выявить трудно. Инструменты, автоматически обнаруживающие и устраняющие или исправляющие целые классы уязвимостей, существенно повышают безопасность ПО. Очевидно, что, если кто-то выявил уязвимость, велика вероятность, что вскоре ее обнаружит (или уже обнаружил) другой. Heartbleed – большая брешь в безопасности интернета. Эту ошибку упускали из виду целых два года{71}, зато открыли с разницей в несколько дней два исследователя, действующих независимо друг от друга. Уязвимости Spectre и Meltdown в компьютерных чипах существовали по меньшей мере лет десять, пока в 2017 г. их не обнаружили сразу несколько человек{72}. Я не нахожу объяснения этому феномену, поэтому ограничимся констатацией того факта, что параллельное обнаружение уязвимостей – это реальность. К этому вопросу мы вернемся в главе 9, когда будем говорить о правительствах, накапливающих программные уязвимости с целью шпионажа и создания кибероружия.
Взрывное увеличение числа устройств, взаимодействующих с интернетом вещей, означает, что количество программ, строк кодов, а значит, ошибок и уязвимостей станет расти в геометрической прогрессии. Сохранение же дешевизны умных вещей – это привлечение к их созданию малоквалифицированных программистов, плохая отладка процесса разработки ПО и частое повторное использование кодов, то есть в случае широкого распространения уязвимости вред от нее будет огромным{73}.
Чтобы обезопасить устройства, которые мы используем в повседневной жизни (компьютеры, телефоны, автомобили, медицинские приборы, системы управления домом), от вторжения хакеров, недостаточно находить и устранять уязвимости в ПО. Нужно подходить к процессу создания ПО с совершенно других позиций. За этим будущее системы безопасности.
Когда создавался интернет, вопрос о его безопасности даже не поднималсяВ апреле 2010 г. часть мирового интернет-трафика (15 %) изменила направление и прошла через серверы в Китае. Длилось это около 18 минут{74}. Мы не знаем, произошло ли это по распоряжению тамошнего правительства с целью протестировать возможности перехвата или хакеры действовали по собственной инициативе, зато знаем, как действовали атакующие: они нарушили протокол динамической маршрутизации (Border Gateway Protocol – BGP).
Протокол этот определяет, как интернет распределяет трафик по кабелям и соединительным узлам между интернет-провайдерами, странами и континентами. Чтобы система работала, аутентификация не требуется, а еще все безоговорочно доверяют любой информации о скорости и перегрузке каналов связи{75}. Поэтому BGP можно манипулировать. Из секретных документов, обнародованных работавшим на правительство [Соединенных Штатов] Эдвардом Сноуденом, мы узнали, что Агентство национальной безопасности США (АНБ) использует эту лазейку, чтобы «прослушивать» определенные потоки данных{76}. В 2013 г. некая компания сообщила о 38 случаях, когда интернет-трафик перенаправлялся на маршрутизаторы белорусских или исландских провайдеров{77}. В 2014 г. турецкое правительство использовало этот способ, чтобы подвергнуть цензуре отдельные сегменты интернета. В 2017 г. трафик нескольких основных американских операторов связи был ненадолго перенаправлен к неизвестному интернет-провайдеру{78}. Не думайте, что подобные атаки практикуют исключительно службы государственных органов: в 2008 г. на Defcon[7] было продемонстрировано, что это может сделать кто угодно{79}.
В самом начале эры интернета мерами его защиты были действия, предотвращающие физические атаки на сеть. Благодаря этому отказоустойчивая архитектура интернета обрабатывала сбои или повреждения серверов и соединений, но не справлялась с систематическими атаками на базовые протоколы. Многие из них остаются незащищенными до сих пор. Не обеспечивается безопасность в строке «от кого» в электронной почте: кто угодно может выдать себя за кого угодно. Отсутствует безопасность в службе доменных имен (Domain Name Service – DNS), которая переводит интернет-адреса из понятных человеку названий в воспринимаемые компьютером адреса, а также в протоколе сетевого времени (Network Time Protocol – NTP), призванном синхронизировать процессы. Небезопасны и оригинальные протоколы языка разметки гипертекста HTML (HyperText Markup Language), лежащие в основе работы Всемирной паутины, и даже протокол защищенной передачи гипертекстовых данных https (HyperText Transfer Protocol Secure). Атакующим по силам нарушить любой.
Протоколы разрабатывались в 1970-е – начале 1980-х гг., когда предполагалось, что интернет будет использоваться рядом исследовательских организаций, но не для решения глобальных или критически важных задач. Профессор Массачусетского технологического института и один из создателей раннего интернета Дэвид Кларк вспоминает: «Не нужно считать, что мы не задавались вопросом безопасности. Мы осознавали, что есть люди, которым не следует доверять, и полагали, что сможем исключить их из процесса пользования интернетом»{80}. Действительно, именно так все и было.
Еще в 1996 г. бытовало мнение, что безопасность – сфера ответственности конечных точек, то есть компьютеров, за которыми сидят люди, а не самой сети. Вот что было написано в том же 1996 г. в рекомендациях Инженерного совета интернета (Internet Engineering Task Force – IETF) – организации, определяющей стандарты индустрии: «Желательно, чтобы интернет-операторы защищали приватность и аутентичность трафика, но это не требование архитектуры. Конфиденциальность и аутентификация – ответственность конечных пользователей, она должна реализовываться в протоколах, которые они используют. Конечные точки не должны зависеть от конфиденциальности или добросовестности операторов. Последние могут выбрать предоставление определенного уровня защиты, но это вторично по отношению к ответственности конечных пользователей по защите самих себя»{81}.
И это неправильно. В главе 6 мы поговорим о сквозной сетевой модели, при которой сеть не должна нести ответственность за безопасность, как предписывал IETF. Но люди настолько привыкли не учитывать обстоятельства, что не приняли в расчет даже аспекты безопасности, которые имело смысл включать только в сеть.