Cloud Security Testing
Ensure that exploitable vulnerabilities are found early, and verifies that remediation is effective.
Cloud Security Testing
Cloud security refers to the technologies, policies, controls, and services that safeguard cloud-based data, applications, and infrastructure from potential threats. In today’s constantly changing threat landscape, it is essential to partner with a cyber security company that specializes in Cloud Security.
One important aspect of cloud security is cloud penetration testing, a simulated attack designed to identify vulnerabilities that can be exploited or misconfigurations in cloud-based assets. Unfortunately, no cloud environment is completely immune to incidents such as data breaches, information leaks, ransomware attacks, or other common attack scenarios.
Cyber Legion offers testing and vulnerability management to ensure that exploitable vulnerabilities are detected early and that remediation efforts are effective. Our platform also provides comprehensive reporting capabilities to demonstrate your organization’s progress in improving its security posture.
Cyber Legion is a one-stop-shop solution for all security stakeholders to ensure that their businesses are well-protected against security issues and cyber attacks. Our platform offers comprehensive coverage for all of your company’s security threats, risks, vulnerabilities, and engagements.
AWS Security Testing
Amazon Web Services (AWS) offers a vast array of cloud hosting options, with over 90 different services available. These services encompass a wide range of areas, including compute and storage, content delivery, security management, network infrastructure, and physical hosting facilities for tenant organizations. These services are generally categorized into three main types: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
These virtual environments can be used for a variety of purposes, including internal organizational use, as a service to consumers, or a combination of both. The most popular uses include networking, data storage, web application services, and code development.
One of the key features of AWS is its security testing for user-operated services, which includes cloud offerings created and configured by the user. For example, an organization can thoroughly test their AWS EC2 instance, excluding tactics that could disrupt business continuity, such as launching Denial of Service (DoS) attacks.
AWS Penetration Testing
Penetration testing on Vendor Operated Services offered by Amazon Web Services (AWS) is limited to the evaluation of the cloud environment’s implementation and configuration, rather than the underlying infrastructure. This means that while services like CloudFront and API Gateway may be tested, the physical hosting infrastructure is off-limits.
One popular service that can be penetration tested on AWS is Elastic Cloud Computing (EC2). When conducting a pen test on an EC2 instance, common areas that are examined include the API (e.g. HTTP/HTTPS), web and mobile applications hosted by the organization, the application server and associated stack (e.g. programming languages such as Python or React), and virtual machines and operating systems.
It is worth noting that these are not the only areas that can be tested, but are commonly included in 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