Adobe has an established footprint on Amazon Web Services (AWS). It started in 2008 with Managed Services, and expanded greatly with the launch of Creative Cloud in 2012 and the migration of Business Catalyst to AWS in 2013. In this time, we found challenges in keeping up with AWS security review needs. In order to increase scalability, it was clear we needed a defined set of minimum AWS security requirements and tooling automation for auditing AWS environments against it. This might sound simple, but like many things, the devil was in the details. It took focused effort to ensure the result was a success. So how did we get here? Let’s start from the top.
First, the optimal output format needed to be decided upon. Adobe consists of multiple Business Units (BUs) and there are many teams within those BUs. We needed security requirements that could be broadly applied across the company as well as to acquisitions. so we needed requirements that could not only be applied to existing services and new services across BUs; but also be future-proof. Given these constraints, creating a formal standard for our teams to follow was the best choice.
Second, we needed to build a community of stakeholders in the project. For projects with broad impact such as this, it’s best to have equally broad stakeholder engagement. I made sure we had multiple key representatives from all the BUs (leads, architects, & engineers) and that various security roles were represented (application security, operational security, incident response, and our security operations center). This led to many strong opinions about direction. Thus, it was important to be an active communication facilitator for all teams to ensure their needs are met.
Third, we reviewed other efforts in the security industry to see what information we could learn. There are many AWS security-related whitepapers from various members of the security community. There have been multiple security-focused AWS re:Invent presentations over the years. There’s also AWS’s Trusted Advisor and Config Rules, plus open source AWS security assessment tools like Security Monkey from Netflix and Scout2 from NCC Group. These are all good places to glean information from.
While all of these varied information sources are fine and dandy, is their security guidance relevant to Adobe? Does it address Adobe’s highest risk areas in AWS? Uncritically following public guidance could result in the existence of a standard for the sake of having a standard – not one that delivered benefits for Adobe.
A combination of security community input, internally and externally documented best practices, and looking for patterns and possible areas of improvement was used to define an initial scope to the standard. At the time the requirements were being drafted, AWS had over 30 services. It was unreasonable (and unnecessary) to create security guidance covering all of them. The initial scope for the draft minimum security requirements was AWS account management, Identity & Access Management (IAM), and Compute (Amazon Elastic Compute Cloud (EC2)and Virtual Private Cloud (VPC)).
We worked with AWS stakeholders within Adobe through monthly one-hour meetings to get agreement on the minimum bar security requirements for AWS and which were to be applied to all of Adobe’s AWS accounts (dev, stage, prod, testing, QA, R&D, personal projects, etc). We knew we’d want a higher security bar for environments that handle more sensitive classes of data or were customer facing. We held a two-day AWS security summit that was purely focused on defining these higher bar security requirements to ensure all stakeholders had their voices heard and avoid any contention as the standard was finalized.
As a result of the summit, the teams were able to define higher security requirements that covered account management/IAM and compute (spanning architecture, fleet management, data handling, and even requirements beyond EC2/VPC including expansion into AWS-managed services such as S3, DynamoDB, SQS, etc.).
I then worked with Adobe’s Information Systems Security Policies & Standards team to publish an Adobe-wide standard. I transformed the technical requirements into an appropriate standard. This was then submitted to Adobe’s broader standards’ teams to review. After this review, it was ready for formal approval.
The necessary teams agreed to the standard and it was officially published internally in August 2016. I then created documentation to help teams use the AWS CLI to audit for and correct issues from the minimum bar requirements. We also communicated the availability of the standard and began assisting teams towards meeting compliance with it.
Overall the standard has been well received by teams. They understand the value of the standard and its requirements in helping Adobe ensure better security across our AWS deployments. We have also developed timelines with various teams to help them achieve compliance with the standard. And, since our AWS Security Standard was released we have seen noted scalability improvements and fewer reported security issues. This effort continues to help us in delivering the security and reliability our customers expect from our products and services.