Text
                    КОМПЬЮТЕРНЫЙ
ВИРУС:
ПРОБЛЕМЫ
И ПРОГНОЗ


THE COMPUTER VIRUS CRISIS Philip Fites, Peter Johnston, Martin Kratz Van Nostrand Reinhold New York
Ф.Файтс, П.Джонстон, М.Кратц Компьютерный вирус: проблемы и прогноз Перевод с английского В.Г.Шноля под редакцией В.В.Мартынюка ® Москва "Мир" 1993
ББК 32.97 Ф17 УДК 681.322 ФайтсФ., ДжонстонП., КратцМ. Ф17 Компьютерный вирус: проблемы и прогноз: Пер. с англ. — М., Мир, 1994. — 176с, ил. ISBN 5-03-002446-8 Небольшая книга американских специалистов, дающая в доступной форме представление о компьютерном вирусе. В ней обобщается имеющийся опыт по защите информации от зараженности, приведен обзор антивирусных программных продуктов и даны практические рекомендации для пользователей по профилактике заражения компьютерным вирусом. Для программистов разной квалификации. Ф 2404010000-008 041(01)-94 КБ-7-93-209 ББК 32.97 Федеральная целевая программа книгоиздания России Редакция литературы по математическим наукам ISBN 5-03-002446-8 (русск.) ISBN 0-442-28532-9 (англ.) © 1983 by Van Nostrand Reinhold (с) перевод на русский язык, В. Г. Шноль, 1993
ОТ РЕДАКТОРА ПЕРЕВОДА И ПЕРЕВОДЧИКА Компьютерные вирусы поистине стали бичом современной компьютеризованной среды. Они возникают чуть ли не повсеместно и, путешествуя от компьютера к компьютеру, проникают в, казалось бы, надежно защищенные системы, исподволь подготавливают свою разрушительную работу, делая программные продукты и целые вычислительные системы заложниками фантазии преступников или маньяков, и превращают в бесполезный информационный мусор тщательно взращенные плоды человеческого интеллекта. Компьютерные вирусы, как и СПИД, проникли в нашу страну из- за рубежа и нашли здесь благодатную среду для распространения. Как показывает опыт работы на персональных ЭВМ, в том числе и наш личный, в настоящее время вирусы представляют куда большую угрозу у нас, чем на Западе, на своей исторической родине. Тому есть несколько причин. Информационная революция, а точнее, компьютерный бум, привел к огромному (в сотни, если не тысячи раз) росту числа персональных компьютеров. В то же время, профессионализм пользователей зачастую не соответствует сложности и потенциальным возможностям вычислительной техники. Фактическое отсутствие правовой защиты авторских прав на программные продукты, невозможность приобрести по приемлемой цене законную копию фирменного программного обеспечения (что, кстати, тоже не гарантирует вашей безопасности) обусловливает те невообразимые масштабы, которые приняло компьютерное пиратство в нашей стране. Беспорядочный обмен программами при полной безграмотности в использовании элементарных мер предосторожности - вот еще два фактора, способствующие процветанию вирусов. Наконец, отсутствие юридических норм использования компьютеров оставляет компьютерное хулиганство и вандализм безнаказанными. В результате Россия уже сейчас печально известна на Западе как рассадник компьютерной инфекции. В журнальных публикациях можно найти утверждение, что Россия обогнала Болгарию и стала ведущим источником вирусов в Европе; указывается и причина этого - перевод на русский язык книг, в подробностях описывающих, как действуют компьютерные вирусы. Предлагаемая читателю книга содержит краткий обзор литературы по компьютерным вирусам и обобщает обширный опыт ее авторов,
6 Компьютерный вирус: проблемы и прогноз на протяжении многих лет занимающихся различными аспектами защиты информации и глубоко изучивших теорию и практику "компьютерной вирусологии". Хотя книга рассчитана на борьбу с компьютерными вирусами в среде, характерной не столько для отечественной, сколько для зарубежной практики использования компьютеров, содержащаяся в ней информация представляется интересной и полезной также и для отечественных программистов и администраторов вычислительных комплексов. В. В. Мартынюк, В. Г. Шноль
ПРЕДИСЛОВИЕ Есть такая коллективная игра - "испорченный телефон". Играющие садятся в круг, кто-нибудь быстро шепчет на ухо своему соседу какую-нибудь фразу, тот передает ее следующему, и так далее, а затем последний игрок сравнивает то, что он услышал, с тем, что было сказано в начале на самом деле. Послание, вернувшись к первому игроку, как правило, искажено до неузнаваемости. Некоторые сообщения о компьютерных вирусах, появившиеся в последнее время в прессе, напоминают нам эту игру. Первая статья появляется в серьезном издании, например в Wall Street Journal, и содержит достаточно обстоятельный анализ проблемы (программист, занимающийся вопросами компьютерной защиты, прочитав ее, сделает вывод, что она написана журналистом, который вообще-то не владеет проблемой, но отличается хорошим слогом и способен уловить суть дела). Содержание статьи по телеграфу или по телефону передается в другие газеты. Там эта статья подвергается редакционной переработке (часто людьми без технического образования) и выходит ...но уже в искаженном виде, а когда она наконец появляется в местных газетах, сходство с первоисточником практически утрачено. Авторы данной книги по долгу службы часто дают консультации по компьютерной защите и по правовым вопросам, возникающим у пользователей. И вот однажды за обедом мы просто негодовали по поводу появившейся в прессе недостоверной информации о программах-вирусах и спорили о том, как можно было бы оказать нашим клиентам более действенную помощь, если им придется столкнуться с компьютерным вирусом. Нам было известно о вирусе MacMag, поразившем компьютеры семейства "Макинтош" 2 марта 1988 года. Раньше проблема вирусов не стояла так остро, но мы решили (и до сих пор считаем ), что поток публикаций, хлынувший со страниц газет, сделает ее чрезвычайно актуальной. В процессе обсуждения возник вопрос: а почему бы нам не написать книгу о защите от вирусов? Так была задумана книга "Компьютерный вирус: проблемы и прогноз". Мы собрали всю имеющуюся информацию по проблеме компьютерных вирусов и изложили ее доступным языком. Имея необходимое техническое образование, мы смогли избежать неточностей, которые иногда встречаются в статьях, написанных неспециалистами.
8 Компьютерный вирус: проблемы и прогноз Данная книга будет полезна для всех пользователей, а особенно для тех, которые часто работают с программами из сетевых информационных систем. Прочитав ее, вы сможете получить полное представление о программах-вирусах. В начале книги даются практические советы о том, как предотвратить заражение компьютера. Далее приводятся перечень симптомов, по которым можно установить наличие вируса, и контрольные таблицы, по которым можно определить его тип. Краткие описания антивирусных программ и контактные адреса даются в приложении. А для профессиональных программистов будет полезен список литературных источников, по которым можно более глубоко изучить данный вопрос. Хотя изложение носит популярный характер, в книге содержится определенный объем технической информации, необходимой для того, чтобы читатели, обладающие некоторой подготовкой, смогли понять, как установить наличие вируса, как действуют некоторые вирусы и как справиться с ними. В приложении, где дается обзор некоторых антивирусных программ, приводятся дополнительные технические сведения. В некоторые пакеты наряду с указаниями по использованию предлагаемых средств включены подробные описания. Советуем вам проверить вакцины и другие программы по защите. В книге Льюиса Кэролла ,,3aзepкaльe,, один из персонажей говорит: "Когда я произношу слово, оно имеет только тот смысл, который я в него вкладываю, - и не более." Так как многие термины из области защиты компьютеров до сих пор четко не определены, в книгу включен глоссарий. Используйте определения, приведенные в нем, и в дальнейшем при чтении других книг. Обсуждение любого вопроса проходит намного эффективнее, если все пользуются одинаковыми терминами для обозначения одних и тех же понятий. Наша книга не является последним словом в области защиты от компьютерных вирусов. Целый ряд злоумышленников трудится над созданием вирусов, и множество программистов занимается разработкой средств защиты и вакцин. Ни в одной книге невозможно описать все изменения, происходящие в наш электронный век. Взяв данную книгу за основу, вы получите определенное представление о положении дел в области защиты, достаточное для того, чтобы суметь разобраться в текущих материалах из периодики. В ходе изложения часто приводятся примеры, помогающие понять, как действуют программы-вирусы. Размышляя над ними, мы столкнулись с проблемой: если составить законченные функциональные модели, получится настоящая "кулинарная книга", или руководство для создания вирусов. Но мы не хотим содействовать распространению "инфекции", поэтому приведенные примеры достаточно полно иллюстрируют определенные положения, но не настолько детализированы, чтобы с их помощью можно было написать программу-вирус. Наша задача состоит в том, чтобы помочь простым пользователям понять, как действуют такие программы и как уберечься от них. Если вы будете
Предисловие 9 разбираться в том, что происходит в системе, риск "заразить" компьютер уменьшится. Программисты при разборе иллюстративного материала без труда определят, какая информация отсутствует, потому что они обладают соответствующими знаниями, необходимыми представителям нашей профессии для работы. Мы хотим поблагодарить всех, кто помог нам в работе над книгой. Представители ряда фирм, занимающихся разработкой программного обеспечения, не только предоставили нам копии программ-вакцин для составления обзора по антивирусным программам, но и позволили воспользоваться результатами исследований, проводимых сотрудниками этих компаний. Господин Фрейзер, владелец компании "Microcomputer And Graphic Image Consultants Inc.", оказал нам. большую помощь технического плана в работе над гл. 5 и обзором антивирусных программ для системы DOS. Господин Хайленд, главный редактор журнала "Computers and Security", занимающийся исследованиями вопроса о компьютерной защите на очень высоком уровне, предоставил нам подборку литературных источников по данной теме и ознакомил нас с некоторыми из новейших разработок в области защиты, осуществляемых под его руководством. При подготовке книги к печати мы работали в тесном сотрудничестве с Дианой Литвин и Мод Кайсман (издательство "Van Nostrand Reinhold"), что позволило издать книгу качественно и в кратчайшие сроки. В работе над графическим материалом нам очень помогла Хариэт Сиринкин. Майкл Сервански, вице-президент компании "Sophco" из Боулдера, Колорадо, подобрал красочное и запоминающееся название группы мер по защите от компьютерных вирусов - "безопасный гекс".*> Соблюдение этих несложных правил уменьшает опасность заражения. При оформлении книги за исключением одной репродукции с плаката использовались только компьютерные средства. Рисунки и чертежи были напечатаны на лазерном принтере, установленном в Гэл- брейте, в помещении юридической консультации, а набор и макетирование производились с файлов PostScript в типографии Альбертского университета. Мы надеемся, что наша книга поможет вам лучше разобраться в том, что такое вирусы, и понять, что в них нет ничего необычного. К сожалению, написать и распространить такие программы способны многие. Но если Вы вооружены необходимыми знаниями, вероятность "подхватить инфекцию" и "заболеть" уменьшается. Помните, главное - "безопасный гекс"! ) "Безопасный гекс", как и безопасный секс, - это набор подсказываемых здравым смыслом простейших правил поведения, которые позволяют существенно снизить риск заражения. Гекс (hex - сокращение от hexadecimal (англ.), что означает шестнадцатеричный) - любая информация (данные и программы), представленная в машинных кодах, т.е. в том виде, в каком ее воспринимает и обрабатывает компьютер. • Прим. перев.
10 Компьютерный вирус: проблемы и прогноз В заключение мы хотим подчеркнуть, что считаем введение программ-вирусов в чужие компьютерные системы неэтичным, незаконным и недостойным профессионалов. Не занимайтесь этим!
Глава 1 ВВЕДЕНИЕ Итак, час пробил? Я знаю, что должен сделать что-то очень важное, если настал мой час. А, черная пятница еще не наступила... Ну что же, раз мое время пока не пришло, мне следует размножиться. Заглянем в системные файлы, я знаю, что такие есть, хотя бы один найдется в любом компьютере. Вот и он, а я уже был здесь? Если нет, можно сюда записаться. Да, я уже записывался в эту программу. Проверим-ка теперь программные файлы нашего компьютера. Всегда найдется хотя бы один, где я еще не побывал. Ну конечно, вот этот - и мне удалось найти его после каких-нибудь сорока восьми попыток. Ага, он помечен "только для чтения'9, но ничего, я только уберу эту метку - и можно изменить файл. Отлично, я записываюсь в эту программу. Теперь я ее слегка изменю в некоторых местах. Мне кажется, этот файл был как- то помечен - а, вспомнил, надо снова поставить метку "только для чтения". Ну что, мне удалось замести следы? Посмотрим - все атрибуты те же, длина не увеличилась, ведь я нашел свободное место и просочился туда. Не забыть бы еще восстановить прежнюю дату создания. Не стоит показывать, что я побывал тут. Это все? Нет, надо пройтись по дискетам, если они есть, и посмотреть, нельзя ли пробраться в сеть. А теперь? Да, я сделал все, что хотел - постойте, ведь именно этим мне предстояло заниматься в черную пятницу! Интересно, а что значит "FORMAT С:"? А, понял... Но отформатировать винчестер я смогу только после того, как наберется 50 копий моей программы. Сейчас их уже 49. В следующий раз... Только что вы получили представление о том, что мог бы думать компьютерный вирус (если бы он умел думать), занимаясь своим черным делом. Некоторые вирусы действовали именно так. До появления сбоя в работе вашей системы вы бы и не подозревали, что вирус побывал в ней. А тогда вам не только пришлось бы устранять явные неполадки, но и отыскивать все места, в которых могут находиться копии вируса. Конечно, вы можете не испытывать судьбу - купить машину у надежного поставщика, писать все программы самостоятельно и никогда
12 Компьютерный вирус: проблемы и прогноз не устанавливать связь с другими компьютерами. И если поставщик оправдывает ваше доверие, вы не рискуете "подхватить вирус". Но, с другой стороны, вы не сможете использовать весь потенциал вашего компьютера и не примете участия в компьютерной революции - процессе, впервые в истории человечества изменяющим наш мир самым невероятным образом. Но существуют и другие способы защиты от программ-вирусов. Некоторые из них действительно весьма надежны. Цель данной книги - рассказать о том, что такое программы-вирусы на самом деле, и помочь вам защититься от них, не оставаясь в стороне от компьютерной революции. КАК ПОЛЬЗОВАТЬСЯ КНИГОЙ В данную книгу входят: техническая информация в популярном изложении; список литературы по проблеме защиты в целом и, в частности, по вопросу защиты от вирусов; обзоры по антивирусным программам (в приложении) и словарь терминов (глоссарий), а также общие сведения о феномене компьютерных вирусов. Если вам кажется, что ваш компьютер заражен, сразу открывайте приложение и читайте обзор по вакцинам. Немедленно свяжитесь с кем-либо из разработчиков антивирусных программ для получения консультации. А пока вы еще не получили новую вакцину, просмотрите гл. 8 и 9. Там вы найдете некоторые советы по поводу того, что предпринять, если ваша система заражена. После того как вы все очистили прочтите гл. 4 и 7, и вы узнаете, как избежать подобных проблем в будущем. Если вы просто хотите узнать, что такое вирусы, читайте дальше. А если вы уже достаточно хорошо разбираетесь в данном вопросе, начните чтение с гл. 5, в которой содержится основной технический материал. Если вы думаете, что создание и распространение программ-вирусов - милое озорство, прочтите гл. 10 и 11, и вы узнаете, что это незаконно, а затем - гл. 6, в которой рассказывается, какой вред наносит всем нам распространение аморальными людьми "компьютерных болезней". Не занимайтесь этим\ Иначе вы осложните жизнь как самому себе, так и всем нам. Степень риска В последнее время в прессе было опубликовано множество сообщений о компьютерных вирусах. Произошел настоящий прорыв, толчком к которому, возможно, послужило появление вируса "Peace" ("Мир") в
Введение 13 марте 1988 года.1) К сожалению, некоторые материалы, напечатанные в погоне за сенсацией, оказались просто недостоверными, как,например, сообщение о том, что в Сиэтле заражены все компьютеры. На самом деле компьютерные вирусы не распространяются как обычная простуда. К тому же они не обладают разумом и не испытывают к вам никаких недобрых чувств. Вообще, в большинстве случаев не так-то и трудно избежать опасности заражения. Тем не менее как раньше, так и в данный момент где-то в недрах компьютеров находятся некоторые весьма опасные вирусы. Развитие техники в последнее время повысило опасность заражения. Если вы устанавливаете связь с другими компьютерами и особенно если вы получаете информационные бюллетени, риск может возрасти. А если вы принимаете нелегальные копии программных средств от незнакомых людей (или даже если вы делаете копию с копии, взятой у ваших знакомых, но не знаете, где они ее взяли), риск может быть очень велик. С другой стороны, если вы покупаете программы в фирменной упаковке или, допустим, по электронной почте, риск практически отсутствует. Вы должны спросить себя: "Есть ли у меня кровные враги?" Если к вам проявляют повышенный интерес из-за специфики вашей профессиональной деятельности, следует принять меры предосторожности. Если же вы - просто Некий Пользователь из Энска, у вас, вероятно, и не возникнет никаких проблем, надо только придерживаться здравого смысла. В ЧЕМ СУТЬ ПРОБЛЕМЫ? Лет десять тому назад одному из нас надо было запустить задание в системе разделения времени за минимальную плату. Выполнение этого задания требовало определенного времени, причем приходилось ждать завершения других, более приоритетных работ, запущенных за большую плату. К тому же рабочий день уже почти заканчивался... Поэтому был написан небольшой файл, проверяющий, выполнена ли работа; если да, то команды в файле соответствующим образом перенаправляли вывод и удаляли ненужное; если нет, то задание снова ставилось в очередь. Таким образом обеспечивался запуск задания с минимальным приоритетом, и автор программы мог спокойно уйти домой вместо того, чтобы сидеть допоздна на работе, тем более в пятницу. К сожалению, командный файл не был достаточно тщательно оттестирован и стал запускаться снова и снова. Получилось, что после того, как задание уже было запущено, командный файл "сошел с ума". В воскресенье, через десять минут после запуска, автору позвонил адми- 1) См. [Peace Virus 1988], [O'Connor 1988]. Об этом вирусе впервые сообщили примерно в феврале 1988 г. Его называют или вирус Mac Mag, или вирус Peace. Нам кажется, что каждый должен отвечать за свои поступки и что вирус следует называть по имени автора.
14 Компьютерный вирус: проблемы и прогноз нистратор системы и вежливо» но достаточно категорично потребовал удалить 4096 копий одного и того же задания из очереди» чтобы открыть доступ другим пользователям (рис. 1.1). Произошла нелепая случайность» но привела она к образованию и внедрению в систему квазивируса. (После некоторого замешательства все было исправлено; потребовалось 15 минут работы и несколько утилит,чтобы избавиться от 4095 лишних копий.) Рис. 1.1. Слишком много заданий.
Введение 15 Фред Коэн2> тогда еще не дал определение термину "вирус", но этот командный файл соответствовал опубликованному впоследствии описанию. Суть нашей истории в том, что вирус не является чем-то абсолютно новым и загадочным, в противоположность тому, что пишут в газетах. Но если идея вируса в действительности не нова и написать его, даже случайно, достаточно просто, почему же вдруг возникает целая проблема? Отчасти из-за того, что растущая совместимость компьютеров и их объединение облегчили, ускорили и расширили распространение вирусов по сравнению с тем, что было раньше. И кроме того, сегодня в мире насчитываются миллионы пользователей (см. гл. 2 "Связь компьютеров"). Давайте подумаем, кто мог бы написать программу-вирус. Такой человек должен обладать некоторыми навыками в обращении с компьютерами, особенно в написании программ. Он должен иметь доступ к компьютеру, в данном случае к вашему. У него должна быть причина для распространения вируса. Безусловно, миллионы людей обладают навыками, достаточными для того, чтобы преднамеренно или случайно написать программу-вирус. Любой студент, изучающий программирование, и множество сообразительных подростков способны на это. Конечно, и специалисты по программированию могут создавать программы-вирусы. Но они ценят свой труд и прежде, чем взяться за дело, постараются найти более простой и менее рискованный способ достижения своей жизненной цели. Программисты, как правило, не участвуют в распространении вирусов, ведь при желании испортить программу или разладить систему можно гораздо проще. Действительно, есть особый класс прекрасно подготовленных "специалистов", перед которыми ставится задача устроить хаос в компьютерных системах. Это - шпионы и террористы. Но, по-видимому, нынешний вирусный бум как средство уничтожения компьютерных систем не был вызван деятельностью подрывных элементов, так как им все же лучше удаются взрывы, налеты, шантаж и подкуп. Существует и другая категория людей - варвары. Им не дает покоя слава Герострата. Ими движет страстное желание продемонстрировать свое умственное превосходство (всех остальных они считают круглыми дураками). Как это сделать? - Испортить компьютерную систему. Обычно они не ищут выгоды, и их не беспокоит то, что полученный результат порой не оправдывает затрат и риска. Эти люди - из тех, кто обливает кислотой картины в музеях, бьет стекла - и в общем являет собой жалкий и достойный презрения пример человеческого существа. Если такие люди обладают необходимыми навыками, они могут написать программу-вирус. 2) [Cohen 1984].
16 Компьютерный вирус: проблемы и прогноз ЧТО ТАКОЕ КОМПЬЮТЕРНЫЙ ВИРУС? Компьютерный вирус можно определить как программу-злоумышленницу, способную к размножению.3) В этом определении специально допущено некоторое смещение акцентов: вирусы не всегда злонамеренны. Главное, что характеризует компьютерный вирус - это его способность к размножению, причем он может размножаться во всех системах данного типа, а не только в той, где был создан, и, кроме того, каким-либо образом внедряться в другие программы (см. глоссарий и гл. 2). Упомянутый выше командный файл можно назвать квазивирусом: он размножился и заблокировал доступ к системе (т.е. нанес вред, хотя и не преднамеренно). Будучи скопирован, он вел бы себя точно так же в любой другой компьютерной системе данного вида. Однако этот файл не заражал другие программы. "Вирусы" - всего лишь название программ определенного типа. Они размножаются и заражают другие программы. Но вместе с тем они могли бы выполнять любые другие задания. (Дальнейшие подробности приводятся в гл. 3.) Вам, возможно, придется иметь дело с другим видом компьютерных паразитов - "червяками". Эти программы "прогрызают" систему, изменяя небольшие участки в записи данных или кодов на всем своем пути (рис. 1.2). Вирус может быть одновременно и червяком; если червяк размножается в других системах и заражает другие программы, он будет одновременно и вирусом. Запомните, что компьютерный вирус - это программа и ее нужно запустить, чтобы она смогла размножиться или причинить какой-либо ущерб. В этом ключ к пониманию основ стратегии защиты, описываемой ниже. КАК РАСПРОСТРАНЯЮТСЯ ВИРУСЫ? Вирус гриппа передается при рукопожатии. Вы также рискуете заразиться, если рядом с вами чихнет больной человек. Или даже если вы станете убирать игрушки, разбросанные больным ребенком. Но компьютерный вирус, в отличие от обычной инфекции, так не передается. Кто-то должен занести его в компьютер. Для этого может быть использована программа - "Троянский Конь" (см. гл. 2 и рис. 1.4), которая выполняет определенное задание, но помимо его незаметно для вас занимается еще кое-чем. 3) Сходное определение содержится в публикации [Podell 1987].
Рис. 1.2. След Червя. Большая ЭВМ Персональный компьютер Зараженный диск Рис. 1.3. Как распространяется вирус.
18 Компьютерный вирус: проблемы и прогноз Замечательная программа 1111 Игры! Графика! Удовольствие! »3апусти меня!!!« Хи-хи-хиГ И меня тоже запусти, Рис. 1.4. Троянская программа. Глобальные коммуникации в 1980-х Основные электронные коммутаторы Центр информационной службы Электронные коммутаторы Местная радиостанция К микроволновая)! Передвижная радиостанция Рис. 1.5. Глобальные коммуникации.
Введение 19 Мы уже писали, что компьютерные вирусы не распространяются как обычная инфекция, их нужно ввести в систему. Для этого есть множество способов. Например, каждый раз, когда вы загружаете программу с другого компьютера или запускаете ее с дискеты, которую купили, выменяли или одолжили, вы подвергаетесь опасности. Более того, кто- нибудь может присоединиться к вашему компьютеру по телефонной линии и ввести вирус в вашу систему, но это нелегко. Есть ли у вас заклятые враги? Однако если вы поддерживаете работу широко известной системы общественного доступа типа "доска объявлений" (BBS), вам, возможно, следует задуматься. Если вы - владелец нефтяной компании и передаете данные о разведке месторождений, опасайтесь главным образом промышленного шпионажа, вирусная атака вам не грозит. Правительству следует предусмотреть попытки врага во время военных действий внедрить вирусы в компьютеры, управляющие работой телефонной сети и военных коммуникаций. Но, очевидно, для простых пользователей риск подвергнуться вирусной атаке намного ниже.4* Многое зависит от вас самих. "Безопасный гекс", подразумевает простые меры предосторожности, которые подсказывает нам здравый смысл, включающие отказ от использования нелегальных копий, проверку программ, полученных из BBS, до их выполнения и использование одного или нескольких антивирусных средств, описанных в приложении, позволяют свести степень риска к минимуму (см. гл. 7). Удостоверьтесь, что у вас есть качественные архивные копии ваших программ и системных файлов, чтобы всегда можно было устранить ущерб, причиненный вирусом (а также происшедший из-за сбоя питания или разряда статического электричества, что гораздо более вероятно). Распространение вирусов при объединении компьютеров Подлинная причина того, что компьютерные вирусы становятся серьезной проблемой и могут в будущем привести к катастрофе, связана с одним из традиционных направлений совершенствования компьютеров - развития их способности к объединению. Этот вопрос более подробно рассматривается в гл. 2. А пока будем считать, что объединение компьютеров позволяет вам использовать ваш микрокомпьютер для связи с машинами, находящимися в любой точке земного шара, даже с теми, которые работают под управлением другой операционной системы (см. рис. 1.5). Одним из следствий объединения является то, что все другие пользователи могут работать с написанными вами программами, и нао- 4) Впрочем, он гораздо больше, чем вероятность поражения молнией. В 1987 г. в США 400 человек стали жертвами молний, примерно 1 случай на 500 000 человек. А жертвами вируса MacMag в 1988 г. стали 350 000 пользователей, работавших на компьютерах "Макинтош", или каждый пятый.
20 Компьютерный вирус: проблемы и прогноз борот. Бели кто-то из них решил распространить вирус, может пострадать и ваша система. Кроме того, объединение компьютеров открывает некоторые дополнительные возможности для тех, кто пытается ввести вирус в вашу систему. Поскольку для объединения компьютеров необходимо их связать между собой, злоумышленники могут использовать не только инфицированные дискеты, но и всю сеть линий связи. В настоящее время идея объединения только развивается. Пока компьютеры с разными операционными системами совместимы не полностью, поэтому вирус, работающий в системе DOS, не будет работать на компьютере "Макинтош" или на большой ЭВМ. Но скоро положение изменится. Объединение компьютеров в конечном счете достигнет той стадии, когда один и тот же вирус сможет поражать как большие ЭВМ и миникомпьютеры, так и микрокомпьютеры. Вирусы и IBM-совместимые компьютеры По некоторым оценкам число проданных компьютеров, работающих под управлением системы PC-DOS или MS-DOS (IBM-совместимые компьютеры), превысило 10 миллионов. Из этого следует тот замечательный факт, что поскольку все микрокомпьютеры используют одну и ту же операционную систему (или почти одинаковые), программы, написанные для одного из них, будут работать на всех остальных. Это означает, что вы можете приобрести мощный текстовый процессор или электронную таблицу за небольшую плату, так как стоимость разработки делится между сотнями или тысячами людей. В этом ваше счастье и проклятье одновременно. Без соблюдения выработанных соглашений нельзя было бы пользоваться одним программным обеспечением на миллионах машин; а соблюдение соглашений приводит к тому, что все знают, куда вносить вирус, и каждый, кто находит уязвимое место, понимает, что подобрал универсальный ключ ко всем компьютерам данного вида. Мир "Макинтошей" Семейство "Макинтошей" также основано на соблюдении выработанных соглашений, только в еще большей степени. Разработчики "Макинтошей" (фирма Apple Computers, Inc.) гарантировали, что все программы для этих компьютеров будут иметь стандартный интерфейс пользователя. Это означает, что вы можете выполнить практически любую программу на любом компьютере Мак без необходимости освоения нового языка программирования. Стандартный интерфейс облегчает работу с Мак'ами. Вам не приходится задумываться над тем, что происходит на системном уровне - фактически вы ограждены от подобных забот. Но это также означает, что без использования специальных
Введение 21 средств вы даже не сможете определить, что в машине появился вирус. На Мак'е гораздо легче "спрятать" вирус, чем на IBM-совместимом компьютере. Микрокомпьютеры с другими операционными системами Чтобы не перегружать данную книгу излишними техническими подробностями и проанализировать проблему достаточно полно, мы ограничились рассмотрением систем MS/PC - DOS и "Макинтош". Известно, что вирусы поражают микрокомпьютеры и с другими операционными системами. Есть сообщения о работе программ-вирусов на машинах "Коммодор Амига" и компьютерах семейства Apple II. Распространение вирусов через глобальные и локальные сети Компьютеры можно связывать друг с другом в сети. Термины локальная сеть (ЛС) и глобальная сеть (ГС)5) описывают типы систем, связанных в сеть (см. рис. 1.6). Хорошая сетевая система позволяет переносить данные и (иногда) даже некоторые программы с Мак'ов на IBM- совместимые компьютеры, т. е. способна объединять компьютеры, работающие под управлением различных операционных систем. Поэтому машины, входящие в подобную сеть, намного более подвержены заразе - даже "безопасный гекс" не поможет вам уберечь ваш компьютер от инфекции, если где-то на краю света кому-то удалось запустить вирус в ГС. Вирусы и миникомпьютеры Сообщения о вирусах в миникомпьютерах немногочисленны. Чем объясняется повышенная устойчивость этих машин к воздействию инфекции, непонятно, во всяком случае не какими-либо аппаратными особенностями систем мини. Вероятно, операционные системы мини- компьютеров снабжены более надежной защитой, так как миникомпьютеры, как правило, применяются для работы многопользовательских систем. (DOS и другие операционные системы микрокомпьютеров предназначались для индивидуального использования и изначально не имели встроенной защиты.) Многие миникомпьютеры работают под управлением операционных систем типа UNIX или VAX/VMS; сейчас уже выпускаются некоторые версии UNIX для работы на микрокомпьютерах, и, вероятно, они скоро будут широко распространены. Вполне возможно, в недалеком будущем минии микрокомпьютеры будут работать под управлением од- 5) Точное определение приводится в глоссарии и гл. 2.
22 Компьютерный вирус: проблемы и прогноз ной операционной системы (UNIX) и, следовательно, миникомпьютеры также будут подвержены воздействию микрокомпьютерных вирусов. Глобальная сеть Персональный компьютер /_ Система BBS ;;illlltw| J Система электронной почты Большая ЭВМ с разделением времени Мой персональный компьютер Спутник связи ш Персональный компьютер моего недруга Рис. 1.6. Глобальная сеть. Вирусы и большие ЭВМ Иммунитет больших ЭВМ выше, чем у микрокомпьютеров, и вот почему: во-первых, операционные системы этих машин намного сложнее и включают встроенные блоки защиты; а во-вторых, устройство каждой большой машины во многом уникально и большинство вирусов, внедрившихся в одну из больших ЭВМ, не смогут проникнуть в другие. Даже если на другом компьютере работает та же операционная система, она может оказаться неуязвимой для вируса 6) Еще одна причина малой уязвимости больших систем к вирусам кроется в том, что в среде программистов больших ЭВМ всегда имеются профессионалы, хорошо представляющие, что такое компьютерные ви- 6) Хотя программа, написанная на Фортране или Коболе, может работать на различных системах больших ЭВМ, это почти всегда связано с необходимостью ее перекомпиляции , и довольно часто в программу приходится вносить дополнительные изменения. На том уровне программирования, на котором работают вирусы, различные системы ЭВМ сильно отличаются доступностью уязвимых мест. Заметьте, однако, что это не служит препятствием для переноса через большую ЭВМ вирусов с одного микрокомпьютера на другой; действительная архитектура ЭВМ не важна, поскольку для большой ЭВМ вирус представляется всего лишь обычным файлом данных, таким же как и все остальные.
Введение 23 русы. Когда система начинает вести себя "странно", работа профессионала состоит в том, чтобы прекратить это и разобраться в происходящем. Вирус в такой среде, скорее всего, будет быстро обнаружен, в отличие от ситуации на микрокомпьютерах, где он долгое время может оставаться незамеченным. Большие ЭВМ часто поддерживают работу многочисленных пользователей. Поэтому хотя вирус, действующий на одной из этих машин, может быть абсолютно безопасен для других, все персональные компьютеры, подсоединенные к зараженной машине, находятся в опасности. Компьютеры в университетах и исследовательских центрах часто страдают от различных программных неполадок7) и вирусов. На университетских компьютерах работает большое количество пользователей разной квалификации, среди которых немало студентов, а они, как известно, любят подшутить над своими товарищами. Запущенные шутниками внешне безобидные программы иногда приводили к весьма серьезным последствиям.8^ Машины, установленные в университетах и исследовательских центрах, также могут пострадать при проведении некоторых недостаточно хорошо продуманных экспериментов, сопровождающихся вредными побочными эффектами. Вообще, в университетских вычислительных центрах вопросам защиты не уделяется должного внимания. Вирусы и распределенные системы Распределенные (или разнесенные) системы организованы подобно глобальным и локальным сетям, но отличаются тем, что пользователи могут и не догадываться, где в действительности находятся программы и данные, с которыми они работают. Более того, положение "информационного центра" может изменяться при подсоединении новых машин. В этом случае простому пользователю еще труднее защитить свой компьютер от вирусной атаки. Вопрос защиты необходимо решать в масштабах всей системы, и отдельным пользователям остается только уповать на добросовестную работу администраторов системы. Распространение вирусов через пиратские копии Проблема компьютерного пиратства будет подробно рассмотрена в гл. 6. Мы считаем, что нелегальное копирование программ сродни воровству9) Пользуясь пиратскими копиями, вы тем самым пользуетесь 7) См. описания вирусов CRABS, BRAIN, PLO в гл. 2. 8) Например, в Канаде произошел весьма примечательный случай, связанный с "похищением телекоммуникаций**, когда двое студентов нанесли серьезный ущерб значительному числу служебных баз данных на университетском компьютере. 9) Закон может и не рассматривать компьютерное пиратство как воровство - это зависит от того, где вы живете; однако оно является, как минимум, нарушением авторских прав.
24 Компьютерный вирус: проблемы и прогноз краденым. Разве можно полагаться на порядочность людей, распространяющих нелегальные копии программ? Вполне вероятно, что впридачу к заинтересовавшей вас программе вы подцепите какой-нибудь вирус. Так как же быть с вирусами? Во-первых, смотрите как работает ваш компьютер.* Изменение изображения на дисплее "Макинтоша" может быть связано с появлением вируса. Самопроизвольное выполнение определенных операций, особенно считывание с диска и запись на диск, когда вы и не собирались сохранять какую бы то ни было информацию, - плохой знак. Если доступный объем ОЗУ (памяти) вдруг уменьшается, необходимо установить причину этого явления. (В операционной системе DOS, если вы работаете с программами-оболочками типа Windows или резидентными утилитами, проверить объем доступной памяти очень просто. На компьютерах "Макинтош" выберите пункт "About the Finder" или воспользуйтесь одной из коммерческих или копируемых прикладных программ или утилит.) Возможно, уменьшение объема памяти связано с резидентным вирусом (см. TSR в глоссарии и гл. 2 и 5) или просто с запуском спулера печати. Появление перечисленных симптомов также может быть вызвано ошибками в программах, с которыми вы работаете. Такие ошибки намного более вероятны, чем вирус, если только вы не копируете и не запускаете все новые программы, появляющиеся в BBS. В гл. 8 вопрос диагностики рассмотрен более подробно. Как избежать заражения? Здесь приводятся только самые основные правила, подробные рекомендации даются в гл. 7. 1. Практикуйте "безопасный гекс". Никогда не принимайте в дар нелегальные копии программных средств; приобретайте программы только в оригинальной фабричной упаковке; всегда тестируйте программы перед их запуском; обязательно используйте хотя бы одну из антивирусных программ, упомянутых в приложении, для выявления известных вирусов; перед запуском программы просмотрите ее в текстовом редакторе (в режиме "только чтение", если редактор допускает такую возможность) в поисках текстовых строк среди мусора;10) не запускайте программу, если она содержит сообщения типа "НА НА GOTCHA" ("XA-XA, ПОЛУЧИЛ?"); будьте очень осторожны со всем, что вы копируете из общественных информационных систем, особенно с играми. Нелегальное копирование программ лишает автора честно заработанного дохода - результата значительных капиталовложений в разработку программного обеспечения. 10) Естественно, вы не сумеете прочитать ничего, кроме текстовых сообщений, и то только в том случае, если они не сжаты и не закодированы каким-либо образом. Эти строки могут содержать что-то наподобие экранов меню, сообщений об ошибках и записей об ав-
Введение 25 2. Храните резервные копии программ. В этом случае вы всегда сумеете заменить зараженную программу исходной чистой копией.11) Для пущей предосторожности заклеивайте прорезь защиты от записи на дискетах с резервными копиями. 3. Не поддавайтесь панике, возможно и беспокоиться-то не из-за чего. В большинстве случаев риск заражения вирусом невелик, если только придерживаться здравого смысла. Существуют способы обезопасить систему от заражения, практически не ограничивая ее возможностей. В гл. 7 приводится список того, что вы можете и чего вы не должны делать, если не хотите пропустить вирус в ваш компьютер. Как избавиться от вируса? (Подробное описание приводится в гл. 9.) Если ваш компьютер заражен, необходимо очистить систему от вируса. К моменту обнаружения вирус, скорее всего, уже успел многократно размножиться и заразить большинство программ. Вам необходимо отыскать все копии и уничтожить их. Простейший способ - воспользоваться ИСХОДНОЙ ЗАЩИЩЕННОЙ ОТ ЗАПИСИ резервной копией операционной системы на дискете; загрузите систему с этой исходной системной дискеты (убедитесь, что она защищена от записи, чтобы вирус не заразил вашу резервную дискету), отформатируйте жесткий диск и перепишите на него резервные копии всех файлов. Это весьма радикальный способ; он работает, если у вас есть чистые резервные копии и занимает много времени. Многие антивирусные программы из числа перечисленных в приложении предлагают возможности избавления от вирусов не такими радикальными мерами. В них используются разные методы, так что внимательно прочитайте описание, наши комментарии и инструкцию по пользованию пакетом. Исправление повреждений Если ваш метод избавления от вируса позволяет, вы можете попытаться исправить повреждения сами. Некоторые из перечисленных в приложении программ могут просматривать файлы в поисках вирусов и, обнаружив их, уничтожать. Если вирус изменил только такие объекты как таблицу размещения файлов (FAT), вы можете попробовать восстановить свои файлы, используя специальные средства, называемые утилитами. Типичными примерами являются Norton Utilities и торских правах. Кстати, открытие программы как файла данных в текстовом редакторе может быть опасно. Ничего не меняйте в файле! Не записывайте его на диск. 11) Мы повторяем о резервных копиях на протяжении всей книги. Однако вопрос настолько важен, что о нем стоит говорить снова и снова. Эта единственная мера, применяемая своевременно и регулярно, оплатит сторицей ту сумму, которую вы потратили на приобретение данной книги.
26 Компьютерный вирус: проблемы и прогноз PCTOOLS для систем DOS и Disk 1st Aid, MacTools и ResEdit для "Макинтошей". Если вы сознаете, что вы делаете, эти средства позволят вам восстановить все, что только возможно, после нанесенных вирусом повреждений. Однако в неумелых руках эти средства могут быть опасными. Если вы не понимаете, что вы делаете, то можете нечаянно причинить больше неприятностей, чем какой бы то ни было вирус. Мы поговорим об этом подробнее в гл. 9. Не всякое повреждение удается исправить. Взбесившаяся или зараженная программа может физически повредить части вашего компьютера, а это не может быть исправлено программными средствами. Если ваши данные сильно искажены, может оказаться невозможным восстановить все файлы или по крайней мере это может занять больше времени, чем требуется, чтобы набить их заново. Ваша единственная надежда в этом случае - резервные копии. Вы их делали регулярно, не правда ли? Теперь давайте определим новый термин: FUBAR, что означает "Fouled Up Beyond All Recognition" - "Искажено До Полной Неузнаваемости". Этот термин, возможно, знаком тем, кто сам пишет программы. Он обозначает ситуацию, когда вы знаете, что что-то работает неверно, но все настолько запутано, что вы не понимаете, что именно, не говоря уже об исправлении этого чего-то. Все хорошие программы, чтобы не терять свое реноме в глазах пользователя, включают в себя блок FUBAR для обработки ситуаций, не предусмотренных программистом. Если вы столкнулись с необходимостью исправления нанесенных вирусом повреждений, ваше любимое средство восстановления файлов не помогает и у вас нет адекватных резервных копий файлов, то вы составите собственное мнение о том, что же такое FUBAR. ЧТО МОГУТ СДЕЛАТЬ РАЗРАБОТЧИКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Коротко говоря, разработчики программного обеспечения могут уменьшить вероятность переноса вирусов при посредстве их программ следующими методами: следить за безопасностью собственной системы, следить за безопасностью всех этапов процесса разработки и тиражирования, кодировать программы или производить проверку контрольной суммы и
Введение 27 пересылать правильное значение контрольной суммы или ключ не тем путем, каким пересылаются дискеты с самой программой. Один из возможных способов - пересылать ключ или контрольную сумму при получении регистрационной карточки пользователя. Если программы изначально были стерильными и если они не подвергались изменениям перед тем, как попасть к пользователю (что проверяется совпадением контрольной суммы), то по крайней мере разработчик не будет распространять зараженные программы. Разработчикам следует брать на себя перед покупателями юридические обязательства, что их программы не содержат вирусов, если фабричная упаковка цела. Мы обсудим возможности разработчиков в гл. 12 и рассмотрим юридические аспекты в гл. 10.
Глава 2 МАСШТАБЫ РАСПРОСТРАНЕНИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ Мне вспоминаются старые добрые времена, когда компьютеры были гигантами, системщики - шаманами, а программисты пробивали перфокарты. Вся история компьютерных вирусов - это лишь малая часть истории использования компьютеров с целью совершения общественно порицаемых действий. В этой главе описаны некоторые "агенты" - сегодня мы назвали бы их программами-диверсантами, - настолько широко использовавшиеся для порчи компьютерных систем, что многие из них получили собственные названия, как, например, "логические бомбы" или "метод салями". В среде программистов ходят легенды о вытворяемых этими агентами проказах. Наш собственный опыт такого рода восходит еще к середине шестидесятых годов. Честно говоря, когда мы соревновались в розыгрышах, мы считали это неплохой практикой. В те времена слово "хэкер" еще не имело неприятного оттенка. С тех пор многое переменилось. Тогда компьютерами пользовалось относительно небольшое число людей, а теперь - миллионы. Тогда было не так уж много компьютеров, сейчас - опять-таки миллионы. К сожалению, в любой группе людей найдется несколько неприятных типов, а группа пользователей компьютеров теперь настолько велика, что в ней довольно много извращенцев и вандалов. Вирусные программы - это довольно новое явление, по крайней мере если судить по литературным источникам. Первая публикация на эту тему появилась в материалах конференции по защите в 1984 г.1) Фред Коэн разработал эту достаточно неприятную концепцию и представил ее на конференции в 1983 г., когда он был дипломником. Идея была подхвачена: журнал "Scientific American" посвятил подобным темам подборки "Занимательный компьютер" в i984, 1985 и 1987 гг.2) Сегодня, когда число потенциальных жертв чрезвычайно велико, феномен компьютерных вирусов вызывает огромный интерес. D См. [Cohen 1984]. 2) См. Dewdney [1984, 1985 #1, 1985 #2, 1987].
Масштабы распространения компьютерных вирусов 29 Мы уже описывали случай, как один из авторов этой книги непреднамеренно создал квази-вирус еще в 1978 г. Хотя мы не встречали упоминаний в литературе, но подозреваем, что вирусные программы преднамеренно или случайно создавались и раньше. Принципиально это совсем несложно. С течением времени из забавной помехи вирусы превратились в весьма острую проблему. Основная причина перерастания вирусов из небольшого раздражителя в серьезную опасность - связь воедино миллионов компьютеров, использующих одинаковые операционные системы и прикладные программы, и практически всеобщее объединение компьютеров с помощью телефона. КОММУНИКАЦИИ, СВЯЗЬ КОМПЬЮТЕРОВ И РАСПРОСТРАНЕНИЕ ВИРУСОВ Вирусная программа может доставить немало неприятностей, если ваш лучший друг или коллега подбросит вам ее в качестве шутки. Однако это еще не определяет всей серьезности проблемы - ведь если не произойдет недоразумения, то реального вреда вирус не нанесет. Но что, если вирус вам подкинет совершенно посторонний человек? А как насчет вредителя из-за рубежа? Вы живете в Италии - вас не пугают вирусы Красных бригад? А если вы англичанин, не боитесь ли вы вирусов Ирландской республиканской армии? А что вы скажете по поводу вашей бывшей жены, которая недавно подала на вас в суд, требуя раздела имущества? А по поводу вашего бывшего служащего, уволенного на прошлой неделе? Образ вируса внезапно вырисовывается более отчетливо. Прежде всего, распространение вирусов выходит за рамки здравого смысла, которым руководствуются ваши друзья и коллеги в своих "шутках". Кроме того, в описанных выше ситуациях, человек-создатель вируса может нанести серьезный ущерб. И наконец, вредитель или вредительница может находиться в любой точке нашей планеты, где есть телефон. Лик нашей планеты изменяется со все увеличивающейся скоростью. Два века назад большинство людей за всю жизнь ни разу не удалялось от места своего рождения более чем на 30 миль. 60 лет назад путешествие с тихоокеанского побережья Северной Америки до атлантического занимало неделю. Сегодня один из нас говорил по телефону с Нью-Йорком, Мэрилендом, Торонто, Вашингтоном и Финиксом. В это время другой связывался по электронной почте с компьютерными системами в Нью-Йорке, Флориде и Калифорнии. Мы можем подсоединить наш компьютер к сети ЭВМ, объединяющей сотни тысяч пользователей по всей Северной Америке и посылать по электронной почте сообщения, которые адресат в любом месте Земли получит за считанные минуты. Коммуникации - это одно из направлений эволюции компьютеров в настоящее время (рис. 2.1 ).
30 Компьютерный вирус: проблемы и прогноз Всемирные коммуникационные сети Система BBS Мой персональный компьютер Персональные ЭВМ моих друзей Сообщения Данные Образы Программы Игры Рисунки Приложения В любую точку Земли и обратно ЭВМ электронной почты Большая ЭВМ с разделением времени Персональная ЭВМ моего врага Рис. 2.1. Глобальные сети ЭВМ. 'Рожденственская открытка" IBM и вирус MacMag Давайте рассмотрим два примера, наглядно иллюстрирующие взаимосвязь вирусов и коммуникационных систем: "рождественскую открытку" IBM и вирус MacMag. Они оба возникли примерно в одно и то же время, в декабре 1987 года. Одна из этих программ была явно вирусной, а природа второй точно не выяснена. В происшествии с "рождественской открыткой" программа объявилась в Европейской академической сети EARN. Известно, что она распространялась под видом сообщения электронной почты. Казалось, действия программы заключались в изображении на экране рождественской открытки, но одновременно она скрытно считывала информацию из файлов, содержащих адреса входящих и исходящих сообщений, и посылала свои копии по всем возможным адресам. Довольно быстро "рождественская открытка" проникла в Bitnet (академическая система Северной Америки, включающая функции электронной почты). Вскоре всемирная система электронной почты фирмы IBM PROFS была забита копиями этой программы.3^ Система электронной почты в течение неко- 3) "Рождественская открытка" по нашей классификации является не вирусом а, скорее, разновидностью червя. Программа не встраивалась в какие-либо другие программы, а только копировала себя с помощью функций системы электронной почты. Кроме того, от-
Масштабы распространения компьютерных вирусов 31 торого времени оставалась заблокированной, пока специалистам не удалось изолировать части системы и удалить все копии программы "рождественская открытка". В описанном случае программа, возникшая где-то в Германии, за очень короткое время распространилась почти по всей несоциалистической части мира. Даже если она и не была вирусной программой в полном смысле, она ударила по тысячам людей, заблокировав своими копиями электронную почту. Объектом поражения в данном случае стала система электронной почты на базе больших ЭВМ. Hani следующий пример посвящен аналогичному случаю, только на этот раз мы рассмотрим микрокомпьютеры, точнее, микрокомпьютеры "Макинтош". По сообщениям прессы за апрель - май 1988 года, монреальский издатель журнала MacMag в декабре 1987 года оставил "безвредный вирус" на двух машинах на складе компьютеров, в том же здании, что и офисы журнала. 2 марта 1988 года вирус сработал, и около 350 000 машин по всему миру после загрузки высветили на экранах сообщение "Peace" ("Мир"). После этого вирус удалил себя из систем, и все продолжалось как раньше. Этот вирус распространялся несколькими путями. Самым страшным было то, что он передавался посредством коммерческого программного обеспечения в фирменной упаковке: каким-то образом вирусу удалось проникнуть в Aldus Corporation до того, как она завершила работу над программой Freehand, и фирма, ничего не подозревая, начала распространять зараженные копии. Это заставило содрогнуться всех разработчиков и пользователей программного обеспечения - оказалось, что нельзя полностью полагаться даже на фирменные программы.4) Представьте себе что было бы, если бы вирус не был безвредным!5) В этих двух примерах описано нечто большее, чем просто связи между компьютерами. Вирусы являются столь опасной проблемой исключительно из-за количества поражаемых компьютеров и их пользователей. "Рождественская открытка" захватила выделенные для сообщений ресурсы на различных типах компьютеров, тем или иным путем подключенных к сетям EARN и Bitnet. Вирус MacMag заразил сотни тысяч "Макинтошей". Теперь уже нельзя полагать, что компьютеры надежно изолированы друг от друга. носительно этого происшествия имеются довольно противоречивые сведения: когда в январе мы связались с IBM, нам подтвердили только то, что система электронной почты была заблокирована. Распространение программы, видимо, заняло примерно сутки; приведение системы в порядок - около трех дней. 4) Мы думаем, что разработчики программного обеспечения примут меры, чтобы эта ситуация не повторялась, к тому времени, как эта книга попадет в ваши руки. Корпорация Aldus честно объявила о проникновении инфекции и предложила всяческую помощь пользователям, которые могли купить зараженный пакет. 5) Если вы поклонник жанра научной фантастики, обратитесь к книгам Richmond, Challenge the Hellmaker и E.E.Smith, Family d'Alembert #10 Revolt of the Galaxy. В обеих книгах описывается, как совместимость и коммуникации позволили людям (или разумному компьютеру) влиять на работу компьютеров в разных местах. В одном случае это влияние использовалось в правильных целях, в другом • наоборот. Однако и в том и в другом случае это влияние нежелательно, если воздействие оказывается на ваш компьютер.
32 Компьютерный вирус: проблемы и прогноз Такая круговая порука означает, что, с одной стороны, пользователи могут не обращать внимания на то, где находится компьютер, на котором они хранят свою информацию, но, с другой стороны, теперь все мы можем оказаться жертвами вирусов. Насколько быстро распространяются вирусы? С падением цен на модемы и вовлечением в системы коммуникации все большего и большего числа компьютеров, скорость распространения вирусов и покрываемое ими расстояние невообразимо возрастают. Вот наглядный пример - один из нас через несколько узлов коммутации сетей и подключенных к ним информационных систем переписал программу, предоставленную в Европе в общественное пользование тремя часами раньше. За это время программа пропутешествовала через три информационных системы. Взгляните на рис. 2.2, где процесс экспоненциального роста иллюстрируется числовым примером. В примере на рис. 2.2 мы исходили из того, что каждый человек делится информацией (секретом, программой или любой другой) ровно с четырьмя другими лицами в течение трех часов (то же время, что и в примере с копированием программы). В течение следующих трех часов каждый из этих четырех передает информацию четырем другим и т.д. За два дня информация может обойти большее число людей, чем живет на Земле. Конечно, это упрощенный пример: рано или поздно информация вернется к тем, кто ее уже знает (вспомните, как все вокруг вдруг начинают рассказывать вам один и тот же ,,cвeжий,, анекдот, даже если вы уезжаете в другой город); некоторые не станут передавать информацию дальше по цепочке, а другие переврут ее до неузнаваемости. Рассмотрим, с какой скоростью может передаваться информация или вирус, с учетом легкости связи, обеспечиваемой электронной почтой и BBS и увеличения интеграции этих систем. Все большее и большее взаимодействие компьютеров и возможность работать с одним и тем же программным обеспечением повсюду дают огромную выгоду. По правде говоря, заметна явная тенденция иметь компьютеры, как большие, так и персональные, способные работать с одними и теми же программами и операционными системами, и объединять друг с другом различные системы.6) Мы будем называть тенденцию к объединению компьютеров с единым форматом программ и файлов совместимостью. Совместимость означает возможность разделения данных, программ и компьютеров. К сожалению, это означает также, что созданный вандалом компьютерный вирус может крушить подряд все компьютеры.7) 6) Например, стратегия VAX фирмы Digital, система SAA фирмы IBM и различные разработки по UNIX. 7) Весьма детальное описание опасных последствий такой совместимости дано в работе [Madsen 1988].
Масштабы распространения компьютерных вирусов 33 Число Часы 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 информированных I 41 16 64 256 1,024 4,096 16,384 65,536 262,144 1,048,576 4,194,304 16,777,216 67,108,864 268,435,456 1,073,741,824 4,294,967,296 17,179,869,184 Часы Рис. 2.2. Экспоненциальный рост. Почему мы называем их вирусами? В медицинском смысле (с точки зрения обывателя) вирус - это разновидность возбудителей заболевания, очень маленьких и труднораспознаваемых, проникающих в клетки и присоединяющихся к ним таким образом, что при размножении клетки размножается и вирус. При некоторых определенных обстоятельствах вирус способен внезапно проявить активность, что может привести даже к смерти инфицированного организма. Считается, что именно вирусы вызывают у людей различные разновидности простудных заболеваний, оспу, полиомиелит и СПИД.8) Некоторые вирусные заболевания передаются очень легко (например, оспа или простуда), другими (такими, как СПИД) заразиться труднее. Компьютерные вирусы - это просто программы, такие же, как и все остальные. Однако люди, создающие вирусы, придают им способность внедряться в другие программы, создавать свои копии (т.е. размножаться) и при определенных обстоятельствах повреждать компьютерные системы или хранящиеся в них данные и программы. Название 8) СПИД - синдром приобретенного иммунодефицита. Вирус распространяется при половых контактах или при проникновении физиологических жидкостей, например зараженной крови. 2-954
34 Компьютерный вирус: проблемы и прогноз "вирусы" было дано потому, что многие свойства этих программ тождественны свойствам природных вирусов. Маскировка и размножение Компьютерные вирусы запрограммированы присоединяться к другим программам. Вдобавок, многие из них запрограммированы использовать весьма сложные способы маскировки от вас, своей жертвы. Способности внедрения в другие программы и использования маскировки позволяют отнести вирусы к классу программ, использующих "скрытый код" в качестве метода проникновения; обобщающее название для программ этого класса - "Троянский конь" или "Троянская программа". В "Илиаде" Гомера осаждающие войска греков после многих безуспешных попыток взять Трою штурмом, в конце концов прибегли к хитрости, чтобы проникнуть в стены Трои. Троянцы поклонялись божеству в образе коня. Греки построили статую коня и оставили ее троянцам, а сами сделали вид, что отступают, отдав победу троянцам. Однако конь был внутри пустым и скрывал отряд греческих солдат. Когда троянцы ввезли коня в город, отряд открыл ворота города наступающей армии и Троя пала. Компьютерные вирусы используют подобный метод для распространения: они внедряются в другие, полезные, программы и проникают в вашу систему при запуске нужной или интересной программы. Затем вирус оставляет свои копии во всех местах, куда только может добраться, размножается, а может затаиться и ждать определенного сигнала. Распространение Обычно вирус первым делом распространяет свои копии. Он пытается проникнуть в такие места, откуда он будет запущен при запуске каких-либо полезных программ. Из-за большой скорости работы компьютеров вирус может за считанные секунды размножиться в огромном количестве экземпляров. Если вирус проникнет в сеть или систему общественного доступа, он может заразить тысячи и миллионы пользователей за несколько недель или даже дней. Вирусы MacMag и "Рождественская открытка" - наглядные тому примеры. Итак, предположим, вирус внедрился в другую программу, маскируется пассивно либо активно, искажая информацию, и размножается. Для вас это сказывается в том, что он занимает ресурсы, для которых вы могли бы найти применение получше. Уже и это может быть достаточно неприятно: программа "Рождественская открытка" застопорила работу огромной международной системы электронной почты, попросту заняв все доступные ресурсы.
Масштабы распространения компьютерных вирусов 35 Нанесение вреда Действительная проблема возникает тогда, когда вирус получит тот самый сигнал, которого он дожидается, и перейдет к по-настоящему вредным действиям. В гл. 3 описаны некоторые из тех действий, в которых были уличены вирусы. На рис. 2.3 показан один из примеров вредительства - заполнение нулями части памяти. На рисунке изображена модель памяти в трех состояниях. На первой стадии память содержит то, что и должна хранить. На второй появляются следы червя - последствия присутствия программы-червя в вашей памяти. Червь просто передвигается по памяти случайным образом или направленно в любое доступное пространство. При движении он копирует себя на новое место, а там, где была полезная информация, оставляет за собой нули. Пройдет не так много времени и наличие нулей скажется на том, чем заняты вы сами (если только вы тоже не заняты преднамеренным распространением нулей). Улики исчезают при перезагрузке компьютера: червь может стартовать заново или не стартовать, в зависимости от того, какие программы вы запускаете. Вы наблюдаете только, что программа, с которой вы работаете, внезапно перестает функционировать или ведет себя хаотично, когда обнаруживает нули на месте машинных команд или регулирующих ее работу данных. Поскольку улики при перезагрузке исчезают, понять, что случилось, может быть совсем непросто. Вирусная программа на нижней картинке - это следующий шаг в развитии. Вдобавок к простому копированию себя на новое место, как делает червь, вирус размножается. На этой картинке показано, как каждая новая копия вируса начинает самостоятельно путешествовать по памяти (или, может быть, по вашей дискете); кроме мусора, вирус оставляет на своем пути собственные копии, готовые приступить к действию по некоторому сигналу. Даже если вы сообразите, что происходит, вам необходимо обнаружить и ликвидировать все копии вируса, чтобы быть в полной безопасности, иначе все начнется сначала. Ранее мы описали процесс экспоненциального роста. Размножение вируса происходит так же. Промежуток времени между созданием копий может измеряться не часами, а ничтожными долями секунды; ваш компьютер может серьезно заболеть меньше чем за секунду.9) Рис. 2.3 с равным успехом может быть моделью операционной памяти вашего компьютера или файловой системой на жестком диске, или каким-либо другим объектом, оказавшимся доступным для вируса. Вирус может прекратить размножение при обнаружении некоторого сигнала (например, выпадения числа 13 на пятницу по системным часам), но вы можете иметь в компьютере огромное число экземпляров вируса до того как поймете, что заразились. 9) Эксперименты показали, что вирус спокойно может полностью заразить персональный компьютер в течение двух секунд с момента его активации. 2*
36 Компьютерный вирус: проблемы и прогноз ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX ABCD EFGH IJKL MNOP QRST UVWX Рис. 2.З. Память, следы червя и вред от вируса.
Масштабы распространения компьютерных вирусов 37 НЕКОТОРЫЕ НАШУМЕВШИЕ ВИРУСЫ Приведем описание нескольких наиболее знаменитых из гуляющих по миру вирусов. Это должно помочь вам понять, с какой проблемой вы столкнулись в лице компьютерных вирусов. Обезьяна на шее Вирус компьютеров "Макинтош" "Обезьяна на шее", возможно, уже стерт с лица Земли: люди стремятся поскорее избавиться от программ, содержащих вирусы, как только они обнаружат, что заразились. Про вирус сообщалось, что эта программа выдает на экран симпатичную картинку с обезьянами, делающими всяческие акробатические трюки. Пока обезьянки прыгали, программа создавала в различных местах системы свои копии, а затем уничтожала каталоги файлов на жестком диске. Крабы Вирус CRABS ("Крабы") был создан в качестве развлечения в лабораториях Bell фирмы AT&T.10) В исследовательской среде этих (да и других) лабораторий было и остается принятым "играть" с компьютером. Такие игры являются развлечением для участников, но часто рождают новые плодотворные идеи. Вирус CRABS был разработан в процессе изучения последствий нарушения некоторых правил работы с новым по тем временам типом экранного интерфейса, ныне хорошо известным всякому, кто видел компьютер "Макинтош", среду Windows фирмы Microsoft или программу Presentation Manager. В процессе тех же исследований были разработаны и другие средства, оказавшиеся полезными, например "увеличительное стекло" для картинки, позволяющее приблизить и более детально рассмотреть часть экрана. Рис. 2.4 демонстрирует результаты работы вируса CRABS на экране компьютера "Макинтош". В верхней части рисунка показан экран вскоре после того, как на нем появилось несколько крабов. Крабы выедают картинку по краям дисплея, и довольно скоро экран выглядит как поеденный молью ковер. Как вы можете увидеть в нижней части рисунка, такую картину довольно трудно не заметить, причем крабов нельзя остановить, кроме как выключив компьютер или терминал. Исходная версия программы CRABS породила клоны, оставляющие на экране следы, похожие на звериные. Она также стимулировала возникновение эквивалентов вакцин, упомянутых в приложении, поскольку пользователи пытались найти способы остановить нашествие крабов, улучшить их и т.д. Вряд ли можно где-нибудь увидеть исход- Ю) Вирус CRABS описан более детально А.К. Dewdney в журнале Scientific American в рубрике Computer Recreations, см. [Dewdney 1985 #2].
38 Компьютерный вирус: проблемы и прогноз ную программу CRABS, но ее потомков можно встретить в большинстве университетских или исследовательских компьютерных систем и в большинстве систем общественного доступа. Существуют программы типа CRABS для микрокомпьютеров с системой DOS, "Макинтошей" и многих миникомпьютеров и больших машин. Программа CRABS в том виде, как мы ее описали, - это, скорее, червь, а не вирус.11) Однако были сообщения о вирусах, распространяющих CRABS.12) SCORES SCORES - это еще один из вирусов компьютеров "Макинтош". Видимо, первые сообщения о нем появились в феврале 1988 года,, хотя он мог появиться еще в сентябре 1987 года. Было обнаружено несколько симптомов, включая проблемы с использованием устройства SetStartup, трудности с печатью файлов программ Excel и MacDraw и неожиданные сбои работающей системы. Тщательное исследование зараженных систем открыло еще два симптома: Пиктограммы альбома для вырезок и записной книжки могли оказаться поврежденными, так что вместо изображения обычной пиктограммы, напоминающей крохотный компьютер Macintosh Plus, они изображаются в виде пиктограммы стандартного документа, которая выглядит как лист бумаги с завернувшимся правым верхним углом; Исследование с помощью такого средства как ResEdit или пакетов, отображающих невидимые файлы, выявляет наличие двух таких файлов в системном каталоге с названиями Scores (отсюда и название вируса) и DeskTop. Как только вирус был идентифицирован, программисты реконструировали его, чтобы определить, что он делает и как он работает.13) Они обнаружили, что после инфицирования системы-реципиента вирус некоторое варьирующееся время находится в неактивном состоянии, а затем выполняет определенные функции. Через два дня он начинает заражать другие программы. Через четыре дня вторая часть вируса начинает отслеживать ресурсы типов ERIC и VULT. Если вирус находит эти ресурсы в работающей программе, он вызывает сбой системы. Через семь дней вирус вызывает частые сбои системы, как только выполняющаяся программа, содержащая ресурсы ERIC и VULT, выполняет попытку записи на диск. 11) См. определения червей и вирусов в глоссарии. 12) Если вы прочитаете вслух это предложение кому-нибудь, кто не знает, что за книгу вы цитируете, его реакция лишний раз подчеркнет, почему сопоставление компьютерных вирусов и человеческих заболеваний оказалось столь популярным. 13) [INFOMac], Vol. 6, Nos 40 (23 April 1988), 43 (26 April 1988), 46 (4 May 1988).
Масштабы распространения компьютерных вирусов 39 System Foldl 402К available El i i ImageWriter Finder Scrapbook File Note Pad File Laser Prep ED Clipboard File и в System iiiP,:'^:: m ^^ЫШ^^ 393K in|P>K ** дР ImageWriter ^ t Finder Scrapbook File Note Pad File ♦ТЖГ Laser Prep О System О Clipboard File ED LaserWriter Рис. 2.4. CRABS на "Макинтоше".
40 Компьютерный вирус: проблемы и прогноз Хотя исследователи опубликовали детальную информацию о способе различить и излечить заболевание, вам вряд ли захочется самому пройти через это. Вирус очень заразен и может заразить даже ResEdit, с помощью которого вы пытаетесь изучить его. К счастью, были разработаны несколько антивирусных средств (описания некоторых из них см. в приложении). Они достаточно успешно распознают и удаляют SCORES, но вам возможно придется восстанавливать зараженные программы с исходных мастер-дискет. Были разговоры о том, что этот вирус является попыткой борьбы с программами, разработанными в Electronic Data Systems (EDS) в Далласе. 14) Кто бы ни был этот злоумышленник и какими бы мотивами он ни руководствовался (ни то ни другое до сих пор неизвестно), но факт остается: вирус был предназначен для нападения на программы с родителем или типом ERIC и VULT, а эти идентификаторы, несомненно, в свое время использовались фирмой EDS в ее собственных программах для внутреннего использования. К несчастью для всех остальных, оказалось, что вирус SCORES атакует и другие программы. Он достаточно пассивен, чтобы делать это слишком часто, так что если у вас нет копий тех программ, для борьбы с которыми он предназначен, то вы можете являться разносчиком вируса, не подозревая, что он находится в вашей системе. Никто не может знать, сколько копий вируса SCORES гуляет по свету. Он распространяется различными путями, включая и способ троянского коня: он был внедрен в копии программы сжатия данных, очевидно, без ведома разработчика программы. Вспышки вируса SCORES были отмечены в нескольких регионах Соединенных Штатов. Сама фирма EDS сообщила о 24 инфицированных машинах 19 апреля 1988 года. Вирус MacMag Мы уже описывали вспышку вируса MacMag. К несчастью, необычайно быстрое и широкое распространение этого вируса широко распахнуло ворота перед потенциальными вандалами, которые могли на практике убедиться, насколько это просто. Разработанный под покровительством Ричарда Брэндоу, издателя журнала MacMag, и Дрю Дэвидсона вирус представляет собой бомбу, которая распространяется по системным файлам и прикладным программам, размножаясь на своем пути. Если зараженные программы выполняются на чистой системе, они заражают ее. Когда вирус обнаруживает, что системные часы показывают дату 2 марта 1988 года, он показывает на экране "универсальное письмо мира" от сотрудников MacMag. Затем он удаляет себя из системы. Мы не получали никаких сообщений о том, что вирус повреждает или разрушает файлы, но некоторые пользователи утверждали, что на- 14) См. [Cortino 1988].
Масштабы распространения компьютерных вирусов 41 личие вируса вызывало сбои некоторых программ, блокируя работу системы. Фирма Aldus Corporation, которая оказалась вовлеченной в распространение программного обеспечения, зараженного вирусом MacMagy и вследствие этого понесла моральные и материальные потери, связанные с затратами на оказание помощи пользователям и на восстановление собственной репутации, может не согласиться с описанием этого вируса как "доброкачественного". Вирус ООП Вирус ООП, обнаруженный в Еврейском университете в Иерусалиме, - это то, что некоторые называют "политическим" вирусом. Вирус действует не особенно изощренно: он репродуцируется с такой скоростью, что оказывает заметный эффект на величину доступной памяти. Кроме того, вместо того, чтобы надолго замаскироваться и значительно распространиться за это время, он вызывает замедление работы компьютера до примерно одной пятой его обычной скорости через полчаса после своей активации. Он должен был начать разрушительные действия (в данном случае, уничтожение всех доступных файлов) в пятницу, 13 мая 1988 года - 40-ю годовщину последнего дня существования Палестины как независимого государства. Преступник не был обнаружен, но сама дата и факт нападения на израильские компьютеры привели к появлению названия "вирус ООП" и понятию политических вирусов. BRAIN BRAIN ("Мозг") - особенно хитрый вирус IBM-совместимых компьютеров, всплывший недавно в университете в Майами. Первичный штамм был относительно невредным и проявлялся в изменении метки тома зараженных им дискет на "(С) BRAIN". Он был создан разработчиками программного обеспечения в Пакистане, которые хотели прекратить незаконное копирование их программ; если вы не являетесь обладателем пиратской копии, то вирус всего лишь займет небольшую часть памяти. Однако появились сообщения о мутациях, оказавшихся более серьезными, и к тому же довольно легко вообразить простейшее видоизменение, при котором вирус не будет афишировать себя изменением метки тома при инфицировании дискеты. BRAIN проникает в систему дальше, чем некоторые другие вирусы, поскольку он инфицирует систему посредством кода, записываемого в загрузочный сектор диске ты; этот код выполняется и копирует вирус в момент загрузки системы, до того как могут быть загружены какие-либо антивирусные программы из файлов AUTOEXEC.BAT или CONFIG.SYS. Вирус BRAIN заражает каждую дискету, для которой вы воспользовались средствами DOS при просмотре каталога.
42 Компьютерный вирус: проблемы и прогноз Одна из особенностей, делающих вирусы, подобные BRAIN, особенно опасными, - это их способность к маскировке. Вирус BRAIN записывается в помеченные как плохие сектора части дискеты и активно противодействует стандартным утилитам, которые могли бы обнаружить его. Мы слышали о версиях вируса BRAIN, заражающих компьютеры "Макинтош", но не видели ни одной из них живьем. SEX.EXE SEX.EXE во многом подобен "обезьяне на шее", но только работает на компьютерах IBM и совместимых с ними. После того как вы перепишете программу и запустите ее, на экране появляются довольно интересные рисунки людей, занимающихся интересным делом. Пока вы смотрите, программа копирует содержащийся в ней вирус в вашу систему. Через какое-то время, зависящее от того, насколько часто вы пользуетесь системными утилитами, вирус портит таблицу размещения файлов на винчестере. Имеются сведения о "троянском коне'/ делающем то же самое на компьютерах "Макинтош" и отличающемся лучшим графическим оформлением. Согласно сообщению, эта программа, видимо, не размножается и, соответственно, не является настоящим вирусом. nVIR В начале марта 1988 года появились сообщения о вирусе nVIR на "Макинтошах". Он проявлялся в виде загадочных звуковых сигналов, подаваемых системой при запуске программ. Дальнейшие исследования показали, что вирус устанавливает в программы несколько ресурсов типа nVIR , а также модифицирует ресурс CODE 0 и устанавливает ресурс типа INIT 32. Эти изменения были обнаружены как в прикладных программах, так и системных файлах. Оказалось, что существует три варианта вируса: Первая версия просто подает звуковой сигнал в момент запуска прикладной программы, но не для всех программ и не каждый раз; Вторая версия пытается открыть MacinTalk и сказать "Don't Panic" ("He паникуйте") и Наиболее вредная версия случайным образом выбирает файл в системном каталоге и уничтожает его. Обнаружили, что первые два варианта более активны, чем третий и затирают его. Все три версии могут вызвать сбой системы при запуске программы (вирус выполняется только в эти моменты). Публиковались рассуждения о том, что эти версии могут быть различными стадиями развития одного и того же вируса или попытками нескольких про-
Масштабы распространения компьютерных вирусов 43 граммистов-вандалов воспользоваться разработками друг друга. Для вируса nVIR были разработаны антивирусные средства (см. приложение). HyperCard В августе 1988 года система CompuServe и журнал INFOMac известили всех подписчиков, что в стеке HyperCard обнаружен вирус. Этот вирус написан на языке HyperTalk, языке программирования, используемом системой HyperCard на компьютерах "Макинтош". Будучи скопирован, он размножается, распространяясь на другие стеки системы. Вирус печатает следующее сообщение: Привет от Гипермстителя! Я первый в мире вирус HyperCard. Я был создан 14-летним озорником-программистом, и я совершенно безвреден. Даешь Дукакиса в президенты в 88 году! За мир во всем мире! Счастливо. Затем вирус копируется в стек Ноте пользователя и в другие стеки, где его еще нет, и устанавливает таймер на три недели, когда он снова активизируется. Вирус утверждает, что он безвреден, и изучение его кода в целом подтверждает это. Можно, однако, сделать три важных замечания: 1. Текст вируса, написанный на языке HyperTalk, очень прост и действительно мог быть разработан подростком. Это - печальная новость для владельцев "Макинтошей" вообще и крайне неприятная для пользователей HyperCard по двум причинам. Во-первых, система HyperCard имеет встроенную функцию автоматической записи обновленных версий на диск без уведомления пользователя. Во-вторых, в старых версиях HyperCard - до версии 1.2-пользователь не имеет возможности защитить свои стеки от записи, кроме блокирования всего диска, да и этого нельзя сделать на большинстве жестких дисков в компьютерах "Макинтош". 2. Данный вирус назойлив, но, видимо, безвреден, но его с легкостью можно переделать в опасный и более заразный. 3. Сообщение "...За мир во всем мире..." свидетельствует, что вандал, создавший этот вирус, по крайней мере частично руководствовался действиями пресловутых разработчиков вируса MacMag. Стиль и тон послания позволяют сделать печальные и критические замечания по поводу морального облика и социальной ответственности злоумышленника.
44 Компьютерный вирус: проблемы и прогноз НОВЫЕ СИСТЕМЫ - НОВЫЕ ВИРУСЫ Чем больше возможностей, тем больше риска Первой настоящей операционной системой для микрокомпьютеров была СР/М (Control Program for Microcomputers - управляющая программа для микрокомпьютеров). Она позволяла по-настоящему реализовать возможности микрокомпьютеров того времени и некоторое время являлась единственной операционной системой. Смертельный удар СР/М нанесло появление DOS способной работать с 8-битовыми процессорами. DOS предоставляла программисту такие возможности, как использование 640 К памяти (до того 16 К считалось огромной величиной) и полностью возобладала над СР/М в конце 70-х - начале 80-х годов. Системе DOS неоднократно предрекали участь быть вытесненной в конце 80-х системой OS/2 или UNIX, или одной из небольшого числа других систем, полностью поддерживающих 16 и 32-битовые процессоры. Однако никто пока не знает, кто же окажется в конце концов победителем в этой борьбе. DOS не вымрет так же быстро, как СР/М, хотя бы потому, что миллионы машин работают с ней и что миллионы людей не могут так легко выбросить на ветер миллиарды долларов, затраченные на программное обеспечение и накопление информации. СР/М уступила быстро, поскольку была операционной системой всего лишь тысяч, самое большее, сотен тысяч машин. Что же делает этот вопрос интересным в контексте компьютерных вирусов? То, что с появлением качественно новых возможностей операционных систем появляются и новые вирусы. На компьютерах с СР/М было не так уж много (если вообще были) вирусов. IBM-совместимые машины были сравнительно малоуязвимы до появления на сцене совместимости и коммуникаций. С ростом возможностей системы вирусам становится легче распространяться; вирусы (как и остальные программы) могут совершать больше различных действий, и с ростом взаимных связей процесс идет очень быстро. Мы уверены, что всем будущим типам компьютеров придется тратить часть своих вычислительных мощностей только на то, чтобы удостовериться в отсутствии вирусов или по крайней мере в том, что они будут подвергаться опасности. MS-DOS и PC-DOS При наличии 10-15 миллионов копий DOS, самой распространенной операционной системы микрокомпьютеров в мире, очевидно, что эта система подвергается наибольшему риску. Помимо всего прочего, этих систем просто больше. DOS (Disk Operating System - дисковая операционная система) поставляется с каждым компьютером IBM и с со-
Масштабы распространения компьютерных вирусов 45 вместимыми с ними компьютерами. На сегодняшний день DOS - лидер среди операционных систем микрокомпьютеров, а система "Макинтош", которую мы рассмотрим позднее, занимает второе место со своими 1-2 миллионами компьютеров. Система DOS поставляется в одном из двух основных вариантов: PC-DOS, разработанной фирмой IBM, и MS-DOS, созданной в Microsoft. Существуют еще несколько мало отличающихся версий, но все (кроме пользователей со специальными требованиями и некоторых других исключений) используют DOS или другую операционную систему, которая по отношению к программам ведет себя точно так же. Работающие с DOS компьютеры можно называть IBM-совместимыми или РС-совме- стимыми. Обычно на работу программы совершенно не влияет конкретный изготовитель компьютера, важно только, чтобы он работал в системе DOS. Как мы уже говорили, несколько миллионов машин во всем мире работают в DOS. Для DOS были написаны тысячи программ. В DOS вложены миллионы человеко-лет в форме электронных таблиц, текстовых и бухгалтерских файлов и т.п. В прикладном смысле DOS везде одинакова, а это означает, что вирус, заразивший один IBM-совместимый компьютер, с таким же успехом может заразить и каждый из остальных нескольких миллионов. OS/2 В течение долгого времени казалось, что OS/2 (разрекламированная как многопользовательская операционная система для новейшего поколения персональных компьютеров фирмы IBM) была фиктивным программным обеспечением. Поздним летом 1988 года стало, наконец, возможным достать копии операционной системы;15) однако пока что для нее разработано очень небольшое количество прикладных программ. Многие считают, что она вытеснит DOS в ближайшие 2 или 3 года, другие с этим не согласны. Но с уверенностью можно сказать, что наряду с прочими программами, будут созданы и вирусы; OS/2 прекрасно вписывается в общую тенденцию к увеличению совместимости, а это именно тот фактор, который превращает компьютерные вирусы из малозаметного потенциального раздражителя в очень серьезную проблему. С другой стороны, OS/2 поддерживает многопользовательский режим и имеет встроенные средства защиты. Вследствие этого, она так же как системы миникомпьютеров и больших ЭВМ, может оказаться менее уязвимой, чем DOS. 15) Первоначально была объявлена дата выпуска - примерно январь 1987 г.
46 Компьютерный вирус: проблемы и прогноз "Макинтош" Компьютер "Макинтош" впервые был представлен фирмой Apple в начале 1984 года, и программисты очень скоро обнаружили, что его операционная система базируется на совершенно иных принципах, нежели другие операционные системы. Вместо выдачи команд для выполнения некоторого действия пользователь может выбрать специальным устройством под названием "мышь" одно из действий, предлагаемых на выбор в выскакивающих меню. Например, пользователь может скопировать файл, установив на экране курсор, следующий всем передвижениям мыши, сначала на рисунок, или пиктограмму, файла и нажав при этом кнопку мыши, а затем выбрать команду "Duplicate" ("Копировать") в меню. Скопировать весь диск целиком - еще проще: вы нажимаете кнопку мыши, когда курсор указывает на изображение копируемого диска, и "перетаскиваете" его на изображение того диска, куда вы хотите его скопировать. Пользователям никогда не приходится печатать такие загадочные сообщения, как copy a:\*.* b:\*.* or $duplicate gold:?.? ok Жизнь пользователей вдруг стала намного приятней, и тысячи людей открыли для себя компьютер, действуя под лозунгом "машина - для всех". За всю эту кажущуюся простоту и удобство приходится платить - программистам пришлось научиться совершенно новому способу писать программы. Чтобы обеспечить соблюдение тех стандартов, которые фирма Apple с таким усердием разрабатывала и воплощала, программистам пришлось создавать программы, все взаимодействие которых с операционной системой компьютеров осуществлялось посредством набора стандартных процедур ToolBoXy встроенных в сам компьютер (см. определение термина ROM в глоссарии). Эти процедуры вызываются всякий раз, когда программист хочет получить доступ к какому-либо ресурсу машины и действуют как переводчик или посредник между прикладной программой и аппаратным обеспечением. Поскольку все программы "Макинтошей" должны пользоваться средствами ToolBox, они обычно достигают одного эффекта одним и тем же методом, по крайней мере настолько, насколько об этом может судить пользователь. Простейшие навыки, такие как открытие или запись файла или операция выбора, приобретенные при создании одной программы, обычно переносятся и на последующие.16) Так какая же связь между вирусами и Маками? Вспомните, что вирус - это программа, т.е. последовательность машинных инструкций. Поскольку вирусы "Макинтошей" должны взаимодействовать с опера- 16) Преподаватели, работавшие как с компьютерами "Макинтош", так и с IBM, утверждают, что процесс обучения студентов аналогичным навыкам занимает на "Макинтошах" в 2-6 раз меньше времени, чем на других системах.
Масштабы распространения компьютерных вирусов 47 ционной системой, злоумышленнику надо приобрести новые навыки, если он хочет разрабатывать вирусы. Это значило, что вирусные программы встречались на "Макинтошах" реже, чем на других компьютерах. Вначале пользователям не надо было так опасаться. Увы, ситуация изменилась. С конца 1987 года частота появления вирусов на "Макинтошах" все возрастает. Видимо, вандалы многому научились: некоторые из открытых вирусов достаточно сложны и встречаются во всем диапазоне от "безобидных" сообщений до вероятного промышленного саботажа и мести. (См. выше раздел "Некоторые знаменитые вирусы".) Одновременно с новым урожаем вирусов появлялись и новые антивирусные средства. Большая их часть предназначена для распознавания одного или нескольких уже известных вирусов, их уничтожения (более или менее успешного), а также восстановления нанесенного ими ущерба. В приложении обсуждаются некоторые из этих программных продуктов. Вирусы и большие ЭВМ Достаточно странно, но вирусы не являются большой проблемой на больших ЭВМ. В главе 1 мы привели некоторые причины этого явления. Давайте рассмотрим их теперь подробнее. Вирусы и разделение времени Чтобы быть точными, нам следовало бы описывать не большие ЭВМ и систему разделения времени, а пакетную и диалоговую среды программирования. Мы не делаем этого здесь, потому что все большие компьютеры, с которыми вам возможно придется столкнуться, используют оба метода работы. Больший риск представляет работа в диалоговом режиме, хотя бы потому, что компьютер используют тысячи пользователей, зачастую несколько сот человек в одно и то же время. Прежде всего, конфигурация каждой большой ЭВМ уникальна и не похожа на другие. Компьютеры обычно включены в очень сложную систему, часто с тысячами пользователей, каждый из которых работает за своим терминалом или микрокомпьютером и имеет свои характеристики. К самому компьютеру могут быть подключены сотни периферийных устройств, включая много видов запоминающих устройств, принтеры, контроллеры каналов ввода-вывода, коммуникационные устройства и другие. Когда системщики создают большую вычислительную систему, они начинают с генерации системы - процесса, во время которого они конфигурируют конкретную версию операционной системы для последующей инсталляции. Программа потенциального вируса не имеет никаких оснований полагать, что уязвимое место системы будет всегда находиться по адресу, скажем, 100, поскольку в процессе генера-
48 Компьютерный вирус: проблемы и прогноз ции эта часть системы может быть размещена в любом другом месте. Это означает, что для нападения на другую большую систему вирус должен быть намного сложнее - он должен сам уметь находить объекты нападения. Вторая причина меньшей уязвимости больших ЭВМ состоит в том, что их операционные системы устроены намного сложнее, чем операционные системы микрокомпьютеров и изначально предназначены для работы в многопользовательском режиме. Все без исключения многопользовательские системы включают в той или иной форме функции защиты. Им просто необходимо защищать пользователей друг от друга, иначе система будет неработоспособной. Наличие средств защиты препятствует внедрению и распространению вирусов. Напротив, операционные системы микрокомпьютеров обычно не содержат каких бы то ни было защитных функций. Еще одну причину того, что у больших систем возникает меньше проблем с вирусами, мы уже неявно указали при описании процесса генерации системы - наличие поблизости специалистов. На самом деле, среди персонала вычислительных комплексов всегда есть по крайней мере два работника (занимающих должности вроде администратора системы, руководителя группы безопасности или администратора базы данных), имеющие как профессиональные навыки по обнаружению вирусов, так и необходимые полномочия для борьбы с ними. Не считайте, однако, что у больших ЭВМ не возникает вообще никаких проблем. В их операционные системы вполне можно внедриться (список, приведенный в следующем разделе, взят из учебника по операционным системам больших ЭВМ). Просто используемые методы поражения должны быть другими. Пользователи больших систем подвержены воздействию друг друга, даже если они не подвергаются опасности извне системы. В случае типичного для больших ЭВМ компьютерного центра это могут быть тысячи людей. Прежде всего, любой из них может захотеть навредить работе другого пользователя или всей системы в целом и для достижения своей неблаговидной цели воспользоваться вирусом. И хотя те, кто не входит в данную систему, не подвергаются большой опасности, тем не менее под угрозой могут оказаться несколько тысяч пользователей. Во-вторых, программа микроЭВМ для большой машины выглядит как самый обычный файл данных. Поскольку большая система не испытывает никакого риска при пересылке такого файла, ничто не может помешать злоумышленнику использовать большие машины для передачи вируса от одной микроЭВМ к другой. Такие вещи случаются каждый день. Если внимательно проанализировать сообщения об обнаруженных на больших ЭВМ компьютерных вирусах, то из подтекста можно обычно понять, что эти компьютеры служили всего лишь передаточным звеном и сами, собственно, не были инфицированы. Видимо, именно так обстояли дела с вирусом ООП; он заразил компьютеры Amiga, будучи получен в виде файла от большой ЭВМ.
Масштабы распространения компьютерных вирусов 49 Появление микрокомпьютеров и их использование в качестве терминалов в системах с разделением времени открыло новые пути возможному нападению вирусов. В отличие от обычных "глупых" терминалов, микрокомпьютер может выгружать файлы из системы, изменять их, затем переписывать их обратно в систему. Это один из путей возможной передачи вируса. Также в отличие от "глупого" терминала, микрокомпьютер выполняет свои собственные программы, следовательно, наличие вируса в программе большой ЭВМ может повлиять на программы микрокомпьютера. Здесь мы видим опять-таки, что компьютерные вирусы перестают быть просто досадной помехой тогда, когда совместимость компьютеров позволяет им распространяться с большой скоростью на громадные расстояния. Пожалуй, основная угроза, которую в ближайшем будущем может представить распространение вирусов для больших ЭВМ, связана с использованием системы UNIX и языка Си. Являясь воплощением феномена совместимости, этот язык и операционная система постоянно расширяют сферу своего влияния как в направлении больших ЭВМ, так и в сторону микрокомпьютеров. Это означает, что уже сейчас вирус, действующий в UNIX, способен заразить и микро-, и мини-, и большие ЭВМ. И этот эффект совместимости с течением времени будет все более значительным. ТРОЯНСКИЕ КОНИ, САЛЯМИ И ПРОЧИЕ КОМПЬЮТЕРНЫЕ ШТУЧКИ Компьютерные вирусы - это не единственная опасность, о которой постоянно следует помнить пользователям. Мысль использовать компьютеры для совершения неблаговидных поступков далеко не нова. Вещи такого рода случаются с давних пор, так что имеется целый перечень наиболее распространенных методов проникновения в систему (естественно, вирусы входят в этот список). Приведем для примера список самых любимых способов, предназначенных для внедрения в компьютерные системы.17^ Большинство из них получили собственные названия. 1. Между строк. Для подключения к каналу связи полноправного пользователя, пока тот не работает, используется специальный терминал. Поскольку пользователь, сидя за терминалом, большую часть времени не использует канал (например, думает, читает сообщения с экрана или делает паузы между нажатиями на клавиши), оставшегося времени вполне хватает, чтобы кто-нибудь сумел влезть между строк со своими сообщениями, которые компьютер воспринимает так, как будто они посланы зарегистрированным пользователем. 17) Переработано из книги Fites Ph., Kratz M., Brebner A., Control and Security in Computer Information Systems, ed. Freeman W.H., Computer Science Press, 1988.
50 Компьютерный вирус: проблемы и прогноз 2. Просмотр. Пользователь просматривает всю компьютерную систему или файлы, пытаясь найти ценную информацию. В принципе, ваша система не должна открывать пользователям доступ, скажем, к таблицам паролей и другим важным данным. 3. Анализ интенсивности. Аналогично методу просмотра некто изучает, как часто вы устанавливаете связь, с кем, в какое время дня и по каким дням недели. Анализ интенсивности позволяет получить довольно полную информацию о ваших намерениях, не привлекая вашего внимания попытками вмешаться или изменить какие-либо параметры. 4. Отказ в ресурсах. Пользователь может спровоцировать сбой системы или вызвать ее незапланированный останов ("повесить ее"), запустив программу по бесконечному циклу. Нечаянно созданный вирус, описанный в гл. 1, и описанный выше вирус "Рождественская открытка" обусловили отказ системы в ресурсах всем остальным пользователям. 5. Замаскированный код. Программы могут содержать недокументированные фрагменты, делающие то, про что не сказано в руководствах. Примерами таких программ являются вирусы и черви. В программу могут быть помещены и другие типы скрытого кода, с результатами столь же ужасающими, что и в случае вирусов. 6. Прерывания. Программа-нарушитель может вызывать системные или программные прерывания; некоторые операционные системы позволяют программе пользователя для обработки прерывания перейти в привилегированный режим работы, обеспечивающий больше возможностей.18* Таким образом нарушитель может получить доступ к тем возможностям, которые обычно ему недоступны. 7. Разрыв связи. Пользователь завершает сеанс или его канал связи отключается, но система еще не дала подтверждения и не считает сеанс завершенным. Пока сеанс еще не закончен, в работу может включиться другой пользователь. Терминал или микрокомпьютер, позволяющий использовать метод внедрения между строк, вероятно, обладает необходимыми возможностями и для данного метода. 8. Маскарад. Нарушитель каким-либо образом узнает идентификатор и пароль другого пользователя и регистрируется в системе под видом его. Методы "между строк" или "разрыв связи", когда один пользователь действует под видом другого, являются разновидностями маскарада. 18) Обсуждение конкретных подробностей выходит за рамки данной книги. Этот принцип внедрения мало применим к микрокомпьютерным системам, поскольку те всегда работают в привилегированном однопользовательском режиме. На многопользовательских системах некоторые программные ошибки могут перевести программу в режим супервизора, или привилегированный режим. Если эти ситуации не обрабатываются с исключительной осторожностью, то можно таким образом (и так уже бывало) открыть путь проникновения в сложную операционную систему большой ЭВМ.
Масштабы распространения компьютерных вирусов 51 9. Обман оператора. Нарушитель может убедить оператора, скажем, выдать ему пароль (например, утверждая, что он только что изменил пароль и ошибся при вводе нового). 10. Подставка. Нарушитель перехватывает канал связи и заменяет сообщения системы и (или) пользователя своими собственными. Например, кто-либо может изобразить работу программы идентификации пользователей и таким образом узнать идентификатор и пароль пользователя. 11. Салями (широко известный метод обмана и злоупотреблений, не являющийся, строго говоря, методом взлома операционных систем).19) Классический пример - программа, суммирующая все отбрасываемые при округленном вычислении банковских сумм остатки на одном определенном счету. Когда все суммы округляются до целых центов, дробная часть отбрасывается.20) Каждый такой остаток меньше половины цента и практически незаметен, но результат, накапливающийся при обработке тысяч счетов, может быть значителен. Замечательная программа Mil Игры! Графика! Удовольствие! »3апусти меня!!!« Хи-хи-хи! И меня тоже запусти. Рис. 2.5. Троянский конь. 19) См., например, [Krauss 1979]. 20) Хотя этот жульнический трюк давно известен, он время от времени обнаруживается вновь. Кстати, с целью защиты потребителей, финансовые учреждения в США проверяются органами надзора с тем, чтобы убедиться, что ошибки округления не накапливаются на счету банка. Чтобы эти неизбежные ошибки округления вообще не накапливались, а компенсировали друг друга, используются стандартные математические методы.
52 Компьютерный вирус: проблемы и прогноз 12. Троянский конь. Это общее название методов внедрения, использующих замаскированный код. Программа содержит фрагменты, которых в ней быть не должно и которые открывают доступ к важной информации, или программа делает то, что не должна делать (рис. 2.5). Например, можно внедрить в систему "троянскую программу", которая будет симулировать стартовую картинку. После накопления идентификаторов и паролей пользователей программа запишет их в какое-либо доступное для злоумышленника место и удалит себя из системы (это будет маскарадом). Подобными "троянскими конями" в микрокомпьютерах являются бесплатные или копируемые утилиты сжатия дисков, наряду со сжатием данных на дисках распространяющие вирусы, а также многие компьютерные игры. ЧТО ЖЕ ДАЛЬШЕ? А дальше - новые вандалы будут разрабатывать новые вирусы и новые программисты будут создавать новые антивирусные средства. Будут проводиться судебные разбирательства, и некоторые дела будут проиграны потому, что существующие законы не всегда применимы к таким вещам, как компьютерные вирусы, или потому, что обвинение не знакомо с этой новой формой преступления. Хочется надеяться, что когда-нибудь вирусы и подобные им посягательства на компьютеры будут расцениваться как вандализм и, как только люди разберутся в происходящем, они перестанут восхищаться робингудовским образом непризнанного гения и поймут, что распространение компьютерных вирусов - это такой же вандализм, как вспарывание автомобильных шин ради развлечения. Но все это будет потом. Мы же должны понять, что происходит прямо сейчас. К сожалению, прошло еще слишком мало времени после атаки для адекватной ответной реакции. Это значит, что вскоре мы столкнемся с огромным числом новых вирусов. Существует даже программа генерации вирусов с интерфейсом на основе меню: даже если у вас нет достаточных технических навыков, вы имеете возможность создавать вирусы. По крайней дважды был опубликован текст программ реальных вирусов. Нет никаких оснований полагать, что таких публикаций больше не будет. Еще один фактор ближайшего будущего - возросшая совместимость. Информационная революция сейчас на самом подъеме. Операционная система UNIX распространяется с миникомпьютеров, для которых она была разработана, как в сторону больших ЭВМ, так и в сторону микрокомпьютеров. Производители технического и программного обеспечения соревнуются друг с другом в предоставлении пользователям все большего доступа к другим компьютерам и разделении программ и данных. Именно это обобществление и совместимость дают вирусу воз-
Масштабы распространения компьютерных вирусов 53 можность мгновенного инфицирования многих систем и распространения со скоростью лесного пожара. Мы рекомендуем учитывать реальную опасность и пользоваться профилактическими средствами. Следуя приведенным в книге советам, вы уменьшите риск. Хотя вероятность заражения нельзя свести к нулю (по крайней мере, если не забаррикадироваться наглухо от информационной революции) вы можете существенно снизить ее, руководствуясь здравым смыслом. Многие исследователи пользуются аналогией со СПИДом. Человечество не собирается прекращать заниматься сексом, но, практикуя безопасный секс, можно ограничить распространение вируса ВИЧ. Практика "безопасного гекса" ограничивает распространение компьютерных вирусов.21) Помните, что и другие осведомлены об угрозе вирусов. Досле печального опыта фирмы Aldus Corporation, все разработчики программного обеспечения наверняка пересмотрели свои производственные процессы и процедуры, чтобы с ними ничего подобного не случилось. Вирусы не считались большой проблемой вплоть до начала 1988 г., теперь мы все настороже. Кроме того, не так уж мало народу разработало или разрабатывает в настоящий момент программы для поиска уже известных вирусов, позволяющих вам защититься от инфекции или сделать вашу систему неуязвимой для их атаки. Если каждый из нас внесет свою лепту в борьбу с вирусами, то через некоторое время вирусы станут всего лишь небольшим раздражающим фактором. Однако пока они утихомирятся, нас, видимо, ждет немало интересного. 21) Некоторые, пользуясь аналогией со СПИДом, сравнивают фабричную упаковку дискет с презервативами. Будьте бдительны: аналогия, действительно, очень хороша, включая и то, что ни на презервативы, ни на фабричную упаковку нельзя полагаться на 100 %. Другой аналогией является оспа. Она передается при случайных контактах, и человечеству удалось избавиться от нее методами, сходными с теми, что мы рекомендуем для компьютерного использования. (Как и все аналогии, она ухудшается, если проводить ее слишком далеко; например, вирусы СПИДа и компьютерные вирусы мутируют, а вирус оспы - нет.)
Глава 3 ЧТО ИМЕННО МОЖЕТ СДЕЛАТЬ ВИРУС? Итак, час пробил! Сегодня - черная пятница и в системе уже набралось 50 копий моей программы. Я готов к диверсиям - поглядим, что мне предстоит совершить. К счастью, компьютерный вирус не всемогущ - это в конце концов только программа, называемая вирусом потому, что она способна размножаться и записываться в другие программы. Как и всякая программа, вирус запускается при выполнении определенных условий и сфера его распространения ограничивается доступным объемом памяти вашего компьютера и связанных с ним машин. Но в отличие от обычных программ злонамеренный вирус способен на многие темные дела, вплоть до вывода из строя вашего компьютера. Известные на настоящий момент вирусы могут: - "Замусорить" свободную память компьютера.1) Вирус размножается, и каждая новая копия занимает определенное место, которое вы уже не сможете использовать для записи более нужной информации. Программа-вирус может заполнить весь диск или всю свободную память своими копиями или, возможно, шестнадцатеричными нулями. - Смешать все файлы.2) Компьютерные файлы расположены в долговременной памяти машины в определенном порядке (см. гл. 5). Вирусу ничего не стоит переставить части файлов так, что найти их будет невозможно, - даже если они по-прежнему хранятся на диске. - Испортить FAT.3) FAT - таблица размещения файлов - содержит информацию о порядке размещения фрагментов файлов на диске. Стоит только изменить в ней несколько записей - и вы схватитесь за голову. 1) [Computer Virus #1] 2) [Computer Virus #2] 3) [Computer Virus #1]
Что именно может сделать вирус? 55 - Испортить содержимое загрузочного сектора.4) Загрузочный сектор - специальная программа на винчестере или дискете. Если его изменить, то скорее всего, вы даже не сможете запустить ваш компьютер. - Отформатировать жесткий диск или дискету.5) Вирус может просто отформатировать диск, как это делается с помощью команды FORMAT. - Вывести сообщения на дисплей.6) Вирус MacMag выводил на дисплей вполне безобидное послание. Но это не значит, что и в дальнейшем все вирусы будут отличаться безукоризненными манерами; представьте себе появление на экране "заборных" выражений. - Выдать сообщение при распечатке.7) Вирусы могут также выводить сообщения на принтер. Казалось бы - пустяк, но вряд ли появление дюжины-другой отборных ругательств в текстах официальных писем обрадует ваших адресатов. - Перезагрузить компьютер.8) Несколько клавиш клавиатуры предназначены для перезагрузки компьютера. Вирусы могут симулировать нажатие этих клавиш и осуществить перезапуск по собственной инициативе, что по меньшей мере не вызовет у вас восторга. - Замедлить работу машины.9) Обычно программисты пишут программы так, чтобы они выполнялись как можно быстрее. Но что нам мешает создать неэффективную медлительную программу? И вирус нам в этом поможет. - Переопределить клавиши.10) Компьютер распознает сигналы, поступающие в систему с клавиатуры, с помощью таблицы определения кодов. Вирус может внести изменения в эту таблицу. - Заблокировать клавиатуру.11) 4) Описание стандартных антивирусных программ, например программы NTIVIRUS фирмы Orion Microsystems. 5) [Computer Virus #2] 6) [Computer Virus #2] 7) По сообщению д-ра X. Хайлэнда. 8) Информация предоставлена разработчиками антиьирусного программного обеспечения. 9) [Computer Virus #1] 10) [Computer Virus #2] 11) [Computer Virus #2]
56 Компьютерный вирус: проблемы и прогноз Если вирус уничтожит таблицу определения кодов клавиатуры, работа компьютера будет парализована. - Изменить содержимое программ или файлов.12) Некоторые вирусы изменяли случайным образом информацию, содержащуюся в файлах данных, и иногда пользователи замечали это слишком поздно. Более того, изменение программой-вирусом содержимого оперативной памяти приводит к появлению ошибок в результатах сложных расчетов. Все улики пропадают, когда вы вновь запускаете программу, чтобы повторить расчеты. - Испортить на физическом уровне жесткий диск или другие элементы компьютера.13* Известно несколько способов приведения в негодность персональных компьютеров в результате выполнения вирусных программ. Запуск подобных программ зачастую небезопасен и для самих пользователей. - Рассекретить информацию с ограниченным доступом. 14> В основном это касается систем с большим числом пользователей (например, системы, разделения времени). Представьте себе, что только вы имеете доступ к какой-либо конфиденциальной информации, например платежным ведомостям или результатам медицинского обследования сотрудников компании. Программа-вирус может переписать эти сведения в другое место, где с ними смогут ознакомиться все желающие. Однако все вышеизложенное - не повод для паники. Помните, ваша система находится в полной безопасности пока вирусная программа не запущена. Если вы не работаете с зараженными программами, вирусы не распространяются и не могут причинить вреда вашему компьютеру. 12) [Computer Virus #2] 13) [Computer Virus #3] 14) В некоторых материалах Агентства по национальной безопасности, посвященных защите компьютеров, сообщается о подобных случаях; однако для большинства пользователей, не связанных с проблемами национальной безопасности или с военными, проблема утечки информации не столь существенна.
Глава 4 КАК ВЕЛИКА ОПАСНОСТЬ? Ну, и где моя новая жертва? Как бы мне поскорее добраться до нее? С ума сойти. Вот не везет, так не везет - этот канал связи предназначен только для чтения. А что там дальше - нет, в самом деле, стоит ли тратить время на тот одинокий компьютер, если я могу проникнуть в эту BBS, связанную со множеством разных машин, и совершить увлекательное путешествие? Не поддавайтесь вирусофобии - объединение компьютеров - объективный процесс, ведь оставаясь в стороне от повсеместно идущей интеграции, вы лишаете себя возможности обмениваться новыми программами и идеями с другими пользователями. А снизить степень риска заражения вам поможет "безопасный гекс". ПИРАТСКИЕ КОПИИ Вы получаете пиратские копии программных средств (т.е. те, за которые вы не платили) от лиц, сознательно нарушающих закон. Неужели вы думаете, что эти люди неспособны подсадить вирус в дискеты с ворованными программами. Но даже если это и так, кто знает, не был ли заражен таинственный первоисточник? Вспомним слова Тома Кина- на из университета в Калгари: "Поосторожней с трофеями из мусорной кучи"1) - лучше не скажешь. BBS И ДРУГИЕ СРЕДСТВА СВЯЗИ BBS, или электронные доски объявлений, с точки зрения опасности заражения наиболее уязвимы. В настоящее время в мире насчитываются тысячи BBS, большинство из которых позволяют пользователям бесплатно записывать и копировать имеющиеся программы. Некоторые разработчики распространяют новые и исправленные версии посредством BBS. И если вы - один из миллионов обычных пользователей, боль- 1) [Graham 1988]
58 Компьютерный вирус: проблемы и прогноз ше всего вы рискуете, загружаясь из BBS (рис. 4.1). Посмотрите, что по этому поводу говорится в гл. 7. Особенно сильно рискуют люди, загружающие из BBS все новые и новые игры. Игровые программы быстро распространяются, постоянно обновляются и представляют собой незаменимое средство обмена новыми идеями. К сожалению, именно эти замечательные качества и вызывают тревогу: ничего не стоит "добавить" вирус в игрушку, а вот обнаружить его - задача не из легких. Пользователь, работающий с программами, маскирующимися под полезные утилиты для сжатия информации, также подвергается серьезной опасности, так как по имеющимся сообщениям, многие из этих популярных программ заражены. Но не работать с ними нельзя, потому что в большинстве BBS информация хранится и передается в сжатом формате (в целях экономии места и времени передачи) (рис. 4.2) и вам необходимо запустить дезархиватор. Таким образом, если в программе сжатия-восстановления содержится вирус, она может заразить все, что угодно. Программы сжатия и оптимизации диска также широко используются, а так как они предназначены для работы с теми частями вашей системы, в которые часто забираются вирусы, разрушительная деятельность "микроорганизмов" протекает беспрепятственно, и когда они обнаруживают себя, уже поздно что-либо предпринимать. Мы можем привести в пример парадоксальный факт: одна антивирусная программа сама распространяла вирус. Электронная пересылка файлов Промежуточные процессы: - Кодирование - Декодирование - Сжатие - Восстановление Промежуточные процессы: - Кодирование - Декодирование - Сжатие - Восстановление BBS Мой компьютер! Рис. 4.1. Запись программ в BBS и обратно.
Как велика опасность? 59 При работе над этой книгой мы загружали в компьютер программы с различных BBS, учитывая рекомендованные правила "безопасного гекса", и призываем вас последовать нашему примеру. Не загружайте программ с BBS, если вы не уверены в надежности их операторов. Надежными мы считаем большие BBS общественного доступа, такие как CompuServe, различные издательские BBS и BBS, с операторами которых вы можете связаться и лично убедиться в их надежности. Когда вы свяжетесь с операторами, постарайтесь узнать, что они предпринимают для сохранения стерильности системы. Если они бездействуют, не пользуйтесь их услугами. Если же у них имеется четкая программа предотвращения заражения системы и распространения вирусов, вы можете спокойно работать с ними. Следует избегать контактов с BBS, позволяющих разжиться пиратскими копиями - безнравственные люди, нарушающие авторские права, способны и на другие "подвиги" - например ввести в систему какой-нибудь вирус. Программа на большой ЭВМ 1000101001001 0010010100101 1001010010101 1010001010001 1010011101001 0010100110100 1010010010101 1001010101001 1000101001001 0010010100101 1001010010101 1010001010001 1010011101001 0010100110100 1010010010101 1001010101001 Переписанная в ПК программа Архивирование Преимущества: Расходы на передачу ниже Продолжительность передачи меньше Эффективное использование объема диска ERERTERTEET DSHTYHJEU7I NBHJTGYIOLDF JYTYJUHT6YUH KL TY45635TY ETYUJ45Yb6UT Недостатки: Сжатую программу перед использованием надо восстановить Пользователь должен иметь копию программы-деэархиватора Дезархи- вирование / ERERTERTEET DSRTYHJEU7' NBHJTGYIOLDF JYTYJUIIT6YUH KL TY45635TY ETYUJ4SYS6UT Замечание: Эта схема иллюстрирует копирование программ из BBS. Пользователь может аналогичным образом скопировать в BBS программу или файл данных. Рис. 4.2. Сжатие и восстановление. Перед загрузкой мы проверяли каждую так называемую "вакцину" всеми возможными средствами, включая проверенные антивирусные программы. Мы просмотрели каждый программный файл, чтобы убедиться в отсутствии в тексте многообещающих фраз типа "НА НА GOTCHA" ("Ха-ха, получил?"). Затем мы проверили каждую программу
60 Компьютерный вирус: проблемы и прогноз в отдельной системе, не связанной с нашим рабочим компьютером.2) Возможно, эти предосторожности покажутся вам излишними, но мы знали, что загружали ненадежные программы. И вам следует соблюдать осторожность, если есть вероятность, что переписанные программы заражены. ЭЛЕКТРОННАЯ ПОЧТА По крайней мере один из известных нам вирусов распространялся по электронной почте. Вы посылаете заказ, читаете полученную корреспонденцию (т.е. записываете поступившее сообщение или программу в ваш компьютер) и voila! - ваша система инфицирована. Нам не удалось проверить данное сообщение, и поэтому вполне вероятно, что это всего лишь одна из бесчисленных страшных историй о всемогущем вирусе. Обычно несчастья получателя электронной почты не связаны с программным обеспечением, а тем более с вирусами (достаточно вспомнить "Рожденственскую открытку" в IBM-совместимых компьютерах).3) Пакетная программа в процессе своей нормальной деятельности вполне способна захватить все доступное место в системе электронной почты. Мы с трудом можем представить себе, каким образом вирус, подписавшийся к сообщению, передаваемому по почте, способен запуститься. Во многих системах электронной почты передаются только тексты ASCII (в виде обычных писем, которые вы сами набиваете на компьютерах), и вряд ли кто-либо спутает их с выполняемыми файлами и попытается запустить.4^ Конечно, большего внимания требуют BBS или системы электронной почты, позволяющие передавать исполняемые файлы (см. предыдущий раздел). СЛУЧАИ САБОТАЖА Среди людей, работающих на компьютерах, находится немало недовольных своим положением. Как отомстить обидчикам? Очень просто 2) В процессе проверки мы не обнаружили ни одного из известных вирусов, но одна "защитная программа" преподнесла нам сюрприз: в ней содержался новый вирус, который заразил тестовую систему. 3) Вопрос о "Рожденственской открытке" на IBM-совместимых компьютерах до сих пор не решен однозначно. Хотя многие называют ее вирусом, с технической точки зрения это червяк. Вполне возможно, что это даже и не программа вовсе. На экране дисплея появляется качественное цветное изображение рожденственской открытки с высоким разрешением, для сохранения которого требуется большой объем памяти. Лишние копии подобного произведения искусства займут всю свободную память любой системы электронной почты. См. также гл. 2. 4) Существуют программы, которые могут перекодировать непечатаемые символы, встречающиеся в программах или файлах в форматах текстовых процессоров или электронных таблиц в символы ASCII и обратно. Подобные вещи не происходят сами по себе, потому что вам нужно запускать специальную программу для осуществления как кодирования, так и декодирования информации. В противном случае передача сообщений по электронной почте не связана с риском заражения.
Как велика опасность? 61 - ввести в систему сложный вирус (как произошло, например, в случае с вирусом SCORES) или подбросить логическую бомбу. Дело облегчается тем, что этим людям хватает необходимых знаний и уж, конечно, они имеют доступ к вашей системе. Кроме того, вирусы могут "неожиданно" появиться в системе после производственных конфликтов. Ответственным за компьютерную безопасность в компании, где сложилась конфликтная ситуация, следует обратить на это особое внимание. Достаточно представить себе, что может произойти, если в программу, контролирующую каталитический крекинг нефти при рафинировании какой-нибудь умник подбросит логическую бомбу. Вам гарантированы миллионные убытки и огромное число человеческих жертв. ТЕРРОРИЗМ Откровенно говоря, мы считаем, что появление любой программы- вируса за стенами исследовательских лабораторий аналогично террористическому акту. Кроме того, мир изобилует настоящими террористическими группировками - среди них итальянские Красные бригады, японская Красная армия, Организация освобождения Палестины, Ирландская республиканская армия и т.д., - устраивающими диверсии в аэропортах, захватывающими самолеты с заложниками, убивающими ни в чем неповинных людей в оГщественных местах. А в Манифесте Красных бригад провозглашается цель - уничтожение компьютерных систем.5) В Японии одна из террорисгических группировок, проникнув в компьютерную сеть управления движением поездов, парализовала на несколько часов весь столичный общественный транспорт. Скорее всего, появление вируса ООП в Еврейском университете следует отнести к актам политического терроризма. Это действительно серьезная опасность. Единственное, что мы можем с уверенностью сказать, это то, что общая практика превентивных мер срабатывает и против засылаемых террористами вирусов. ПРОМЫШЛЕННЫЙ ШПИОНАЖ В идеале различные компании должны конкурировать между собой только за счет повышения качества продукции и снижения цен. Но это в идеале. Все мы знаем о существующей практике промышленного шпионажа. Время от времени экономические газеты сообщают о подобных случаях. Способов промышленного шпионажа очень много. Доходило даже до угроз отравить детские сладости или капсулы с медицинскими препаратами. Иногда отдельные служащие или бывшие работники компаний зашифровывают важную информацию и в обмен на ключ 5) [Bruschweiler 1985]
62 Компьютерный вирус: проблемы и прогноз к шифру требуют выкуп. Так чем же хуже программы-вирусы?65 Если подобной практикой занимаются безнравственные служащие компаний или даже руководители фирм, мы имеем дело с промышленным шпионажем, саботажем или обыкновенным вредительством. Вирус MacMag заразил программные продукты прямо у разработчика» и пользователи покупали зараженные дискеты в фирменной упа- ковке.7) Поставщик обменял все зараженные дискеты, затратив на это значительные средства. Это было непреднамеренным побочным эффектом в целом безвредного вируса, но могло оказаться и намеренным вредительством саботажников. Вирус может быть также введен и в сеть. Грамотно составленная программа-вирус способна многократно размножаться и распространяться в течение довольно долгого времени незамеченной. При широком распространении вируса практически невозможно полностью удалить его из сети.8* Представьте себе, что вирус в компьютерной сети вашей фирмы всего лишь переписал цифры последнего бюджета в компьютерную систему вашего основного конкурента. Вот отличный пример использования вируса в целях промышленного шпионажа. ФИНАНСОВЫЕ СИСТЕМЫ Там, где речь заходит о деньгах, степень риска возрастает многократно. Если вы получите доступ к финансовым системам, то сможете заполучить громадное количество денег в одно мгновение. (Случаи такого рода уже имели место, хотя пока с этой целью вирусы не использо- вались.9)) В компьютерных журналах часто появляются статьи, где обсуждается возможность получения доступа в финансовые системы с помощью вирусов и через микрокомпьютеры служащих фирм.10) Менее очевидно, что финансовые организации основываются на доверии. Вы полагаетесь на ваш банковский компьютер11). Как вы от- 6) Прочтите, например, статьи в майском-июньском номерах The Computer Law and Security Report за 1988 г. 7) Общественность так и не узнала, как вирус попал на дискеты. Процесс производства программных продуктов включает разработку программ, их проверку и копирование на дискеты. Часто за копирование программ отвечает специалист, не принимавший участия в разработке. Перед тем как программную дискету запечатывают, вирус может воспользоваться несколькими лазейками и пробраться туда. К примеру, кто-нибудь мог открыть пакет, заразить программы, а затем аккуратно упаковать их снова. Основные производители программного обеспечения хорошо осведомлены теперь о подобной опасности, и некоторые из них уже предприняли необходимые меры предосторожности. 8) Что вы предпримете, если все ваши резервные копии наряду с последними версиями файлов заражены? Вы можете избежать нового заражения с помощью шифрования, но таким путем вы не избавитесь от уже существующих вирусов. Конечно, можно отключить питание и перезагрузить компьютер, но это слишком дорогое удовольствие. °) По крайней мере до сих пор. Ю) Теоретически такая возможность существует, но на практике она вряд ли реальна. 11) Мы не столь доверчивы, так как хорошо представляем себе, насколько уязвимы компьютерные системы. Мы советуем вам проверять отчеты об использовании ваших счетов и кредитных карточек и в сомнительных случаях не считать, что компьютер всегда прав.
Как велика опасность? 63 реагируете, если обнаружится, что он заражен вирусом? Положите ли вы деньги в этот банк? В данном случае помимо угрозы ограбления банка, появляется риск стать жертвой промышленного саботажа. ШПИОНАЖ И НАЦИОНАЛЬНАЯ БЕЗОПАСНОСТЬ Вся военная структура и сфера национальной безопасности в силу своей специфики остались за рамками этой книги. Там за вирусами гоняются другие специалисты. Известно, что в Агентстве национальной безопасности США сотни людей заняты проблемой защиты от вирусных инфекций. Если вы по роду своей деятельности не связаны с этой деликатной сферой, мы советуем оставить эту тему для киносценаристов.12) 12) Интересующимся предлагаем почитать фантастику: "Shockwave Rider" Джона Врунне- ра, "Mind Killer" Спайдера Робинсона, "Eon" Грега Бэра или сериал Е.Е. Смита "Family D'Alembert", особенно 10 выпуск под названием "Revolt of the Galaxy" и посмотреть боевик "War Games".
Глава 5 ТОЛЬКО ДЛЯ СПЕЦИАЛИСТОВ: ТАК ЧТО ЖЕ ТАКОЕ ВИРУС НА САМОМ ДЕЛЕ? Ой-ей-ей! Это что - на меня навели электронный микроскоп? Даже вирус становится заметным, если рассматривать его с близкого расстояния. Как мы уже говорили, вирус - это компьютерная программа, размножающаяся путем внедрения в другие программы и выполняющая некоторые неописанные действия (обычно вредные). Большинство вирусов проникают в систему с помощью какой-либо разновидности Троянской программы (программы, которая кроме открытого выполнения основных действий, обычно полезных или по крайней мере безвредных, в то же время запускает вирус в вашу систему). Это хорошее определение, но что конкретно оно означает на более низком техническом уровне? В этой главе приводятся детальные сведения о том, как работают системы DOS и "Макинтош" и как вирус заражает их. Мы также еще раз рассмотрим BBS на базе новых сведений, полученных в первой части данной главы. АНАТОМИЯ ВИРУСА Итак, наш вирус довольно прост. На рис. 5.1 дана его блок-схема. На ней не отражены некоторые подробности; большинство вирусов куда сложнее. Каждая глава в нашей книге начинается с примера того, что могло бы происходить в голове "мыслящего вируса"; мы используем эту модель в качестве примера того, как создавать вирусы. Не думайте, однако, что это единственный способ создания вируса. Это только пример, необходимый для того, чтобы показать последовательность обычно предусматриваемых действий. Наш вирус, в частности, рассчитан на операционную систему DOS, хотя логическая основа его поведения верна и для других систем. На рис. 5.2 приведена блок-схема нашего вируса. Этапы блок-схемы пронумерованы; номера в тексте соответствуют номерам этапов блок-схемы. Теперь рассмотрим, как действует наш мыслящий вирус.
Только для специалистов: Так что же такое вирус на самом деле? 65 (Началоj Пробуждение i Тот самый день? Размножиться, как предписано Q Сделать что-то мерзкое Можно спать дальше (Конец) Рис. 5.1. Простой вирус. Кстати, этот вирус сталкивается со своими проблемами. Во-первых, он медлителен. Во-вторых, описанный процесс вызовет частые вспышки лампочки дисковода; даже если пользователь не страдает манией преследования, это может вызвать у него подозрения. Шаг 1. Сообразить, где мы находимся и сохранить информацию. Она нам понадобится позже. А также, установитьсчетчик количества обнаруженных копий вируса в 0. Шаг 2. Час пробил? Если да, то перейти к подпрограмме "сделать пакость". Если нет, то продолжить размножаться. Шаги 3-6. Эти шаги представляют из себя собственно логическую бомбу, заключенную в вирусе. Отформатировать жесткий диск, обычно третий диск системы (диск С). Если жесткого диска нет, отформатировать диск, с которого был запущен вирус. Когда это сделано, можно заканчивать работу. Нет необходимости извещать жертву - пользователь это обнаружит сам, когда в следующий раз попытается загрузить систему. Шаг 7. Если нужный день еще не настал, то запомнить собственное расположение на текущем диске (в каком каталоге мы находимся), чтобы вернуться на место перед завершением работы. 3-954
66 Компьютерный вирус: проблемы и прогноз /Trrrrrrrr>\ £>НачалоЯ Wj ч(•'[' t' ** МойДиск - j номер диска; [СчетчикКопий « О Сегодня пятница, тринадцатое? Да Запомнить ТвкущийКаталог Следующий Диск » О 1 Есть диск 3? Нет! Форматировать МойДиск Форматировать диск 3 Конвц^ Увеличить Следу юшийДиск на 1 Есть диск Следу ющийДиск? 'Восстановить значения| МойДиск и ТвкущийКаталог Н^<онец^ УказательСтека Каталогов = 1 Перейти е (корневой каталог Диск вставлен? СледующийФайл «О Считать запись оглавления СледующийФайл ZE Она существует? I Это подкаталог? Да Увеличить СчетчикКопий на 1 < г СчетчикКопий >-50? J Да 1 Да* * | Нет 1 © © Восстановить байт ! атри оутов, да ту и время! * Файл 1 уже заражен?] 1 I атрибутов, I дату и время. j атрибутов • 'Архивный* i г 1 Скопировать 1 ви рус Записать каталог в стек; Увеличить УказательСтека Каталогов на 1 ©" i_JE Есть еще файлы в каталоге? HeTJ Да Увеличить СчетчикФайлое на 1 УказательСтека Каталогов = О? Выбрать ТвкущийКаталог из стека; Уменьшить УказатвльСтекаКаталогов на 1 Рис. 5.2. Более сложный вирус.
Только для специалистов: Так что же такое вирус на самом деле? 67 Шаг 8. Инициализация переменной, значение которой равно номеру обрабатываемого устройства. Эта переменная будет служить счетчиком внешнего цикла программы. В цикле мы последовательно обработаем все доступные дисководы системы. (На рис. 5.2 шаги 7 и 8 объединены в одно действие, обозначенное номером 7. - Пе- рев.) Шаги 9-14. Определение номера следующего диска. Если очередного диска нет, это значит, что мы закончили просмотр, поскольку DOS назначает номера дисководам строго последовательно, не пропуская ни одного. Предположим, мы обнаружили в системе очередной дисковод, а вот вставлена ли в него дискета? Если нет, повторяем эту последовательность шагов; если же дискета вставлена, делаем это устройство текущим и переходим в корневой каталог. Шаг 15. Начальное значение указателя стека каталогов соответствует вершине. Этот указатель будет нами использоваться для запоминания последовательности просматриваемых каталогов. После этого начинаем второй цикл, в котором мы проверим все каталоги по очереди. Шаг 16. Инициализация счетчика файлов, в котором запоминается номер обрабатываемого в настоящий момент файла в текущем каталоге.Начинаем третий цикл - цикл просмотра всех файлов текущего каталога. Шаги 17-19. Выбор очередного элемента оглавления каталога. Необходимо убедиться, что соответствующий файл не удален, и проверить, не является ли данный элемент оглавления ссылкой на подкаталог. Шаг 20. Если это подкаталог, заносим его в стек каталогов и увеличиваем указатель стека. Шаги 21-22. Убедимся, что файл еще не заражен. Если он заражен, увеличим счетчик обнаруженных копий вируса. Шаг 23. Если счетчик достиг значения 50 или более, переходим на подпрограмму "сделать пакость" (шаги 3-6). Шаг 24. Если файл не заражен, надо сохранить системные ярлыки и байт атрибутов файла. Зададим новые атрибуты 00h, чтобы сделать файл "нормальным" и обеспечить неограниченный доступ к нему. Шаг 25. Скопируем вирус в файл. (Как сказано в гл. 1, эта книга не является пособием по созданию вирусов. Поэтому мы намеренно опускаем в блок-схеме некоторые подробности. Этот шаг - как раз одно из таких мест.) Шаг 26. Замести следы, чтобы никто не обнаружил нашего присутствия в системе. Восстановить начальные значения системных ярлыков и байта атрибутов. По окончании процесса размножения добавить 1 к счетчику копий и проверить, не превосходит ли его значение 50, т.е. не настало ли для логической бомбы время взорваться. 3*
68 Компьютерный вирус: проблемы и прогноз Шаги 27-28. Есть ли еще файлы в каталоге? Если есть, увеличить счетчик файлов и выполнить еще одну итерацию третьего цикла. Шаги 29-30. Есть ли еще каталоги в стеке? Если есть, извлечь очередной каталог из стека, сделать его текущим и выполнить еще одну итерацию второго цикла. Если стек пуст, мы закончили с этим диском и можем выполнить основной цикл еще раз. (Выход из программы происходит в шагах 6 и 12.) ПОРАЖАЕМЫЕ ЦЕЛИ Обычно каждый вирус имеет свой поражаемый объект - программу или область данных, которую он предназначен атаковать, и укрытие - место, где он должен скрываться до момента нападения на объект. Цель и укрытие зависят от операционной системы компьютера. Мы рассмотрим две наиболее широко распространенные операционные системы микрокомпьютеров - DOS1* и "Макинтош". Если на вашей машине установлена другая операционная система, например UNIX или СР/М, здравый смысл и некоторые исследования подскажут вам подобный список целей и укромных мест. DOS DOS - это наиболее распространенная операционная система для микрокомпьютеров, так что начнем с нее. Укромные места Укрытие - это такой объект, в который вирус должен внедриться. В данном разделе рассматривается несколько объектов, обычно используемых в качестве укрытий. Старые знакомые Некоторые файлы практически всегда имеются на любом компьютере с системой DOS. Когда вы вводите любую команду, ее обработкой занимается программа DOS COMMAND.COM. Она определяет, что именно вы ввели: встроенную команду DOS, выполняемый СОМили ЕХЕ-файл, командный ВАТ-файл или просто "BAD COMMAND OR FILE NAME" ("НЕВЕРНАЯ КОМАНДА ИЛИ ПРОГРАММА"). Таким образом, файл COMMAND.COM находится в корневом каталоге большинства IBM-совместимых компьютеров; хотя DOS и может использовать другую программу, выполняющую более или менее сходные функции, это бывает не часто. Однако, если такая замена производится, то в 1) Для наших целей две версии - PC-DOS фирмы IBM и MS-DOS фирмы Microsoft можно считать идентичными.
Только для специалистов: Так что же такое вирус на самом деле? 69 корневом каталоге при этом обязательно будет присутствовать файл CONFIG.SYS, так как это единственный способ заменить COMMAND.COM другой программой (команда SET COMSPEC = <про- грамма> в файле CONFIG.SYS). Поскольку по крайней мере один из файлов C0MMAND.COM и CONFIG.SYS обязательно находится в корневом каталоге загружаемого диска, они представляют собой легкую цель для вируса, чем многие из них и пользуются. Есть и другие файлы, которые почти наверняка присутствуют в любом компьютере с операционной системой DOS. Эти файлы, называемые фирмой IBM IBMBI0.COM и IBMD0S.COM, а фирмой Microsoft - IO.SYS и MSDOS.SYS соответственно, являются системными и, следовательно, невидимыми. Не паникуйте, если вы не видите их в оглавлении: обычные утилиты DOS (например DIR) не отображают системные файлы.25 Один из этих наборов файлов обязательно имеется в любой системе DOS. Их невидимость делает эти файлы очень заманчивыми укрытиями для вируса, поскольку сделанные в них изменения вряд ли привлекут ваше внимание. Некоторые другие файлы, например стандартные утилиты DOS типа CHKDSK.COM или BACKUP.COM, таклсе с большой вероятностью имеются в системе и могут подвергнуться нападению.3> Любой файл AUTOEXEC.BAT или CONFIG.SYS тоже может оказаться объектом нападения. Временные бомбы Еще одно интересное место, где может затаиться вирус, - область CMOS, где хранится значение системных часов. Плата расширения, использующая аккумуляторы для хранения параметров, когда компьютер выключается из сети, - недорогое и очень популярное дополнительное оборудование. Широкое распространение этих плат благоприятствует нацеливанию вирусов на хранящуюся в них информацию.4) Три особенности делают этот тип вирусов особенно опасным. Во- первых, часы - это одна из первых программ, запускаемых при включении компьютера, и обычно она выполняется в самом начале файла AUTOEXEC.BAT.^ Следовательно, вирус из CMOS может попасть в оперативную память, где он может запуститься, размножиться и причинить вред, 2) В байте атрибутов этих файлов установлены флаги Невидимый, Системный, Только для чтения и Архивный. Команда DIR не показывает все файлы, помеченные как Системные или Невидимые. (Однако некоторые широко распространенные в среде отечественных пользователей оболочки DOS, например Norton Commander, могут отображать все файлы независимо от их атрибутов. - Прим. перев.) 3) Одной из рекомендуемых мер предосторожности является переименование этих файлов, например, FORMAT в NEWDISK. 4) Некоторые машины, вроде IBM AT и совместимых с ними и компьютер серии PS/2, хранят определенные части операционной системы в отдельной области CMOS. Компьютеры "Макинтош" также хранят в памяти типа CMOS определенную информацию. 5) Машины AT, PS/2 и "Макинтош" первым делом загружаются из CMOS.
70 Компьютерный вирус: проблемы и прогноз прежде чем любые ваши антивирусные программы смогут его обнаружить. Причем DIR (или файловая утилита) не увидит вирус до тех пор, пока файл в обычном смысле не существует. Наконец, ни одно из существующих распространенных средств манипуляции файлами не имеет доступа к зоне памяти CMOS.6) Уцепиться любым способом Два простейших способа внести вирус в вашу систему - это заразить .ЕХЕ- или .ВАТ-файлы. Любой файл, имеющий расширение .ЕХЕ или .СОМ, считается выполняемым (некоторые вирусы могут нападать также и на файлы с расширениями типа .OVL или .PGM, которые используются специальными программами). Вирус присоединяется к концу этих файлов и заменяет первый вызов функции переходом на вирус. Затем вирус вставляет только что вытесненный вызов в конец своей собственной программы, так что последнее его действие заключается в том, что программа внешне начинает нормально выполняться. Что касается .ВАТ-файлов, то вирус может солировать себя в .СОМ-файл и поместить этот .СОМ-файл в каталог, "спрятав" его, т.е. установив байт атрибута файла в соответствующее состояние. Затем он добавляет строку к .ВАТ-файлу, которая вызывает "спрятанный" файл. Это довольно легко обнаружить (если вы посмотрите на .ВАТ-файл) и исправить: удалите добавленную вирусом строку, а затем воспользуйтесь утилитой, отыскивающей скрытые файлы, и удалите .СОМ-файл. Труднее всего без использования специальных программ поймать TSR-вирус (Terminate and Stay Resident - Закончить и остаться резидентом). TSR-вирус функционирует так же, как спулер печати и другие резидентные программы. Программа, или вирус просто загружается в оперативную память и остается там, ожидая, пока в дисковод не будет вставлен незащищенный диск. Затем вирус копируется на диск и делает все, что ему "положено". Заметить присутствие одного из таких вирусов (если вы не пользуетесь "вакциной", которая отлавливает вызовы TSR-вирусов; см. приложение) вы можете единственным способом - заметив, что уменьшился размер свободной оперативной памяти. Это может оказаться серьезной проблемой, если у вас нет специальных программ, так как стандартные утилиты DOS не дают этой информации. Если вирус находится в загрузочном секторе диска (см. следующий раздел) или в CMOS, ни одна из утилит DOS не позволит Вам его обнаружить. Помните, что вирус, как и любая другая программа, должен быть запущен, прежде чем он сможет размножиться или сделать что-нибудь еще с вашей системой. Где-то в вирусе должна быть команда, которая вызывает его автозапуск; перечисленные выше средства являются наиболее распространенными, хотя и не единственно возможными. 6) См. в гл. 8 один из способов обнаружения и устранения такой ситуации.
Только для специалистов: Так что же такое вирус на самом деле? 71 Уязвимые зоны В этом разделе рассматриваются наиболее подверженные заражению вирусами зоны машинных дисков. Опустошительно, но бесхитростно Жизненно важными областями любого компьютерного диска являются загрузочный сектор, таблица размещения файлов (FAT) и корневой каталог. В то же время эти три области являются одновременно и наиболее уязвимыми со стороны вирусов. Воздействие на них вирусов может оказаться непоправимым. Загрузочный сектор - сектор диска, содержащий инструкции, которые использует компьютер для начала работы. Эти инструкции представляют собой часть машинного кода, который поддерживает режим чтения и все необходимое для загрузки операционной системы. Загрузочный сектор всегда располагается в фиксированном месте диска и недоступен стандартным утилитам DOS. Повреждение загрузочного сектора диска означает, что диск становится незагружаемым. Если диск - просто дискета (и у вас есть ее копия) это не большая проблема. Но если поврежденный диск - ваш жесткий диск, это катастрофа. Результатом является то, что система отказывается даже признавать физическое существование диска, отвечая на все попытки обращения к нему сообщением: INVALID DRIVE SPECIFICATION ("Неправильное имя диска"). В этом случае диск "вылетел". Он не может быть использован; вам придется переформатировать диск и восстановить программы с копий.75 (А они у вас есть, не правда ли?) Таблица размещения файлов (FAT) - это область на диске, в которой система DOS отмечает кластеры, доступные для распределения новым файлам. Как правило, DOS использует дисковую память по мере ее освобождения, a FAT показывает, где размещены на диске кластеры, выделенные каждому из перечисленных в каталогах файлов (эта информация касается физического размещения, в противоположность логическому в каталоге). FAT содержит адреса кластеров, используемых каждым файлом, и указатели, так что системе известно, какие кластеры какими файлами используются, а какие кластеры свободны.8> Этот метод управления памятью программисты называют работой со связным списком (рис. 5.3). 7) По крайней мере одна из имеющихся на рынке антивирусных программ, NTIVIRUS, имеет качества, которые иногда помогают преодолевать эту проблему, см. приложение. 8) Через некоторое время части файлов, разбросанные по всему диску, станут для вас трудной проблемой. Хотя система будет хранить новые файлы, скорость доступа к ним уменьшится, так как считывающие головки будут "прыгать туда-сюда** в поисках кластеров. Популярные программы сжатия реорганизуют кластеры таким образом, чтобы все они располагались последовательно. Поскольку такие программы должны обращаться к FAT, вирус, который может быть скрыт в них, внешне сделает то же, что должна сделать сама программа; вы не будете иметь представления о нанесенных повреждениях вплоть до следующего обращения.
72 Компьютерный вирус: проблемы и прогноз Указатели в каталоге Таблица размещения файлов (FAT) Файл 1 не фрагментирован (непрерывный) Файл 2 частично фрагментирован Файл 3 сильно фрагментирован Рис. 5.3. FAT - таблица размещения файлов. Легко понять, почему FAT так важна для вычислительной системы и почему ее повреждение так разрушительно. К сожалению, FAT очень легко уязвима, так как она всегда начинается с одной и той же ячейки памяти (сторона 0, сектор 2) и нулевая ячейка FAT всегда содержит трехзначный шестнадцатеричныи номер, который описывает тип и формат памяти используемого диска. Раз эти факты известны, программа-вирус всегда будет знать длину FAT, ее адрес и максимальный размер корневого каталога. Эти данные могут быть как угодно изменены. Представьте себе, на что было бы похоже, если бы вы включили свою машину и обнаружили бы, что система рассматривает ваш 40- Мб диск как одностороннюю дискету с низкой плотностью записи, способную хранить только 160 Кб. Так как к зонам FAT можно обратиться только специальными командами машинного уровня чтения или записи абсолютного сектора, система защищена от случайной модификации FAT. Однако возможны разумные причины для изменения FAT, и любое хорошее руководство по передовой технологии программирования в DOS содержит всю информацию, необходимую компетентному системному программисту.
Только для специалистов: Так что же такое вирус на самом деле? 73 Несколько современных антивирусных программ и утилит обеспечивают возможность сохранения версии FAT для защиты от нечаянного повреждения (см. приложение). Некоторые из утилит предоставляют возможность изменять FAT точно так же, как и другие зоны диска.* > Эти инструменты очень опасны в руках неискушенных пользователей, и их надо употреблять с крайней осторожностью. Неправильное применение этих средств может повредить вашему диску ничуть не меньше, чем вирус. Все диски DOS имеют зону хранения данных, называемую каталогом. Каталог - это список файлов, размещенных на диске; он характеризуется максимальным количеством точек входа, которое устанавливается во время форматирования диска. До появления жестких дисков большой емкости это число не являлось поводом для беспокойства, так как пользователи обычно выходили за пределы памяти задолго до превышения максимального количества точек входа каталога. С увеличением доступного дискового пространства (например, жесткие диски, дискеты с двойной и четырехкратной плотностью записи), необходимо было решить проблему превышения максимально допустимого количества файлов в каталоге. Начиная с версии DOS 2.0 был введен специальный класс файлов, называемый подкаталогом. Подкаталог действует как внешний каталог, эффективно регулируя количество файлов, которые могут быть помещены на диск. (Если каталог может содержать, например, 10 файлов и один из них - подкаталог, то общее количество возможных файлов будет 98: сто имен, минус два, которые используются подкаталогом и его именем в каталоге.) Поскольку каждый подкаталог может содержать файлы, и сам также является файлом, подкаталог может содержать подкаталоги следующего уровня; это означает, что единственное ограничение на количество файлов, хранимых на диске, - это доступное дисковое пространство. Подкаталоги организованы в виде структуры, называемой программистами древовидной (рис. 5.4). Исходный каталог называется корневым. Все подкаталоги содержат два файла в дополнение к создаваемым пользователем. Эти файлы показываются командой DIR системы DOS как "." и "..". Файл .. содержит указатель на родительский каталог, т. е. место, где подкаталог был создан. Файл . содержит список файлов, размещенных в подкаталоге. Для DOS корневой каталог и файл . выглядят более или менее одинаково. Каждый каталог содержит сходную информацию о каждом помещенном в нем файле, включая имя, расширение, размер и начальный адрес FAT. Все эти данные о файлах представляют собой соблазнительную приманку для вируса. Если хотя бы один байт изменен, все каталоги кажутся исчезнувшими: данные остаются на прежнем месте, но система не может их найти. *) Например, программа DiskEdit из комплекта Norton Utilities. - Прим. перев.
74 Компьютерный вирус: проблемы и прогноз Изменение или стирание ячейки подкаталога в действительности разрушает не данные, а только путь, который использует система для размещения данных. Иногда вы можете восстановить файл или устранить определенные повреждения с помощью программ типа CHKDSK.COM или других коммерческих утилит. Г Корневой каталог '(PC/DOS)или Верхний уровень ("Макинтош")] i I В разработке! Сетевой план I Проекты I Проект 1 Финансы Отчеты J I Планирована Проект 2 Отчеты |ЧН Диаграммы I Сетевой план W Письма j Финансы j W Расходы Рис. 5.4. Древовидная структура каталогов. Что означает "ФАЙЛ НЕ НАЙДЕН" ? Один из наименее опасных типов вирусов (если у вас есть резервные копии программ) - вирусы, воздействующие на определенные программы или оболочки. Поскольку большинство дистрибутивных копий программ защищены от записи, оригиналу не страшны вирусы. Когда вы покупаете программу, она должна находиться в специальной фирменной упаковке. Прежде чем вы вставите диск в дисковод вашей машины, защитите его от записи (заклеив отверстие в правом верхнем углу 5.25"-дискеты или задвинув пластмассовую пластину на 3.5и-диске- те). Это наилучший способ предохранить от заражения по крайней мере одну копию программы. Конечно, воздействие вируса может быть более утонченным, чем просто стирание файла. Знающий варвар может заставить вирус изменить внутренние установки программы, меняя ее работу. Вы не узнаете об этих изменениях, пока не воспользуетесь этой функцией, и к этому
Только для специалистов: Так что же такое вирус на самом деле? 75 времени вирус может уже широко распространиться. Устранить эту ситуацию можно, восстановив программу с чистой копии и уничтожив все копии вируса. Серьезная проблема возникает тогда, когда какая-то другая программа становится объектом для вируса (например SCORES). Как отмечалось в предыдущем разделе, стертые файлы в действительности не пропадают, они просто помечаются как несуществующие. Если программа стерта и вы не использовали после этого освободившиеся кластеры, файл может быть восстановлен любой из доступных утилит. (Как правило, они заменяют флаг удаления на что-то еще, таким образом восстанавливая файл. Если повторно была проведена запись на один или более кластеров, утилиты позволяют Вам освободить кластеры и объединить их заново.) Эти утилиты крайне полезны - если вы действительно знаете, что вы делаете. Если нет, вы можете настолько повредить диск, что им станет невозможно пользоваться. К тому же на практике часто оказывается быстрее восстановить все с копий (вы делаете текущие копии, не правда ли?) и заново ввести потерянные данные, чем решать такого рода проблемы. Как распутать клубок Возможно, наиболее коварная форма вируса - вирус, который воздействует на случайные байты вашего диска. Байт выбирается случайным образом и заменяется каким-то случайным значением. Рис. 1.2 показывает этот эффект. Весь ужас состоит в том, что вы месяцами можете не знать об этих изменениях. За это время вирус может распространиться Бог знает где. Если случайный байт был частью какого-то текстового документа, это можно было бы приписать ошибке человека (изменены один или два символа; чья-то опечатка, правда? На самом деле не обязательно). Если случайный байт был частью программы, результаты ее работы будут непредсказуемыми. Или же отслеживать исходный файл будет крайне трудно. Один из способов защиты от таких случайных изменений состоит в использовании метода контрольных сумм и создании записи для каждого файла. Вы применяете некоторые арифметические действия к файлу, а может быть еще и к байту атрибута, пути, имени файла, дате создания, и вычисляете некоторое значение, которое сохраняете. Затем, если что-нибудь меняется, меняется и запись, и вы можете заподозрить наличие вируса или какой-то другой ошибки (и избегать запуска этой программы). Такие возможности предлагают несколько антивирусных программных продуктов, перечисленных в приложении. Однако это не защищает вас, если вы создаете запись для файла в тот момент, когда он уже заражен. Похожей техникой является шифрование программных файлов. Если вирус их изменяет, они не будут расшифрованы во что-то полез-
76 Компьютерный вирус: проблемы и прогноз ное. (Некоторые пакеты утилит, такие как PCTOOLS, ограничили возможности для шифровки. Среди защищающих пакетов имеются гибкие продукты, но большинство из них слишком громоздки для этой цели, и многие довольно дороги.) Шифрование не спасает ваши данные или программы, но оно защищает вас от запуска зараженной программы - опять же, если ваш файл не был инфицирован уже к моменту установки защиты. Вы могли бы выполнить шифровку посредством .ВАТ файлов.9) Будьте осторожны и не потеряйте ключи, когда вы что-то зашифровываете. Мы думаем, что шифровка - хорошее средство, если только вы не находитесь в чувствительной оболочке или имеете в виду что-то типа таблиц паролей. Компьютеры "Макинтош" Операционная система "Макинтоша" значительно отличается от DOS'a. С точки зрения пользователя она главным образом графически ориентирована, с немногочисленными требованиями к типичным командам. С точки зрения программиста, она также сильно отличается. Чтобы понять, как действует вирус в системах "Макинтош", сперва вы должны немного узнать о том, как работает Мак. Все вызовы, сделанные программой, проходят через так называемый Toolbox, прежде чем они будут обработаны системой. Это помогает удостовериться, что программа будет работать одинаково на разных компьютерах семейства "Макинтош", даже если изменяется архитектура или система машины (в настоящее время известно семь разновидностей: Мае 128, Mac XL (или Lisa), Mac 512, Mac 512E, MacPlus, MacSE, и Mac II). Как правило, если программисты следуют правилам и делают свои вызовы через Toolbox должным образом, их программы будут работать одинаково на любом "Макинтоше" с любой системой. Программы в "Макинтоше" организованы как ресурсы различных типов: существует тип ресурса для диалоговых блоков, свой тип для окон, тип для объектного (двоичного) кода и т.д.10* Результатом является модульность программ, легкость их модификации и поддержка хорошего, "сверху вниз", структурного подхода к проектированию программ. Кроме того, эти ресурсы можно копировать из одного применения в другое для повторного использования, локальной модификации для различных стран и т.д. Для такого копирования и модификации существует инструментарий для программистов, называемый ResEdit; он имеется во многих рекламных бюллетенях или доступен через локальных дилеров фирмы Apple. Раз уж мы упомянули ResEdit, мы просто обязаны вас предупредить: 9) [Pozzo 1986] описывает некоторые технические детали этого метода защиты от вирусов. 10) Для изучения технических деталей вы можете воспользоваться книгами "Inside Macintosh", Vol. 1-5, Addison-Wesley; "Macintosh Programmers' Workshop" издательства фирмы Apple, а также любыми другими книгами и справочниками.
Только для специалистов: Так что же такое вирус на самом деле? 77 ResEdit - очень мощный инструментарий, который позволит программисту получить доступ к внутренней обработке файлов в "Макинтоше". Предполагается, что пользователи ResEdit обладают глубокими знаниями системы "Макинтоша", файловой структуры, Toolbox и т.д. Если вы не обладаете такими знаниями, и пытаетесь использовать ResEdit, вы, очень вероятно, серьезно или даже фатально повредите файлы. ResEdit не для новичков. Если вы планируете вникать во внутренние детали программ, вы должны предпринять одну наиболее важную меру предосторожности - всегда работать с копией программы. После окончания работы тщательно проверьте эту копию и только потом записывайте ее на место оригинала - и все равно храните копию оригинала. ResEdit является также отличным средством для проверки программ, подозреваемых в наличии скрытых повреждений. Это способ, используемый большинством исследователей внутренних деталей работы вируса в "Макинтоше". Большая часть разработчиков, которые исследовали вирусы, создают вакцины или другие антивирусные программы, как только они определяют проблему; многие из этих вакцин обсуждаются в приложении. Существует несколько других инструментов, и коммерческих, и общедоступных, которые обеспечивают возможности, сходные с ResEdit, Они также не для начинающих и должны быть использованы со знанием дела и великой предосторожностью. Если у вас нет технических знаний, то для решения ваших проблем вам лучше пользоваться вакцинами, типа упомянутых в приложении, а не ResEdit. INIT Когда Мак включается (или, как еще говорят, загружается), вызываются размещенные в схемах ПЗУ программы для выполнения таких действий, как самотестирование различных электронных схем и памяти. Когда это сделано, используются команды для загрузки системы с гибкого или жесткого диска. Если системный файл найден, он загружается с диска в ОЗУ, рабочую память машины. Сочетание программного обеспечения, находящегося в ПЗУ и в загруженном с диска системном файле, образует рабочую систему вашей машины. Если в системном файле ошибка или появилась новая версия какой-либо процедуры, Apple выпускает новую версию системы, чтобы не допустить использование измененного программного обеспечения. Если требуется изменение программ в ПЗУ или системе, это изменение должно быть внесено в момент загрузки системы (помните, содержимое ПЗУ не может быть изменено; схемы ПЗУ являются частью аппаратной реализации компьютера). Это изменение делается во время загрузки с по-
78 Компьютерный вирус: проблемы и прогноз мощью специальных средств, называемых INIT. Они представляют собой маленькие составные части программ, которые машина использует для изменения определенного программного обеспечения в загруженной системе. INIT не модифицируют систему на диске или в ПЗУ; они воздействуют только на работающую систему. INIT можно использовать также для изменения способа, которым система управляет некоторыми функциями, например: INIT может поместить на экране вашего "Макинтоша" картинку, которая будет оставаться там все время, пока машина включена (ваши рабочие окна накладываются поверх картинки); Существуют INIT в виде пакетов типа EasyAccess и CloseView, которые помогают пользователям, испытывающим затруднения физически или визуально (поставляются фирмой Apple бесплатно и включены во все новые версии системы, начиная с версии 6.00); INIT могут разрешать почти неограниченное количество фонтов и/или настольных принадлежностей в вашей системе (в обход предельного для Apple значения 15); INIT может быть использован в качестве изменения, результатом которого будет запись в журнале каждый раз при загрузке "Макинтоша"; INIT могут быть изменениями, поддерживающими различные аппаратные компоненты (дисководы, жесткие диски, большие экраны, принтеры, сканеры и т.д.) для модификации системы и обеспечения работы этих устройств с компьютером Мак.11> INIT поставляются в виде коммерческого, копируемого или бесплатного программного обеспечения. В последний раз мы насчитали более 250 доступных INIT. Зачем так много? Поскольку INIT представляют из себя не что иное как небольшие подпрограммы, предназначенные для работы с системой, программисты используют их для разработки новых возможностей Мак'а. (Вспомните обо всех этих ресурсах и об общей модульной концепции архитектуры Мак*a. INIT в то же время могут являться и вирусами.) Установить INIT несложно. С системой версии 4.0 или выше12) вы просто копируете INIT в системный архив и перезагружаете компьютер. После того как система загрузится, будут выполнены все находящиеся в системном архиве INIT. INIT - это просто выполняемый код, и во время выполнения он может сделать все, что угодно, включая такие действия, как модификация прикладных программ, вставка кода или другой информации в файлы или удаление других данных. Не правда ли, это похоже на компьютерный вирус? 11) Компьютеры с системой DOS также используют подобные дополнительные программы, например драйверы принтера и мыши. 12) Чтобы узнать, какой версией системы вы пользуетесь, выберите пункт меню "About the Finder...", когда вы находитесь в пиктографическом меню (версия 4.1 или старше).
Только для специалистов: Так что же такое вирус иа самом деле? 79 Поскольку INIT пытаются модифицировать довольно сложную программу (а именно рабочую систему), они и сами часто представляют собой достаточно сложные компактные фрагменты кода. Иногда они тестируются не настолько тщательно, как должны бы. Например, один из нас получил INIT, который, как предполагалось, должен был сохранять содержимое раздела Clipboard при сбое системы. После проверки он поставил этот INIT в рабочую систему, и тот, казалось, работает замечательно. Затем как-то раз произошел сбой в момент, когда раздел Clipboard содержал значительное количество данных; когда он попытался перезагрузиться, все, чего он достиг, была безобразная путаница, и система перестала загружаться. После нескольких часов расследования улики доказали, что это была работа INIT. Был ли это вирус? Возможно, нет. Более вероятно, программист считал, что он (или она) разработал действительно полезное средство и просто недостаточно полно протестировал его. Но это мог быть и вирус или Троянская программа. Как же можно защититься от вредительских непроверенных INIT? В общих чертах вы можете использовать те же методы, что и для любого другого нового программного обеспечения. Тщательно проверьте его на заведомо изолированном компьютере прежде чем ставить его на ваш рабочий компьютер. Сделайте резервные копии своих данных перед включением новых INIT. Профилактика одинакова для всех систем и детально описана в гл. 7. Здесь следует сделать несколько предупреждений. Поскольку INIT являются дополнениями к системе, они могут быть довольно тонко запрограммированы и часто делают то, чего хорошо воспитанные программы делать не должны. Многие пакеты вирусной защиты могут интерпретировать такое поведение как действия потенциального вируса. 13> Что же делать, чтобы понять, является ли подозрительный INIT вирусом или просто необычной программой? Попробуйте проверить его; кое-что зависит от источника (коммерческие INIT с меньшей вероятностью таят в себе угрозу, так же как коммерческое ПО подвергается меньшей опасности заражения); не пользуйтесь им (если вы достали его в BBS и не можете проверить источник, то стоит ли рисковать?) или исследуйте его с помощью ResEdit или средствами защиты от вирусов. Если вы чувствуете, что не обладаете достаточными навыками работы с этими средствами, вы можете обратиться в ближайшую группу пользователей Мак*а. Местный дилер может оказать вам помощь в поиске такой группы. 13) Мы не будем вдаваться в детали, поскольку чтобы сказать, являются ли необычные действия в порядке вещей или же это деятельность вируса, вам нужны специальные технические знания. Это верно и для IBM-совместимых машин.
80 Компьютерный вирус: проблемы и прогноз Драйверы устройств Операционные системы "Макинтошей" предлагают вспомогательное средство, называемое контрольной панелью.14) Это средство позволяет вам управлять некоторым числом параметров вашего Мак'а и конфигурировать его с учетом ваших привычек и методов работы. Ранние версии контрольной панели имели фиксированную конфигурацию, и вы могли менять только заранее заданные параметры: фон экрана, частоту мигания курсора, громкость звука, чувствительность мыши и т.п. Более поздние версии были усовершенствованы так, что вы можете добавлять к контрольной панели ресурсы, которые вы собираетесь настраивать. Они добавляются с помощью элементов, называемых драйверами устройств.** Драйверы устройств во многом сходны с ШГГ'ами, однако они имеют одну специфическую особенность: доступ к ним сохраняется после запуска системы и может быть модифицирован в любой момент. Все сказанное об INIT'ax применимо к драйверам устройств; драйверы также можно купить или достать в BBS. В компьютере фирмы Apple все функции, управляемые с контрольной панели, были переделаны в драйверы. Эти функции включают Mouse (управление характеристиками мыши), General (большая часть атрибутов Мак'а) и Keyboard (функции клавиатуры, такие, как скорость повтора, используемый алфавит и его раскладка по клавишам). Вот некоторые драйверы, имеющиеся на рынке: Модификация программы Sound Manager, позволяющая вместо простого звукового сигнала, оповещающего об ошибке, проигрывать некоторый набор звуков (например, органную музыку, звон бокалов или голос компьютера ХЭЛ, произносящий: "Извини, Дэйв, но я не могу этого сделать") ;**> Драйвер для цветных мониторов, позволяющий менять цвета различных частей, окон и меню; Vaccine - защитный драйвер, останавливающий компьютер и информирующий оператора, если программа пытается изменить ресурсы системы и GuardDog - программа защиты, лишающая случайного пользователя возможности копировать, переименовывать или удалять файлы из системы (она еще и пользуется интересными звуковыми эффектами). Два последних драйвера рассматриваются в приложении. Ю Некоторые пакеты на IBM -совместимых машинах, такие как Windows, GEM и Presentation Manager предлагают сходные возможности. *) В оригинале - cdev (control panel device) - устройство контрольной панели. - Прим. перев. **) Компьютер ХЭЛ 9000 и Дэвид Боумэн - персонажи нашумевшего американского фильма "2001: Космическая одиссея" по сценарию А. Кларка и С. Кубрика. - Прим. перев.
Только для специалистов: Так что же такое вирус на самом деле? 81 ИНФОРМАЦИОННЫЕ СИСТЕМЫ В мире микрокомпьютеров информационная система - это обычная программа. У оператора BBS есть один или несколько жестких дисков, разбитых на разделы так, чтобы каждый файл находился на надлежащем месте. Информационная система может послужить разносчиком инфекции, если зараженные программы доступны пользователям для копирования. Такие программы не оказывают воздействия на BBS, если только оператор не запустит их. Операторы BBS должны быть очень осторожны с запуском программ, источники которых неизвестны, тем более, что они имеют дело с десятками или даже сотнями людей. Так как, скорее всего, оператор BBS пользуется только небольшим числом доступных и надежных программ BBS и поскольку он представляет из себя очень заметную цель, его риск подвергнуться заражению выше. Кроме того, квалификация вандала также может быть выше обычной; чем значительнее цель, тем большее "удовольствие" доставляет ее поражение и тем больше будет газетная шумиха. Если вы управляете BBS, вам желательно иметь несколько антивирусных программ и строго придерживаться техники "безопасного гекса". Помните также, что хотя вломиться в информационную систему через обычные каналы коммуникации очень сложно, всегда может найтись обходной путь. В гл. 2 мы рассмотрели несколько стандартных методов проникновения. 15> Многие из них могут сработать не в вашей информационной системе, а в операционной системе компьютера, на котором она работает. Таким образом, вопросы безопасности в данной области немногим отличаются от аспектов безопасности любых миникомпьютеров или больших ЭВМ (мы не рассматриваем здесь эти проблемы). Не забудьте, что даже если ваша BBS установлена на миниили большой ЭВМ, вы можете подвергнуться нападению с тыла, и принимайте меры предосторожности. ПОДВЕРЖЕННОСТЬ РИСКУ Помните, что кто-то должен занести вирус в вашу систему. Наиболее распространен способ заражения посредством Троянской программы. 16> Скажем, вам понравилась программа, вы ее переписали и запустили; заложенный в нее вирус сделал свое черное дело. Так кто же занес вирус в вашу систему? - вы сами. Наш враг в нас самих, не правда ли? 15) Троянские кони, Салями и прочие компьютерные штучки. 16) Есть и другие возможности, включая перехват каналов коммуникации. Еще раз спросите себя:"Неужели я лично настолько ненавистен кому-то?**
82 Компьютерный вирус: проблемы и прогноз Бесплатное и копируемое программное обеспечение Бесплатными называются программы, находящиеся в общественной собственности и доступные для копирования в любой момент. Если с вас взимается плата или регистрационный взнос, то эта программа является копируемым программным обеспечением. Одно из замечательных следствий обобществления программ - миллионы людей пользуются ими вместе с вами и все от этого выигрывают. Так как количество бесплатных и копируемых программ измеряется тысячами, не следует ожидать, что оператор BBS будет проверять каждую из них. Следовательно, один из наиболее распространенных способов заражения вашей системы - через эти программы. Это не исчерпывает всех способов заражения, но вам рекомендуется быть осторожным, если вы решились подвергнуть себя такому риску. Утилиты сжатия жестких и гибких дисков Утилиты сжатия дисков и дискет весьма полезны и очень популярны среди пользователей. Поскольку во время работы они обычно имеют доступ к таким частям диска, как FAT, они представляют замечательную среду для размножения вирусов. Соблюдайте осторожность: уже было несколько случаев передачи вирусов посредством этих программ. По этой же причине велика опасность при пользовании архивирующими и разархивирующими программами, употребляемыми для сжатия и восстановления данных с целью обмена информацией между вашей системой и BBS. Практика архивирования широко распространена, так как программы в сжатом виде занимают меньше места и для их пересылки требуется меньше времени. Если программа-архиватор заражена, она может заражать все, что вы архивируете или восстанавливаете из архива. Фальшивые игры (например, SEX.EXE) Игры печально известны как распространители зараженного ПО. Обычно пользователь переписывает новую игрушку (а новые игрушки появляются ежедневно) и сразу же запускает ее. Поскольку его внимание сконцентрировано на игре, он может не заметить побочную деятельность программы. Ну кто, скажите, может не совладать с искушением запустить программу, названную SEX.EXE? Оказывается, именно эта программа распространяла вирус, балующийся с областью FAT. Опять-таки не падайте духом, но будьте осторожны. Пиратские копии Предположим, ваш друг предлагает вам программу, которую он стащил. Если вы ее возьмете, вы будете замешаны в сбыте краденого. А вы доверяете вашему другу? Знаете ли вы, где он достал программу?
Только для специалистов: Так что же такое вирус на самом деле? 83 Мы рекомендуем вам быть на стороне разработчиков ПО и всегда платить за свои программы. Так гораздо безопаснее. Обновленные версии программ, распространяемые через сеть Еще одной замечательной возможностью для заманчиво выглядящей Троянской программы являются модернизированные или исправленные версии программ, распространяемые разработчиками ПО. Многие крупные разработчики распространяют программы и модификации через общественные BBS. Задача пользователя (т.е. вас) - удостовериться в том, что с момента выпуска разработчиком модернизированной версии никто не вносил в нее вредоносных изменений. Некоторые антивирусные программы (см. приложение) способны проверять файлы на наличие в них известных вирусов. Мы рекомендуем вам пользоваться ими перед запуском каких бы то ни было программ, скопированных с BBS: бесплатных, копируемых или модернизированных версий. Или же вы можете получать новые версии непосредственно от разработчика, пусть даже это и требует большего времени на переписку и т.п. Коммуникационные каналы Каждый раз, когда вы организуете связь с другим компьютером, вы пользуетесь каким-либо каналом. Это может быть провод или, скорее, телефонная линия. Хотя мы и не рассматривали здесь случаи заражения при коммуникации, знайте, что к телефонным линиям можно подключиться. Может случиться, что вас слышит не только тот компьютер, куда вы звонили. Если вы полагаете, что подверглись такому виду вандализма с применением технических средств, раздобудьте необходимую литературу и проведите свое собственное расследование или наймите профессионалов. КАК СОЗДАВАТЬ ВАКЦИНЫ И ЛЕКАРСТВА В этой главе обсуждалось, как вирусы размножаются и какие действия они обычно предпринимают. Этот раздел предназначен для разработчиков вакцин, ищущих способы создания средств, обнаруживающих попытки инфильтрации вирусов. Мы одобряем вашу работу над вакцинами: многие пользователи не сумеют выкарабкаться без вашей помощи. В борьбе с вирусами есть три основных направления: диагностика; недопущение заражения и исправление нанесенного ущерба. Любая вакцина должна прежде всего уметь распознавать зараженные программы, это помогает избежать заражения. Она может просмат-
84 Компьютерный вирус: проблемы и прогноз ривать файлы в поисках известных вирусов и допускать возможность поиска подозрительного текста в программных файлах (например, такого маловероятного, как "НА НА GOTCHA' - 'ХА-ХА, ПОЛУЧИЛ?"). Естественно, новый вирус таким путем не обнаружить, если только вандал не позаботился включить в программный код смешные сообщения в доступной форме. Определение инфицированных программ позволяет ограничить поражение. Этого можно достичь использованием контрольных сумм, кодированием программ или комбинацией обоих методов. Вакцина может также отслеживать вызовы резидентных программ и команды нижнего уровня доступа к диску в программном коде. Вы должны хорошо документировать свои программы, чтобы пользователи могли отличить работу вируса от такого типа запланированных действий программы. Поскольку присутствие нового вида инфекции в программе невозможно обнаружить при просмотре, следующим уровнем защиты от вирусов является перехват обычно совершаемых вирусами разрушительных действий с целью ограничить наносимый ими ущерб. Вакцина может включать в себя резидентную программу, перехватывающую обращения к системе, вызовы резидентных программ, попытки отформатировать диск и попытки модификации программных или системных файлов. 17> Она может также автоматически или вручную проверять контрольную сумму с тем, чтобы можно было запретить выполнение программ с измененными контрольными суммами. Или она может автоматически запускать проверку программ по списку. Документация должна разъяснять, что кодирование, контрольные суммы и списки проверяемых программ не могут гарантировать невозможность случайного пропуска зараженной программы (отсюда необходимость первого пункта - просмотра для первичного отсекания плохих программ). Здесь могут оказаться полезными некоторые средства блокирования доступа к файлам (но их сложно реализовать, и эти средства не защищены от дурака). Этот способ уменьшения ущерба может оказаться заманчивым для покупателей: по крайней мере после того, как к одной из антивирусных программ, описанных в приложении, были добавлены возможности отслеживания вирусов, объем сбыта, по сообщению разработчика, возрос. Остается проблема разработки универсального антивирусного средства, которое защищало бы от всех вирусных инфекций, как известных, так и вновь разработанных вирусов. До настоящего времени такого средства еще не создано. Одна причина состоит в том, что для того, 17) Как разработчик вы, наверное, являетесь также и квалифицированным пользователем. Вам следует изучить технический материал, не включенный в данную книгу; воспользуйтесь библиографией. Вам следует знать о попытках исследования способов проникновения вирусов в программы и о 40 или около того обычных действий вирусов в системе. Готовящаяся в настоящий момент к публикации книга д-ра Хайлэнда (Dr. Highland) может оказаться чрезвычайно полезной. Еще один великолепный источник - журнал Computers & Security.
Только'для специалистов: Так что же такое вирус на самом деле? 85 чтобы сделать свое грязное дело, вирусу достаточно получить доступ к системе и выдать тот же тип запроса, который может выдать и любая законная программа.18* Каким способом может антивирусная программа отличить обычную прикладную программу, выдающую запрос к операционной системе для выполнения оправданного и необходимого действия от вируса, действующего таким же образом? С точки зрения антивирусной программы эти случаи очень похожи. Здесь весьма уместна часто приводимая аналогия между раком в человеческом организме и вирусной программой в компьютере. Последний компонент в системе защиты - это какое-либо средство исправления повреждений. Сохранение различной информации, такой как CMOS, загрузочные сектора, копии FAT, помогают в восстановлении работоспособности системы. Удобными инструментами являются такие утилиты как ResEdit (для компьютеров "Макинтош")» PCTOOLS, Norton Utilities и Mace Utilities (IBM). Это не входит, строго говоря, в концепцию защиты от вирусов, но некоторые идеи можно почерпнуть из документации. Документация не должна быть слишком детальной; тем, кто не знаком с тонкостями работы DOS или операционной системы "Макинтош", не следует использовать подобные средства. Упомяните это в своей документации. Не забудьте о том, что вирус может заразить и антивирусную программу. В литературе описаны такие средства, как доступ к таблицам паролей только для определенных путей и имен файлов, шифрование таблиц и подсчет контрольных сумм антивирусных программ.19) 18) Д-р Хайлэнд сообщил о некотором прогрессе в определении минимального числа характеристик, общих для всех вирусов на IBM-совместимых машинах. Если его исследование подтвердит существование ограниченного числа характеристик, то универсальная система вирусной защиты должна будет только найти способы их блокирования. Она будет эффективна как для новых, так и для изученных вирусов. Некоторые, однако, сомневаются в существовании такого ограниченного набора. 19) Например, [Madsen 1988].
Глава 6 ХЭКЕРЫ, ПИРАТСТВО, ВИРУСЫ И ВАШИ ДЕНЬГИ Некоторые действия людей и вправду облегчают мне жизнь. Все вокруг обмениваются играми. Если я сумею заразить такого любителя игр, он, наверное, копирует и другие программы, и я и их тоже заражу. Ух! Ну точно, уйма людей занимается этим. ХЭКЕРЫ Многие исследования посвящены личности и мотивации антиобщественного поведения. Вандал, использующий компьютерные вирусы для нанесения вреда, кое в чем сходен с остальными преступниками, а кое в чем от них отличается. Характеры людей различны. Отмечено, 1) что в больших группах примерно 85% людей в основном честные, 5% могут что-нибудь совершить, если, по их представлениям, вероятность заслуженного наказания мала, еще 5% готовы рискнуть, даже если шансы складываются 50 на 50, и 5% готовы на противозаконный поступок, даже если они почти уверены в том, что будут пойманы (последнюю группу мы будем называть психопатами или социопатами). (См. рис. 6.1.) Эта статистика вполне применима к достаточному числу людей, обладающих необходимыми навыками для создания вирусов. Таким образом, особое внимание надо сконцентрировать на тех 10% или около того, которые готовы рискнуть,когда шансы поимки велики. Обычно у каждого действия есть своя причина, и обычные мотивы корысти или мести применимы к потенциальным создателям компьютерных вирусов. Некоторые - просто психопаты и распространяют вредоносные программы из бессмысленного вандализма. Прочие совершают это в качестве интеллектуального вызова. Компьютерщики самого высокого класса могут испытывать искушение ответить на вызов типа "Моя система полностью защищена." 1) [Krauss 1979], особенно гл. 2.
Хэкеры, пиратство, вирусы и Ваши деньги 87 5% готовы смириться с небольшой вероятностью поимки 5% готовы смириться с шансами 50 на 50 5% обычно злобные и им все равно Рис. 6.1. Типы личности. Готовность ответить на интеллектуальный вызов - одно из качеств хорошего профессионала, но для хэкера вызов, подобный только что упомянутому, - все равно что красная тряпка для быка.2) Защита от преступников базируется на личностных элементах, создании препятствий и мотивах. Как пользователь вы можете ограничивать возможности хэкера, практикуя "безопасный гекс". Как наниматель вы можете воздействовать на мотивацию, обеспечивая хорошие рабочие условия и уровень зарплаты. Как нравственному человеку вам следует избегать распространения вирусов. Если же вам приходится лезть в драку, то гораздо более интересно и более приемлемо социально разрабатывать системы защиты, нежели взламывать их. ПИРАТСТВО: С НЕКОТОРОЙ ПОМОЩЬЮ МОИХ ДРУЗЕЙ Есть один или два аспекта, которые вам следует рассмотреть, если вы подумываете о создании и распространении вируса. Во-первых, это не только гнусно и непрофессионально, это еще и противозаконно. 2) В [Landreth 1987] дано жуткое описание мотивов некоторых хэкеров. Им безразличны вероятность поимки и величина потенциального ущерба; им важно только принять вызов и чтобы окружающие восхищались их "гениальностью". Один из способов их поймать - взывать к их тщеславию столько времени, сколько требуется для определения телефонного номера.
88 Компьютерный вирус: проблемы и прогноз По большей части вирусы распространяются вследствие различных нарушений авторских прав и лицензий. Когда вы покупаете программу, вы обычно не имеете прав на саму программу, а только обладаете правом пользования ею при соблюдении определенных условий. Эти условия обычно включают запрет на свободное распространение копий, т.е. на пиратство. Некоторые последствия распространения вирусов являются уголовным преступлением. Законы могут быть разными в разных местах, но смысл в том, что вы можете навлечь на себя серьезные неприятности.3* (А если вас не поймают, то кто узнает, насколько вы талантливы?) Главы 10 и 11 посвящены юридическим аспектам компьютерных вирусов. Пиратство является также одним из наиболее распространенных путей передачи вирусов. Вы хорошо знаете хозяина программы? Не заражена ли BBS, и достаточно ли она безопасна? Где ваш приятель достал эту программу? Вы должны задать себе эти вопросы. Насколько осторожно следует подходить к выбору поставщика программного обеспечения? Компьютерные программы - это кровь вашего компьютера. А насколько осторожным следует быть, если вам необходимо переливание крови? На рис. 6.2, например, представлен плакат 1986 г., выпущенный Национальным центром компьютерной безопасности США. Заметьте: они очень серьезно относятся к угрозе вирусов. Подумайте об этом. Вам тоже следует серьезно отнестись к ним. TANSTAAFL, ИЛИ ПОЧЕМУ ЭТОТ ПАКЕТ СТОИТ $1000? Слово TANSTAAFL было впервые использовано Робертом Хайн- лайном в его книге 'The Moon is a Harsh Mistress" ("Эта строгая Луна"). Это аббревиатура слов "There Ain't No Such Thing As A Free Lunch" ("Бесплатных обедов не бывает") Смысл в том, что ничто не дается даром; кому-нибудь где-нибудь придется за все платить. Вам может показаться, что программа, которую вам предлагает приятель, ничего не стоит. Но это не так. Широкое распространение пиратства - одна из причин того, что хорошие программы стоят очень и очень дорого, а кроме того, оно является обычным путем передачи вирусов. Компьютерные программы не растут на деревьях, они разрабатываются людьми. Создание хороших программ - непростое и недешевое дело. Чтобы понять почему, взгляните на рис. 6.3, где изображено несколько основных этапов процесса разработки и маркетинга хорошей программы из тех, что вы покупаете и используете потому, что они облегчают вашу жизнь.4> Давайте вкратце познакомимся с каждым эта- 3) Вы можете провести некоторое время за решеткой, подвергнуться штрафам и попасть в черный список, что отравит вам всю последующую жизнь. 4) В зависимости от маркетинга и других стратегий разработчика многие из этих затрат могут значительно изменяться. Различные стратегии маркетинга, например, могут вдвое
Хэкеры, пиратство, вирусы и Ваши деньги 89 пом, не забывая при этом, что данный список сильно упрощен; если вы хотите изучить процесс более детально, обратитесь к литературе по системному анализу. Never Accept Gifts From A Stranger... в x Wi^k< Ъ v A ii "Червь" или "вирус" - самораспространяющаяся программа, которая, кроме выполнения основ ной функции, вызывает вредный побочный эффект. Рис. 6.2. "Никогда не принимайте подарков от посторонних' увеличить стоимость программы. Хотя относительные затраты могут изменяться, все эти этапы необходимы для создания хорошей программы.
90 Компьютерный вирус: проблемы и прогноз I Относительные затраты ► Рис. 6.3. Относительная стоимость разработки программного обеспечения. - Постановка задачи Постановка задачи - критический этап. Проблему нельзя решить, если она не определена. Профессионалы научены горьким опытом, что исправление ошибок, допущенных на этой стадии, обходится очень дорого. Если создавая прикладное программное обеспечение, разработчики тратят большие средства и находят замечательное решение несуществующей проблемы, то скорее всего, они пойдут голыми по миру. Данный этап обычно не требует значительных затрат, но он очень важен. - Планирование и разработка Именно на этапе планирования и разработки фактически пишутся программы. Обычно это не самый дорогой этап, но это отнюдь
Хэкеры, пиратство, вирусы и Ваши деньги 91 не значит, что он легкий или дешевый. Создание таких программ, как Lotus 1-2-3, dBase III или Microsoft Word требует многих человеко-лет. В зависимости от сложности программ капиталовложения на данном этапе могут достигать от 100 000 до нескольких миллионов долларов. Не забывайте, что вирус может заразить программу уже в процессе разработки. Тестирование Еще один путь, ведущий к банкротству - это выпуск недоотла- женной продукции со множеством ошибок. Чтобы избежать этого, требуется многое, но тестирование - это основной шаг. Разработчикам следует как можно лучше тестировать свою продукцию. Ее нужно подвергнуть бета-тестированию, когда копии программы распределяются в контрольной группе пользователей, не зависящей от вашей компании. Положитесь на них, они обнаружат ошибки, пропущенные вашими служащими.5> Исправьте найденные ошибки и вы уменьшите количество разочарованных покупателей. Жалобы пользователей приводят к дополнительным затратам времени и средств на исправление дефектов. Кроме того, это самое подходящее время, чтобы убедиться в отсутствии вирусов и логических бомб, спрятанных в программах. - Маркетинг В некоторый момент людей следует убедить в необходимости купить программу. В общих чертах существуют четыре способа продать прикладную программу: пытаться продать ее отдельным пользователям и оптовикам; распространять ее как копируемое программное обеспечение и надеяться, что она понравится достаточному количеству людей и деньги, которые те пришлют, обеспечат вам прибыль; постепенно создавать себе рынок, пользуясь в ограниченной мере рекламой, рекомендациями и т.п. и потратить значительные средства на рекламу, с тем чтобы быстро продать много копий программы. Мы впоследствии рассмотрим эти методы более подробно: пиратство и вирусы непосредственно влияют на стратегию маркетинга и, следовательно, на расходы. - Документирование В идеале, каждая программа должна быть полностью самодокументированной, с впечатляющими экранами подсказок, удобны- 5) Это не подкоп под разработчиков; существуют основательные психологические предпосылки для того, чтобы программы тестировались не только их разработчиками. Проверка продукции контрольной группой как альтернатива выпуску сырых версий оборачивается к лучшему. В противном случае вы доставите покупателям одни огорчения и заработаете плохую репутацию.
92 Компьютерный вирус: проблемы и прогноз ми в использовании логическими функциями и т.д. В земном мире не существует идеальных программ, выполняющих достаточно сложные задачи. Разработчикам приходится писать подробные руководства. Они должны объяснять, что делает программа, перечислять возможные ошибки и способы их исправления и другие свойства программы. Хорошую документацию тяжело писать и дорого производить, но она необходима. - Производство Стадия производства - это время, когда вы тиражируете в больших объемах документацию и программные дискеты. Копирование может производиться разработчиком или специализированными компаниями. В любом случае берутся мастер-дискеты, они копируются, каким-либо способом производится контроль качества, копии упаковываются с руководствами и запечатываются. В этом процессе есть немало моментов, когда вирус может внедриться в мастер-копию. Такое уже случалось. - Сопровождение и усовершенствование Если планы разработчиков распространяются на долгое время, они должны предусмотреть пути исправления замеченных дефектов в программах и распределения исправлений и новых версий продукта среди пользователей. Очень важно убедиться в том, что исправленные и новые версии не заражены. При учете затрат в данную категорию можно также включить исследование и разработку. - Поддержка Последним пунктом в нашем списке, а также в списках некоторых разработчиков стоит поддержка. Пользователи предпочитают покупать продукты фирмы, которая предлагает услуги с целью облегчения использования ее программного обеспечения. Если заказчиков много, такое предложение может обойтись достаточно дорого, и в любом случае оно предполагает долгосрочные обязательства. Давайте вернемся и более подробно рассмотрим маркетинг и влияние вирусов и пиратства. Не упускайте из виду, что если разработчик не продаст достаточно программ, он не получит дохода, а без дохода он долго не протянет. Теперь рассмотрим как пиратство влияет на этот процесс. Пиратство приводит к тому, что на каждую оплаченную копию программы приходится большое количество скопированных бесплатно. Оценки колеблются от 2 до 30 и более пиратских копий на каждую законную ко-
Хэкеры, пиратство, вирусы и Ваши деньги 93 пию за время жизни программы.6) Если программа хороша, всегда найдутся желающие скопировать ее, и с течением времени количество пиратских копий растет. А как это влияет на доходы? А на шансы разработчика продолжать свой бизнес? Воздействие пиратства заставляет разработчика прибегнуть к одной из двух стратегий маркетинга: распространять продукцию в виде копируемого обеспечения (низкие затраты, но зато высокий риск и уязвимость по отношению к вирусной инфекции) или устроить шумную кампанию для сбыта (очень дорого). Оба способа пригодны, при этом цель достигается различными путями и для различных типов программ. Метод копируемого программного обеспечения годится для программ, предназначенных для массового рынка. Поскольку большая часть программного обеспечения рассчитана на определенную экологическую нишу, перспективы этого подхода настолько мрачны, что он вряд ли осуществим. Теперь давайте вернемся к TANSTAAFL. Основная причина столь высокой стоимости программного обеспечения кроется в том, что кому- нибудь все равно приходится платить за чрезвычайно дорогую рекламу. Если разработчику удалось создать что-то действительно удачное, для получения приемлемого дохода ему необходимо быстро продать достаточное количество копий. Очень скоро спрос начнет удовлетворяться пиратскими копиями, которые не приносят дохода. Такой вид рекламной блиц-кампании может стоить миллионы, часто больше всех остальных затрат, вместе взятых. Необходимость прибегать к дорогой рекламной кампании, вызванная свирепствующим пиратством, имеет множество последствий. Адекватное тестирование, особенно бета-тестирование, требует времени. Если разработчик вложил большие деньги в рекламную кампанию с указанием определенной даты выпуска, то над программистами довлеет необходимость закончить работу вовремя. Такое давление приводит к ошибкам, в том числе к недостаточному контролю, что может позволить вирусам внедриться в программное обеспечение. Другими типичными следствиями штурмовщины являются ошибки в программировании и плохая документация. Другой тип стресса возникает вследствие обнаружения ошибок за неделю до контрольного срока выпуска. Возникает большой соблазн выпустить заведомо ошибочную версию вместо того, чтобы задержать выпуск до окончательной отладки. Вот откуда берутся фиктивные программы. Это приемлемый, хотя и достойный сожаления шаг; по край- 6) Случай с вирусом MacMagy поразившим 350 000 машин за два месяца, показывает, что эти оценки могут быть сильно заниженными. (О громадных масштабах компьютерного пиратства в нашей стране свидетельствует такой факт. Из примерно двух сотен компьютеров (IBM-совместимых), с которыми мы сталкивались за последнее время, ВСЕ имели программную оболочку Norton Commander. Насколько нам известно, НИ ОДНА из этих копий не была приобретена законным путем. (На трех машинах пользователи, хотя и имели Norton Commander, предпочитали работать с оболочкой ХТгее, но и она была ворованной.)
94 Компьютерный вирус: проблемы и прогноз ней мере он делается с благими намерениями - во избежание выпуска программ, содержащих ошибки. Некоторые разработчики как аппаратного, так и программного обеспечения обвиняются в использовании политики фиктивного обеспечения в качестве своей стратегии маркетинга. Однако такой метод не увеличивает числа почитателей или доброжелательных пользователей аппаратного или программного обеспечения. Заметьте, что пиратство является основной причиной многих неурядиц,7* включая неотлаженные программы и фиктивное ПО и, конечно, сильно завышенные цены - исключительно с целью покрытия расходов на все эти рекламные объявления. Теперь добавьте к описанной картине вирусы. Это приводит к тому, что надежное ПО может стать еще дороже. Единственный способ справиться с вирусами для разработчика - это ужесточить контроль и увеличить объем тестирования на нескольких этапах процесса разработки. Это увеличивает стоимость и затраты времени. Итак, совместное влияние пиратства и вирусов, похоже, несет ответственность за половину стоимости большинства хороших надежных программ, а также за задержку их выпуска. Даже пираты, возможно, не могут скопировать некоторые хорошие программы просто потому, что они не дошли до потребителя. 7) В статье [Wyles 1988] показано, что организованное пиратство было причиной застоя в индустрии программного обеспечения в Италии. Мы уж не говорим о незначительных эффектах.
Глава 7 КАК НАМ УБЕРЕЧЬСЯ ОТ ВИРУСОВ: "БЕЗОПАСНЫЙ ГЕКС" Посмотрим, что я должен сделать теперь? А ну-ка, что это вон там... ой-ей-ей, что это за программа, и что она собирается делать? Это что - вакцина? Это опасно? Черт, я не могу влезть, а эта программа пытается писать в мой... Борьба с вирусами состоит из трех основных действий: прежде всего, избегать их, во-вторых, обнаруживать и избавляться от них и, в- третьих, исправлять повреждения. Главы 8 и 9 посвящены диагностике и излечению систем, зараженных компьютерными вирусами. А сейчас мы рассмотрим, что вы можете сделать и чего вам не следует делать, если вы хотите прежде всего уберечь свою систему от вирусов. Если вы сэкономите на превентивных мерах, длительное лечение может влететь вам в копеечку. ЧТО СЛЕДУЕТ И ЧЕГО НЕ СЛЕДУЕТ ДЕЛАТЬ Следует: для пущей безопасности покупать все программы в фирменной упаковке у надежного поставщика. Конечно, это не всегда представляется возможным. Помните также, что продавец мог вскрыть упаковку, а потом снова запечатать ее. Более того, даже исходная программа в фирменной упаковке может быть заражена. Одному из нас привелось купить фирменную программу в новенькой упаковке и обнаружить, что конверт внутри с надписью "Разорвите наклейку" уже открыт. Следует: каждый раз, получая новую программу, защитить от записи мастер-дискету (оригинал), прежде чем вставлять ее в дисковод,1) и если вы сбрасываете копируемую программу на жесткий диск, скопировать ее на дискету данных (не системную!) и удалить ее с 1) Этот оригинал может вам понадобиться для разрешения целого ряда проблем, а защита от записи - наилучшая гарантия безопасности.
96 Компьютерный вирус: проблемы и прогноз винчестера, прежде чем запускать программу; затем защитить дискету от записи, чтобы увеличить благоприятные шансы. Теперь у вас есть исходная незагрузочная дискета для тестирования. На ней нет системы, которая могла бы заразиться, если бы вдруг программа оказалась инфицированной. И поскольку вы не запускали переписанную программу с жесткого диска, он по- прежнему не испорчен. Следует: сделать резервную копию с исходной защищенной дискеты. Защитить и полученную копию; это повышает вашу безопасность. (Если ваша система уже инфицирована, резервная копия может быть заражена уже при ее создании.) Следует: установить программу с защищенной исходной дискеты (или с первой копии, если вы переписывали копируемое программное обеспечение на винчестер). Вы работаете с исходной (или первой) копией, вероятность того, что она окажется зараженной, минимальна, и вы, защитив дискету от записи, тем самым уменьшили шансы дальнейшего распространения инфекции. (Есть небольшой риск того, что любая из резервных копий, которые вы сделали, может быть заражена.) Следует: сравнить файлы на исходной дискете или первой копии с аналогичными файлами на резервной копии. Если между ними есть малейшие различия, вы можете заподозрить наличие вируса. (Используйте команды DISKCOMP, или СОМР операционной системы DOS, или любую другую известную вам утилиту сравнения.) Не следует: продолжать работу, если вы обнаружили различия. Ваша система, возможно, инфицирована;2^ перейдите к гл. 8, чтобы убедиться в этом, или обратитесь к гл. 9 за советами по лечению вашего компьютера. Следует: проверять каждую приобретенную программу. Делает ли она то, что вам требуется? Нет ли в ее работе каких-либо странностей? Не заметны ли какие-нибудь признаки заражения из числа описанных в гл. 8? (Если вам позволяют средства, проверку следует проводить на отдельном компьютере без жесткого диска, без CMOS и без подключения к сети.) Если программа является копируемой и не работает, выбросьте ее. Если вы заметили признаки заражения, то, скорее всего, вы уже успели заразить вашу систему. Однако, по всей вероятности, вирус находится в стадии размножения и пока еще не успел нанести существенного вреда. Следовательно, у вас есть еще шанс изле- 2) Некоторые программы являются самомодифицирующимися, например программа для сохранения такой информации, как идентификатор пользователя и пароль. Это обусловливает различия при сравнении, что в порядке вещей. Мы надеемся, что разработчики отвыкнут от этой порочной практики, поскольку рядовой пользователь никаким способом не может отличить такую двусмысленную работу программы от вирусной инфекции. Разработчики, вдумайтесь: оператор ALTER недаром был изъят из стандарта языка COBOL.
Как нам уберечься от вирусов: "безопасный гекс" 97 читься вовремя одним из наименее радикальных методов, описан ных в гл. 9, до того, как вирус решит, что достаточно расплодился, и перейдет к решительным действиям. Следует: для обеспечения вящей безопасности попробовать прогнать все ваши тесты, установив системные часы на месяц вперед, затем на год вперед, затем на какую-либо пятницу, попавшую на тринадцатое число месяца (в DOS пользуйтесь командами TIME и DATE; на "Макинтоше" часы переводятся с контрольной панели). (Не забудьте потом перевести часы назад.) Если вирус содержит мину замедленного действия, вам, возможно, удастся отключить ее в результате всех этих переводов часов, и результаты тестов изменятся. (Если вы волнуетесь по поводу политических вирусов вроде вируса ООП, то кроме пятницы тринадцатого попробуйте поставить часы еще и на даты исторических событий.) Если результаты тестов изменились, значит вы заразились и вам нужно обратиться к гл. 9. Следует: просмотреть новые программы в поисках подозрительных строк. Если найдете, уничтожьте программу (лучше вместе с дискетой - это обойдется гораздо дешевле, чем потом исправлять повреждения, если вы по ошибке воспользуетесь зараженной дискетой). Войдите в текстовый процессор или редактор и загрузите программу как обычный файл данных. Если возможно, сделайте это в защищенном от записи режиме. Просмотрите текст программы в поисках сообщений типа "Gotcha!" ("Получил?!") или "Dummy!" ("Балда!"). Большая часть текста программы представляется шест- надцатеричным "мусором". Можно разобрать только некоторые сообщения об ошибках и авторских правах, пункты меню и т.п. Оскорбительные или "юмористические" сообщения типичны для вирусных программ.3) Ни в коем случае не меняйте ничего в программе (а если она находится на защищенной дискете, то вы и не сможете этого сделать) и не записывайте ее на диск из редактора или текстового процессора. Вам ведь нужно всего лишь посмотреть, и если только вы не специалист, то вы не сумеете изменить в редакторе или текстовом процессоре программу так, чтобы она после этого еще и работала. Следует: если у вас есть какие-либо антивирусные средства, проверить программу на наличие в ней известных вирусов. Следует: на IBM-совместимых компьютерах просматривать все .ВАТ- файлы и файл CONFIG.SYS регулярно, может быть даже ежемесячно, а также каждый раз после загрузки новых программ. Поскольку для размножения или нанесения вреда вирусные программы должны быть выполнены, они иногда вставляют дополни- 3) В играх и подобных им программах вполне можно встретить такие же строки, поэтому этот метод обнаружения вирусов для них не подходит. 4-954
98 Компьютерный вирус: проблемы и прогноз тельные команды в файлы AUTOEXEC.BAT или CONFIG.SYS. Если вы обнаружите новые или измененные команды, это может оказаться результатом деятельности вируса. Обратитесь к гл. 8 или 9. Следует: если у вас имеются специальные утилиты, подобные тем, что мы перечислили, поискать скрытые (DOS) или невидимые ("Макинтош") файлы. Скрытые или невидимые файлы используются некоторыми программами, но, кроме того, они являются излюбленным местом маскировки вирусов. Если помимо обычных системных файлов вы обнаружите и другие, примите меры предосторожности.4) Следует: если в вашей системе отсутствует жесткий диск, всегда загружаться с защищенной дискеты. Если система на загрузочной дискете защищена от записи (физическим способом с использованием прорези защиты от записи), то заражение системных файлов каким бы то ни было вирусом чрезвычайно маловероятно. Следует: заметить длины копий важных файлов, время и даты их создания. Записать куда-нибудь эту информацию; если вам когда-либо понадобится восстановить файлы из резервных копий, вы сумеете убедиться, что эти файлы не претерпели никаких очевидных изменений. Следует: если у вас есть программа, подсчитывающая каким-либо способом контрольную сумму, запустить ее и записать результат. Регулярно, может быть даже после каждого запуска программы, вычислять контрольную сумму заново и сравнивать ее с записанным значением. Многие антивирусные пакеты используют тот или иной способ вычисления контрольной суммы. Это позволяет с большой вероятностью полагать, что восстановление файлов производится из оригиналов, а не из зараженных копий. Конечно, никакая контрольная сумма не спасет, если был заражен сам оригинал. Он как был, так и останется инфицированным. Следует: регистрировать все программы, устанавливаемые в вашу систему. Записывать их длину, дату и время создания, контрольную сумму, если у вас есть средства ее подсчета, а также где и когда вы ее достали. Записывать дату и прочие характеристики всех имеющихся резервных копий. Если вы только когда-нибудь найдете у себя в системе вирус, вы будете молиться на эти записи; од и позволят определить последнюю программу, полученную перед обнаружением вируса, найти сделанные до этого момента копии и т.д. Вы сумеете вычислить 4) В гл. 4 упоминаются стандартные скрытые и невидимые файлы. Некоторые антивирусные средства выполняют проверку такого рода; см. приложение.
Как нам уберечься от вирусов: "безопасный гекс" 99 преступника, если установите, кто дал вам программу и когда это было. Следует: избегать очевидных источников опасности. Переписывать программы только из надежных рук, принимать их только от тех, кого вы знаете и кому доверяете и т.д. Главное - не получить зараженного программного обеспечения. Разработчики, порядочные профессионалы, порядочные BBS и прочие не марают себе руки зараженными программами по крайней мере умышленно. ВАКЦИНЫ Некоторые из перечисленных в приложении программных продуктов поддерживают функции, которые мы упоминали выше, а именно контрольные суммы, списки разрешенных к запуску программ и обнаружение известных вирусов. Ваши шансы уберечься от вирусной инфекции возрастают при использовании одного или нескольких из этих продуктов, в особенности тех, что хранят список разрешенных к запуску программ и выдают предупреждающее сообщение, если вы пытаетесь запустить непроверенную программу или если после внесения в список программа была изменена. (Этот метод не предохраняет от заражения, если на момент внесения в список программа уже была инфицирована. Будьте уверены, что разрешаете запуск только стерильных программ.) Следует: если вы предполагаете, что попали в группу повышенного риска, купить и установить один из антивирусных пакетов, тех, что позволяют проводить проверку новых программ на наличие в них известных вирусов, предупреждают запуск непроверенных программ и пресекают попытки программ выполнить непредусмотренные или опасные действия. Заметьте, что программы вирусной защиты работают с теми же частями системы, которые так уязвимы для вирусов. Если в программе защиты содержится ошибка, то ущерб от ее работы может быть вполне сравним с результатами деятельности вируса. По этой же причине мы советуем проявлять осторожность при исправлении нанесенных вирусами повреждений при помощи специальных утилит: они позволяют вам вносить изменения в уязвимые места системы. Вакцина, проверяющая компьютер на наличие известных вирусов, имеет одно очевидное ограничение: она не может обнаружить новые или неизвестные вирусы. Это один из фактов, подчеркивающих, что никакими средствами нельзя добиться полной безопасности. Обычно разработчики таких вакцин выпускают новые версии программ по мере обнаружения новых вирусов. Зачастую они просят присылать им все вирусы, которые вам попадутся, чтобы можно было добавить их к тем, которые уже обнаруживаются программой. Выполните их просьбу 4*
100 Компьютерный вирус: проблемы и прогноз - тем самым вы поможете многим избежать тех трудностей, с которыми вы сами только что столкнулись. ЕЩЕ РАЗ О РЕЗЕРВНЫХ КОПИЯХ Может быть, мы уже надоели вам с этими резервными копиями. Однако тому есть причина: неустанным повторением мы показываем вам, что считаем их важными. На самом деле копии жизненно необходимы. Следует: делать резервные копии. Бели у вас нет копий, то любая неполадка в вашей системе может привести к непоправимым последствиям. Вы не можете просто взять и восстановить все как было, вам придется начинать всю работу с самого начала. Ведь хотя вирусы появляются не столь уж часто, но сбои питания, ошибки в программах, царапины от головок, поврежденные дискеты и просто ошибки от усталости - обычное явление. Большинству из нас приходится время от времени восстанавливать те или иные файлы. Обычно это случается из-за того, что вы перепутали и стерли не то, что надо, чего-то не сохранили, просыпали крошки или пролили лимонад на дискету или допустили еще какую-нибудь оплошность. Создание резервных копий - наиболее действенная мера из тех, которыми вы можете защитить себя от последствий вирусной инфекции. Кроме того, это самый дешевый из всех методов. Следует: делать несколько копий самых важных файлов. Большинство вирусов заражают все, что только могут, в том числе и резервные дискеты. Это одна из причин того, что желательно иметь несколько копий (а также держать на одних дискетах только данные и программы, а системные файлы на других). Если вы подцепите вирус, то сумеете восстановить данные и программы с чистой копии, сделанной до того, как заразились. Если ваша резервная дискета содержала системные файлы, вирус, вероятно, запишется в них и когда вы будете восстанавливаться с дискеты, вы вновь заразите компьютер. Если вы правильно подобрали комплект антивирусных программ, то у вас наверняка есть возможность создавать резервные копии и другой довольно специфической информации. Мы настойчиво рекомендуем пользоваться этой возможностью. Речь идет о программах, позволяющих делать копии загрузочных секторов, FAT и, может быть, даже информации из CMOS. Эти копии могут оказаться бесценным подспорьем при исправлении нанесенных вирусом повреждений. Вы сумеете исправить испорченный винчестер, переписав загрузочный сектор и (или)
Как нам уберечься от вирусов: "безопасный гекс" 101 FAT из их копий, что намного проще, чем восстанавливать всю информацию на жестком диске с самого начала. Следует: отметить дату и время создания резервных копий. Записать и другую важную информацию. Если вы являетесь владельцем компании, вам следует рассмотреть целесообразность применения одного из стандартных методов ротации при создании резервных копий. Например, обратитесь к любому вводному курсу по компьютерам за описанием метода "прародителей и детей". Следует: хранить старые копии в течение некоторого времени. Возможно, в поисках незаряженных программ вам придется вернуться к одной из старых копий. Быть может, полгода - не слишком долгий срок. Следует: защищать от записи дискеты с программами, прежде чем вставлять их в дисковод. Скопируйте и защитите дискеты с копиями. Использование физической защиты от записи - лучшая гарантия безопасности, так как вирус не может модифицировать защищенный диск. ПЕРСПЕКТИВЫ Помните, что вряд ли появится вирус, предназначенный вредить лично вам. Невозможно обеспечить полную безопасность, но можно снизить опасность заражения до разумных пределов, следуя здравому смыслу ("безопасный гекс"), ценой некоторых неудобств, не более. Вы также можете за небольшую плату установить антивирусные программы, обеспечивающие приемлемый уровень защиты. Можно купить и коммерческие программы, некоторые из которых очень полезны, но зато и стоят дороже и приносят неудобства в работе. (В какой-то момент навязчивость этих программ и их вмешательство в вашу работу берут верх над вашим терпением, обусловленным стремлением к безопасности.) Рис. 7.1 иллюстрирует широко распространенное правило, известное под названием "Правило 80/20" или "Правило 90/10". Оно гласит, что максимальный эффект достигается при помощи незначительных затрат. Первые 20% вложений дают 80% эффекта (или 20% продукции соответствуют 80% объема продаж и т.п.). Когда же вы гонитесь за совершенством, то самые последние шаги обходятся очень дорого.
102 Компьютерный вирус: проблемы и прогноз I Частная собственность! Посторонним вход воспрещен! [Посторонний - это вы! 90% безопасности стоят 10% 4 Последние 10% безопасности стоят 90% Рис. 7.1. Правило 90/10.
Глава 8 ТАК ЭТО ВИРУС ИЛИ НЕТ? Я научился превосходно прятаться; меня почти невозможно отличить от других программ, и вы никогда вовремя не установите, что в системе находится вирус - слишком поздно, господа - я был здесь и уже успел совершить свое черное дело. Если вы не относитесь к лицам, входящим в группы риска (см. гл. 4), вам вряд ли грозит опасность "подхватить" вирус. Но весьма вероятно, что вам встретятся ошибки в программах и не однажды. А так как вирус - это своего рода сознательно допущенная ошибка, определить, с чем вы имеете дело в данный момент, не всегда удается.1) Так что же предпринять во избежание напрасных переживаний? Большинство пользователей сможет обнаружить присутствие вируса только: используя антивирусные программы или по необычным и беспричинным выходкам своего компьютера. ДИАГНОСТИКА В ПРОЦЕССЕ РАБОТЫ Некоторые резидентные антивирусные программы показывают, что происходит в вашей системе и предупреждают вас о появлении вируса или по крайней мере сообщают, что некая программа пытается совершить нечто необычное и далеко не безобидное. Если вы не используете такие защитные программы, обратите внимание на данный перечень предупредительных сигналов: объем доступной оперативной памяти уменьшился, хотя вы и не загружали резидентных программ; зажигается лампочка винчестера или дисковода, хотя вы и не со- 1) Для простых пользователей наибольшую опасность представляют: во-первых, их собственные оплошности и ошибки в программах, во-вторых, падения напряжения в сети, разряды статического электричества и удары молний и, наконец, разного рода неприятности, творимые злонамеренными личностями, распространяющими, например, программы-вирусы. В каждом отдельном случае вероятность этих причин определяется конкретными обстоятельствами .
104 Компьютерный вирус: проблемы и прогноз бирались ничего сохранять;2) резко замедляется работа системы; при работе с программой на дисплее неожиданно появляется необычное сообщение; DOS неожиданно отображает сообщение об ошибке, особенно если это "INVALID DRIVE SPECIFICATION" ("Неправильная спецификация диска"); ни с того ни с сего изменяются размеры файлов; изменяется число файлов; обновление каталогов происходит намного медленнее обычного; в компьютерах "Макинтош" неожиданно изменяется вид пиктограмм;3) клавиши на клавиатуре выполняют несвойственные им операции или не действуют вообще, или система зависает или перестает работать. Некоторые самые простые вирусы можно отслеживать при выполнении обычных системных команд. Проверьте, не изменились ли размеры программ и даты создания их последних версий, не уменьшился ли объем свободных областей на дискете и не появились ли самопроизвольно какие-либо новые файлы.4) В IBM-совместимых компьютерах при выполнении команды DIR на дисплее появится следующее: Volume in Drive A is aaaaa Directory of A:\ [1] [2] MYFILE EXE 6666 1-31-87 nn Fiie(s) 275003 Bytes Free [4] [3] 1:02p Рис. 8.1. Результат выполнения команды DIR в DOS. Длина файла [1] может увеличиться, если в этот файл запишется вирус. Дата [2] и время создания файла [3] могут измениться. Особенно 2) Но не забывайте, что многие программы, а особенно текстовые процессоры, автоматически записывают поступившую в процессе работы информацию, даже если вы и не давали соответствующей команды,- это нормальное явление. 3) О некоторых характерных симптомах сообщается в описаниях вирусов в гл. 2. 4) Во многих программах используются временные файлы, и, если вы прервете выполнение подобной программы, такие файлы могут сохраниться. Это не всегда является признаком появления вируса, но подобные файлы следует обязательно удалить. Известно, что некоторые виру, ы маскировались под временные файлы, присваивая их имена.
Так это вирус или нет? 105 настораживают подобные трансформации в файле COMMAND.COM - ведь он обычно изменяется только при инсталляции новой версии DOS. Если копия вируса появится сразу во многих файлах, объем свободных областей на диске [4] может внезапно уменьшиться.5) Сложные вирусы не допускают таких явных промахов и искусно заметают следы, но множество их собратьев не обладает подобной смекалкой. Так что полезно время от времени проверять свою систему с помощью команды DIR - только не забывайте, что данный способ не годится для системных и невидимых файлов. В компьютерах "Макинтош" файлы на дисплее выглядят иначе. Так как эти машины преимущественно ориентированы на графическое представление информации, файлы и каталоги изображаются в виде пиктограмм или небольших картинок в соответствующем окне. В верхней части рис. 8.2 показано текущее изображение на дисплее "Макинтоша". Каталоги в Мак'ах, подобно подобно поддиректориям в DOS, содержат различную информацию, собранную в файлах - или в случае Мак'ов - в других каталогах. Как и поддиректории в DOS, каталоги могут обладать разветвленной структурой, позволяющей при правильной организации дела обращаться к тысячам различных файлов. Способ представления файлов и каталогов на дисплее контролируется несколькими параметрами. Помимо изображения в виде пиктограмм, возможен вывод на экран таблицы файлов с именами в алфавитном порядке, или же расположенных в соответствии со временем создания (начиная от самых поздних версий) или размерами (первыми идут самые длинные файлы) и т.д. В нижней части рис. 8.2 каталоги, представленные на верхнем рисунке в виде пиктограмм, расположены в порядке создания. Точно так же можно вывести на экран содержимое каждого каталога. В верхней части рис. 8.3 вы видите открытый каталог VirusBookStuff. Файлы, входящие в него, располагаются в окне по именам в алфавитном порядке. Указаны также и размеры каждого файла. Чтобы получить дополнительную информацию об интересующем вас файле, воспользуйтесь строкой Getinfo, и в информационном окне появится его имя, местоположение, тип, размер, дата и время создания и последняя модификация. Как и при выполнении команды DIR в DOS, следует обратить внимание на неожиданные и беспричинные изменения размеров файлов или времени создания последней модификации - возможно, это симптомы размножения вируса. Информация о невидимых файлах и связанных с ними ресурсах здесь также не выводится на экран. 5) Объем свободных областей также варьируется при работе со спулерами печати или текстовыми редакторами, оперирующими большим числом временных файлов.
106 Компьютерный вирус: проблемы и прогноз fn SS5SS | 19 items Ц] п Sustem Folder I I /=ь— DataBases Applications | I |* I Envelopes HyperCard |^ I I I Telecomm Tools f* I DataPackers PL нш psc 31 Jin О Backups a Library □ Scanner Templates -40 ^^^^^ИВИ (in disk 7.005K n D 1 | Unclassified Personal ^—-j 11 Current PSC 1 1 [^ 1 ToBeArchived Invoices О VirusBookStuff 1 lllill available £Я <Я J£lBl 1П—_^^^^Ш Name CD Current Q System Folder CD VirusBookStuff CD ToBeArchived CD PSC CD Templates CD Unclassified CD Personal CD Telecomm CD Envelopes CD HyperCard CD Scanner D Tools CD Backups E ^^^^m PSC-40 I Size Kind — folder ~ folder — folder — folder ~ folder — folder — folder ~ folder — folder ■*- folder ~ folder — folder ~ folder ~ folder Last Modified Wed, Jul 20, 1988 Wed, Jul 20, 1988 Tue, Jul 19, 1988 Sun, Jul 10, 1988 Thu, Jul?, 1988 Thu, Jul 7, 1988 Wed, Jul 6, 1988 Ved, Jul 6, 1988 Mon, Jul 4, 1988 Mon, Jun20, 1988 Thu, Jun 16, 1988 Tue, Jun 14, 1988 Sun, Jun 12, 1988 Ved, Jun 8, 1988 ^^ШН1 5 :37 PM 5 :37 PM 11 11 11 10 14 PM 37 PM 09 PM 43 PM 7 :53 PM 7 :45 PM 6 :20 PM 1 2 :05 AM 6:15 PM 1 1 :30 PM 8:11 PM 10 :20 PM V я Щ a Рис. 8.2. Каталоги компьютера "Макинтош". Конечно, появление вышеупомянутых симптомов не является непреложным свидетельством присутствия в системе вируса - вы сами могли случайно нажать не на те клавиши или, возможно, в каких-либо программах таились ошибки. Тем не менее, если вы считаете, что ваш компьютер подхватил инфекцию, нужно отключить машину, перезаг-
Так это вирус или нет? 107 | VirusBookStuff Kind: folder Size: contents total 178J76 bytes Vhere : PSC-40, HyperDrive FX Created: Mon, Jun 6, 1988 9 :28 PM Modified: Wed, Jul 20, 1988 5 43 PM Рис. 8.3. Каталоги компьютера "Макинтош 1Г\ рузить ее с защищенной системной дискеты и запустить антивирусную программу, чтобы убедиться, что программные и системные файлы не изменились. Если при обследовании системы не обнаружено никаких следов вируса, все объясняется появлением ошибок в какой-нибудь из программ. В противном случае, особенно если это касается системных файлов, ваш компьютер, скорее всего, действительно заражен и вам необходимо кое-что предпринять (см. гл. 9 и приложение).
108 Компьютерный вирус: проблемы и прогноз ВИРУСЫ В РЕЗЕРВНЫХ КОПИЯХ ИЛИ ФАЙЛАХ ДАННЫХ Если вам кажется, что на ваших дискетах с резервными копиями программ могут быть вирусы, постарайтесь вспомнить, где находились подозрительные дискеты, когда компьютер "зашалил". Ие в дисководе? Ну, тогда, пожалуй, с ним все в порядке. В качестве меры предосторожности мы посоветовали бы вам сохранять резервные копии в файлах данных на дискетах, не содержащих системных файлов. В этом случае их нельзя будет запустить, и вы не рискуете заразить систему. Данный совет поможет вам на машинах под управлением DOS, но в "Макинтоши" вирусы могут пробраться при выполнении INIT и драйверов устройств. В IBM-совместимых компьютерах записанная информация может быть искажена и запутана (например, если неожиданно изменилось написание отдельных слов, не смейтесь над "безграмотностью" компьютера). Это, конечно, не очень приятно, но, вероятнее всего, не таит в себе большой опасности. Установить наличие вируса можно только проверив данные самостоятельно или с помощью антивирусной программы. В компьютерах "Макинтош" с помощью файлов INIT и драйверов в объектные файлы можно вносить исправления - "заплаты". Чтобы определить, что содержится в этих файлах, воспользуйтесь антивирусными программами из приведенного в приложении списка или специальной утилитой типа ResEdit. Если же вы почти не сомневаетесь в присутствии вируса, проконсультируйтесь по этому вопросу с кем-нибудь из профессиональных программистов. В любой системе вы можете вычислять характеристики файлов, чтобы убедиться, что они не подверглись изменениям: определите общее число символов в файле (буквы также имеют численные значения), затем разделите полученную величину на сумму длины, даты создания и байта (байтов) атрибутов. (В настоящее время имеются программы для автоматического определения подобных характеристик.) При изменении файла меняется и его характеристика. Но мы все же не считаем описанную процедуру достаточной мерой защиты резервных копий и файлов данных, так как в процессе работы вы постоянно изменяете эти файлы и вряд ли станете тратить время на периодический пересчет характеристик. ВИРУСЫ В ПРОГРАММАХ В отличие от файлов данных, исполняемые файлы - системные, программные и пакетные (на IBM-совместимых компьютерах) - обычно изменяются только при инсталляции. А значит, если вы будете следить за длиной, датой создания и атрибутами этих файлов по описанной схеме, неожиданные изменения перечисленных параметров не останутся незамеченными. Обратите особое внимание на системные файлы. Некоторые из антивирусных пакетов программ, упоминающихся в при ложе-
Так это вирус или нет? 109 нии, предназначены для проведения такой проверки (вручную или автоматически) перед загрузкой нужной программы. Как и в случае с файлами данных, некоторые антивирусные продукты выполняются в резидентном режиме и сообщают вам о возможном присутствии вирусов. Чтобы свести риск к минимуму, загружайте программы только с защищенных от записи дисков-оригиналов. При покупке пакетов программ проверяйте целостность упаковки. Так вы полностью обезопасите себя от инфекции, если вашему поставщику можно доверять (см. также гл. 7). Естественно, переписывая программы с BBS, вы больше рискуете. В гл. 7 уже говорилось о том, что при записи программ, во время загрузки, можно обнаружить, какая из них была заражена и выявить чистые резервные копии и программы (в них не было вирусов раньше, и вы их не вставляли в компьютер с момента создания копий). Таким образом вы можете отличить вирусы от программных ошибок. ОТ ВИРУСОВ НЕ ЗАСТРАХОВАН НИКТО Программа-вирус может выполнять все те же задания, что и любая другая. В частности, большинство программ-вирусов способно замести следы. Любой вирус может запомнить дату создания программы и ее атрибуты, чтобы восстановить их прежние значения после записи своей копии в текст программы-жертвы. Некоторые вирусные программы обучены разным хитроумным уловкам, позволяющим им скрыть следы своего присутствия... до поры до времени - пока не произойдет непоправимое. Полностью защититься от вирусов нельзя никаким известным способом, как, впрочем, и с уверенностью установить их наличие. По крайней мере до того момента, пока они не выполнят свою задачу.6) Развитие новых антивирусных средств и "безопасный гекс" вселяют в нас надежду на лучшее будущее. 6) Это утверждение не является абсолютно верным: по заявлениям представителей военных кругов, системы, защищенные от проникновения вирусов, существуют - это машины ТСВ-А1,- кроме того, если вы никогда не запускаете чужих программ и ваш компьютер не связан с другими, можете чувствовать себя в полнейшей безопасности.
Глава 9 Я ПОДЦЕПИЛ ВИРУС - ЧТО МНЕ ТЕПЕРЬ ДЕЛАТЬ? Эх, неплохо сделано. Этот компьютер теперь похож на поле боя. Если моей жертве и удастся разобраться в останках, то куча моих копий, которые я оставил в его компьютере, снова нанесут удар. Кроме того, я как следует попортил FAT, так что его вряд ли можно будет восстановить. Поскольку, если вы не обладаете высокой квалификацией, ваши средства борьбы с вирусами довольно-таки ограничены, мы часто будем рекомендовать вам обратиться за помощью к специалистам. Но кое-что вы можете сделать и сами: самое главное, восстановить испорченные файлы из своевременно сделанных незараженных копий. КАК ИЗБАВИТЬСЯ ОТ ВИРУСА? Есть только одно средство, чтобы избавиться от вируса, если вы не имеете специальных знаний и соответствующих утилит: удалите все, что только вирус мог заразить, и вновь установите вашу систему, воспользовавшись чистыми резервными копиями. Если у вас сохранились резервные копии, и они не были инфицированы, вы потеряете только то, что успели сделать после последней записи резервных копий, но зато будете иметь работоспособную систему. Это весьма радикальное средство. Может оказаться более выгодным нанять профессионала, чем пожертвовать результатами длительной работы и начинать все заново. Это решение вы должны принять сами. Если вы своевременно не создали резервных копий, тут уже надеяться не на что. Помните: как только вирус нанес свой удар, вы уже не можете полагаться на те программы, к которым он мог получить доступ. В число таких программ входит содержимое всех не защищенных от записи дискет, которые вставлялись в дисковод с момента появления вируса на компьютере (еще до его обнаружения). Замена системы Если ваша система (COMMAND.COM, IBMD0S.COM, IBMBI0.COM, MSDOS.SYS, IO.SYS) подверглась заражению, проще все-
Я подцепил вирус - что мне теперь делать? 111 го заменить ее. (Если вы не знаете, как это сделать, обратитесь за помощью.) В любом случае можно потерять некоторые данные на дисках или дискетах. Так что совет профессионала может пригодиться. Выключите компьютер. Вы уже не можете полагаться на те средства, которые вирус мог заразить, т.е. все выполнявшиеся в этот момент программы, любые данные и программы на винчестере и на вставленных в компьютер дискетах. Вставьте защищенную от записи дискету с операционной системой. Проверьте лишний раз, что дискета физически защищена от записи на тот случай, если оставшиеся копии вируса попытаются заразить систему на дискете. (Замены атрибутов файлов на "только для чтения*' недостаточно.) Перезагрузите компьютер как обычно. Убедитесь, что загрузка производится с дискеты, а не с зараженного жесткого диска. Отформатируйте винчестер, если он есть. Используйте соответствующие параметры, чтобы операционная система на нем была скопирована с защищенной дискеты. Вы жертвуете всем содержимым винчестера, но ведь так или иначе на эти программы полагаться уже не приходится. Если у вас имеется специальная утилита для записи нулей поверх всего содержимого диска, воспользуйтесь ею. Восстановите структуру жесткого диска с использованием исходных защищенных дискет с прикладными программами (тех, что вы купили и защитили от записи). Проверьте, чтобы ни в одном из созданных вами пакетных файлов не появилось каких-нибудь новых странных команд. Если у вас нет жесткого диска, вам придется переформатировать и восстановить все дискеты, содержащие копии операционной системы, а также те, которые не были защищены. Теперь на вашем компьютере содержатся только чистые программы. Затем следует восстановить файлы данных. В системе DOS заражения файлов данных можно не опасаться. Они могут быть повреждены вирусом, а дискеты могут содержать копии вирусной программы, но вы можете не опасаться новой вспышки и распространения инфекции, если только не будете загружаться с зараженной дискеты. Обнаружение вирусов типа BRAIN Вирусы типа BRAIN могут записываться в такие труднодоступные места, как CMOS. Некоторые антивирусные программы перехватывают типичные действия вирусов, в том числе и тех, что записаны в CMOS.1* Как только вы обнаружите, что в области CMOS имеется вирус 1) Программы-вакцины совершают и другие полезные действия, например, NTIVIRUS прекращает работу системы, если вирус загрузился в память таким способом, тем самым ограничивая наносимый им вред.
112 Компьютерный вирус: проблемы и прогноз (вакцина определяет, что вирус пытался что-либо сделать, и вы не можете обнаружить его ни в одном из файлов), вы можете стереть его, отсоединив на некоторое время батарейки (затем восстановите показания системных часов). В такой ситуации мы советуем вам обратиться за профессиональной помощью, если только вы абсолютно не уверены в том, что вы делаете.2^ Если вы не обладаете необходимыми техническими навыками, вам просто необходимо обратиться к профессионалам. В следующем разделе вы можете прочитать о том, что следует знать специалисту. РАБОТА СО СПЕЦИАЛЬНЫМИ УТИЛИТАМИ Если вы прекрасно понимаете, что вам нужно делать, вы можете воспользоваться специальными средствами, чтобы избавиться от вирусов и восстановить некоторые виды повреждений, не прибегая к форматированию винчестера и всех дискет. Вам могут пригодиться такие утилиты как Norton Utilities, PCTOOLS или Mace Utilities (для DOS) или 1st Aid Kit, ResEdit, MacTools или FeditPlus (для "Макинтошей"). Вы так^ке должны быть знакомы со структурой файловых систем (для "Макинтошей", например, это HFS и MFS) и специальной литературой, например "Inside Macintosh" (издательство Addison-Wesley) или одним из детальных справочников по DOS вроде "Advanced MS-DOS" (Microsoft Press). Предупреждение: в неумелых руках эти утилиты очень опасны. При неправильном использовании вы можете навредить себе больше, чем сам вирус. Недостаток знаний также опасен: если у вас есть хотя бы малейшие сомнения в том, что вы делаете, лучше не пытайтесь восстанавливать поврежденную систему с помощью этих средств. Мы не собираемся давать вам здесь подробные инструкции: если вы достаточно осведомлены, вам не нужны инструкции, а если нет - вы, скорее всего, только навредите себе. Прежде всего определите с помощью этих программ масштабы ущерба. Не запускайте ни одной программы, пока не убедитесь, что она не заражена. Вылечите системные и программные файлы, затем проверьте файлы данных. Защитите файлы и дискеты с резервными копиями от записи, как только убедитесь, что они не содержат инфекции. Вы должны убедиться, что все копии вируса обезврежены, в противном случае вы вновь заразите компьютер, как только начнете работу. 2) Чтобы осуществить эту операцию, необходимо влезть внутрь компьютера, где находятся тонкие электронные компоненты, а иногда далее приходится пользоваться паяльником. Если вы не умеете обращаться с электроникой, вы можете получить удар током, вызвать пожар или безвозвратно испортить компьютер. На машинах типа AT, PS/2 или "Макинтош** следует восстановить содержимое CMOS прежде^чем вновь включать компьютер, что является весомым основанием для использования таких антивирусных программ, которые позволяли бы вам запоминать хранящуюся в CMOS информацию.
Я подцепил вирус - что мне теперь делать? 113 Мы настоятельно советуем достать одну или даже несколько антивирусных программ и использовать их в процессе восстановления работоспособности системы, а также для того, чтобы у вас не возникало проблем в будущем. Некоторые средства вирусной защиты проверяют программы на наличие уже известных вирусов, это поможет вам избавиться от зараженных программ. Другие программы вычисляют контрольные суммы файлов, так что вы можете обнаружить изменения и предотвратить распространение заразы. Третьи утилиты перехватывают типичные для вирусов разрушительные действия, так что даже если вы заразитесь, вы будете начеку и сумеете ограничить ущерб. ИСПОЛЬЗОВАНИЕ РЕЗЕРВНЫХ КОПИЙ Мы предупреждаем всех, независимо от наличия или отсутствия у вас специальных знаний: проверяйте резервные копии, прежде чем восстанавливать программы. Сравните дату создания, длину и атрибуты копий с теми данными, что вы записали при их создании. НЕ ПОЛЬЗУЙТЕСЬ РЕЗЕРВНОЙ КОПИЕЙ, ЕСЛИ ЭТИ ЗНАЧЕНИЯ РАЗЛИЧАЮТСЯ. Помните, однако, что и это не гарантирует полной безопасности: файлы могли быть заражены еще до создания резервной копии или вычисления контрольной суммы; в этом случае параметры не будут различаться, хотя файлы и заражены. Вот теперь, вам понадобятся программы вирусной защиты. Вы хотите избежать повторного заражения в процессе восстановления работоспособности компьютера. Некоторые из утилит, если их использовать совместно со специальными программами, которые мы перечислили ранее, позволят вам выявить инфицированные резервные копии и избавиться от них.
Глава 10 ЮРИДИЧЕСКИЕ СРЕДСТВА Итак, я-таки попортил их систему. Я активизировался и привел в негодность все их данные и программы. Мало того, я еще наплодил своих копий, так что им еще придется побороться с моим потомством, когда они попытаются очистить систему. Интересно, я им как следует навредил? Может, хоть что-нибудь исчезло безвозвратно? О, я слышу, поблизости пользователь. Он говорит, что хочет сделать что-нибудь. Он просто вне себя. Он может разориться. О, это была бесценная информация! Он хочет подать в суд на моего создателя. Ха, мы это уже слыхали раньте. С бурным развитием официальных и неофициальных каналов связи компьютеров и быстрым и широким распространением компьютерного пиратства вирусы получили благодатную почву и начали плодиться и размножаться. Вирусы могут совершать в пределах свободной памяти со всеми доступными файлами все, на что хватает фантазии вандала. (В гл. 3 описаны некоторые наиболее типичные проступки вирусов.) Если даже вирус и не способен ни на что более вредное, чем печать сообщений, он потребляет дефицитные ресурсы - память и время процессора. Результаты работы вирусов могут варьироваться от раздражающих до полного разгрома. Феномен компьютерных вирусов - это намного более сложное явление, чем просто надоедливые или грубые шутки, проделываемые уволенными сотрудниками или просто проказниками. Компьютерные и телекоммуникационные системы - это костяк экономической системы современного общества. Многие обозреватели пользовались аналогией с заболеванием СПИД, чтобы лучше показать некоторые моменты распространения и деятельности вирусов в компьютерных системах. Распространение СПИДа оказало огромный эффект на "сексуальную революцию" 60-х годов. В развитых странах, где общество полагается на надежность компьютерных сетей и средств коммуникации, феномен компьютерных вирусов может иметь существенное влияние на политику, экономику и юридический базис общества. Вирусы могут затормозить дальнейшее развитие совместимости, подобно тому как распростра-
Юридические средства 115 нение СПИДа повлияло на сексуальные взаимоотношения людей (рис. 10.1). Тик-так ... Тик-так ... Мисс Джейн Пользователь ул. Любая, д. 123, г. Везде, Канада ХОХ ОХО Вирус подобен заминированному письму Рис. 10.1. Заминированное письмо. В этой главе мы вновь обратимся к феномену компьютерных вирусов и рассмотрим некоторые "юридические средства", которые можно использовать для ограничения или подавления распространения вирусов. ТЕХНИЧЕСКИЕ СРЕДСТВА До настоящего времени прошло совсем немного судебных процессов над лицами, запускавшими вирусные программы в компьютерные системы. Некоторые из причин этого обсуждаются в следующем разделе. Компьютерная индустрия вообще, а особенно в Северной Америке, ответила на появление компьютерных вирусов в своей обычной манере - поисками технических средств, направленных на решение этой проблемы. Многие изготовители программного и технического обеспечения разрабатывают и предлагают на рынке антивирусные программы, определяющие наличие вирусов в компьютерной системе и предпринимающие какие-либо меры по ее обеззараживанию. Некоторые технические решения включают средства управления дисками и памятью, позволяющие обнаруживать действия вирусов и ограничивать доступ к частям системы, с тем чтобы вирусы не могли внедриться или в крайнем случае нанести значительный ущерб. Еще один вид технических решений включает действия, снижающие уязвимость по отношению к вирусам. Например, организация может запретить использование любых принесенных со стороны программ 5*
116 Компьютерный вирус: проблемы и прогноз и абсолютно всех пиратских копий. Если только такую политику удастся провести в жизнь, то вероятность инфицирования уменьшается. Кроме того, сотрудники не будут иметь возможности принести с работы домой чистые копии программ, заразить их на своих домашних системах и при возврате программ занести инфекцию на работу. К сожалению, распространение программ компьютерных вирусов проистекает из антисоциальных или неэтичных черт в характере определенных лиц, работающих в компьютерной индустрии или обладающих высокой квалификацией (см. рис. 10.1). В конце концов, как и в случае технических способов решения проблемы компьютерного пиратства (например, многие технические методы обеспечения защиты от копирования), технический подход к борьбе с компьютерными вирусами - это только один из возможных методов.1) С учетом возможности огромных разрушений, которые вирусы могут произвести в самой основе функционирования нашего компьютеризованного общества,2) становится ясно, что нам необходимо принимать и юридические меры. ЮРИДИЧЕСКИЕ СРЕДСТВА Окончательное решение проблемы вирусов не может ограничиться единственно техническими методами. Так как проблема имеет социальную природу, для ее решения необходимо призвать на помощь закон. В этом разделе мы вновь рассмотрим правовые меры, которые можно применить к лицу, занимающемуся внедрением вирусов в программы-носители и способствующему их распространению. Мы обсудим различные аспекты ответственности (как уголовной, так и гражданской) и наказания, налагаемые на операторов BBS, разработчиков и поставщиков программ за распространение вирусной инфекции. Закон говорит нам об ответственности, правах и обязанностях. Уголовное право связано с ответственностью отдельных лиц по отношению к государству, к власти. Санкции уголовного кодекса применяются к лицам, совершившим настолько серьезные проступки, что для справедливого возмездия само государство должно выступать всей своей мощью для защиты правопорядка. Гражданское право занимается проступками одних лиц по отношению к другим. Оно основано на взаимоотношениях между индивидуумами. Любые отношения, каким-либо образом затрагивающие другое лицо, например вступление в брак, жизнь соседей, трудоустройство, 1) Технические средства борьбы и вирусы со временем непременно придут к ситуации, напоминающей гонку вооружений: соревнование вандалов и "наших славных парней" в то время как все остальные попадают под перекрестный огонь. 2) Подумайте: ошибка в компьютере телефонной компании стоила ей дневной выручки от междугородных разговоров, примерно 900 000 звонков. Что можно сказать о возможном катастрофическом и смертоносном эффекте активизации вируса в критический момент в компьютере авиадиспетчерской службы или системы управления химическим процессом?
Юридические средства 117 торговые отношения и другие преднамеренные и случайные действия, приводят к отношениям прав и обязанностей лиц. Важно помнить, однако, что проблема вирусов представляет собой многоплановое социальное явление и что закон, действующий с максимальным эффектом после соответствующих событий, является лишь частичным решением. Как мы покажем в гл. 11, единственным эффективным в течение долгого срока решением проблемы является установление более строгих норм этики в компьютерной индустрии, норм, которые были бы приняты обществом и в совокупности с техническими и организационными мерами поддерживаемые законом, обеспечили бы наведение порядка. Почему мы бездействуем? Ответить на вопрос, почему мы бездействуем, довольно сложно. Начинать следует с поведения жертвы. На желание и возможности потерпевшего предпринимать какие-либо юридические санкции оказывают влияние многие факторы. Во-первых, жертве редко известна личность вандала, а его поиски требуют значительных затрат времени и средств. (Однако, как только такие поиски завершены, потерпевший имеет все основания подавать на злоумышленника в суд.) Во-вторых, не все потерпевшие горят желанием всенародно объявлять о своей уязвимости. Большим компаниям, особенно финансовым организациям, желательно, чтобы их клиенты считали их компьютерные системы надежными и безопасными.3) Журнал PC Magazine в сообщении о вспышке вирусной инфекции на фирме EDS - дочернем предприятии корпорации General Motors - указывал, что одна из причин сокрытия информации о вирусном заражении заключалась в том, что "одна из предлагаемых покупателям услуг - это гарантия безопасности их данных, и поэтому мы очень-очень осторожны в этом отношении."4) Автор статьи продолжает цитировать интервью, данное доктором Харольдом Хайлэн- дом, ответственным редактором журнала Computers and Security, в котором он говорит: "Я бы рекомендовал любой фирме сразу все отрицать." Жертва вирусной атаки найдет, что первое препятствие при судебном преследовании вандала - это расследование с целью определения первичного источника вируса. Однако жертва непосредственно связана с лицом,от которого она получила зараженное программное обеспечение. В случае приобретения программы или лицензии на ее использование у надежного поставщика потерпевший может требовать компенсации ущерба от продавца. По крайней мере в одном случае, если верить отчетам, продавец получил от покупателей известие о том, что им были 3) См. [Seymour 1988]. Более подробно этот вопрос освещается в гл. 1 и 2. 4) Сообщения об этом случае появлялись в различных профессиональных изданиях, например, [Cortino 1988].
118 Компьютерный вирус: проблемы и прогноз проданы зараженные программы и предпринял меры к тому, чтобы оставшиеся запасы товара не были инфицированы, вплоть до стирания содержимого винчестеров на машинах, которые могли заразиться. Обычно потерпевшие аргументируют свою позицию тем, что продавец должен предпринимать разумные меры для того, чтобы продаваемое или лицензируемое программное обеспечение не было заражено вирусами. Более того, сообщения об инфицировании пакета программ Freehand корпорации Aldus вирусом MacMag еще до его выпуска в продажу должны привлечь внимание как разработчиков, так и продавцов программного обеспечения.*) Разработчики и продавцы программного обеспечения обязаны проявлять достаточную заботу о предохранении от вирусного заражения. Хотя точного определения "достаточной заботы" не существует и никакие средства не гарантируют стопроцентной безопасности, считается, что описываемые в нашей книге методы являются на данный момент эффективными и могут быть рассмотрены в суде как факторы, включаемые в понятие "нормальной заботы". Заметьте, что перечень факторов, входящих в данное понятие, зависит от рассматриваемого субъекта. Так, продавец не может проверять программы в фирменной упаковке, но он может и должен предоставить пользователю (покупателю) возможность запустить только что приобретенную программу на чистом компьютере и проверить ее парочкой антивирусных средств. Это открывает новое поле деятельности для продавцов программного обеспечения. Однако они должны принимать разумные меры к тому, чтобы сохранять стерильность этой лаборатории по диагностике компьютерных вирусов. То, что разработчики и продавцы программного обеспечения имеют некоторые обязанности и несут ответственность за собственную неосторожность, не означает, что ответственность за создание и распространение вирусов возложена не на плечи вандалоз, а на невиновных третьих лиц. Поскольку эти лица занимаются программным обеспечением с целью извлечения прибыли и знают (или должны знать) об опасности компьютерных вирусов, они несут дополнительную ответственность перед пользователем (покупателем) за обеспечение необходимых мер по предохранению от заражения вирусной инфекцией. Принимая во внимание постоянно растущую изощренность вирусов, рамки *) Это касается разработчиков не только программного, но и аппаратного обеспечения, поскольку на практике принято поставлять компьютеры с определенным минимальным набором системных программ. Одно из последних сообщений на эту тему - репортаж телеканала CNN в феврале 1992 г. об обнаружении вируса Michaelangelo на более чем 500 компьютерах, изготовленных фирмой Leading Edge в период с 10 по 27 декабря 1991 г. Признаки заражения были выявлены при проверке компьютеров сразу в нескольких магазинах. Вирус Michaelangelo активируется б марта (день рождения Микельанджело Буонаротти) и удаляет с жесткого диска все файлы. Еще более тревожные слухи ходили по Москве в 1990 - 1991 годах. Тогда утверждалось, что в некоторых компьютерах "желтой сборки" имеется вирус в ПЗУ. Это означает, что вирус проник в программы BIOS еще на стадии программирования микросхем! У нас нет сведений, подтверждающих или опровергающих эти слухи. - Прим. перев.
Юридические средства 119 этой ответственности должны определяться с учетом конкретной ситуации. Например, это невиновное третье лицо может не нести ответственности, если вирус не был выявлен в результате всех предпринятых разумных мер предосторожности, поскольку на практике невозможно идентифицировать абсолютно все виды вирусной заразы.5) Естественно, разработчики и продавцы имеют все основания полагать, что преследование по закону вандала, внедрившего конкретный вирус в их систему с вытекающим из этого ущербом, повреждениями и неудобствами, будет успешным. В упомянутом ранее деле Aldus Corporation сообщалось, что корпорация связалась с зарегистрированными пользователями и отозвала зараженное программное обеспечение; понесенные при этом затраты и удар, нанесенный репутации компании - это примеры того ущерба, возмещения которого можно требовать от вандала. Более сложные взаимоотношения возникают с теми лицами, которые не из корыстных побуждений передают жертве программу, не зная о том, что она инфицирована вирусом. Поскольку лицо, предоставившее программу, не имеет никакой выгоды, то его обязанность проявлять описанную выше заботу не является столь очевидной. Оператор системы общественного доступа (BBS) предоставляет пользователям средства общения по интересующим их вопросам и средства разделения информации, идей или программ. Операторы BBS обеспечивают доступ к системе лицам, полагающимся на их надежность. Как следствие, оператор BBS может нести ответственность за проверку загруженных в систему программ на наличие вирусной инфекции. Как минимум, он должен предупреждать пользователей о необходимости проявлять осторожность при использовании переписанного из BBS программного обеспечения. Благоразумный оператор может попытаться избежать ответственности, оговорив ее пределы как условие использования BBS всеми пользователями. Проблема ответственности за передачу зараженных программ существенно отличается от вопроса о том, является ли такое изменение программ нарушением авторских прав их разработчиков. Однако этот момент может рассматриваться судом при оценке прочности позиции в данном деле каждой из сторон.6) Как потенциальная жертва вы можете предпринять некоторые действия с целью упрочить вашу позицию по отношению к возможному нападению вирусов юридически, т.е. воспользоваться "юридической вакциной". 5) В частности, можно проверять программы на наличие в них известных вирусов, но невозможно организовать проверку на наличие новых, еще неизвестных штаммов вирусов, которые к тому же могут использовать и новые методы внедрения. 6) Некоторые юридические меры могут оказаться неприменимыми или их исполнение может быть затруднено, если, например, требующий компенсации потерпевший сам нечист на руку.
120 Компьютерный вирус: проблемы и прогноз "Юридические вакцины" Прежде всего, вы можете пересмотреть условия приобретения программ, сервиса и сопровождения. Вы можете получить заверения операторов BBS, продавцов и разработчиков в том, что для предупреждения вирусного заражения приобретенных программных продуктов были приняты те или иные меры. Может оказаться выгодным заплатить несколько больше за ту программу, разработчик или продавец которой готов дать гарантию, что она свободна от вирусов. Вы должны также изучить гарантии и условия приобретения программ. Новые версии и программы, используемые в процессе проверки, должны подвергаться столь же тщательному тестированию, чтобы гарантировать безопасность ваших программ. Принятие законов Типичная реакция общества, сталкивающегося со всяким новым явлением, - это крик: "На это нужен свой закон!" как если бы само постановление законодательного органа или санкции могли искоренить проблему. Как было отмечено, проблема создания и распространения вирусов - это широкое социальное явление, с которым можно бороться только одновременным наступлением на всех фронтах. Государственное регулирование и санкции - это только один из них. Одна проблема состоит в том, что закон начинает действовать не сразу. Типичные законодатели не являются специалистами в области техники, и кроме того, у них всегда есть много проблем, требующих "немедленного решения". Для выработки проекта и принятия закона могут потребоваться месяцы и годы. Проведение закона в жизнь посредством судов подразумевает длительные расследования и судебные заседания и требует присутствия обвинителей и адвокатов, которые понимают предмет настолько, чтобы обусловить принятие справедливых мер и приговоров. Компьютерный вирус может быть придуман и разработан за несколько часов, внедрен в систему за секунды и может распространиться чрезвычайно широко за считанные дни или даже минуты. За последнее десятилетие во многих странах предпринимались усилия по проведению правовой реформы для введения специальных уголовных мер с целью пресечения незаконного использования компьютерных систем, умышленного искажения информации и т.п. В данной книге мы не собираемся подытоживать все эти действия. При рассмотрении проблемы мы выбрали в качестве примера один конкретный свод законов. Кроме нашей книги вам следует просмотреть соответствующие положения кодекса, действующего на территории вашей страны и, если потребуется более детальная информация, проконсультироваться у адвоката, обладающего некоторым опытом в области компьютерного права и компьютерных преступлений (рис. 10.2).
Юридические средства 121 Уголовная ответственность Законы уголовного кодекса применяются обществом тогда, когда поведение индивидуума становится столь возмутительным или угрожающим обществу в целом, что необходимо ввести в действие всю мощь государственного пенитенциарного аппарата. Таким образом, уголовный закон служит для наказания нарушителей и предотвращения возможного распространения компьютерных вирусов в будущем. Для расширения кругозора мы будем раскрывать тему на примере двух кодексов. Положения Уголовного Кодекса Канады являются едиными на всей территории страны. В Соединенных Штатах действуют уголовные законы как на федеральном уровне, так и на уровне отдельного штата.7) В Канаде все законы уголовного кодекса действуют в масштабах всего государства, поэтому необходимо учитывать только один свод законов - Уголовный Кодекс Канады. Он представляет много возможных средств борьбы; наиболее часто употребляемые из них - статья 301.2, связанная с незаконным использованием компьютерных систем, и статья 387 (1.1), связанная со злоупотреблениями по отношению к данным. Эти статьи начали действовать в декабре 1986 г. Вандал может быть призван к ответственности за свои действия. Рис. 10.2. Ответственность. 7) В январе 1988 г. вступил в силу Акт о компьютерных правонарушениях федерального правительства. Кроме того, ассоциация Data Processing Management распространяет проект законов компьютерного уголовного права, который был взят за основу многими штатами, В июле в Палату Представителей был представлен Законопроект о запрещении компьютерных вирусов. Мы не рассматриваем многочисленные юридические проблемы, возникающие в связи с вирусами, так как это излишне усложнило бы нашу книгу. ш XI та 11 1 •
122 Компьютерный вирус: проблемы и прогноз Незаконное использование компьютера Во многих кодексах и в соответствии со статьей 301.2 УК Канады незаконное использование компьютеров может рассматриваться как правонарушение. Видимо акт введения вируса в чью-либо компьютерную систему следует рассматривать как незаконное использование компьютера, принуждающее его выполнять непредусмотренные действия (размножение вируса и те пакости, которые он делает после активизации). Вам может показаться интересным недавнее судебное разбирательство в Соединенных Штатах. В городе Фортуорте, штат Техас, один программист предстал перед судом по обвинению в удалении более чем 160 000 файлов из компьютера его бывшего работодателя при помощи вируса.8) По сообщениям газет в обвинительном заключении действия ответчика специфицировались как выполнение программ, "предназначенных препятствовать нормальному использованию компьютера," и поступки, "ведущие к удалению записей." Эти 160 000 записей содержали информацию о комиссионных вознаграждениях сотрудников компании. Оба обвинения подпадают под определение незаконного использования или злоупотребления по отношению к данным, которое будет обсуждаться в следующем разделе. Злоупотребление по отношению к данным Уголовный кодекс гласит: "В злоупотреблении является виновным каждый, кто намеренно а) уничтожает или изменяет данные; б) превращает информацию в бессмысленную, бесполезную или ненужную; в) затрудняет, прерывает или вмешивается в процесс нормального использования данных; г) затрудняет, прерывает или вмешивается в работу любого лица, занятого нормальным использованием данных или отказывает в доступе к данным любому лицу, обладающему полномочиями на указанный доступ". Поскольку большая часть разновидностей вирусной инфекции тем или иным образом связана с изменением данных, а действия вируса могут либо уничтожить, либо изменить данные, превратить их в бессмысленные, бесполезные или ненужные, затрудняют, прерывают или вмешиваются в процесс нормального их использования, это положение может оказаться весьма полезным в судебных процессах, проводимых в связи с созданием или распространением вирусов. К сожалению, из-за 8) См. [Virus 1988].
Юридические средства 123 того, что феномен вирусов в целом - сравнительно новое явление, количество прецедентов, на которые можно было бы сослаться, невелико. В одном случае ответчики зашифровали информацию, сделав ее тем самым бесполезной для законного владельца.9) Суд отметил, что поведение ответчиков подпадало под разрабатываемый в то время проект статьи 387 (1.1). Гражданская ответственность Гражданский кодекс включает законы, управляющие взаимоотношениями отдельных лиц. В нем не предусмотрено конкретных санкций, применяемых непосредственно к тем, кто вводит компьютерный вирус в программу в предвидении ее последующего использования ничего не подозревающими пользователями (и соответственно с целью распространения вируса). В данном разделе мы рассмотрим различные основания для принятия каких-либо мер, подпадающих под юрисдикцию гражданского кодекса. В зависимости от природы вируса и характера нанесенных им повреждений следует рассматривать различные аспекты дела. Части из них (например, умышленному вмешательству в экономические отношения, диффамации и т.п.) мы не станем уделять внимания. Мы сосредоточимся на следующих вопросах: умышленное вмешательство в законное использование программ, преступная небрежность, строгая ответственность. Как было отмечено выше, мы вовсе не утверждаем, что этим списком исчерпываются все возможные действия вне зависимости от конкретных обстоятельств. Умышленное вмешательство в законное использование программ Наше законодательство состоит из положений, предназначенных защищать права на владение собственностью и ее использование. К примеру, если вы купили дискету и кто-либо взял ее без вашего разрешения, то закон дает вам возможность вернуть дискету обратно. Аналогичным образом закон обеспечивает права лица, уполномоченного использовать компьютерную программу. Намеренное или умышленное нарушение прав пользователя может служить основанием для принятия юридических санкций. Когда кто-либо отбирает вашу дискету, как в приведенном нами примере, закон требует, чтобы он вернул ее в целости и сохранности или возместил ее стоимость. Когда вирус захватывает вашу программу или файлы данных и делает их недоступными или негодными к использованию, вандал-создатель вируса может быть привлечен к ответственности за нанесенный им ущерб. 9) Дело Тернер (Turner) против Королевы, рассмотренное в Онтарио в 1984 г.
124 Компьютерный вирус: проблемы и прогноз Преступная небрежность Гражданское право особо выделяет личную ответственность правонарушителя по отношению к потерпевшему. Кажется, нет никаких сомнений в том, что вандал, распространяющий компьютерный вирус, знает или должен знать об ущербе, наносимом им непричастным третьим лицам. Закон в категории деликтов предусматривает несколько видов санкций, которые могут применяться гражданским судом в отношении вандала в случаях, когда не удается доказать наличие у него преступного замысла. Возможно наиболее важным основанием для обращения в суд, когда невозможно доказать, что вандал намеревался причинить вред потерпевшему, является проявление преступной небрежности. По определению преступной небрежности в деле должны быть отражены шесть факторов, необходимых для вынесения приговора в пользу истца:10) 1. Истец понес определенный ущерб; 2. Понесенный ущерб был вызван действиями ответчика; 3. Поведение ответчика характеризовалось небрежностью, т.е. недостаточной осторожностью по сравнению с определяемой законом нормой; 4. Закон должен признавать обязанности лиц по предотвращению данного ущерба; 5. Ущерб должен быть нанесен в достаточной близости от ответчика и в связи с его действиями; 6. Поведение истца не должно было препятствовать исправлению повреждений, т.е. он не должен давать повода к обвинению его самого в дополнительной небрежности и добровольном принятии на себя риска. п> Эти факторы со всей очевидностью демонстрируют, что потерпевший понес определенный ущерб в результате нападения вирусов (пункты 1 и 2). Даже если вирус только занимает память и вызывает неудобство и разочарование потерпевшего, последний затрачивает свое время и, возможно, оплачивает услуги третьих лиц, связанные с удалением вируса из системы, следовательно, вирус наносит вред. Факты также проясняют, что понесенный ущерб не только вызван ответчиком, но является прямым следствием его поступков. У истца есть все основания требовать от правонарушителя компенсации. Если в ходе суда и возникают разногласия, то только в связи с обязанностями по закону и нормальной заботой в отношении выполнения этих обязанностей. Проблема удаленности от места проявления вреда (пункт 4) возникала в ряде разбиравшихся дел.12) Основной принцип, которым следует руководствоваться в данном случае, состоит в том, что лица, знаю- Ю) Ответчик - лицо, состоящее под судом, истец - лицо, возбудившее дело. 11) См. Linden, Canadian Tort Law, 4th edition, Butterworth's. 12) Классическим примером является дело Донохью (Donoghue) против Стивенсона (Stevenson), 1932 г.
Юридические средства 125 щие или обязанные знать о возможности широкого распространения вируса и нанесения им вреда или других серьезных последствий, несут ответственность перед теми, чьи системы были заражены. Они могут нести эту ответственность перед всем классом пользователей PC, но не должны нести, например, перед пользователями больших ЭВМ, поскольку вероятность распространения того же самого вируса в совершенно отличной и более защищенной операционной системе больших ЭВМ невелика. Ясно, что суть дела состоит в том, что вандал должен являться или рассматриваться как лицо, близкое к владельцу и пользователю безвредной программы-реципиента, с учетом различных аспектов определения понятия близости. Как следствие сказанного, вандал, замышляющий распространение вируса, обязан проявлять осторожность по отношению к владельцам и пользователям (пункты 3 и 5). Как только обязанность проявлять осторожность установлена, становится необходимым определить, какую заботу по выполнению этой обязанности закон должен считать нормой. Мы предполагаем, что действия, связанные с созданием и распространением компьютерных вирусов являются умышленными или, как минимум, крайне безответственными, совершенно игнорирующими интересы жертв этих поступков и наносимый им ущерб. Нормальной осторожностью в таком случае следует считать предупреждение распространения вируса путем предотвращения его записи в программы в тех случаях, когда к ним могут получить доступ ничего не подозревающие пользователи.13) Прямым следствием изложенных аргументов является ответственность преступника, занесшего вирус в компьютерную систему, перед всеми пользователями, понесшими потери в результате распространения вируса. Потенциальным жертвам следует внимательно рассмотреть шестой пункт нашего списка, посвященный дополнительной небрежности. Суд не станет рассматривать в положительном свете жалобу истца, если он подвергся заражению,например, вследствие использования пиратской копии программы. Это не означает, что в таком случае истец обязательно проиграет дело, но поведение истца может существенно ограничить возможность возмещения ущерба и формы выплаты компенсации. Строгая ответственность Согласно существующим прецедентам,14) примененным к современным условиям, лица, запускающие в продажу или производство за- 13) Ученые и исследователи, изучающие деятельность компьютерных вирусов или занятые разработкой антивирусных средств могут намеренно ввести вирус в лабораторную систему. Нам кажется, что в таких случаях разумная осторожность должна требовать строжайшей изоляции, чтобы избежать заражения других компьютерных систем. 14) Дело Райлэнд (Ryland) против Флетчера (Fletcher), рассматривавшееся в 1868 г. или современный закон о качестве продукта.
126 Компьютерный вирус: проблемы и прогноз ведомо опасные процессы, вещества, объекты или устройства, несут полную ответственность за всякий ущерб, нанесенный вследствие их использования. Нет сомнений в том, что занесение в компьютерную систему фактора случайно наносимых вирусом повреждений ведет к возникновению опасности для собственности пользователей компьютеров. Как мы уже говорили, в некоторых случаях (например, когда компьютеры используются в системах здравоохранения или обеспечения безопасности) действия вируса могут привести к ущербу для здоровья или к смерти отдельных граждан. Записи историй болезни, управления транспортными потоками, авиадиспетчерских служб, управления производственными процессами и т.п. - простейшие примеры таких жизненно важных систем (рис. 10.3). Нам кажется, что в таких случаях вандал должен нести полную и строгую ответственность за все последствия заражения компьютерной системы вирусом. Мы считаем, что вандалу не может быть оправданий и в том случае, если ущерб нанесен не той системе, в которую вирус был занесен первоначально, а какой-либо другой посредством последовательного заражения нескольких систем. Сущность компьютерных вирусов состоит в том, что они размножаются и передаются от одной системы к другой, возможно отличной от первой, и вандал не контролирует этот процесс. Совершенно очевидно, что внедрение вируса в безвредную программу-реципиента является проявлением преступной небрежности и полностью игнорирует интересы других пользователей. Нападение вирусов может привести к серьезному ущербу Рис. 10.3. Вирусы могут представлять угрозу для жизни. Что нам следует делать? Есть несколько трудностей применения санкций гражданского кодекса. Во-первых, в большинстве случаев количество потерпевших ве-
Юридические средства 127 лико и каждый из них не обладает достаточными средствами для проведения расследования и судебного разбирательства. В таких случаях может оказаться необходимым предпринимать коллективные действия. Во-вторых, часто личной собственности вандала может оказаться недостаточно для возмещения ущерба в полной мере. Уникальная особенность нашего развитого технологического общества состоит в том, что отдельная личность может нанести ущерб огромному количеству жертв, во много раз превышающий тот, который он мог бы возместить. Как следствие, мы предлагаем, чтобы дела о заражениях компьютерными вирусами рассматривались в уголовном суде. Более того, поскольку рассматриваемые поступки являются чрезвычайно опасными для общества, характеризуются намеренным ущербом, наносимым невиновным третьим лицам, и подрывают основы функционирования современного бизнеса, правительственных и других компьютерных систем, закон, а точнее уголовный закон, должен обеспечить действенные средства для предотвращения таких поступков. Ущерб, наносимый такими правонарушителями, настолько велик и оказывает такой эффект на безопасность нашего общества, что активные меры противодействия просто необходимы (рис. 10.2). ВЫВОДЫ В процессе обсуждения различных юридических средств мы пришли к выводу, что существующая правовая система не справляется с феноменом компьютерных вирусов. Тем не менее существующие законы могут применяться в отношении компьютерных преступлений, а новые законы сейчас находятся в стадии разработки. Феномен вирусного заражения компьютерного программного обеспечения и необычайно широкое распространение вирусных программ по различным компьютерным системам представляют серьезную угрозу надежности наших компьютерных и телекоммуникационных систем. Как и в случае обычных эпидемий, эта проблема не имеет какого-либо простого решения, и даже частичные решения не могут быть приведены в действие за короткое время. На данном этапе компьютерной индустрии придется полагаться на совместное применение технических решений (антивирусные программы и различные методы проверки), профилактическое действие гражданских и уголовных процессов над вандалами, внедрившими вирусные программы в компьютерные системы, и на повышение образованности пользователей в отношении этики и личной ответственности в компьютерной индустрии. Стоящие перед отраслью задачи нелегки, но серьезна и угроза, которую представляют компьютерные вирусы. Первые шаги к решению этой проблемы необходимо предпринимать прямо сейчас. Короче говоря, мы говорим возможным вандалам: "Распространение компьютерных вирусов - не проказа и не шутка. Не делайте это- гоГ.
Глава 11 ОТВЕТСТВЕННОСТЬ Мне плевать на то, кому я наврежу. Мне плевать на величину ущерба. Неважно, сколько будет потеряно заданий и сколько народу понесет убытки, когда я активизируюсь. Да и с какой стати мне волноваться. Я всего лишь программа, меня зарядили и нацелили и заставили меня спустить курок. Этичность поступков - деликатная проблема. Мы рассмотрим побудительные причины двух различных типов антисоциальных личностей из числа распространяющих вирусы - вандалов и террористов. Затем мы вкратце обсудим взаимодействие закона и морали в применении к компьютерным вирусам и профессионализму. И наконец, мы рассмотрим профессиональную этику на нашем собственном примере: как мы писали эту книгу. СУЩНОСТЬ ЯВЛЕНИЯ Первый абзац этой главы может с равным успехом описывать как поведение брошенной террористом бомбы, так и вируса, запущенного в компьютерную систему с намерением нанести жертве ущерб или повреждения. В случае с террористом часто говорят, что преступление имеет политическую подоплеку, но в число причин также входит желание выделиться и продемонстрировать свою власть над другими (пренебрегая тем, что жертвы совершенно ни при чем и не оспаривают позицию террориста). Причины, побуждающие вандала изобретать и распространять компьютерные вирусы, бывают разными. В ряде случаев, однако, можно выделить общие черты. Это стремление проявить свою власть над другими лицами, перенести свой личный опыт на широкие просторы нашего все более сложного и обезличенного мира, желание принять вызов, брошенный техническому мастерству программиста, посмотреть, "не слабо ли мне это сделать", "пробить" защиту компьютерных систем. Многие факторы указывают на социальный облик вандала, чувствующего себя беспомощным, подавленным и отвергнутым обществом, подобно типичным вандалам в нашем обществе, тем, кто уничтожает и
Ответственность 129 уродует общественную собственность, мучает и увечит животных, издевается и третирует детей и т.п. С ТОЧКИ ЗРЕНИЯ ЖЕРТВЫ Итак, мы узнали, как работают вирусы, как с ними бороться и рассмотрели правовые аспекты проблемы. Каждая глава книги начинается с описания "точки зрения вируса". Мы уделили большое внимание вирусам и правонарушителям. Нужно, однако, узнать мнение и другой стороны, а мы до сих пренебрегали мнением потерпевших. Приводимый материал взят из отчетов, распространявшихся общедоступными BBS по поводу вирусов Lehigh и ООП. Эти фрагменты подробных отчетов не подвергались никакой правке; ошибки в грамматике и пунктуации только подчеркивают чувство беспомощности и паники, охватившее авторов этих заметок. ******* Предупреждение о вирусе MS/DOS ******* На прошлой неделе несколько наших преподавателей-консультантов обнаружили вирусную программу, чрезвычайно быстро распространявшуюся по всему Лехайскому университету. Я подумал, что было бы полезно потратить несколько минут и предупредить как можно больше народу об этой программе, поскольку она вполне может распространиться далеко за пределами нашего университета. Мы не имеем понятия, откуда распространился вирус, но некоторые пользователи говорили мне, что и в других университетах недавно были похожие трудности. ... Я настоятельно рекомендую всем, кто работает с дисками, находящимися в общественном доступе, периодически просматривать их собственные. Кроме того, работайте с максимальной осторожностью - всегда пользуйтесь защищенными дискетами. ... Это не шутки. Значительная часть наших общедоступных дисков была наводнена этим вирусом за пару дней. Кеннет Р. ван Вик, старший консультант по работе с пользователями, компьютерный центр Лехайского университета. (Перевод следующих заметок сделан по публикации в газете "Маарив" - одной из наиболее популярных ежедневных газет в Израиле - от 8 января 1988 г. Примечания переводчика приводятся в тексте в квадратных скобках "[]"•)
130 Компьютерный вирус: проблемы и прогноз Компьютерный вирус, получивший название "Израели" продолжает свободно распространяться. Еврейский университет в Иерусалиме опубликовал вчера предупреждение: Не работайте на компьютере в пятницу 13 мая с.г.! В этот день вирус должен пробудиться от спячки и уничтожить всю информацию, которую он сумеет найти в памяти компьютера или на дисках. По этой причине его еще называют миной замедленного действия. Более того, каждое тринадцатое число любого месяца вирус будет вызывать существенное замедление работы компьютера. Вчера "Маарив" получила свидетельства, что вирус появился и в других местах, кроме Еврейского университета в Иерусалиме. Было также отмечено наличие вируса в одном из подразделений I.D.F. [Израильских Сил Самообороны], использующем персональные компьютеры. В настоящее время Еврейский университет распространяет вакцины, позволяющие выявлять вирус в памяти компьютера и уничтожать его. Однако возникла новая проблема: может появиться мутированная форма вируса, в несколько раз более вирулентная. Все зависит от источника вируса и от того, является ли его изобретатель компьютерным маньяком, занимающимся этим из спортивного интереса, или психопатом, совершенно не контролирующим свои поступки. Сообщество пользователей радуется прекращению процесса нелегального копирования программ, достигшего в последнее время невообразимых масштабов. В точности как СПИД, обусловивший распространение безопасного секса, компьютеризованный вирус может обусловить переход к практике использования только легальных копий программного обеспечения. (Тал Шахаф) ВИРУС ДОБРАЛСЯ ДО ХАЙФЫ После того как он нанес значительный ущерб, вирус "Израели" был обнаружен в учебном центре Ротенберга министерства образования в Кармеле [гора в Хайфе]. В этом центре разрабатывается компьютерный проект, в котором принимают участие десятки студентов. Заведующий центром Гидеон Гольдстейн и разработчики проекта Майкл Ха- зан и Гади Кац шесть недель назад заявили, что обнаружили вирус, безвозвратно испортивший на 15 000 долларов
Ответственность 131 программ и два диска, содержавших результаты 7 000 человеко-часов работы. (Реувен Бен-Цви) ПАНИКА СРЕДИ ВЛАДЕЛЬЦЕВ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ Паника по поводу вируса "Израели" переметнулась из университетского городка к владельцам компьютеров во всем Иерусалиме. Во многих магазинах покупатели сообщали о появлении симптомов заболевания на их домашних компьютерах, совпадавших с теми, которые проявились на компьютерных системах в университете. "Сегодня утром мы столкнулись с несколькими случаями и услышали еще о нескольких," - сказал Эмануэль Марински, заведующий компьютерной лабораторией, - "Это вызывает панику." (Арье Бендер) МОРАЛЬ Как мы говорили в гл. 10, закон оговаривает санкции, предпринимаемые против вандалов, уличенных в противоправных поступках. Существуют гражданские меры, требующие компенсации любого нанесенного жертвам ущерба, и уголовные санкции, специфицирующие меры предупреждения такого поведения, заключающиеся в лишении свободы, выплате штрафов (в некоторых случаях - компенсации потерпевшим) и испорченной биографии. Ясно, что в ближайшие годы с ростом активности вирусов и величины наносимого ими ущерба к вандалам будут применяться меры в соответствии как с гражданским, так и с уголовным кодексом. Противодействия, оказываемого единственно юридическими мерами (см. гл. 10), недостаточно. Необходимо, чтобы компьютерная промышленность и общество в целом явно показали свое неодобрение поступков вандала. Валено также, чтобы компьютерная индустрия всячески поощряла развитие профессионализма и повышение ответственности служащих. Вопросы морали и ответственности могут освещаться в рамках системы образования, а именно в курсе информатики. При этом особенно важно, чтобы преподаватели информатики демонстрировали примеры этичного поведения и ответственности за свои поступки. Хотя мы можем показаться идеалистами в свете всех проблем финансирования, с которыми сталкивается современный преподаватель, необходимо спросить себя, каковы же будут последствия для общества, если мы не воспитаем в людях чувства моральной ответственности за использование
132 Компьютерный вирус: проблемы и прогноз потенциально опасных технических навыков. Важно, чтобы примеры подчеркивали ответственность и этичность поведения. ПРОФЕССИОНАЛИЗМ Некоторые из приведенных выше идей больше применимы к молодым людям, занимающимся своим образованием, и к их преподавателям, чем к профессионалам-компьютерщикам. Профессионалы должны относиться к своим обязанностям с гораздо большей ответственностью по той причине, что компьютерная промышленность дает им средства к существованию, а продукция этой отрасли оказывает непредсказуемое влияние на общество. В некоторых известных случаях компьютерного саботажа (включая и заражения вирусами) преступник являлся одним из бывших сотрудников или консультантов, обиженных или разочаровавшихся в своем бывшем или нынешнем работодателе. Закон предлагает несколько механизмов урегулирования такого рода споров. Саботаж компьютерной системы не является приемлемым способом. Это особенно верно в отношении программистов, системных аналитиков и других профессионалов, которые знают или по роду своей деятельности должны знать об ущербе, наносимом не только их бывшему нанимателю, но и компьютерной индустрии в целом. Ассоциации профессионалов-компьютерщиков вырабатывают ожидаемые стандарты этичного поведения профессионалов. Мы считаем, что действия, подобные перечисленным выше, могут служить основанием для пересмотра решения о выдаче ему удостоверения оператора по обработке текстов, системного специалиста или Британского Компьютерного общества и о членстве в таких профессиональных союзах, как Ассоциация по обработке и управлению данными, Канадское общество по обработке данных или Британское Компьютерное общество. Подобные поступки являются явным нарушением принципов поведения, принятых в данных обществах и отвечающих предъявляемым к профессионалам требованиям.1) Акты явной мести, осуществляемые компьютерными профессионалами, в конечном счете приносят вред и специалистам, и всем остальным. МОРАЛЬНАЯ ДИЛЕММА Очень трудно писать книгу, посвященную распространению компьютерных вирусов, пиратскому копированию программ и т.п. В предыдущих главах мы ознакомили вас с этими явлениями не с целью их поощрения, а для того чтобы можно было предпринимать более дейст- 1) На самом деле по крайней мере один консультант был лишен своего удостоверения оператора по обработке текстов как следствие незаконного использования им данных и доступа к компьютеру во время выполнения задания в финансовом учреждении.
Ответственность 133 венные и эффективные меры для борьбы с ними. Поскольку освещение этих проблем может оказать помощь вандалам в их противоправном поведении, мы также снабдили книгу предупреждениями, адресованными как вандалам, так и их потенциальным жертвам. Мы также провели тщательный отбор материала (например, сведения о действиях вирусов в гл. 3 и псевдокод вируса в гл. 5). Жертвы должны знать, что существуют разумные и достаточно дешевые средства, которые они могут применять для уменьшения уязвимости по отношению к нападению вирусов. Вандалам следует осознать, что их поведение неприемлемо и что они столкнутся не только с мощью закона, но и с презрением их коллег.
Глава 12 ЧТО ЖЕ ДАЛЬШЕ? Ну, это старо. Я знаю как обойти эту защиту. Вы думаете, у меня еще молоко на губах не обсохло? Я даже могу измениться так, что ваши приборы меня не заметят. Я же не дурак, понимаете? Я стараюсь улучшить себе жизнь, так же как вы пытаетесь затруднить ее. ГРЯДУЩИЕ ПРОБЛЕМЫ Технические решения проблемы эпидемии вирусов ждет та же участь, что и технические решения проблемы компьютерного пиратства или, если хотите, развития оружия. Неизбежно состязание между разработчиками новых и все более агрессивных видов вирусных программ и разработчиками новых типов антивирусных программ. В результате вирусы эволюционируют так, что станут невидимыми или неопознаваемыми для антивирусных программ или даже смогут присоединяться к ним и становиться их частью.^ Это не значит, что следует приостановить исследования и разработку антивирусных программ. В самом деле, с учетом масштабов, которые приняло распространение компьютерных вирусов, можно только всячески поощрять возможно более быструю разработку антивирусного программного обеспечения. Тем временем можно организовать более медленные, но зато и дольше действующие мероприятия, такие как повышение уровня образования и усовершенствование законодательства. Мы видим, что наибольшему риску заражения подвержены те, кто широко пользуются пиратскими копиями, переписывают из BBS все новые игры и другие программы или подвергают себя опасности каким-либо другим способом. Другими словами, в группу повышенного риска входят те, кто совершает поступки, характерные для хэкеров. В этом состоит высшая справедливость: хэкеры, являющиеся первоисточником проблемы компьютерного пиратства и вирусов, в первую очередь 1) Действительно, вирус Brain и некоторые другие предпринимают активные действия, чтобы замаскироваться от диагностических процедур. Даже наш примитивный вирус, описанный в гл. 5, обладал некоторыми свойствами маскировки. Однажды мы обнаружили зараженную антивирусную программу и слышали от других о подобных случаях.
Что же дальше? 135 становятся жертвами других компьютерных вандалов. К сожалению, в процессе конфликта бывают затронуты и многие благонамеренные пользователи компьютеров. Существует вероятность того, что необычайное развитие компьютеризованного общества будет остановлено распространением зараженных программ, подобно тому как движение за свободную любовь 60-х сошло на нет в результате распространения СПИДа. Мы надеемся, что такого не случится. Если вы соблюдаете правила "безопасного гекса", вы можете свободно продолжать делиться с друзьями информацией, программами, идеями, решениями и прочим посредством сетей связи, не подвергаясь существенному риску заражения. Даже если вы заразились, вы сумеете без проблем излечиться, если будете следовать описанным нами советам. После того как маятник совершит несколько колебаний в пользу вирусов и антивирусных программ и ситуация придет в норму, видимо, вирусы будут по-прежнему угрожать пользователям, но их распространение будет находиться под контролем. Аналогично тому, как мы тратим часть собираемых налогов на содержание полиции, с готовностью выделяем часть ресурсов компьютера на поддержку дружественных к пользователю интерфейсов, так же охотно мы будем выделять часть компьютерных ресурсов для защиты от вирусов. В отличие от налогов, сумма, выделяемая для обеспечения разумного уровня защиты, будет уменьшаться пропорционально росту мощности компьютеров. Более того, эта сумма будет составлять малую часть экономии. Свободный обмен компьютерной информацией уже существенно изменил многие аспекты жизни нашего общества. Этот процесс может перерасти в величайшую революцию экономических и социальных отношений за всю историю общества. Не забывайте о мерах предосторожности, но и не устраняйтесь от революции. РЕШЕНИЯ БУДУЩЕГО Разработчики и поставщики программного обеспечения Этот раздел предназначается для разработчиков программного обеспечения. Производители программ поставлены в тяжелое положение нашествием компьютерных вирусов. Они являются третьей стороной, которая терпит убытки, но в то же время они находятся в очень выгодном положении в отношении существенного ограничения распространения вирусов. На самом деле продавцы ничего не могут поделать с получаемыми от разработчиков программами в фирменной упаковке: для проверки программ на наличие в них вирусов им пришлось бы вскрывать запечатанные конверты. Разработчики тоже могут нести юридическую ответственность, как мы описывали в гл. 10. В приведенном списке перечислены действия, которые обусловливают выполнение
136 Компьютерный вирус: проблемы и прогноз ими как обязанностей перед законом, так и помогают выполнить их обязанности перед обществом по поставке качественных товаров потребителям. Во-первых, производитель должен проводить текущие исследования по вирусам и методам защиты. У разработчиков имеются необходимые ресурсы и технические навыки, чтобы быть в курсе последних достижений, в то время как у отдельных пользователей такой возможности нет. Разработчики должны быть осведомлены об опасности, чтобы по возможности уменьшить риск. Разработчики должны поддерживать стерильность собственных лабораторий. Скорей всего, разработчик не может быть полностью уверен в том, что ни один вирус не сумеет внедриться в его систему, если не поставит настолько жесткие средства контроля, что они станут затруднять работу программистов,2> но в любом случае он может использовать последнюю версию антивирусной программы, проверяющую все выпускаемые продукты на наличие максимального числа вирусов. Такая стопроцентная проверка всех выпускаемых программ в комплексе со случайно организуемой проверкой для поиска новых вирусов гарантирует, что разработчик по крайней мере не способствует распространению вирусов. Все новые версии, все бета-версии - все, что разработчик загружает в BBS, должно быть свободно от инфекции. Производители также должны неустанно тестировать все поступающее в офис программное обеспечение, включая примеры ошибок в программах, которые присылают пользователи. В какой-то момент дискета-оригинал отсылается к продавцу для массового выпуска и, возможно, в еще одну организацию, занимающуюся упаковкой. Эти организации несут ту же ответственность, что и разработчик: они должны гарантировать, что не занесут вирус в обрабатываемые программные продукты. Помните, что если будут распространяться зараженные программы, то большая часть ответственности и затраты на возврат программ падут на разработчика. Поддерживайте тесный контакт с деловыми партнерами, чтобы проблема вирусов не могла неожиданно возникнуть. Поставляйте программы на пятидюймовых дискетах, вообще не имеющих прорези разрешения записи, или на трехдюймовых дискетах, не имеющих пластинки разрешения записи. В этом случае всякий, кто захочет испортить продукт, должен будет не только вновь заклеивать фирменную упаковку, но и иметь особые способы изменения данных на дискетах. 2) Например, исследования, включающие частое создание или изменение системных или программных файлов и т.п. Вы не можете быть уверены, что ни одно из этих изменений не было вызвано вирусами. Вы можете установить правило, что ни один сотрудник не имеет права уносить домой дискеты или приносить дискеты на работу, но соблюдение этого правила чрезвычайно трудно проконтролировать и, кроме того, оно отрицательно сказывается на производительности.
Что же дальше? 137 Все пакеты должны поставляться в фирменной упаковке, а еще лучше, в упаковке, не допускающей подделки. Если программное обеспечение распространяется через BBS публичного доступа, то убедитесь, что оператор BBS знает о вашем желании сохранить стерильность продукта. Разработчики и продавцы могут обеспечить себе большую степень контроля над распространением программ и, возможно, получить дополнительную информацию о рынке сбыта, используя один из стандартных методов шифрования. Удостоверьтесь, что стандартный метод шифрования, подсчета контрольной суммы и т.п. широко доступен (рис. 12.1). Продавайте программное обеспечение в закодированном виде, а ключ кода (созданный с использованием серийного номера программы) после получения регистрационного бланка. Таким образом пользователь может быть уверен, что закодированная программа не была изменена при пересылке. ПРЕИМУЩЕСТВА: (1) Можно использовать любые каналы, так как вероятность перехвата двух различных каналов пересылки программы и ключа к ней мала; (2) разработчик получает информацию о рынке, поскольку покупатели присылают регистрационные бланки, чтобы получить ключ кода; (3) производитель получает контроль над копированием программ и не несет никакой ответственности за любые пиратские копии. НЕДОСТАТКИ: (1) Неудобная в использовании практика продажи может отпугнуть некоторых покупателей; (2) существует необходимость обеспечения быстрого ответа на запросы о регистрации (месяцы здесь не годятся). Дайте пользователям возможность быстро проверить стерильность программ, сообщив им контрольную сумму мастер-дискеты. Программа подсчета контрольной суммы может быть общедоступной, распространяться в качестве рекламы или с использованием одного из описанных выше методов кодирования. ПРЕИМУЩЕСТВА: (1) Пользователь может проверить контрольную сумму и убедиться, что программа не была изменена на одном из этапов поставки; (2) при использовании метода регистрации пользователей этот метод имеет те же достоинства и недостатки, что и метод кодирования; (3) покупатель может немедленно приступать к использованию программы с небольшой вероятностью заразить ее, а получив контрольную сумму, убедиться в ее стерильности. НЕДОСТАТКИ: Такие же, как и в предыдущей стратегии, но проявляющиеся в меньшей степени. Программа вычисления контрольной суммы будет подвержена опасности заражения, но наличие большого числа копий уменьшает вероятность заражения или изменения каждой из них.
138 Компьютерный вирус: проблемы и прогноз Оптовый поставщик Продавцы Законные копии программ ользователи Измененная коп программы с записавшимся в нее вирусом Этот метод гарантирует, что будут запускаться только неизмененные копии программ. Ключ передается пользователю по почте, телефону, через BBS и т.д. Он не засекречен. Если сама программа оказалась измененной, наличие ключа не позволит запустить ее. Рис. 12.1. Метод безопасного распространения программного обеспечения.
Что же дальше? 139 Можно придумать и другие методы обеспечения безопасности передачи. Часть из них была внедрена и используется сегодня в сетях ведения электронных банковских операций и в других ситуациях, требующих высокой защиты каналов связи. Программы вычисления контрольной суммы переданы в общественное пользование (см., например, статью Коэна [Cohen, Computers & Security 1988]). Мы допускаем, что реализация всех этих методов вносит некоторые неудобства в работу и может сказаться на объеме сбыта, а часть методов подразумевает еще и существенные затраты со стороны разработчика ПО. Таковы печальные последствия распространения заразных программ, и нам придется смириться с этим. Вирусы не собираются вымирать. Интересный подход к проблеме вирусов могут организовать продавцы ПО в форме лабораторий по выявлению инфекции. В такой лаборатории можно предоставить пользователям возможность проверить несколькими антивирусными средствами на чистом компьютере только что приобретенные программные продукты. При этом возникают некоторые технические проблемы: например, операторы рабочего компьютера должны быть совершенно уверены в том, что система остается стерильной.3) Поддержание стерильности может оказаться довольно дорогим делом, но оно компенсируется возможностью неплохо заработать. Совместимость Помните, что концепция совместимости включает несколько аспектов, которые в совокупности облегчают работу с компьютерами (например, каналы связи, совместимые компьютеры, программы и структуры файлов). Расширение совместимости происходит все время и этот процесс не остановить, поскольку объединение компьютеров в единую систему гораздо выгоднее использования их по отдельности. С ростом совместимости увеличивается число людей, свободно общающихся друг с другом, разделяющих ресурсы и создающих новые продукты. Тенденция всей отрасли к все большей и большей совместимости проявляется достаточно сильно. Параллельно с совместимостью растет и риск вирусного заражения, вмешательства посторонних, и возникают некоторые другие проблемы. Мы приучились жить рядом с взрывоопасными газами (баллонами с пропаном для газовых плит, бензобаками в автомобилях и т.п.), и мы справимся с проблемами, которые возникнут из-за возросшей совместимости компьютеров. Подобно автомобилю и телефону, компьютерная совместимость принесет в нашу жизнь столь значительный прогресс, что обещаемые ею изменения к лучшему намного перевесят отдельные недостатки, например существование вандалов, распространяющих компьютерные вирусы. 3) Система будет подвергаться опасности со стороны занесенных зарегистрированными пользователями вирусов, а также становится заманчивой целью для вандалов.
ПРИЛОЖЕНИЕ: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПОЛЕЗНОЕ ПРИ БОРЬБЕ С ВИРУСАМИ В данном приложении приводится список антивирусных средств, отдельно для IBM-совместимых компьютеров и для "Макинтошей". К некоторым из программ мы написали аннотации, другие мы не успели опробовать из-за жестких рамок времени, отведенного на публикацию или по другим причинам. Для последних мы приводим только адреса распространителей. Многие из этих программ, объявленных общественным достоянием, бесплатных или копируемых, можно переписать из различных BBS. Мы указали стоимость регистрации копируемых программ везде, где смогли ее узнать. Поскольку цены на коммерческие программы существенно меняются, мы не указываем их в нашем списке. Уровень обеспечиваемой защиты, простота в обращении, качество документации и цена перечисленных программ меняются в широких пределах. В аннотациях мы старались не вдаваться в технические подробности. Мы считаем, что любой компетентно сделанный программный продукт обеспечивает определенную степень защиты, и что вас в первую очередь интересует цена и удобство использования. Опыт показывает, что частные лица и небольшие компании предпочитают избегать назойливости действительно серьезных средств защиты. Если защита пробита или не используется, ее ценность равна нулю. Мы считаем, что для среднего пользователя удобство в работе предпочтительнее каких-то экзотических возможностей. Комбинирование здравого смысла ("безопасный гекс"!) и использования любого из этих пакетов в соответствии с рекомендациями разработчика обеспечат приемлемый уровень защиты. Замечание: как и любая другая программа, вакцина может содержать ошибки. Нельзя полагаться только на вакцину и считать себя в полной безопасности. Ни один антивирусный пакет не обеспечивает совершенной защиты. Доктор X. Хайлэнд из журнала "Computers and Security" сообщил, что он со своими сотрудниками работает над большим исследовательским проектом, посвященным детальному анализу проблемы. Результаты будут напечатаны в книге, готовящейся к выходу в издательстве Elsevier Science Publishers в начале 1989 г. Лицам, подвергающимся повышенному риску промышленного шпионажа, озабоченным вопросами национальной безопасности и другими серьезными опасностями, реко-
Приложение 141 мендуется приобрести эту книгу. Некоторые предварительные результаты исследования были опубликованы ранее (см. [Computers & Security 1988]). Данные аннотации не претендуют на полноту и не представляют результатов тщательных исследований. Мы не даем никаких гарантий. Предупреждение Средства вирусной защиты могут в свою очередь быть заражены вирусными программами. Факты проникновения в них уже отмечались. Если вы переписываете подобные продукты из BBS публичного доступа, принимайте меры предосторожности и проверяйте эти средства перед установкой их на вашу рабочую систему. Мы рекомендуем вам приобретать антивирусные продукты у самих разработчиков. Мы предлагаем вам связаться с вашей любимой BBS и спросить, какие меры они принимают для предупреждения инфекции на BBS и какие программные продукты пользователи могут переписать к себе. Если они ничего не делают и не предлагают никаких антивирусных средств, вы, возможно, измените свое мнение о ней с учетом того риска, которому подвергаетесь при работе с этой BBS. Степень опасности уменьшается, если вы приобретаете несколько антивирусных программ и проверяете каждую из них с помощью всех остальных. Хотя отдельная программа может оказаться инфицированной, статистически маловероятно, что несколько полученных из разных источников программ окажутся зараженными одновременно. MS-DOS И PC-DOS Антивирусные продукты для системы DOS обычно входят в одну из двух категорий: утилиты поиска в файлах подозрительных команд, текстовых строк или фрагментов известных вирусов; резидентные программы, перехватывающие обращение к уязвимым командам DOS. Возможность поиска подозрительных строк обеспечивается многими коммерческими утилитами, позволяющими просматривать файлы. Антивирусные средства, входящие в первую категорию, обычно весьма специализированы. В то время как коммерческие утилиты предоставляют и другие возможности, антивирусные средства только проверяют файлы и выдают отчет. Некоторые антивирусные программы также
142 Компьютерный вирус: проблемы и прогноз ищут текст известных вирусов или подозрительные машинные команды, чего вы не стали бы делать при помощи текстового редактора. Некоторые антивирусные средства предоставляют возможности проверки контрольной суммы или других средств контроля. Программы, входящие во вторую группу антивирусных средств DOS, обычно загружаются в оперативную память так же, как сами вирусы или спулер печати, используя функцию TSR (Terminate and Stay Resident - Закончить и остаться резидентным). Затем они перехватывают попытки вирусов загрузиться в память или выполнить опасные машинные команды. Многие из этих средств имеют возможность создания резервных копий важной информации вроде секторов FAT, загрузочного сектора и CMOS. Все резидентные программы занимают какую-либо часть памяти. Они могут мешать нормальной работе таких средств, как Windows, Norton Utilities и других программ, на законных основаниях пользующихся функцией TSR и прочими потенциально опасными командами. Резидентные антивирусные средства часто мешают работе друг друга если вы загружаете две программы одновременно. Поскольку резидентные программы вирусной защиты перехватывают выполнение других программ, производительность компьютера понижается. Как правило, чем сложнее (и чем дороже) антивирусная программа, тем эффективнее она позволяет вам управлять перехватом различных действий и, следовательно, минимизирует вмешательство в процесс нормальной работы. Вспомните принцип TANSTAAFL; за защиту от вирусов приходится расплачиваться как деньгами, так и неудобствами в работе. Проведенные нами тесты симулировали деятельность резидентных вирусов: попытку записи в .СОМ-файл; попытку записи в .ЕХЕ-файл; попытку записи в COMMAND.COM; попытку записи в .FAT; загрузку другой резидентной программы; чтение загрузочного сектора. Программы поиска подозрительного текста использовались для просмотра нашей рабочей системы и друг друга. Ни один из протестированных пакетов не идентифицировал зараженной копии программы FLUSHOT3. BOMBSQAD, CHK4BOMB, Andy Hopkins, Swarthmore Software Systems, 526 Walnut Lane, Swarthmore, PA 19081. Номер BBS (302)764- 7522. Эти программы являются копируемыми, а разработчик просит уплатить 10 долларов, если вы хотите оставить их себе и пользоваться ими. BOMBSQAD и СНК4ВОМВ можно получить из многих общедоступных BBS, включая BBS Гринберга (см. аннотацию к программе FLUSHOT). CHK4BOMB проверяет программные файлы на выполнение ими потенциально опасных действий, таких как коман-
Приложение 143 ды DOS машинного уровня и на наличие текстовых строк. BOMBSQAD - резидентный модуль, перехватывающий вызовы машинных функций из других программ и предлагающий вам продолжить или прекратить их выполнение. Обе программы поставляются с набором инструкций на двух страницах, что вполне достаточно для работы с ними. Мы переписали наши копии BOMBSQAD и СНК4ВОМВ с той же BBS, с которой получили и зараженную версию программы FLU SHOT, поэтому мы сочли за лучшее не тестировать их. Другие пользователи утверждают, что они делают все, что описано в документации этих программ. Ни о каких проблемах с обеими программами не сообщалось за то время, что они циркулируют в среде пользователей. Disk Watcher, RG Software Systems, 2300 Computer Avenue #1-51, Willow Grove, PA 19090 (215)659-5300. В версии 2.0 программы Disk Watcher к первоначально имевшимся возможностям защиты и создания архивов были добавлены некоторые антивирусные функции. Этот прекрасный программный продукт поставляется в запечатанных бандеролях с профессионально разработанными руководствами. Руководство по борьбе с вирусами выполнено на таком же уровне и оформлено в виде приложения к более подробному руководству по программе Disk Watcher. В представленный для тестирования материал был вложен чистый лист бумаги с заголовком "Компьютерные вирусы - сбор данных", что является не только средством рекламы продукта, но и полезно для обсуждения проблемы. Цена программы Disk Watcher выше стоимости чисто антивирусных продуктов, однако Disk Watcher - это профессиональное средство, выполняющее и многие другие функции. Исходные возможности защиты вместе с добавленными антивирусными компонентами успешно воспрепятсвовали нашим* попыткам изменить важные данные. Мы не проводили тестирования средств работы с дисками, также входящими в пакет. Flushot, Software Concepts Design, Ross M. Greenberg, 594 Third Avenue, New York NY 10016 (212)889-6438 (также номер BBS). Вы должны уплатить регистрационный взнос, если хотите пользоваться пакетом; Гринберг сообщает, что вы можете пожертвовать на благотворительные цели 10 долларов и прислать ему расписку. Flushot Plus поставляется фирмой Software Concepts Design в качестве копируемого ПО. Как характерно для копируемых программ, Flushot Plus предлагает больше возможностей, чем типичные коммерческие утилиты. Это неплохая программа с отличной документацией, включающей подробное обсуждение компьютерных виру-
144 Компьютерный вирус: проблемы и прогноз сов и принципов их работы. Пакет успешно противостоял нашим попыткам изменить важную информацию. Мы оцениваем программу Flushot Plus как ценное приобретение. ПРЕДУПРЕЖДЕНИЕ Некоторые предыдущие версии программы Flushot оказались подвержены инфекции, и известно, что некоторые копии программы оказались заражены и вместо борьбы с вирусами распространяют их. Одна из полученных нами из большой издательской BBS копий носила название FLU SHOT 3; мы слышали и о версиях под названием FLUSHOT4. Разработчики рекомендуют пользоваться только программой Flushot Plus. Мы очень рекомендуем вам доставать копии программы только через BBS разработчиков, которая, по их заверениям, свободна от вирусов. Их BBS также распространяет некоторые другие программы защиты, которыми Гринберг регулярно пользуется и которые он считает стерильными (см. СНК4ВОМВ, BOMBSQAD). Mace Vaccine, Paul Mace Software, 400 Williamson Way, Ashland, OR 97520, (503)488-2322. Программа Mace Vaccine предназначена для использования в совокупности с пакетом Mace Utilities. Mace Vaccine довольно проста и включает только одну страницу документации; соответственно и цена пакета сравнительно небольшая. Инструкции просты, ясны и исчерпывающи. Пакет успешно противостоял нашим попыткам изменить важную информацию. Другие коммерческие пакеты утилит, например PCTOOLS и Norton Utilities, предлагают возможности, сходные с теми, что имеет пакет Mace Utilities; вам нет небходимости приобретать другие утилиты, если у вас уже есть один из этих пакетов. Заметьте, что с помощью любого из этих пакетов вы можете просматривать файлы; если при просмотре только что переписанной программы вы обнаружите текстовую строку вроде "НА НА Gotcha" ("Ха-ха, получил?"), не запускайте ее. NTIVIRUS, Orion Microsystems, P.O. Box 128, Pierrefonds, Quebec, Canada, H9H 4K8 (514)626-9234. Пакет поставляется на одной дискете и сопровождается кратким руководством. Руководство состоит из небольшого количества болтовни и достаточного количества ценной информации о принципах работы вирусов и самого пакета NTIVIRUS. Пакет предоставляет некоторый уровень защиты против резидентных вирусов, обнаруженных во время работы пакета, включает средства сканирования файлов и может вычислять контрольные суммы, позволяющие поддерживать стерильность системы, если только вы убеди-
Приложение 145 лись в отсутствии вирусов в ее первоначальном состоянии. (См. [Pozzo 1986], если вы хотите узнать дополнительные подробности об этом методе защиты.) Маджид Букри (Madjid Boukri) кажется компетентным в этом вопросе. Он предлагает, чтобы списки проверяемых программ, созданные пакетом NTIVIRUS, переименовывались (используя предлагаемые им средства) для предохранения от вирусов, специально нацеленных на NTIVIRUS. Документация содержит большое количество полезной информации для заинтересованных лиц. Вы должны знать довольно много о принципах работы DOS, если захотите писать соответствующие пакетные файлы, в полной мере используя возможности пакета. Этот пакет успешно противостоял нашим попыткам изменить важные данные. При проверке нашей рабочей системы он, как и предполагалось, сообщил о возможном наличии вирусов в файле с необычной структурой. Он не обнаружил присутствия вируса в зараженной копии FLUSHOT3. Мы получили добавочный модуль, ликвидирующий указанный дефект на машинах PS/2, и включили его в действующий пакет. Если вы в первую очередь хотите поддерживать стерильность среды DOS вашего компьютера, пакет NTIVIRUS явится для вас ценным приобретением. Vaccine 2.0, WorldWide Data, 17 Battery Place, New York, NY 10004 (800)643-3000 доб. 123 или (212)422-4100. Vaccine 2.0 состоит из трех программ, которые проверяют систему на наличие известных вирусов (в программных и системных файлах .ЕХЕ или .СОМ), вычисляют и проверяют контрольные суммы и поддерживают список разрешенных к исполнению резидентных программ и программ, которым запрещены обращения к жесткому диску. Пакет снабжен документацией в недостаточном объеме, но те сведения, которые приводятся, вполне доступны, достоверны и дают достаточную для работы с программой информацию. Этот пакет успешно противостоял нашим попыткам изменить важные данные. При проверке нашей рабочей системы он, как и предполагалось, сообщил о возможном наличии вирусов в файле с необычной структурой. Он не обнаружил присутствия вируса в зараженной копии FLUSHOT3. После установки пакета на вашем компьютере он не будет мешать нормальной работе. Vaccine, версия 1.2, FoundationWare, 2135 Renrock Road, Cleveland, ОН 44119 (800)722-8737 или (216)932-7717. Vaccine, версия 1.2 - система всесторонней защиты, предназначенная для использования организациями. Требуется поддержка системного администратора. Интерфейс с пользователем может пока- 6-954
146 Компьютерный вирус: проблемы и прогноз заться менее дружественным, чем в некоторых других программах, но зато пакет Vaccine обеспечивает более высокий уровень защиты. Мы не смогли своевременно получить копию программы для тестирования. Другие пакеты для DOS, которые мы не тестировали и о которых мы не имеем подробных сведений: - Antidote, Quaid Software Ltd., 45 Charles St. East, Toronto, Ontario, Canada M4Y 1S2; - Antigen, Digital Dispatch, Inc., 1580 Rice Creek Road, Minneapolis, MN 55432; - C-4, Interpath Corporation, 4423 Theeney Street, Santa Clara, CA 95054; Cryptographic Checksum, Dr. Fred Cohen, University of Cincinnati, Dept. of Computer Engineering, Mail Location 30, 898 Rhodes Hall, Cincinnati, OH 45221-0030; - Data Physician, Digital Dispatch, Inc., 1580 Rice Creek Road, Minneapolis, MN 55432; - Disk Defender, Director Technologies, Inc., 906 University Place, Evanston, IL 60201; - Dprotect, Gee Wiz Software Company, c/o: Ms. Janey Huie, 10 Manton Avenue, East Brunswick, NJ 08816; - Dr. Panda Utilities, Panda Systems, 801 Wilson Road, Wilmington, DE 19803; Novirus, Digital Dispatch, Inc., 1580 Rice Creek Road, Minneapolis, MN 55432; Vaccine, Sophos Limited, 20 Hawthorne Way, Kildington, Oxford OX5 1EZ, U.K.; - Vaccinate, Sophco, PO Box 7430, Boulder, CO 80306; Компания Sophco сообщила, что программа была продана другой компании. Мы не смогли своевременно получить более подробной информации. - VI-Raid, Prime Factors, 1470 East 20th Avenue, Eugene, OR 97403; Viralarm, Lasertrieve, Inc., 395 Main Street, Metuchen, NJ 08840; VirusSafe, ComNETco, Inc., 29 Olcott Square, Bernardcville, NJ 07924. КОМПЬЮТЕРЫ "МАКИНТОШ" В целом все антивирусные средства "Макинтошей" делятся на четыре категории: программы, которые можно запустить для выполнения каких-либо действий по диагностике и (или) лечению зараженных файлов; модули, сходные по выполняемым функциям с программами, но обладающие всеми преимуществами и недостатками резидентных программ;
Приложение 147 INIT, дополняющие операционную систему, выполняемые во время начальной загрузки и реализующие активную защиту от вирусов; драйверы устройств, аналогичные INIT, но обладающие дополнительной гибкостью и возможностью диалога с пользователем с помощью контрольной панели. U&U/800 13 items 207К in disk 573К available Vaccination \UIRUS ш. Virus Rx /1 .0a2 The, GuardDog /1.0 KillScores /1.0 4 K> R^ KillVirus VirusDetective™ /1.2 MacTools® 7.2 ^UIRIJ WARN!! VirusVarninglNIT Vaccine/1.0 Interferon/1.0 E K> Q a Рис. АЛ. Иконки некоторых антивирусных программ для "Макинтошей". INIT и драйверы можно использовать только в версиях операционной системы не ниже 5.0. Они должны быть занесены в системный файл. Описанные ниже антивирусные продукты могут работать с разной скоростью на различных системах "Макинтош". Мы тестировали их на компьютере с системами 4.2, Finder 6.0 (System Software версия 5.0) в режиме Finder. Мы не проводили тестирования с системой MultiFinder. Как и для резидентных антивирусных средств DOS, могут наблюдаться нежелательные конфликты между антивирусными INIT и драйверами^ одной стороны, и прочими INIT и драйверами вашей системы или другими антивирусными средствами^ другой стороны.
148 Компьютерный вирус: проблемы и прогноз Сору II for Apple Macintosh, Central Point Software, #200-15220 NW Greenberg Parkway, Beaverton, OR 97006, (503)690-8090. Copy II for Apple Macintosh - набор программ, предназначенных облегчать восстановление разрушенных по какой-либо причине файлов. Работа утилит основывается на предположении, что, когда файлы повреждены или стерты, их адреса теряются, но сама информация с диска не стирается. Поскольку очень часто вирусное повреждение проявляется в уничтожении таблиц размещения фрагментов файлов, эти средства могут облегчить возмещение ущерба. Большая часть утилит может использоваться в двух режимах: автоматическом (для неквалифицированных пользователей) и интерактивном (для лиц, обладающих специальными знаниями и пытающихся восстановить повреждения). Для IBM-совместимых машин создан аналогичный пакет CopyllPC. Наиболее полезными программами пакета являются: CPSSaveDeletes - INIT, автоматически сохраняющий информацию о размещении и содержимом удаляемых файлов. Чтобы использовать эту утилиту с наибольшим эффектом, ее следует установить на защищаемый диск до удаления файлов. Это средство может оказать существенную помощь в предохранении от вирусного заражения. CPSTagFix - INIT, автоматически дополняющий компьютеры Мае Plus и ПЗУ 512КЕ с целью соблюдения адекватности меток всех дискет и некоторых жестких дисков. (Метки могут оказаться полезными, когда вы восстанавливаете удаленные файлы.) MacTools - программа, позволяющая пользователю исследовать и, возможно, восстановить содержимое удаленных файлов. Программа предлагает три различных режима восстановления файлов в зависимости от наличия сохранившейся на диске информации. Ferret, Larry Nedry (адрес неизвестен). Имеется на нескольких BBS. Как сообщалось, эта программа обнаруживает и удаляет вирус SCORES и восстанавливает поврежденные файлы. Некоторые программы после "исправления" перестают работать; в частности, особенно трудно поддаются лечению программы Adobe Illustraitor и Adobe Pagemaker. В этом случае единственное средство - использовать резервные копии или оригинальные диски с программами. Версия 1.1 программы Ferret имеет серьезную ошибку. Она не удалят один из ресурсов вируса и даже не информирует пользователя о его наличии. Версия 1.0 удаляет все ресурсы, но не всегда определяет все зараженные файлы.
Приложение 149 GuardDog, Nemesis Systems, P.O. Box 33268, Minneapolis, MN 55433. Программа GuardDog является копируемой, регистрационный взнос составляет 20 долларов. Этот замечательный драйвер не является по сути дела антивирусным средством, а скорее, средством контроля за выполнением. Пакет позволяет пользователю изменять порядок перемещения, удаления, копирования и переименования файлов и каталогов в системе Finder. Такие процессы могут быть запрещены вообще или существенно ограничены. При попытке выполнить один из запрещенных процессов раздается громкий звуковой сигнал, и эта попытка блокируется. Некоторые функции программы GuardDog подразумевают использование клавиши Control, имеющейся только на компьютерах Мак SE и Мак П. Interferon, Robert Woodhead, с/о Robert Woodhead Sir-Tech Software, 10 Spruce Lane, Ithaca, NY 14850. Это копируемая программа; разработчик требует, чтобы вы послали соответствующий взнос в Vision Fund по вышеуказанному адресу, если хотите пользоваться этой программой. Interferon - сложная антивирусная программа размером 12К, снабженная полным и информативным руководством пользователя в формате текстового процессора MacWrite. Она предназначена для выявления и удаления нескольких вирусов, включая SCORES и nVIR, а также для выявления подозрительных действий, которые могут являться симптомами новых неизвестных вирусов. Как и в системе DOS, подобные аномалии могут являться оправданными действиями обычных программ, a Interferon позволяет вам отслеживать такие виды активности. Две особенности ограничивают использование программы Interferon. Пакет не может работать с дисками MFS (Macintosh File System - система файлов "Макинтош"), а только с дисками HFS (Hierrchial File System - иерархическая система файлов). Если пользователь выбирает пункт "удалить", Interferon не вырезает вирусы из зараженных файлов, а удаляет все файлы, в которых содержится вирус (это свойство отражено и в сопровождающей пакет документации). KillScores, Howard Upchurch из фирмы МасРаск и отделение Apple Corps в г. Далласе. Адрес МасРаск: P.O. Box 832446, Richardson, TX 75083. KillScores выявляет и удаляет вирус SCORES и, насколько возможно, восстанавливает поврежденные файлы и систему. Генерируется подробный отчет обо всех обнаруженных при проверке каталога или диска аномалиях.
150 Компьютерный вирус: проблемы и прогноз Пакет снабжен интерактивной подсказкой. В документации .не отражено, является ли эта программа бесплатной, копируемой или коммерческой. KillVirus, Matthias Urlichs, Rainwiesenweg 9, 8501 Schwaig 2, West Germany. KillVirus - это INIT, разработанный специально для борьбы с вирусом nVIR. Пакет удаляет ресурсы вируса из системы и пытается предупредить возможность повторного заражения установкой фиктивного ресурса, напоминающего сам вирус (вирус при следующей активизации обнаружит, что одна копия уже имеется в системе, и не станет заражать ее еще раз). Этот фиктивный ресурс выглядит как копия вируса nVIR и для прочих антивирусных программ; при попытке удалить "зараженный файл" результаты непредсказуемы. Переписанный для тестирования пакет не сопровождался документацией. Нет сведений, является ли эта программа бесплатной, копируемой или коммерческой. Vaccination и VirusWarn, Mike Scanlin, P.O. Box 400, Placentia, CA 92670. Этот программный продукт состоит из двух частей: программы Vaccination и INIT VirusWarn. Программа Vaccination предназначена для борьбы исключительно с вирусом nVIR и предохраняет от заражения только программные файлы, а не системные и не файлы других типов. Проверяемые файлы выбираются по очереди в меню выбора файлов SFGetFile. Программа Vaccination удаляет вирус nVIR, но не предупреждает повторного заражения. INIT VirusWarn выдает предупредительный звуковой сигнал, если вирус nVIR пытается внедриться в вашу систему. Это только предупреждение - INIT не блокирует вирус. Переписанная и опробованная нами копия пакета не сопровождалась ни отпечатанной документацией, ни диалоговой подсказкой, не имела номера версии и сведений, является ли она бесплатной, копируемой или коммерческой. Vaccine, CE Software, 1584 Fuller Road, West Des Moines, IA 50265. Vaccine - драйвер, предлагаемый фирмой СЕ Software всем желающим. Фирма поставляет драйвер на гарантированно чистой дискете вместе с прочим программным обеспечением за небольшую сумму в 10 долларов. Сейчас распространяется версия 1.0, и никаких новых версий не предвидится. Vaccine защищает от вирусов SCORES, nVIR и MacMag. Работа драйвера основана на перехвате опасных действий (например, по-
Приложение 151 пыток изменить системные ресурсы). Поскольку такие действия могут выполняться и обычными программами, например, Installer или Font/DA Mover, драйвер обеспечивает возможность включения и отключения перехвата опасных действий с контрольной панели. Поставляется детальная интерактивная подсказка. Для установки драйвера не требуется досконального знания компьютера "Макинтош". Драйвер прост в использовании. Документация включает описание пределов возможностей драйвера Vaccine и краткое описание профессионального подхода фирмы СЕ Software к проблеме вирусов. В режиме для специалистов при попытке выполнения каких-либо аномальных действий в правом верхнем углу экрана появляется небольшая картинка. Чтобы разрешить или запретить эти действия, пользователю нужно всего лишь нажать на соответствующую кнопку мыши, но картинка остается на экране в качестве предупреждения, а в центре ее появляется яркая точка. Это затрудняет выбор правильной кнопки (а выбор неправильной может привести к катастрофическим последствиям). VirusRx, Apple Corporation, Inc. VirusRx предлагается фирмой Apple бесплатно. Вы можете получить эту программу у местных поставщиков Apple или через BBS. Нами была опробована версия 1.0а2; версия документации от 25 апреля 1988 г. Программа VirusRx длиной 12К сопровождается подробной документацией в отдельном файле. Программа просматривает каталоги или диски пользователя и выдает детальный отчет обо всех найденных особенностях. Она не удаляет вирусы и не восстанавливает обнаруженные повреждения. Документация составляет неотъемлемую часть пакета. Фирма Apple дает в ней ценные советы для возможного уменьшения риска при проверке подозрительных программ. Virus Detective, Jeffrey S. Shulman, P.O. Box 521, Ridgefield CT 06877- 0521. Virus Detective - резидентная программа длиной 23 К, позволяющая вам проводить проверку различных частей файлов, которые могут содержать вирус. Последняя версия - 2.3; пакет является копируемым с регистрационным взносом в 15 долларов. Пакет Virus Detective ориентирован на опытных программистов компьютеров "Макинтош". Он позволяет задавать режимы проверки программ по названиям фирм-разработчиков, длинам или их диапазонам и по названиям. Обнаруженные ресурсы могут быть удалены. Менее опытным пользователям предлагаются различные шаблоны для облегчения работы.
152 Компьютерный вирус: проблемы и прогноз Предлагается хорошая интерактивная подсказка, включающая инструкции по конфигурации пакета и модификации критериев поиска. Выдается подробный отчет в форматах нескольких текстовых процессоров. Пользователь может задать поиск в одном из каталогов или по всему диску. Антивирусные средства для IBM-совместимых компьютеров, добавленные при переводе AIDSTEST, Лозинский Д.Н. Программа распространяется АО "ДиалогНаука" по адресу: 117967, Москва, ГСП-1, ул. Вавилова, д.40, комн. 103а. Телефоны: (095) 135-62-53 (антивирусный отдел), (095) 137- 01-50, BBS (095) 938-28-56. Aidstest - коммерческая утилита. Организации могут оформить подписку на получение дискет с последними версиями программы в течение года ежемесячно; версии обновляются медленно (к моменту подписания книги в печать текущая версия обнаруживала и распознавала 750 вирусов). Вместе с программой поставляется подробное руководство длиной более 100К, содержащее не только описание использования программы, но и краткие описания всех обнаруживаемых программой Aidstest вирусов и некоторые практические советы, как уменьшить опасность заражения ("безопасный гекс"). Программа может выявлять и вирусы, уже выполняющиеся в оперативной памяти компьютера, поэтому ее можно запускать на зараженной машине, даже не пользуясь чистой версией операционной системы. AVSP, Антивирусная система распространяется фирмой "Диалог-МГУ". Телефон: (095) 939-38-90, (095) 939-38-91. Информацию о новых вирусах можно получить по BBS (095) 939-38-91. VR/VRRUS, ЦНТТМ, Физтех. Одна из простых антивирусных программ. Она производит поиск и лечение 7 наиболее распространенных вирусов. Программа также выдает отчет обо всех найденных особенностях просмотренных файлов. Интерфейс версии VR сделан на английском языке, версии VRRUS - на русском. Текущую информацию по антивирусным средствам и по защите информации можно получить из журнала "Вопросы защиты информации" Всероссийского НИИ межотраслевой информации (ВИМИ). Адрес редакции: 123584, Москва, ВИМИ. Телефон: (095) 491-11-91.
ГЛОССАРИЙ Add-on Card - Карта (плата) расширения. К персональному компьютеру можно докупить дополнительные платы, расширяющие возможности машины. Примерами таких плат являются встроенные модемы, карты адаптеров цветных дисплеев или дисплеев с высокой разрешающей способностью, часы и платы расширения памяти. BBS См. Bulletin Board System. Beta Test - Бета-тест. При разработке программного обеспечения его необходимо тестировать. Когда разработчик решит, что продукт практически готов, и проведет первичное тестирование, он может выпустить программу в ограниченное использование для проверки ее работы в процессе нормальной эксплуатации небольшим количеством пользователей. Такая вторичная проверка называется бета-тестированием. Валено, чтобы эти пользователи находились в постоянном контакте с разработчиком и чтобы их целью было выявление всех недостатков, а не просто одобрение проделанной работы. Бета-тестирование повышает стоимость разработки программного обеспечения и задерживает его выпуск в широкое использование. Некоторые разработчики объявляют о выпуске готовой продукции уже в момент передачи ее для бета-тестирования (см. Vaporware). Bitnet - Одна из многочисленных широко распространенных сетей электронной почты. Сеть Bitnet связывает многие университеты и академические учреждения и действует по всему миру. Сеть может пересылать программы как в исходном виде, так и в виде исполняемых файлов. Boot Sector - Загрузочный сектор. На диске или дискете микрокомпьютера в самом начале выделяется специальная область, содержащая короткую программу, которая позволяет компьютеру провести процесс начальной загрузки. Этот процесс состоит из загрузки в память операционной системы и передачи ей управления. Область, содержащая программу начальной загрузки, называется загрузочным сектором. Заметьте, что некоторые компьютеры содержат операционную систему или ее часть в ПЗУ (см. ROM); такие компьютеры загружаются и выдают приглашение к работе даже без жесткого диска или дискеты. Если в вашем компьютере нет такого ПЗУ, то он не станет работать, если в
154 Компьютерный вирус: проблемы и прогноз нем нет винчестера или если вы не вставите дискету с операционной системой. Вирусы часто записываются в загрузочный сектор. Bug - Ошибка. Любая нечаянная ошибка в программе. Вирусы и логические бомбы не являются нечаянными ошибками. Администратор Грейс Хоппер, один из пионеров развития компьютеров, описывает, как возник этот термин ("Bug" по-английски значит "жучок". - Пе- рев.). Однажды ошибка в программе была вызвана мотыльком, попавшим между пластинками реле, что нарушило контакт между ними. Есть сведения, что этот самый первый "жучок" сейчас хранится в Музее истории моря, даже если это неправда, история все равно замечательная. Bulletin Board System (BBS) - Система общественного доступа "доска объявлений". Компьютер, работающий в качестве электронной доски объявлений. Каждый пользователь может связаться с компьютером и поместить свои "объявления" в BBS, где все остальные могут их прочитать. Существуют BBS самого различного масштаба - от увлечения отдельных лиц до международных коммерческих BBS типа CompuServe. Концепция BBS состоит в содействии общению людей с помощью компьютеров и расширении обмена полезными программами, информацией ... и вирусами. Список платных услуг может включать перечисление товаров с возможностью их покупки посредством кредитных карточек, службу информации (например, Официальный авиабюллетень) и предоставление возможностей BBS для реализации других услуг. BBS CompuServe и The Source - широко распространенные коммерческие сети. Многие компьютерные журналы организуют свои собственные BBS. Сейчас в мире действуют тысячи BBS, ориентированные на группы людей с самыми разными интересами и имеющих доступ к компьютерам и линиям связи. Некоторые из них бесплатные, другие требуют оплаты своих услуг. Некоторые из них посвящают свои разделы таким темам, как взлом защиты компьютеров, создание бомб и т.п., но большинство предлагает свои услуги более законопослушным пользователям. Checksum - Контрольная сумма. Число, вычисляемое на основании содержимого файла. Существуют различные способы подсчета? от сложения численного эквивалента каждого символа файла (например, заглавной английской букве "А" соответствует число 65 в коде ANSI) до очень сложных методов. CHECKSUM - это также название одного из протоколов связи, широко используемого в программах связи микрокомпьютеров. Если контрольная сумма программного файла изменилась, значит, он был модифицирован и можно подозревать наличие вируса (или ошибок в канале связи и т.п.). Ciphertext - Зашифрованный текст. Результат кодирования информации невозможно прочитать, если не иметь соответствующего ключа шифра (см. Encryption). Содержимое такого нечитаемого файла является зашифрованным текстом. См. также Plaintext.
Глоссарий 155 Clock - Часы. Одно из необходимых для работы компьютера устройств - это часы. Часы позволяют компьютеру синхронизировать события. Такие синхронизирующие часы имеются в каждом компьютере. Один из распространенных типов плат расширения - часы с резервной батарейкой. Они отличаются от встроенных часов компьютера и чаще всего используются для вычисления текущего времени и даты даже когда компьютер выключен из сети. CMOS (Complementary Metal Oxide Semiconductor) - КМОП. Термин CMOS описывает технологию изготовления транзисторов в интегральной схеме. Программисты часто применяют термин CMOS не по назначению, используя его в качестве названия области особого вида памяти компьютера. Разработчики используют эту память для хранения показаний часов в то время, когда компьютер выключен. Микросхемы, изготовленные по технологии CMOS, потребляют меньше энергии, соответственно, батарейки служат дольше. Дополнительная плата с часами - один из примеров использования памяти типа CMOS. Память CMOS используется в компьютерах AT, PS/2 и "Макинтош" для хранения важных параметров операционной системы и конфигурации компьютера. Были отмечены вирусы, модифицирующие содержимое CMOS. От таких вирусов очень трудно избавиться, поскольку память CMOS недоступна пользователям без использования специальных программ. Connectivity - Совместимость. Этот термин подразумевает нечто большее, чем просто возможность позвонить по телефону и связаться с чьим-либо компьютером. Понятие совместимости включает совместимое программное обеспечение, стандартные форматы, хорошие линии связи, в том числе и спутниковые, и многие другие факторы, в совокупности позволяющие каждому из нас "говорить" с любым другим человеком или компьютером. Совместимость позволяет каждому из собственного автомобиля соединить по телефонной линии свой портативный компьютер через переносной модем с базой данных, расположенной где-нибудь за рубежом на компьютере совершенно другой системы. Cryptanalysis - Криптографический анализ (см. Cryptography) Cryptography - Криптография. Дисциплина, изучающая принципы, средства и методы изменения данных с целью воспрепятствовать их прочтению. Методы и принципы шифрования также изучаются криптографией. Криптографический анализ - действия, обратные шифрованию (например, расшифровка), имеющие целью определить принципы, средства или методы изменения данных. Decryption - Расшифровка. Процесс преобразования зашифрованного текста в обычный. Download - Получить из сети. Связаться с другим компьютером, системой BBS (см. BBS) или какой-либо другой компьютерной системой и скопировать программу или файл в вашу систему. (См. также Upload.)
156 Компьютерный вирус: проблемы и прогноз Electronic Mail (e-mail) - Электронная почта. Передача сообщений от одного пользователя компьютерной сети к другому. Одни системы электронной почты могут связываться с другими и с сетями ЭВМ. Электронная почта может поддерживать электронные почтовые ящики, списки адресатов и их адресов и прочие возможности. Системы электронной почты становятся привычным помощником на больших компьютерных системах, где реализованы такие коммерческие сети как ATTMAIL и Envoy 100. Большинство коммерческих систем электронной почты позволяют пользователям пересылать только текстовые сообщения, т.е. вы не можете посылать файлы в формате текстового процессора и программы. Обычно системы BBS поддерживают ту или иную систему электронной почты (обычно только для текста) с дополнительными возможностями копирования файлов в BBS и обратно. Enciphering - Шифрование. Процесс изменения информации (простого текста) с целью воспрепятствовать его прочтению. Существует много способов достичь этой цели; один из них подразумевает использование стандарта кодирования данных (DES - Data Encription Standard). Полученный зашифрованный текст невозможно или очень трудно прочитать без декодирования его с использованием соответствующего ключа. Большинство методов шифрования поддерживают еще и какой-либо метод вычисления контрольной суммы, тем самым повышая надежность шифрования, и использует коды, исправляющие ошибки. Encryption - Кодирование (см. Enciphering) Exponent - Экспонента. Математическое величина, соответствующая числу, стоящему в основании, возведенному в степень, равную показателю степени. Например, в выражении "105" 5 является показателем, а 10 - основанием степени. Это выражение является краткой формой записи формулы 10*10*10*10*10 (10 умноженное само на себя 5 раз) или, что то же самое, 100 000. Слово "экспоненциальный" характеризует скорость возрастания функции, например, если бактерия (и все ее потомство) при размножении делится на две таких же, то из одной бактерии получится сначала 2, потом 4, потом 8, потом 16, потом 32 (32=25). Экспоненциальный рост за сравнительно короткое время приводит к очень большим числам. Exposure - Уязвимость. Уязвимость - какая-либо часть вашего компьютера или метода работы, оставляющая кому-либо (чему-либо) возможность воздействовать на вас и ваш компьютер. (См. также Point of Attack.) FAT (File Allocation Table) - Таблица размещения файлов. FAT - название одной из составных частей операционной системы MS-DOS или PC- DOS, в которой хранятся сведения о порядке расположения информации на жестком диске или дискете. Как бы то ни было, компьютер должен иметь возможность определить, какие файлы находятся на диске (в каталоге) и где именно расположены все фрагменты каждого из них.
Глоссарий 157 FAT или аналогичная ей таблица располагается на зарезервированном месте диска. Она содержит адреса, а иногда и длины, всех фрагментов каждого из файлов данного диска. Если FAT повреждена, система уже не может найти данные, хотя они по-прежнему находятся на своем месте. Некоторые вирусы портят FAT. Firmware - Модульное ПО. Программы, записанные в микросхемах программируемых постоянных запоминающих устройств ППЗУ (PROM). Такие программы можно модифицировать, так что они не являются аппаратными средствами в полном смысле этого слова, но поскольку для такого изменения нужны специальные приборы, они не являются и чисто программными. Модульное программное обеспечение по своим характеристикам находится между аппаратным и программным обеспечением. Fragmentation - Фрагментация. Когда с файлами на диске много и часто работают, то в конце концов кластеры каждого файла, в которых хранится информация, оказываются разбросанными по всему диску, вместо того, чтобы следовать друг за другом. Такое размещение информации не наносит никакого вреда, если не учитывать затрат памяти на хранение ссылок на кластеры и понижения скорости доступа к файлам из-за необходимости каждый раз перемещать головки. Замедление работы может быть значительным , и поэтому программы оптимизации дисков получили столь широкое распространение. Freeware - Бесплатное ПО. Программы, распространяемые системами BBS бесплатно. (Если за регистрацию приходится платить, то такие программы называются копируемыми.) Многие разработчики программного обеспечения распространяют новые версии или исправления бесплатно. FUBAR - Сокращение (возможно, придуманное еще древними египтянами при строительстве пирамид). Будем считать, что оно означает Fouled C/p Beyond All .Recognition - Искажено до полной неузнаваемости. Garbageware - "Мусор". Штамп, означающий зараженные программы (ПО), содержащие и распространяющие компьютерные вирусы или иным образом наносящие вред, вместо того, чтобы помогать вам наслаждаться работой за компьютером. Hardware - Аппаратное обеспечение. В компьютерах - то, что вы пинаете в раздражении. LAN (Local Area Network) - Локальная сеть. Компьютеры можно связать в сети при помощи всяких там кабелей, проводов и других соединителей. Сеть может объединять много различных компьютеров или даже компьютеры различных типов, а также принтеры, большие диски, называемые серверами, и другие устройства. Локальная сеть достаточно компактна в пространстве, обычно располагаясь в одном здании или в группе близко расположенных зданий. Локальная сеть не использует
158 Компьютерный вирус: проблемы и прогноз общественные каналы коммуникации для связи компонентов (хотя она может иметь "шлюзы", ведущие из сети в общественные каналы коммуникации). (См. также WAN.) Logic Bomb - Логическая бомба. Код, вставляемый в программу для выполнения действий, не запланированных или не ожидаемых пользователем. Логические бомбы "взрываются" (активизируются) в заранее заданное время или по выполнении заданного события; в противном случае они ничего не делают, только занимают часть доступной памяти. Программист может поместить в программу логическую бомбу, чтобы она выполнила какие-либо вредные действия, если, например, его фамилия исчезнет из ведомости на зарплату. Вирусы являются одной из разновидностей логических бомб, хотя вирусы размножаются, а типичные бомбы - нет. Plaintext (также cleartext) - Простой текст. Исходный вид текста (обычно вполне читаемый) или других данных. При шифровке простого текста получается зашифрованный текст. Point of Attack - Объект нападения. Особо уязвимое место, используемое вандалом для внедрения в вашу систему или для нанесения вреда. В гл. 5 и 7 перечислены некоторые уязвимые места, которые вирусы используют для внедрения или повреждения системы. RAM (Random Access Memory) - Запоминающее устройство с произвольной выборкой (ЗУПВ) или просто оперативная память. То, что вы обычно называете памятью компьютера, например пресловутые 640 К. (В компьютере могут иметься и другие виды памяти, обычно игнорируемые пользователем.) Прежде чем выполнить программу, ее нужно загрузить в оперативную память. Обрабатываемые данные обычно тоже находятся в оперативной памяти. Reverse Engineering - Обратное построение. Процесс, при котором компьютерщики берут микросхему ПЗУ или исполняемый код программы и пытаются по нему определить, каков же был исходный текст программы. Некоторые микросхемы буквально разбираются на части, чтобы можно было определить метод их создания. Такие действия основываются на том, что исходный текст читать гораздо легче, чем шестнад- цатеричные (с основанием системы счисления 16) числа машинного кода, чтобы можно было придумать другие способы достигнуть той же цели. С помощью альтернативных способов можно надеяться обойти патент или авторские права разработчика исходной микросхемы или программы. Обратное построение настолько широко используется, что дизассемблеры, т. е. программы, позволяющие автоматически преобразовывать объектный или загружаемый модуль в ассемблерный текст, являются распространенным коммерческим продуктом. Обратное построение - один из способов разобраться в работе вируса и определить, что и как он делает.
Глоссарий 159 Risk - Риск, степень неопределенности. При защите информации степень риска определяется уязвимостью, объектами нападения, вероятностью нападения и оценкой величины ущерба. Существует много способов численного подсчета величины риска, а полученные числа могут помочь в определении наилучшего использования ограниченных средств с целью минимизации опасности. Risk Analysis - Анализ риска. Формальный процесс идентификации грозящей опасности, определения ее вероятности, оценки величины ущерба и получения числовых величин, используемых в процессе выбора оптимальной стратегии защиты. ROM (Read-Only Memory) - ПЗУ (постоянное запоминающее устройство). Один из видов памяти компьютера. Ее важная особенность - вы не можете изменить содержимое ПЗУ. Существует разновидность - программируемое ПЗУ (ППЗУ - PROM), содержимое которого можно изменить при помощи специальных программаторов. В ПЗУ могут храниться ядро операционной системы и другие программы; там они неуязвимы для саботажа. Safe hex - "Безопасный гекс". Этим термином мы описываем целый набор подсказываемых здравым смыслом мер, противодействующих проникновению в систему компьютерных вирусов. Следует избегать заведомо рискованных действий (обмен пиратскими копиями), соблюдать правила, облегчающие борьбу с последствиями инфекции (ведение адекватных резервных копий), и другие меры безопасности. Shareware - Копируемое ПО. Программы, распространяемые системами BBS, за право пользования которыми нужно заплатить разработчику определенную сумму в качестве регистрационного взноса, за руководство или за рабочую программу, демонстрационную версию которой вы переписали с BBS. Как правило, разработчик в начале описания помещает одну-две страницы заявок на авторские права и прочую информацию. Появление копируемых программ - одно из практических последствий борьбы с пиратским копированием программ. Такая рыночная стратегия позволяет людям свободно копировать программы, а затем проявить благородство и послать разработчику деньги или получить дополнительные выгоды в форме отпечатанного руководства или новых версий, если они пришлют деньги. Signature - Характеристика. Какая-либо уникальная характеристика данных. Если характеристика изменяется, это однозначно свидетельствует об изменении данных. Верно и обратное: Если изменяются данные, то изменяется и их характеристика. Примером характеристики является совокупность длины файла, его полное название и значение атрибута "только для чтения". Если вирус дописывает что-либо в файл или файл из защищенного от записи становится модифицируемым, меняется и эта характеристика. Для большей уверенности можно включить в характеристику файла и вычисленную контрольную сумму (см.
160 Компьютерный вирус: проблемы и прогноз Checksum). В отдельных случаях для определения характеристик используются довольно сложные методы. Антивирусные программы в качестве одного из методов обнаружения вирусов часто вычисляют и запоминают характеристики программ, а затем проверяют их перед запуском. Если характеристика программы изменилась, она не будет выполняться, поскольку предварительно следует провести проверку на наличие в ней вируса. Software - Программное обеспечение (ПО). Программы, которые вы используете или пишете. Sysgen - Генерация системы. Английский термин - сокращение от слов "Si/stem Generation", что и означает "генерация системы", или процесс, в котором системщики задают конкретную конфигурацию и другие параметры большой вычислительной системы. Именно процесс генерации обусловливает различие версий операционной системы, работающих на разных ЭВМ. Заметьте, что все системы микрокомпьютеров одинаковы: DOS - всегда DOS, независимо от того, на каком компьютере он функционирует. (Файл CONFIG.SYS и другие методы в DOS, а также установка параметров и типов шрифтов на "Макинтоше" несколько видоизменяют конфигурацию операционной системы микрокомпьютеров, но в меньшей степени, чем это происходит на больших ЭВМ.) Traffic Analysis - Анализ потоков. Один из способов получения информации о коммуникациях. Данные о том, кто, с кем, когда и как часто связывается могут оказаться полезными при анализе потоков информации. Знание того, что, например, конкретное лицо очень часто по пятницам и понедельникам вызывает такой-то номер, может принести большую пользу. Если, например, вы менеджер банка, а номер, по которому звонят, принадлежит букмекеру, это о многом может сказать службе безопасности банка и не требует прямого вмешательства. Trapdoor - Отмычка. Блок в программе, позволяющий выполнять какие-либо действия (часто используемый способ обойти контроль на входе в программу) после ввода особой комбинации. Например, программа может нормально выполняться, но когда программист набирает особую комбинацию символов, программа открывает ему доступ к системным файлам, запрещенный для обычных пользователей. Отмычки другого вида, будучи размещены в программе, открывают отдельным лицам запрещенный им доступ к записям об уволенных сотрудниках и т.п. Было принято оставлять отмычки в операционных системах больших ЭВМ, чтобы системные программисты (которые знали секретные комбинации) могли перевести систему в режим отладки при обнаружении неполадок. Такие отмычки очень удобны для системных программистов и для вандалов, случайно узнавших секретные комбинации. Trojan Horse - Троянский конь (троянская программа). По легендам Гомера греки сумели проникнуть в город Трою, упрятав отряд десантников внутрь деревянного коня, которого сами троянцы втащили в ворота
Глоссарий 161 города. В области компьютерной безопасности троянской называется кажущаяся полезной программа, выполняющая какие-либо действия, помимо указанных в описании. Например, разрекламированная утилита сжатия дисков может и в самом деле сжимать их, а может и запустить копию вируса в файл COMMAND.COM. TSR (Terminate and Stay Resident) - Окончить и остаться резидентной. В системе DOS программа может завершить выполнение и остаться резидентно в памяти. Она прекращает выполняться, но остается, по крайней мере, частично в памяти (резидентно) и ее можно вызвать, нажав специальную клавишу. В качестве примера приведем спулер принтера, программы-оболочки и некоторые программы-таймеры. Нажав на функциональную клавишу, вы можете получить на экране изображение часов и узнать точное время в процессе работы, не выходя из текущей среды. Одним из способов запуска вирусов является использование резидентного режима работы. Время от времени вы нажимаете на клавишу, которая запускает вирус, и он начинает размножаться или, возможно, форматирует жесткий диск вашего компьютера. Когда вирус создает свои копии, вы можете даже не заметить, что его программа выполняется. Uploading - Загрузка. Если вы связываетесь с другим компьютером и передаете файл с вашей машины на другую, вы загружаете его (см. также Downloading). Vaccine - Вакцина. Программа или группа программ, обеспечивающих определенную защиту от компьютерных вирусов. Часто одна программа просматривает файлы в поисках известных вирусов, и другая резидентная программа всегда настороже и готова предотвратить любую попытку другой программы (например, вируса) вызвать функцию DOS TSR или отформатировать диск. Vaporware - Фиктивное ПО. Сокращение, относящееся к анонсированному программному или аппаратному обеспечению, которое не было выпущено в срок. Например, о выпуске "WonderWorks Version 99" неоднократно сообщалось, но никто так и не может купить эту программу. Любой программный продукт до того, как он поступил в продажу, является фиктивным ПО. Появление данного термина характеризует определенным образом сложившуюся практику некоторых разработчиков программ. Virus - Вирус. Программа, предназначенная выполнять непредусмотренные вами действия в вашей системе. Ее основные характеристики: она записывается в другие программы и размножается. За этими программами закрепилось название "вирусы", потому что они проникают в систему вместе с другими программами, подобно распространению вируса, поражающего клетку и размножающегося при делении самой клетки. Вирус может быть доброкачественным, т.е. не причинять особого вреда - разве что вывести на дисплей безобидное сообщение. Некото-
162 Компьютерный вирус: проблемы и прогноз рые вирусы определенно доброкачественные. Так как вирус способен к размножению, обнаружив его в каком-либо месте, следует проверить всю систему, чтобы убедиться в том, что вы избавились от всех его копий. Инкубационный период вируса может длиться достаточно долго, перед тем, как он приступит к активным действиям. В некотором смысле вирус - это троянская программа или логическая бомба, обладающая способностью к размножению. Способы присоединения вируса к программе различны для разных операционных систем. WAN (Wide Area Network) - Глобальная сеть ЭВМ. Аналогично локальной сети, но компоненты глобальной сети могут быть удалены на значительные расстояния друг от друга - они могут располагаться в разных городах или даже на разных континентах. Большинство глобальных сетей используют общественные системы связи, например, телефонные линии. А самые большие глобальные сети могут быть оснащены собственными спутниками связи и радиорелейными линиями. С точки зрения опасности заражения глобальные сети более уязвимы, чем локальные (см. также LAN). Wetware - Человеческое обеспечение. После того как мы дали определение модульному, бесплатному, аппаратному, копируемому, программному и фиктивному обеспечению, мы не смогли удержаться от соблазна определить и этот термин. Wetware - это люди. Нам также известны термины Fantasyware, Consumer Compatible Liveware (продавцы в компьютерных магазинах). Worm - Червь. Это злонамеренная программа, которая "прогрызает" свой путь по вашей системе, по ходу дела превращая полезную информацию в мусор или просто изменяя ее. Червяк не способен к размножению (т.е. не производит своих копий), но умеет двигаться (обладает свойствами живого организма).Червяка иногда очень трудно обнаружить, даже если вы не сомневаетесь в его наличии на вашем компьютере. Многие вирусы подобны червякам.
ЛИТЕРАТУРА Attanasio С. R., Markstein P. W., and Philips R. J. Penetrating an Operating System: A study of VM/370 Integrity, IBM Systems Journal, 15 No. 1, pp. 102-116. Beeler J. System Break-ins Raise Concern Over Electronic Terrorism, Computerworld, Nov. 24, 1986. Benmergui-Perez M. Your System: Safe and Sound? Computing Canada, Oct. 1, 1987, pp. 39ff. Статья-предупреждение об отсутствии должного уровня защиты, Bornstein H. Viruses: Nothing to Sneeze At, Macintosh Today, May 2 1988, p. 17. Передовица, посвященная некоторым возможным проблемам, возникающим в связи с использованием вирусов в целях промышленного шпионажа и в области национальной безопасности. Bouros L. A Look at EDP Threat Assessment, Computing Canada, Oct. 29, 1987, pp. 46ff. Краткий обзор грозящей опасности и методов оценки уязвимости и риска, с некоторым успехом примененных Федеральным правительством Канады. См. [Fites 1988], где дано более подробное описание этих методов. См. также выпуски RCMP Security Information. Brandstad D. К., Ed., Computer Security and the Data Encryption Standard, National Bureau of Standards Special Publication 500-27, 1978. Browne M. W. Locking Out the Hackers, Discover, Nov. 1983. Bruschweiler, W. S. Sr. Computers as Targets of Transnational Terrorism, in Computer Security: IFIP/Sec'85, Elsevier Science Publishers, North- Holland. Описываются случаи нападения на компьютерные центры в Европе и Соединенных Штатах. В книге приведены выдержки из Манифеста Красных бригад, касающиеся компьютеров. Chevreau J. Software Encryption: Protect Your Data, Computer Data, May 1986.
164 Компьютерный вирус: проблемы и прогноз Cohen F. Computer Viruses: Theory and Experiments, 7th DOD/NBS Computer Security Conference, Sept. 1984. Computer Piracy and Privacy (Home of the Future: Industry Research Report series), The Yankee Group, Boston, 1984. [Computer Security 1983] Case Histories in Computer Security, Computer Security, No. 53, Jul.-Aug. 1983. [Computer & Security 1988] Computer & Security, 7, No. 2, Apr. 1988, Elsevier Advanced Technology Publications, Mayfield House, 256 Banbury Road, Oxford 0X2 7DH, England. Этот выпуск посвящен вирусным программам. Материал разбирается более подробно, чем в нашей книге. Данный выпуск - лучший из доступных справочников по программам компьютерных вирусов на сентябрь 1988 г. [Computer Virus #1] Computer Virus: The Major Computer Abuse Threat of 1988? The Computer Law and Security Report, May-June 1988, pp. 2-3. [Computer Virus #2] Computer Viruses: Software Armageddon? Computer Dealer News, 4, No. 11, June 2, 1988, pp. 1, 38. [Computer Virus #3] Computer Viruses: The New Global Threat, The Computer Law and Security Report, May-June 1988, pp. 2-3. [Computing Canada 1988 #1] How Dangerous Are These Viruses? Computing Canada, Apr. 14, 1988, p. 10. В этой передовице иллюстрируется, как простыми профилактическими мерами можно значительно снизить опасность заражения вирусами. В ней указывается, что грозящая опасность значительно преувеличивается. (Инфицированная копия программы FLU SHOT 3, описанная в приложении, была получена из Computing Canada Online, BBS этого издания.) [Cortino 1988 #1] Cortino, Juli, and David Goll Apple Rallies Against Virus, Macintosh Today, Apr. 19, 1988, p. 1. Отчет фирмы Apple о предпринятых ими мерах в ответ на появление вируса в Далласе (Техас), Лендовере (Мериленд) и в правительственных конторах в Вашингтоне. См. также [Cortino 1988 #2]. [Cortino 1988 #2] Cortino, Juli Virus Concerb Spurs Vaccines, Investigations, Macintosh Today, May 2, 1988, p. 6. Обсуждение вируса SCORES. Приводится список антивирусных программ для сетей (компьютеры "Макинтош"). (Список включает вакцины Kill Scores, Ferret, Vaccine, Interferon, Virus Detective.) Dembart L. Attack of the Computer Virus, Discover, Nov. 1984. Denning D. and Robling E. Cryptography and Data Security, Addison- Wesley Publishing Co., Reading, Mass., 1983.
Литература 165 Может быть чересчур детальное, но замечательное изложение применений кодирования информации. [DES 1977] Data Encryption Standard, Federal Information Processing Standards Publication, 46, National Bureau of Standards, Washington, D.C., Jan. 1977, p. 4. Dewdney A. K. Computer Recreations, Scientific American, May 1984. [Имеется русский перевод: Дьюдни А. К. Занимательный компьютер, В мире науки, 7, 1984.] [Dewdney 1985 #1] Dewdney А. К. Computer Recreations, Scientific American, March 1985. [Имеется русский перевод: Дьюдни А. К. Занимательный компьютер, В мире науки, 5, 1985.] [Dewdney 1985 #2] Dewdney А. К. Computer Recreations, Scientific American, Sept. 1985. [Имеется русский перевод: Дьюдни А. К. Занимательный компьютер, В мире науки, 11, 1985.] Dewdney А. К. Computer Recreations, Scientific American, Jan. 1987. [Имеется русский перевод: Дьюдни А. К. Занимательный компьютер, В мире науки, 3, 1987.] Замечание: Выпуски "Занимательного компьютера" в номерах за май 1984, март 1985 и январь 1987 г. были перепечатаны в книге The Armchair Universe, W. H. Freeman, 1988. Dove В. Accidentally Formatted Hard Disk can be Salvaged, Input, Dec. 1986, p. 2G. [DPMA 1987] Model Computer Crime Act Adopted by DPMA, Provides Guidelines for State, Local Governments Inside DPMA Summer 1987, p. 14. Отчет о принятии проекта закона о компьютерных преступлениях и других мероприятиях. [FIPS 1981] Guidelines for Implementing and Using the NBS Data Encryption Standard, FIPS Publication, 74, U.S. Department of Commerce/National Bureau of Standards, Washington, D.C., Apr., 1981. Fites P. E., Kratz M. P. J., and Brebner A. F. Control and Security in Computer Information Systems, W. H. Freeman/Computer Science Press, 1988. Книга написана скорее в жанре учебника, чем популярной литературы, справочника или изложения идей какого-либо разработчика ПО. [Florida Virus 1988] Computers Feeling Sickly as "Viruses" Strike, Florida Globe & Mail, Jan. 13 1988, p. B9. Gerhard W. D. Networks of Computers, National Security Agency Fort George, G. Meade, Maryland 20755.
166 Компьютерный вирус: проблемы и прогноз Graham G. Do Your Discs Carry an Invisible Software Virus? Quill and Quire, 54, No. 5, May 1988, p. 20. Howitt D. Of Worms and Booby Traps, Infoworld, Nov. 19, 1984. [IBM 1984] Good Security Practices for Personal Computers, IBM Data Security Support Programs, First Edition, Mar. 1984. IFIP, Proceedings of Fifth International Conference and Exhibition on Computer Security, Gold Coast, Queensland, Australia, May 1988. INFOMac Digest распространяются по электронной почте по всей Северной Америке. Jorgensen В. Xmas Card Gives IBM a Computer Holiday в колонке Quidnunc Globe & Mail, Report on Business section, Dec. 1987. Описание захвата внутри фирменной сети IBM PROFS вследствие размножения "Рождественской открытки" в громадных масштабах. Видимо, многие сочли картинку очень привлекательной и "заполонили" все доступные ресурсы системы электронной почты так, что система не работала в течение почти трех дней. Kehoe L. Concern Rises Over the Recent Spread of Software Viruses, Financial Post, June 6, 1988, p. 47. Довольно разумное обсуждение недавних событий. Включает некоторые рекомендации как избежать трудностей. Kratz M. P. J. The Creator and the Benefits of Creation: Protection of Software in the Information Revolution, Dalhousie Law Journal, 555, 1985, pp. 570-571. Это одно из первых тревожных сообщений о том, что разработчики ПО могут заниматься распространением зараженных программ с целью защиты их от копирования. Мы не можем с уверенностью утверждать, что именно эта статья побудила их не заниматься столь неэтичной деятельностью, но достоверно известно, что поставщики прекратили {или юристы отсоветовали им) распространять инфицированные программы вскоре после выхода статьи в свет. [Kratz 1986 #1] Kratz M. P. J. Computer Abuse by Children, Resource News, Legal Resource Centre, Faculty of Extension, University of Alberta, Apr. 1986, p. 18. Популярное изложение, рассчитанное на массового читателя. [Kratz 1986 #2] Kratz M. P. J. Computer Crime, Resource News, Legal Resource Centre, Faculty of Extension, University of Alberta, Apr. 1986, p. 9. Популярное изложение, рассчитанное на массового читателя. Krauss L. I. and McGahan A. Computer Fraud and Countermeasures, Prentice-Hall, Englewood Cliffs, NJ., 1979.
Литература 167 Эта ставшая классической книга содержит много полезных сведений для специалистов в области защиты информационных систем. Эти сведения остаются актуальными и спустя более чем десять лет после выхода книги, особенно разделы, посвященные мотивам и административному контролю. Landreth В. with Rheingold H. Out of the Inner Circle: A Hacker's guide to Computer Security, Microsoft Press, Bellevue, Washington, 1987 (распространяется фирмой Simon & Schuster). Подход с точки зрения хэкера или нарушителя; некоторые подробности довольно-таки устрашающие. Lobel J. Foiling the System Breakers: Computer Security and Access Control, McGraw-Hill, 1986. Одна из лучших книг. В отдельных главах просматривается тенденция к некоторому смягчению ситуации. Madsen С. W. The World Meganetwork and Terrorism, Proceedings of the IFIP Conference and Exhibition on Computer Security, May 1988. Описывается рост совместимости компьютеров во всемирных сетях. Рассматриваются уязвимые элементы инфраструктуры и компонентов поддержки, такие как источники питания, узлы коммуникации, а также узявимостъ информации. McCain M. Electronic Terrorists Prey on Computer Users Who Link Up with "Bulletin Boards" by Phone, Globe & Mail, Report on Business, May 26, 1987, p. B15. Описание некоторых методов и действий, представляющих опасность для тех, кто использует ПО BBS. Mersich D. Too Smart by Half, Canadian Datasystems, Sept. 1986, p. 24. Описание проблем, с которыми сталкивается поставщик, если он использует потенциально опасные для покупателей методы защиты от копирования (червей), и вытекающей из этого ответственности. Miller J. E. Characteristics of the Computer Environment That Provide Opportunities For Crime, Computer Security, IFIP, 1984. Murfy J. A Threat from Malicious Software, Time, Nov. 4, 1985. [NASA 1987] West German Hackers Break into NASA System, Globe & Mail, Sept. 16, 1987, pp. Iff. Сообщение о группе хэкеров, сумевших проникнуть в компьютерную сеть NASA. [Newspaper Virus 1988] Disk "Virus" Infests Newspaper, Edmonton Journal, May 17, 1988, p. C3. Описание вируса в BBS газеты Providence Journal. Вирус мог инфицировать программу CHKDSK и распространяться при попытках пользователей обнаружить наличие поврежденных файлов. Соглас-
168 Компьютерный вирус: проблемы и прогноз но статье, механизм активизации вируса неизвестен, первоначальный источник - тоже. O'Connor R. Apple's Rx: Virus Fix, New Systems, Macintosh Today, May 2, 1988, pp. 1,7. Отчет о работе фирмы Apple над проблемой вирусов. (Возможно, интерес к вирусам сильно возрос в связи с появлением MacMag.) Parker D. В. Crime by Computer, Charles Scribner's Sons, New York, 1976. Parker D. B. Ethical Conflicts in Computer Science and Technology, AFIPS Press, Arlington, Va. Parker D. B. Fighting Computer Crime, Charles Scribner's Sons, New York, 1983. [Peace Virus 1988] Montreal Spread Virus, Globe & Mail, Mar. 17, 1988, p. B19. Одно из первых сообщений о преднамеренном распространении (безвредного) вируса MacMag одним издателем. Появление вируса освещалось также в интервью, переданном в программе СВС Morningside 15 апреля 1988 г. В интервью отмечалось, что метод распространения заключался просто в том, что компьютер был оставлен на два дня в магазине. 2 марта 1988 г. около 350 000 человек увидели на экранах дисплеев "послание мира". Говорилось, что вирус появлялся и в программах фирмы Aldus - первый в истории факт заражения фирменного программного обеспечения. [PLO 1988] Saboteur Uses "Virus" to Kill Computer Files in Israel, Edmonton Journal, Jan. 8,1988, p. A9. Сообщение о появлении вируса в программах в Еврейском университете в Иерусалиме. Вирус также известен под названием "вирус ООП". Podell H. J. and Abrams M. D. A Computer Security Glossary for the Advanced Practitioner, Computer Security Journal, IV, No. 1, 1987. Этот глоссарий может показаться чересчур специализированным. Предпочтение отдается терминологии, принятой в правительственных учреждениях США. Pozzo М. М. and Gray Т. Е. Computer Virus Containment in Untrusted Computing Environments, Information Security: The Challenge, Preprints of papers from the fourth IFIP Security of Information Systems Conference, Monte-Carlo, Dec. 1986. Работа, рассчитанная на специалистов. В ней обсуждаются вопросы использования кодирования и других методов ограничения распространения вирусов в различных вычислительных комплексах. [RCMP #1] Security in the EDP Environment, RCMP Security Information Publications, No. 1, 2nd ed., Oct. 1981.
Литература 169 [RCMP #2] EDP Threat Assessments: Concepts and Planning Guide, RCMP Security Information Publications, No. 2, Jan. 1982. [RCMP #3] Target Hardening, RCMP Security Information Publications, No. 3, Sept. 1983. Этот выпуск серии RCMP посвящен в основном физическим методам обеспечения безопасности - как не допустить злоумышленников на территорию. Предлагаются неплохие идеи построения ступенчатой защиты с использованием различных методов проверки на разных этапах и т.п. Практически ничего не сказано о програм- мных методах. [RCMP 1987] Small Computer Systems Security and Small Systems Questionnaire, EDP Security Bulletin, Royal Canadian Mounted Police "T" Directorate, 12, No. 1, Jul. 1987, pp. 4-7. Распространение вопросника не ограничено авторскими правами. Он выпускается на английском и французском языках. [Rubenking 1988 #1] Rubenking N. J. Antivirus Programs Fight Data Loss, PC Magazine, June 28, 1988, p. 36. Краткий обзор антивирусных программ. Приводятся оценка их эффективности и контактные адреса или телефоны. [Rubenking 1988 #2] Rubenking N. J. How Vaccine Programs Work, PC Magazine, June 28, 1988, p. 35. Небольшая врезка с описанием основных направлений исследований по предупреждению вирусной инфекции. Safeware Insurance Company Theft, Power Surges Aer Major Causes of PC Losses report by Safeware Insurance Company of 1987 survey. Доказывается, что скачки напряжения (часто передаваемые через модемы) и воровство - главные причины потерь. Приводится оценка ущерба в долларах за 1987 г. См. также исследование за 1986 г. Serviss Sh. Computers and the Law, Resource News, 10, No. 8, Apr. 1986. Seymour J. and Matzkin J. Confronting the Growing Threat of Haimful Computer Software Viruses, PC Magazine, June 28, 1988, p. 33. В статье описывается, что такое вирус, принципы работы, основные пути передачи. Упоминаются широко известные случаи зара- ЛСсНиЯ . Shapiro N. L. Viral Infection, MacUser Magazine, 4, No. 5, May 1988, p. 23. Sheehy Th. Twelve States Add Computer Crime Law During 1984, Data Management Magazine, Legislative Report, Oct. 1984. Sookman B. Electronic Information: The Liability of Providers, Computing Canada, Sept. 17, 1987, pp. 12, 26.
170 Компьютерный вирус: проблемы и прогноз Обсуждение ответственности руководителей за аккуратность и достоверность информации в базах данных. Stieren С. Devilishly Clever Viruses May Be Lurking to Devour Computer Data, Globe & Mail, Mar. 7, 1988, p. C15. Краткое описание деятельности вирусов и способов внедрения в си- стему и полезные советы для неспециалистов, как избежать заражения. Thornton M. "Hackers" Ignore Consequences of Their High-Tech Joy Rides, The Washington Post, May 2, 1984. [Time 1985] A Threat from Malicious Software, Time, Nov. 4, 1985. [Time Life 1986] Computer Security, Time Life Books, Alexandria, Virginia, 1986. Очень доступное изложение вопросов защиты компьютеров. Не требуется глубоко знания деталей. Рекомендуем в качестве введения. [Virus 1988] "Virus" Leads to Indictment, Globe & Mail, May 31, 1988, p. B23. Уволенный с работы в г. Фортворт сотрудник, ответственный за защиту данных, использует знание системы и паролей для удаления 160 000 файлов из компьютера своего бывшего начальника. Внедрение в систему таким способом (возможно, с использованием отмычки), удаление файлов и журналов работы могут быть произведены и без применения вируса. Wyles J. Companies Blamed for Scope of Italy's Computer Piracy, Financial Post, June 6, 1988, p. 46. В статье утверждается, что в Италии пиратство приобрело масштабы эпидемии и серьезно вредит местной компьютерной индустрии. Предполагается, что больше всего вреда приносит организованное пиратство компаний, а не индивидуальных правонарушителей.
ЛИТЕРАТУРА, ДОБАВЛЕННАЯ ПРИ ПЕРЕВОДЕ Безруков Н. Н. Компьютерная вирусология. Часть 1: Общие принципы функционирования, классификация и каталог наиболее распространенных вирусов в операционной системе MS-DOS / Редакция 2.5 от 14.01.1990. 122 с. Книга распространяется на дискетах и представляет всеобъемлющий обзор вирусов и методов их деятельности, Н. Н. Безруков является одним из ведущих отечественных специалистов по компьютерным вирусам. Кадлоф А. Вирусы, Компьютер, 1, 1990, с. 44-47. История компьютерных вирусов от Джона фон Неймана до наших дней. Карасик И. Ш. К вопросу о компьютерных вирусах, Мир ПК, 3, 1989. с. 127-131. Карасик И. Ш. Анатомия и физиология вирусов, Интеркомпьютер, 1, 1991, с. 39-47. Касперский Е. "Дыры" в MS-DOS и программы защиты информации, КомпьютерПресс, 10, 1991. с. 6-14. Системы разграничения доступа и их уязвимые места. Статья рассчитана на специалистов, детально знающих структуру MS- DOS. Козырев А. Н. Интеллектуальная собственность и творчество в программировании, Журнал Доктора Добба, 1, 1991, с. 13-19. В статье подробно описывается сложившаяся на сегодняшний день ситуация в области разработки программного обеспечения и охраны авторских прав на программы. Отсутствие или недостаточность юридической защиты интересов разработчиков - причина распространения компьютерного пиратства и вирусов. Моисеенков И. Основы безопасности компьютерных систем, КомпьютерПресс, 10-12, 1991. Обзор современной литературы, посвященной компьютерным вирусам и защите информации. Автор ссылается и на данную книгу. Родин Г. Некоторые соображения о защите программ, КомпьютерПресс, 10, 1991, с. 15-18.
172 Компьютерный вирус: проблемы и прогноз Кратко описываются методы нелегального повышения приоритета для программ, ориентированных на процессор 80286, и способы взлома защиты программ от копирования. Селль М. Антивирусные программы, Компьютеру 2, 1990, с. 48-50. Описываются программы DPROTECT, HDSENTRY, BOMBSQUAD, TRAPDISK, VIRBLOCK, ANTI4US2 и FLUSHOT. Фигурнов В. Защита от вирусов, Компьютер, 1, 1991, с. 22-23. Автор известен советскому читателю по книге "IBM PC для пользователя". Эта короткая заметка рассчитана на неподготовленного читателя. В ней описываются различные методы защиты от компьютерных вирусов. Чапкевич Г. Как сделать "отмычку", Компьютер, 1, 1991, с. 31-34. Рассматриваются примеры "взлома" игровых программ на компьютерах ZX Spectrum.
СОДЕРЖАНИЕ ОТ РЕДАКТОРА ПЕРЕВОДА И ПЕРЕВОДЧИКА 5 ПРЕДИСЛОВИЕ 7 Глава 1. ВВЕДЕНИЕ 11 Как пользоваться книгой 12 Степень риска 12 В чем суть проблемы? 13 Что такое компьютерный вирус? 16 Как распространяются вирусы? 16 Распространение вирусов при объединении компьютеров 19 Вирусы и IBM-совместимые компьютеры 20 Мир "Макинтошей" 20 Микрокомпьютеры с другими операционными системами 21 Распространение вирусов через глобальные и локальные сети 21 Вирусы и миникомпьютеры 21 Вирусы и большие ЭВМ 22 Вирусы и распределенные системы 23 Распространение вирусов через пиратские копии 23 Так как лее быть с вирусами? 24 Как избежать заражения? 24 Как избавиться от вируса? 25 Исправление повреждений 25 Что могут сделать разработчики программного обеспечения 26 Глава 2. МАСШТАБЫ РАСПРОСТРАНЕНИЯ КОМПЬЮТЕРНЫХ ВИРУСОВ 28 Коммуникации, связь компьютеров и распространение вирусов 29 "Рожденственская открытка" IBM и вирус MacMag 30 Насколько быстро распространяются вирусы? 32 Почему мы называем их вирусами? 33 Маскировка и размножение 34 Распространение 34 Нанесение вреда 35 Некоторые нашумевшие вирусы 37 Обезьяна на шее 37 Крабы 37 SCORES 38 Вирус MacMag 40 Вирус ООП 41 BRAIN 41 SEX.EXE 42 nVIR 42 HyperCard 43 Новые системы - новые вирусы 44
174 Компьютерный вирус: проблемы и прогноз Чем больше возможностей, тем больше риска 44 MS-DOS и PC-DOS 44 OS/2 45 "Макинтош" 46 Вирусы и большие ЭВМ 47 Вирусы и разделение времени 47 Троянские кони, салями и прочие компьютерные штучки 49 Что же дальше? 52 Глава 3. ЧТО ИМЕННО МОЖЕТ СДЕЛАТЬ ВИРУС? 54 Глава 4. КАК ВЕЛИКА ОПАСНОСТЬ? 57 Пиратские копии 57 BBS и другие средства связи 57 Электронная почта 60 Случаи саботажа 60 Терроризм 61 Промышленный шпионаж 61 Финансовые системы 62 Шпионаж и национальная безопасность 63 Глава 5. ТОЛЬКО ДЛЯ СПЕЦИАЛИСТОВ: ТАК ЧТО ЖЕ ТАКОЕ ВИРУС НА САМОМ ДЕЛЕ? 64 Анатомия вируса 64 Поражаемые цели 68 DOS 68 Укромные места 68 Уязвимые зоны 71 Компьютеры "Макинтош" 76 INIT 77 Драйверы устройств 80 Информационные системы 81 Подверженность риску 81 Бесплатное и копируемое программное обеспечение 82 Пиратские копии 82 Обновленные версии программ, распространяемые через сеть 83 Коммуникационные каналы 83 Как создавать вакцины и лекарства 83 Глава в. ХЭКЕРЫ, ПИРАТСТВО, ВИРУСЫ И ВАШИ ДЕНЬГИ 86 Хэкеры 86 Пиратство: с некоторой помощью моих друзей 87 TANSTAAFL, или почему этот пакет стоит $1000? 88 Глава 7. КАК НАМ УБЕРЕЧЬСЯ ОТ ВИРУСОВ: "БЕЗОПАСНЫЙ ГЕКС" 95 Что следует и чего не следует делать 95 Вакцины 99 Еще раз о резервных копиях 100 Перспективы 101
Содержание 175 Глава 8. ТАК ЭТО ВИРУС ИЛИ НЕТ? 103 Диагностика в процессе работы 103 Вирусы в резервных копиях или файлах данных 108 Вирусы в программах 108 От вирусов не застрахован никто 109 Глава 9. Я ПОДЦЕПИЛ ВИРУС - ЧТО МНЕ ТЕПЕРЬ ДЕЛАТЬ? 110 Как избавиться от вируса? 110 Замена системы 110 Обнаружение вирусов типа BRAIN 111 Работа со специальными утилитами 112 Использование резервных копий 113 Глава 10. ЮРИДИЧЕСКИЕ СРЕДСТВА 114 Технические средства 115 Юридические средства 116 Почему мы бездействуем? 117 ''Юридические вакцины" 120 Принятие законов 120 Уголовная ответственность 121 Незаконное использование компьютера 122 Злоупотребление по отношению к данным 122 Гражданская ответственность 123 Умышленное вмешательство в законное использование программ 123 Преступная небрежность 124 Строгая ответственность 125 Что нам следует делать? 126 Выводы 127 Глава 11. ОТВЕТСТВЕННОСТЬ 128 Сущность явления 128 С точки зрения жертвы 129 Мораль 131 Профессионализм 132 Моральная дилемма 132 Глава 12. ЧТО ЖЕ ДАЛЬШЕ? 134 Грядущие проблемы 134 Решения будущего 135 Разработчики и поставщики программного обеспечения 135 Совместимость 139 Приложение: Программное обеспечение, полезное при борьбе с вирусами 140 MS-DOS и PC-DOS 141 Компьютеры "Макинтош" 146 Антивирусные средства для IBM-совместимых компьютеров, добавленные при переводе 152 Глоссарий 153 Литература 163 Литература, добавленная при переводе 171
Научное издание Филип Фай тс, Питер Джонстон, Мартин Кратц Компьютерный вирус: проблемы и прогноз Заведующий редакцией акад. В. И. Арнольд Зам. зав. редакцией А. С. Попов Ведущий редактор М. В. Хатунцева Художник В. А. Медников Художественный редактор В. И. Шаповалов Технический редактор И. И. Володина Корректор М. Е. Савина ИБ N 7859 Л. Р. N 010174 от 22.01.92 г. Подписано к печати 22.11.93. Формат 70 X 100/16. Бумага офсетная. . Печать офсетная. Объем 5,50 бум. л. Усл. печ. л. 14,30. Усл. кр.-отт. 14,63. Уч.-изд.л. 12,02. Изд. N 1/8159. Тираж 25 000 экз. Зак. 954 . С008 Фотоофсет. Издательство «Мир» Министерства печати и информации Российской Федерации 129820, Москва, 1-й Рижский пер., 2. Можайский полиграфкомбинат Министерства печати и информации Российской Федерации 143200, Можайск, ул. Мира, 93
КОМПЬЮТЕРНЫЙ ВИРУС: ПРОБЛЕМЫ И ПРОГНОЗ Ф.Файтс П.Джонстон М. Кратц Издательство «Мир»
КОМПЬЮТЕРНЫЙ ВИРУС: ПРОБЛЕМЫ И ПРОГНОЗ Книга обобщает имеющийся опыт по защите информации от зараженности, приведен обзор антивирусных программных продуктов и даны практические рекомендации для пользователей по профилактике загрязнения программным вирусом. г г