The move to the cloud has forced many CIOs to change the way they think about security. With much of the responsibility for protecting infrastructure now being outsourced to cloud providers, CIOs need to focus more on the stack to ensure configurations are correct and data is not inadvertently exposed.
As you assess your operations for vulnerabilities, three factors can increase the chances that employees will inadvertently leave the front door of your infrastructure open:
1. Aggressively push new code and features
How much pressure do you put on developers to deliver new code? When too much emphasis is placed on getting features and code, developers can inadvertently cause configuration changes. For example, if developers constantly create new virtual machines (VMs) to test new code and configure them manually, they create more opportunities for bugs. Developers who regularly make small changes to production code, such as opening additional communication ports for new application features, often create workarounds to avoid the time-consuming process of gaining administrator privileges each time they need to make a change.
2. Increased application interconnectivity
The more connections you have with third parties or between components of an application, the greater the chances of a problematic misconfiguration. Common API errors include broken authorizations at the object level, user level, and function level.
Exposing too much information in your APIs can also give hackers clues on how to crack your code. Cloud-native containerized applications can also pose a threat, as an unintentional vulnerability in a single container can allow a hacker to access your entire software stack.
3. Complexity of cloud infrastructure
The complexity of your cloud architecture has a significant impact on the risk of misconfiguration. A single-tenant cloud presents limited risk because no one else has code on the same machine as you. You just need to focus on making sure your machine is set up correctly. In multi-tenant environments, the risk increases as your environment needs to be configured to ensure that a hacker is not running code on a VM on the same machine. Where the risk becomes exponentially higher is in multicloud or hybrid architectures when code and data are stored and processed in a variety of different places. For these pieces to work together, they must create a complex network of connections on the web, which presents many more opportunities for costly mistakes.
To minimize the risk posed by misconfigurations, organizations should ensure that configurations are constantly checked and errors identified. This can be done in several ways:
- In less complex systems with simpler cloud architectures and little pressure for new features, regular manual checks may suffice.
- As stacks become more connected and complex and manual processes cannot be scaled, developers can create automated scripts to check for known and common configuration issues. While this may work in situations where complexity and connectivity are limited, if a vulnerability is accidentally created, a hacker could exploit it before running a scan.
- In very complex organizations with a high probability of misconfiguration, a constant monitoring approach may be prudent to continually control cloud configurations.
Many organizations moving to the cloud are now looking to cloud security posture management (CSPM) solutions to improve security. While many providers now offer platforms that will constantly monitor their own cloud systems for misconfiguration issues, these solutions generally don’t work well for multi-cloud or hybrid cloud architectures. Since each cloud system implements things differently and uses its own terminology, a third-party solution designed to monitor multiple clouds may be a more viable option.
Regardless of how an organization chooses to protect itself from security vulnerabilities in the cloud, organizations that adopt modern infrastructure and more flexible application development processes must also adopt more modern security postures.