IaaS: The Next Chapter In Cloud SecurityOrganizations adopting IaaS must update their approach to security by using the shared responsibility model.
Companies in industries from manufacturing to financial services to the public sector trust cloud providers with their critical data. The rapid growth of software-as-a-service (SaaS) applications such as Office 365 and Salesforce depended on trust. But the floodgates of SaaS adoption didn't open until IT security professionals became convinced that cloud providers could produce equivalent or better security compared to traditional software. Where challenges remain is on the enterprise side; Gartner predicts 95% of cloud security incidents will be the customer’s fault.
Now a second wave of cloud adoption is reaching its swell, with the edge around enterprises disappearing into infrastructure-as-a-service (IaaS) offerings. For IaaS, organizations need to update their approach to security by using the shared responsibility model.
Updating the Shared Responsibility Model for IaaS
Cloud-first companies use SaaS tools for different functions: Office 365 for collaboration, Workday for human resources, and Salesforce for customer relationship management. Every organization also possesses anywhere from a handful to thousands of internally developed applications for employees, customers, and partners. Organizations are eliminating their data centers and moving these proprietary applications to IaaS cloud offerings en masse, leading to an IaaS growth rate double that of SaaS.
Even companies that have taken a proactive approach to SaaS security must reevaluate their capabilities when it comes to applications hosted on IaaS platforms. SaaS and IaaS platforms operate under different shared-responsibility models, or the allocation of security capabilities between cloud provider and customer. Many security vulnerabilities that SaaS providers address fall on the shoulders of the enterprise customer for applications hosted on IaaS services.
Furthermore, business pressure to move quickly means security teams may have little to no oversight on IaaS security; developer teams don't have extra resources to dedicate to updating security for existing on-premises applications slated to migrate to the cloud. Proprietary applications don't have dedicated security solutions like SaaS apps do, nor do they have APIs that integrate out of the box with security products. While in the past we have thought of startups and cloud service providers as the companies dealing with AWS, Azure, or Google Cloud Platform security, today the Fortune 2000 are contending with the challenges of securing apps in the cloud.
IaaS security threats come from both inside and outside the organization. Hackers target corporate IaaS accounts to steal data or computing resources. This vector can be exploited through stealing credentials, gaining misplaced access keys, or leveraging misconfigured service settings. One researcher discovered over 10,000 AWS credentials on GitHub. Hacked accounts can be used to mine Bitcoin or hold companies for ransom, as in the worst-case scenario of hosting company Code Spaces.
Internally, a malicious employee with access to IaaS accounts can cause immense damage by stealing, altering, or deleting data on the platform. Human error and negligence can expose corporate data and resources to attackers. Healthcare company CareSet made a configuration error that resulted in hackers exploiting its Google Cloud Platform account to launch intrusion attacks against other targets. After a few days without remediation, Google temporarily shut down the company's account. Organizations can't incorrectly assume that IaaS environments are secure out of the box. In every case above, the cloud provider is powerless to address the customer's vulnerability.
IaaS Security Action Plan
Keeping data safe in proprietary applications on IaaS platforms requires an extra step beyond SaaS security: protecting the computing environments themselves. Securing environments on AWS, Google Cloud Platform, Microsoft Azure, or other IaaS platforms begins with a configuration audit. Here are four categories of configurations critical to securing IaaS usage:
1. Authentication: Multifactor authentication is a necessary control for any application with sensitive corporate information, especially cloud applications exposed to the Internet. Companies should enable multifactor authentication for root accounts and Identity and Access Management users to reduce the risk of account compromises. Heightened authentication can require a user to enter an additional login step before they commit an action such as deleting an S3 bucket.
2. Unrestricted Access: Unnecessarily exposing AWS environments increases the threat of various methods of attack including denial-of-service, man-in-the-middle, SQL injections, and data loss. Checking for unrestricted access to Amazon Machine Images, Relational Database Service instances, and Elastic Compute Cloud can protect intellectual property and sensitive data, as well as prevent service outages.
3. Inactive Accounts: Inactive and unused accounts pose unnecessary risk to IaaS environments. Auditing and eliminating inactive accounts can prevent account compromise and misuse at little cost to productivity.
4. Security Monitoring: One of the top fears of moving computing to the cloud is loss of visibility and forensics. Turning on an audit trail like AWS's CloudTrail logging establishes a behavior monitoring tool for active threats and forensic investigations. This is also a basic compliance requirement for any large company and can be a deal breaker for moving an application to IaaS.
Of these four categories, security monitoring is the most complex and robust. Machine learning tools can be tuned to detect a range of behavior indicative of a threat. APIs can enable monitoring based on session locations, excessive activity, or brute-force logins. At first glance, moving applications to the cloud can appear to forfeit control. With a proactive, cloud-based security strategy, however, applications on IaaS can be just as secure as their on-premises counterparts, or even more so.
Kaushik Narayan is a Co-Founder and CTO at Skyhigh Networks, a cloud security company, where he is responsible for Skyhigh's technology vision and software architecture. He brings over 18 years of experience driving technology and architecture strategy for enterprise-class ... View Full Bio