Основное их предназначение — распределение компьютерных ресурсов

В проекте SETI@home используются вычислительные возможности миллионов настольных компьютеров, подключенных к Internet, для сканирования данных, полученных с радиотелескопа, в надежде обнаружить признаки жизни в космосе

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

Основным предназначением своих мобильных программ Кохен считал надежное и эффективное распределение ресурсов. Значительная часть компьютеров большую часть времени ничем не занята. Согласно теории Кохена мобильные программы могут находить и приобщать к делу свободные мощности. Если позволить им копировать самих себя (а это является неотъемлемой частью концепции), то они смогут распределиться по всей совокупности свободных аппаратных мощностей и заняться решением больших задач, распараллелив обработку на многие компьютеры.

Кохен, ныне старший партнер консалтинговой фирмы Fred Cohen and Associates, определил также ряд ситуаций (в основном таких, в которых программы должны были работать с многочисленными базами данных), когда казалось, что программе лучше посылать свою копию для работы с каждой базой данных, вместо того чтобы держать в центре одну головную программу и рассылать запросы. Для иллюстрации этой идеи Кохен даже написал две программы для Unix, выполнявшие функции агента по сбору счетов. В сущности, эта концепция напоминает работу мозга: память сохраняется несмотря на то, что отдельные нейроны рождаются и умирают.

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

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

Позднее, в конце 90-х, выяснилось, что некоторые программы дают возможность применить неиспользуемые компьютерные ресурсы для решения общественно (или научно) значимых проблем. Наибольшую известность приобрел случай с разработанной Дэвидом Андерсоном программой SETI@home, разбивавшей между множеством подключенных к Internet компьютеров задачу изучения данных, поступающих с радиотелескопа на последовательности сигналов, которые могли доказать существование внеземного разума. Концепция быстро вошла в моду, и сегодня десятки научных и медицинских проектов привлекают добровольцев. В то же время многие компании, включая основанную самим Андерсоном компанию United Devices, предлагают программный инструментарий, предназначенный для использования концепции так называемых распределенных (distributed) или сетевых (grid) вычислений в корпоративных сетях и на вычислительных мощностях предприятий.

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

Разумеется, в модели grid клиентские компьютеры несамостоятельны — пользователи санкционируют привлечение принадлежащих им ресурсов. Однако многие исследователи считают, что по мере усложнения проблем и упрощения устройств доступа запросы будут становиться самоисполняемыми и самоуправляемыми.


«Паразитические» вычисления

Зачем работать на своем собственном компьютере, когда можно воспользоваться чужим? Исследователи Университета штата Индиана продемонстрировали технологию так называемых «паразитических» вычислений. Как говорится в статье, опубликованной в журнале Nature, эта технология позволяет обращаться к серверам других людей для выполнения своих собственных задач.

Во введении к статье в Nature говорится, что этот процесс аналогичен тому, который применяется в SETI@home (Search for Extraterrestrial Intelligence), где используются вычислительные возможности миллионов настольных компьютеров для сканирования данных, полученных с радиотелескопа, в надежде обнаружить признаки жизни в космосе.

«Паразитические» вычисления отличаются тем, что их инициаторы не спрашивают у владельцев компьютеров разрешения на использование их ресурсов. Однако они не применяют традиционных хакерских методов для получения прямого доступа к компьютеру, вместе с тем, с помощью инфраструктуры Internet создавая некую виртуальную вычислительную систему.

Исследователи Алберт-Лесли Барабчи, Винсент Фрих, Хевунг Джеонг и Джей Брокмен продемонстрировали возможности подобной инфраструктуры.

В этом случае применялась утилита checksum, использующая TCP-соединения связанных через Internet компьютеров. Она заставляет подключенные к Сети Web-серверы решать конкретную математическую задачу.

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

Пока, как подчеркивают ученые, это задача намного сложнее и требует намного больше времени, чем работа на компьютерах, принадлежащих университету, однако данный эксперимент продемонстрировал весьма интересные возможности применения ресурсов Internet и поднял важные этические вопросы использования компьютеров, принадлежащих другим людям.

Эта проблема имеет и серьезный юридический аспект.

«Как и в любой другой ситуации, связанной с Internet, первый вопрос, возникающий при этом, касается легитимности подобной практики», — подчеркнул Майкл Айкенхед, преподаватель университетского центра законодательства и информатики, расположенного в Дюрэме (Великобритания).

«Действительно, кто станет расследовать такого рода правонарушение, если оно будет совершено?» — вопрошает он. Если будут использованы серверы, расположенные в Северной Америке, Европе или Азии, то в каждом из этих регионов данная деятельность может расцениваться по-своему.

«Что касается законодательства Великобритании, то мне не приходилось слышать о чем-либо подобном, и я считаю, что трудно понять, как закон может предотвратить подобную деятельность. Раздел I ?Акта 1990 года о компьютерных злоупотреблениях? касается неавторизованного доступа к ?компьютерным материалам?. В этом случае сложность в том, можно ли считать такой доступ неавторизованным, учитывая, что серверы подключены к общедоступной сети, которой является Internet», — объяснил Айкенхед свои сомнения.

Те же самые проблемы возникают и при попытке применить другие разделы «Акта», такие как раздел, который запрещает неавторизованные изменения компьютерных материалов или любые другие действия, негативно влияющие на работу компьютера. По мнению Айкенхеда, в данной ситуации возникает вопрос о том, на что в действительности дает согласие владелец сервера, подключая его к Internet.

Джиллиан Лоу