The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Удалённая уязвимость в IPv6-стеке OpenBSD, opennews (??), 28-Окт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


21. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +1 +/
Сообщение от Дон Ягон (ok), 29-Окт-20, 03:42 
Немного повтыкал я в суть проблемы.
Ты прав, весьма похоже на CVE-2020-16898. Там правда вроде не uaf (хотя я глубоко не погружался). А в остальном довольно похоже: не слишком высокий шанс на успешную эксплуатацию + возможность эксплуатации только внутри локальной сети.
Но если таки всё сложится, то, по-видимому, возможно RCE.

Ещё напомнило CVE-2007-1365.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

31. "Удалённая уязвимость в IPv6-стеке OpenBSD"  –5 +/
Сообщение от Аноним (31), 29-Окт-20, 08:56 
Ядро OS должно очищать память перед освобождением!

https://en.m.wikibooks.org/w/index.php?title=Grsecurity/Appe...

https://en.m.wikibooks.org/w/index.php?title=Grsecurity/Appe...

Memory poisoning: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...

А OpenBSD не очищает память перед освобождением? Им жалко потерять 1% производительности? Да, эта OpenBSD еще использование JIT допускает. Похоже Тео вообще готов н_а_с_р_а_т_ь на безопасность ради мнимых 2% производительности.

Ответить | Правка | Наверх | Cообщить модератору

42. "Удалённая уязвимость в IPv6-стеке OpenBSD"  –1 +/
Сообщение от Дон Ягон (ok), 29-Окт-20, 13:03 
О даа! Тео ЛИЧНО запретил, мммм, не знаю, портировать KASAN из netbsd ради 1% производительности! Конечно, дело ни в коем случае, например, не в том, что свободных рук не хватает или не в чём-то похожем!
Жаль, когда портировали, например, KUBSAN из netbsd Тео потерял бдительность и примерно -2% производительности прорвались в ядро!

---

Спой лучше ещё раз про DAC, иксперд.

PS: а если бы kasan таки портировали или что-то аналогичное по смыслу - было бы неплохо, да.

Ответить | Правка | Наверх | Cообщить модератору

63. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Аноним (63), 30-Окт-20, 16:16 
> ещё раз про DAC

Для тебя персонально, в DAC необходимо также включать процессы в оперативке!

Покажи вывод:

ls -l /proc

Ответить | Правка | Наверх | Cообщить модератору

64. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Дон Ягон (ok), 30-Окт-20, 17:02 
>> ещё раз про DAC
> Для тебя персонально, в DAC необходимо также включать процессы в оперативке!
> Покажи вывод:
> ls -l /proc

uname && ls -l /proc
OpenBSD
colorls: /proc: No such file or directory

Ответить | Правка | Наверх | Cообщить модератору

58. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +2 +/
Сообщение от Дон Ягон (ok), 30-Окт-20, 01:15 
А, да, memory poisoning.

В ядре openbsd это есть и ЕМНИП появилось там это раньше чем в linux.
https://www.openbsd.org/papers/dev-sw-hostile-env.html

Про ссылки на pax, которые я перечитал чуть менее по диагонали чем в прошлый раз - там не про kasan, как я подумал, да. Лучше бы про него - в отличие от он уже по меньшей мере в 2х с половиной ОС есть (в openbsd его нет, но https://man.openbsd.org/malloc.9#DIAGNOSTICS +/- аналогично по смыслу).

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

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

62. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Аноним (63), 30-Окт-20, 16:08 
> В ядре openbsd это есть и ЕМНИП появилось там это раньше чем в linux.

Нет. В виде неофициальных патчей к ядру Linux была раньше.

> Про ссылки на pax, которые я перечитал чуть менее по диагонали

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

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

Это единственный путь который дает гарантии безопасности. Другого просто не существует. Процессор с ядром OS должен следить за корректность работы программы. Самим программам/компиляторам доверять нельзя.

> Надо исправлять ошибки, а не нагромождать вокруг потенциальных ошибок костыли. Сами по себе костыли эти может не так и дорого стоят, а вот все вместе - уже ощутимо. А по-отдельности в них смысла просто нет.

Ошибки были есть и будут. Технологии защиты много ресурсов не требуют. Сегодня не 1980-тые, ресурсов процессора хватает с избытком.

Ответить | Правка | Наверх | Cообщить модератору

65. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +2 +/
Сообщение от Дон Ягон (ok), 30-Окт-20, 18:15 
>> В ядре openbsd это есть и ЕМНИП появилось там это раньше чем в linux.
> Нет. В виде неофициальных патчей к ядру Linux была раньше.

И именно поэтому всем на это начхать.

>> Потому что нельзя сделать ничего хорошего обкладывая плохо написанные программы костылями, чтобы они работали правильно.
> Это единственный путь который дает гарантии безопасности. Другого просто не существует.
> Процессор с ядром OS должен следить за корректность работы программы. Самим
> программам/компиляторам доверять нельзя.

Нет, это костыльный и неправильный путь, сиюминутное решение вместо правильного.
Если в программе ошибка (т.е. именно программа работает неправильно) надо не лепить костыли, заставляющие ядро помогать программе работать правильно, а устранять ошибку.

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

> Ошибки были есть и будут. Технологии защиты много ресурсов не требуют. Сегодня
> не 1980-тые, ресурсов процессора хватает с избытком.

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

Нужно расширять средства, которые позволят найти и устранить как можно больше подобных и не только ошибок, а также техники снижающие вред от попыток эксплуатации тех ошибок, что найти не удалось - w^X, KASLR/KARL и т.п.

Ответить | Правка | Наверх | Cообщить модератору

70. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Аноним (70), 31-Окт-20, 10:27 
> Нет, это костыльный и неправильный путь, сиюминутное решение вместо правильного.

Строгий контроль со стороны процессора и ядра OS -- единственное решение которое дает гарантии невозможности эксплуатации уязвимостей.

> Если в программе ошибка (т.е. именно программа работает неправильно) надо не лепить костыли, заставляющие ядро помогать программе работать правильно, а устранять ошибку.

Плевать на программистов, языки программирования и компиляторы. Ошибки - были, есть и будут (компилятор тоже важен: генерация позиционно независимого кода для работы ASLR, канарейки для защиты от переполнения стека SSP, автоматическая фортификация небезопасны функций; и правильная работа линковщика тоже важна: ....).

Строгий контроль со стороны процессора и ядра OS -- единственное решение которое дает гарантии невозможности эксплуатации уязвимостей.

> Какой шанс, что эту ошибку бы нашли и исправили, если бы в ядре были костыли, которые предотвращают её эксплуатацию как уязвимости? Очень незначительные, т.е. изредка ядро могло бы случайным образом падать, например. Делает ли такой подход ОС лучше?

Ты даже сути проблемы не понимаешь. Если процессор с ядром OS не контролирую память то при наличии ошибки будет эксплуатируемая уязвимость которую вирусы будут незаметно использовать. Если защита со стороны процессора и OS реализована, то при наличии ошибки, например переполнения буфера, попытка эксплуатации ее вирусом будет присечена, а сам факт задокументирован в системном журнале, отослан по почте и станет сразу известен. Конечно известную ошибку исправят быстрее. Строгий контроль со стороны процессора и ядра OS -- единственное решение которое дает гарантии невозможности эксплуатации уязвимостей.

> Нужно расширять средства, которые позволят найти и устранить как можно больше подобных и не только ошибок, а также техники снижающие вред от попыток эксплуатации тех ошибок, что найти не удалось - w^X, KASLR/KARL и т.п.

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

Ответить | Правка | Наверх | Cообщить модератору

72. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +1 +/
Сообщение от Аноньимъс (?), 31-Окт-20, 10:56 
Строгий контроль граждан государством - единственный способ избежать революции.

Нет.

Это так не работает.

В сложных системах есть много сложных факторов.

Ну например уязвимости в средствах контроля.
Привет интелME. Привет секурбут.

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

То, что вы называете "контролем" у нормальных людей называется управление памятью.
И в лисп машинах было 30 лет назад сделано. А так же во всяких приличных ЦП для Ады.

Ответить | Правка | Наверх | Cообщить модератору

80. "Удалённая уязвимость в IPv6-стеке OpenBSD"  –1 +/
Сообщение от Аноним (80), 01-Ноя-20, 08:12 
> Ну например уязвимости в средствах контроля.

В свободном ПО есть возможность независимой верификации. Средства контроля просты.

> Привет интелME.

Исходя из темы обсуждения привет надо передавать Intel NX. Проблемы с этой инструкцией уже были в ранних версия Pentium4. Есть вариант чисто программой защиты, без использования специальных инструкций процессора, на пару процентов снизит производительность.

> Привет секурбут.

SecureBOOT, TPM - хорошие вещи. Производителям кроме верификации по цифровым подписям стоит добавить на платы джемпер физически запрещающий запись в SPI где хранится UEFI/BIOS.

> Ну а дальше системные  неустранимые недостатки, вроде Си процессоров в которых ни о каком контроле и речи не идет

Компилять только на отключенных от сети компах.

Система повторяемые сборок для верификации бинарей.

>  Си программ которые тоже ничего о разделении памяти не знают.

Им и знать не надо. YAMA в ядре Linux знает.

Ответить | Правка | Наверх | Cообщить модератору

82. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Аноньимъ (ok), 01-Ноя-20, 16:44 
> В свободном ПО есть возможность независимой верификации. Средства контроля просты.

И поэтому постоянно находят всё новые и новые ошибки, наберите воздуха, готовы? переполнения буфера.

> Исходя из темы обсуждения привет надо передавать Intel NX.

Да всему этому x86/RISC цирку нужно привет передавать.

> SecureBOOT, TPM - хорошие вещи.

Для ограничения свободы пользователей.

> Компилять только на отключенных от сети компах.

Как это поможет с концептуальными недостатками сишки?

> Система повторяемые сборок для верификации бинарей.

Это далеко не все линуксы освоили для ядра хотя бы.
Это хорошо конечно всё и замечательно.
Но что-то с индустрией принципиально не так если требуются титанические усилия для создания системы повторяемой сборки.
Вообще, кроме GuixSD кто-то это из линуксов обеспечивает?

> Им и знать не надо. YAMA в ядре Linux знает.

You known nothing, YAMA Linux.

Ответить | Правка | Наверх | Cообщить модератору

78. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +1 +/
Сообщение от Дон Ягон (ok), 31-Окт-20, 22:05 
> Строгий контроль со стороны процессора и ядра OS -- единственное решение которое дает гарантии невозможности эксплуатации уязвимостей.

В твоих устах это больше похоже на религиозную мантру, чем на аргумент. Баги и дыры есть и в процессорах и в средствах защиты в ОС. Али local root в grsec-патчах (которого не было в ванильном linux, CVE-2007-0257) уже забылся? Или kernel panic в нём же (https://xakep.ru/2016/04/28/grsecurity-ban/)? Или забылся dirty cow, который успешно эксплуатировался даже с включёнными pax-патчами? Про новомодные meltdown и его друзей как-то даже напоминать неудобно.

> Плевать на программистов, языки программирования и компиляторы.

Нет. Профессионализм программистов и правильно выбранные средства гораздо важнее.

> Ошибки - были, есть и будут

Ага. И ловить их, по-возможности, лучше не в рантайме, а на стадии компиляции. Или хотя бы в какой-то тестовой среде. Вмешиваться в работу прикладных программ или модулей/компонентов ядра всяческими "проактивными средствами защиты" нужно как можно аккуратнее, ибо можно замедлить приложение/ядро. Или обрушить его. Или всё будет +/- ок, но портирование ядерной защиты на другую архитектуру будет неадекватно сложно.

Почитай, ради интереса, как Попов из PT переносил PAX_STACKLEAK из остатков grsec-патчей в ванильное ядро (на русском, например, тут - https://habr.com/ru/company/pt/blog/424633/ + в коментариях есть полезные ссылки на lwn). И высказывания линуса и шпенглера по поводу этих патчей (выдержке попова можно только позавидовать, не каждый довёл бы пусть и нужное дело до конца под таким давлением. он большой молодец, как по мне). И сроки выполнения работ оцени.

Не всё так просто и однозначно, короче.

> Они уже есть. Надо их просто использовать. Почему в дистрибутивах не используют средства защиты от разных уязвимостей, а вместо этого внедряют средства препятствующие защите: JIT, ...?

У тебя какая-то болезненая фиксация на jit. В то время как это вполне законный способ ускорить транслируемые языки (стандарт позволяет). Да и не всякий jit требует W|X, некоторые, типа того, что у мозиллы, требует только возможности переключений RW -> RX, что _значительно_ лучше.
А та же java, например, хотя и требует W|X, зато достаточно быстра и предотвращает многие типовые проблемы в безопасности приложений.
И, самое главное, есть востребованные бизнесом приложения на той же java.
Это ты можешь собрать себе дистрибутив без jit вообще, если у тебя много свободного времени, а бизнес не будет переписывать решение c java на что-то там ещё, если решение на java их устраивает. Ради чего просто? Ради иллюзии безопасности?
При таких раскладах проще уж будет, имхо, вложиться в аудит и поиск дыр в условном jvm дабы пофиксить их - в конце концов, реализация jit даже и требующая W|X может и не иметь в себе эксплуатируемых уязвимостей.

Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

81. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Аноним (80), 01-Ноя-20, 08:35 
> Профессионализм программистов

Компилятор с хорошими опциями компиляции укажет программисту на ошибки безопасности.

Вот профессионализм проявляется тогда когда программист сам исправляет ошибки по рекомендации компилятора. Когда исправляет после багрепорта тоже еще можно терпеть.

> портирование ядерной защиты на другую архитектуру будет неадекватно сложно.

Это тема большого отдельного разговора. По этому поводу я согласен с Н. Виртом.

> высказывания линуса и шпенглера по поводу этих патчей

Они не любят PaX & Grsecurity и противятся включению этих патчей в ядро уже 20 лет. То что включается в ядро, не все но часть дырява и сделана хуже чем в оригинальном PaX & Grsecurity.

> У тебя какая-то болезненая фиксация на jit.

Да, причем очень заостренная. Иначе пионеры этот JIT напихают во весь софт. У меня строгая реализация защиты не допускающая любого JIT, соответственно ПО которое не собирается без JIT у меня и на многих архитектура процессоров mips, ppc, ... просто не будет работать. Мы не можем использовать ПО с JIT по этому и громко кричим, что JIT - зло и надо во всех программах иметь опцию configure --jitless --no-jit для сборки проги без JIT.

> реализация jit даже и требующая W|X может и не иметь в себе эксплуатируемых уязвимостей.

Гарантий отсутствия уязвимостей вылизывая код с JIT не получишь.

А ядро OS с процессором может дать гарантии отсутствия эксплуатации уязвимостей переполнения буфера.

Ответить | Правка | Наверх | Cообщить модератору

84. "Удалённая уязвимость в IPv6-стеке OpenBSD"  +/
Сообщение от Дон Ягон (ok), 01-Ноя-20, 18:10 
> Они не любят PaX & Grsecurity

Они - это кто? Линус и Шпенглер? Ничего, что Brad Spengler - это как раз из grsec?)

> сделана хуже чем в оригинальном PaX & Grsecurity.

А обосновать почему PAX_SECSTACK им. Попова из Ptsecurity хуже оригинального своими словами рассказать сможешь?)

> JIT - зло и надо во всех программах иметь опцию configure --jitless --no-jit для сборки проги без JIT.

Жаль, что ты не способен понимать даже то, что ты сам пишешь. Ну зачем делать опции "jitless", если jit вообще не нужен?
По существу: нет, не надо.

> может дать гарантии

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру