|
2.13, Аноним (-), 12:17, 05/10/2015 [^] [^^] [^^^] [ответить]
| –7 +/– |
Боюсь, что если по коду ядра и базовой системы OpenBSD пройтись анализатором, большинство их разработчиков придется принудительно переквалифицировать в дворники.
| |
|
1.2, manster (ok), 11:07, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –13 +/– |
Казалось бы чего там искать - сервер слушает SMTP-порт, принимает текстовые команды ...
Никаких инъекций ...
Скорее всего проблема чудес в решете TCP-сервера ...
| |
|
2.15, Pahanivo (ok), 13:05, 05/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Казалось бы чего там искать - сервер слушает SMTP-порт, принимает текстовые команды
> ...
> Никаких инъекций ...
> Скорее всего проблема чудес в решете TCP-сервера ...
)))))
ну во-первых как ты сам сказал сервер принимает команды - уже куча возможностей наклепать дыр с переполнением буфера и тд и тп.
а во-вторых сервак тело письма не просто транзитом гонит - он его еще как бы и обрабатывает ... читает и пишет ...
вообще глупым людям мир всегда кажется проще ))
| |
|
3.22, www2 (ok), 16:43, 05/10/2015 [^] [^^] [^^^] [ответить]
| +8 +/– |
Слышу! Слышу голос быдлокодера! Казалось бы, подумаешь - прямо из веб-формы данные подставляются в SQL-запрос... Казалось бы, подумаешь - какие-то "пинги" в OpenSSL проверяют доступность другой стороны... Казалось бы, подумаешь данные из заголовка веб-запроса передаются в CGI-скрипт как переменные окружения через bash... Казалось бы, подумаешь - перемножаем ширину картинки на высоту (получая целочисленное переполнение) и выделяем буфер под картинку...
| |
3.47, Pahanivo (ok), 07:12, 06/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> читаем внимательно ... с выражением ... "казалось бы"
тихо, спокойно, принимаем лекарства и по палатам.
| |
|
|
1.3, anonymous (??), 11:20, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Казалось бы чего там искать - сервер слушает SMTP-порт, принимает текстовые команды ...
Дурилко, уязвимостей в разбиралках текстовых протоколов всегда больше. Просто сишечка никак не помогает при выделении кусков памяти произвольного размера, которые заранее неизвестны.
| |
|
2.4, Crazy Alex (ok), 11:29, 05/10/2015 [^] [^^] [^^^] [ответить]
| +4 +/– |
Вообще-то как с этим бороться - известно уже лет сорок. Полный отказ от буферов фиксированного размера, обработка функциями, принимающими длину буфера, переаллокация при нужде... И библиотек, которые всё это делают - вагон, если руками лень.
В сущности, очень забавляет, что у BSD-шников, кичащихся своей безопасностью, ошибки такие детские.
| |
|
3.14, Аноним (-), 12:19, 05/10/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
> В сущности, очень забавляет, что у BSD-шников, кичащихся своей безопасностью, ошибки такие детские.
Да не, все закономерно. Это всегда так - чем больше показных понтов, тем меньше для них реальных оснований.
| |
|
4.67, st17 (ok), 23:06, 08/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
Аноним:
"Да не, все закономерно. Это всегда так - чем больше показных понтов, тем меньше для них реальных оснований."
Аноним, приведите пожалуйста "реальные основания" обосновывающие ваше неуважительное сообщение?
| |
|
3.66, st17 (ok), 22:53, 08/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
Crazy Alex:
"В сущности, очень забавляет, что у BSD-шников, кичащихся своей безопасностью, ошибки такие детские."
Использовали ли вы индукцию?
Crazy Alex:
"Вообще-то как с этим бороться - известно уже лет сорок. Полный отказ от буферов фиксированного размера"
28.07.2015
"Критическая уязвимость в Android, позволяющая получить контроль через отправку MMS...
Причиной уязвимости является выход за границы буфера в библиотеке обработки мультимедийных данных"
http://www.opennet.me/opennews/art.shtml?num=42677
Crazy Alex:
"И чего ради это проблема для людей на техническом форуме? наверняка патчи к прошивкам для большинства устройств появятся быстро"
http://www.opennet.me/opennews/art.shtml?num=42677#21
Crazy Alex, чтобы вы написали в ответе на это сообщение?
| |
|
2.23, www2 (ok), 16:49, 05/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да-да, берём насплошь двоичную картинку, перемножаем ширину картинки на высоту и выделяем буфер. Не важно, что там целочисленное переполнение при перемножении случилось. Ни сишечка, ни один другой язык не может полностью заменить мозг. На что вы там молетесь? На жабку? Открываем список уязвимостей в жаба-машине, которая, на минуточку, тоже написана на жабе и видим ту же самую картину. А теперь открываем список уязвимостей Exim и Postfix и видим, как можно писать аккуратно без использования защитных мер, и видим как можно продумать архитектуру так, что защитные меры не позволяют воспользоваться потенциальными ошибками. Это результат использования мозга.
| |
|
3.40, iZEN (ok), 20:39, 05/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Открываем список уязвимостей в жаба-машине, которая, на минуточку, тоже написана на жабе
Внезапно Oracle JVM написана на C++.
| |
3.74, Аноним (74), 23:27, 29/09/2019 [^] [^^] [^^^] [ответить]
| +/– |
> А теперь открываем список уязвимостей Exim и Postfix и видим, как можно писать аккуратно без использования защитных мер
Пишу из 2019 года. У нас теперь этот список уязвимостей Exim постоянно перед глазами.
| |
|
|
1.5, Аноним (-), 11:40, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Ой, они буфер разбора заголовка размещают в стэке. В cтэке! Где следом за этим буфером идёт указатель возврата из функции.
static void
filter_tx_io(struct io *io, int evt)
{
struct filter_session *s = io->arg;
size_t len, n;
char *data;
char buf[65535];
switch (evt) {
case IO_DATAIN:
data = iobuf_data(&s->ibuf);
len = iobuf_len(&s->ibuf);
memmove(buf, data, len);
buf[len] = 0;
| |
|
2.18, Crazy Alex (ok), 13:37, 05/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Кхм, ну и код. С магическими константами, фиксированным буфером и отсутствием проверок. Стек - то ладно, дело такое, кучу портить - тоже не сахар.
| |
|
3.43, Wladmis (ok), 00:53, 06/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Кхм, ну и код. С магическими константами, фиксированным буфером и отсутствием проверок. Стек - то ладно, дело такое, кучу портить - тоже не сахар.
Это 65535 магическая константа? И memmove нуждается в проверке?
| |
|
|
1.6, angra (ok), 11:40, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| +14 +/– |
> Отказ мотивирован тем, что OpenSMTPD по умолчанию принимает соединения только от
> локальных пользователей системы и прикрепляется к сетевому интерфейсу loopback, что при
> настройках по умолчанию позволяет осуществить атаку только имея аккаунт в системе.
Считаю это гениальным решением. Все сервисы по умолчанию вешать только на петлю и вот у нас волшебным образом получается неуязвимая для внешних атак ОС, можно хвалится всего двумя remote дырками за все время. А про то, что пользы от такой ОС ненамного больше, чем от полностью выключенного компа, можно скромно промолчать.
| |
|
2.8, Классический Анонимус (?), 11:56, 05/10/2015 [^] [^^] [^^^] [ответить]
| +6 +/– |
Да, в общем-то это известно, что неломаемость ОпенБЗД это на самом деле неуловимость (того самого Джо).
Если в "мегабезопасном" OpenBSD нет например МАС, а в "дырявых" Linux/FreeBSD есть, то очень сложно найти этому внятное объяснение, кроме версии выше.
| |
|
3.11, Аноним (-), 12:16, 05/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Если в "мегабезопасном" OpenBSD нет например МАС, а в "дырявых" Linux/FreeBSD есть,
> то очень сложно найти этому внятное объяснение, кроме версии выше.
Простое объяснение есть: фимозность некоего Тео.
В этом смысле он похож на некоего Марка: главное, побольше пиара, а что там на самом деле - никому не важно.
| |
|
2.68, st17 (ok), 23:14, 08/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
angra:
> "Считаю это гениальным решением. Все сервисы по умолчанию вешать только на петлю и вот у нас волшебным образом получается неуязвимая для внешних атак ОС, можно хвалится всего двумя remote дырками за все время"
Очень остроумный комментарий?
angra, у вас есть фактические возражения по количеству уязвимостей?
| |
|
1.7, Классический Анонимус (?), 11:51, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
Непонятно зачем они в 2015 году пишут достаточно сложную прожку на СИ. Взяли бы сипипи! (пишу как жабист, понимающий, что жаба на данную задачу не подходит). Но на СИ писать - это просто клиника.
| |
|
2.9, невидимка (?), 12:05, 05/10/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Клиника - это писать системные вещь на языке предназначенном для прикладного ПО.
| |
|
3.10, Аноним (-), 12:14, 05/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
Почтовик - это типа не системное ПО, а прикладное? Breaking news, однако.
| |
|
4.24, www2 (ok), 16:58, 05/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> smtpd и есть прикладное ПО, работает исключительно в userspace
Нуачо, давайте тогда уж и ядро на C++ писать. Прикладное ПО - это ПО, с которым работает только непосредственно пользователь.
C smtpd работает не только пользователь, с ним программы работают, в том числе на других компьютерах - по сети. Все сетевые серверы, все suid-программы или программы, использующие всякие разные capabilities или имеющие прямой доступ к устройствам или драйверам устройств считаются системными. Программы, скачивающие ПО и проверяющие цифровые подписи у этого ПО, тоже можно считать системными. Компиляторы, компоновщики, загрузчики - тоже системное ПО, т.к. им собирают всё вышеозначенное - не хорошо будет, если в неуязвимые программы компилятор добавит закладки.
| |
|
5.37, Аноним (-), 20:14, 05/10/2015 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Нуачо, давайте тогда уж и ядро на C++ писать.
Пробовали, каждый раз получалась какая-то хрень.
| |
|
6.61, www2 (ok), 18:48, 08/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Нуачо, давайте тогда уж и ядро на C++ писать.
> Пробовали, каждый раз получалась какая-то хрень.
Вы не понимаете иронии?
| |
|
5.48, angra (ok), 08:59, 06/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Нуачо, давайте тогда уж и ядро на C++ писать.
Ядро работает в userspace? Или ты просто не знаешь что это такое? Ну и чисто для сведения, ядра, написанные на С++, существуют и вполне успешны.
> Прикладное ПО -
> это ПО, с которым работает только непосредственно пользователь.
Я правильно понимаю, что любая cli программа, например grep, это уже не прикладное ПО? Ведь с ней работают другие программы, а не только пользователь.
> C smtpd работает не только пользователь, с ним программы работают, в том
> числе на других компьютерах - по сети. Все сетевые серверы, все
> suid-программы или программы, использующие всякие разные capabilities или имеющие прямой
> доступ к устройствам или драйверам устройств считаются системными. Программы, скачивающие
> ПО и проверяющие цифровые подписи у этого ПО, тоже можно считать
> системными. Компиляторы, компоновщики, загрузчики - тоже системное ПО, т.к. им собирают
> всё вышеозначенное - не хорошо будет, если в неуязвимые программы компилятор
> добавит закладки.
Да, богато у тебя в голове намешано. Однострочник на перле или рубине, слушающий порт, уже системное ПО, поставил программе suid бит и магически из прикладной сделал ее системной, wget/curl/browser/любая_другая_качалка и md5sum тоже системными заделались. Ну и странно, что ты архиваторы и текстовые редакторы в системные не записал, а вдруг они тоже закладки сделают(про то, как закладки в твоем мозгу связаны с делением на системное и прикладное ПО, даже знать не хочу).
| |
|
6.62, www2 (ok), 19:05, 08/10/2015 [^] [^^] [^^^] [ответить] | +/– | Вы не понимаете иронии Про ядра на C я наслышан и не сказал бы что они очень ... большой текст свёрнут, показать | |
|
|
|
3.27, www2 (ok), 17:12, 05/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
> Клиника - это писать системные вещь на языке предназначенном для прикладного ПО.
Что за новости? Расскажи-ка тогда, на каком таком языке пишутся системные вещи, если не на Си? Посмеяться хочу.
| |
|
|
5.63, www2 (ok), 19:08, 08/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Rust через лет 5.
Ну ты понимаешь, что ты меня повеселил?
| |
|
4.33, клоун (?), 18:27, 05/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
На любом. В Линуксе принят Си только потому, что Торвальдс не любит (не осилил) С++. МС пишет на С/С++ со времён Windows 95 OSR2.
Стоит напомнить, что язык Си был создан на базе языка Би, затем был создан язык Ди. И все они создавались компанией для внутренних нужд с целью упрощения программирования конкретных задач.
| |
|
5.36, Аноним (-), 20:11, 05/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
> МС пишет на С/С++ со времён Windows 95 OSR2.
Это очень, очень, (очень) плохая рекомендация.
| |
|
|
|
2.25, www2 (ok), 17:04, 05/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Непонятно зачем они в 2015 году пишут достаточно сложную прожку на СИ.
> Взяли бы сипипи! (пишу как жабист, понимающий, что жаба на данную
> задачу не подходит). Но на СИ писать - это просто клиника.
Ты, жабист, верно думаешь, что сипипи поддерживает уборку мусора, контроль выхода индекса за пределы массива и всякие ништяки типа работы со строками? Нет, братан, сипипи - это тот же си, только в профиль.
Си - небольшой, по нему уже есть обширная практика хождения по граблям. Опытный разработчик знает все грабли и пишет, обходя грабли. Опытным разработчиком на сипипи стать гораздо сложнее, т.к. язык сложнее, граблей больше - не по всем ещё прошлись, не все грабли в голове программиста умещаются.
| |
|
|
4.64, www2 (ok), 19:21, 08/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ты плюсы вообще видел?
> std::string
> std::vector
> auto iter = v.begin()
Уборка мусора - это вот это вот?
Class * a = new Class;
...
delete a;
Контроль выхода за пределы индекса массива - это вот это вот?
Class * a = new Class;
Class b = a[1];
Какая кодировка - стандартная в C++? ASCII? UTF-8? В какой кодировке этот ваш std::string работает?
| |
|
|
2.69, st17 (ok), 23:21, 08/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Непонятно зачем они в 2015 году пишут достаточно сложную прожку на СИ.
> Взяли бы сипипи! (пишу как жабист, понимающий, что жаба на данную
> задачу не подходит). Но на СИ писать - это просто клиника.
Классический Анонимус, чем в данном контексте С отличаетася от C++?
"Но на СИ писать - это просто клиника."
Повторите ли вы эти слова инженерам программы работавшим на марсоходом Curiosity?
https://en.wikipedia.org/wiki/Mars_Science_Laboratory
| |
|
|
2.32, клоун (?), 18:23, 05/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
Этот "цирк" называется маркетингом.
Достаточно написать где-нибудь, что "мы считаем сбоями только случаи, по которым доказанные финансовые потери одного клиента составили не менее 1 млн.$" и можно писать, что у тебя за всё время было лишь 3 сбоя.
Аналогичным образом действует FSF, который переопределил понятие "свобода".
| |
|
1.19, Kodir (ok), 14:21, 05/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –8 +/– |
"локальное переполнение буфера" Шёл 21 век...
Всё ещё находятся "не слишком умные" товарищи, пишущие на C/C++?? При том обилии языков и главное - безопасных платформ (.NET, Java) просто стыдно читать про такие "уязвимости" - это бестолковость, а не уязвимость!
| |
|
2.20, клоун (?), 14:33, 05/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну были бы у ошибок другие названия - что кардинально это бы изменило? Причина ошибок не в ЯП, а в ошибках, допускаемых людьми.
| |
2.21, Аноним (-), 14:33, 05/10/2015 [^] [^^] [^^^] [ответить]
| +5 +/– |
> пишущие на C/C++??
Пишущие на C. На C, запомни это - не надо мешать эти языки в одну кучу ибо общего у них только синтаксис и легаси, а на C++ можно и очень просто писать безопасный код.
А вот .net/java не только не безопасней, но ещё намного тормозней.
| |
|
3.51, fox_mulder (?), 13:08, 06/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А вот .net/java не только не безопасней, но ещё намного тормозней.
расскажешь, чем java не безопасней си?
| |
|
4.53, Andrey Mitrofanov (?), 13:48, 06/10/2015 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> А вот .net/java не только не безопасней, но ещё намного тормозней.
> расскажешь, чем java не безопасней си?
В Си нет дырявой VM. Очевидно.
| |
|
|
2.26, www2 (ok), 17:08, 05/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> "локальное переполнение буфера" Шёл 21 век...
> Всё ещё находятся "не слишком умные" товарищи, пишущие на C/C++?? При том
> обилии языков и главное - безопасных платформ (.NET, Java) просто стыдно
> читать про такие "уязвимости" - это бестолковость, а не уязвимость!
Человек из 21 века, расскажи ка нам про уязвимости в JVM и дотнете? Конечно, на этих платформах дураки от чего-то застрахованы, т.к. их квалификация хуже разработчиков JVM и дотнета, но для умных людей - это прямая дорога к уязвимостям. Какой бы надёжный код они не написали, а уязвимости в виртуальной машине все их усилия сведут на нет.
| |
|
3.31, клоун (?), 18:19, 05/10/2015 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ещё один клоун...
Ты исходишь из собственной непогрешимости, списывая ошибки на платформу и других людей.
Непогрешимых людей нет. Косячат все. Одни говорят прямо, других тычут в какую-нибудь никчёмную строку ТЗ, переводят стрелки, кричат, или ведут себя так, словно их на горячую сковородку посадили. Что интересно, они себя ведут так даже когда наказания не последует. Уверовали в самих себя. В крайних формах они себя (иногда в окружении других людей, иногда нет) даже на рабочий стол ставят.
| |
|
4.65, www2 (ok), 19:26, 08/10/2015 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ещё один клоун...
> Ты исходишь из собственной непогрешимости, списывая ошибки на платформу и других людей.
> Непогрешимых людей нет. Косячат все. Одни говорят прямо, других тычут в какую-нибудь
> никчёмную строку ТЗ, переводят стрелки, кричат, или ведут себя так, словно
> их на горячую сковородку посадили. Что интересно, они себя ведут так
> даже когда наказания не последует. Уверовали в самих себя. В крайних
> формах они себя (иногда в окружении других людей, иногда нет) даже
> на рабочий стол ставят.
Я не оспариваю тезис, что есть непогрешимые люди, которые никогда не допускают ошибок (хотя, может быть Кнут?) Я оспариваю, что одним лишь выбором "правильного" языка можно внезапно избавиться от всех ошибок, как думают некоторые:
>"локальное переполнение буфера" Шёл 21 век...
>Всё ещё находятся "не слишком умные" товарищи, пишущие на C/C++?? При том обилии языков и
>главное - безопасных платформ (.NET, Java) просто стыдно читать про такие "уязвимости" -
>это бестолковость, а не уязвимость!
Я за то, чтобы люди всегда думали своей головой, а не надеялись на волшебные средства, которые якобы защитят от всех ошибок.
| |
|
5.72, st17 (ok), 00:13, 09/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
www2,
"Я оспариваю, что одним лишь выбором
"правильного" языка можно внезапно избавиться от всех ошибок, как думают некоторые"
В этой части согласен с вами, но стоит ли игнорировать возможность избавиться от некоторых?
| |
|
|
3.59, Аноним (-), 01:36, 08/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
Давайте поговорим об ошибках в ядрах ОС и железе. Ошибки в VM и рядом не валялись.
| |
|
|
|
2.60, Аноним (-), 01:39, 08/10/2015 [^] [^^] [^^^] [ответить]
| +/– |
> компания
Компания – это общество/фирма/организация/группа людей.
Кампания – это чреда действий/мероприятий с общей целью.
// Grammar Nazi
| |
|
1.45, б.б. (?), 03:26, 06/10/2015 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
В самом OpenBSD эту проблему эксплуатировать реально? Или она затрагивает только "портовые версии"?
| |
|
|
3.49, б.б. (?), 09:29, 06/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
Патч из cvs у меня накачен (на 5.8 -stable, как я понимаю, 5.8 -release так и выйдет с этой уязвимостью). Просто у нас столько техник по устранению подобных уязвимостей, что интересно вообще, может ли она работать в практических условиях.
| |
|
4.52, Wladmis (ok), 13:36, 06/10/2015 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Патч из cvs у меня накачен (на 5.8 -stable, как я понимаю,
> 5.8 -release так и выйдет с этой уязвимостью).
Верно. Нужно или на 5.8 тоже накатывать патчи, или собирать 5.8-stable.
> Просто у нас
> столько техник по устранению подобных уязвимостей, что интересно вообще, может ли
> она работать в практических условиях.
Вопрос практики, но ProPolice и остальные техники не панацея, так что не исключено.
| |
|
|
|
|