Page de couverture de The NSA Tips: Software Memory Safety

The NSA Tips: Software Memory Safety

National Security Agency April 2023

Aperçu

Obtenez gratuitement l’abonnement Premium Plus pendant 30 jours

14,95 $/mois après l’essai de 30 jours. Annulez à tout moment.
Essayer pour 0,00 $
Autres options d’achat
Acheter pour 8,71 $

Acheter pour 8,71 $

À propos de cet audio

Modern society relies heavily on software-based automation, implicitly trusting developers to write software that operates in the expected way and cannot be compromised for malicious purposes. While developers often perform rigorous testing to prepare the logic in software for surprising conditions, exploitable software vulnerabilities are still frequently based on memory issues. Examples include overflowing a memory buffer and leveraging issues with how software allocates and de-allocates memory.

Microsoft® revealed at a conference in 2019 that from 2006 to 2018 70 percent of their vulnerabilities were due to memory safety issues. [1] Google® also found a similar percentage of memory safety vulnerabilities over several years in Chrome®. [2] Malicious cyber actors can exploit these vulnerabilities for remote code execution or other adverse effects, which can often compromise a device and be the first step in large-scale network intrusions.

Commonly used languages, such as C and C++, provide a lot of freedom and flexibility in memory management while relying heavily on the programmer to perform the needed checks on memory references. Simple mistakes can lead to exploitable memory-based vulnerabilities. Software analysis tools can detect many instances of memory management issues and operating environment options can also provide some protection, but inherent protections offered by memory safe software languages can prevent or mitigate most memory management issues.

NSA recommends using a memory safe language when possible. While the use of added protections to non-memory safe languages and the use of memory safe languages do not provide absolute protection against exploitable memory issues, they do provide considerable protection. Therefore, the overarching software community across the private sector, academia, and the U.S. Government have begun initiatives to drive the culture of software development towards utilizing memory safe languages. [3] [4] [5]

©2023 Tom Brooks (P)2023 Tom Brooks
Programmation et développement de logiciels Technologie Logiciel Développement de logiciels Programmation Gestion
Pas encore de commentaire