LINUX.ORG.RU

Rootkit, который выдерживает переформатирование диска


1

1

Исследователь в области компьютерной безопасности John Heasman опубликовал работу, в которой описывает возможность создания rootkit'a, который будет выдерживать перезагрузки системы и переформатирование винчестера. Это может быть осуществлено путём подмены flash boot ROM кода PCI карты вашего компьютера.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Идея не новая... Слышал ктото умудрялся записывать код вируса в cmos

Orlangoor ★★★★★
()

не ну нормально так... то есть скоро и на видюшки-сетевушки начнут ляпать стикеры "Проверено <имя_антивируса>"?

UserUnknown ★★★★★
()

То-то Sony обрадуется.

Sikon ★★★
()

Думаю эта проблема не светит еще лет n-дцать. Задумка с полиморфными вирусами еще в древности появилась, однако до сих пор не написанно истинно полиморфного вируса

Ext
()
Ответ на: комментарий от smartly

>При чём здесь полиморфные вирусы?

При том, что это тоже очень перспективная технология, которая не получила распространения по причине кривизны рук виркодеров, а также по причине невозможности модификации исполняемых файлов в OS Windows без мата со стороны антивируса.

Orlangoor ★★★★★
()

А разве этого уже не было? Кажись уже было что-то такое, или это были только разговоры? Чета меня еще много лет назад этим пугали, мол влезет вирус в биос, и пожжет все девайсы.

manokur ★★
()
Ответ на: комментарий от anonymous

>прецеденты были

Разве? Девайсы помоему не жег, но cmos стирал исправно

Orlangoor ★★★★★
()
Ответ на: комментарий от UserUnknown

сам кашперовский будет выпаявать и проверять :)

anonymous
()

Ладно, а как он оттуда будет грузиться, если загрузка с бутрома сетевой не проставлена?

jackill ★★★★★
()
Ответ на: комментарий от jackill

думаю когда драйвер будет загружаться и включать девайс :). А там через какой-нить DMA или еще что-нить все сделается :)

anonymous
()
Ответ на: комментарий от jackill

> Ладно, а как он оттуда будет грузиться, если загрузка с бутрома сетевой не проставлена?

Не тупи, причем тут сетевая. Речь идет про код начальной инициализации, который есть и исполняется почти у любой карты. Ну типа когда видяшка пишет своего вендора при старте, или ide/sata/scsi-контроллеры о себе при загрузке сообщают - это все код из их бут роме выполняется. Не выполнять его нельзя, pnp не будет это раз (в процессе выполнения кода карта как раз и дает необходимую информацию биосу), и большинство плат вообще не будет работать это два.

anonymous
()
Ответ на: комментарий от jackill

>Ладно, а как он оттуда будет грузиться, если загрузка с бутрома сетевой не проставлена?

Вообщето прошивка грузится в любом случае. Но вообще, ИМХО - стоящий бутром на карточках, при условии что он не используется это уже само по себе потенциальная дыра... Ну мало ли кто получив локальный доступ к серверу, активирует загрузку с сети, и оставит до поры до времени - а потом ноутбук сделает PXE сервером, и все данные в руках

Orlangoor ★★★★★
()
Ответ на: комментарий от Ext

> Думаю эта проблема не светит еще лет n-дцать. Задумка с полиморфными вирусами еще в древности появилась, однако до сих пор не написанно истинно полиморфного вируса

Вот это новость ;)

А по поводу записи во флеш-биос - нет проблем - давно написана софтина, которая пишется в биос видеокарты, дабы скриншоты можно было делать не загружая ОС (полезная штука, нужно сказать, для желзячников и тестеров).

andreyu ★★★★★
()
Ответ на: комментарий от Orlangoor

> При том, что это тоже очень перспективная технология, которая не получила распространения по причине кривизны рук виркодеров, а также по причине невозможности модификации исполняемых файлов в OS Windows без мата со стороны антивируса.

Да что вы говорите? Сколько было (и до сих пор есть) вирусов, которые патчили сам антивирусник, фаервол, пр. А потом уже занимались своими гнуснвми делишками. Вы почитайте хоть энциклопедию по вирусам - много интересного почерпнете. Я без шуток.

andreyu ★★★★★
()

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

eXOR ★★★★★
()
Ответ на: комментарий от Orlangoor

>Вообщето прошивка грузится в любом случае. Но вообще, ИМХО - стоящий бутром на карточках, при условии что он не используется это уже само по себе потенциальная дыра... Ну мало ли кто получив локальный доступ к серверу, активирует загрузку с сети, и оставит до поры до времени - а потом ноутбук сделает PXE сервером, и все данные в руках

Прочитал ... одумал ... проблемма действительно существует :(

robot12 ★★★★★
()
Ответ на: комментарий от eXOR

>Память есть уже у видюх, у сетевух и у звуковух. Так же у них есть процы :). Значит для всего этого железа можно сделать отдельный вирь, который будет выполняться на вышеперечисленных железяках :).

Это уже сложнее ... потому как ... прошивку выполняет всё же не GPU :) Хотя ни на сетевухах, ни на видюхах я ещё ни разу не видел флешек :)

robot12 ★★★★★
()

Кстати пока все это цветочки, понастоящему это станет опасным когда биосы будут модульными (или как они там называються в новой задумки от интел). Вот тогда лафа написал вирь модулем к биосу и готово...

x86 ★★
()

Когда Windows 98 только вышла, довольно долго мелькала статья, что она устанавливает в биос (правда, на матери) руткит от Микрософта и ЦРУ. Термин "руткит" тогда не был столь известен, писали просто "вирус".

acheron ★★★★
()
Ответ на: комментарий от robot12

У каждой современной видеокарты есть биос. И он может перепрошиваться. Так что вирус туда записать поидее возможно. Со звуковухами и сетевухами не скажу. А если учесть, что современные мощные графические процессоры при работе не требующей использования 3D графики простаивают, то здесь открывается довольно широкое поле для применения.

BlackEric
()
Ответ на: комментарий от acheron

Хотите скажу вам то что всю эту идею похоронит? :]

Любая программа должна быть запущенна для начала работы. Исходя из этот руткит может писатся либо в bootrom сетевухи либо в bios (кстати wincih первый вирус был). Что-б стартануть с bootrom`а надо что-б в bios`е было разрешенно это, а bios нынче от записи хорошо защищают ...

так что , это все бред :]

---------- На счет настоящего полифорфного вируса, смотря что считать полиморфным, но вирусы меняющие 90% своего кода, существуют уже давно (сам читал в InfectedVoice исходники и вникал что к чему)

так что ... stop flood

galchyonok ★★
()
Ответ на: комментарий от galchyonok

Кста, для ананимусов:

"Не тупи, причем тут сетевая. Речь идет про код начальной инициализации, который есть и исполняется почти у любой карты. Ну типа когда видяшка пишет своего вендора при старте, или ide/sata/scsi-контроллеры о себе при загрузке сообщают - это все код из их бут роме выполняется. Не выполнять его нельзя, pnp не будет это раз (в процессе выполнения кода карта как раз и дает необходимую информацию биосу), и большинство плат вообще не будет работать это два." ------------------------------------------------ смею обратить ваше внимание на то что: эта инфа хранится в неперепрашиваемых микрухах, либо доступ для записи в них не возможен без программатора. (вы физически (с материнской платы) не сможете подать на контакты микрухи нужное напряжение что-бы произвелась запись). и о размерах этой области подумайте кстати :] а ведь подобной проге надо куда-то старые данные (те что были там до руткита/виря) сохранить, и потом выдать - а вот на это места скорее всего не будет.

p.s. самый маленький вирь на asm`е занимал 42байта вроде, резедентный 92байта ... а тут все еще сложнее

galchyonok ★★
()
Ответ на: комментарий от andreyu

> Вы почитайте хоть энциклопедию по вирусам - много интересного почерпнете.

Что порекомендуете?

AK

ioctl
()
Ответ на: комментарий от anonymous

>> Ладно, а как он оттуда будет грузиться, если загрузка с бутрома сетевой не проставлена?

>Не тупи, причем тут сетевая. Речь идет про код начальной >инициализации, который есть и исполняется почти у любой карты. Ну >типа когда видяшка пишет своего вендора при старте, или >ide/sata/scsi-контроллеры о себе при загрузке сообщают - это все >код из их бут роме выполняется. Не выполнять его нельзя, pnp не >будет это раз (в процессе выполнения кода карта как раз и дает >необходимую информацию биосу), и большинство плат вообще не будет >работать это два.

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

darkden
()
Ответ на: комментарий от robot12

>Память есть уже у видюх, у сетевух и у звуковух. Так же у них есть процы :). Значит для всего этого железа можно сделать отдельный вирь, который будет выполняться на вышеперечисленных железяках :).

>Это уже сложнее ... потому как ... прошивку выполняет всё же не GPU :) Хотя ни на сетевухах, ни на видюхах я ещё ни разу не видел флешек :)

пора 386 и 486 выкинуть или в музей сдать...

darkden
()
Ответ на: комментарий от Orlangoor

>Вообщето прошивка грузится в любом случае. Но вообще, ИМХО - стоящий >бутром на карточках, при условии что он не используется это уже само >по себе потенциальная дыра... Ну мало ли кто получив локальный >доступ к серверу, активирует загрузку с сети, и оставит до поры до >времени - а потом ноутбук сделает PXE сервером, и все данные в руках

>Orlangoor (*) (20.11.2006 13:51:16) Это все конечно хорошо, но при локальном доступе уже можно было поиметь все данные в руки, без остальных телодвижений.

anonymous
()
Ответ на: комментарий от gr_buza

> >самый маленький вирь на asm`е занимал 42байта вроде 22 байта, overwrite вирус. учи матчасть :))

42 который сохраняет работоспособность файла.

Demimurych
()
Ответ на: комментарий от Ext

> Думаю эта проблема не светит еще лет n-дцать. Задумка с полиморфными вирусами еще в древности появилась, однако до сих пор не написанно истинно полиморфного вируса

Ой как вы ошибаетесь. Уже лет 5 как детектирование некоторых вирусов возможно только с использованием эмуляторов.

Demimurych
()

Да, возможность, конечно, интересная, но, до сих пор, малоиспользуемая..

MiracleMan ★★★★★
()
Ответ на: комментарий от galchyonok

> Любая программа должна быть запущенна для начала работы.

make install и установочные скрипты в пакетах всегда выполняются от рута. Покажите мне человека, который реально сидит отдупляет, куда там что прописалось при make install...

А уж что туда прописать - вопрос фантазии и изобретательности. Хоть в загрузку поставь cat /dev/zero > /dev/hda...

anonymous
()

>Ладно, а как он оттуда будет грузиться, если загрузка с бутрома сетевой не проставлена?

"If a Legacy card&#8217;s option ROM code hooks INT 19h during its initialization call it controls the boot process."

Т.е. переписываем вектор 19 на наш бутром сетевой карты и вперед и с песней. Чисто в теории даже, старое значение сохранять не придется. Считать загрузочный сектор и передать ему управление много ума не нужно...

Macil ★★★★★
()
Ответ на: комментарий от anonymous

>Не тупи, причем тут сетевая. Речь идет про код начальной инициализации

The current paper outlines ways to use the expansion memory available on Peripheral Component Interconnect (PCI) cards, such as graphics cards and network cards.

Читать слово expansion memory до посинения.

jackill ★★★★★
()
Ответ на: комментарий от Orlangoor

>Вообщето прошивка грузится в любом случае.

Ты тоже новость не читал?

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>смею обратить ваше внимание на то что: эта инфа хранится в неперепрашиваемых микрухах, либо доступ для записи в них не возможен без программатора. (вы физически (с материнской платы) не сможете подать на контакты микрухи нужное напряжение что-бы произвелась запись). и о размерах этой области подумайте кстати :] а ведь подобной проге надо куда-то старые данные (те что были там до руткита/виря) сохранить, и потом выдать - а вот на это места скорее всего не будет

Да что вы говорите? Почему же я тогда обновляя биос своей видеокарты вижу при старте компа, еще до POST скрина, как видео выдает информацию о новом биосе?

anonymous
()

>...bootrom сетевухи либо в bios (кстати wincih первый вирус был)

СIH прославился тем что стирал BIOS и MBR, это для пользователей. А для "аналитиков" это был первый успешный вирус который проникал в ring0 в Win95/98, под NT не работал. Правда несколько неуклюже: делал свою запись в IDT c фиксированным номером вектора, после чего его присутствие в системе не опознавал самый тупой антивирус. Собственно, CIH достаточно примитивным вирусом... был. И уж конечно не жил в BIOS.

Затем техники стали поинтереснее: через call-gatе'ы в LDT и SEH. Правда, все это в NT не пашет. Кстати, кажись в линуксе можно писать в LDT из юзерских программ ;)) Во фряхе 4 включается при компиляции ядра, а в NT запрещено...

Macil ★★★★★
()
Ответ на: комментарий от Macil

>Т.е. переписываем вектор 19 на наш бутром сетевой карты и вперед и с песней.

Перепиши мне вектор после форматирования, пожалуйста.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

>Да что вы говорите? Почему же я тогда обновляя биос своей видеокарты вижу при старте компа, еще до POST скрина, как видео выдает информацию о новом биосе?

Ты прочитай на что ответ человек писал.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

Вспомнили тоже блин Win.CIH - чернобыль. Он просто биос мамки перепрошивал мусором, в итоге комп не грузился, приходилось вынимать флэшку с матери и нести перепрошивать.

Но там и речи не было о том, чтобы какой-то код вируса записать в биос. Просто мусор, чтобы "сломать" материнку.

http://www.viruslist.com/ru/viruses/encyclopedia?virusid=19775

anonymous
()
Ответ на: комментарий от anonymous

>Ты прочитай на что ответ человек писал.

Прочитал: Ну типа когда видяшка пишет своего вендора при старте

anonymous
()
Ответ на: комментарий от jackill

>Перепиши мне вектор после форматирования, пожалуйста.

Последовательность команд, которая переписывает вектор 19 находится в пямяти PCI карты. Да согласен, далеко не каждая подойдет. Но SCSI контроллер - запросто. http://www.t10.org/ftp/t10/document.95/95-321r1.pdf Думаю, в каждом optional ROM есть достаточное количество свободных байт. Или по вирусному принципу: сжимаем, а в освободившееся место записываем вредоносный код и распаковщик

Macil ★★★★★
()
Ответ на: комментарий от anonymous

Лично не знаком, но много слышал. Шифровал до половины диска через INT13, самым обычным XOR'ом и из ключа тайны не делал... Dr Web его лечил, а расшифровывать диск забывал ;) Мноооого народу тогда пострадало....

Macil ★★★★★
()

минимум что нужно для того чтобы подобный руткит зароботал 1 чтоб ему передалось управление(выполнение) до ПОСТА ли после 2 он должен остаться рабочим после инициализации ОС 3 если руткит модульный (что делает его маленьким) загрузить свои модули для этого 3.а он должен уметь вызывать апи ОС (а они разные)

добавте от себя или поправьте и мы узнаем как долго до осуществления таких планов

anonymous
()
Ответ на: комментарий от anonymous

1. Управление он получает после ПОСТа

2. Патчим любой компонент системы, все что нужно для этого у нас есть

3. Для разных ОС - разные модули. Загрузка через TFTP или UDP или с неиспользованных секторов жесткого диска

Грубо определить тип системы можно исследовав MBR...

Macil ★★★★★
()
Ответ на: комментарий от robot12

>Ну мало ли кто получив локальный доступ к серверу, активирует загрузку с сети, и оставит до поры до времени - а потом ноутбук сделает PXE сервером, и все данные в руках

>Прочитал ... одумал ... проблемма действительно существует :(

дааа ;)))

вы чего ребяты???

"локальный доступ к серверу" - взломает серверную, взломает закрытый шкаф??? ;)))

"оставит до поры до времени - а потом ноутбук сделает PXE сервером" - у вас сервера в одной сети с рабочими станциями, а тем более с НОУТБУКАМИ??? >8-[ o ]

очевидно для вас будет новостью и то, что от внутренних юзеров(особенно с ноутбуками) нужно отгораживать сервера таким же файрволом как и от внешних ;)))

ужасы какие тут расказываете ;)

AcidumIrae ★★★★★
()
Ответ на: комментарий от acheron

>Когда Windows 98 только вышла, довольно долго мелькала статья, что она устанавливает в биос (правда, на матери) руткит от Микрософта и ЦРУ. Термин "руткит" тогда не был столь известен, писали просто "вирус".

а написали эту статью люди, которые не знали что такое "руткит" и наверное даже сейчас не знают ;)))

AcidumIrae ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.