Inspect and validate code bases for compliance

Completed

Security for applications is critical. Every day, news services worldwide seem to carry stories about some company systems breached. More importantly, private company and customer data have been disclosed.

It has been happening for a long time. In many cases, it wasn't visible to the public. Private information was often disclosed, yet the people affected weren't even notified.

Governments worldwide frequently enact legislation to require information about breaches to become public and notifications to the affected.

So, what are the issues?

We need to protect information from being disclosed to people who shouldn't have access. But more importantly, we need to ensure that the data isn't altered or destroyed when it shouldn't be, and we need to make sure it's destroyed when it's supposed to be.

We need to make sure we properly authenticate who is accessing the data and that they have the correct permissions to do so. We need to find evidence when something has gone wrong through historical or archival data or logs.

There are many aspects to building and deploying secure applications.

  • First, there's a general knowledge problem. Many developers and other staff assume they understand security, but they don't. Cybersecurity is a constantly evolving discipline. A program of ongoing education and training is essential.
  • Second, we need to ensure that the code is created correctly and securely implements the required features, and we need to make sure that the features were designed with security in mind in the first place.
  • Third, we need to ensure that the application follows the rules and regulations required to meet. We need to test it while building the code and retest it periodically, even after deployment.

It's commonly accepted that security isn't something you can add to an application or a system later.

Secure development must be part of the development life cycle. It's even more important for critical applications and those who process sensitive or highly confidential information.

Application security concepts haven't been a focus for developers in the past. Apart from the education and training issues, their organizations have emphasized the fast development of features.

However, with the introduction of DevOps practices, security testing is much easier to integrate. Rather than being a task done by security specialists, security testing should be part of the day-to-day delivery processes.

Overall, when the time for rework is taken into account, adding security to your DevOps practices can reduce the overall time to develop quality software.