With cybersecurity threats rising at an alarming rate over the past year, enterprises that build applications are increasingly realizing the necessity of adopting a security posture built on precautionary principles. With cyberattacks, it is no longer the case of “will it happen?” Rather, applications are more likely than not to come under many and varied cybersecurity attacks. As a result, engineers of complex software systems have a burden of proof that what they create is safe from its onset rather than determining if it represents an unintended danger after the fact. Criminals are “innocent until proven guilty”; software applications are “guilty until proven innocent”.
Addressing these imbalances, threat modeling has become core to ensuring applications can withstand future attacks. It is essential from the onset of the software development lifecycle to anticipate where attacks are likely to come from and to prescribe controls to mitigate risk from these threats. Additionally, it is essential that much of this process becomes automated, to ensure that time to market for new applications, and upgrades to existing systems, are not compromised.