Injection defenses rely on making your code aware of the data structure it manipulates. If it is done well, your data structure internals are exposed just enough, so it is possible to hide them completely. Taking this approach will lead you to think of interfaces as security contracts.
Did you also think that Unix-based operating systems are the superior species in terms of security? Well, maybe you should reconsider that. In early 2021, a severe bug was found in them, which affected many Unix systems. When the report about it arrived, the bug was already patched, but let’s look at it in this article.
Your time as a Software Engineer is valuable. I get it and respect it. This blog is designed to contain small, easily consumable drops of security knowledge essential for You.
Early March, I and SecurityDrops with me joined SCADEMY - Secure Coding Academy. Expect content. More and better quality content from me and from experienced peers alike. I will dedicate more time to the blog and curating its content.
Injections are still one, if not the most serious, flaws a developer can make. This post deconstructs the vulnerability and puts it back together to offer you a solid understanding to build on. After reading it, you will never think of injections the same way.
Mental models help us learn faster and more efficiently. The security field can be viewed from two different viewpoints. One is very high-level, dealing with abstract ideas. Let’s call it macro. The other deals with the details, of how the smaller parts interact. That’s the micro.