Amazon Web Services is trying rather hard to get its security game going to the next level. But security researchers keep finding new ways to mess with it.
The newest one is from MindPoint Group, and involves the AWS CloudFront CDN service. Security analyst Matt Westfall found out that in a misconfigured CloudFront account, subdomains of legitimate sites could be hijacked.
This is, at root, a flaw in CloudFront.
While each CloudFront distribution will have a unique endpoint for users to point their DNS records to, all of the domains using a specific distribution must be listed in the "Alternate Domain Names" (CNAMEs) field in the options for that distribution.
However, when the CDN gets a request, it uses the HOST header of the request to determine which distribution to use. In this scenario, if the HOST header does not match an entry in the "Alternate Domain Names" (CNAMEs) field of the intended distribution, the request will fail.
Any other distribution that contains the specific domain in the HOST header will receive the request and respond to it normally. This is the mechanism that enables the hijack to occur.
The binding mechanism that should be in place inside CloudFront is then easily bypassed. A request to one specific CloudFront subdomain will not be limited to only that associated distribution list.
In his blog, Westfall wrote about how he tested out his observation.
What Westfall ended up doing is creating a Python script that would test for misconfiguration and repoint vulnerable subdomains to the target of his choice.
In his test, he ran the script for a few days and found that he had hijacked a lot of high-profile subdomains. They included two distinct US Federal "dot gov" organizations, Bloomberg Businessweek, Commonwealth Bank of Australia, Dow Jones, Harvard University, Red Cross and Reuters.
The problem seemed to be widespread.
The AWS response was interesting.
Westfall discussed what he found out with the AWS Security team and the CloudFront engineers. As he put it, "...while they accept that the nuances of CloudFront's routing mechanism leave room for improvement, at no time have they decided to treat this issue as a vulnerability."
Westfall recommends that "most AWS customers with a single distribution can protect themselves by adding a wildcard domain (such as *.disloops.com) to the "Alternate Domain Names" (CNAMEs) field.
Amazon isn't totally ignoring this, either.
The CloudFront console now displays a popup when a user removes a CNAME from a CloudFront distribution that warns them to keep their DNS records in sync with their CloudFront distribution. Such a synchronization would prevent the possibility of hijacking.
Amazon has been getting more security conscious lately.
At the AWS Summit this week, the cloud provider introduced new automation tools for making secure apps easier to run in AWS. (See AWS Expands Cloud Security Automation.)
Although the company doesn't consider the CloudFront situation a vulnerability, its engineers are trying to help users avoid the situation where it could happen. They seem to have realized that just the selling of runtime on someone else's computer may not be the entire business model that is needed for success.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.