Provably Secure Authorization Sec201 Int

Title: AWS re:Inforce 2024 - Provably secure authorization (SEC201-INT)

Insights:

  • Introduction to Provable Security: AWS is leveraging ancient mathematical techniques, specifically automated reasoning, to ensure the security of data and workloads in the cloud. This approach is termed "provable security."
  • Automated Reasoning Tools: AWS has developed several tools powered by automated reasoning, including IAM Access Analyzer, S3 Block Public Access, and VPC Reachability Analyzer.
  • Historical Context: The concept of proving correctness dates back to ancient times, with the Pythagorean theorem being a prime example. Modern automated reasoning applies similar principles to software.
  • Automated Reasoning in Software: The process involves translating software implementation and specifications into mathematical logic, which is then verified by automated reasoning engines.
  • Challenges and Solutions: Translating complex software systems into mathematical logic and ensuring scalability of automated reasoning engines are significant challenges that require a blend of science and engineering.
  • Real-world Applications: Automated reasoning has been successfully applied in hardware verification, aerospace, medical devices, and now cloud security.
  • S3 Block Public Access: This feature uses automated reasoning to mathematically prove that S3 bucket policies do not grant public access, ensuring data protection.
  • IAM Authorization Engine: AWS deployed a provably correct version of the IAM authorization engine, which processes a billion requests per second, without any noticeable impact on users.
  • Benefits of Provable Security: Proving the correctness of systems allows for aggressive optimizations, improved performance, and enhanced security.
  • CEDAR Policy Language: AWS introduced Cedar, an authorization building block for applications, allowing for customizable access control and decoupling authorization logic from application logic.
  • CEDAR vs. IAM: While IAM is designed for AWS resources, Cedar is designed for custom resources, actions, and principles, providing a more flexible and scalable authorization system.
  • Implementation and Validation: The process of proving correctness involves defining formal specifications, proving core theorems, generating efficient code, and validating it against real-world data.
  • Open Source and Community Involvement: Cedar and its verification process are open source, allowing for community contributions and feature requests through an RFC process.
  • Future of Authorization: AWS envisions authorization as a key security pillar, enabling zero trust architectures and least privilege access based on device posture, identity, and context.

Quotes:

  • "We call this provable security."
  • "No, it's not magic, it's math."
  • "The algorithms of automated reasoning allow you to cover all possible inputs, all possible scenarios for your software."
  • "We are proving the correctness of a battle-hardened, time-tested system."
  • "The proofs allowed us to do aggressive optimizations, optimizations in string matching, Unicode handling, and a whole bunch of other things."
  • "Cedar provides you the ability to decouple your authorization logic from your application logic."
  • "We formally prove the theorems, the design principles of Cedar."
  • "In the way IAM is for AWS, Cedar is for you."
  • "We believe authorization is going to be a key security pillar moving forward to achieve your security goals."
  • "With one click, you can get S3 block public access or IAM access analyzer. You've taken Euclid and turned them into one click."