The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_PRELOAD для скрытия, opennews (ok), 10-Июн-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


112. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от Andy (??), 10-Июн-22, 21:26 
Как такую срань найти ?
Ответить | Правка | Наверх | Cообщить модератору

117. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от Аноним (-), 10-Июн-22, 23:09 
> Как такую срань найти ?

Для начала зазырить переменные окружения любым известным вам способом и если там LD_PRELOAD, и это не вы прописали - у вас, скорее всего, какая-то пакость.

Ответить | Правка | Наверх | Cообщить модератору

135. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +1 +/
Сообщение от n00by (ok), 11-Июн-22, 10:47 
Тут лучше не любым известным, а загрузив чистую систему с внешнего накопителя.
Ответить | Правка | Наверх | Cообщить модератору

149. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +1 +/
Сообщение от Andy (??), 11-Июн-22, 15:03 
Дык при загрузке с флешки LD_Preload будет с флешки
А смотреть на всхаченной системе - так там и окружение можно подправить ;)
Ответить | Правка | Наверх | Cообщить модератору

150. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 11-Июн-22, 15:52 
> Дык при загрузке с флешки LD_Preload будет с флешки

В чистой системе?

Ответить | Правка | Наверх | Cообщить модератору

154. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от швондер (?), 11-Июн-22, 16:57 
Как вариант, запустить что-либо с LD_PRELOAD и убедиться в том, что свой LD_PRELOAD виден у запущенного процесса. Но опять же - возможна чистка только определенной вгружаемой библиотечки. Поэтому ваш LD_PRELOAD будет отображаться в /proc/pid/environ, искомый нет. Подключившись к процессу с gdb возможно чтение environ в первом фрейме. Но вообще переменная environ может быть недостоверна - её тоже вполне по силам чистить.

Далее, вгруженная библиотека должна быть видна в /proc/пид/maps - с теми же соображениями о степени доверия к результатам любого чтения.
Таким образом, надо убедиться в первую очередь в том, что чтение не подменено. Это можно пробовать сделать через сравнение числа потраченных инструкций цпу - время выполнения - на заведомо чистой и целевой системах. выполнять  perf record/stat и опираться на счетчик выполненных инструкций.

Ответить | Правка | К родителю #149 | Наверх | Cообщить модератору

192. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 12-Июн-22, 12:47 
Руткит фильтрует чтение из /proc/пид/maps
По поводу детекта замером времени исполнения - это может сработать в общем случае с майнером. При чтении /proc/пид/maps будет два переключения контекста и сколько кода выполняться в ядре? Это к вопросу о погрешности измерений. Фильтация, насколько понимаю, это несколько машинных инструкций в цикле.
Ответить | Правка | Наверх | Cообщить модератору

199. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +1 +/
Сообщение от швондер (?), 12-Июн-22, 16:40 
> Руткит фильтрует чтение из /proc/пид/maps
> По поводу детекта замером времени исполнения - это может сработать в общем
> случае с майнером. При чтении /proc/пид/maps будет два переключения контекста и
> сколько кода выполняться в ядре? Это к вопросу о погрешности измерений.
> Фильтация, насколько понимаю, это несколько машинных инструкций в цикле.

у вас неверное понимание.

Ответить | Правка | Наверх | Cообщить модератору

207. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +1 +/
Сообщение от n00by (ok), 13-Июн-22, 08:10 
Я так полагаю, Вы где-то уже апробировали предлагаемую методику, раз такое заявляете. В таком случае хотелось бы ознакомиться с какими-то подробностями, что бы понять, что именно и насколько неверно я понимаю.
Ответить | Правка | Наверх | Cообщить модератору

235. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 16-Июн-22, 08:15 
>  Таким образом, надо убедиться в первую очередь в том, что чтение
> не подменено. Это можно пробовать сделать через сравнение числа потраченных инструкций
> цпу - время выполнения - на заведомо чистой и целевой системах.
> выполнять  perf record/stat и опираться на счетчик выполненных инструкций.

Поскольку не последовало внятного объяснения, как предполагается обеспечить достаточную точность измерений, внесу некоторую ясность. Выше предлагается вариант обнаружения по косвенным признакам. Обычно (RkU, Gmer, AVZ и т.п.) вместо этого производили сканирование памяти, искали факт подмены инструкций. Грубо говоря, реализовывался некий аналог системного загрузчика: читали исполняемые файлы с накопителя, но вместо копирования в ОЗУ производили сравнение. Такой метод помимо обнаружения позволял снять хуки (перехват). Однако, руткиты противодействовали - подменяли содержимое чистых файлов при чтении. Варианты с измерением времени обсуждались, но о рабочих реализациях мне не известно, если не считать вариантов с контролем указателя инструкций в планировщике.

Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

134. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +1 +/
Сообщение от n00by (ok), 11-Июн-22, 10:44 
Классический способ по мотивам RootkitRevealer Руссиновича: пишем приложение, которое получает список загруженных библиотек. На Си. Собираем в двух вариантах: обычная линковка и статическая без внешних библиотек вообще (т.е. и без загрузчика). Получаем два списка. Сравниваем. Имеем ввиду, что ядерные руткиты так не детектируются.
Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

174. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от Аноним (-), 11-Июн-22, 20:35 
> Классический способ по мотивам RootkitRevealer Руссиновича: пишем приложение, которое
> получает список загруженных библиотек. На Си. Собираем в двух вариантах: обычная
> линковка и статическая без внешних библиотек вообще (т.е. и без загрузчика).
> Получаем два списка. Сравниваем. Имеем ввиду, что ядерные руткиты так не
> детектируются.

Еще можно врубить мозг - и черт с ним с русиновичем - у нас тут линукс же. Читаем ман на execve и кто такой env по факту. Пишем тупую как дрова программу печатающую свой env, который структурно что-то типа argv[] по смыслу. Т.е. просто регион в памяти, его печать не требует сисколов вообще, перехватывать так то нечего. И вот это очень на руку.

А в чем пойнт? Даже если руткитчик попортит вывод ps и проч, если он глобально себя всем впихивает - пропатчить кус памяти с env, да еще после запуска программы, когда левая либа нам уже вгрузилась, но мы еще не получили инициативу (довольно узкое окно возможностей) не то чтобы невозможно, но технически довольно неудобно, не совсем очевидно и есть шанс что руткитчик про это тупо забыл или в силу возни забил. Конечно это не панацея, но чем более неожиданный фокус мы сделаем, тем менее вероятно что у руткита там "все схвачено".

Ответить | Правка | Наверх | Cообщить модератору

191. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 12-Июн-22, 12:45 
> печать не требует сисколов вообще

К каким ножкам процессора подпаиваем принтер?

Ответить | Правка | Наверх | Cообщить модератору

232. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от Аноним (232), 15-Июн-22, 15:15 
1. Подписываешь чистые бинари и библиотеки.

2. Запускаешь:
tail -f /var/log/....log

3. Делаешь:
echo 'appraise func=MMAP_CHECK mask=MAY_EXEC' >> '/proc/sys/kernel/security/ima/policy'

4. Ищешь в логах аудита.

А чтобы ее вообще не было надо / держать в режиме только для чтения.

Ответить | Правка | К родителю #112 | Наверх | Cообщить модератору

233. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 15-Июн-22, 15:46 
> А чтобы ее вообще не было надо / держать в режиме только
> для чтения.

Это всего лишь вопрос времени, когда руткиты начнут писать на накопитель в обход драйвера ФС.

Ответить | Правка | Наверх | Cообщить модератору

236. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от Аноним (236), 23-Июн-22, 19:28 
А мы не только ФС в режиме только для чтения держим, но и само блочное устройство:

blockdev --setro /dev/sda7

Не анекдот, а правда:

"Мне потеринг когдато говорил, что сыстемдЫ он пишет, чтобы всем удобно было корень держать в режиме только для чтения."

Ответить | Правка | Наверх | Cообщить модератору

237. "Simbiote - вредоносное ПО для Linux, использующее eBPF и LD_..."  +/
Сообщение от n00by (ok), 24-Июн-22, 06:48 
И запуск драйверов заблокировали. И изучили накопленный опыт атак на альтернативную ОС. И доказали корректность существующего кода ядра (а что понапишут на Rust - то компилятор "верифицирует").

Вот это тоже не анекдот, а правда: "сама концепция открытого кода подразумевает, что злоумышленник может иметь к нему доступ, и следовательно, сознательно искать и находить уязвимости в нем."

Это пишет к.т.н. в аннотации доклада на osdev. Зачем он пишет про открытый код и про доступ? Не знает про fuzzing и IDA Pro, или для чего?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру