The OpenNET Project / Index page

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



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

"В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от opennews (ok), 04-Авг-25, 10:32 
Аарон Баллман (Aaron Ballman), главный сопровождающий компилятор Clang и участник команд разработки стандартов  WG21 (C++) и WG14 (C), начал обсуждение добавления в компилятор Clang режима  усиления безопасности. Новый режим позволит разом активировать набор опций для усиления защиты по аналогии с добавленным в GCC 14 флагом "-fhardened", при котором включаются опции "-D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -ftrivial-auto-var-init=zero -fPIE -pie -Wl,-z,relro,-z,now -fstack-protector-strong -fstack-clash-protection -fcf-protection=full"...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=63675

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

Оглавление

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


1. "В Clang намерены добавить режим усиленной безопасности"  –4 +/
Сообщение от laindono (ok), 04-Авг-25, 10:32 
А всё почему? А всё по той причине, что сишечный фронтенд не может что-то адекватное генерировать. Приходится костыли в бекенд ставить.
Ответить | Правка | Наверх | Cообщить модератору

4. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (4), 04-Авг-25, 10:42 
> А всё по той причине, что сишечный фронтенд не может что-то адекватное генерировать. Приходится костыли в бекенд ставить.

Так а какие еще варианты, если язык дефективный by design. Это все-таки дешевле, чем переписывать миллионы легаси кода с C и C++ на Rust.

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

11. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (11), 04-Авг-25, 11:01 
Дак и не надо всё переписывать. Надо только самое важное.
Ответить | Правка | Наверх | Cообщить модератору

14. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от фыв (??), 04-Авг-25, 11:17 
Ну вот один в истории так же подумал, а потом слонов через горы повёл.
Ответить | Правка | Наверх | Cообщить модератору

35. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (35), 04-Авг-25, 12:00 
и он не переписал самое важное, собственно поэтому проект провалился
Ответить | Правка | Наверх | Cообщить модератору

26. "В Clang намерены добавить режим усиленной безопасности"  –2 +/
Сообщение от laindono (ok), 04-Авг-25, 11:36 
Зависит от контекста. Если у нас что-то критичное к безопасности, это означает, что переписать миллион строк на другой язык будет дешевле, чем разгребать последствия эксплуатации дыреней.

Вообще переписывание чего бы то ни было (в том числе на тот же язык) является рефакторингом. Иногда это дешевле поддержки легаси. Иногда нет. Зависит от.

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

38. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (4), 04-Авг-25, 12:11 
> Если у нас что-то критичное к безопасности, это означает, что переписать миллион строк на другой язык будет дешевле, чем разгребать последствия

Что-то критичное по безопасности или изначально не писалось на дырявых языках, или уже давно с них переписано. В этих областях уж точно не сидели бы и не ждали до 202* года, пока им разработчики ГЦЦ/Шланг с барского плеча отсыпят костылей для затыкания дыр в недоязыках из 70-80.

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

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

2. "В Clang намерены добавить режим усиленной безопасности"  +2 +/
Сообщение от Аноним (-), 04-Авг-25, 10:33 
> Реализуемые методы защиты часто приводят к отдельным несовместимостям с существующим кодом или нарушению ABI, что не позволяет активировать их по умолчанию.

Таких программ единицы. В Gentoo возможно для них прописать отдельные опции сборки в /etc/portage

Ставим безопасные опции сборки и пересобираем мир.

А rust не нужен.

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

3. "В Clang намерены добавить режим усиленной безопасности"  +2 +/
Сообщение от Аноним (4), 04-Авг-25, 10:39 
> В Gentoo
> пересобираем мир

Гентушникам нет покоя. 😂 Собирай-перекомпиляй!

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

5. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (-), 04-Авг-25, 10:43 
Когда правильно собрал перекомпилировать не надо.
Ответить | Правка | Наверх | Cообщить модератору

19. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (19), 04-Авг-25, 11:24 
А есть люди, которые ставят приложение в пару кликов. Представляете?
Ответить | Правка | Наверх | Cообщить модератору

30. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (-), 04-Авг-25, 11:47 
> А есть люди, которые ставят приложение в пару кликов. Представляете?

Вы что хотите КАК В ВИНДЕ!?
Линукс создан для страданий и превозмоганий.
Если дать людям удобный способ хотя бы устанавливать ПО нормально, то они расслабятся, размякнут и что потом?
Попросят делать UI/UX хорошо, а не как "бомж вася, по совместительству дизигнер в СПО проекте наблевал на экран" ?

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

7. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (7), 04-Авг-25, 10:50 
Ты используешь эти флаги? В частности, - D_FORTIFY_SOURCE=3 интересует. Я читал, он прям сильно роняет производительность
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

8. "В Clang намерены добавить режим усиленной безопасности"  +1 +/
Сообщение от Аноним (4), 04-Авг-25, 10:52 
> Я читал, он прям сильно роняет производительность

Ну, за безопасность нужно платить. Главное, что Раста нет.

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

10. "В Clang намерены добавить режим усиленной безопасности"  –3 +/
Сообщение от Аноним (10), 04-Авг-25, 11:00 
Раст или так же роняет производительность либо имеет под собой худшую защиту.
Ответить | Правка | Наверх | Cообщить модератору

13. "В Clang намерены добавить режим усиленной безопасности"  +4 +/
Сообщение от Аноним (-), 04-Авг-25, 11:17 
> Раст или так же роняет производительность либо имеет под собой худшую защиту.

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

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

А рантайм проверки роняют производительность каждому юзеру и для каждого запуска.
Но диды продолжаю ныть "раст не влазит на мой HDD 40GB", "лиса компилируется долго", "это нужно целую билдферму делать".

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

21. "В Clang намерены добавить режим усиленной безопасности"  –2 +/
Сообщение от Аноним (4), 04-Авг-25, 11:29 
> А рантайм проверки роняют производительность каждому юзеру и для каждого запуска.

Это небольшая цена за победу над Растом. Я лично готов и большее терпеть и превозмогать. Надо будет - и ядро буду сам пересобирать с отключенным Растом.

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

25. "В Clang намерены добавить режим усиленной безопасности"  +1 +/
Сообщение от Аноним (-), 04-Авг-25, 11:36 
> Это небольшая цена за победу над Растом.

Вы готовы бороться с растом, а лучше бы боролись с дырявостью сишки.

> Я лично готов и большее терпеть и превозмогать.

Да без проблем. Терпите и превозмогайте.

> Надо будет - и ядро буду сам пересобирать с отключенным Растом.

Пока дрова на нем не будут писать))
Хотя можно страдать еще больше и сидеть без дров.

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

33. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (4), 04-Авг-25, 11:56 
> Вы готовы бороться с растом, а лучше бы боролись с дырявостью сишки.

Я в сишке опции компилятора включу и буду сидеть в безопасности. А чтобы бороться с Растом мне вообще ничего не нужно делать (ну, кроме написания опеннетных комментариев).

> Пока дрова на нем не будут писать))
> Хотя можно страдать еще больше и сидеть без дров

Ой, напугали. Мне чтобы с консолью сношаться эти ваши растовые дрова и не нужны.

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

15. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от выф (?), 04-Авг-25, 11:19 
А можно чуть раскрыть тему для нубов в расте?
Растоводы кричат что всё пучком.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

16. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (4), 04-Авг-25, 11:22 
> Растоводы кричат что всё пучком

Воут, мерзавцы! Все медленно, гарантий нет, бинари жирные, синтаксис вырвиглазный, неподдерживаемое, абыр, АБЫРВАЛГ111

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

47. Скрыто модератором  +1 +/
Сообщение от Аноним (47), 04-Авг-25, 12:43 
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

9. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (19), 04-Авг-25, 10:57 
Потому что си не умеет безопасно работать с памятью!
Ответить | Правка | Наверх | Cообщить модератору

12. "В Clang намерены добавить режим усиленной безопасности"  +1 +/
Сообщение от Жироватт (ok), 04-Авг-25, 11:08 
Как и ассемблер...
Ответить | Правка | Наверх | Cообщить модератору

17. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (19), 04-Авг-25, 11:23 
Ассемблер - это низкоуровневый язык, там это не так зашкварно.
Ответить | Правка | Наверх | Cообщить модератору

22. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Жироватт (ok), 04-Авг-25, 11:29 
А СИ - ассемблер, где наборы ассемблерных мнемоник просто заменены операторами с автоподстановкой подходящего регистра. Потому трансляторы С->АСМ такие простые и быстрые.
Ответить | Правка | Наверх | Cообщить модератору

32. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (35), 04-Авг-25, 11:55 
значит я могу смело в резюме писать что умею на ассемблере?
Ответить | Правка | Наверх | Cообщить модератору

50. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от bergentroll (ok), 04-Авг-25, 12:53 
Если вы — транслятор.
Ответить | Правка | Наверх | Cообщить модератору

18. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (-), 04-Авг-25, 11:23 
> Потому что си не умеет безопасно работать с памятью!

Потому что это просто кроссплатформенный ассемблер, который был создан для ускорение портирования юникса и прочего софта с PDP-11 на "более новые" машины.
А размер всего юникса того времени был около 100кLOC, что на порядки меньше размеров современных программ (ядро линя - 40MLOC)

Но, из-за простоты сишки, отсутствия необходимости думать и того, что на ней писать начать может даже обезьяна, сишка стала ПХП своего времени и вытеснила другие нормальные языки.
Результаты чего мы наблюдаем даже через 50 лет.

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

20. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Аноним (20), 04-Авг-25, 11:28 
это не молоток не может забивать гвозди и отбивает пальцы, а криворукий, держащий этот молоток :)
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

27. Скрыто модератором  +/
Сообщение от Фнон (-), 04-Авг-25, 11:37 
Ответить | Правка | Наверх | Cообщить модератору

44. Скрыто модератором  +/
Сообщение от Аноним (20), 04-Авг-25, 12:34 
Ответить | Правка | Наверх | Cообщить модератору

48. Скрыто модератором  +/
Сообщение от Аноним (-), 04-Авг-25, 12:45 
Ответить | Правка | Наверх | Cообщить модератору

36. "В Clang намерены добавить режим усиленной безопасности"  +1 +/
Сообщение от Жироватт (ok), 04-Авг-25, 12:05 
Молоток виноват в том, что не распознаёт объект, по которому бьёт и мгновенно не меняет материал бойка: от комка ваты, если там палец, до нейтринного уберкомпактного освинцованного слитка, если это гвоздь.

Именно поэтому я смотрю уже три года на все эти споры си-раст-<баззвордязык>, как на битву слабоумных, рассуждающих, что тёплое лучше мягкого потому, что оно зелёное, но в крапинку и кузявее сладкого, но в форме перца с запахом апельсина.

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

37. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Fracta1L (ok), 04-Авг-25, 12:09 
Покажи пряморуких сишников, которые не ошибаются в работе с памятью. Очень интересно.
Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

39. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (4), 04-Авг-25, 12:14 
> Покажи пряморуких сишников, которые не ошибаются в работе с памятью.

Я всю жизнь пишу на голых указателях - и никогда проблем не было. Зуб даю!

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

42. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (-), 04-Авг-25, 12:26 
> Я всю жизнь пишу на голых указателях - и никогда проблем не было. Зуб даю!

И много у тебя их осталось?))

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

46. Скрыто модератором  +/
Сообщение от Аноним (20), 04-Авг-25, 12:37 
Ответить | Правка | Наверх | Cообщить модератору

41. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (20), 04-Авг-25, 12:25 
> Покажи пряморуких сишников

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

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

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

45. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (-), 04-Авг-25, 12:36 
> "покажи мне код работы с памятью где каждый сишник допустит ошибку"

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

> ну как показать вам код, который под NDA?

Мы регулярно наблюдаем дыры и взломы проприетарных продуктов с использование buffer overflow, int overflow, double free и так далее.
Достаточно пройтись по тегу pwn2own (opennet.ru/keywords/pwn2own.html) и там будет просто море примеров.

Из последнего (opennet.ru/opennews/art.shtml?num=63254)
VMware ESXi: 2 успешные атаки, позволившие выполнить код на стороне хост-окружения. Проблемы вызваны целочисленным переполнением и использованием неинициализированных переменных.

VMware Workstation: Одна успешная атака, позволившая выполнить код на стороне хост-окружения. Проблема вызвана переполнением буфера.

Windows 11: 5 успешных атак, позволивших выполнить код с правами SYSTEM. Уязвимости вызваны обращением к памяти после освобождения, целочисленным переполнением, переполнением буфера, неправильной обработкой типов (Type Confusion) и состоянием гонки.

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

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

49. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (20), 04-Авг-25, 12:51 
> Так проблема в том, что каждый сишник ошибается немного в другом месте.
> А результат один и тот же.

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

> Мы регулярно наблюдаем дыры и взломы проприетарных продуктов с использование buffer overflow,
> int overflow, double free и так далее.

Ну это говорит только о криворукости не более, кто-нибудь приведет мне пример алгоритма, который всегда будет содержать "int overflow, double free и так далее"? Нет? так в чем дело в Си? На Си нельзя писать формально корректные алгоритмы?

> А таких проблем тыщщи. По остальным ссылкам можешь пройтись сам.
> Типичные проблемы си и плюсов, несущих родовую травму сишки.

Мы же не пытаемся отрастить руки у от рождения безруких инвалидов, так ведь? Мы пытаемся их приспособить - протезирование и т.д. Но тем не менее даже в таком случае мы разве должны требовать от них умение жонглирования? Думаю, нет, не логично ибо они ограниченны.

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

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

23. "В Clang намерены добавить режим усиленной безопасности"  –1 +/
Сообщение от Фнон (-), 04-Авг-25, 11:31 
Эх, сколько телодвижений для исправления того, что ущербно с даты создания.
Зато потом читаем клевую TEH DRAMA комитета по внедрению SafeC++.

А ведь достаточно взять простой ржавый...

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

29. "В Clang намерены добавить режим усиленной безопасности"  +1 +/
Сообщение от Аноникл (?), 04-Авг-25, 11:47 
достаточно взять ржавый и начать писать extern "C" потому что без сишного ABI он никому не нужен
Ответить | Правка | Наверх | Cообщить модератору

43. "В Clang намерены добавить режим усиленной безопасности"  +/
Сообщение от Аноним (-), 04-Авг-25, 12:28 
> достаточно взять ржавый и начать писать extern "C"
> потому что без сишного ABI он никому не нужен

Плюсы без extern "C" тоже мало кому нужны.
Но это как раз стиму выбросить сишку отовсюду откуда возможно.
И все писать на расте))

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

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

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




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

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