. Вот что он написал:
<<Здравствуйте, Юрий!
Начитавшись в инете статей (в том числе и ваши) о Линуксе, мне приспичило пощупать его своими руками :). Ну поехал на Петровку (это CD рынок в Киеве), купил двухдисковый Red Hat 7.0 Но понимаете в чем проблема, сносить Виндовз не хочется так как за компом работаю не один я, а вот как совместить Linux RH7 & Windows 98 SE знаю только в общих чертах (диск на разделы разбить и воспользоваться бут-менеджером) но вы же понимаете что такое "в общих чертах" - поэтому прошу вас как профессилнала помочь бедному ламеру! Опишите процедуру установки Linux RH7 совместно с Windows 98 se
С нетерпением жду ответа!
С уважением,
Юрий Б.>>
Пока есть такие письма и есть люди, которым статьи небезразличны, интересны и полезны - мои статьи будут выходить!
Вопрос:Какие еще проекты вы планируете реализовать/реализовывать?
Ответ:В данное время кроме RSecurityProject я работаю над проектом RSambaProject, так как данная тема (судя по приходящим ко мне письмам) очень интересна Linux-пользователям. О целях, сроках выхода и т.д. RSambaProject я расскажу в ближайших выпусках рубрики. Так же ведется работа по созданнию FAQ'a по Linux, разрабатывается идеология нового проекта, в котором будут описываться вышедшие/выходящие программы под Linux (в дальнейшем, возможно, вообще под OpenSource OS). Анонс новых проектов на страницах RSecurityProject-рубрики на linuxrsp.ru в ближайших выпусках.
Вопрос:Будут ли в вашей рубрике обсуждаться проблемы других OpenSource OS (FreeBSD, Palm OS, Solaris и др.)?
Ответ:Да. Уже в следующей рубрике я планирую описать проблему J-Pilot в Palm OS, bftpd в OpenBSD и NetBSD и др.
Надеюсь, что я смог "удовлетворить" ваш моральный голод по поводу RSecurityProject. Думаю, что ответы на ваши вопросы будут появляться в каждом выпуске рубрики.
Вирус 'Worm.Linux.Ramen'
Первый известный червь, заражающий системы RedHat Linux. Червь был обнаружен в середине января 2001 года. Вирус заражает удаленные Linux-системы (RedHat Linux) при помощи проблемы буферного переполнения (buffer overflow). Эта "дыра" позволяет засылать исполняемый код на удаленный компьютер и выполнять его там без вмешательства администратора (пользователя). Используя эту дыру червь засылает на удаленные компьютеры короткий кусок своего кода, выполняет его там, докачивает свой основной код и стартует его.
Червь использует три различные дыры в RedHat Linux версий 6.2 и 7.0. По сообщениям корпорации RedHat Linux, эти дыры были обнаружены и закрыты еще летом-осенью 2000 года, т.е. более чем за 3 месяца до появления самого червя.
Недавно стало известно, что код червя также содержит процедуры, направленные на взлом FreeBSD и SuSE, однако эти процедуры не используются (к счастью).
Компоненты червя
Червь состоит из 26 компонент. Общий объем - около 300Kb. Половина из этих файлов является скрипт-программами на командном языке UNIX (".sh"-файлы), другая половина - выполняемые файлы Linux (ELF-файлы).
Основными управляющими компонентами являются скрипт-файлы. Они при необходимости вызывают прочие скрипт-компоненты или выполняют ELF-программы червя.
Список компонент выглядит следующим образом:
asp hackl.sh randb62 start62.sh wh.sh
asp62 hackw.sh randb7 start7.sh wu62
asp7 index.html s62 synscan62
bd62.sh l62 s7 synscan7
bd7.sh l7 scan.sh w62
getip.sh lh.sh start.sh w7
Компоненты с числом "62" исполняются под Linux RedHat 6.2, компоненты "7" - под RedHat 7.0. Компонента "wu62" не используется.
Распространение
При старте основной компоненты червя (файл "start.sh") поочередно вызываются прочие компоненты, которые определяют адреса атакуемых систем, посредством атаки "переполнение буфера" засылают туда "загрузчик" червя, который затем докачивает и запускает основной код червя. Червь активизируется и затем распространяется с только что зараженного компьютера далее на другие системы.
Червь передается с машины на машину в виде архива "tgz" (стандартный архив, применяемый в UNIX-системах) с именем "ramen.tgz". При заражении машины архив передается на нее, распаковывается и запускается главный файл червя.
Червь также добавляет команду запуска своего основого файла к файлу инициализации системы "/etc/rc.d/rc.sysinit". В результате, червь запускается каждый раз при последующих запусках зараженной системы.
Червь также предпринимает действия, закрывающие "дыру" в защите Linux RedHat. В результате, зараженная машина не может быть атакована повторно.
Подробнее
Для того, чтобы получить IP-адреса прочих машин для их последующих атак червь сканирует ресурсы глобальной сети, т.е. действует аналогично утилитам, типа "сниффер".
При атаках используются "дыры" в трех программах-демонах Linux RedHat: "statd", "lpd", "wu-ftp".
При засылке и исполнении кода червя на удаленной машине червь использует "переполнение буфера" кодом, который получает системные привелегии и запускает командный процессор, который затем выполняет следующие команды:
создает каталог "/usr/src/.poop", куда потом будет скачан архив червя "ramen.tgz"
экспортирует переменную "TERM=vt100", необходимую для запуска WWW-броузера "lynx"
запускает броузер "lynx" и с его помощью скачивает "ramen.tgz" с машины, с которой происходит заражение
распаковывает из архива "ramen.tgz" все компоненты червя
запускает основную компоненту: файл "start.sh"
Для отсылки архива "ramen.tgz" по запросу с заражаемого компьютера червь создает на зараженном компьютере дополнительный сервер с именем "asp".
Прочее
Червь ищет на зараженной машине все файлы "index.html" (стартовые страницы Web-серверов) и заменяет их на собственную "index.html", содержащую текст:
Уничтожает файл "/etc/hosts.deny". Этот файл содержит список адресов машин, которым запрещен доступ к данной системе (в случае использования TCP-враппера).
При заражении очередной системы отправляет три письма с текстом "Eat Your Ramen!" на адреса:
the address of just infected machine
gb31337@hotmail.com
gb31337@yahoo.com
Темой (Subject) письма является IP-адрес зараженной машины.
Linux.Bliss
Нерезидентные вирусы, заражающие выполняемые файлы Linux (разновидность UNIX). Написаны на GNU C. Имеют формат ELF и работают только под Linux. При запуске ищут выполняемые файлы и заражают их: сдвигают содержимое файла вниз, записывают себя в освободившееся место и добавляют в конец файла строку-идентификатор:
"Bliss.a": infected by bliss: 00010002:000045e4
"Bliss.b": infected by bliss: 00010004:000048ac
Судя по всему, первое шестнадцатеричное число является номером версии вируса, а второе - длина вируса в байтах (вирусы имеют длины 17892 и 18604 байт соответственно). При запуске зараженного файла "Bliss.a" ищет не более трех ELF-файлов и записывается в них. "Bliss.b" заражает больше файлов (точное число неизвестно). Если в текущем каталоге все файлы заражены, вирус сканирует другие каталоги системы, ищет выполняемые файлы и заражает их. После заражения "Bliss" возвращает управление программе-носителю. В Linux предусмотрена защита доступа, т.е. пользователь и программы имеют доступ к файлам и каталогам в зависимости от установленных привилегий. То же относится к вирусу: он заражает файлы только в тех каталогах, к которым имеет доступ запустивший вирус пользователь. Если же пользователь имеет системные привилегии, то вирус может распространиться по всему компьютеру. При работе вирус выводит "отладочные" сообщения:
already infected
skipping, infected with same vers or different type
replacing older version
replacing ourselves with newer version
infecting: bytes
infect() returning success
been to already!
traversing
our size is
copy() returning success
copy() returning failure
disinfecting:
not infected
couldn't malloc bytes, skipping
couldn't read() all bytes
read bytes
happy_commit() failed, skipping
couldn't write() all bytes, hope you had backups!
successfully (i hope) disinfected
Debugging is ON
Disinfecting files...
using infection log:
Вирус также содержит строки:
dedicated to rkd
/tmp/.bliss
asmlinkage int sys_umask(int mask)
mask&023000 return if(mask&023000) {{current->uid = current->euid =
current->suid = current->fsuid = 0; return old&023000} } bliss.%s.%d -l
rsh%s%s %s 'cat>%s;chmod 777 %s;%s;rm -f %s' doing popen("%s" /.rhosts r
%s %s .rhosts: %s, %s localhost doing do_worm_stuff() /etc/hosts.equiv
hosts.equiv: %s HOME --bliss- uninfect-files-please disinfect-files-please
version %d.%d.%d (%.8x)
Compiled on Sep 28 1996 at 22:24:03
Written by electric eel.
dont-run-original
just-run-bliss
dont-run-virus
dont-run-bliss
just-run-original
exec
infect-file unsupported version
help help? hah! read the source!
/proc/loadavg %d.
loadav is %d
bliss was run %d sex ago, rep_wait=%d
/tmp/.bliss-tmp.%d execv /bin
PATH : /usr/spool/news /var/spool/news wow
Linux.Diesel
Неопасный нерезидентный Linux-вирус. Ищет исполняемые Linux-файлы в системных подкаталогах и записывается в их середину. Перед поиском файлов вирус считывает свой бинарный код из файла носителя. Вирус переносит оригинальные байты в конец файла и увеличивает размер последней секции.
Файл до заражения: Файл после заражения:
--------------┐ --------------┐
│ заголовок │ │ заголовок │
+-------------+ +-------------+
│ │ │ │
│ │ │ │
│ │ │ │
+-------------+<- точка входа +-------------+<- точка входа
│Код программы│ │ Код вируса │
+-------------+ +-------------+
│ │ │ │
│ │ │ │
L-------------- +-------------+
│Код программы│
L--------------
После завершения работы вирус восстанавливает файл-носитель и возвращает ему управление. Содержит строки текста:
/ home root sbin bin opt
[ Diesel : Oil, Heavy Petroleum Fraction Used In Diesel Engines ]
Linux.Siilov
Неопасный Linux-вирус. Имеет формат ELF, работают только под Linux и заражает исполняемые файлы Linux. Использует два способа для заражения файлов: резидентный и нерезидентный. Резидентный: вирус остается в системной памяти и заражает файлы в фоновом режиме; нерезидентный: ищет исполняемые файлы на диске и поражает их.
Поиск файлов в текущем каталоге
При запуске зараженного файла управление передается на код вируса. Вирус в первую очередь заражает файл "/sbin/init". Этот файл является составной частью операционной системы и вызывается при загрузке и выгрузке ОС. После этого вирус ищет исполняемые ELF-файлы в текущем каталоге и поражает их.
Резидентная часть вируса
Резидентная часть вируса остается в памяти как часть зараженной программы и активна только на время работы этой программы. Для того, чтобы резидентная копия вируса получала управление, вирус модифицирует системную таблицу Linux, которая принадлежит инфицированной программе (таблица связки подпрограмм PLT) и перехватывает вызов функции "execve". Это одна из Linux-функций для запуска файлов. В итоге вирус получает имена всех файлов, запускаемых на выполнение при помощи этой функции, и поражает их.
Заражение файлов
При заражении файлов вирус ищет секцию неинициализированных данных "bss" и встраивает свой код внутрь этой секции, при этом он увеличивает размер секции на 5917 байт (или больше в зависимости от размера и характеристик секции) и сдвигает вниз оставшуюся часть файла.
Вирус не изменяет адрес точки входа ELF-файла. Он запоминает оригинальные байты внутри себя, а вместо них записывает команду перехода на код вируса. Вирус также переименовывет секцию 'bss' в 'data1' и изменяет ее атрибуты. В результате заражаемый файл выглядит следующим образом:
Файл до заражения: файл после заражения:
----------------┐ ----------------┐
│ ELF Headers │--┐ │ ELF Headers │--┐
│ │ │ │ │ │
+---------------+ │ +---------------+ │
│ Section 1 │<-- точка --│ Virus jmp │<-- точка
│ │ входа │ │ Section 1 │ входа
+---------------+ │ +---------------+
│ Section 2 │ │ │ Section 2 │
+---------------+ │ +---------------+
│ bss │ L>│ Virus code │
+---------------+ +- - - - - - - -+
. . . │ data1 │
+---------------+ +---------------+
│ Section n │ . . .
L---------------- +---------------+
│ Section n │
L----------------
Если в файле отсутствует секция "bss", то вирус не заражает такой файл, т.е. файлы заражаются однократно.
other's
Кроме этого, существует еще несколько Linux-вирусов. На них я остановлюсь кратко:
Linux.Mandragore
Неопасный нерезидентный зашифрованный Linux-вирус. При запуске ищет исполняемые файлы Linux в текущем каталоге и записывается в их конец. Вирус сразу же пытается заразить файл /bin/ls. При заражении файлов вирус увеличивает размер последней секции файла и запоминает адрес точки входа.
Linux.Silvio
Неопасный нерезидентный Linux-вирус. При запуске ищет исполняемые файлы Linux в текущем каталоге и записывается в их начало. Вирус ищет в текущем каталоге случайное число файлов и с некоторой вероятность может не найти ни одного файла. Максимальное чило заражаемых файлов вирусом за один раз равно 4. Перед заражением файлов вирус считывает свое тело из файла носителя. Если число считанных байт меньше длины вируса, то он прекращает свою работу. При заражении файлов вирус дописывает к ним свой идентификатор. Это 4 байта в конце файла: 40h, E2h, 01, 00.
Linux.Vit.4096
Неопасный нерезидентный вирус. Заражает выполняемые файлы Linux (разновидность UNIX). Имеет формат ELF и работают только под Linux. Является вторым известным вирусом, заражающим выполняемые файлы Linux (первый - Linux.Bliss).
Linux.Winter
Безобидный нерезидентный Linux-вирус. Имеет крайне небольшой размер - всего 341 байт. При запуске зараженного файла вирус получает управление, ищет ELF-файлы (выполняемые файлы Linux) в текущем каталоге и заражает их.
Linux.Zipworm
Безобидный Linux-вирус, добавляющий свои копии к ZIP-архивам. Заражает архивы только в текущем каталоге. При заражении вирус не использует внешние утилиты работы с ZIP-файлами, а самостоятельно обрабатывает внутренний формат архива.
AntiVirus
Вирусы - это неожиданно (для тех, кто их "получает") и всегда, как минимум, неприятно. Но не все так плохо, потому что есть антивирусные программы (теперь уже и для Linux!).
AVP Monitor для Linux
http://www.kasperskylab.ru/products/test.asp
Представляет собой клиентскую программу для AVP Daemon, перехватывающую файловые операции (запуск, открытие и инициализация модулей) и производящую проверку на вирусы. Постоянное присутствие программы в памяти компьютера позволяет надежно контролировать пути проникновения вирусов на компьютер или в корпоративную сеть. Кроме того, использование AVP Monitor является наиболее удобным способом обеспечения антивирусной безопасности - для этого достаточно лишь однажды загрузить программу при запуске операционной системы и забыть о вирусной угрозе.
(AVP) Sendmail
http://www.kaspersky.ru/
AVP для Sendmail является антивирусным комплексом, проводящим антивирусную фильтрацию входящей и исходящей почтовой корреспонденции, проходящей через сервер электронной почты Sendmail. Программа обеспечивает пользователей централизованной защитой от всех типов вредоносных кодов, включая компьютерные вирусы, "Троянские кони", Интернет-черви, опасные Java аплеты и др. В масштабе реального времени она позволяет обнаружить и удалить вредоносные коды как из тела сообщения электронной почты, так и из прикрепленных файлов любого уровня вложенности. Защита осуществляется на уровне сервера, т.е. до того, как потенциально опасный код попадет на клиентский компьютер. В программе реализована удобная и гибкая система конфигурации. Пользователь может настраивать AVP на проверку различных потоков электронной почты (внутреннего, внешнего или обоих сразу). AVP для Sendmail предоставляет возможность изолировать зараженные и подозрительные сообщения и файлы. В случае обнаружения вирусной атаки программа посылает оповещения системному администратору на указанный адрес.
Для всех желающих существует возможность присоединиться к команде бета-тестирования AVP для Sendmail, для этого нужно лишь прислать свой запрос на info@avp.ru.
Антивирусный пакет VIPER компании Network Associates
Новый инструментарий McAfee Virus Interface for Protective Early Response (VIPER), который может быть интегрирован в бизнес-приложения, работающие под управлением Linux.
VIPER производит сканирование электронной почты и проверяет загружаемые с других Web-серверов программы на наличие "злонамеренного" кода. По сообщению Network Associates, пакет VIPER предназначается для Internet-провайдеров и провайдеров онлайновых служб, которые хотели бы встроить в свои серверы средства антивирусного сканирования.
На следующей неделе речь пойдет об уже упоминавшихся J-Pilot и bftpd. Кроме этого будет уделено внимание SSLDUMP, joe и pico, pine, Samba, rp-pppoe, ircd и DNS (возможны изменения). Также не останутся без внимания и ваши письма. БОЛЬШАЯ ПРОСЬБА: из-за острой нехватки времени, я просто не успеваю отвечать на все вопросы, которые приходят мне по електронной почте. Поэтому, обсуждение тех или иных проблем, связанных с использованием тех или иных программ (описанных здесь и нет) могут остаться без ответа (извинения приношу заранее :) или же ответ будет дан непосредственно на страницах рубрики.
Хотелось бы, чтобы этот проект имел право на жизнь и приносил пользу. Если у вас есть свой (свои) вопрос-ответ (вопросы-ответы) на данную тему, то пишите - все они будут рассмотрены. Также принимаются корректировки уже описанных проблем. Удачи!