Архивы: по дате | по разделам | по авторам

Почтовый синдром или Эпидемия состоится при любой погоде

АрхивСетевое окружение (архив)
автор : Александр Захарченко   25.03.2002

Собираются ли производители программного обеспечения, поставив компьютер в каждый дом, брать на себя ответственность за качество?

«Мы спросили себя: "А что если вычислительная техника станет доступна
почти всем ?" Мы верили в то, что компьютеры проникнут в каждый дом -
благодаря дешевизне своей вычислительной мощи и новым грандиозным
программам, способным воспользоваться преимуществами этой техники…
С самого начала мы шли в правильном направлении.»
Билл Гейтс «Дорога в будущее»

«Возможность украсть порождает вора.»
(Фрэнсис Бэкон)

Некомпетентность пользователей создала благодатную среду для хронических трояно-вирусных эпидемий. В каждом интервью экспертов по безопасности содержится фраза: «несмотря на многочисленные предупреждения». Правда IT-специалисты говорят, что эффективность этих предупреждений исчезающе мала. Узкий круг заинтересованных профессионалов активно ищет информацию, чтобы своевременно оградить свои системы от взлома. Еще более рьяно прочесывают Сеть любители напакостить ближнему, но в массе своей пользователи находятся в блаженном неведенье. Мистер Калп (Culp), прославивший Microsoft плачем об информационной анархии, констатирует, что выпускаемые производителями программного обеспечения (ПО) заплаты и обновления, устраняющие ошибки систем безопасности, не применяются годами.

Только погорельцы, высказав весьма затейливые пожелания в адрес авторов злокозненных программ, в меру своих, часто, к сожалению, очень скромных знаний пытаются залатать систему. Устанавливаются сразу все доступные антивирусы. Некоторое время с параноидальной подозрительностью исследуются все объекты, приближающиеся к компьютеру ближе, чем на расстояние до ближайшего хаба. Но вскоре страсти угасают и надоедливые мониторы и сканеры либо не обновляются, либо и вовсе отключаются из-за различных межпрограммных конфликтов. До следующей напасти.

Что поделаешь, Билл Гейтс захотел поставить компьютер на стол любому желающему и добился своего наилучшим образом. Паутина всемирной Сети проникла сегодня в самые неожиданные места: и вот уже «новые антитеррористы» на всякий случай обрывают ее в Сомали. Каждый день за клавиатурой оказываются десятки миллионов человек. Вряд ли уместно ожидать, что все они окажутся столь же квалифицированными, как создатели программного обеспечения. Если на рабочем месте руководитель еще может потребовать от сотрудника какой-то минимум квалификации, то для домашнего компьютера подобных ограничений в принципе не предусмотрено.

Успех персональных компьютеров обусловлен интересом со стороны непрофессионалов, получивших возможность решать сложные задачи без специальной многолетней подготовки. Современное программное обеспечение скрывает технические подробности, предоставляя пользователям интерфейс для конкретной области деятельности (офисные системы, системы автоматизированного проектирования, графические и издательские приложения, базы данных, экспертные системы и т.д., игры, в конце концов). Поэтому просветительско-предупредительные бюллетени, к примеру, от Microsoft (Microsoft Security Bulletin), большинству потребителей просто непонятны. Попробуйте «на пальцах» разъяснить, как это Internet Explorer (IE) 6 можно заставить автоматически запускать исполняемые файлы (MS01-058, MS02-005 — речь идет не о переполнении буфера) или предоставлять «злоумышленнику-оператору сайта» (malicious web site operator) доступ к локальным файлам. Профессионалу-то может и все понятно из нескольких куцых строчек в электронных дадзыбао, но для массового потребителя, на которого опирается пирамида благосостояния Microsoft, сие просто «китайская грамота».

Реальную оценку уязвимости компьютерной системы может выполнить лишь профессионально подготовленный специалист. Но, по-видимому, жизнь в обществе тотальной рекламы сформировала у мистера Калпа устойчивое представление, что массовому потребителю устранять бреши в системе безопасности очень просто. Во всяком случае не сложнее, чем глотать пилюли аспирина при головной боли. Прочитал рекламную листовку и вперед, за здоровьем. Хотя давно известно, что избавление от симптомов не всегда равноценно излечению. К тому же основополагающим фактором употребления лекарства должно быть доверие к врачу. А наш компьютерный Пилюлькин, по совместительству прописывающий произведенное самим снадобье, не только автор болезни, но и вместо лекарства частенько норовит подсунуть отраву в стиле "AS IS".

Вот 1 ноября 2001 г. выходит бюллетень MS01-54, побуждающий пользователей установить патч для устранения угрозы атаки типа отказ от обслуживания (DoS) через сервис Universal Plug and Play (UPnP), в задачи которого входит обнаружение и распознавание сетевых устройств. 9 ноября пользователей Windows Me уведомляют, что применение этой заплаты может нарушить работу IE и перевести систему в нестабильное состояние, а из него и до системного краха рукой подать. При этом, в исходном бюллетене о причинах DoS-уязвимости говорится весьма туманно: сервис неправильно обрабатывает некоторые типы неправильных UPnP запросов. Описание же наведенной неуправляемости коротко и ясно: библиотека upnp.dll «кажется не регистрируется». Исправленный вариант исправления появился только 13 ноября. Видно не такая уж простая процедура регистрации оказалась.

Аналогичный конфуз произошел с патчем для Win NT/2000 Server (MS01-052).

Другой пример. Nimda, Aliz, BadtransII и К используют дыры в почтовой программе Outlook Express (OE) и IE версий 5 и 5.5, позволяющие автоматически запустить исполняемый exe-файл под видом звукового. (Для «удобства» пользователей ряд типов файлов-вложений автоматически направляются в соответствующую программу обработки уже в режиме предварительного просмотра). Этот трюк срабатывает при посещении зараженных веб-страниц и, возможно (лично пробовать не стал), в режиме представления папок «Как веб-страница» (автоматически выполняется предварительный просмотр файла при выделении). Такой список ужасов естественно подталкивает к переходу на 6-ю версии Outlook и IExplorer'а, тем более, что в них вроде бы появились новые защитные свойства.

Ненадежность нововведений в OE6 стала очевидной довольно быстро. Весьма странно выглядит попытка спрятать блокировку вложений и предупреждение о несанкционированной отправке почты в незашифрованных параметрах Реестра. Затем BadtransII проскочил сквозь антивирусный сканер на корпоративном почтовом сервере и Outlook услужливо спросил: «Не желаете ли запустить?». Впрочем, это уже огромный прогресс, поскольку OE5 даже после установки заплат почему-то лихо продолжает «загрузку файла» из зараженных писем. Наконец пришел вышеупомянутый бюллетень MS01-58 от 13 декабря 2001 г., сообщивший, что в IE6 существует другой механизм автоматического запуска exe-файлов под личиной безопасных. Добиться этого, как и с более ранними версиями, злоумышленник может с помощью специально сформированной веб-страницы или письма в формате HTML.

Ну, так в чем же результат латания? Симптом убрали (Nimda в оригинальном виде не запустится) — болезнь осталась (изменить формат письма и код вируса пригоден для дальнейших боев), а с помощью одного из последних патчей опять браузер «уронили». Лозунг «Доктор, исцелись сам!» актуален как никогда.

В прошлом году Microsoft выпустила 60 бюллетеней по безопасности. Они нередко были двойными или тройными, когда первоначальное сообщение уточнялось и/или исправлялась заплата. Добавьте сюда предупреждения от различных организаций (даже от ФБР), антивирусных компаний и охотников за ошибками. Сможет ли каждый владелец персонального компьютера самостоятельно выбрать всю нужную информацию и вовремя устранить недостатки ПО? А ведь еще нужно уметь реанимировать систему после ошибок в заплатах. Нельзя же после каждого кривого патча переустанавливать систему на чистый диск и штопать заново.

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

Прошедший год показал, что с валом проблем не смогли управиться даже лидеры IT-мира. Компания Samsung Electronics снабдила своих покупателей мониторов червем Nimda. Cisco Systems разослала подписчикам (системным администраторам!) Goner. Игрушка для приставки Sega оказалась заражена вирусом Kriz. Сайты Microsoft и Dell поражены Nimda. Он же на время застопорил работу British Telecom и Deutsche Bank. (На этом фоне аналогичное падение «Укртелекома» впечатления уже не производит.) почтовая служба Hotmail пострадала от CodeRed. Warner Brothers продавали мультипликационный DVD-диск с Funlove, пометившим ранее драйверы от Hewlett-Packard. Сайт компьютерных новостей SiliconValley.com уже в этом году рассылал подписчикам крайне опасный (видели в действии, результат знаем) Magistr, которому на момент инцидента было 8 месяцев отроду.

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

Можно, конечно, позубоскалить над «высокой квалификацией и слаженными действиями персонала» при ликвидации этих происшествий. Но ведь и вирус Морриса использовал известную дыру, которую мог (и по должности был обязан) закрыть любой администратор. Тем не менее не закрыли даже в стенах Беркли, где создавалась поражаемая версия UNIX. Ладно, в 1988 г. сетевые черви были чем-то невообразимым даже для сетевых гуру. Но тринадцать лет спустя Ramen, Lion и Adore доказали, что положение существенно не изменилось. Вирусы преподнесли сюрприз амбициозным создателям Lindows. Оказалось, что некоторые почтовые черви без проблем могут переехать на эту платформу вместе с Outlook, тогда как антивирусы работать не хотят. Но ведь проблема эмулятора WINE тоже была известна.

Чего же тогда требовать от виндузятников, приобретающих компьютеры не для программирования? И уж, тем более, не для изучения заумных ошибок в системе безопасности. Современное программное обеспечение действительно очень сложное. Получение безупречного кода не прогнозируется даже в обозримом будущем. Неужели продвигая свой товар для массового потребления, лидер мирового бизнеса задумал всех пользователей сделать «компьютерно грамотными»? Так ведь сегодня даже не все президенты справляются с обычной грамматикой, куда уж там широким массам до компьютерной.

MS DOS имела репутацию вирусного заповедника при том, что реальных механизмов заражения компьютера существовало-то всего два: инфицированный исполняемый файл (EXE или COM) или загрузка с дискеты, в boot-секторе которой размещен злонамеренный код. DOS в общем-то ни в чем не ограничивала изобретательность вирусописателей. Только и того, что требовалось кодирование на ассемблере, влекущее за собой необходимость знания архитектуры микропроцессора, внутреннего устройства DOS, манипуляций с прерываниями и прочих тонкостей. В результате сразу отсекались малообразованные «шалунишки». Интернет и электронная почта в эпоху DOS были еще дорогими игрушками военных и ученых. В совокупности с частыми ошибками программирования это ограничивало интенсивность распространения вирусов. Шедевр Морриса рассматривался как забава гения.

Windows 9x усложнила заражение исполняемых файлов. Из громких случаев на память приходит разве что Win95.CIH («Чернобыль»). Большинство знают о нем по оригинальному проявлению: уничтожению содержимого flash BIOS и технических цилиндров винчестеров. Нашедшие в Сети код вируса могут убедиться, что он не менее интересен, особенно в методическом плане. Ну, а для NT задача манипуляций с двоичными модулями вообще малопривлекательна.

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

Ящиком Пандоры для Windows стали макроязыки. Злонамеренный код прочно обосновался в файлах, которые у массового потребителя никак не ассоциируются с опасностью: документы, таблицы, презентации, чертежи, бухгалтерские отчеты и т.д. Хотя наибольшее распространение получили макровирусы для MS Word, но по сходным рецептам заразу можно изготовить для любой программы, поддерживающей Visual Basic for Application (VBA) [1].

Неверующие критики могут подсчитать соотношение вирусов для Windows на модификациях VB и ассемблере и «собственным умом" убедиться, что в королевстве Visual Basic что-то таки неладно, если недоросли могут массово совершать преступления без особого напряжения «серого вещества».

Пакость подстерегает в гипертекстовом файле (HTML, XML), где могут разместится недружественные скрипты Visual Basic Scripting Edition (VBS) или JavaScript (JS). Они же могут быть интерпретированы специально разработанной на основе VB системой администрирования — Windows Scripting Host (WSH).

Чтобы заразить компьютер в вышеперечисленных случаях необходимо убедить пользователя запустить инфицированную программу или открыть файл «с секретом». Но есть и более изощренные способы.

Механизм динамически связываемых библиотек (DLL) позволяет разным приложениям использовать один и тот же код без включения его в основную программу. Экономится место на диске, уменьшается время разработки и упрощается процедура отладки и внесения изменений. Для поиска требующейся DLL-библиотеки функция LoadLibrary сначала просматривает каталог, из которого запущено приложение, затем текущую папку и только после этого обращается к системной папке Windows (SYSTEM или SYSTEM32). Nimda в каталогах с документами Word (DOC, RTF), в том числе и всех доступных по сети, размещает файл riched20.dll, содержащий вирусную копию. При открытии из такой папки произвольного документа (заметьте, незараженного) вместо настоящего riched20.dll (WINDOWS\SYSTEM) автоматически запускается вирус. Если выбрать DLL, гарантированно необходимую для всех популярных компонентов Office (Word, Excel, Access, PowerPoint, FrontPage), то заражение произойдет при обращении к любому подходящему файла. Этот метод естественно распространяется на все Windows-приложения, использующие общие DLL [2].

Механизм связывания и внедрения объектов (OLE) позволяет разместить зараженный файл внутри другого. Например, документ Word включается в таблицу Excel или рисунок Corel Draw. Существует множество психологических трюков, подталкивающих неискушенных пользователей пощелкать мышкой внутри якобы безопасного объекта. Рано или поздно ловушка сработает.

А кому в голову придет искать EXE-шник в RTF-файле? Сколь быстро пользователи привыкнут к потенциальной опасности PDF-документов (Adobe Acrobat) или мультиков Macromedia Flash? Чем вообще нужно было думать, чтобы допустить существование вредоносных скриптов в аудиофайлах? В этот список «высоких технологий» остается только добавить сотовые телефоны.

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

В качестве оправдательного аргумента и Microsoft, и заметное число читателей-критиков до появления известного письма Билла Гейтса говорили, что основная проблема в людях. Одни создают злонамеренные коды — другие запускают невесть что, не удосужившись проверить. Ну, а система просто задумывалась так, что любой код может сделать все из дозволенного пользователю. Исправлять нечего.

«На предварительном следствии в полицейском участке на все вопросы он вопил одну и ту же стереотипную фразу:
-У меня писчебумажный магазин!
На что получал такой же стереотипный ответ:
-Это для вас не оправдание.»

Это из Швейковских похождений. А в нашем случае нет оправдания потому, что имея дело только с интерфейсом, пользователи ничего не знают о внутренней жизни ОС. Им, «чайникам», простительно. Но ведь обо всем богатстве этой внутренней жизни не знают и системные администраторы, и эксперты-консультанты по безопасности, и, как следует из вышеприведенных примеров, «гуру»-разработчики [3]. Пока на компьютер не проберется очередной зловредный код, поражение пользователя в правах срабатывает. Но однажды обнаруживается, что запреты обходятся с помощью какого-то ActiveX или общедоступная DLL содержит необходимые функции. С клавиатуры все равно ничего не сделаешь, а из приблудной программки — пожалуйста. Почва для новой эпидемии готова.

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

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

Отсутствие межсетевого экрана (firewall) и визуализатора трафика гарантирует беспрепятственное размножение всем почтовым червям, раздолье для троянов и рекламных «грузил», а также разнообразные сетевые атаки. Если червь использует собственный SMTP-модуль, то его проявления вообще можно будет заметить только по замедлению компьютера (на Pentium III и IV ему нужно для этого особенно постараться). О трояне в лучшем случае сообщит безразмерный счет провайдера, а в худшем — банкротство конторы, дискредитация человека, поддельные улики и т.д. С помощью менеджера задач определяются только примитивные особи, живущие в виде самостоятельных процессов. Если злонамеренный код оформлен в виде pug-in'а или системной библиотеки, то протекают и «огненные стены». Чтобы вовремя отследить подмену понадобится монитор содержимого диска. А это тянет за собой необходимость изучать предназначение тысяч библиотек, драйверов, утилит и т.д.

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

Разве до гейтсовского призыва было непонятно, что один только отбор информацию, касающейся конкретной системы, — уже работа? Дорогостоящая, требующая специальной квалификации и отнимающая массу времени. В полном объеме её не смогут выполнить потребители, путающие Windows и Lindows, за которых сейчас борется крупнейшая в мире корпорация. При существующем положении вещей пользователи в скором времени вынуждены будут заниматься только укреплением бастионов. Даже на игры времени не останется! Эпизодическое латание абсолютно бесполезно — проще купить второй компьютер специально для Интернет и не хранить на нем ничего стоящего.

Но архитектурные переделки ОС потянут за собой существенные изменения в кодах всех приложений. По крайней мере их нужно будет проверять на совместимость с новыми требованиями. Поэтому до сих пор структурные изменения вносились только в совершенно вопиющих случаях и то после нескольких лет дебатов. Так произошло с Outlook из Office XP и OE6. Вариант XP я не разбирал, но для преодоления защитных механизмов Express потребуется десяток строчек, чтобы изменить незашифрованные параметры в Реестре. В своей программе Билл Гейтс приводит Outlook, как «хороший пример» по улучшению качества и повышению безопасности продуктов Microsoft. «Блажен, кто верует».

Поэтому высококвалифицированные и высокооплачиваемые специалисты по поиску и устранению ошибок еще долго будут необходимы на любом современном предприятии. Не желающие этого признавать руководители превращают свои компьютерные системы в рассадники заразы, угрожающие существованию Интернет [4]. Что касается домашних компьютеров, то здесь остается только надеяться, что Microsoft успеет выполнить наказ своего руководителя до повсеместного распространения широкополосного доступа и внедрения IPv6. Очень уж хочется верить, что в результате «кардинального изменения жизни под влиянием инструментов информационного века», мы не будем озабочены тем, куда звонит наш I-телефон, не превратился ли наш I-холодильник в I-жаровню, что собралась готовить наша пустая I-СВЧ-печь, где искать наш запропастившийся I-автомобиль и вообще, на кой черт нам нужна была такая «дорога в будущее»?


[1] — Утверждается, что лицензию на применение VBA в своих программных продуктах приобрели более 150 фирм-разработчиков.
[обратно к тексту]

[2] — В принципе, компиляторы позволяют включать в приложения статические библиотеки. Работают они немного быстрее, поскольку нет затрат на поиск компонент на диске. Но размер! Да и проблемы в различных версиях ОС не исключены.
[обратно к тексту]

[3] — Попробуйте, работая с любым файлом, записать log с помощью File Monitor. Гарантирую, что интерес к происходящим за кадром событиям проснется немедленно.
[обратно к тексту]

[4] — Судя по IP-адресам, треть полученных мною вирусов числятся за провайдерами (dial-up подключения, естественно, не учитываются), вычислительными центрами и компьютерными лабораториями (не только вузов), информационными компаниями. 85% отправлены из локальных сетей организаций.
[обратно к тексту]

© ООО "Компьютерра-Онлайн", 1997-2021
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.