ZF

                Замечания относительно вирусной паранойи
                        Dr. Nikolai Bezroukov

*****(Перевод: Constantin E. Climentieff aka DrMad, 1998)*************

                                       Надо, вероятно,          честно
                                       рассматривать     существование
                                       антивирусной промышленности как
                                       прямое  доказательство  высоких
                                       издержек     любых     решений,
                                       основанных     на     продуктах
                                       Microsoft.     Взамен     нужно
                                       рассматривать Linux или  другой
                                       Unix.

     Это - краткий  обзор  явления  вирусофобии.  Автор  считает,  что
высокая  стоимость  антивирусной  защиты  - это в значительной степени
следствие монопольного использования платформы  Microsoft,  и  с  этой
точки зрения Unix является более предпочтительной платформой, и должна
рассматриваться как альтернативное решение,  когда важна безопасность.
Хроническое  пренебрежение проблемами со стороны Microsoft увеличивает
жизнеспособность Linux и  других  клонов  типа  FreeBSD  и,  особенно,
Solaris,  как  альтернативной  рабочей  системы.  В  то же самое время
некоторые  инструментальные  средства,   потенциально   полезные   для
увеличения   уровня   защиты  платформы  Microsoft  -  по  определению
бесполезны и даже вредны.  Например - случай с Microsoft  Authenticode
(кодом аутентификации,  предложенным Microsoft).  Автор также считает,
что мощное давление со стороны пользователей,  включая  прямые  угрозы
судебных  разбирательств,  могут несколько улучшить нынешнюю ситуацию,
так как пока Microsoft игнорирует проблемы.
     Другое решение    основывается    на    том,   что   антивирусная
промышленность - это промышленность,  управляемая слухами и мифами,  и
здоровой  тенденцией  являются  попытки  ряда  крупных  компаний (NA и
Symantec) интегрировать антивирусные средства в  большие  (и  в  более
полезные) комплекты инструментальных средств, которые имеют приемлемые
цены.

                   Краткий обзор вирусных опасений

     Как очень хорошо знают все вирусологи,  а множество пользователей
по  крайней  мере  подозревают,  вирусная  паранойя  и  проповедование
вирусного Армагеддона - маркетинговый  прием,  которым  злоупотребляют
все продавцы антивирусов.  Проблема в том, что часто лечение хуже, чем
болезнь.  В некоторых случаях  антивирусы  могут  представлять  угрозу
стабильности  PC  и  способствовать  сбоям,  повышая  общую  стоимость
монопольного использования платформы Microsoft. Например, компьютерная
пресса склонна преувеличивать пользу антивирусной защиты,  не упоминая
о том,  что стоимость ее составляет слишком  большую  часть  от  общей
стоимости пользовательского рабочего места.
     Кроме того,  вирусы могут использоваться как  козел  отпущения  -
фраза  "это  должно быть вирус " является стандартом в арсенале многих
корпоративных профессионалов,  когда они не понимают,  что  делать  (и
многие  из  их  действительно  не понимают,  что делать слишком часто,
поскольку платформа Microsoft намного больше сложная вещь, чем то, что
доступно мозгам сисадминов J.  Вирусы часто используются как синоним
для понятия "неизвестная проблема в PC или сети, трудная для решения",
или  как синоним для понятия "проблема,  изначально присущая продуктам
от Microsoft".  Повинуясь древнему человеческому  свойству  ненавидеть
злых богов,  многие пользователи объясняют "очень плохим вирусом" сбои
Microsoft Windows и свои собственные грубые ошибки.
     Это параноидальное   отношение   и  постоянная  угроза  вирусного
нападения подогреваются  потоком  публикаций  в  компьютерной  прессе.
Возникла   даже  разновидность  электронной  почты  -  вирусные  шутки
(Hoaxes), ориентированные тем пользователям, которые "должны знать всю
правду".
     Уровень мифов от продавцов антивирусов действительно  удивителен.
Хотя  издатели  программного  обеспечения всегда использовали мифы как
наиболее  мощное   маркетинговое   оружие,   нынешняя   дезинформация,
вероятно,  одна  из наиболее успешных в истории промышленности,  и она
должна изучиться в учебниках по техническому маркетингу.
     Symantec, McAfee      и     позорная     Национальная     (теперь
Интернациональная J Ассоциация  Защиты  (частная  компания,  которая
началась  как лоббирующая организация от продавцов антивирусов и затем
успешно превратилась в  средство  защиты,  а  в  конечном  счете  была
куплена  Gardner  Group)  являются  пропагандистами  "гибели и мрака",
причем такими пропагандистами,  что работники газеты  Правда  (ведущей
коммунистической  газеты  в СССР) с их постоянной темой "империализм -
угроза коммунизму и  миру",  могут  только  завидовать  (я  знаю,  что
программистов из вышеупомянутого СССР нанимают,  но я сомневаюсь,  что
нанимают вышеупомянутых журналистов Правды для  работы  в  маркетинге,
т.к.,   вероятно,   доморощенные   американские  гуру  лучше  на  этом
специфическом поле деятельности J. В материалах, которые можно найти
на  сайтах  продавцов  антивирусов,  издержки  от  вирусных  нападений
исчисляются в миллиардах  долларов.  Стоимость  ликвидации  одиночного
вирусного  нападения  оценивается в сотнях тысяч.  Это делает проблему
вирусов очень похожей по размаху на Проблему-2000.

                     Microsoft - внутренний враг

     Основной вопрос,  на который  надо  ответить:  до  какой  степени
вирусная  угроза  -  результат  архитектурных  дефектов  Microsoft,  -
дефектов, продиктованных их культурой мирового компьютерного гегемона.
Рассмотрим несколько дефектов:
     * неправильная   реализация   атрибута   readonly    (ничем    не
отличающегося от любых других атрибутов);
     * глючная реализация загрузчика программ (не проверяет CRC,  хотя
поле существовало);
     * дружественная  к  вирусам  реализация  IPL  в  базовой  системе
ввода-вывода;
     * отсутствие сжатия или шифрации для исполняемых программ,  чтобы
сделать  вмешательство  более  трудным  и  требующим  временных затрат
(несмотря на факт,  что lzexe,  diet и PKlite от других производителей
существуют больше десятилетияJ
     * систематическое  игнорирование  защиты данных в реализациях OLE
(довольно хороший пример - документы MS Office).
     Я искренне полагаю,  что 80%  вирусных  проблем  возникает  из-за
серьезных  архитектурных дефектов в Microsoft OS (или давайте называть
их  более  вежливо  -  "технические  компромиссы"),  оставленных  ради
обратной совместимости и сохранения целостности рынка. Мое мнение, что
любой Unix гораздо лучше  любой  операционной  системы  от  Microsoft.
Конечно,  UNIX имеет свои собственные проблемы защиты, но что касается
антивирусной защиты,  то она на голову выше,  чем в  Microsoft.  Unix,
вероятно,  должна  использоваться  как рабочее средство,  когда защита
действительно важна,  или когда деньги важны,  т.к.  высокая стоимость
антивирусной защиты действительно существенна и должна рассматриваться
как дефект платформы Microsoft.  Для большой организации с несколькими
тысячами пользователи PC cтоимость антивирусной защиты обычно выше 100
k  в  год  (по  крайней  мере  один   человек   +   некоторые   равные
капиталовложения в антивирусное программное обеспечение).
     Ситуация на платформе Microsoft часто близка  к  абсурдной.  Даже
пользователи,  которые  никогда  не были инфицированы никаким вирусом,
религиозно обновляют ежемесячные  базы  McAfee  или  другого  сканера,
чтобы  бороться  с  (несуществующими  или  неживучими  в данной среде)
вирусами.  Например, большинство пользователей не понимает, что Office
97 сам по себе иммуннен к старым макровирусам,  а новые макровирусы не
достойны  большого  внимания  вследствие  существования   (далеко   не
совершенных, но исключительно полезных) эвристических сканеров.
     Я не хотел бы заходить далеко  и  утверждать,  что  все  вирусные
сканеры по существу бесполезны.  Это не так,  даже если мы (правильно)
принимаем,  что некоторые вирусы могут быть необнаружимыми со  стороны
самых  лучших и новых антивирусов. Я хотел бы подчеркнуть, что сканеры
-  не  единственое  решение  (они  должны  быть  дополнены  средствами
проверки   целостности  данных,  если  мы  нуждаемся  действительно  в
приличном уровне защиты),  и они часто производят  большое  количество
проблем  из-за  ошибок  и сложного взаимодействия с другим программным
обеспечением.  Также сканеры часто устаревает, и  это также составляет
множество проблем.
     Где именно Вы должны разместить антивирусы?  На рабочей  станции,
на сервере или на прокси?
     Лозунг антивирусной  промышленности - "никакая цена не может быть
слишком высока для антивирусной защиты",   и они хотели бы впарить Вам
все  три  варианта решения.  Но если последние два из них полностью не
нужны?  Зачем переплачивать жуликам,  которые спекулируют на страхе  и
очень  примитивном  уровне  понимания проблемы компьютерных вирусов со
стороны сисадминов?
     Вероятно, эвристический анализатор для макровирусов или  средство
проверки   целостности   макрокоманд  (довольно  ограниченная  попытка
сделать такой инструмент доступна от Data  Fellows  под  именем  Macro
Virus  Control,  но  только  для  NT  и только для MS Word) могут быть
полены для пользователя.  Но на сервере или на прокси такое средство -
только  трата  денег  и источник проблем.  Кстати,  я никогда не видел
никаких  нападений  вирусов  на  рабочие  станции   Netware,   которые
правильно   конфигурированны.   Если  сервер  системы  Netware  служит
источником вирусов, то он просто неправильно сконфигурирован (наиболее
частый  пример - то,  что login.exe доступен для записи пользователю и
инфицирован).
     Даже ситуация  со сканером,  расположенным на клиентской станции,
намного  больше  сложна,  чем  она  должна   быть.   Давайте   обсудим
макровирусы, основанные на MS VBA, - вероятно единственый тип вирусов,
который является на текущий момент релевантным к среде.  Для  простоты
давайте примем,  что мы работаем в среде MS Word (VBA доступен также и
в Exel,  и в других программах,  так что угроза весьма  обширна).  Для
случая  MS Word Вы действительно нуждаетесь только в знании, находится
ли документ в родном для MS формате,  и если да,  то  присутствуют  ли
макрокоманды. Затем Вы нуждаетесь в средстве проверки целостности этих
макрокоманд.  Это  все.  И   это   должно   быть   свободной   опцией,
предоставляемой  грабителями из MS бесплатно.  Но вот что эти засранцы
предоставляют  наивным  пользователям.  Экран,   который   рекламирует
антивирусы,  и  не  содержит  почти  никакой полезной информации.  Как
альтернативное (но,  однако, полезное) решение, можно использовать RTF
взамен врожденного формата MS Word всякий раз, когда это возможно. Это
их личные  проблемы,  но  по  крайней  мере  проверить,  находится  ли
документ в формате RTF, можно очень просто и крайне быстро.
     Кстати, хотя бойкот обычно -  плохая  идея,  здесь  это  вероятно
может  помочь,  -  если  несколько крупных корпораций скажут Microsoft
Offic-у "goodbye" по какой-нибудь причине.  Поверьте мне, следующий же
сервисный  пакет  для MS Office включил бы достойное решение проблемы.
И,  IMHO,  крупные  корпорации  и  Правительство  часто  действительно
грабятся продавцами антивирусов - я только забыл,  сколько Департамент
Национальной Безопасности США заплатил McAfee за антивирусное  решение
(15  миллионов  долларов  ???).  Здесь  видно  неуважение Microsoft-ом
пользователей   и отказ  беспокоиться  относительно  этой  "маленькой"
проблемы.
     Пару лет назад загрузочные вирусы были проблемой. Обычно это были
примитивные вирусы типа Form.  И снова самая лучшая защита состояла не
в  том,  чтобы устанавливать коммерческую антивирусную программу,  а в
изменении BIOS,  чтобы она  проверяла  целостность  сектора  начальной
загрузки  и блокировала бы загрузку с дискет,  не защищенных от записи
(это очень просто сделать для  Flash-BIOS).  Эта  простая  мера  может
предохранить  от  90%  нападений загрузочных вирусов.  IMHO,  миллионы
долларов,  которые тратятся на защиту от загрузочных  вирусов,  обычно
тратятся  впустую,  и  это должно рассматриваться как дополнительный и
существенный компонент стоимости монопольного использования  платформы
Microsoft.  Их довольно опасный патч, защищающий от вирусов "на лету",
обычно  негативно  влияет  не  только  на  эффективность,  но   и   на
стабильность системы.
     Даже в случае с файловыми вирусами ситуация со  сканерами  далеко
не  проста.  В  то  время  как  сканеры полезны для борьбы с файловыми
вирусами (вероятно,  единственным типом вирусов,  для которых  сканеры
являются  действительно полезными) и для нахождения троянских программ
(BackOrifice и т.п.),  они почти  всегда  являются  устаревшими  и  во
многих   случаях  обновляются  "post  factum".  Стоимость  поддержания
сканера в актуальном сотоянии  для  больших  организаций  существенна.
Короткие промежутки между обновлениями, конечно, стоят денег, и иногда
- больших денег.  Популярность сканеров  может,  IMHO,  частично  быть
объяснена   существованием   "богатеев,   не   особенно   знакомых   с
компьютерами",  и миллионы долларов,  которые я плачу за  это,  должны
рассматриваться  как  стоимость операционных систем от MS.  IMHO,  это
добавляет к стоимости Windows ($200 в многих странах плюс примерно $80
за  апдейт)  по крайней мере еще сотню долларов - что делает стоимость
этой операционной системы близкой к $300,  а быстродействие - на 10% -
20% медленнее.
     Кроме того  сканеры  избыточны,  они обычно просматривают большой
процент выполнимых программ - и многие неисполнимые  файлы  (например,
файлы  с  расширением  RTF  -  они  по  воле Microsoft могут содержать
обычные документы MS Word с  Вирусными  макрокомандами  J.  Реальная
проблема  здесь - низкое качество дизайна Microsoft-овских загрузчиков
программ,  т.е.  полное  отсутствие  проверки  целостности  исполнимых
программ  платформы  Microsoft.  Программистам  Microsoft  было лениво
проверять  целостность   исполнимой   программы,   которую   загрузчик
загружает с диска (хотя,  AFAIK,  EXE-заголовок содержал поле для CRC,
вероятно, еще в DOS 3.1 или даже ранее, - я не помню, когда формат Exe
появился  в  DOS,  -  и  с тех пор счастливо игнорировался загрузчиком
Microsoft).  И в системах без какой-либо защиты  намного  более  важно
проверять это,  чем в более архитектурно приличных системах типа Unix.
Вторая возможность заключается в улучшении  атрибута  защиты  (атрибут
readonly  может  быть выключен в DOS и Windows без разрешения,  просто
используя системный вызов).  Как минимум,  для программ, которые имеют
атрибуты sys и readonly,  необходимо снятие атрибута только по паролю.
Это сделало бы нападения на COMMAND.COM намного более трудными.

     Выбирая сканер, нужно понять, что самый лучший путь - получать их
как часть пакета каких-нибудь полезных утилит.  Ключ понимания здесь в
том,  что сканер по существу - заплата для некачественных операционных
систем Microsoft, и потому не должен стоить много.
     Например, Norton   Utilities   3.0   для  Windows  (NU)  включают
облегченную версию сканера.  IMHO,  NU 3.0 - намного лучшая вещь,  чем
автономная   антивирусная   программа,  даже  если  имеется  некоторое
предубеждение  перед  качеством  ситемы  сканирования  Symantec   (она
слабовата,   если  Вы  сравниваете  ее  с  AVP  или  DrSolomon,  но  с
приобретением Symantec-ом IBM-овского антивирусного подразделения  эта
ситуация вероятно может быть улучшена). Основная идея здесь в том, что
Norton Utilities обеспечивают множество  дополнительной  информации  и
средств,   которые   упрощают   обнаружение  и  удаление  вирусов  как
стандартное средство на Windows desktop.  Хотя LiveUpdate не  работает
под  firewall,  но она все еще полезна и может служить как базис общей
основанной на WWW распределенной корпоративной системы.
     Сейчас Network  Associates  начали  продавать  подобный  комплект
инструментальных средств за ~$40 (см. Www.nai.com). Можно купить и то,
и другое,  и решить,  что лучше удовлетворяет Вашим потребностям.
     Но в  любом  случае  я не рекомендую покупать только антивирусное
решение  --  отношение  цена/производительность  намного   лучше   для
комплектов инструментальных средств.
     Но позиция Microsoft по этому поводу чиста  и  проста  -  что  за
дела?  Не  имея  возможности  выбирать  операционную  систему  для PC,
пользователь заплатит деньги в любом случае,  и это  -  неплохая  идея
создать  новую  многомиллионную  промышленность на собственных ошибках
J. На текущий момент это не важно для Microsoft. В то же самое время
Microsoft уже имеет совершенную методику, чтобы уменьшить эту проблему
по крайней мере для  собственного  программного  обеспечения  (которое
является  доминирующим  в  корпоративной  среде)  - пометка исполнимых
программ наподобие компонентов Active-X была бы превосходным  решением
для   проблемы.   Но   пока   Microsoft  предпочитает  быть  пассивным
наблюдателем.
     И последнее    наблюдение.    Любая   антивирусная   система   не
функционирует в вакууме.  Как и в любой работе, квалификация персонала
имеет  первостепенную  важность.  Если  персонал "с улицы" или занят в
"торфяных войнах",  то независимо от того,  насколько дорога защита, -
она   не  сильно  поможет.  То  же  самое  касается  консультантов  по
компьютерной защите. Недопустимы подмены при экспертизе в компьютерной
защите.  Часто  она выполняется не специалистами,  и вероятность,  что
организация  падет  жертвой  таких  "профессионалов"  при   отсутствии
сильного собственного персонала, очень высока.

                       Зачем нужна пометка кода

     При всех своих дефектах платформа Microsoft все еще популярна,  и
надо  искать  приемлемое решение,  которое является менее радикальным,
чем прямой бойкот.  Мое предложение - использовать Java и ActiveX  для
решения  проблемы.  Это  действительно  выглядит очень многообещающим.
Пометка кода представляется решением. Имеется несколько жизнеспособных
Реализаций:
     * Microsoft  Authenticode  -  система,  разработанная  Microsoft,
которая  поможет  пометить  все  виды  выполнимого кода.  Authenticode
публично объявлена в июне 1996 как часть  Microsoft  IE  3.0  rollout,
которая   включает   ActiveX-компоненты.  Authenticode  описывает  ряд
форматов файлов для пометки Microsoft EXE-32 бита,  DLL, и файлов OCX.
Помеченный  файл  содержит  цифровой  ключ  сертификата  x509  v.3 для
проверки  сигнатуры.  Authenticode  не  может  помечать  com  файлы  и
16-битовые EXE файлы,  но ввиду текущей ситуации, что значение старого
формата  уменьшается,  это  -  не  слишком  важная  проблема.   Формат
архивного файла cab формируется утилитой cabarc.  Процедура подписания
использует  свободно  доступное   средство.   Http://www.microsoft.com
/workshop/prog/security и http://www.microsoft.com/java/security
/secfaq.htm;
     * Формат  JAR  -  формат  архива,  совместно  разработанный Sun и
Netscape - по существу ZIP-файл с цифровыми сигнатурами;
     * Инициатива WWW-Консорциума по Цифровым  Подписям.  W3C  Working
Group  ("DSig")  разработала  стандартный формат для создания цифровой
подписи,  позволяющей аппаратно проверять  утверждения  о  целостности
конкретного информационного ресурса;
     * W3C  Типовая  Библиотека  Кодов  для  DSig  и  PICS - PICS/DSig
Стандартная Библиотека;
     * DSig Фоновые Ресурсы;
     * W3C Securuty Homepage;
     * Живые реализации DSig Riccardo Sabbatini
             + Подпись - http://www.csr.unibo.it/ra/sr.htm
             + Проверка - http://www.csr.unibo.it/ra/v.htm
     В отличие от технологий шифрования не имеется  никакого  внешнего
управления для помеченных программ.

*****(Перевод: Constantin E. Climentieff aka DrMad, 1998)*************


(C) NF, 1998-2004