LINUX.ORG.RU

Атака ядра Linux через «неактивный» код. Возможно ли такое?

 , ,


0

2

Предположим такую ситуацию:

Есть ядро(модульное или монолитное), которое имеет кучу ненужных для даного компьютера драйверов. И один из них имеет уязвимость, известную злоумышленику. Например, драйвер флоппи-дисковода.

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

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

В результате ядро начинает выполнять уязвимый код. После чего запускается собственно уязвимость и злоумышленик получает полный рут.

Возможна ли такая ситуация? Или это просто плод моего больного воображения?

И если эта ситуация возможна, то для какого ядра, модульного или монолитного? Или они одинаково уязвимы?

Перемещено beastie из admin

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

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

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

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

Конкретного пруфлинка на какую нибудь статью не могу дать, но вот один пример

http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3430

Локальная уязвимость, позволявшая получить рута, если в ядре была включена поддержка RDS сокетов. Что делает этот RDS протокол, кто им пользуется, и нафиг он вообще нужен - вопросы, широкой публике неизвестные :) Но его поддержка была включена в ядрах многих дистрибутивов

Еще тут на ЛОРе когда-то была статья с рекомендациями NSA, как обезопасить linux-серверы. Одна из ключевых рекомендаций - выпилить по максимуму все ненужные для функционирования фичи, например, удалить поддержку звука, внешних USB устройств хранения и т.д.

Короче говоря - больше фич - больше багов, больше уязвимостей. И наоборот.

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

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

зато в комп можно воткнуть злой хитрый девайс, прикидывающийся, например, USB-флопповодом, и посылающий компу данные, которые глючный драйвер флопповода не ожидает

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

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

Жызненно.

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

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

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

нуу наличие такого хитрого девайса облегчает задачи по взлому. Одно дело торчать за консолью и что-то быстро-быстро набирать, перезагружать комп, лазить в настройки биоса, другое дело - быстро воткнуть и выткнуть флешечку, возможно под благовидным предлогом. Или незаметно подменить флешечку админа на такую же, но с другой начинкой

Harald ★★★★★
()
Последнее исправление: Harald (всего исправлений: 1)
Ответ на: комментарий от Harald

достаточно выдернуть вилку из розетки и воткнуть обратно, а когда будет грузится, нажать e и написать init=/bin/bash, набрать passwd root, сделать любые другие желаемые манипуляции, например разрешить доступ руту через ссх, некоторые его зачем-то закрывают

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

Ой блин, а я что-то не заметил, что тут есть раздел «Безопасность». Пардон!

Deleted
()

Хочешь, я тебе расскажу страшную сказку? → https://github.com/jbangert/trapcc → PoC выполнения вычислений на современных CPU вобще не выполняя ниодной инструкции. Т.е. практически «без кода».

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от xtraeft

На пальцах: процессор непрерывно сыпит трапами и не выполняет (не успевает) при этом ниодной инструкции. Трапы в свою очередь меняют разные управляющие таблицы процессора.

Т.о. удалось сэмулировать mov, jz и dec, что достаточно для машины тюринга. И уже на этой weird-machine запустили the game of live. А вы тут про «мёртвый код». ☺

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)

да это возможно вставляется устройство с ВендорИД и ДевайсИД и дело в шляпе

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

На xakep.ru была статья про мышь-вирус)
Вроде обычная мышь, но в ней микроконтроллер шо-та там делает через прервания PS/2, получает доступ к BIOS и пошла)))

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