services • decoupled and independent • well defined • sharing data over the network • DevOps and Continuous Delivery • easy to reuse, scale • Incrementally built by autonomous teams
Larger, varied attack surface • More complex • adds complexity to smaller organizations, more stacks to track and patch • API contracts • Distributed attacks more difficult to detect • Integration tests are critical
Service Microservice Injection • Serialization / Deserialization • Dont pass credentials around in the clear • Dont hardcode credentials ANYWHERE (source code, docker configs) • ENV is not interprocess communication
commonalities Centralize, externalize and apply across all microservices • Authentication, Authorization, and Accounting (AAA) • Configuration • reduces disparities which lead to exploitable vulnerabilities / escalation of privileges
• Segment functions and environments • Grant only the level of access needed • “Need to know”, “least privilege” • Offload network functions to edge (rate-limiting, reputation, etc.) Untitled (in honor of Harold Joachim) 3, 1977 by Dan Flavin
Model Threat modeling 1. identify assets 2. map out communication between them 3. identify threats 4. measure risk 5. formulate remediation Sean Gallager, ARS Technica, July 8, 2017