Программное и аппаратное обеспечение

Из трех факторов, которые делают кибервойну возможной, самым важным, пожалуй, являются ошибки в программном и аппаратном обеспечении. Все устройства, которые мы с вами обсуждали (терминалы ЭВМ и ноутбуки, маршрутизаторы и коммутаторы, почтовые и веб-серверы) производятся разными компаниями. Нередко программное обеспечение, управляющее работой устройств, делают сразу несколько компаний. На американском рынке большая часть ноутбуков производится Dell, HP и Apple (их догоняет китайская компания Lenovo, купившая подразделение IBM, занимавшееся производством переносных ЭВМ). Большие маршрутизаторы выпускаются в основном компаниями Cisco и Juniper, а теперь еще и китайской Huawei. Серверы производят HP, Dell, IBM и немало других производителей, в зависимости от их назначения. Программное обеспечение создают Microsoft, Oracle, IBM и Apple и целый ряд других компаний. Хотя эти корпорации американские, компьютеры (и программный код) производятся в разных местах.

В книге World Is Flat («Плоский мир») Томас Фридман описывает процесс получения ноутбука Dell Inspiron 600m начиная с телефонного заказа, который связал его с представителем службы по работе с покупателями в Индии, и заканчивая его доставкой к дверям его дома в Мэриленде. Компьютер был создан на фабрике в Пинанге (Малайзия). Он — результат сотрудничества группы инженеров Dell, находящихся в Остине, и конструкторов из Тайваня. Аппаратная часть была выполнена конструкторами из тайваньской команды. Остальные 30 ключевых компонентов Dell приобрел у других поставщиков. Процессор Intel мог быть сделан на Филиппинах, в Коста-Рике, Малайзии или Китае. Памятью занималась корейская компания Samsung или другие менее известные компании из Германии или Японии. Видеокарта прибыла с одной из двух фабрик в Китае. Материнская плата хоть и спроектирована на Тайване, вероятно, была сделана на одном заводов в континентальном Китае. Клавиатура поступила с одной из китайских фабрик, две из которых принадлежат тайваньским компаниям. Плата беспроводной связи произведена либо американской компанией в Китае, либо китайской компанией в Малайзии или на Тайване. Жесткий диск мог быть выпущен американской компанией Seagate в Сингапуре, Hitachi или Fujitsu в Тайланде либо Toshiba на Филиппинах.

Все это было собрано на фабрике в Малайзии, а на жесткий диск записан образ операционной системы Windows ХР (и, возможно, Windows Office). Программный код этой системы, насчитывающий более 40 миллионов строк, писался как минимум в десяти разных местах мира. После того как на компьютер установили программное обеспечение, его запаковали и поместили ящик со 150 такими же ноутбуками и отправили на «боинге-747» в Нашвилл. Отсюда ноутбук забрала служба доставки посылок и отправила его Фридману. В общей сложности, гордо сообщает Фридман, «в цепочку поставки моего компьютера, включая поставщиков, вошло около 400 компаний в Северной Америке, Европе и главным образом Азии».

Почему Фридман уделяет целых шесть страниц своей книги геополитическим аспектам? Потому что он верит, что цепочка поставок, объединившая разрозненные комплектующие в один компьютер, связывает страны, ставшие частью этого процесса, следовательно, межгосударственные конфликты в форме, характерной для XX столетия, в XXI веке менее вероятны. Так Фридман модернизирует свою «Теорию золотых арок» из предыдущей книги, согласно которой две страны, в которых есть McDonald’s, никогда не станут воевать друг с другом. Цепочка поставок — это микроэкономический пример коммерческой деятельности, которая, как верят многие теоретики международных отношений, так выгодна для стран, что даже война не будет стоить потенциальных экономических потерь. Фридман рассматривает предотвращенный кризис 2004 года, когда тайваньские политики, твердившие об автономии, потерпели поражение на выборах. В рекламном стиле Фридман заявил, что «материнская плата подкупила Родину-мать», и пришел к выводу: статус-кво экономических отношений оказался для тайваньских избирателей фактором куда более важным, чем независимость. Или, возможно, тайваньские избиратели просто не хотели погибнуть в результате китайской оккупации, которой, по сути, и грозил Китай в случае объявления Тайванем независимости. Цепочки поставок для производства компьютеров, которые, по мнению Фридмана, снижают вероятность военных конфликтов, могут увеличить вероятность кибервойны или, по крайней мере, вероятность того, что китайцы победят при любом столкновении. На каждом этапе цепочки поставок, благодаря которой на свет появился компьютер Фридмана (или ваш компьютер, или Apple MacBook Pro, на котором я пишу эту книгу), возникают уязвимые места, как правило, случайно, но, наверное, отчасти и намеренно. Они и могут послужить как мишенью, так и оружием кибервойны.

Программное обеспечение является посредником между человеком и компьютером и переводит человеческое намерение посмотреть фильм в режиме онлайн или почитать блог на язык, понятный машине. Компьютеры— это просто эволюционировавшие калькуляторы. На заре развития вычислительной техники ученые осознали, что электрические импульсы можно использовать для представления единиц, а отсутствие импульса — нулей, как точки и тире в азбуке Морзе. Десятичную систему счисления, которую используют люди, потому что у нас десять пальцев, легко перевести в двоичный код так, чтобы при нажатии на электронном калькуляторе кнопки «5» посылалась цепочка импульсов — 101 — пятерка в двоичной системе счисления. Простое электронное сообщение преобразовывается в электрические импульсы, которые передаются по медным проводам и оптоволоконным кабелям, а затем преобразуются в читабельные для нас сообщения. Для того чтобы это происходило, кто-то должен создать инструкции, понятные компьютеру. Эти инструкции пишутся на языках программирования как компьютерный код, а люди, которые пишут код, как правило, делают ошибки.

Очевидные ошибки исправляются, иначе программа не функционирует так, как нужно, но менее явные остаются и могут быть позднее использованы для получения доступа к коду. Поскольку вычислительные системы работают быстрее, компьютерные программы становятся сложнее, чтобы использовать все возможности новых скоростей и мощности. В Windows 95 было менее 10 миллионов строк кода, в Windows ХР их уже 40 миллионов, а в Windows Vista — более 50. За десять с небольшим лет количество строк увеличилось в пять раз, и во столько же возросло количество ошибок. Многие из этих ошибок позволяют хакерам заставлять программу делать то, для чего она не предназначалась. Для того чтобы использовать популярное программное обеспечение в собственных целях, например получить статус администратора, хакеры разрабатывают небольшие приложения — апплеты, которые учитывают особенности программного обеспечения, слабые места и ошибки конфигурации системы. Поскольку компьютерная преступность — это большой бизнес, подготовка к отражению кибератак финансируется столь же хорошо, а хакеры и кибервоины постоянно разрабатывают новые способы обмануть системы. Приложения, создаваемые хакерами, называются вредоносным ПО, или мэлвером. В 2009 году новая разновидность мэлвера появлялась в киберпространстве в среднем каждые 2,2 секунды. Посчитайте: три-четыре крупнейшие компании по производству антивирусных программ пользуются сложнейшими схемами отслеживания нового мэлвера, но они находят и блокируют только одну из десяти вредоносных программ. Пока «фикс» — компонент программного обеспечения, блокирующий мэлвер, — доходит до клиентов антивирусной компании, проходят дни, а иногда недели. На протяжении этого времени коммерческие компании, правительственные учреждения и рядовые пользователи остаются беззащитными.

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

Самая распространенная ошибка — переполнение буфера. Код веб-страницы должен быть написан так, чтобы пользователь имел возможность ввести фиксированный объем данных, например имя пользователя и пароль. Вспомните Twitter, где вы за раз можете ввести не более 140 символов. Но если разработчик кода забывает ограничить количество символов, пользователь может ввести что-нибудь лишнее. И вместо имени пользователя и пароля там окажутся несколько строк кода, дающих вам права администратора. Представьте, как эти команды оказываются в полях ввода персональных данных пользователя и превращаются в приложение. Ваша страничка начинает думать, что это вошел системный администратор, и — пинг! — нарушитель внутри.

Ошибки программного кода непросто обнаружить. Даже специалистам бывает сложно идентифицировать ошибки или слабые места в нескольких строках кода. А если речь идет о миллионах строк? Конечно, существуют программы, проверяющие корректность написанного кода, но и им не под силу выловить все ошибки. Каждая новая строка кода увеличивает количество багов программы. В некоторых случаях программисты добавляют эти баги намеренно. Самый знаменитый пример такой «добавки» произошел, когда шутник из Microsoft добавил в Excel 97 программу-симулятор полетов. В Microsoft об этом узнали лишь тогда, когда люди стали благодарить компанию за такой подарок. Возможно, программисты сделали это ради развлечения, выгоды или по просьбе службы внешней разведки; но какими бы ни были мотивы, невозможно гарантировать то, что в массовых программах не найдется пары строк кода, которые дадут кому-нибудь возможность несанкционированного доступа. В троянском коне прятались «коммандос», в современных «троянах» прячутся команды вредоносного кода. При открытии нового документа в Excel можно было нажать F5, ввести в строку «X97:L97», нажать клавишу Enter, а затем Tab. И, о чудо, вы оказывались в ячейке М97. Достаточно было вызвать «Мастер диаграмм», удерживая кнопки CTRL+SHIFT, и — пинг! — на экране появлялась программа-симулятор полетов.

Иногда разработчики кода специально оставляют «черные ходы», чтобы иметь возможность обновить код в дальнейшем. Но иногда они делают это по менее достойным причинам. Порой другие люди — хакеры и кибервоины — используют их для того, чтобы незаметно проникнуть в сеть. Когда кто-нибудь взламывает программный продукт (в процессе его разработки или позднее), он может не только украсть копию программы, но и добавить в нее что-нибудь лишнее. Умышленно оставленные «черные ходы», так же как и те, что появляются в результате ошибок, позволяют хакеру получить неограниченный доступ. Хакеры продают и покупают друг у друга «права доступа». Если у вас есть права неограниченного доступа к программе или сети, вы получаете все права и полномочия создателя программы или администратора сети. Вы можете изменять программу, добавлять учетные записи пользователей — делать все что угодно. И, что важно, вы можете уничтожить все следы вашего пребывания здесь, как вор, стирающий отпечатки пальцев и сметающий следы ног.

Разработчики кода могут оставлять не только «черный ход», но и логические бомбы. Логическая бомба в своей самой простой форме — это устройство, которое уничтожает программное обеспечение компьютера, превращая его в бесполезную груду металла. Более совершенные логические бомбы могут сначала дать команду аппаратным средствам сделать что-нибудь во вред себе, например вызвать скачок напряжения в электрической сети или заставить самолет уйти в пике. Затем стирается все, включая саму бомбу. АНБ все больше беспокоит проблема логических бомб, поскольку они, скорее всего, уже заложены по всей нашей электрораспределительной сети. В этом есть определенная ирония, ведь именно американские военные изобрели такую форму оружия. Одна из первых логических бомб, которая, возможно, и стала предвестником кибервойны, была создана еще до эпохи массового распространения Интернета. В начале 1980-х советское руководство составило для своей разведывательной службы КГБ список западных технологий, которые нужно было выкрасть. Один агент КГБ, у которого был доступ к этому списку, решил, что предпочтет провести остаток дней, потягивая вино в парижском кафе, а не замерзая в Сибири, и поэтому передал этот список французской разведке в обмен на французское гражданство. Франция же, будучи участником Западного альянса, передала его США. КГБ, не зная о том, что у западной разведки есть этот список, продолжал работать. Когда Франция передала список ЦРУ, президент Рейган дал добро на «помощь» Советскому Союзу. ЦРУ начало специальную программу, позволившую Советскому Союзу выкрасть необходимые технологии, но предварительно добавила незначительные ошибки в схемы истребителей-невидимок и космического вооружения. Но не чертежи были основной целью КГБ. Прежде всего России были нужны коммерческие и промышленные технологии, в частности для нефтяной и газовой промышленности. Нефть и газ должны пройти по трубопроводам тысячи километров, чтобы попасть к западным или российским покупателям. В России ощущался острый недостаток технологий автоматизированного управления трубопроводами. Советский Союз пытался купить их у американских компаний, но получил отказ, в связи с чем решено было выкрасть их у канадской фирмы. ЦРУ внедрило вредоносный код в программное обеспечение этой компании, и, когда русские украли код и стали использовать его для управления своими трубопроводами, все поначалу шло отлично. Но какое-то время спустя программа начала ошибаться. В одном сегменте трубопровода программа заставила насос работать на полную мощность, а в другом — закрыла клапан. Давление увеличилось, и произошел самый крупный неядерный взрыв за всю историю — более трех килотонн.

Если холодная война с Россией разгорится снова или если нам придется воевать с Китаем, превосходство окажется на стороне наших противников. Передовой арсенал, которым обладают Соединенные Штаты, может обернуться против нас самих. Наши военно-воздушные, сухопутные и военно-морские силы зависят от сетевых технологий и уязвимы перед кибероружием, которое разработали Китай и другие противники, чтобы уничтожить традиционное американское превосходство. Вооруженные силы США не способны обойтись без Интернета, как не способен обойтись без него крупнейший интернет-магазин Amazon.com. Материально-техническое обеспечение, управление и контроль, вывод флота на позиции, наведение орудий на цели—все базируется на программном обеспечении и прочих связанных с Интернетом технологиях. И все это так же не защищено, как ваш домашний компьютер, поскольку использует те же несовершенные технологии и то же небезопасное программное и аппаратное обеспечение.

С ростом аутсорсинга увеличивается количество иностранных соисполнителей из Индии и Китая, что, как говорит Фридман, лишь повышает вероятность того, что наши столь же сильные соперники уже сумели проникнуть в главные компании по выпуску программного обеспечения и внедрили свои коды в программы, которым мы привыкли доверять. Эксперты в области вычислительной техники давно уже считают, что коды двух самых распространенных операционных систем написаны хуже всего и не отлажены. Это операционные системы Microsoft Windows, предназначенные для компьютеров и ноутбуков, и Cisco — для маршрутизаторов. Обе системы проприетарны, что означает, что они не находятся в свободном доступе. Вы можете купить программное обеспечение как конечный продукт, но вы не имеете доступа к исходному коду. Было несколько случаев, когда защита Microsoft не помогла похитить исходный код, что позволило хакерам исследовать программные ошибки и найти способы использовать их.

Как я упоминал во второй главе, Китай в конечном итоге принудил Microsoft к сотрудничеству. Китайское правительство объявило, что вместо использования Microsoft будет разрабатывать собственную систему Red Flag на основе Linux. Вскоре после этого Microsoft начала переговоры с официальным Пекином на высочайшем уровне, а консультантом выступил Генри Киссинджер. Microsoft снизила цену, предоставил китайцам свой закрытый код, и открыла научно-исследовательскую лабораторию в Пекине (которая напрямую связана со штаб-квартирой Microsoft). Сделка состоялась, президент Китая посетил затем Билла Гейтса в его доме близ Сиэтла. Китайское правительство теперь пользуется программами Microsoft, но только с добавлением специального модуля шифрования, подготовленного китайской стороной. Один бывший офицер американской разведки сказал нам: «Наверное, это значит, что никто не сможет легко взломать Windows, чтобы заняться шпионажем в Китае. Но это определенно не значит, что Китай не сумеет взломать Windows, чтобы пошпионить за остальными».

То, что можно сделать с миллионами строк кода, можно сделать и с миллионами микросхем внутри компьютеров, маршрутизаторов, серверов. Чипы — это кремниевые внутренности компьютера. Их можно модифицировать, так же как компьютерные программы. Большинство специалистов не смогут, посмотрев на микросхему, определить, есть ли в ней лишние элементы или «черные ходы». Компьютерные микросхемы изначально выпускались в США, но сейчас в основном производятся в Азии. У американского правительства когда-то было собственное производство чипов, однако этот завод не поспевает за развитием технологий и не может выпускать микросхемы, необходимые для современных систем.

Недавно второй крупнейший в мире производитель микросхем, AMD, объявил о намерении построить самый передовой завод по производству микропроцессоров в северной части штата Нью-Йорк. Отчасти он будет финансироваться правительством, но не американским—в AMD вкладывают средства Объединенные Арабские Эмираты.

Дело не в том, что американское правительство не видит проблем, что программное и аппаратное обеспечение производится по всему миру. На самом деле в последний год своего президентства Джордж Буш-младший подписал PDD-54 — секретный документ, где намечены шаги, которые необходимо предпринять для лучшей защиты от кибернападения. Одной из таких программ должна стать «безопасная цепочка поставок», но американскому правительству будет трудно покупать программное обеспечение и аппаратные средства исключительно в США.

Наши рекомендации