Board.KolibriOS.org

Official KolibriOS board
It is currently Sun May 26, 2019 4:20 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 24 posts ]  Go to page 1 2 Next
Author Message
PostPosted: Tue Apr 19, 2011 4:21 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Предлагаю в этой теме писать об уязвимостях ядра, которые, к сожалению, имею место быть.
В этом сообщении будет представлен актуальный список уязвимостей, чтобы с ними можно было бы ознакомиться, не перечитывая всю тему.
Уязвимости ядра:



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" - низкий

_________________
ушёл...


Top
   
 Post subject: vlnb-kos-s-a-1
PostPosted: Tue Apr 19, 2011 4:24 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Оказывается многие сисфункции позволяют писать в память ядра. В большинстве случаях максимум чего может добиться злобный кодер - это ушатать систему, заставив её зависнуть, но с помощью некоторых сисфункций можно записывать любые данные, включая вредоносный код, и дают шанс выполнить его в 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 183 times


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

_________________
ушёл...


Top
   
PostPosted: Tue Apr 19, 2011 4:28 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 416
Думаю, именно для подобных вещей и существует багзилла.


Top
   
PostPosted: Sat Apr 23, 2011 11:18 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Не каждый баг - это уязвимость, и не каждая уязвимость - это баг :)
Думаю, такая серьезная проблема, как огромные дыры в системе, заслуживает внимания - в нынешнем положении любая программа может делать что угодно и иметь систему как ей заблагорасудиться в любых позах.

_________________
ушёл...


Top
   
PostPosted: Mon Apr 25, 2011 7:57 am 
Может вместо апостольских откровений стоит заняться делом?


Top
   
PostPosted: Mon Apr 25, 2011 9:36 am 
Offline
Just Flooding
User avatar

Joined: Wed May 18, 2005 10:27 am
Posts: 430
Напрасно, что создали эту тему и именно с таким сабжем.

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

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

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

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

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

и т.п.

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


Top
   
PostPosted: Thu Apr 28, 2011 9:25 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
OK, на сабж всем насрать, убедили. Раз тема создана напрасно, можете удалять.

_________________
ушёл...


Top
   
PostPosted: Thu Apr 28, 2011 9:50 pm 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
Здравствуйте!

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

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


Top
   
PostPosted: Thu Apr 28, 2011 10:03 pm 
Offline
User avatar

Joined: Wed Jan 27, 2010 10:59 am
Posts: 269
Просто сейчас у меня совсем нет времени исправить дырки (к тому же, хотя vlnb-kos-s-0-a я и исправил, реализация фикса мало кому понравиться). Тема была создана в расчёте на то, что человек разбирающийся в ядре и имеющий желание(и время) сможет убрать уязвимости из системы с помощью этой самой темы.

_________________
ушёл...


Top
   
PostPosted: Fri Apr 29, 2011 8:03 am 
"Чистые руки - чистая совесть"...


Top
   
PostPosted: Tue Feb 26, 2013 2:42 pm 
Offline

Joined: Tue Feb 26, 2013 1:00 pm
Posts: 19
Интересно, а хоть одна из вышеописанных уязвимостей была закрыта, пускай даже частично?


Top
   
PostPosted: Tue Feb 26, 2013 2:43 pm 
Offline
Public Relations
User avatar

Joined: Mon Jun 07, 2010 12:01 pm
Posts: 1879
Aeol wrote:
Интересно, а хоть одна из вышеописанных уязвимостей была закрыта, пускай даже частично?

Aeol = Nasarus? :-)


Top
   
PostPosted: Tue Feb 26, 2013 2:52 pm 
Offline

Joined: Tue Feb 26, 2013 1:00 pm
Posts: 19
Раньше - да, я этого и не скрываю.


Top
   
PostPosted: Tue Feb 26, 2013 2:55 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
ОГОГОШЕНЬКИ!! С возвращением!!!)))))))

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Feb 26, 2013 5:33 pm 
Offline

Joined: Tue Feb 26, 2013 1:00 pm
Posts: 19
Leency wrote:
ОГОГОШЕНЬКИ!! С возвращением!!!)))))))

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 24 posts ]  Go to page 1 2 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited