verify that the X-‐Frame-‐OpAons header is set to DENY or SameOrigin on every webpage Dynamic Interac0ve JUnit Manual Sta0c DEV CI TEST QA STAG OPS SEC Data Warehouse: Applica0on Security Intelligence
porXolio scale! One Small Step Towards Con0nuous AppSec Before ASer Annual pentest Con0nuous monitoring Nega0ve signatures Posi0ve verifica0on One app at a 0me PorXolio wide Okay, clickjacking. Big deal.
My business logic makes access control checks My libraries are free from known vulnerabili0es My forms are not suscep0ble to CSRF ahacks My interpreters are protected against injec0on My encryp0on is implemented correctly My applica0on has no unknown connec0ons And much more….
applica0ons? • Inventory? Architecture? Outbound connec0ons? Lines of code? Security components? • All possible…. and all at devops speed and porXolio scale Architecture, Inventory, and More…
50% 60% 70% 80% 90% Iden0fica0on and Authen0ca0on Input Valida0on and Encoding Session Management Sensi0ve Data Protec0on Access Control/ Authoriza0on Error Handling Logging and Intrusion Detec0on Cross Site Request Forgery (CSRF) PlaXorm Security Database Security Code Quality System Availability -‐ DOS Protec0on Accessing External Services ApplicaAons with at Least One Vulnerability in Category Higher Risk Lower Risk Aspect 2013 Global AppSec Risk Report
Data Protec0on Minimize Sensi0ve Data Role Based Access Control Encrypt Data in Storage and Transit Full Disk Encryp0on with TrueCrypt Programma0c Encryp0on with ESAPI Libraries Present and Up-‐to-‐date Encryp0on Correctness with Junit Tests ESAPI Used Properly TLS Everywhere with Venafi Logging and Intrusion Detec0on Aligning Sensors with Business Concerns Fraud Availability
AppSec Strategy AppSec Op0miza0on AppSec as Business Driver We will never improve if our only metric is whether we are doing what everyone else is doing