Ícone do site Conviso AppSec

Operations according to SAMM: Environment Management and Application Security

gestão de ambiente

This article is part of a series of publications based on the OWASP SAMM project, if you are interested in understanding better, I recommend reading the article at this link. Within the Operations domain, there is the Environment Management practice, where we have two flows that are directly related, Configuration Hardening and Patching and Updating. According to SAMM, environment management does not end when the application runs . Management must be done continuously, and for this to be possible, attention must be paid to patches, configurations, and new features released regularly.

In the construction of a secure environment that supports an application, there are a large number of resources involved, such as operating systems, services, frameworks, libraries, etc., not to mention that the environment can be on-premises or cloud. This ends up enabling a variety of technology combinations, which in turn generate rich and distinct environments between different companies. This range of environments, which are the result of different software combinations, currently generates difficulties when security issues come to the fore. There is a need for greater control of updates, more robust configurations that guarantee adequate security, and consequently, the adoption of good practices.

When thinking about environment management, one thing that cannot be forgotten is that applications usually work with a certain stack, that is, a set of software/components used by the application, an example of a very common stack is LAMP (Linux, Apache, MySQL, and PHP). It is worth remembering that although I am talking about an application, the infrastructure where the application is hosted also deserves attention in terms of security. For this, OWASP SAMM brings us two streams (Streams A and B) in environment management, which speak respectively of Configuration Hardening and Patching and Updating. The following section mentions each of the flows and what is expected about their maturity, divided into three levels, gradually. Based on the maturity levels, it is possible to assess whether the team’s behavior expresses maturity in performing activities in the sector.

Configuration Hardening (Stream A)

Hardening is the process of reinforcing the security of the systems, for this purpose, the mapping of possible threats is done so that the protection of the systems can be improved. This practice consists of the following recommendations to reduce or even eliminate vulnerabilities in software, hardware, systems, and infrastructure in general. Basically, through good configuration practices, it is possible to make systems more robust and resistant to attacks, not leaving the entire system installed “by default”. According to SAMM, these are the activities expected by their respective maturity level:

Patching and Updating (Stream B)

Patching is an implementation of a computer program created to correct failures, it is also possible to update and solve security-related problems. Although Updating is related to Patching, updates are not necessarily failures linked to the software, but everything it may depend on, in addition to being related to updates of services used in the application environment. According to SAMM, these are the activities expected by their respective maturity level:

Conclusion

Security is not just done with implementations within the application itself, the environment can be a significant  vulnerable point for attackers, even more so if it is not well managed. It is worth remembering that most of the technologies that are used in the application stack sometimes do not follow good security practices by default. So it’s always worth looking for good configuration practice guides, or even validating with suppliers if they have such material. There are also cases where some components have a dependency on backward compatibility, which can consequently prevent updating certain software or even dependencies within the application.

It can be concluded that to guarantee the operation, it is necessary to have greater control of updates and perform more robust configurations that guarantee security, in addition to using the experiences of the teams to be able to adopt good practices within the environment. It’s also important to remember that vulnerabilities are discovered throughout the life cycles of the technologies your organization depends on, so it’s critical to monitor vulnerability reports and execute patches in an orderly and timely manner across the entire system. We shouldn’t limit ourselves to that, as seen according to the maturity level of each of the flows, many other processes that need to be done, and that collaborate with the evolution of the environment’s security.

SAMM article series

  1. Governance according to SAMM: Strategy and Metrics in Application Security
  2. Governance according to SAMM: Policies and Conformities in Application Security
  3. Governance According to SAMM: Application Security Education and Guidance
  4. Design according to SAMM: Threat Modeling in Application Security
  5. Design According to SAMM: Security Requirements in AppSec
  6. Design according to SAMM – Secure Architecture in Application Security
  7. Implementation according to SAMM: Secure Build in Application Security
  8. Implementation according to SAMM: Secure Deployment in Application Security
  9. Implementation According to SAMM: Defect Management in AppSec
  10. Verification according to SAMM: Application Security Architecture Analysis
  11. Verification according to SAMM: Requirements-Driven Testing in Application Security
  12. Verification according to SAMM: Security Tests in Application Security
  13. Operations according to SAMM: Application Security Incident Management
  14. Operations according to SAMM: Environment Management and Application Security
  15. Operations according to SAMM: Operational Management in Application Security
Sair da versão mobile