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, защищено по определению.