Дэниэл Бернштейн выступил с инициативой создания Си-компилятора для защищённого ПО

22 декабря 2015 года

Дэниэл Бернштейн ( Daniel J. Bernstein), известный эксперт в области криптографии и создания защищённого ПО, разработавший такие проекты, как qmail, djbdns, Ed25519, Curve25519 и ChaCha20-Poly1305, предложил создать новый компилятор для языка Си, рассчитанный на сборку защищённого ПО. По мнению Бернштейна, сообществу не хватает компилятора, который мог бы обеспечить предсказуемое поведение и предоставить чётко определённую семантику для всех ситуаций, отмеченных в стандарте Си как неопределённые ( undefined), неспецифицированные (unspecified) или зависящие от конкретных реализаций.

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

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

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Дэниэл Бернштейн выступил с инициативой создания Си-компилятора для защищённого ПО», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.