Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Towards Verifiable Infrastructure Security

Towards Verifiable Infrastructure Security

Abhisek Datta

August 01, 2019
Tweet

More Decks by Abhisek Datta

Other Decks in Technology

Transcript

  1. Lets start with how attackers work An attacker wants to

    hack a target and for this, will perform a bunch of activities 1. Online Attack Surfaces 2. Breached Credentials 3. Known Vulnerable Software 4. (Easy to?) exploit security vulnerabilities 5. If nothing works • Invest skill and resources in 0days
  2. What is the root cause? Inspite of so much investment

    in security, why does low hanging fruits still exist for an attacker to exploit?
  3. How does trust looks like? A DFD representing the Transaction

    Flow in a Online Banking Application Re-auth Anti- fraud Confirm with sender for high value transactions
  4. The Challenge of Security at Scale This is the Amazon

    Microservices Graph The Challenge of Security at Scale is really – The SCALE
  5. How do we solve this? (My Opinion) • By applying

    the principles of Secure Software Development Life-cycle while building Infrastructure • Requirement Analysis • Design • Versioning • Secure Development • Testing & Verification • Deployment • Rolling Update • Rollback (if required)
  6. What is it? • The process of provisioning and managing

    infrastructure through machine readable code & configuration • It is an alternative approach compared to managing physical hardware and provisioning them with interactive setup and configuration tools
  7. The Tooling with an Example 1. Setup 3 EC2 instances

    in AWS 2. Setup an EFS for shared state 3. Deploy containers 4. Collect output 5. Monitor for availability
  8. Options for Adoption - Infrastructure IaaS Platform Tools Vendor GCP,

    AWS, Azure Terraform Hashicorp AWS Cloud Formations AWS Azure Azure Resource Manager Microsoft Google Cloud Deployment Manager Google
  9. What can be done with it? • Codify infrastructure •

    Version control • Test & Verify • Bug Fix • Automated & Continuous Deployment
  10. Mapping SSDLC to Infrastructure as Code SSDLC Secure Infrastructure Security

    Requirements Security Requirements Secure Architecture Secure Architecture Secure Development Infrastructure as Code Security Testing Static Analysis and Verification Exploit Mitigation Anomaly Detection and Prevention Release Management Release Management
  11. Now what? • Add security controls (mitigations) in architecture •

    Edit code to include the required resources and configuration • Push to repository • This triggers CI/CD • CI/CD runs test cases on code (if any) • CI/CD update the live infrastructure