Cloud Security Testing
Ensure that exploitable vulnerabilities are found early, and verifies that remediation is effective.
Cloud Security Testing
This type of testing refers to the technologies, policies, controls, and services that protect cloud data, applications, and infrastructure from threats.
In a constantly evolving threat landscape, it is vital to work with a cyber security partner that understands Cloud Security.
Cloud penetration testing is an attack simulation performed to find vulnerabilities that can be exploited or to find any misconfigurations in a cloud-based asset.
There is no Cloud environment immune to incidents like data breaches, information leaks, ransomware attacks, or other common attack scenarios. Cyber Legion’s testing and vulnerability management ensure that exploitable vulnerabilities are found early, and verifies that remediation is effective. The platform also provides robust reporting capabilities to show your organization’s progress in improving your security posture.
Cyber Legion is a One stop-shop solution for all security stakeholders to ensure that their businesses are well guarded against security issues and cyber attacks. One Security platform for all your company security threats, risks, vulnerabilities and engagements.
AWS Security Testing
AWS offers over 90+ different cloud hosting services that include offerings such as compute and storage, content delivery, security management, network infrastructure, and physical hosting facility for tenant organizations. The wide range of these services typically falls into Infrastructure (IaaS), Platform (PaaS), or Software as a service (SaaS). Uses for these virtual environments include internal organizational, a service to consumers, or a mixture of both.
The most common purposes include networking, data storage, web application services, and code development.
AWS permits security testing for User-Operated Services, which includes cloud offerings created and configured by the user. For example, an organization can fully test their AWS EC2 instance excluding tactics related to disruption of business continuity such as launching Denial of Service (DOS) attacks.
AWS Penetration Testing
AWS penetration tests involving Vendor Operated Services, which are those cloud offerings that are owned and managed by a third-party vendor, are restricted to the implementation and configuration of the cloud environment and not the underlying infrastructure.
AWS services such as CloudFront and the API Gateway configuration may be pen tested but the hosting infrastructure is off limits.
Elastic Cloud Computing (EC2) is an AWS service which is commonly penetration tested. In an AWS EC2 instance, specific areas that allow penetration testing include:
Application Programming Interface (API) (e.g. HTTP/HTTPS)
Web and mobile applications that hosted by your organization
The application server and associated stack (e.g. programming languages such Python, React)
Virtual machines and operating systems.
These areas are not the limits of what can be penetration tested, but are commonly included during an AWS pen test.
Azure Security Testing
Microsoft no longer requires pre-approval to conduct a security tastings against Azure resources. This process is only related to Microsoft Azure, and not applicable to any other Microsoft Cloud Service.
The first step in Azure security testing is to understand how Azure is deployed on your end. Security management depends on the type of deployment. There are two types of deployment
- Classis mode
You get a bundled cloud service, containing a virtual machine, load balancer, an external IP, and a network interface card.
- Resource Management mode.
You get all the cloud services bundled into a single entity. In this, you get a tool named Azure Resource Manager (ARM). As the name suggests, you can use this to better manage all your cloud services and apply security protocols in a standardized way. It also lets you apply role-based access control across all virtual resources in the group.
Azure Penetration Testing
Microsoft encourages users to pen-test their Azure services and report their findings to help in fixing and patching the security gaps. However, to protect their customer’s data and to avoid disruption in their services, users need to follow some rules while pen-testing.
The following steps are encouraged by Microsoft to conduct Azure penetration testing:
- Create multiple test or trial accounts to test cross-account access vulnerabilities. However, using these test accounts to access other customer’s data is prohibited.
- Running vulnerability scanning tools, port scan, or fuzz on your virtual machine.
- Testing your account by generating traffic which is expected to match regular working periods and can also include surge capacity.
- Try to break out of Azure services to access other customer assets. If any such vulnerability is found, you should inform Microsoft and cease any further tests.
- Test Microsoft Intune to ensure all restrictions function as expected.
GCP Security Testing
Google cloud security testing is a mandatory process for organizations that are seriously considering cloud deployment.
Cloud penetration testing is a unique network penetration testing that focuses on cloud applications and infrastructure security. The goal of cloud penetration testing is to test for cloud application vulnerabilities that may impact the security of the organization’s internal network. Google Cloud Platform (GCP) is one of the widely used cloud platforms, and it’s equally important to understand how to keep it secure.
For a security testing to be effective, it needs to be comprehensive. That means testing not just the application but also the underlying cloud infrastructure. It also means testing the whole system, including the cloud, to ensure there are no weak spots.
GCP Penetration Testing
Penetration testing is an integral part of any security program, but it’s even more critical in the cloud. That’s because cloud environments are shared resources that sit outside an organization’s firewall.
The importance of google cloud penetration testing is not limited to this; here are few more points to understand the purpose of pen testing:
- Identify security vulnerabilities
- Identify broken access controls
- What all things hackers can get from your google cloud?
- Real-life exploitation of security risks and vulnerabilities.
- Standard best practices to prevent security risks.
Cloud Security Threats
Insecure APIs: Application programming interfaces or APIs enables companies to share their applications data and functions with third-party companies. API keys are used for identifying and authenticating between companies and third parties. If we don’t protect our API keys, someone can gain access to them. API services are commonly used, and insecure APIs can lead to severe data leaks. To prevent these cases, don’t embed API keys into code, and keep them in a safe place where unauthorized people can’t access them. In addition, for all our API services, there should be an authentication/authorization mechanism to prevent broken access control.
Outdated software: If our software is outdated, this may cause some major security issues like data leaks or credentials leaks. Make sure that the software in use is the latest version. One of the reasons to update these applications is to prevent getting damaged security flaws in the old versions that need to be solved. For this reason, the threat should be removed by updating your programs.
Misconfigurations on the cloud: According to the research, between February 2018 and June 2019, 90% of all Cloud-based security issues were due to misconfigurations. There is always a story in the news about a big company being subject to a data leak or disclosing a breach of privacy. While these may occur on the Cloud, the root cause is nearly always a case of human error on the company’s configuration side.
Stolen credentials: Credentials may leak in some way or can be hardcoded in the application. This may cause our credentials to be stolen. We should not share our credentials such as the access key, secret access key, or API keys in the codebase. That’s basically like giving our master key to a stranger.
Access privileges: There is a concept in the cloud called “the least privilege principle”. That means giving the user the least amount of privileges to do their job. If we give them excessive privilege and the account gets hacked or stolen, this may lead to serious problems. To prevent them, we should always give the least amount of privilege to the users. For more information, check out the Google Cloud Platform approach for least privilege.
Cloud Penetration Testing Authorization and Policies
We should always check the cloud providers’ service policies. The tables below visualize AWS’s policy on what we can and can’t test:
AWS allows penetration testing on:
- Amazon EC2 instances, NAT Gateways, and Elastic Load Balancers
- Amazon RDS
- Amazon CloudFront
- Amazon Aurora
- Amazon API Gateways
- AWS Lambda and Lambda Edge functions
- Amazon Lightsail resources
- Amazon Elastic Beanstalk environments
Users can perform penetration testing on these services without any issues.
Challenges of the Cloud Pentesting
No classic way: There is no standard way of performing cloud pen testing. It all ties to the client and what they want.
Different technology, different cases: Cloud pen testing process is often performed on different cloud providers and different technologies depending on the clients. That’s why we need to know which cloud services are used and what are possible security misconfigurations, and the vulnerabilities related to these services. Knowing all cloud services can be challenging for pen testers.
Different pen testing policy: Every cloud provider has their own policy for pen testing. Because of that, the cloud pen testing process could change depending on the provider. For some of the services, we may have to notify the providers before pen testing.
Cloud Security Controls
- Understand usage/implementation
- Identify assets & define boundaries
- Access policies
- Identify, review & evaluate risks
- Documentation and Inventory
- Add to risk assessment
- IT security & program policy
- Network Security Controls
- Physical links
- Granting & revoking accesses
- Environment Isolation
- Documentation and Inventory
- DDoS layered defence
- Malicious code controls
- Console access
- API access
- IPSec Tunnels
- SSL Key Mangement
- Protect PINs at rest
Logging and Monitoring
- Centralized log storage
- Review policies for ‘adequacy’
- Review Identity and Access Management (IAM) credentials report
- Aggregate from multiple sources
- Intrusion detection & response