Блокчейн и путешествие по новой архитектуре Интернет (часть 2)
Nuances of programmingПеревод статьи Kyle Wang: Blockchain and the Journey Toward a New Internet Architecture
Завершение статьи о проблемах безопасности современного Интернета новой архитектуре Интернета и операционных систем (первая часть статьи).
Краткая история операционных систем
Если говорить о семействе операционных систем Windows, то по-сути, существует три поколения – DOS, NT и Windows 10. Я кратко коснусь DOS и NT.
Парадигма DOS появилась в конце 70-х – начале 80-х и просуществовала около 20 лет. DOS, как самая первая операционная система, состояла из единой процессной среды, в которой все приложения работали в общем пространстве. Это означало, что если упадет одно приложение, то вслед за ним упадут и все остальные!
С 1992 года появилась Windows NT, которая стала первой мультипроцессной ОС из семейства Microsoft, в которой все запущенные приложения «живут в разных комнатах». Когда падает Microsoft Word, Internet Explorer продолжает работать! Однако эти приложения по-прежнему используют одни и те же файловые системы. При этом также были изобретены привилегии администратора системы, которые позволяли использовать возможности доступа и чтения / записи для каждого из используемых на компьютере приложений.
Хотя некоторые из наших читателей могут быть слишком молоды, чтобы помнить времена, когда еще не существовали жесткие диски. Вместо этого процессы или «задачи» выполнялись на гибких дисках. Поскольку «дискеты» изнашивались, «демоны» или фоновые процессы предварительно загружались в оперативную память, таким образом операционная система могла поспевать за простым пользовательским вводом, например, таким, как печать!
Несмотря на то, что в 90-х годах были достигнуты значительные успехи в области информационных технологий, ужасная комбинация административных привилегий и «демонов» продолжала оставаться хорошей питательной средой для всевозможных вирусов и вредоносных программ. Если вы установили вредоносную службу или драйвер, то скорее всего, он унаследует ваши административные привилегии. Подобные службы могут запускать любые процессы, в том числе и те, которые могут изменять ваш реестр, использовать ваш интернет-трафик и угрожать зашифровать все ваши файлы, если вы не заплатите выкуп в биткойнах!
Проблема серверов сторонних имен
Тот факт, что мы работаем с помощью «демонов», по существу являющихся морально и физическим устаревшими, связанно в том числе и с неразрешимыми проблемами, лежащими в основе современного интернет-протокола.
Существует три компонента коммуникации в современном Интернете:
(1) Клиент: аппаратное или программное обеспечение, стремящееся получить доступ к службе, предоставляемой сервером. Поскольку сервер обычно находится на другом компьютере, клиент должен получить к нему доступ через сеть.
(2) Сервер: машина или программа, которая отвечает на запрос клиента и отправляет ему запрошенный контент.
(3) Сервер имен: специализированный сервер, который обрабатывает ваш запрос и сообщает местоположение вашего сервера. Вы можете представлять себе это как телефонного оператора или телефонную книгу. Ловушка здесь заключается в том, что он сверяется с данными, загруженными «демоном» в вашей ОС.
Поэтому, когда вы вводите URL-адрес в адресной строке вашего браузера, вы как клиент, запрашиваете сервер имен, который назначает вам сервер, предоставляющий вам запрошенный контент.
К сожалению, поскольку процесс клиент-DNS-сервера был разработан для удобства использования, а не для целей поддержания безопасности, существует целый ряд атак, которые используют его уязвимости. Хуже всего то, что производители операционной системы бессильны, когда речь заходит о вредоносных процессах и сторонних серверах. Производители не могут контролировать ни то, что пользователи решают установить на свои машины, ни поведение программ, злонамеренное оно или нет, созданных третьими лицами. Их усилия сводятся к созданию патчей и инструментов для удаления существующих и известных вредоносных программ, которые к этому моменту, как правило, уже могли успеть причинить урон.
В целом, эти нежелательные элементы становятся жертвами современной архитектуры интернета, которая позволяет неизвестным внешним объектам получать доступ и изменять вашу операционную систему и получать власть над несчастными пользователями.
Пришло время забрать у приложений возможность тотального контроля
Учитывая все эти проблемы, связанные с протоколом TCP/IP, фоновыми процессами и административными привилегиями сторонних программ, наступила необходимость внедрения сквозного решения уже не представляется достаточной мерой. Мы должны полностью отказаться от процессов и создать среду, в которой приложениям запрещено влиять на операционную систему.
В качестве иллюстрации рассмотрим два сценария работы видеокамеры в вашем доме. В сегодняшнем традиционном Интернете маршрутизаторы действуют как брандмауэры, которые препятствуют проникновению внешних данных в ваш дом. Однако, как одностороннее зеркало, ваш маршрутизатор ничего не знает о выходном трафике.
Таким образом, ваша видеокамера ведет непрерывную трансляцию, и некто, подозрительный, сидящий в фургоне перед вашим домом, вполне может перехватить эти пакеты и узнать ваши самые тайные секреты, например, что вы наливаете в тарелку молоко до того как засыпать туда мюсли.
Для нового Интернета, который должен отвечать требованиям безопасности для транзакций IoT и P2P-устройствам, таким как видеокамеры и датчики, должна быть вообще запрещена передача данных. Вместо этого данные должны быть доступны только по требованию. Только приложение на вашем телефоне, подключенное к защищенной распределенной базе банных UUID этой камеры, должно иметь возможность извлекать данные из этого канала.
Теперь давайте расширим его до промышленного IoT. Недавно у меня была возможность поговорить с Ронгом Ченом, выдающимся архитектором ОС, который работал с Microsoft в 90-х годах, разрабатывая ActiveX, IE и NT. Он поделился со мной некоторыми проблемами, с которыми он столкнулся, консультируясь с представителями китайского правительства по проблемам безопасности национальной энергетической сети. Их государственная сеть должна получать и обрабатывать данные от миллионов сенсорных устройств. Однако они быстро поняли, что при современном устройстве интернет-протокола, такая сеть в принципе не может быть безопасной.
Учитывая тот факт, что каждое из «умных» устройств будет постоянно отсылать данные и управляться фоновыми процессами, государственная сеть должна будет принять на веру тот факт, что производители не поскупились на создание надежной системы шифрования данных или не внедрили вредоносный код в любое из подобных устройств. Поскольку проверка каждого устройства для такой огромной сети невозможна, невозможно и гарантировать, что зарубежные устройства не будут следить за данными или хуже, не внесут какой-то вредоносный скрытый вирус, который не активируется и не испортит сеть через 10 – 20 лет! Подобная проблема является огромным препятствием для любого промышленного внедрения IoT.
Итак, как внедрять IoT в промышленном масштабе? До тех пор, пока в игре принимают участие драйверы сторонних устройств, фоновые процессы и т.п., можем ли мы быть уверенными, что наш беспилотный автомобиль не похитит нас?
Для предприятий и правительств это означает внедрение сквозного контроля. Для общего и общедоступного Интернета, который выходит далеко за рамки только IoT, это намного сложнее.
Промышленное решение для IoT
Для предприятия самое простое решение на самом деле является централизованным – полное сквозное управление трафиком сети полностью устраняет риск действия вредоносных процессов, драйверов устройств и всего прочего потенциального «зла».
Когда дело касается промышленных масштабов, Microsoft действительно находится в невероятно выгодной позиции, чтобы полностью доминировать на рынке промышленного IoT. Хотя это может показаться невероятным, но Windows 10 на самом деле является самой передовой операционной системой! На самом деле многие из рассмотренных ранее концепций (отказ от фоновых процессов, устранение сторонних имен серверов) на самом деле уже реализованы и работают в Windows 10!
Чтобы окончательно вас удивить, могу сказать, что Windows 10 фактически является последней операционной системой, которую создала Microsoft.
Да, не будет больше Windows 11 или Windows 12! Причина в том, что это совершенно новая парадигма операционной системы глобальных вычислений, когда вычисления происходят в любое время и в любом месте. Windows 10 фактически была построена с учетом этого IoT-допущения и такое внимание на экосистеме фактически не дает компании возможность предложить новую версию операционной системы.
Причина довольно интересная - в прошлом, если вы обновляли свою операционную систему, производители оборудования также должны были обновить свои драйверы. Если вам когда-либо приходилось подключать мышь или обновлять драйверы монитора, когда вы покупали новый компьютер, вы должны понимать, что я имею в виду. К сожалению, в экосистеме IoT практически невозможно, чтобы тысячи производителей смогли обновить драйверы на миллионах устройств IoT! Таким образом, изменения должны передаваться через Windows 10, поскольку она уже является частью экосистемы, а не отдельной, изолированной ОС.
Но подождите – вы все равно можете нажать CTRL + ALT + DEL в Windows 10 и увидеть все фоновые процессы, не так ли?
Позвольте мне представить вам Upside Down, скрытую область, которой никто еще не пользуется.
Я уверен, что большинство из нас не задумываясь перешли к этому интерфейсу. На самом деле, большинство из нас использует Windows 10 в устаревшем режиме; вы можете получить доступ ко всем своим любимым приложениям из этого альтернативного интерфейса, который не использует фоновые процессы. В этом и заключаются различия между установкой Skype для Windows и Skype для рабочего стола. Короче говоря, технология уже пришла!
Благодаря своей прочной технологической связке с Windows 10 (которая также продвигается несколькими другими способами, выходящими за рамки этой статьи), Microsoft может просто взять на себя всю глобальную сеть и полностью устранить необходимость в серверах имен, обеспечив беспрецедентный уровень информационной безопасности.
Хотя я уверен, что каждый из нас не хотел бы, чтобы наш общий интернет принадлежал только Microsoft, но такой подход абсолютно идеален для уровня предприятия, поскольку (1) у вас есть сквозное безопасное решение, где все в сети, что может общаться, проверяется самой Microsoft и (2) у вас есть кто-то, кто может предъявить иск, если что-то пойдет не так. Я был бы очень удивлен, если бы узнал, что команды Microsoft Windows 10 и блокчейн до сих пор не рассматривали такие возможности.
Однако ничто не мешает национальным правительствам двигаться в этом направлении. Популярное приложение для обмена сообщениями WeChat, которое имеет тесные связи с китайским правительством, уже создало подобную экономическое окружение. Ссылки, доступные через WeChat, открываются через собственный браузер, и у пользователей отсутствует возможность скачать нечто вредоносное, что могло бы нарушить обслуживание или возможность совершать платежи. Конечно, компромиссным вариантом является цензура и протоколы перехвата, которые, как известно, пользуются дурной славой.
Однако я лично столкнулся с этой реальностью, когда мой друг попытался отправить группу WeChat в jpeg-изображение телефона с китайским номером. На изображении с иронией показано использование китайским правительством технических компаний, которые шпионят за собственными гражданами. Сообщение мгновенно появилось на моем телефоне с американским номером, но, к моему великому удивлению, больше никто с китайским номером телефона в этой же группе не получил изображение и не получил уведомлений о том, что сообщение было заблокировано! Просто жуть берет.
С помощью централизованного сервиса WeChat управление идентификацией осуществляется с помощью телефонных номеров, связанных с учетными записями. Если Tencent примет решение (что и случилось с моими друзьями!), то сможет в любой момент вас забанить!
Таким образом, подобный централизованный корпоративный/правительственный Интернет является одним из способов внедрения интернет-безопасности за счет конфиденциальности и конкуренции. Для общей сети необходимо разработать децентрализованное приложение WeChat, в котором платежи, обмен файлами P2P и общая связь могут происходить без внешнего отслеживания третьей стороной или контроля над идентификационными данными. Для этого нам и нужен блокчейн.
Центральная роль блокчейна в идентификации для новой паутины
Если мы сможем помещать на карантин уровень приложений для изоляции от глобальной сети или от влияния интернета, следующим вопросом становится способ установления идентичности. У предприятий и правительств таких проблем нет, поскольку они просто назначают идентификаторы, но для нового, публичного и децентрализованного Интернета такая роскошь не приемлема.
Сегодня именованные устройства совершенно бессмысленны, как без особых усилий эти маленькие участники процессов в глобальной сети могут обманывать сотни тысяч IP-адресов и распространять поддельные маршрутизаторы и устройства. Тем не менее, технология блокчейн чрезвычайно полезна при создании и сопровождении постоянной идентификации.
Проблема борьбы с новым Интернетом, в котором допускается непрерывная идентификация для обеспечения устойчивых транзакций без необходимости использования сотен паролей и приложений для аутентификации, не является тривиальной, но и оставлять все как есть также не допустимо.
Уолтер Исааксон, биограф Стива Джобса, указывает, что современная архитектура Интернета «закрепила потенциал анонимности ... В течение многих лет преимущества анонимности в Сети перевешивали его недостатки ... Теперь проблема заключается в том, что никто не сможет досказать, что ты тролль. Или хакер. Или бот ... Это позволило управлять общественным мнением, взламывать, разрушать, заниматься киберзапугиванием и подвергать опасности электронную почту. Присущая Интернету слабая защищенность позволила российским актерам сорвать наш демократический процесс».
Конечное сквозное решение для возврата к децентрализованному интернету потребует наличия одноранговых элементов и децентрализованных облачных серверов, использующие принципы P2P, созданные eDonkey Джеда МакКалеба, и таких проектов, как Urbit, ориентируясь на сеть персональных серверов и Blockstack, которые позволяют пользователям хранить данные локально на своем устройстве и использовать блокчейн для проверки и аутентификации прав собственности на нее.
На сегодняшний день наиболее широким и комплексным решением, на мой взгляд, является проект Elongos Ронга Чена, который в своем развитии уже достиг более 10 миллионов строк кода при разработке виртуальной машины для разделения основных сетевых коммуникаций от активности на уровне приложений.
Таким образом, эти критические свойства безопасности и защита от вредоносных процессов, вирусов и вредоносных программ применяются в качестве основных элементов системы, снимая бремя с разработчиков при анализе недостатков каждой из создаваемых ими строк кода. Я надеюсь, что open-source-сообщество примет концепцию этого проекта, направленного на создание новой сетевой среды, в которой транзакции и коммуникации cмогут происходить безопасно и последовательно. Другими словами, создать такое место, в котором моя бабушка не смогла бы случайно загрузить вирус-вымогатель на мою машину, независимо от того, сколько всплывающих окон сообщит ей, что она только что выиграла приз в лотерее!
Цели & Возможности
В январе 2010 года инспекторы на иранском заводе по обогащению урана заметили, что центрифуги не срабатывали оперативно. Никто, даже технические специалисты завода, не могли понять в чем кроются причины. Почти полгода спустя охранная фирма, направленна для диагностики иранских компьютеров, которые продолжали рушиться и перезагружаться, также не с могла определить причин.
Только после серьезных исследований специалисты по информационным технологиям смогли извлечь набор файлов, содержащих Stuxnet, известный как «первое цифровое оружие» в мире, или «цифровой снаряд».
Впервые компьютерный вирус появился из цифровой вселенной, чтобы влиять на физический мир! Оказалось, что Stuxnet уже более года саботирует центрифуги электростанции, умело регулируя давление в клапанах, чтобы повредить устройства и в конечном счете, уничтожить их.
Этот вирус был создан для атаки с хирургической точностью; фактически, он был обнаружен только после того, как смог нарисовать «схему электрооборудования» электростанции, чтобы понять, как компьютеры Ирана контролируют центрифуги. Этот сложный червь был установлен с помощью простого флэш-накопителя двойным агентом.
Эта история может звучать как нечто выдуманной, как сценарий художественного фильма, однако все это реальность. В обществе возникло несколько групп, также распространено множество теорий о том, что ведутся разработки ужасающего, передового и очень заразного оружия для разрушения ядерной программы Ирана. При этом нынешнее состояние Интернета и тот факт, что подобные атаки возможны, все-таки есть ни что иное, как запугивание.
Хотя можно еще многое рассказать о способности совершать транзакции при текущем техническом устройстве Интернета, я полагаю, что нам нужна прозрачная альтернатива, такая как Elastos для IoT-устройств и для безопасных транзакций, то есть целостное сквозное решение, использующее уникальные свойства блокчейн с непрерывной идентификацией. Другими словами, нам нужна услуга, прямо противоположная Tor, и блокчейн способен решить эту задачу без вмешательства или контроля со стороны третьих лиц.
Тем не менее, называть блокчейн следующим поколением Интернета пока еще является слишком грубым упрощением; просто увеличить пропускную способность транзакций и создать децентрализованные приложения недостаточно. Нам необходимо обновить базовую архитектуру интернет-протокола.
Нам очень везло до сих пор – есть известное высказывание, что, когда дело доходит до Интернета, то те, у кого есть намерение, не имеют возможностей его реализовать, а у тех, у кого есть возможности – не имеют намерений.
Пора представить новое поколение Интернета до того, как мы снова столкнемся с вредоносным кодом или устройством, или с обеими вариантами одновременно.
Статью перевел Владислав Семёнов.