Pull to refresh

Программы, данные и их хозяева (продолжение)

AflexDistribution corporate blog
Если вы разбираетесь в кибернетике, то знаете о свойстве, присущем любым системам. Совокупность систем, влияющих друг на друга, автоматически становится новой системой.

В прошлый раз мы рассказали об изобретении, которое сделали в 1944 году Мокли, Экерт и их команда. Они придумали компьютер, программа которого может менять саму себя. Это свойство сохранилось в архитектуре современных компьютеров, составляющих Интернет. Теперь — внимание: весь Интернет в целом тоже унаследовал это свойство! Это автопрограммируемая система. Исполняемый код, находящийся в одной части ее огромной памяти, умеет менять код в другой части, вызывая дальнейшие лавинные изменения кода.

Оперативная память в 1940-е годы стоила дорого, и ее было мало. А типичным пользователем был инженер-программист мирового уровня. Разработанная тогда архитектура была оптимальна именно для такого сочетания: небольшой объем памяти машины и высокий профессионализм ее пользователя.

С тех пор память сильно подешевела и ее стало много. Разработчики явно не рассчитывали свою архитектуру на такой масштаб! По ценам 1940-х объем памяти сегодняшнего Интернета обошелся бы в ужасную сумму — это была бы стопка стодолларовых банкнот толщиной (точнее, длиной) около 100 астрономических единиц. На таком расстоянии от Земли сейчас находятся «Вояджеры», недавно покинувшие Солнечную систему.

Если бы Мокли, Экерт, Нейман и другие знали, что проектируют архитектуру для всемирной сети, они наверняка выбрали бы другое решение, понимая, что в автопрограммируемой архитектуре удержать под контролем квинтиллион байт памяти будет невозможно.

Для справки: в 1940-е круг технологий создания ОЗУ включал: а) линии акустической задержки из ртути; б) запоминающие электронно-лучевые трубки; в) дискретные конденсаторы; г) триггеры из радиоламп д) механические реле. Ферритовая технология появилась позднее. Нейман, Баркс и Голдстайн в 1946-м надеялись получить 4096 40-битных слов с помощью 40 электронно-лучевых трубок. Представьте размеры, энергопотребление и сложность конструкции! В британском компьютере EDSAC 1949 года на ртутных трубках сумели сделать только 1024 17-битных слова.
Кстати, в Британии планируют в ближайшие годы воссоздать EDSAC (с единственным отличием: ртуть заменят на более безопасный материал): как-никак, это первый в мире настоящий «stored program computer».


Итак, памяти в наши дни стало намного больше, зато квалификации у типичного пользователя — намного меньше. Сложите вместе оба фактора и прибавьте третий: у компьютера больше нет хозяина. Хозяев — миллиард.

Сеть — это компьютер


Да-да, все верно: Интернет — это один большой «stored program computer». Множество вычислительных блоков, объединенных в общую сеть и имеющих практически неограниченные возможности для влияния друг на друга, стали единой системой. На этом — общем! — компьютере вы сейчас работаете. Ваш системный блок — лишь малая его часть. И немало программистов высокой квалификации (условно назовем их «хакеры») регулярно прилагают усилия, чтобы перепрограммировать ваш системный блок — изменить содержимое его памяти и, следовательно, алгоритмы его работы. Кстати, не исключено, что опасное перепрограммирование вы когда-нибудь инициируете своими руками, думая, что выполняете какое-то другое, безобидное действие. И не исключено, что в свое время вы уже это сделали.

Механизм взаимодействия между отдельными системными блоками и отдельными потоками кода в столь большой системе крайне сложен. Среди причин взаимодействия — миллионы ошибок программистов, разнесенные по квинтиллиону байт памяти гиперкомпьютера. Как мы уже говорили ранее, еще никто не научился писать программы без ошибок — во всяком случае, коммерческие. Считается, что это невозможно. Но, разумеется, кроме ошибок, есть и множество других причин взаимодействия и взаимовлияния элементов сети, делающих ее единым целым. Хороший пример — некоторые люди добровольно устанавливают на свои компьютеры модуль WebGL, о котором на «Хабрахабре» уже писали. Каждый модуль такого рода — это дополнительное резкое расширение возможностей для взаимодействия. Конечно же, создание подобных программ для более строгой аппаратной архитектуры было бы невозможным.

Именно в результате заложенного в нынешнюю архитектуру взаимодействия исполняемый код в одной части гиперкомпьютера (например, в Китае) вполне способен изменить код в другой части (например, в США). Каждый из миллиарда хозяев систематически программирует огромную общую машину — исключительно в своих интересах и в меру своего разумения; как правило, не понимая при этом сути своих действий. Лишь немногие люди способны понять, что их щелчок мышью часто имеет следствием перепрограммирование Интернета.

Типичный пример с участием типичного пользователя. С его точки зрения и в его терминах, он «скачал игрушку», «нажал на кнопочку», «загрузил обновление», «нашел ключик» или «зарегистрировался на сайте». В действительности, запущенный им в этот момент вирус за секунды сформировал ботнет в локальной сети его организации. Это значит, что содержимое исполняемой памяти гигантской всепланетной машины изменилось, причем сложнейшим образом. Изменение содержимого исполняемой памяти — это перепрограммирование.

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

Не кладите все яйца в одну корзину: подключите к Интернету лишь малую часть вашей компьютерной инфраструктуры. Норма для небольшой компании с одним офисом — не более 1/3 системных блоков. Подключение всех компьютеров к одной сети очень нежелательно. Сеть сразу заберет их к себе, в свою логическую схему; сделает винтиками, которые должны будут всегда подчиняться ее законам по мере их изменения.

Никогда не забывайте: сеть — это компьютер.

Этот тезис, сформулированный более четверти века назад специалистами высочайшего класса из Sun, считается в мире информационных технологий общепринятым и не подвергается сомнению.

Технология «ББ»


Когда люди начали объединять компьютеры в сети, сначала казалось, что права собственности от этого не изменятся: у каждого компьютера должен был остаться свой хозяин. Но сеть вдруг стала единой машиной, и права отдельных хозяев на свои участки памяти в этой среде потеряли смысл. Участки более не были огорожены, и программы из одних участков постепенно начали влиять на другие. Нечто подобное происходит в многоквартирном доме, где каждый формально является собственником своей части: когда дело доходит до общих проблем фундамента, выясняется, что решать их некому. Никто не хочет договариваться с остальными и пускать их в свою квартиру. Никто не хочет нести расходы. Но представьте: при этом 50 миллионов человек все равно ходят всюду, где хотят! И делают в чужих квартирах все, что считают нужным :) Именно так хакеры действуют в десятках миллионов зараженных ими компьютеров, номинальные владельцы которых оплошали с антивирусной защитой и не осознают изменения прав собственности, автоматически случившегося после подключения к Сети.

Поскольку у гиперкомпьютера нет хозяина, перед людьми появляется неприятная перспектива. Отсутствие хозяина у любого ценного объекта обычно бывает весьма опасным. Это известно как знатокам кибернетики, так и знатокам истории. Отсутствие хозяина опасно тем, что он может появиться.

Фон-неймановская автопрограммируемость не мешала и не могла мешать до начала 1980-х, пока у каждого компьютера был свой хозяин — госорганизация, университет, компания, руководитель проекта, программист. Хозяин принимал решения о том, что должно быть в памяти, а чего там быть не должно (строго говоря, именно поэтому до сих пор — с 1977 года — отлично работают компьютеры «Вояджеров»). Если у вычислительной системы есть хозяин, автопрограммируемость перестает быть проблемой — во всяком случае, с его точки зрения. Это утверждает теория, и это подтверждает практика. Чтобы автопрограммируемая система работала надежно, хозяин необходим. Таково ее неотъемлемое свойство.

Что лучше — снижать уровень автопрограммируемости или бездействовать, рискуя дождаться Хозяина?

Это, кстати, вовсе не тот, кто контролирует трафик. Хозяин — это тот, кто контролирует содержимое не только трафика, но и всей памяти — от прошивки-загрузчика до пользовательских данных. Применительно к Интернету — это означает доступ к сотням миллионов системных блоков с правом root. С возможностью принятия решений о том, что должно быть в памяти, а чего там быть не должно. Хозяин — это тот, кто решает, какие приложения разрешены пользователю. Хозяин — это тот, кто решает, какой код должен работать на пользовательских машинах в каждый конкретный момент, и вносит в него изменения по мере необходимости. Хозяин видит всю файловую систему. Впрочем, если говорить точнее, в сети большого размера всем этим занимается не лично хозяин, а его верные серверы. Они знают, что надо делать. Вирусов при этом, разумеется, не будет. Но — не высоковата ли цена?..

Если кто-то, имеющий средства и возможности, чтобы лоббировать передачу Интернета под централизованный контроль, захочет это сделать, ему понадобятся сильные аргументы. Самый сильный аргумент — вирусная опасность, стремительный рост которой в последние месяцы заметили даже люди, далекие от компьютерных кругов.

Мы полагаем, что обитатели «Хабрахабра» не хотят такого развития событий, поэтому советуем инвестировать в наиболее надежные и защищенные информационные системы, обращаясь к услугам лучших специалистов. Избавляя от вирусной опасности собственные компьютеры и компьютеры ваших друзей и знакомых, вы лишаете Силы Зла аргументов в пользу централизованного контроля содержимого памяти всех системных блоков Интернета. Такой контроль был бы безусловным злом для общества. С другой стороны, согласитесь: очередная DDoS-атака на серверы любой Серьезной Организации (в частности, DDoS-атака, зарегистрированная с IP-адреса вашего домашнего или служебного компьютера из-за присутствия на нем вируса) — это очередной аргумент в пользу тотального контроля.

* * *

Продолжение следует...
Tags:
Hubs:
Total votes 8: ↑4 and ↓4 0
Views 2.4K
Comments Comments 23

Information

Founded
2001
Location
Россия
Website
aflex.ru
Employees
51–100 employees
Registered