Page 3 of 5
Re: Удаление 58 сис. функции из ядра.
Posted: Sat Oct 09, 2010 9:36 pm
by diamond
Mario wrote:Вообще-то проблема только быстрым перезапуском не ограничивается. Деструктивный код может перезаписать ядро и сохранить образ рамдиска, единственная вещь которая частично компенсирует это - ядро не знает откуда оно запущено. Это знает только пользователь.
Гы-гы-гы. Перезагрузку системы пользователь наверняка заметит. А основные проблемы далеко не с этим - сейчас программа может без особых проблем поиметь систему в сколь угодно извращённой форме даже без перезагрузки системы и даже без загрузки драйвера.
Вот, например, в аттаче программа, которая без всяких перезагрузок и без всяких драйверов забивает первый сектор диска /hd0 CC'шками (внимание! проверять только на жёстких дисках, которых не жалко! например, в эмуляторах, предварительно отсоединив рабочий диск и создав временный! и не говорите потом, что я не предупреждал!). Поскольку таймауты выверять лень и слишком сильно издеваться над системой тоже лень, при физическом отсутствии ATA-диска на Primary Master может подвесить систему наглухо на несколько секунд (но это устранимая особенность реализации); при наличии устройства отрабатывает мгновенно и тут же завершается, пользователь не имеет шансов понять, что произошло.
Но нет, нормальным программам нужно обязательно усложнить жизнь, заставив их зависеть от драйвера, а пользователя обязать включать драйвер или перекомпилировать ядро, в то время как вредоносные могут спокойно жить. Говорю же, идиотизм.
Re: Удаление 58 сис. функции из ядра.
Posted: Sat Oct 09, 2010 9:53 pm
by Mario
diamond
Ок, ты у нас самый умный, и вообще весь в белом. Вперед! По факту никто и не запрещал - люди высказывали соображения и все. Я тоже в свое время принимал любые высказывания исключительно как попытку покуситься на самое святое - на мое мнение.
Вероятно лет через 5-7 ты будешь думать по другому, а пока... творческих успехов, если уж один из главных программистов системы взялся за написание заведомо деструктивного кода, вместо шевеления извилинами над серьезной проблемой. Ломать - не строить.
Re: Удаление 58 сис. функции из ядра.
Posted: Sat Oct 09, 2010 10:01 pm
by diamond
Mario wrote:вместо шевеления извилинами над серьезной проблемой
Серьёзная проблема - это, что ли, определиться, заставлять ли пользователя перекомпилировать ядро каждый раз, когда он хочет отформатировать диск? Потому как разделение прав в данной теме есть явный оффтоп, а обсуждение шло про включение 59-й функции вместо удаляемой 58-й.
Re: Удаление 58 сис. функции из ядра.
Posted: Sun Oct 10, 2010 6:06 pm
by Nasarus
Diamond, а можно хотя бы в общих чертах объяснить каким образом работает твой код? Переполнение буфера или что-то другое? К сожалению, запустив под отладчиком phack, я не смог разобраться.
З.Ы. Давайте не будем обмениваться плевками друг другу в лица. В проекте и так мало программистов. Лучше коллективно решать проблемы с безопасностью

Re: Удаление 58 сис. функции из ядра.
Posted: Sun Oct 10, 2010 6:55 pm
by art_zh
Да, тут никакая условная компиляция не поможет - дырка знатная. Очень надеюсь, что Serge сможет когда-нибудь ее заткнуть. Правда, только на
3-м этапе.
И это будет уже совсем другая Колибри.
diamond, убрал бы ты эту хрень из темы пока только один Nasarus ее скачал...

Re: Удаление 58 сис. функции из ядра.
Posted: Sun Oct 10, 2010 7:12 pm
by Mario
Я убрал из поста деструктивный код.
Re: Удаление 58 сис. функции из ядра.
Posted: Sun Oct 10, 2010 7:24 pm
by Nasarus
art_zh
Скачал не ради коварных планов, банальное любопытсво

Re: Удаление 58 сис. функции из ядра.
Posted: Mon Oct 11, 2010 6:38 am
by staper
Частично ограничить (и свои) деструктивные действия на машине мне приходилось перехватом функций в systable посредством простейшего драйвера, заменяя адреса сисфункций на код возврата. "Лишние" приложения часто падают, зато система стоит как крепость.
Re: Удаление 58 сис. функции из ядра.
Posted: Mon Oct 11, 2010 1:26 pm
by diamond
Ага, значит, Марат дорвался до власти и спокойно правит чужие посты. Правда глаза колет, что ли? Это страусиная политика по принципу "прячем голову в песок и делаем вид, что всё нормально", но удалять-то надо дырки в ядре, а не примеры эксплуатации дырок - примеры-то и ещё написать можно, более вредные.
Nasarus wrote:К сожалению, запустив под отладчиком phack, я не смог разобраться.
На то и было рассчитано - там приняты некоторые меры против излишне любознательных. Меры, конечно, по виндовым меркам довольно примитивные, но всё же требуют определённого опыта, а человек с таким опытом и дырки в текущем ядре легко найдёт.
Nasarus wrote:а можно хотя бы в общих чертах объяснить каким образом работает твой код?
Здесь же собралась куча знатных специалистов по чесанию языками на тему, как нужно устроить ядро и что в нём не так - вот у них и спрашивай. Только
Serge несколько выпадает - он реально в курсе принципов, по которым такое можно устроить. Скажу только, что никакие буферы не переполняются.
Не будучи модератором, не могу послать весь форум нафиг, но зато могу сам уйти в противоположном направлении, что даст примерно такой же эффект. Что я и сделаю.
Re: Удаление 58 сис. функции из ядра.
Posted: Mon Oct 11, 2010 1:35 pm
by Mario
diamond
Ага, значит, Марат дорвался до власти и спокойно правит чужие посты. Правда глаза колет, что ли?
1) Нет, я всего-лишь удалил пример самого деструктивного код. Я считаю такому коду не место в открытом доступе.
2) Я не трогал ни единого слова в твоих постах, как и в постах любого из зарегистрированных форумчан с момента получения мной статуса модератор. Статус используется исключительно для поддержания форума в надлежащем виде.
3) Я уже перерос давно некоторые детские болезни. Я ведь не трогал пост Назаруса -хотя он там открыто описывывает уязвимость, но он не выкладывал исполняемого бинарного файла. Это разные вещи.
4) Каждый волен сам решать когда приходить и когда уходить, когда выдавать свои слова и когда забирать их обратно.
5) Личные трудности в жизни не повод плеваться во все стороны.
Re: Удаление 58 сис. функции из ядра.
Posted: Mon Oct 11, 2010 2:05 pm
by Nasarus
Очень не хотелось бы, чтобы Diamond покидал форум, всё-таки он составитель дистрибутивов и хороший программист, но, если ему так захотелось - это его право. Выскажу своё скромное мнение:
1. Марат удалил код после просьбы art_zh об удалении.
2. Выкладывать опасный код идея не совсем, ИМХО, правильная, т.к. его можно прикрутить к любой программе или сделать на основе него вирус.
3. Писать код, использующий уязвимости, вместо того, чтобы на них указать сообществу и искать способы решения всем вместе - это такая новая политика, да? Если да, то очень нездоровая...
Re: Удаление 58 сис. функции из ядра.
Posted: Thu Oct 28, 2010 11:47 am
by maximYCH
Цитирую слова одного человека: договариваться и проектировать корабль нужно на берегу, а не тогда, когда он уже пустился в плавание.
Re: Удаление 58 сис. функции из ядра.
Posted: Thu Oct 28, 2010 1:26 pm
by art_zh
Nasarus wrote:... Марат удалил код после просьбы art_zh об удалении...
Моя просьба была направлена к маэстро
diamondу, который ее безмятежно проигнорировал.
Если бы не Марат - эта хрень уже гуляла бы по Сети, и каждый мелкий пакостник мог бы ее к чему-нибудь приляпать.
Хотя так или иначе дело сделано - Маэстро достаточно подробно обрисовал симптомы,-
- теперь вовсе не нужно быть семи пядей во лбу, чтобы догадаться что это за дырка и насколько сложно ее заткнуть.
Re: Удаление 58 сис. функции из ядра.
Posted: Sat Oct 30, 2010 9:55 pm
by Gluk
не надеюсь что мне ответит Даймонд (впрочем, было бы не плохо, мне правда интересно), но как можно:
1) выложить эксплуатацию уязвимости,
2) защитив ее при этом от отладки,
3) и сказать что плохо удалять эксплуатацию вместо уязвимости.
вопрос - как можно удалить уязвимость, если информация о ней не раскрывается, и код эксплуатации защищен от изучения?
Думаю, как раз таки от исходного кода было бы больше пользы. Да, его можно повторить в любой программе, но дыру заткнуть будет в бесконечность раз проще, и эти повторения кода будут бессмысленны.
В ситуации же, когда эксплуатация бесполезна для затыкания дыры (защищена от изучения), но вполне применима во вредоносных целях (тупой запуск из любой программы, никакого изучения не нужно), удаление ее со страниц форума вполне оправдано на мой взгляд, и я на месте Марата поступил бы так же, безотносительно от того, кто выложил бы эксплуатацию в таком виде (главный ли программист проекта, главный ли сборщик дистрибутива).
Re: Удаление 58 сис. функции из ядра.
Posted: Sat Oct 30, 2010 11:30 pm
by Serge
По косвенным признакам предполагаю что это
Дыра древняя, как сама система.