top of page

Cloud Security for Biotech: The Biggest Misconfigurations Putting Your Data at Risk

  • Writer: Alex Rozn
    Alex Rozn
  • Mar 29
  • 23 min read

Updated: Apr 7

Cloud Security for Genomics: The Biggest Misconfigurations Putting Your Data at Risk feature image

Modern biotech startups increasingly rely on cloud infrastructure to power genomic data analysis and deliver applications to users. However, along with the cloud’s scalability comes a new set of security challenges. Misconfigurations in cloud services are a leading cause of data breaches, and genomic data – being highly sensitive and valuable – must be protected by design.


This article explores typical biotech cloud architectures, the threats arising from each component, the most common cloud misconfigurations (with a focus on AWS and notes on GCP and Azure), and how Cloud Security Posture Management (CSPM) tools can help prevent these issues. We’ll conclude with key takeaways emphasizing why securing biotech data in the cloud is non-negotiable.


Typical Biotech Product Architecture in the Cloud

A biotech startup’s cloud architecture usually has two distinct layers: (a) a data processing pipeline for heavy-duty computation on genomic data, and (b) user-facing applications that enable researchers, clinicians, or consumers to interact with results.


Data Processing Pipeline (Batch/HPC/Serverless)

This layer handles the computational workflows common in genomics – for example, processing raw sequencing files (FASTQ) into aligned reads (BAM) or variants. It often uses high-performance computing (HPC) clusters or cloud batch processing services to crunch large datasets.


To ensure reproducibility and scalability, pipelines are containerized using Docker and orchestrated with tools like Kubernetes. Workflows might be written in languages popular in bioinformatics (Python, R, C++), and they frequently rely on object storage (e.g., AWS S3 buckets) to hold the massive input and output files. Genomic data files (FASTQ, BAM, CRAM, etc.) can reach many terabytes, so cost-efficient storage and parallel processing are essential [1] [2]. Many organizations leverage cloud elasticity to meet peak compute demands without maintaining physical servers.


User-Facing Application (Web/Mobile & Data Layer)

Separate from the pipeline, this layer delivers results and insights to end users or internal scientists. It typically includes web or mobile applications and RESTful APIs that allow users to query genomic analyses, visualize data, or order new analyses. These applications interface with databases – for example, an SQL database for metadata and analysis results, or specialized NoSQL/graph databases to store genomic relationships or variant annotations.


They may also fetch large files from object storage (for example, pulling a processed genome file from S3 when a user requests a download). The application layer is usually built with standard web frameworks and runs in cloud VMs or containers. This layer must be designed to handle user authentication and API requests and present data securely over the Internet.


In practice, both layers are integrated. The pipeline writes outputs (analysis results, reports) to storage or databases that the application layer then queries. The cloud provider’s identity and access management (IAM) regulates what the pipeline and apps can access.

Diagram of a two-layer cloud setup for genomics: one layer processes data, the other delivers results to users, with IAM managing access between them.
Simplified diagram illustrating this two-layer architecture with key components

In summary, a genomics cloud platform will typically use object storage (for raw and intermediate data), containerized compute (to run analysis tools like genome aligners or variant callers), specialized data formats (FASTQ for sequences, BAM for alignments, VCF for variants, etc.), scientific programming languages (R/Python for analytics, C/C++ for performance-critical genomics algorithms), and databases (SQL for structured data like sample info, NoSQL or graph DBs for complex biological relationships). This modular architecture accelerates research – indeed, industry leaders like Ancestry, AstraZeneca and Genomics England use AWS cloud to “accelerate time to discovery while concurrently reducing costs and enhancing security” [3].


But it also introduces security responsibilities that differ from traditional on-premise setups. The cloud’s shared responsibility model means that while the provider secures the underlying infrastructure, the customer (you) must securely configure cloud services and applications [4]. Failing to do so can put genomic data at serious risk.


Possible Threats Related to Architecture Components

Every component in the above architecture can become an attack vector if not properly secured. Below are the major threat scenarios and vulnerabilities associated with each part of the biotech cloud stack.


Insecure APIs and Web Applications

The user-facing APIs and web portals, if poorly secured, could allow unauthorized access to sensitive genomic data. For example, an API endpoint that lacks proper authentication or input validation might be exploited to retrieve data it shouldn’t, or to inject malicious commands. Attackers commonly target APIs with methods like SQL injection or use stolen API keys.


An insecure API can act as a wide-open front door to your genomic database. Given that biotech startups often share data with partners via APIs, failing to secure them (with HTTPS, authentication tokens, rate limiting, etc.) can lead to data leaks or manipulation.


# Bad: Missing ownership check
@app.route('/get_report/<report_id>')
def get_report(report_id):
    file_path = f"/data/reports/{report_id}.pdf"
    return send_file(file_path)

Misconfigured Cloud Storage Buckets

Cloud object storage is a backbone for genomic pipelines, but a simple configuration mistake can make a private bucket public. A frequent error is leaving an AWS S3 bucket or GCP Cloud Storage bucket with “public read” permissions or not enabling the provider’s bucket access lock settings. This can expose sensitive files (like raw sequencing data or patient information) to anyone on the internet. In the rush of data sharing, teams might also inadvertently share a bucket or object with the “all users” principal, effectively publishing data to the world [5]. Such misconfigurations have led to numerous breaches across industries.


Poor Encryption and Key Management

Genomic data is highly sensitive (it can reveal personal traits or disease risks), yet if data encryption is not enforced, an attacker who gains access to storage or backups can directly read that data. Threats include: unencrypted databases or storage volumes, improperly managed encryption keys (e.g., storing encryption keys in code repositories or sharing them via Slack), and not using cloud Key Management Services (KMS) effectively.


For instance, if an EBS volume or an Azure Disk containing genomic data isn’t encrypted and someone gains low-level access, the data can be stolen in plaintext [6]. Similarly, weak key management could allow an insider or hacker to misuse keys to decrypt data. Encryption is a critical last line of defense if other controls fail.


from cryptography.fernet import Fernet

key = b'my_super_secret_key_123'
cipher = Fernet(key)

encrypted = cipher.encrypt(b"user_genome_data")

Unauthorized Data Sharing and Insider Threats

Researchers or engineers may share links to large genomic files informally—without expiry, tracking, or scope. Combined with a lack of internal segmentation or access controls, this can lead to IP leaks or accidental data exposure, especially in fast-paced, collaborative R&D teams.


import boto3
import datetime

s3 = boto3.client('s3')
url = s3.generate_presigned_url('get_object',
    Params={'Bucket': 'genomic-data', 'Key': 'results/user123.vcf'},
    ExpiresIn=3600  # 1 hour
)
print("Download URL:", url)

Lack of Incident Visibility & Underreporting

If an incident occurs, will you know? Many startups have immature monitoring, so breaches can go unnoticed for weeks. Cloud audit logs (AWS CloudTrail, GCP Cloud Audit Logs, etc.) might not be enabled or monitored, meaning suspicious access to data isn’t detected or investigated. This invisibility is dangerous – attackers could be browsing your S3 buckets or databases without anyone knowing. Additionally, there is a tendency in the biotech industry to underreport incidents or breaches. Unlike healthcare providers, biotech startups may not be under strict breach notification laws and they often lack formal reporting structures.


Ransomware and Advanced Threats

Attackers target biotech and healthcare firms with the aim of encrypting critical data or systems to extort money. A successful ransomware attack on a genomic data repository or analysis pipeline could halt R&D activity and even affect downstream healthcare products.


In our context, an attacker might phish an admin’s credentials, and then use that access to deploy ransomware that encrypts an S3 bucket full of sequence data or locks users out of the analysis pipeline. Without proper backups and incident response, this could be devastating.


@app.route('/upload', methods=['POST'])
def upload():
    file = request.files['file']
    # File path directly based on user input – dangerous!
    file.save(f"/data/uploads/{file.filename}")

Compliance and Regulatory Challenges

Biotech and genomics data often fall under regulatory regimes. Clinical genomic data may be subject to HIPAA in the US (if it’s part of patient health records) or GDPR in Europe (if it contains personal data). Research collaborations might require compliance with frameworks like ISO 27001 or NIST guidelines. A major threat is simply not configuring your cloud and processes to meet these requirements.


For instance, GDPR mandates strict controls and breach reporting for personal data – a misconfigured cloud database exposing EU individuals’ DNA data would be a serious violation. Many cloud misconfigurations – like leaving data unencrypted or failing to implement access controls – directly translate to non-compliance (e.g., HIPAA requires encryption for PHI at rest and in transit, CIS benchmarks recommend strict access controls, etc.).


# Simple user delete route
@app.route('/delete_user/<user_id>')
def delete_user(user_id):
    db.delete_user(user_id)  # Only deletes metadata

All these threats underscore a common theme: the cloud can be as secure as you configure it. Missteps in any layer (API, storage, IAM, networking, encryption, monitoring) can open the door to attackers or accidents. Next, we’ll look at specific cloud misconfigurations that cause these kinds of issues, focusing on AWS (which many startups use) and noting parallels in Google Cloud and Azure.


Related Cloud Misconfigurations (AWS, GCP, and Azure Examples)

Cloud misconfigurations are essentially mistakes in how cloud resources are set up – they are preventable, but unfortunately very common. A recent cloud threat report found that “cloud environments are more susceptible to attacks today” largely due to misconfigurations like lack of MFA, unrotated keys, and over-privileged accounts [5].


Below we break down the biggest misconfigurations in AWS environments that map to the threats above, and we note similar issues in Google Cloud Platform (GCP) and Microsoft Azure.


Misconfigurations often arise from rushing deployments, unfamiliarity with security settings, or the mistaken assumption that the cloud provider secures everything by default. Remember, user misconfiguration of cloud resources is a leading cause of cloud breaches – not cloud provider failures [5].


Let’s dive into the most critical misconfigs.


AWS: Common Misconfigurations and Their Impact

📂 Insecure S3 Bucket Permissions

Amazon S3 is frequently used to store genomic data. A top misconfiguration is leaving buckets publicly accessible or with overly broad access policies.


For instance, a developer might disable the “Block Public Access” setting or attach a bucket policy that grants s3:GetObject to Principal: * (anyone). This can expose sensitive data to the internet, as public S3 buckets allow anyone to list or fetch data [6].


Impact: Data Breach – Confidential sequences or analysis results could be indexed by search engines or scraped by malicious actors. (Real-world example: research data from cloud buckets has leaked due to misconfigs, leading to public disclosure of DNA data). Always keep buckets private and use pre-signed URLs or IAM roles for controlled access.


{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::genomic-results/*"
    }
  ]
}

🔑 Overly Permissive IAM Roles/Policies

AWS Identity and Access Management (IAM) controls what each user or service can do. A common mistake is granting excessive permissions – e.g., attaching a policy with "Effect": "Allow", "Action": "*" (all actions) to users or EC2 instances. Such over-permissive IAM roles violate least privilege.

For example, if an EC2 instance running your pipeline has an IAM role that unintentionally allows s3:* on all buckets, a compromise of that instance means an attacker can now read or delete all your S3 data.


Impact: Privilege Escalation & Data Exfiltration – one compromised credential could open access to vast resources not intended for that entity. Instead, define granular IAM policies. (Use IAM Access Analyzer or AWS’s least-privilege policy suggestions to fix permissive roles.)


🔒 Unencrypted Data Stores (EBS, RDS, etc.)

By default, AWS allows data to be stored unencrypted (though some services now enable encryption by default in new accounts). If you don’t enable encryption on an EBS volume (the virtual disk of an EC2 instance) or an RDS database, the data is stored in plaintext.


Impact: Data Exposure – if an attacker gains access to the raw storage (e.g., through a snapshot via stolen credentials), they can read sensitive data without needing keys. Enable encryption for all sensitive data repositories using KMS.


resource "aws_ebs_volume" "unprotected" {
  availability_zone = "us-west-2a"
  size              = 500
  encrypted         = false
}

📉 Missing or Insufficient Logging (CloudTrail)

AWS CloudTrail should be enabled in all regions to log API calls and environment changes. A misconfiguration here is either not enabling CloudTrail, or not writing logs to a secure bucket. Without CloudTrail logs, suspicious activity might go unnoticed.


Another risk is not protecting the CloudTrail logs themselves – if the S3 bucket storing logs is open or unencrypted, an attacker could delete their tracks.


Impact: Delayed Detection & Incident Response – security incidents go unnoticed or cannot be investigated. Enable CloudTrail, store logs in a private, encrypted bucket, and turn on log file validation.


aws cloudtrail describe-trails

🌐 Lack of VPC Segmentation

Amazon Virtual Private Cloud (VPC) allows you to isolate different parts of your infrastructure in subnets and control traffic with security groups and network ACLs. A misconfiguration we see is deploying everything in one flat network (one VPC, one subnet) with broad network rules.

For instance, putting your database, application servers, and batch processing nodes all in the same subnet with unrestricted connectivity. Or using a single security group that allows all traffic between all instances.


Lack of network segmentation means if an attacker breaches one component (say a web server), they could move laterally to all others without hitting any internal firewall. As Google’s cloud security guide notes, there should never be just one barrier between an attacker and sensitive targets – multiple layers (network, IAM, etc.) are necessary [9].


Impact: Lateral Movement & Full Compromise – one vulnerability could lead to a takeover of your entire environment if not segmented. The best practice is to divide your cloud network: e.g., put databases in a private subnet not directly accessible from the internet, isolate development/test environments from production, and limit which network ports are open between tiers (use security groups to only allow the necessary connections, e.g., app server can talk to DB on port 5432, nothing else).


resource "aws_security_group_rule" "allow_all_internal" {
  type        = "ingress"
  from_port   = 0
  to_port     = 65535
  protocol    = "tcp"
  cidr_blocks = ["10.0.0.0/8"]
}

🚫 Weak Security Monitoring and Alerts

This is more of an omission than a misconfig, but it’s worth noting. AWS provides services like GuardDuty (threat detection), Config (compliance checks), CloudWatch Alarms, and Security Hub. Not enabling these or not responding to their findings is a misconfiguration of your organizational processes.


For example, if GuardDuty is off, you might miss alerts of suspicious activities (like a known malicious IP probing your resources). Or if AWS Config is not set with rules (like CIS Benchmark rules), you won’t get notified that say, a security group was misconfigured to allow inbound SSH from anywhere.


Impact: Increased Dwell Time – attackers linger undetected, and misconfigs remain uncorrected. The solution is to turn on these detective controls – many are low-effort (GuardDuty is literally one click to enable, Security Hub can aggregate findings including misconfigurations). We’ll discuss in the next section how CSPM tools can automate a lot of this monitoring.


(AWS has many other potential misconfigs, but the above are the “greatest hits” that pose a high risk: public S3 buckets, overly broad IAM, no encryption, no logs, flat networks. Next, we look at analogous issues in GCP and Azure.)


GCP: Common Misconfigurations


🌐 Public Cloud Storage Buckets

Just like AWS S3, Google Cloud Storage buckets can be misconfigured to allow public access. This often happens by granting permission to allUsers or allAuthenticatedUsers on a bucket or object. The result is anyone on the internet (or any Google account holder, in the second case) can read potentially sensitive data.


Impact: Data Exposure – For a genomics startup, this could mean sequencing reads or analysis results leaking.


Best practice: enable “Public Access Prevention” on all buckets unless absolutely intended to be public, and use IAM roles to share data with specific identities [10].


{
  "bindings": [
    {
      "role": "roles/storage.objectViewer",
      "members": ["allUsers"]
    }
  ]
}

🔑 Misconfigured IAM & Service Accounts

GCP’s IAM is similar to AWS IAM, and mistakes here include using primitive roles like Owner/Editor (which are overly powerful) instead of fine-grained roles, or not restricting service account usage. One specific issue is granting broad roles to service accounts and then allowing any compute instance to impersonate those service accounts. If a VM is compromised and it has access to a service account with project-wide privileges, the attacker gains those privileges. Another misconfig is not requiring Two-Step Verification for GCP accounts or not using organizational policies to enforce security (for example, allowing project-level IAM changes that violate org policy).


Impact: Privilege Misuse – similar to AWS, an overly permissive GCP IAM policy can lead to data leakage or resource misuse. For example, a BigQuery dataset might be accessible to all employees when it should only be seen by a bioinformatics team.


Ensuring least privilege on GCP – such as avoiding roles/owner and regularly reviewing who has access to what – is critical. (Unit 42’s research found cloud IAM issues like lack of MFA and unrotated keys are an industry-wide problem [5].


gcloud projects add-iam-policy-binding project-id \\\\
  --member="serviceAccount:bio-analysis@appspot.gserviceaccount.com" \\\\
  --role="roles/owner"

💾 Unprotected BigQuery Datasets

BigQuery is a managed data warehouse often used to store processed genomic variants or analytical results. By default, BigQuery datasets are private to the project, but a team might accidentally make a dataset public while trying to share it with a collaborator. This is done by adding allUsers or a broad Google group to the dataset’s access control. Public or anonymously accessible BigQuery datasets are a known misconfiguration and against best practices [11].


Impact: Data Leak – anyone could potentially query your genomic data if the dataset is public, which might include personally identifiable genetic information or proprietary research.

To avoid this, carefully manage BigQuery IAM: use specific service accounts or approved Gmail accounts for external sharing, and regularly run checks (GCP’s Cloud Asset Inventory or third-party tools) to ensure no dataset has unintended public exposure.


resource "google_bigquery_dataset_iam_binding" "public" {
  dataset_id = "genomic_variants"
  role       = "roles/bigquery.dataViewer"

  members = [
    "allUsers"
  ]
}

🔒 Cloud Storage and Disk Encryption Gaps

On GCP, most services (Cloud Storage, Compute Engine disks, BigQuery) encrypt data at rest by default using Google-managed keys. However, if you rely on Customer-Managed Encryption Keys (CMEK) for additional control, a misconfig could be not actually applying those CMEKs to your resources, or failing to rotate them. Another oversight is not using encryption in transit – e.g., not requiring TLS for connections to Cloud Storage or BigQuery (though Google does TLS by default for most endpoints).


Impact: Data may be accessible if underlying keys are compromised or if someone intercepts traffic – this is a lower risk on GCP due to secure defaults, but if you have specific compliance requirements to use your own keys, misconfiguring CMEK could mean you think your data is protected in a certain way when it isn’t.


Always verify that required encryption settings are in place in accordance with your compliance needs.


resource "google_compute_disk" "unencrypted" {
  name  = "analysis-disk"
  type  = "pd-standard"
  zone  = "us-central1-a"
  size  = 100
  # No CMEK specified
}

🚪 Firewall and VPC Network Misconfigs

GCP uses VPCs and firewall rules to control traffic. A common issue is leaving the default “allow all egress” and broad ingress in place or using overly broad CIDR ranges.


For instance, opening a Cloud VM to the world on SSH (port 22) or not restricting access to Cloud SQL instances. GCP also has a concept of VPC Service Controls for an extra layer of data exfiltration protection – not using these for highly sensitive data can be a missed opportunity (not exactly a misconfig, but a missing config).


Impact: Unwanted Exposure – An open firewall rule could let attackers scan and find a vulnerable Jupyter notebook VM used by your data scientists, or allow access to an internal API that wasn’t meant to be public. The principle is the same: lock down network access. For every GCP project, check the firewall rules – there should be no 0.0.0.0/0 inbound access except perhaps on very specific ports with justification, and even then, consider tightening to specific IP ranges (or using identity-aware proxies).


resource "google_compute_firewall" "open_ssh" {
  name    = "allow-ssh"
  network = "default"

  allow {
    protocol = "tcp"
    ports    = ["22"]
  }

  source_ranges = ["0.0.0.0/0"]
}

🔍 Logging and Monitoring Disabled

As with AWS, not enabling Cloud Audit Logging for all services (or not exporting those logs to a SIEM) is a misconfiguration. GCP Security Command Center (SCC) can alert on many misconfigs and threats – not subscribing to at least the free tier of SCC (which surfaces basic findings) leaves you in the dark.


Many GCP services also have individual logs (e.g., VPC Flow Logs, which record network traffic, or Access Transparency logs). Not turning on VPC Flow Logs or not reviewing them is a missed chance to catch suspicious network activity.


Impact: Reduced visibility – you might miss that someone is trying to brute-force a cloud VM or that a service account is behaving abnormally.\


Ensure “Admin Activity” and “Data Access” logs are on for all critical projects, and leverage SCC or third-party tools to continuously monitor your GCP org for misconfigurations and anomalies.


resource "google_logging_project_sink" "bigquery_logs" {
  name        = "bq-sink"
  destination = "storage.googleapis.com/bq-log-bucket"
  filter      = "resource.type=bigquery_resource"
}

Azure: Common Misconfigurations

📂 Exposed Azure Blob Storage Containers

Azure’s Blob Storage is analogous to S3/Cloud Storage. A common misconfig is leaving blob containers open to the public. Azure containers have an access level setting which can be “Private” (no anonymous access), “Blob” (public read for blobs only), or “Container” (public list & read).


Allowing Blob or Container public access without necessity can leak data. It’s recommended to disallow public blob access.


Impact: Data Exposure – similar story: sensitive files in an open container can be downloaded by anyone who finds the URL. Microsoft provides an option at the storage account level to prevent any public access.


{
  "publicAccess": "Container"
}

🔑 Weak Role Assignments and Privilege Creep

Azure uses Role-Based Access Control (RBAC) with predefined roles and the ability to create custom roles. Misconfigurations here include assigning overly powerful roles at a broad scope (e.g., giving a user the built-in Owner or Contributor role at the subscription level when they only need access to one resource group). Another is not using the principle of least privilege when creating custom roles. The CIS Azure Benchmark explicitly advises “use the principle of least privilege, assigning only needed privileges instead of allowing full administrator access” [12].


Impact: Excessive Access – a user or application with unnecessary Owner rights could modify resources, disable security services, or access data they shouldn’t. Additionally, if that account is compromised, the attacker has broad control.


Azure AD Privileged Identity Management can help here by giving just-in-time access to admins; not using these tools can be considered a misconfig in a mature sense. Regularly review who has roles like Owner, Contributor, or Storage Account Key access, and remove access for individuals who no longer require it or have changed roles.


resource "azurerm_role_assignment" "excessive" {
  scope                = "/subscriptions/00000000-0000-0000-0000-000000000000"
  role_definition_name = "Owner"
  principal_id         = "00000000-0000-0000-0000-000000000000"
}

🔒 Misconfigured Network Security Groups (NSGs)

NSGs in Azure act as firewall rules for VMs and subnets. Common issues are: leaving inbound rules too permissive (e.g., allowing all inbound traffic on many ports), not restricting source IPs, or even forgetting to associate NSGs with subnets (thus leaving a VM with no traffic filtering). Another aspect is NSG Flow Logs. Not enabling NSG flow logging means you cannot later analyze traffic patterns or detect anomalies in traffic.


Impact: Uncontrolled Network Access – similar to AWS/GCP, an overly open NSG can let attackers directly reach a VM’s services. Without logs, you wouldn’t even know it’s happening. Best practice: tighten NSG rules (principle of deny by default, allow only necessary ports from necessary sources), and enable NSG flow logs to a storage account for analysis of any traffic.


resource "azurerm_network_security_rule" "open_nsg" {
  name                        = "allow-all-inbound"
  priority                    = 100
  direction                   = "Inbound"
  access                      = "Allow"
  protocol                    = "*"
  source_address_prefix       = "*"
  destination_address_prefix  = "*"
  destination_port_range      = "*"
  resource_group_name         = "biotech-net"
  network_security_group_name = "biotech-nsg"
}

📉 Missing Diagnostic Logging and Monitoring

Azure has various diagnostic settings (for example, you can enable logging for Azure SQL DB, Azure Key Vault access, storage account access, etc.). Not turning on these diagnostics is a misconfiguration that reduces your visibility. Azure’s equivalent to CloudTrail is Azure Activity Log (for control plane events) and each service’s resource logs for data plane. If you don’t route these logs to a Log Analytics workspace or SIEM, you might miss early signs of intrusion.


Similarly, not enabling Azure Security Center (now part of Microsoft Defender for Cloud) at least the default level leaves many misconfigurations unchecked. Azure Security Center’s standard tier assesses your configuration against benchmarks (like CIS) and provides a secure score.


Impact: Late Discovery of Issues – without Azure’s built-in recommendations or logs, you might only find out about a misconfiguration when it’s exploited. Make sure to enable Microsoft Defender for Cloud which will “monitor security configurations” across your Azure environment. It has rules covering OS hardening, missing patches, weak settings, etc., which can significantly bolster your security if acted upon.


resource "azurerm_mssql_server_extended_auditing_policy" "logging_disabled" {
  server_id            = azurerm_mssql_server.biogen-server.id
  storage_endpoint     = "<https://biogenlogs.blob.core.windows.net/>"
  storage_account_access_key = "REDACTED"
  retention_in_days    = 30
  audit_actions_and_groups = []
  enabled              = false
}

🤖 Unrestricted Access Keys and Secrets

Azure environments also suffer if secrets (like database connection strings, storage account keys, etc.) are not handled securely. Storing secrets in code or configuration files, or not restricting access to something like an Azure Storage account’s keys (which can bypass IAM), are misconfigs that often lead to leaks. Always use Azure Key Vault to store secrets and use managed identities to access them, rather than embedding secrets in app settings.


Impact: Credential Compromise – an attacker who finds an unprotected key can directly access resources (e.g., using a storage key to read/write all data in an account, which bypasses RBAC).


{
  "storage_key": "DefaultEndpointsProtocol=https;AccountName=biolabstorage;AccountKey=REDACTED;EndpointSuffix=core.windows.net"
}

How to Avoid Misconfigurations Using Cloud Security Posture Management (CSPM)

Given the variety of things that can go wrong, how can a resource-strapped startup continuously check that everything is configured correctly? Manually auditing cloud resources against best practices is “an enormous effort” and simply not feasible to do periodically. This is exactly the problem that Cloud Security Posture Management (CSPM) tools aim to solve.


What is CSPM? CSPM solutions continuously monitor cloud configurations against best practices and compliance frameworks, automatically alerting teams about misconfigurations and enabling swift remediation. Each major cloud provider offers native CSPM or security posture management services.


AWS Security Hub

AWS’s built-in CSPM tool, Security Hub [14], can run automated checks against standards like the CIS AWS Foundations Benchmark and AWS’s own Foundational Security Best Practices. Enabling Security Hub provides a centralized dashboard of findings - for example, it might flag that “S3 bucket X is public” or “CloudTrail is not enabled in all regions.” It also consolidates alerts from other services like GuardDuty and IAM Access Analyzer.


Security Hub integrates with AWS Config and uses Security Standards (prepackaged rule sets) to continuously evaluate your environment. For a very low cost (about $0.001 per check), it monitors your cloud posture continuously. AWS Config Rules can also be used for point-in-time validation.


By using these tools, you shift from reactive to proactive: they alert you before a breach occurs due to misconfiguration. Best practice: enable AWS Security Hub (and related services) across all accounts - it will quickly surface misconfigurations and gaps [13]. The key isn’t just enabling these tools - it’s acting on the findings. Assign someone to regularly triage and remediate high-risk issues.



Azure Microsoft Defender for Cloud (formerly Azure Security Center)


This is Azure’s CSPM and workload protection platform [15]. When enabled, it continuously monitors security configurations using a set of over 150 recommended rules mapped to industry standards. It evaluates your resources against the CIS Azure Benchmark and flags issues such as “Storage account allows public access” or “SQL DB Transparent Data Encryption is off.”


Microsoft Defender for Cloud provides a Secure Score - a high-level metric representing your security posture - along with detailed recommendations. It covers not only Azure resources but can also ingest security signals from AWS and GCP if integrated.


For a biotech startup, Microsoft Defender for Cloud helps ensure your environment meets compliance requirements for standards like HIPAA or HITRUST, by mapping your configurations to those controls.

You can use at least the free tier for basic recommendations, and consider the enhanced tier for advanced threat detection. Azure can also auto-remediate certain misconfigurations - for example, automatically enabling encryption on new databases when configured.


GCP Security Command Center (SCC)

Google Cloud’s Security Command Center (SCC) [16] is available in Standard and Premium tiers and serves as a centralized dashboard for your security posture. SCC surfaces misconfigurations and vulnerabilities across your GCP projects - for example, it may alert you that a Cloud Storage bucket is public or that a firewall rule is overly permissive.


The Security Health Analytics component includes rules aligned with CIS Benchmarks and other best practices. In the Premium tier, SCC can generate downloadable compliance reports for frameworks like CIS, PCI-DSS, NIST, and ISO 27001, helping demonstrate your adherence to security standards.


For organizations handling genomic data, these reports are especially valuable - they can help you prove to auditors, regulators, or partners that your environment meets industry expectations.

You can enable SCC - even at the Standard tier - to gain a “single pane of glass” for monitoring and managing cloud security issues across GCP.


Third-Party CSPM Solutions

In addition to cloud-native tools, many organizations turn to vendor-neutral Cloud Security Posture Management (CSPM) platforms that aggregate and analyze configurations across multi-cloud environments. Notable players include Wiz, Prisma Cloud (by Palo Alto Networks), Orca Security, and Trend Micro Cloud One Conformity.


These tools offer advanced features like unified policy engines, rich visualizations, and even automated remediation. While Prisma Cloud is known for its extensive rule sets across AWS, GCP, and Azure (covering CIS benchmarks, GDPR, etc.), Wiz has quickly emerged as a leader thanks to its deep analysis of misconfiguration “toxic combinations” - that is, scenarios where individually minor issues create critical risks when combined (e.g., a public IP + admin credentials + no MFA). Wiz also adds runtime context by analyzing workloads, identities, and connectivity in real-time, making it particularly powerful for visibility and prioritization.

📝 For example, Wiz might detect a VM with admin-level IAM roles combined with a public IP address and unpatched vulnerabilities-collectively a scenario ripe for exploitation.

CSPM Tool Comparison for Biotech Cloud Security

This table should help technical decision-makers quickly spot which CSPM tool meets their specific biotech requirements (e.g., HIPAA compliance, multi-cloud HPC pipelines, advanced threat detection).

Capability

Wiz

Prisma Cloud

Orca Security

AWS Security Hub

Azure Microsoft Defender for Cloud

GCP Security Command Center (SCC)

Cloud Coverage

AWS, GCP, Azure, others (multi-cloud native)

AWS, GCP, Azure, OCI, Alibaba (extensive multi-cloud)

AWS, GCP, Azure (multi-cloud agentless)

AWS only (native tool); no built-in multi-cloud support

Azure native; supports AWS/GCP via Defender for CSPM (in preview/limited GA)

GCP native; limited multi-cloud (requires integration with third-party tools)

Automated Remediation

✔️ Native remediation for many findings; integrates with workflows

✔️ Supports remediation-as-code (via Terraform, etc.); varies by cloud

⚠️ Partial auto-remediation; primarily alerts + recommendations

⚠️ Limited; remediation via AWS Config rules or manual resolution

✔️ Built-in remediation for many Azure issues; can auto-fix common misconfigs

⚠️ Limited; SCC provides recommendations, remediation often manual or via Cloud Functions

Toxic Combination Detection

✔️ Unique strength; detects high-risk overlaps (e.g., public IP + privs + vuln)

❌ Not a core feature; focuses on individual misconfigs and vulnerabilities

⚠️ Some correlation (vulns + misconfigs), but no deep toxic combination modeling

❌ No; issues are surfaced individually

❌ No; detects issues individually via Secure Score

❌ No; focuses on singular misconfigs or threats

Runtime Context Analysis

✔️ Deep; integrates cloud config, network exposure, vulnerabilities

⚠️ Supports runtime via agents and integrations; varies by environment

✔️ Yes; side-scanning inspects workloads, containers, VMs

❌ No runtime analysis; config-focused

⚠️ Partial; runtime insights through Defender for Servers and endpoint integration

⚠️ Limited; some runtime anomaly detection in Premium tier

Compliance Reporting

✔️ HIPAA, PCI, GDPR, ISO, NIST, CIS; custom frameworks

✔️ CIS, NIST, HIPAA, GDPR, SOC 2; customizable policies

✔️ CIS, NIST, HIPAA, PCI; auto-report generation

✔️ CIS AWS Foundations, AWS best practices; limited beyond AWS scope

✔️ CIS Azure, HIPAA, NIST 800-53, ISO, etc.; maps to regulatory frameworks

✔️ CIS, NIST, PCI, ISO frameworks in Premium tier

Best for

Biotech orgs with multi-cloud + sensitive data (e.g., genomes, research IP)

Enterprises seeking unified SecOps across cloud and network layers

Startups wanting easy deployment, runtime + config coverage without agents

AWS-heavy environments needing baseline security visibility

Azure-centric orgs needing compliance coverage and DevSecOps enforcement

GCP-native teams needing posture visibility and compliance reporting


Biotech Context – Why CSPM Is Crucial

In biotech, misconfigurations don’t just risk data breaches - they can result in the loss of sensitive personal data, intellectual property, or regulatory violations. For example, a public S3 bucket might expose years of sequencing results, or a forgotten open port could enable a ransomware attack that halts your entire pipeline.


Moreover, biotech startups often need to prove their security posture - to win pharma contracts, meet HIPAA/HITRUST compliance, or satisfy investor due diligence during funding rounds.


CSPM helps biotech teams:

  • Ensure data encryption for protecting patient genomes

  • Enforce access controls for lab results and sensitive algorithms

  • Maintain audit logs to meet HIPAA and GDPR requirements

  • Catch drift - when something was configured securely but changed silently


Consider this example:

📝 You operate a platform for clinical genomic testing and are required under HIPAA to log all access to patient data. If an engineer mistakenly disables AWS CloudTrail in a region, your CSPM tool - integrated with Security Hub or Wiz - can catch it immediately. That alert can prevent an undetected compliance failure or breach.
📝 Another case: an exposed RDP port on a VM used for genomic analysis - a common entry point for ransomware. A CSPM tool would flag it instantly, giving you a chance to shut that door before attackers exploit it.

Conclusion: Cloud Security for Biotech & Genomics

For biotech startups working with genomic data, security is not optional - it’s foundational. The sensitivity and value of data like genome sequences, patient records, and proprietary algorithms make it a high-profile target. As this guide shows, many of the biggest threats - from data leaks to ransomware - trace back to avoidable cloud misconfiguration.


Missteps like leaving a storage bucket public or assigning over-permissive IAM roles can undo years of scientific progress and erode trust. But the good news is: that misconfigurations are fixable - and preventable with the right habits and tools.


Key Takeaways

  1. Secure by Design: Build your architecture with isolation, least privilege, and encryption from the beginning. Segment data processing from user-facing components, and restrict network and identity access accordingly.

  2. Understand Common Pitfalls: Regularly review your environment against known risks (e.g., public buckets, unencrypted volumes, wildcard privileges). Use CIS Benchmarks and provider best practices as baselines.

  3. Automate Monitoring with CSPM: Use Cloud Security Posture Management tools (like Wiz, AWS Security Hub, Azure Defender, or GCP SCC) to continuously scan for misconfigs. These tools give early warnings before issues become incidents.

  4. Be Ready to Respond: Ensure logging is turned on and retained. Have a basic incident response plan. Know how to rotate secrets, restore backups, and communicate quickly if something goes wrong.

  5. Build Trust through Compliance: Following security frameworks (HIPAA, GDPR, NIST) shows partners and regulators that you take data protection seriously - and it can be a differentiator in competitive biotech markets.


Cloud security isn’t about perfection - it’s about vigilance. Startups that bake in security from the beginning, stay aware of cloud risks, and fix issues early are not just safer - they’re more trustworthy, more scalable, and more prepared for the future.


About

This article was created by Alex Rozhniatovskyi, the CTO of Sekurno. With over 7 years of experience in development and cybersecurity, Alex is an AWS Open-source Contributor dedicated to advancing secure coding practices. His expertise bridges the gap between software development and security, providing valuable insights into protecting modern web applications.


Sekurno is a leading cybersecurity company specializing in Penetration Testing and Application Security. At Sekurno, we dedicate all our efforts to reducing risks to the highest extent, ensuring High-Risk Industries and Enterprise-SaaS businesses stand resilient against any threat. You can contact us by writing to us at team@sekurno.com.


References

  1. https://aws.amazon.com/blogs/aws/introducing-amazon-omics-a-purpose-built-service-to-store-query-and-analyze-genomic-and-biological-data-at-scale/

  2. https://arxiv.org/html/2312.07090v1

  3. https://aws.amazon.com/blogs/aws/introducing-amazon-omics-a-purpose-built-service-to-store-query-and-analyze-genomic-and-biological-data-at-scale/

  4. https://www.cisecurity.org/insights/white-papers/cis-controls-v8-cloud-companion-guide

  5. https://unit42.paloaltonetworks.com/iam-misconfigurations

  6. https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-cis_aws_benchmark_level_1.html

  7. https://www.labiotech.eu/in-depth/cyberattack-biotech-startups-covid

  8. https://security.snyk.io/rules/cloud/SNYK-CC-00006

  9. https://cloud.google.com/blog/products/identity-security/google-cloud-security-foundations-guide

  10. https://www.trendmicro.com/cloudoneconformity/knowledge-base/gcp/CloudStorage/publicly-accessible-storage-buckets.html

  11. https://docs.datadoghq.com/security/default_rules/gcp-bigquery-bigquery-datasets-should-not-be-anonymously-or-publicly-accessible/

  12. https://azure.microsoft.com/mediahandler/files/resourcefiles/cis-microsoft-azure-foundations-security-benchmark/CIS_Microsoft_Azure_Foundations_Benchmark_v1.0.0.pdf

  13. https://maturitymodel.security.aws.dev/en/1.-quickwins/security-hub/

  14. https://aws.github.io/aws-security-services-best-practices/guides/security-hub/

  15. https://learn.microsoft.com/en-us/azure/defender-for-cloud/overview-page

  16. https://cloud.google.com/blog/products/identity-security/cloud-security-command-center-is-now-in-beta

Related articles

Do you know all risks in your application?

Get a free threat modeling from our experts!

Got it! We'll process your request and get back to you.

Recent Blog Posts

An invaluable resource for staying up-to-date on the latest cybersecurity news, product updates, and industry trends. 

Contact

Offices

TNW City, Singel 542, 1017 AZ Amsterdam, Netherlands

 

Harju maakond, Tallinn, Kesklinna linnaosa, Ahtri tn 12, 10151, Estonia

cybernova-sign
USAID-Identity

© 2024 Sekurno. All rights reserved.

bottom of page