{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. Но люди настолько привыкли не учитывать обстоятельства, что не приняли в расчет даже аспекты безопасности, которые имело смысл включать только в сеть.
Исправить ситуацию оказалось очень сложно. Еще в 1990-е гг. IETF, чтобы предотвратить атаки, выпустил предложения по укреплению безопасности BGP, но те оказались уязвимы в части коллективного принятия безопасной системы. Дело в том, что защищенная система будет эффективной и экономически выгодной, если ее примет достаточное количество сетей. Те же, кто включается первым, несет финансовые издержки. Результатом такой ситуации становится ложный стимул: каждый предпочитает подождать и предоставить другим возможность стать первым{82}. В результате мы имеем то, что имеем: спустя 20 лет после того, как мы впервые заговорили о проблеме безопасности интернета, решения по-прежнему нет.
Аналогичным образом обстоит дело с модулями безопасности службы доменных имен – DNSSEC[8] (Domain Name System Security Extensions). Это обновление, которое решило бы проблемы безопасности протокола DNS. С тех пор как 20 лет назад технологическое сообщество приняло решение внедрить это обновление, дело с места не сдвинулось: все выжидают, когда большинство сайтов примут DNSSEC и тем самым подтвердят его эффективность{83}.
Помните телефоны, какие стояли в доме у родителей или у бабушки с дедушкой? Те аппараты разрабатывались и изготавливались как телефон, и их функции не выходили за рамки возможностей, заложенных производителем. Сравните их с устройством в вашем кармане. Это не совсем телефон – это компьютер с телефонным приложением. И, как вы знаете, он умеет намного больше, чем обеспечивать аудиокоммуникацию. Он и фотографирует, и снимает видео, и позволяет обмениваться сообщениями, и читать электронные книги, и много чего еще. Выражение «для этого есть приложение» нельзя использовать по отношению к старомодному телефону, зато вполне естественно произнести в адрес компьютера, который умеет совершать телефонные звонки.
Можно провести аналогию с книгоизданием допечатной поры и после изобретения печатного станка Иоганном Гутенбергом в 1440 г. С того времени технология только совершенствовалась: сначала станок был механическим, а потом – электромеханическим. Тем не менее он оставался только печатным станком. Независимо от усилий того, кто на нем работал, станок не мог считать, транслировать музыку или взвешивать рыбу. Еще недавно термостат представлял собой электромеханическое устройство, которое измеряло температуру воздуха, после чего замыкало или размыкало цепь, соединенную с отопительной системой. Отопительный прибор, соответственно, включался или выключался. Это единственное, что умел делать термостат. И прежний фотоаппарат мог только фотографировать. Теперь они (и не только они) стали компьютерами, которые можно запрограммировать практически на любой вид деятельности. Недавно хакеры продемонстрировали эту возможность, заставив принтер Canon Pixma{84}, термостат Honeywell Prestige{85} и цифровой фотоаппарат Kodak играть в Doom. Когда я рассказываю об этом забавном эпизоде во время своих выступлений на профессиональных конференциях, все смеются над современными устройствами, играющими в компьютерную игру 25-летней давности. Но никто не удивляется тому, что приборы из мира интернета вещей выполняют нетипичные для себя функции. Аудитория, не связанная с техникой, демонстрирует прямо противоположную реакцию. Существующая в нашем сознании ментальная модель в отношении машин такова – они могут делать только что-то одно, а если не делают, значит, сломались. Между тем универсальные компьютеры больше похожи на людей: они умеют делать почти все. Компьютеры многофункциональны. И поскольку все становится компьютером, количество выполняемых функций будет расти. В рамках разговора о безопасности это явление может иметь три последствия.
Последствие первое: расширяемые системы трудно защитить, потому что разработчики не могут предугадать все функции приборов, условия и способы их применения и т. д. Более подробно об этой проблеме мы поговорим чуть позже.
Последствие второе: процесс расширения систем нельзя регулировать извне. Можно изготовить механический проигрыватель, который будет воспроизводить музыку с магнитной ленты, хранящейся в отдельном физическом корпусе, или кофеварку, в которой будут использоваться одноразовые пакетики определенной формы. Однако такие физические ограничения не могут быть перенесены в цифровой мир. Что это значит? Это значит, что защита от копирования (Digital Rights Management – DRM) в принципе невозможна. Проанализировав опыт кино- и музыкальной индустрии более чем за два последних десятилетия, мы пришли к выводу, что нельзя воспрепятствовать созданию и воспроизведению неавторизованных копий цифровых файлов.
Если посмотреть на проблему с другой стороны, то систему ПО нельзя ограничить, потому что программы, используемые для этих целей, можно перепрофилировать, переписать или исправить. Точно так же, как невозможно создать проигрыватель, который отказался бы воспроизводить пиратские копии, невозможно создать 3D-принтер, который отказался бы печатать детали для оружия. Человека, решившего создать что-то в обход системы, остановить невозможно, особенно если он профессионал своего дела. У специалиста, решившего создать программу в противовес DRM, не уйдет на это много времени. Даже самые лучшие системы DRM не работают круглые сутки{86}. К этой теме мы вернемся в главе 11.
Последствие третье: расширение функционала компьютера означает, что любую систему можно обновить, добавив дополнительные свойства в ПО. Новые компоненты могут оказаться не до конца проработанными или не согласовываться с установленной системой, в результате чего защищенность компьютера ощутимо снизится. Кроме того, вполне возможно, что они были созданы хакерами, а это обстоятельство имеет гораздо более серьезные последствия. Когда кто-то взламывает компьютер и устанавливает вредоносное ПО, он добавляет новый программный компонент. Последний, помимо того, что установлен против вашего желания, действует еще и против ваших интересов. И поскольку это программный компонент, то чисто теоретически его можно установить практически на любой компьютер.