Свежий номер №11 (436) / Эпидемия состоится при любой погоде
 
Дата публикации: 25.03.2002

Александр Захарченко, az13@mailru.com

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Скептики могут подсчитать соотношение вирусов для 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 12.

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

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

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

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

На предварительном следствии в полицейском участке на все вопросы он вопил одну и ту же стереотипную фразу:

- У меня писчебумажный магазин!

На что получал такой же стереотипный ответ:

- Это вас не оправдывает.

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

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

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

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

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

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

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


1 (обратно к тексту) - www.computerra.ru/daily/interview/14798.
2 (обратно к тексту) - www.roadahead.com.
3 (обратно к тексту) - Для «удобства» пользователей некоторые типы вложенных файлов автоматически направляются в соответствующую программу обработки в режиме предварительного просмотра.
4 (обратно к тексту) - www.compulenta.ru/news/2002/2/18/25702.
5 (обратно к тексту) - www.softerra.ru/review/util/10259
6 (обратно к тексту) - На этом фоне аналогичное падение «Укртелекома» впечатления уже не производит.
7 (обратно к тексту) - www.softerra.ru/review/oses/linux/11424
8 (обратно к тексту) - www.compulenta.ru/news/2001/9/24/19586
9 (обратно к тексту) - www.compulenta.ru/news/2001/11/19/22245
10 (обратно к тексту) - www.softerra.ru/review/security/13852
11 (обратно к тексту) - Утверждается, что лицензию на применение VBA в своих программных продуктах приобрели более полутора сотен фирм-разработчиков.
12 (обратно к тексту) - В принципе, компиляторы позволяют включать в приложения статические библиотеки. Работают они немного быстрее, поскольку нет затрат на поиск компонент на диске. Но размер! Да и проблемы в различных версиях ОС не исключены.
13 (обратно к тексту) - www.softerra.ru/review/security/9151
14 (обратно к тексту) - www.softerra.ru/review/security/10531
15 (обратно к тексту) - www.compulenta.ru/news/2002/1/18/24426
16 (обратно к тексту) - Попробуйте, работая с любым файлом, записать log с помощью File Monitor. Гарантирую, что интерес к происходящим за кадром событиям проснется немедленно.
17 (обратно к тексту) - www.compulenta.ru/news/2001/11/12/21991
18 (обратно к тексту) - www.softerra.ru/review/security/16353
19 (обратно к тексту) - Судя по IP-адресам, треть полученных мною вирусов числятся за провайдерами (dial-up-подключения, естественно, не учитываются), вычислительными центрами и компьютерными лабораториями (не только вузов), информационными компаниями. 85% отправлены из локальных сетей организаций.


Александр Захарченко
az13@mailru.com
 


<< Злаки: страна должна знать своих героев
Все материалы номера
Золотой гребешок >>