Cloud Security
It
should be no surprise that the cloud can be just as vulnerable as in-house
servers; after all the cloud is just data centers with servers connected to the
internet. Cloud data centers such as Amazon, Microsoft, and Google do have top
notch security such as physical controls like concrete barriers and utilize the
most recent and secure network protocols such as IPv6. However, this does not
stop users of the cloud from poorly implementing security configurations or
writing bad code for the sites a cloud may host. Even more interesting, it has
been found that the cloud vendors themselves have vulnerabilities. Let’s delve
into some of these issues and how they may be addressed.
0day
vulnerabilities in the cloud vendors themselves do exist. Azure, in example,
did have a 0day Cross-Site Scripting (XSS) vulnerability. Chris Dale, a penetration
tester, found a command injection flaw that allowed him to set environment
variables of a process using an XSS payload. The command injection would cause
the process to hang which would cause the Administrator to debug the problem
thus cause the script to execute on his browser. Chris’s test stopped here due
to ethical reasons but the payload that Chris developed could’ve been used to
escalate privileges by, in example, stealing the admin’s session token. It’s
interesting to think that vulnerabilities like the one Chris had discovered
exist in the cloud vendor’s server and services themselves; from personal
experience cloud vendors such as Azure are used by BlueCross BlueShield and
store HIPAA and PHI related information. Even just leveraging an insecure site
of another company could give attackers the ability to navigate to their
intended target and compromise this data (Dale, 2016). Further reading can be
found in the link below:
While,
unfortunately, cloud clients may not be able to do much about their vendor’s vulnerabilities
there are ways to minimize their own. It’s common for companies to spin up production
virtual machines on a cloud to host websites. These sites could use APIs that
manage them or utilize third-party code/tools such as angular-js for login
pages. Setting up a website on a cloud is no different than setting up a web
site on an on-site server. Thus, securing APIs, using tls encryption, and
properly configuring the web server can prevent hackers from compromising a client’s
site. Having proper Change Control Systems in place and including security
experts in reviews can prevent misconfigurations from occurring (Siemons, 2017).
According
to OWASP, threat modeling can also assist in addressing potential security
issues and vulnerabilities by addressing security issues at an architectural level.
Organizations could also get involved in the OWASP Cloud Security project which
was formed in 2017 and is relatively new and could use more contribution. A
link to more information is below:
There
is a relatively new type of attack called the man-in-the-cloud (MitC) attack. In
this attack, the attacker utilizes social engineering (e.g. email spam, etc.) to
place a piece of malware called a switcher on the victim’s machine. The victim’s
machine uses a synchronization token to connect to the cloud and this piece of
malware replaces that token with a forged synchronization token from the
attacker. This forged synchronization token points to a cloud account set up by
the hacker allowing the attacker to copy the victim’s token to the attacker’s
cloud location where it is then downloaded by the attacker. This gives the
attacker access to the victim’s cloud data (Siemons, 2017).
This
attack is very difficult to detect as intrusion detection systems and logs will
normal cloud sync occurring. Administrators may be able to note synchronization
occurring with an unknown user given the logs verbosity level, but outside of
this the synchronization process will appear normal. Other method of detection
may include geolocation history but the best form of detection would be at the
social engineering part of the attack (e.g. a spam filter). Unfortunately if
this attack does successfully occur, the best mitigation strategy (once
detected) would be to close the cloud account and notify the cloud vendor
(Siemons, 2017).
Many
other attack methods exist such as Denial of Service, SQL Injection attacks,
and remote file inclusion attacks. Really the cloud is no different than any
other server on the internet, and unfortunately cloud clients do not have
control of a cloud vendor’s vulnerabilities. Thus, the best method for securing
data on the cloud is to keep communication between a client and its cloud
vendor open. Users of the cloud can also stay up to date on cloud and general
web application security vulnerabilities in general by reading reports such as
the OWASP Top 10 and complying with security frameworks such as COBIT. Below is
a list of some good sites for staying on top of cloud security:
References
Dale,
C. (August 19, 2016). Azure 0day Cross-Site Scripting with Sandbox Escape. Retrieved
from https://pen-testing.sans.org/blog/2016/08/19/azure-0day-cross-site-scripting-with-sandbox-escape
Siemons,
F. (April 13, 2017). Attacking the Cloud. Retrieved from https://resources.infosecinstitute.com/attacking-the-cloud/#gref
Siemons,
F. (March 8, 2017). How to detect and prevent a man-in-the-cloud attack.
Retrieved from https://searchcloudsecurity.techtarget.com/tip/How-to-detect-and-prevent-a-man-in-the-cloud-attack
Comments
Post a Comment