The OpenNET Project / Index page

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



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

Оглавление

Линус Торвальдс выдвинул ультиматум на приём патчей от разра..., opennews (?), 03-Апр-14, (0) [смотреть все] +1

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


354. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  –2 +/
Сообщение от Анонимоус (?), 04-Апр-14, 14:25 
>> Скрываем опцию init=/rootkit и спокойно едем дальше ;)
>> Да и вообще, зачем этот /proc/cmdline нужен,
> А что руткиту помешает пропатчить командлайн в памяти? На то и руткит...

Начнём с того, какой идиот будет прятать руткит в корневой директории? Закончим тем, что проще и эффективнее init подменить. А на случай всяких там md5-сумм, перехватывать обращения к этому файлу на уровне ядра и возвращать данные оригинального файла. А оригинальный файл, думаю тоже спрятать не проблема, счётчик ссылок на него в 0, убрать из всех директорий. fsck подменить таким же образом. Либо наоборот, руткиты так спрятать, а ядро патчить а оперативке до загрузки системы, из загрузчика того же.

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

376. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +/
Сообщение от Аноним (-), 04-Апр-14, 16:31 
> Начнём с того, какой идиот будет прятать руткит в корневой директории?

Руткиту все-равно где прятаться: хороший руткит все-равно не видно. Он может врать что его нет во всех системных вызовах для работы с файлами. При этом все-равно где он лежал. Этого никто не увидит.

> Закончим тем, что проще и эффективнее init подменить.

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

> там md5-сумм, перехватывать обращения к этому файлу на уровне ядра и
> возвращать данные оригинального файла.

Если мы уже в ядре и перехватываем операции с файлами - зачем что-то делать с init? Нормальные герои всегда идут в обход?

> проблема, счётчик ссылок на него в 0, убрать из всех директорий.
> fsck подменить таким же образом.

Кластерфак какой-то. Обычно делают проще - перехватывают наиболее паливные вызовы и выпиливают себя из результата их выполнения. Ну то-есть если некто читает оглавление диры - руткит выпилит себя из оглавления и отдаст результат в котором его нет. Если некто читает патченый файл - руткит в нужный момент подпихнет как результат чтения не то что реально на диске записано, а то что ему надо. И делается это либо на уровне системных вызовов ядра, либо на уровне вызова билбиотек, типа приколов с LD_PRELOAD (для себя я написал либу которая не дает программам файлы открывать, все время обрубая файловую операцию с левой ошибкой, очень забавно смотреть на реакцию программ когда не удается ни 1 файла прочесть или записать :P).

> ядро патчить а оперативке до загрузки системы, из загрузчика того же.

Поздравляю, все уже сперто до вас - это буткитом называется.

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

385. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +/
Сообщение от Аноним (-), 04-Апр-14, 21:06 
> Если мы уже в ядре и перехватываем операции с файлами - зачем
> что-то делать с init? Нормальные герои всегда идут в обход?

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

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

Ага, да, конечно. А если загрузиться в LiveCD? Уже не удастся подменить системный вызов. Поэтому проще оставить файл на диске, просто обнулись счётчик ссылок на него. fsck по идее просто его удалит в случае чего, но кто догадается fsck запускать с LiveCD? Да и в загрузчике всегда можно спрятаться на всякий пожарный.

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

Да понятное дело то. Я скорее пересказываю всё, что уже давно есть и активно применяется. Только никто об этом не знает.

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

394. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +1 +/
Сообщение от Аноним (-), 05-Апр-14, 03:36 
> В моей речи выше было немного сарказма,

Видимо, надо было теги расставлять, т.к. со стороны это больше смахивало на тормозизм, имхо.

> Ага, да, конечно. А если загрузиться в LiveCD? Уже не удастся подменить
> системный вызов.

Так в этом то и пойнт загрузки с LiveCD.

> Поэтому проще оставить файл на диске, просто обнулись счётчик
> ссылок на него.

Если цель - "просто спрятать данные", есть over 9000 методов как это сделать. Можно вообще как файл не оформлять. Вывалить на reserved space после бутлоадера, на свободное место между разделами, или просто дописать в хвост какому-нибудь файлу. И еще over 9000 трюков. Проблема в том что для полной невидимости ВСЕХ кусков какие-то системные компоненты поменять придется и загрузка с LiveCD потенциально может это запалить. А если запален некий компонент - ну так и как он данные хранит постепенно разреверсят и при желании научатся доставать и скрытые данные.

> fsck по идее просто его удалит в случае
> чего, но кто догадается fsck запускать с LiveCD?

А если вообще не оформлять как файл и просто записать эн копий в разных блоках - даже fsck не догадается. Правда есть некий риск что затрется в процессе работы, но если разложить эн копий - все не затрутся сразу, можно восстановить стертые копии. Вот только эту логику кто-то должен делать. И при загрузке с LiveCD его станет видно...

> Да и в загрузчике всегда можно спрятаться на всякий пожарный.

Нормальные админы в курсе что для вышибания руткита надо сделать полный реинсталл. Конечно, существуют экспонаты пытающикся прописать довесок в BIOS, вот такое реинсталлом уже не выпрется. Но эти экспонаты имеют свойство быть очень разборчивыми в системах на которых они работают (тип bios и его версия, 100500 разныз факторов типа наличия места в флехе, etc), и вообще, виденные экспонаты уповали на возможность запустить авардовскую тулзу для пересборки BIOS (что в Linux не получится по техническим причинам). И даже так оно лажалось в половине случаев. А так то да, у рутковской вон есть "ring -3" приблуда. Живет себе в памяти BMC. Что-то делает. А x86 это совсем не видно. Вот только это опять же очень мамкозависимо и работает в оснвном на машине разработчика.

Вообще, сейчас хаксоров в основном интересует куда более прозаичный тыринг данных и использование халявных ресурсов, а вылет с плюс-минус пары машин с компетентными админами их вообще не парит. На 1 компетентного админа - 100 дятлов.

> Да понятное дело то. Я скорее пересказываю всё, что уже давно есть
> и активно применяется. Только никто об этом не знает.

А ты видел ring -3 экспонат от рутковской? Ну и вообще "никто не знает" - очень громкая заява. Дело в том что поменять системные вызовы так чтобы нигде не возникло аномалий и нестыковок - очень сложная задача. Поэтому чем забористее руткит - тем вероятнее что он себя спалит какими-то странными проблемами или особенностями, не говоря о том что он будет очень разборчив к особенностям системы. Я вон как-то видел как малварина запалила себя на ... рутките. Сама малварь была неизвестная, а вот руткит которым она пыталась спрятаться - достаточно общеизвестен для того чтобы попасться :).

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

405. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +/
Сообщение от Аноним (-), 05-Апр-14, 20:47 
>>Так в этом то и пойнт загрузки с LiveCD.

А как думаешь, как можно лучше всего спалить бэкдор с ливсдшки? Что стоит проверить в первую очередь. В Линухах, разумеется. Я программист, но с безопасностью пока дел особо не имел.

>>Вывалить на reserved space после бутлоадера

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

>>дописать в хвост какому-нибудь файлу

md5 файла уже совпадать не будет, опять таки. Да и сам файл уже будет повреждён. А если просто в блоки записывать, помечая их занятыми (дабы случайно созданием/изменением файлов не затёрлись), то проверка целостности файловой системы всё спалит.

>>А так то да, у рутковской вон есть "ring -3" приблуда. Живет себе в памяти BMC.

А можно подробнее? Одну статью нашёл, про технологию встраиванию кода в чипсеты интел, где у них свой собственный проц, на котором веб-сервер даже крутится. Но как понимаю, речь шла о другом. И кто такая рутковская?

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

424. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +2 +/
Сообщение от Аноним (-), 06-Апр-14, 14:32 
> А как думаешь, как можно лучше всего спалить бэкдор с ливсдшки?

1) Проверить и/или переустановить бутлоадер и системные области на аномалии/лишний хлам. UEFIанство тут кстати может подкинуть порцию новых проблемок.
2) Состав файлов системы и насколько сие совпадает с чексуммами в пакетах (попутно проверив что в keyring изучаемой системы - только расово верные ключи).
3) Стоит попытаться найти неучтенные файлы - файлы не приписанные ни к каким пакетам.
4) Изменения файлов конфигурации относительно дефолта, и насколько админ помнит что он хотел именно этого.

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

> Что стоит проверить в первую очередь. В Линухах, разумеется. Я программист, но
> с безопасностью пока дел особо не имел.

Типовые руткиты детектируются rkhunter и тому подоными. Если есть подозрения на нестандартный бэкдор - можно попробовать детектировать его нестандартными средствами, на которые авторы таковых не рассчитывали. Ну вон например врядли кто из руткитчиков так уж сильно рассчитывал что некто станет изучать активность системы утилсой типа sysdig из соседней новости, с собственным ядерным довеском. Совсем не факт что руткит сможет корректно прятаться от такой вещицы. А еще - я бы в сильно ответственной системе по первых распилил бы все на контейнеры/VM а во вторых наставил бы капканов, например рубанув некоторе сисколы через LD_PRELOAD (с алертом админу при попытке дергания) и заменив некоторые утили на ловушки. Вы делаете ls? А можно ведь не список дир выдать, а кинуть алерт админу - "ааа!!! у нас вебсервер ls запускает! Его хакнули!".

Но опять же - это не 100% гарантии. Для 100% гарантий (кроме BIOS-related дряни) проще всего все снести под ноль и переустановить заново. Т.е. переписать бутсектор, репартиционирование, создание ФСов заново, переустановка бутлоадера, ну и далее - инсталл или рестор чистой системы. Это доступно даже средним умам. А соревнование с опытными руткитчиками - очень на любителя, т.к. неизвестно кто выиграет, руткит может быть изворотливым и вы всегда можете упустить некий компонент, который однако потом тихой сапой будет сидеть и ждать своего часа.

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

Чем жирнее малварина - тем ее проще обнаружить.

> md5 файла уже совпадать не будет, опять таки.

Да. Но это заметит только внимательный администратор.

> Да и сам файл уже будет повреждён.

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

> А если просто в блоки записывать, помечая их занятыми (дабы случайно Ю
> созданием/изменением файлов не затёрлись), то проверка целостности
> файловой системы всё спалит.

Так она и в вашем случае все палит. Кстати да, упомянутый sysdig по приколу пишет мне что в результатах трассировки программа (deleted). Только подумайте, какой умный: видит что в памяти висит копия из стертого файла, а на диске уже другая копия файла, более новая :)

> А можно подробнее? Одну статью нашёл, про технологию встраиванию кода в чипсеты
> интел, где у них свой собственный проц, на котором веб-сервер даже крутится.

Да-да, именно оно. Рутковска запустила на этом проце свой код. Который через DMA писал в память х86 процессора, ответная часть на x86 стороне детектировала сие, зная чего ожидать. Сам по себе х86 процессор не имеет доступа в тот код и поэтому понятия не имеет, когда ему этот проц своим кодом череп прострелит, пропатчив чего-нибудь слегка. И с вебсервером там все интересно. На большинстве интеловых мамок серверов/десктопов и ряде ноутов этот проц рулит и иными вещами. Ну там вентилятором, питанием, etc. Поэтому даже когда в BIOS SETUP мы говорим ему GTFO ("ME engine - disabled"), на самом деле он вовсе не вырубается полностью. Иначе отвалилось бы управление вентилятором и прочая. И насколько там во всем этом нет бэкдоров и насколько оно не врет что оно и правда "выключилось" - весьма отдельный вопрос. И да, этот проц активен даже когда комп "выключен", ибо питается от дежурки которая есть всегда. Это собственно и позволяет ремотное включение компа через AMT/vPro/каконитамэтоназывают.

> Но как понимаю, речь шла о другом.

Именно об этом.

> И кто такая рутковская?

Гуру по руткитам. Известна тем что сделала ряд нетривиальных руткитов, которые вполне себе новое слово и state of art. Еще она делает CubeOS, "ОС для параноиков". Вполне логичная штука, где разные активности разделяются друг от друга про помощи виртуализаторов, что заметно усложняет атаки на такую систему и превращает их в тот еще миндфак. К тому же большинство VMов существуют временно. Ну логично что специалист по руткитам знает как подгадить соседям по цеху :).

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

433. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +/
Сообщение от Аноним (-), 06-Апр-14, 22:11 
>> Состав файлов системы и насколько сие совпадает с чексуммами в пакетах (попутно проверив что в keyring изучаемой системы - только расово верные ключи).

В rkhunter есть поддержка приблуд для таких проверок. Но руки пока не дошли до поиска под deb и rpm. Странно, что ещё нет популярных LiveCD для автоматизированных проверок системы.

>> Для 100% гарантий (кроме BIOS-related дряни) проще всего все снести под ноль и переустановить заново.

А если биос-релайтед, выявить нереально ведь? Я был удивлён, что сейчас любая приблуда может перепрошить БИОС. Были бы хоть какие-нибудь перемычки на мамке, позволяющие запретить перепрошивку аппаратно. Интересно, а у гигабайта есть технология Dual BIOS. Обновление БИОСа перепрошьёт ведь и резервную копию?

>> Еще она делает CubeOS, "ОС для параноиков".

Спасибо за название. Давно не мог вспомнить, как этот дистрибутив называется. Там действительно хорошие идеи заложены, о которых давно уже мечтаю. Группировка прог по виртуальным машинам с полной интеграцией в интерфейс - это мечта.

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

435. "Линус Торвальдс выдвинул ультиматум на приём патчей от разра..."  +/
Сообщение от Аноним (-), 06-Апр-14, 22:25 
И поправка, Cubes OS. CubeOS - это некая ось для роботов.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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