OberonCore
https://forum.oberoncore.ru/

У интернета есть огромная проблема: С/С++
https://forum.oberoncore.ru/viewtopic.php?f=89&t=6312
Страница 1 из 2

Автор:  Info21 [ Суббота, 17 Ноябрь, 2018 22:51 ]
Заголовок сообщения:  У интернета есть огромная проблема: С/С++

Коллега прислал свежий вопль, даю заголовок в переводе:

В интернете есть огромная проблема, связанная с C/C++, а разработчики не хотят решать её
Что общего у Heartbleed, WannaCry и миллионодолларовых багов в иФоне?

https://motherboard.vice.com/en_us/arti ... al-with-it

Автор:  Дмитрий Дагаев [ Воскресенье, 18 Ноябрь, 2018 16:16 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Очень хорошая статья, в копилку. Я тоже об этом писал неоднократно. Внимание, "buffer overflow", “type confusion”, “use after free”, “use of uninitialized memory”.
Вложение:
alarmBO.png
alarmBO.png [ 5.54 КБ | Просмотров: 8822 ]
Вложение:
alarmTC.png
alarmTC.png [ 5.18 КБ | Просмотров: 8822 ]

И где дырки в части надежности (у нас эти требования к safety относят к функциональной безопасности), там и уязвимости (security относят к киберзащищенности).
Цитата:
criteria when choosing a programming language should be "How will this choice impact security?"

Автор:  Info21 [ Воскресенье, 18 Ноябрь, 2018 18:18 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Дмитрий Дагаев писал(а):
Очень хорошая статья, в копилку. Я тоже об этом писал неоднократно.
Пожалуйста, дайте более ранние ссылки.
Желтые картинки -- года с 2015-го?

Автор:  Info21 [ Воскресенье, 18 Ноябрь, 2018 18:51 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

И (вопрос всем) как бы получше перевести на русский "memory unsafety", "memory unsafe"?

Обобщающий ярлычок важен.

В Орле я называл противоположное свойство -- точнее, механизм, его обеспечивающий, -- "тотальной статической типизацией".

Автор:  Дмитрий Дагаев [ Воскресенье, 18 Ноябрь, 2018 19:46 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Info21 писал(а):
Пожалуйста, дайте более ранние ссылки.

В докладе на дне Оберона 2017 был упомянут принцип приоритета угроз, известный в медицине как primum non nocere «не навреди». Там же и появились желтые картинки, например, осторожно, Dangling Pointers! Было сказано, что все вновь используемые программные продукты нужно проверять на доказательство отсутствия таких угроз.

Естественно, не я один сталкиваюсь с этими проблемами, и это видно по статье. На чем там акцентируют? Память. Категория “memory unsafety” - безопасность доступа к памяти. Какие проблемы?
1. “use after free” - по сути дела те же висячие указатели Dangling Points с известными последствиями, Оберон это решает известно как;
2. “buffer-overflow,” - атака на переполнение буфера, Оберон обеспечивает проверку типов и проверку индексов массивов при копировании, в докладе 2018 Перспективы Оберон-технологий для стратегических отраслей я писал об этом;
3. “type confusion,” - это опять проверка типов, решается статической типизацией и корректным расширением типов;
4. “use of uninitialized memory” - использование памяти с остаточной информации том же докладе я говорил о том, что можно очищать стек с записью маскирующей информацией, что будет соответствовать даже наивысшим требованиям РД 1 класса по несанкционированному доступу.
Вообще говоря, этот пункт 4 решается на уровне защищенных ОС, ну там Astra Linux и проч. Но ядра там не нашенские и от атак заокеанских разработчиков вряд ли защищены.

И еще раз повторю. Мы все критикуем С-два-креста, что за отсутствие безопасности типов или указателей (types & pointers safety). Но забываем, что все это сопровождается еще более серьезными проблемами критическими уязвимостями в части киберзащищенности (security vulnerabilities). Чем дальше, тем эта проблема становится важнее. А в Оберонах в части безопасности доступа к памяти выполняется принцип Secure by Design, защищено по определению.

Автор:  Info21 [ Воскресенье, 18 Ноябрь, 2018 22:49 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Большое спасибо!
(Надо же, как память перегружена -- сам ту ветку начал, и не помню.)

Википедный перевод на самом деле нехорош: вяло и рыхло.
Надо бы что-нибудь пожёстче и поярче.
Anyone?

Автор:  Kemet [ Понедельник, 19 Ноябрь, 2018 06:06 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Зачем что0то придумывать, когда есть устоявшиеся термины?
Memory safety - Безопасность доступа к памяти.
Memory unsafety - Уязвимости, связанные с доступом к памяти

Коротко, как в английском, вряд ли получится.

Автор:  Валерий Лаптев [ Понедельник, 19 Ноябрь, 2018 06:44 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Info21 писал(а):
В интернете есть огромная проблема, связанная с C/C++, а разработчики не хотят решать её
Что общего у Heartbleed, WannaCry и миллионодолларовых багов в иФоне?
https://motherboard.vice.com/en_us/arti ... al-with-it

А нефиг на С++ для инета писать!
Не для этого он предназначен...

Автор:  Илья Ермаков [ Понедельник, 19 Ноябрь, 2018 10:59 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Валерий Лаптев писал(а):
Info21 писал(а):
В интернете есть огромная проблема, связанная с C/C++, а разработчики не хотят решать её
Что общего у Heartbleed, WannaCry и миллионодолларовых багов в иФоне?
https://motherboard.vice.com/en_us/arti ... al-with-it

А нефиг на С++ для инета писать!
Не для этого он предназначен...


Так там речь о том, что само системное ПО, лежащее в основе (серверы и браузеры) дырявое.

Автор:  Info21 [ Понедельник, 19 Ноябрь, 2018 11:24 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Кемет, было сказано зачем.

Автор:  Kemet [ Понедельник, 19 Ноябрь, 2018 13:32 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Info21 писал(а):
Кемет, было сказано зачем.
"тотальная статическая типизация" имеет к проблеме весьма опосредованное отношение.

Автор:  Rifat [ Понедельник, 19 Ноябрь, 2018 15:24 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Kemet писал(а):
Info21 писал(а):
Кемет, было сказано зачем.
"тотальная статическая типизация" имеет к проблеме весьма опосредованное отношение.

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

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

Автор:  Artyemov [ Понедельник, 19 Ноябрь, 2018 15:27 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Info21 писал(а):
И (вопрос всем) как бы получше перевести на русский "memory unsafety", "memory unsafe"?

Обобщающий ярлычок важен.

"Проходной двор в памяти"... о, ещё, эт прям на отечественных реалиях - "подворотня в памяти"

Автор:  Info21 [ Понедельник, 19 Ноябрь, 2018 16:46 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Перевод:

https://zen.yandex.ru/media/id/5b349c3b ... om=channel

Использовал фразы вроде "некорректная работа с памятью".

Автор:  Info21 [ Понедельник, 19 Ноябрь, 2018 16:48 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

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

Автор:  Валерий Лаптев [ Вторник, 20 Ноябрь, 2018 06:50 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Info21 писал(а):
Перевод:

https://zen.yandex.ru/media/id/5b349c3b ... om=channel

Использовал фразы вроде "некорректная работа с памятью".

Хороший перевод. Читал.

Автор:  Trurl [ Вторник, 20 Ноябрь, 2018 14:33 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...


Илья Ермаков писал(а):
Так там речь о том, что само системное ПО, лежащее в основе (серверы и браузеры) дырявое.

Так вот их и нефиг писать. 8)

Автор:  Валерий Лаптев [ Вторник, 20 Ноябрь, 2018 14:49 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Trurl писал(а):
Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...

Илья Ермаков писал(а):
Так там речь о том, что само системное ПО, лежащее в основе (серверы и браузеры) дырявое.

Так вот их и нефиг писать. 8)

Ну, в статье и говорится, что проекты давние. Написанные по мере развития инета.
Тогда не было понимания проблем, которое появилось сейчас по мере развития инета и накопления опыта эксплуатации этого самого ПО.
Другое дело, что предлагается взамен.
Народ на РСДН воспринял статью как рекламу ( :shock: :shock: :shock: ) RUST... :lol: :lol: :lol:

Автор:  Валерий Лаптев [ Вторник, 20 Ноябрь, 2018 16:46 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

На РСДН нашелся 1 (ОДИН) человек, который абсолютно согласен с автором статьи... :)

Автор:  Info21 [ Вторник, 20 Ноябрь, 2018 22:01 ]
Заголовок сообщения:  Re: У интернета есть огромная проблема: С/С++

Валерий Лаптев писал(а):
Trurl писал(а):
Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...

Илья Ермаков писал(а):
Так там речь о том, что само системное ПО, лежащее в основе (серверы и браузеры) дырявое.

Так вот их и нефиг писать. 8)

Ну, в статье и говорится, что проекты давние. Написанные по мере развития инета.
Тогда не было понимания проблем ...
Чего-чего не было???

Не было понималок, вот чего.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/