The NSA Tips: Software Memory Safety Audiobook By National Security Agency cover art

The NSA Tips: Software Memory Safety

National Security Agency April 2023

Preview

Audible Standard 30-day free trial

Try Standard free
Select 1 audiobook a month from our entire collection of titles.
Yours as long as you’re a member.
Get unlimited access to bingeable podcasts.
Standard auto renews for $8.99 a month after 30 days. Cancel anytime.

The NSA Tips: Software Memory Safety

By: National Security Agency
Narrated by: Tom Brooks
Try Standard free

$8.99 a month after 30 days. Cancel anytime.

Buy for $11.18

Buy for $11.18

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
Programming & Software Development Technology Software Development Software Programming Management
No reviews yet