Proposed Security Landscape Structure

In this section of the document, we outline our proposal for the structure of the Security Landscape.

The bullets in bold are the primary categories in the Security Landscape and the bullets in italics are the sub-categories. The remaining text is a description of each sub-category.

  • App definition and development

    • Static Code Analysis
      • Inspecting code for vulnerabilities, pen testing, etc
    • Dynamic Analysis
      • Checking application in runtime for various vulnerabilities
    • Dependency analysis
      • Checking OS for vulnerabilities (updates available? Reports from https://www.us-cert.gov/ etc), image scanning
      • Check for vulnerabilities in dependent libraries
      • Check for maintenance of dependent projects => increased potential for vulnerabilities
    • Functional testing
      • Tools that facilitate automated security testing in pipelines; eg for functional security tests of authn and authz, tests of known potential weaknesses or misconfigurations
    • Pipelines
      • Tools that ensure a secure pipeline or workflow, for example, as applied to devops (CI/CD), supply chain, etc.
    • Secret Management
      • Tools that help to manage, encrypt or distribute secrets and other sensitive information.
  • Identity & Access Control

    • Identity
      • SPIFFE, identity providers, OpenID, LDAP, Okta
    • Access Controls
      • Controls within the orchestration layer to provide minimum required access to orchestrator resources.
      • Authentication / Authorization
        • OAuth, IAM
      • Privilege & Access Management
        • Managing privileges in the platform for humans and machines, access controls, audit logging, privilege revocation, etc
      • Network Policy & Protection
        • Firewalls, network segmentation, network policy
    • Service access
      • Service admittance & admission controllers
        • Allowing new service instances to join existing services, and preventing insecure application instances from running.
      • Storage access
    • Key and Certificate Management
      • Provisioning of access to required services for application instances, service accounts, orchestrator access to shared components, etc
      • Provisioning of SSL certs for application instances
  • Privacy

    • Storage Security
      • Data colocation (aka data sovereignty)
      • Encryption at rest/motion
      • Preventing insider access to protected data
      • Monitoring for accidental data spills
  • Provisioning

    • Automation & Configuration Compliance
      • Compliance checkers, check platform configurations, verify private resources are not unexpectedly publicly accessible (eg S3 buckets), etc
    • Trusted Compute
      • Secure container registries
      • Self-hosted package repositories
  • Runtime Observability and Analysis

    • Workload Runtime Protection
      • Active and passive protection of the container runtime.
    • Threat Intelligence & Forensics
      • Threat analytics, auditing
    • Defense and Monitoring
      • Intrusion detection, etc