Агентство национальной безопасности США опубликовало отчёт с анализом рисков появления уязвимостей, вызванных ошибками при работе с памятью, такими как обращение к области памяти после её освобождения и выход за границы буфера. Организациям рекомендовано по возможности уйти от использования языков программирования, таких как Си и Си++, перекладывающих управление памятью на разработчика, в пользу языков, обеспечивающих автоматическое управление памятью или выполняющих проверки безопасной работы с памятью во время компиляции.
В числе рекомендованных языков, позволяющих снизить риск появления ошибок, вызванных небезопасной работой с памятью, названы C#, Go, Java, Ruby, Rust и Swift. В качестве примера упоминается статистика компаний Microsoft и Google, в соответствие с которой около 70% уязвимостей в их программных продуктах вызваны небезопасной работой с памятью. При невозможности мигрировать на более безопасные языки организациям советуют усилить защиту, используя дополнительные опции компиляторов, инструменты для выявления ошибок и настройки операционных систем, усложняющие эксплуатацию уязвимостей.
// cc-by opennet.ru
// converted with crypt’s opennet autoreposter
>>> Подробности