Memory safety seems to me like a growing concern among developers. A programming
ID: 3747138 • Letter: M
Question
Memory safety seems to me like a growing concern among developers. A programming language that is memory safe is protected from memory access security vulnerabilities such as buffer overflows and unbounded variables. These security vulnerabilities can lead to exploits like the Heartbleed bug discovered in 2014. To mitigate these vulnerabilities, some software projects such as Redox or Subgraph OS have turned to programming languages like Rust or Golang (Redox, n.d.; Subgraph, n.d.). What do you think of memory safety and what could companies do to mitigate this issue?
Explanation / Answer
Answer)
Memory Safety is defined as a state of protecting the memory from many such software bugs and vulnerabilities that would affect the security when memory is being accessed. Some of the examples are as follows:
Buffer overflows, dangling pointers. use after free, use of uninitialized memory, illegal free and null pointer dereferencing, invalid page fault,
Also for embedded software developers, the tools use provides the low-level controls with respect to functionality and performance of the system that one builds. Hardware registers are manipulated to write to the device drivers, where no runtime system interrupts the tasks and leads to missing the deadline. There are different techniques in a programming language which helps to offer the control without any tradeoffs with respect to safety that will happen with conventional tools.
The most common cause of such buffer overflow issue is the MITRE's Corporation’s Common Vulnerabilities and Exposures (CVE) database.
But every issue here can be controlled using the alter tradeoffs which is the advances of the programming language. This will help to make a program both memory safe and low level controlled.
Ivory and Rust being examples of such advanced usage of alter-tradeoffs.
Whereas few languages which are static analysis to ensure that the program is memory safe.
Hit like if you find the answer useful. :)
Hope this answer helps. Thanks