Board.KolibriOS.org
http://board.kolibrios.org/

Уязвимости ядра
http://board.kolibrios.org/viewtopic.php?f=1&t=1712
Page 1 of 2

Author:  Nasarus [ Tue Apr 19, 2011 4:21 pm ]
Post subject:  Уязвимости ядра

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



vlnb-kos-s-0-a (Не устранена) 9.10.2010
Spoiler: Show
Перезаписав файл ядра, можно выполнить любой код, в т.ч. вредоносный, в реальном режиме процессора (т.е. с максимальным уровнем привелегий).

vlnb-kos-s-1-a (Не устранена) 17.04.2011
Spoiler: Show
Многие сис. функции ядра позволяют прикладным программам писать в память ядра (т.е. в диапазоне 0x80000000-0xFFFFFFFF), тем сам можно "прибить систему" или выполнить пользовательский код с максимальным уровнем привелегий (в 0-вом кольце).



Подробнее об слабых местах в защите читайте в последующих сообщениях.


Примечания:
Название уязвимости имеет следующий формат: vlnb-x-y-n-z
vlnb - сокр. от "vulnerability"
x - ОС, в которой имеется дырка (в данном случае kos - KolibriOS)
y - тип уязвимости, "s" - system vulner., "a" - application vulner.
n - номер уязвимости (присваивается в порядке появления бреши)
z - уровень опасности, которую представляет дыра, "a" - самый высокий, "b" - средний, "c" - низкий

Author:  Nasarus [ Tue Apr 19, 2011 4:24 pm ]
Post subject:  vlnb-kos-s-a-1

Оказывается многие сисфункции позволяют писать в память ядра. В большинстве случаях максимум чего может добиться злобный кодер - это ушатать систему, заставив её зависнуть, но с помощью некоторых сисфункций можно записывать любые данные, включая вредоносный код, и дают шанс выполнить его в kernel mode. Также вирус способен записать свою в загрузочный сектор рамдиска, а пользователь потом, сохранив рамдиск на дискету или винчестер, запустит его в real mode (вероятность не больщая, но она таки есть).
Список функций, которые уязвимы и ранимы: 6, 9, 15.5, 18.11, 18.13, 26.2, 30.2, 36, 48.3, 70. Возможно есть ещё дырявые сисфункции, которые я не нашёл.
Исправить уязвимость не сложно. Есть два способа: a) проверять адреса для записи, которые передаются как параметры, выходят ли они за рамки возможной памяти приложения (диапазон 0x000000000-x7FFFFFFF); б) воспользоваться ядерной функцией check_region, которая проверяет не выходит ли буфер из диапазона используемой процессом памяти (0x000000000-x????????)

Вот эксплойты демонстрирующие использование ядренных дырок:
1st:
Запускаем программу и все букаффки пропадают (не считая консоли) :) А через полминуты шрифт восстанавливается;
Attachment:
1st.kex [286 Bytes]
Downloaded 216 times


2nd:
Кейлоггер)) взламывает защиту ядра, вылезает в 0-ое кольцо и перехватывает нажатия клавиш, записывая их в файл /sys/.keylog (если пользователь этого пожелает); помимо этого перехватывает функцию 9, скрывая себя из списка процессов (при этом окно отображается), и функции 18.2 и 18.18, не давая прибить себя :) Неплохо оптимизирован по размеру.
Запускать желательно из под ВМ. Этот эскплойт лишь демонстрирует возможности кейлоггинга, т.к. записывает кейлог только по желанию пользователя. Кейлог включает в себя как текст, так и сканкоды.
Attachment:
2nd.kex [666 Bytes]
Downloaded 213 times

Author:  dunkaist [ Tue Apr 19, 2011 4:28 pm ]
Post subject:  Re: Уязвимости ядра

Думаю, именно для подобных вещей и существует багзилла.

Author:  Nasarus [ Sat Apr 23, 2011 11:18 pm ]
Post subject:  Re: Уязвимости ядра

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

Author:  Mario [ Mon Apr 25, 2011 7:57 am ]
Post subject:  Re: Уязвимости ядра

Может вместо апостольских откровений стоит заняться делом?

Author:  VaStaNi [ Mon Apr 25, 2011 9:36 am ]
Post subject:  Re: Уязвимости ядра

Напрасно, что создали эту тему и именно с таким сабжем.

Так называемых "уязвимостей" так много, что можно засыпать ветку до основания.

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

"Основные недостатки ядра и варианты их решения"

"Проблемы ядра при работе с ....., как это перспективно улучшить?"

"Архитектурные "упрощения" в ядре Колибри. Не пора ли поэтапно мутировать в "полноценное" ядро?"

и т.п.

Как таковые "Уязвимости" могут быть тогда, когда версия ядра (ОСи) достаточно стабильна, испытана, а изъяны архитектурного плана ядра изложены и перечислены.
Тогда по идее нельзя спутать архитектурный недостаток или ограниченность и именно уязвимость.
Хотя надо признать, реальная "активность ветки" даже такого плана, своего рода индикатор работы и вообще интереса в ядерном плане.
Имхо.

Author:  Nasarus [ Thu Apr 28, 2011 9:25 pm ]
Post subject:  Re: Уязвимости ядра

OK, на сабж всем насрать, убедили. Раз тема создана напрасно, можете удалять.

Author:  popovpa [ Thu Apr 28, 2011 9:50 pm ]
Post subject:  Re: Уязвимости ядра

Здравствуйте!

Тема нужная и правильная, просто она не в правильном русле...

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

Author:  Nasarus [ Thu Apr 28, 2011 10:03 pm ]
Post subject:  Re: Уязвимости ядра

Просто сейчас у меня совсем нет времени исправить дырки (к тому же, хотя vlnb-kos-s-0-a я и исправил, реализация фикса мало кому понравиться). Тема была создана в расчёте на то, что человек разбирающийся в ядре и имеющий желание(и время) сможет убрать уязвимости из системы с помощью этой самой темы.

Author:  Mario [ Fri Apr 29, 2011 8:03 am ]
Post subject:  Re: Уязвимости ядра

"Чистые руки - чистая совесть"...

Author:  Aeol [ Tue Feb 26, 2013 2:42 pm ]
Post subject:  Re: Уязвимости ядра

Интересно, а хоть одна из вышеописанных уязвимостей была закрыта, пускай даже частично?

Author:  yogev_ezra [ Tue Feb 26, 2013 2:43 pm ]
Post subject:  Re: Уязвимости ядра

Aeol wrote:
Интересно, а хоть одна из вышеописанных уязвимостей была закрыта, пускай даже частично?

Aeol = Nasarus? :-)

Author:  Aeol [ Tue Feb 26, 2013 2:52 pm ]
Post subject:  Re: Уязвимости ядра

Раньше - да, я этого и не скрываю.

Author:  Leency [ Tue Feb 26, 2013 2:55 pm ]
Post subject:  Re: Уязвимости ядра

ОГОГОШЕНЬКИ!! С возвращением!!!)))))))

Author:  Aeol [ Tue Feb 26, 2013 5:33 pm ]
Post subject:  Re: Уязвимости ядра

Leency wrote:
ОГОГОШЕНЬКИ!! С возвращением!!!)))))))

Приятно слышать, коли не шутишь)

Ну а если по существу, то я задал этот вопрос не потому, что решил поднять свою, никому не нужную тему, а так как мне на самом деле интересно латал ли, залатал ли кто-либо эти дыры, ибо последние 1,5 года я за проектом следил изредка и весьма поверхностно (в силу обстоятельств, разумеется)

Page 1 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/