Можно провести аналогию с книгоизданием допечатной поры и после изобретения печатного станка Иоганном Гутенбергом в 1440 г. С того времени технология только совершенствовалась: сначала станок был механическим, а потом – электромеханическим. Тем не менее он оставался только печатным станком. Независимо от усилий того, кто на нем работал, станок не мог считать, транслировать музыку или взвешивать рыбу. Еще недавно термостат представлял собой электромеханическое устройство, которое измеряло температуру воздуха, после чего замыкало или размыкало цепь, соединенную с отопительной системой. Отопительный прибор, соответственно, включался или выключался. Это единственное, что умел делать термостат. И прежний фотоаппарат мог только фотографировать. Теперь они (и не только они) стали компьютерами, которые можно запрограммировать практически на любой вид деятельности. Недавно хакеры продемонстрировали эту возможность, заставив принтер Canon Pixma{84}, термостат Honeywell Prestige{85} и цифровой фотоаппарат Kodak играть в Doom. Когда я рассказываю об этом забавном эпизоде во время своих выступлений на профессиональных конференциях, все смеются над современными устройствами, играющими в компьютерную игру 25-летней давности. Но никто не удивляется тому, что приборы из мира интернета вещей выполняют нетипичные для себя функции. Аудитория, не связанная с техникой, демонстрирует прямо противоположную реакцию. Существующая в нашем сознании ментальная модель в отношении машин такова – они могут делать только что-то одно, а если не делают, значит, сломались. Между тем универсальные компьютеры больше похожи на людей: они умеют делать почти все. Компьютеры многофункциональны. И поскольку все становится компьютером, количество выполняемых функций будет расти. В рамках разговора о безопасности это явление может иметь три последствия.
Последствие первое: расширяемые системы трудно защитить, потому что разработчики не могут предугадать все функции приборов, условия и способы их применения и т. д. Более подробно об этой проблеме мы поговорим чуть позже.
Последствие второе: процесс расширения систем нельзя регулировать извне. Можно изготовить механический проигрыватель, который будет воспроизводить музыку с магнитной ленты, хранящейся в отдельном физическом корпусе, или кофеварку, в которой будут использоваться одноразовые пакетики определенной формы. Однако такие физические ограничения не могут быть перенесены в цифровой мир. Что это значит? Это значит, что защита от копирования (Digital Rights Management – DRM) в принципе невозможна. Проанализировав опыт кино- и музыкальной индустрии более чем за два последних десятилетия, мы пришли к выводу, что нельзя воспрепятствовать созданию и воспроизведению неавторизованных копий цифровых файлов.
Если посмотреть на проблему с другой стороны, то систему ПО нельзя ограничить, потому что программы, используемые для этих целей, можно перепрофилировать, переписать или исправить. Точно так же, как невозможно создать проигрыватель, который отказался бы воспроизводить пиратские копии, невозможно создать 3D-принтер, который отказался бы печатать детали для оружия. Человека, решившего создать что-то в обход системы, остановить невозможно, особенно если он профессионал своего дела. У специалиста, решившего создать программу в противовес DRM, не уйдет на это много времени. Даже самые лучшие системы DRM не работают круглые сутки{86}. К этой теме мы вернемся в главе 11.
Последствие третье: расширение функционала компьютера означает, что любую систему можно обновить, добавив дополнительные свойства в ПО. Новые компоненты могут оказаться не до конца проработанными или не согласовываться с установленной системой, в результате чего защищенность компьютера ощутимо снизится. Кроме того, вполне возможно, что они были созданы хакерами, а это обстоятельство имеет гораздо более серьезные последствия. Когда кто-то взламывает компьютер и устанавливает вредоносное ПО, он добавляет новый программный компонент. Последний, помимо того, что установлен против вашего желания, действует еще и против ваших интересов. И поскольку это программный компонент, то чисто теоретически его можно установить практически на любой компьютер.
Бэкдор[9] – один из дополнительных элементов системы компьютера. Этот термин будет часто встречаться на страницах книги, поэтому расскажу о нем подробнее. «Бэкдор» – термин из области криптографии{87}. Он обозначает любой преднамеренно созданный механизм доступа, позволяющий обойти обычные средства обеспечения безопасности компьютера. Бэкдоры часто бывают секретными и добавляются в систему без вашего ведома и согласия. Но это не данность. Когда представители ФБР требовали, чтобы компания Apple обеспечивала возможность обойти шифрование в iPhone, речь шла о необходимости добавить бэкдор{88}. Когда исследователи обнаружили жестко закодированный дополнительный пароль{89} в файрволах компании Fortinet[10], был найден бэкдор. Когда китайская компания Huawei установила в интернет-роутеры секретный механизм доступа, она установила бэкдор. Обсудим это в главе 11.
Все компьютеры могут быть заражены вредоносными программами{90}. Все компьютеры могут быть захвачены программами-вымогателями. Все компьютеры могут быть объединены в ботнет – сеть управляемых дистанционно зараженных вредоносными программами устройств. Содержимое всех компьютеров можно уничтожить удаленно. При этом основная функция встроенного компьютера или устройства из интернета вещей, в которую встроен компьютер, не будет иметь никакого значения. Атакующая сторона станет использовать их точно так же, как использует персональные компьютеры и ноутбуки.
Пока что у атакующих все еще сохраняется устойчивое преимущество. Если обратиться к истории, можно проследить, что долгие десятилетия и даже века перевес в ходе войны был то на стороне тех, кто держал оборону, то на стороне тех, кто нападал. Зачастую исход сражения определяла не тактика боя, а технологические новинки наподобие танков или пулеметов. В условиях современных цифровых войн атаковать легче, чем защищаться{91}. И в обозримом будущем ситуация не изменится.
Одна из многочисленных причин – сложность компьютерных систем. Замысловатость и витиеватость – злейший враг безопасности{92}. Чем мудренее система, тем хуже ее защита. Миллиарды компьютеров, в каждом из которых содержится несколько десятков миллионов строк кодов, подключены к интернету, состоящему из триллионов веб-страниц и неизвестного количества зеттабайт[11] информации{93}. В итоге мы получаем техническое устройство – самое сложное из когда-либо созданных человеком.
Среди прочего сложность компьютерных систем означает использование при их производстве все большего количества деталей, взаимодействие с ними все большего количества людей и их включение во все большее количество коммуникаций. А еще – новые уровни абстракции, огромное количество ошибок, допущенных при конструировании и разработке, все бо́льшие трудности, которые приходится преодолевать в ходе тестирования, и появление все большего количества мест в коде, где могут скрываться ошибки.
Экспертам в области компьютерной безопасности нравится говорить о поверхности атаки – потенциальных точках – целях взломщиков{94}. Сложная система подразумевает огромную поверхность атаки, то есть возможный агрессор получает существенное преимущество. Достаточно отыскать одну-единственную уязвимость – незащищенный путь – и выбрать время и метод нападения. С не меньшим успехом хакер может предпринять серию атак. Обороняющемуся же нужно обезопасить всю поверхность атаки от всех возможных нападений. По сути, у него нет права на ошибку, он должен побеждать каждый раз, в то время как атакующему достаточно всего одной победы. Неравный бой: расходы на атаку минимальны по сравнению с затратами на оборону.
Даже при усовершенствовании технологий сложность компьютерных систем опережает модернизацию безопасности. Новые идеи по усовершенствованию системы, новые результаты исследований, новые продукты и новые услуги появляются каждый год. Одновременно с ними появляются новые уязвимости. Мы сдаем позиции, несмотря на то что улучшаем технологии.
В сложных системах значительное количество опций, затрудняющих безопасную работу пользователей-любителей. Непрофессионалы забывают сменить пароль, присвоенный по умолчанию, или неправильно настраивают доступ к данным в облаке{95}. В 2017 г. руководство Стэнфордского университета заявило, что в результате «неправильно сконфигурированных разрешений» в сеть попали данные тысяч студентов и сотрудников{96}. И это далеко не единичный случай.
Нападение эффективнее защиты и по ряду других причин. Во-первых, у атакующих преимущество первого хода, а во-вторых, их действиям присуща определенная гибкость, которой часто не хватает обороняющимся. Те, кто становится жертвой взломщиков, как правило, плохо разбираются в проактивной безопасности или не придают той должного значения. У атакующих есть за что бороться, в то время как защита сопряжена с издержками, на которые редко когда готовы пойти руководители. Многие до последнего отказываются верить, что целью может стать именно их компания. Вот тут-то хакер и получает дополнительное преимущество.
Не стоит делать вывод, что защита – вообще бесперспективное дело. Многое зависит от самого злоумышленника. Если он одиночка, которого несложно переключить на цель попроще, – это одно, но если речь о квалифицированном, хорошо финансируемом и мотивированном хакере – совсем другое. По этому поводу часто упоминают такую цитату бывшего заместителя директора АНБ Криса Инглиса: «Если бы в киберпространстве мы забивали так, как забиваем в футболе, то за 20 минут игры счет составил бы 462: 456»{97}. Примерно так и обстоят дела.
Относительная техническая простота нападений не означает, что они происходят сплошь и рядом. Мало кто решается на убийство, ведь госорганизации нацелены на поиск и наказание виновного. В интернете установить авторство сложно, оттого и наказать труднее. (Эту тему мы обсудим в главе 3.) Усложняет вопрос и интернациональная природа интернета.
Если говорить об интернете+, то все будет становиться только хуже. Чем больше, чем разнообразнее, тем сложнее.
Современный интернет настолько многоуровневый и разноплановый, что даже эксперты до конца не понимают, как именно взаимодействуют его сегменты. При этом обычные пользователи, уверенные в собственной осведомленности обо всех процессах, удивляются неожиданным открытиям.
Чем больше предметов объединено в сеть, тем интенсивнее уязвимости одной системы воздействуют на другие. В подтверждение своих слов приведу три примера.
Пример первый. В 2013 г. преступники проникли в сеть компании Target Corporation[12] и похитили информацию о 70 млн покупателей, а также данные 40 млн кредитных и дебетовых карточек. Доступ злоумышленники получили благодаря учетным данным для входа в систему Target Corporation, украв те у одной из фирм – поставщика обогревателей и кондиционеров{98}.
Пример второй. В 2016 г. хакеры объединили миллионы компьютеров из мира интернета вещей (роутеры, цифровые видеорегистраторы, веб-камеры и т. д.) в огромный ботнет Mirai, после чего использовали его для DDoS-атаки[13] против провайдера доменных имен Dyn, представлявшего сетевые сервисы для крупнейших интернет-сайтов. Dyn завис – десятки веб-сайтов (в том числе Reddit, BBC, Yelp, PayPal и Etsy) отключились{99}.
Пример третий. В 2017 г. через подключенный к интернету аквариум хакеры проникли в онлайн-казино и похитили данные игроков{100}.
Системы воздействуют друг на друга неожиданным и опасным образом. Элемент, что на этапе конструирования считался безопасным, становится вредоносным, стоит только системам начать взаимодействовать – уязвимости легко и незаметно проникают из одной в другую. Одна из таких ошибок могла стать причиной аварии на АЭС Три-Майл-Айленд, катастрофы шаттла «Челленджер» и массового отключения электричества в США и Канаде.
Кроме того, не всегда можно установить, по вине какой системы произошла ошибка, плюс причина уязвимости может и не скрываться в одной из них. Случается, что хорошо защищенные системы небезопасны друг для друга{101}. В 2012 г. неизвестный получил доступ к аккаунтам журналиста Мэта Хонана на Amazon, в Apple, Gmail и Twitter{102}. Системы не имели уязвимостей, но стали уязвимыми в результате взаимодействия, другими словами, играла роль траектория атаки.
Можно привести и другие примеры. Из-за уязвимости в умных холодильниках Samsung угрозе взлома подверглись аккаунты пользователей Gmail{103}. Излишне чувствительное приложение Gyrophone в iPhone, определяющее положение устройства в пространстве, улавливает акустические колебания, а потому способно подслушивать разговоры{104}.
Между 100 системами возникает около 5000 взаимодействий, то есть появляется порядка 5000 потенциальных уязвимостей. Между 300 системами – 45 000 взаимодействий, между 1000 – 500 000. Бо́льшая часть взаимосвязей окажется безобидной, но некоторые возымеют разрушительные последствия.
Существует три принципиальных отличия между тем, как выходят из строя компьютеры и прочие устройства.
Отличие первое: расстояние не имеет значения. В реальном мире мы беспокоимся о том, как защититься от среднестатистического врага. Мы не покупаем дверной замок, чтобы сдержать лучшего в мире взломщика, – мы покупаем дверной замок, чтобы сдержать обычного вора, который, возможно, крутится возле дома. Я живу в Кембридже (штат Массачусетс) и мало тревожусь из-за суперквалифицированной воровки из Канберры (Австралия). Вряд ли она полетит через полмира, чтобы ограбить мой дом. Но вот мою домашнюю сеть хакерша из Канберры взломает так же легко, как взламывает сеть того, кто живет на противоположной от нее стороне улицы.
Отличие второе: способность атаковать компьютеры не связана с особыми умениями. Да, создание ПО требует определенного мастерства. Та же самая суперквалифицированная хакерша из Канберры – виртуоз и отличный кодер. Она способна создать вредоносное программное средство, запустить его в работу, автоматизировать процесс – заставить его работать уже без своего участия – и передать любому человеку, даже не программисту. Подобная последовательность действий поспособствовала появлению термина «скриптомалыш» – это человек с минимальной квалификацией, но мощным ПО. Если бы лучший в мире вор мог делиться инструментом, который позволил бы обычному (среднестатистическому) воришке проникнуть к вам в дом, вы беспокоились бы о безопасности жилища куда сильнее.
В интернете потенциально опасные хакерские инструменты распространяются постоянно. Взломщик, создатель ботнета Mirai, сделал свой код доступным любому, и за неделю тот был интегрирован в десяток программ для взлома{105}. Мы называем такие программы вредоносными. Это черви[14], вирусы и руткиты[15]. Хакеры приобретают руткиты на черном рынке, берут или сдают их в аренду{106}. Известно, что европейские компании HackingTeam и Gamma Group поставляют вредоносные программные средства на рынки менее развитых государств{107}. Установлено, что за фишинговыми атаками, которые привели к взлому почтовых серверов Национального комитета Демократической партии США в 2016 г., стоял Карим Баратов, 21-летний гражданин Казахстана и Канады{108}. Вредоносный код был разработан опытным российским хакером Алексеем Беланом.
Отличие третье: компьютеры выходят из строя единовременно или не выходят из строя совсем. «Взлом класса» – термин из сферы компьютерной безопасности, обозначающий вывод из строя целого класса систем{109}. Причиной может служить уязвимость операционной системы (ОС), позволяющая хакеру взять под контроль каждый работающий на ней компьютер, или «дыра» в подключенных к интернету цифровых видеомагнитофонах и веб-камерах, которая дает злоумышленнику возможность включить эти устройства в ботнет.
От «взлома класса» в 2017 г. пострадала эстонская система национальных идентификационных карт. Из-за уязвимости в формировании криптографических ключей правительство приостановило действие около 760 000 ID-сертификатов, которые использовались в сфере госуслуг, причем некоторые типы карт имели высокую степень защиты{110}.
Риски усугубляются однообразием ПО и аппаратных средств, принадлежностью их к определенной монокультуре. Мы пользуемся одной из трех компьютерных ОС и одной из двух мобильных ОС. Больше половины людей во всем мире пользуются веб-браузером Chrome, предпочтения остальных распределяются между пятью другими. В качестве текстового редактора большинство из нас используют Microsoft Word, а в качестве табличного – Excel. Почти все мы читаем файлы в формате pdf, просматриваем их в формате jpeg или avi, прослушиваем в формате mp3. Почти все устройства в мире связываются между собой с помощью интернет-протоколов TCP/IP. И базовые компьютерные стандарты – не единственная причина формирования монокультуры. Согласно данным Министерства национальной безопасности США на 2011 г., система GPS жизненно необходима для 11 из 15 важнейших секторов инфраструктуры{111}. «Взлом класса» в этом и в других протоколах сильно повлияет как на миллионы устройств, так и на миллионы людей. Сегодня интернет вещей демонстрирует определенное разнообразие, но, если не изменятся базовые принципы экономической политики, в нем останутся пара-тройка процессоров, одна-две ОС, несколько контроллеров и столько же протоколов обмена данными.
«Взломы класса» приводят к проникновению в системы червей, вирусов и других вредоносных программ. Подумайте о принципе «одна атака – множественный урон». Мы говорим о мошенничестве с голосованием как о голосовании неавторизованных лиц, а не о желании одного-единственного человека или организации удаленно манипулировать машинами для голосования или списками избирателей. Но именно так системы и выходят из строя – хакеры взламывают машины.
Рассмотрим пример. На то, чтобы овладеть мастерством, карманнику нужно время. Каждая потенциальная жертва – это новая задача, однако каждая успешная кража не гарантирует успеха в будущем. Но когда речь идет о взломе электронного замка наподобие тех, что устанавливаются в отелях, не нужно тратить годы и нарабатывать сноровку. Достаточно выявить конструктивный дефект и создать карту-ключ, которая отомкнет любую дверь. Если взломщик опубликует хакерскую программу, то вскрыть электронный замок сможет кто угодно. Подключим сюда интернет – и злоумышленник станет открывать двери, оборудованные электронной системой запирания, удаленно. Причем все за один прием. Это «взлом класса».
В 2012 г. «взлом класса» коснулся Onity – компании по производству электронных дверных замков; они установлены в четырех миллионах гостиничных номеров таких сетевых отелей, как Marriott, Hilton и InterContinental{112}
О проекте
О подписке