LINUX.ORG.RU

Выявлена дыра, позволяющая «уронить» компьютер с Linux под любым пользователем

 ,


0

2

В списке рассылки разработчиков ядра Linux (LKML) был обнародован код, позволяющий через вызов функции ядра socketpair() создать процесс, съедающий 100% процессорного времени и все файловые дескрипторы. Процесс, будучи запущенным от имени любого пользователя, может привести систему к состоянию полной неработоспособности.

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

>>> Подробности

★★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 2)

Все баги не переловить.

dnua
()
Ответ на: комментарий от shimon

Если считать IT как инфраструктуру, то всё ОК. Если как инновация, то её нет. Сейчас IT как наркотик, без которого ломка будет, а с которым профита давно уже нет, но тело разрушает.

Короче, блеск и ницета IT Н. Карра в руки.

anonymous
()
Ответ на: комментарий от alx_me

> Новая целевая функция это «красота». А её без обучения не понять.

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

«Ой я забыл»


— Да не проблема, все мы забывчивы. О, кстати, я тоже вспомнил кое-что. Вы нам еще 3500 евро должны. Проплатите, пожалуйста, сегодня, а то нам аренду офиса платить, а мы и забыли совсем.

«Ну это же очевидно проистекает»


— Так почему бы и не написать? Вы вот в ТЗ пишете, что именно вы заказчик, хотя это тоже очевидно проистекает. Кстати, 4000 евро дополнительно тоже весьма очевидно проистекают в связи с вашим запросом. Могу объяснить, зачем, если хотите.

— Как это очевидно?

— Ну хорошо, неочевидно из вас проистекает еще 7000 евро. Можете выбирать. Вот 10 различий между проистекает и не проистекает. И по времени оно меньше недели не займет, можете даже у IBM спросить.

«У всех так»


— Понимаете, в арбитражном суде, буде случится чего, это не покатит. Оно либо написано и мы делаем, как написано, либо его вообще нет.

«Там дешевле и они более чуткие»


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

Телефон и пара центральных специалистов заменяют 600 страничный ТЗ.


По любому все фиксируется в письменном виде, на это есть более 9000 причин, не все связаны с этикой и добросовестностью. Иногда заказчик не помнит, чего и как он говорил, а нам надо помнить, потому что мы это делаем.

shimon ★★★★★
()
Ответ на: комментарий от shimon

>А так и будет, если раболепствовать в стиле лучших аутсорсинговых контор. «Да, насяльника, как сказэте, насяльника, на вцера, насяльника, в луцсем виде, насяльника!» Поубивал бы.

Дык, если бы программисты умели бы программы писать...

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

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

Заказчики, заметьте, пишут ТЗ так же, как программисты пишут программы - с кучей ошибок и набором версий. Чего ж программисты возмущаются?

anonymous
()
Ответ на: комментарий от anonymous

> Заказчики, заметьте, пишут ТЗ так же, как программисты пишут программы - с кучей ошибок и набором версий. Чего ж программисты возмущаются?

ТЗ пишется вместе. Я знаю только одну контору, грамотно, по ГОСТу накатавшую ТЗ, да и то пара неоднозначностей там таки была. Его надо читать, делать предложения, утрясать. А вот когда утрясено ТЗ и цена, то на все отмазки — платить дополнительно.

shimon ★★★★★
()
Ответ на: комментарий от shimon

>А вот когда утрясено ТЗ и цена, то на все отмазки — платить дополнительно.

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

В конце-концов, если за ошибки в программе платит заказчик, то почему бы за ошибки в ТЗ не платить программисту?

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

anonymous
()
Ответ на: комментарий от sv75

>> к сожалению товарищ Линукс это в университете не изучал, наверное некогда было.

Он как бы физик.

Он именно что системный погромист :)

tailgunner ★★★★★
()

Дыра у девок между ног

смешно и грустно, школота на лоре постит новости

anonymous
()
Ответ на: комментарий от deis

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

lucentcode ★★★★★
()
Ответ на: комментарий от anonymous

> В конце-концов, если за ошибки в программе платит заказчик, то почему бы за ошибки в ТЗ не платить программисту?

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

Меж тем по описанной форме ТЗ создание ТЗ будет стоить столько же сколько сам продукт. И юристы не в накладе. Где красота? Далее вы то всё помните, но кто заказчику гарантирует что вы не навспомнинаете лишнего? То есть всё равно приходим к доверию и не доверию. Так нахрена вообще начинать ТЗ, возиться..

alx_me ★★☆
()
Ответ на: комментарий от BaBL

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

lucentcode ★★★★★
()
Ответ на: комментарий от matumba

У меня похожие соображения. Пока нет принципиально лучшей ОС, Microsoft спит спокойно. Если бы удалось поднять GNU/Hurd или Minix против NT, не было бы сейчас ни MS, ни Джопса.

lucentcode ★★★★★
()
Ответ на: комментарий от tazhate

Как раз хостеры с доступом по shell без компилятора - плохие. Проект на PHP или Python нередко нуждается в модулях на C, и для сборки нашей .so обычно нужен компилятор.

lucentcode ★★★★★
()
Ответ на: комментарий от lucentcode

>Как раз хостеры с доступом по shell без компилятора - плохие.

А хороших всех уже поломали.

sun-lsd
()
Ответ на: комментарий от sun-lsd

Подход странноватый, вам не кажется? Так и я могу свой дистр заставить на uname UNIX выдавать. С формальной точки зрения, не опускаясь до маркетоидного бреда, определение Unix можете назвать?

A-234 ★★★★★
()

[quote]

+    * If number of inflight sockets is insane,

+    * force a garbage collect right now.


[/quote]

В ядре есть сборщик мусора! Скандалы, интриги, расследования!

Yareg ★★★
()
Ответ на: комментарий от anonymous

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

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

shimon ★★★★★
()
Ответ на: комментарий от tazhate

> хостеры, оставляющие компилятор в таком случае - ССЗБ.

А кто мешает притащить уже скомпилированный эксплоит на хостинг без компилятора?

lkanter
()
Ответ на: комментарий от grigoreo

Я не говорю, что надо бежать на миникс. Я говорю о том, что рано или поздно линукс сколлапсирует из-за ущербной монолитности.

flareguner
()
Ответ на: комментарий от shimon

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

Тогда погромист должен платить за ошибки в программе . Ибо именно он проектирует, пишет и отлаживает программу по ТЗ заказчика. А это - пожизненная кабала с учётом технологий создания программ на сегодня.

anonymous
()
Ответ на: комментарий от anonymous

> Тогда погромист должен платить за ошибки в программе . Ибо именно он проектирует, пишет и отлаживает программу по ТЗ заказчика. А это - пожизненная кабала с учётом технологий создания программ на сегодня.

Именно. Каждый должен нести свою долю ответственности.

Для этого в ТЗ описывается, что означает «программа готова к коммерческой эксплуатации» (критерии нагрузок и производительности, отсутствие ошибок в диалоге с пользователем), а в договоре прописываются санкции за то, что программа к сроку не готова к этой самой эксплуатации, или если вдруг она валится во время коммерческой эксплуатации.

Этими санкциями может быть некий grace period, в который разработчик должен отреагировать, а также некий срок, в который ошибка должна пофикситься бесплатно, а потом за каждые сутки можно снимать с разработчика вполне реальных денег, либо в счет услуг, либо требовать перечисления энной суммы.

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

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

shimon ★★★★★
()
Ответ на: комментарий от flareguner

>Я не говорю, что надо бежать на миникс. Я говорю

Да в том и дело что ты и подобные графоманы умеете только говорить причем много и не по-делу. Подобных тебе ушастых студентиков по всему миру много - уже который год ядро minix3 дальше х86 не могут портировать, чего вы можете кроме разговоров о великих языках, верифицированных ядрах и идеальном ПО ?

anonymous
()
Ответ на: комментарий от shimon

Это про какие проекты какого уровня, какой стоимости, трудозатрат и уникальности идёт речь?

anonymous
()
Ответ на: комментарий от anonymous

> уже который год ядро minix3 дальше х86 не могут портировать,

Там в ДНК проблема. Они сегменты любили.

sv75 ★★★★★
()
Ответ на: комментарий от Manhunt

> > Так возьми да исправь, о великий знаток алгоритмов.

Не переживай, исправят скоро очередным костылём. По той же методике, что и бреши в btrfs подлатывают. Лучшее, что можно сделать со всем этим говнокодом - завернуть его в целофановый пакет чтобы не воняло и вынести на свалку. Потому что defective by design. Там попросту нечего исправлять.


Я поначалу подумал, что вы действительно достаточно умны. Но, увы, оказалось, что вы обычный болтун с амбициями.

andreyu ★★★★★
()

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

После этого действия у него слетел Nautilus с рабочим столом. Попросил больше не присылать «вирусов».

Niambo
()
Ответ на: комментарий от sv75

Проблемы с ДНК там только у комьюнити, любой MMU работает со страницами, адаптировать код чтобы не использовать сегменты видимо некому. Потом я не поверю что сегменты там гвоздями приколочены, для старых миниксов мануалы были как портировать ядро на архитектуры отличные от х86.

anonymous
()
Ответ на: комментарий от anonymous

Эти же проблемы с ДНК и у Сышкина, если бы кроме пафоса от диплома МГУ он что-то хотел то пошел бы по пути ntfs-3g чтобы реализация ФС не зависела от ОС.

anonymous
()
Ответ на: комментарий от anonymous

>чего вы можете кроме разговоров о великих языках, верифицированных ядрах и идеальном ПО ?

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

sun-lsd
()
Ответ на: комментарий от sun-lsd

>Специальные лисп-машины выпускались для исследований в области ИИ. Игрушки в графике высокого разрешения

Ну а сегодня ИИ в игрушках на Lua пишут - чего, он мега языком стал от этого ? Местные лиспотроли народ вообще чудесный - один волосатый штангист чего стоит :)

anonymous
()
Ответ на: комментарий от lucentcode

> Ну как тут не вспомнить о Minix Таннебаума?

Давайте вспомним.

... у микроядра свои плюсы. ...

И после этой фразы не назван ни один плюс.

А в микроядре вы можете тщательно проверить само это ядро, затем проверить каждый модуль, и в результате получить надёжную ОС.

Проверить «само ядро и КАЖДЫЙ модуль» абсолютно равносильно «тщательной проверке» ядра линукс и КАЖДОГО его модуля. И точно также невыполнимо.

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

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

Далее, что делать, если модуль не упал а просто «сошел с ума» и начал бросаться левыми ответами, виснуть на вызовах?

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

В монолитных и гибридных ядрах намного больше проблем.

Их там меньше. Потому именно их и используют. А микроядро навсегда останется учебным примером в академических исследованиях.

anonymous
()
Ответ на: комментарий от shimon

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

apt-get install irqbalance

anonymous
()
Ответ на: комментарий от shimon

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

apt-get install irqbalance

anonymous
()
Ответ на: комментарий от anonymous

Это я про «великие языки». Большинство проблем с безопасностью, типа переполнения буфера, или неправильного приведения типов там не существовало как класс, опять же ошибки компилятора сс, когда с определенными флагом оптимизации можно собрать систему с уникальными артефактами.

sun-lsd
()
Ответ на: комментарий от anonymous

> Проверить «само ядро и КАЖДЫЙ модуль» абсолютно равносильно «тщательной проверке» ядра линукс и КАЖДОГО его модуля.

Вообще-то нет. По крайней мере, есть гарантия от того, что один модуль портит память другого.

Как перезапустить модуль файловой системы если упал модуль файловой системы? А если упал контроллер жесткого диска?

А если сети, USB или видео?

Микроядро не является «серебряной пулей», но многие проблемы всё же решает. Просто во время последней попытки (~15 лет назад) плата оказалась неприемлемой, и с тех пор никто всерьез и не пытался.

tailgunner ★★★★★
()
Ответ на: комментарий от sun-lsd

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

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

sun-lsd
()
Ответ на: комментарий от sv75

Не всегда. Ариан 5, к примеру, контрпример.

Это очень хреновый контрпример, который показывает что будь у тебя хоть статическая типизация, хоть юнит-тесты, хоть полное формальное доказательство безошибочности кода, от глюков ты всё равно не уйдёшь.

ugoday ★★★★★
()
Ответ на: комментарий от Manhunt

> Говорит же вам Шишкин про алгоритмы и про МГИМО

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

anonymous
()
Ответ на: комментарий от grigoreo

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


Ну вообще какбэ гранты принято давать за научные академические разработки...

они туда уже гнома с кедами хотят втянуть на кой эти потуги с портированием такого сопутствующего софта если у них нет цели сделать его десктопом


Чтобы сделать Миникс десктопом нужно намного больше. На этот грант они разве что доставку пиццы для команды программистов организуют. Кому вообще нужен Миникс на десктопе? Это вообще сюрреализм какой-то. Существующие технологии вполне всех удовлетворяют и будут это делать, боюсь, еще ни один десяток лет как минимум.

Alsvartr ★★★★★
()
Ответ на: комментарий от sun-lsd

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

anonymous
()
Ответ на: комментарий от annoynimous

> запусти while(true) {} и убедись, насколько автомат конечный.

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

sjinks ★★★
()

Самая главная дыра любой системы - это её пользователь. Тем или иным способом заддосить можно любую систему

frost_ii ★★★★★
()
Ответ на: комментарий от ugoday

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

Ну тут одно из двух --- либо полное, либо глюки. По определению.

sv75 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.