OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 10:43

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 17 Ноябрь, 2018 22:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Коллега прислал свежий вопль, даю заголовок в переводе:

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2018 16:16 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2018 18:18 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Дмитрий Дагаев писал(а):
Очень хорошая статья, в копилку. Я тоже об этом писал неоднократно.
Пожалуйста, дайте более ранние ссылки.
Желтые картинки -- года с 2015-го?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2018 18:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
И (вопрос всем) как бы получше перевести на русский "memory unsafety", "memory unsafe"?

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2018 19:46 

Зарегистрирован: Вторник, 01 Март, 2011 09:34
Сообщения: 583
Откуда: Москва
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, защищено по определению.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 18 Ноябрь, 2018 22:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Большое спасибо!
(Надо же, как память перегружена -- сам ту ветку начал, и не помню.)

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 06:06 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
Зачем что0то придумывать, когда есть устоявшиеся термины?
Memory safety - Безопасность доступа к памяти.
Memory unsafety - Уязвимости, связанные с доступом к памяти

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 06:44 

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 10:59 
Модератор
Аватара пользователя

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

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


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 11:24 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Кемет, было сказано зачем.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 13:32 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
Info21 писал(а):
Кемет, было сказано зачем.
"тотальная статическая типизация" имеет к проблеме весьма опосредованное отношение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 15:24 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Kemet писал(а):
Info21 писал(а):
Кемет, было сказано зачем.
"тотальная статическая типизация" имеет к проблеме весьма опосредованное отношение.

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 15:27 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 592
Info21 писал(а):
И (вопрос всем) как бы получше перевести на русский "memory unsafety", "memory unsafe"?

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 16:46 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Перевод:

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 19 Ноябрь, 2018 16:48 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Rifat писал(а):
Правы те, кто говорит, что прямой причиной ошибки чаще всего является неправильная работа с памятью. И правы те, кто говорят, что отсутствие статической типизации является первопричиной многих ошибок.
Это смыслоблудие задолбало даже автора статьи -- см. перевод.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Ноябрь, 2018 06:50 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Перевод:

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Ноябрь, 2018 14:33 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Ноябрь, 2018 14:49 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Trurl писал(а):
Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Ноябрь, 2018 16:46 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
На РСДН нашелся 1 (ОДИН) человек, который абсолютно согласен с автором статьи... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 20 Ноябрь, 2018 22:01 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Trurl писал(а):
Валерий Лаптев писал(а):
А нефиг на С++ для инета писать!
Не для этого он предназначен...

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

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

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

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


Последний раз редактировалось Info21 Вторник, 20 Ноябрь, 2018 22:04, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB