Slide 1

Slide 1 text

Application Security at
 DevOps Speed and Portfolio Scale   •  Dave Wichers" •  OWASP Top 10 Project Lead" •  OWASP Board Member (2004-2013)" •  Cofounder, Aspect Security & Contrast Security, Maryland, U.S.A."

Slide 2

Slide 2 text

•  OWASP" –  OWASP Top 10 Project Lead" –  OWASP Board Member 2004 thru 2013" –  Conferences Chair for 2005 thru 2008" •  Cofounder Aspect Security" –  Application Security Consulting" •  Cofounder Contrast Security" –  IAST Vulnerability Detection Product" Dave Wichers" AppSec  APAC  2014  

Slide 3

Slide 3 text

Applica0on  Security  Is  Healthcare  

Slide 4

Slide 4 text

Sensors  Are  Revolu0onizing  Healthcare   Instrumen0ng  the  body  means   con0nuous  real0me  monitoring…   Not  periodic  checkups   Your  phone  will  know   you’re  sick  before  you   do!  

Slide 5

Slide 5 text

Tradi0onal  Tools  and  Techniques  Are  Failing…   Javascript   Ajax   SOAP/REST   Serialized   Objects   Raw   Socket   Inversion  of   Control   Libraries  and   Frameworks   Aspect  Oriented   Programming   Agile   DevOps   Cloud   Mobile  

Slide 6

Slide 6 text

AppSec  Progress   Security Software Continuous AppSec

Slide 7

Slide 7 text

Star0ng  Over  

Slide 8

Slide 8 text

The right defenses for every application are… ! Present ! Correct ! Used Properly ! Remain Effective Defining  “PorXolio  Scale”  

Slide 9

Slide 9 text

Defining  “DevOps  Speed”   Application security happens continuously and in real time

Slide 10

Slide 10 text

Is  my  por%olio   protected  against   clickjacking?   One  Thing  at  a  Time…  

Slide 11

Slide 11 text

Gathering  Intelligence   Controller   Presenta0on   Business   Func0ons   Data   Layer   Third  Party  Libraries   Applica0on  Server   PlaXorm  Run0me   Framework   Opera0ng  System  

Slide 12

Slide 12 text

Security  Intelligence  Sources   HTTP   Traffic   Backend   Connec0ons   Configura0on   Data   Libraries  and   Frameworks   Data  Flow   Control  Flow   Vulnerability  Trace  

Slide 13

Slide 13 text

Designing  a  Clickjacking  Sensor   Experiment  Style   Posi0ve   Nega0ve   Environment   Dev   CI   Test   QA   Staging   Security   Analysis  Technique   Manual   SAST   DAST   IAST   Passive   Data  Sources   Code   HTTP   Configura0on   Choose  based  on:   •  Speed   •  Accuracy   •  Feedback   •  Scalability   •  Ease  of  Use   •  Cost   !   !   !   !   Data  Flow   Control  Flow   Libraries   Connec0ons   Sampling   Prod   Intelligence   JUnit  

Slide 14

Slide 14 text

Con0nuous  ClickJacking  Defense  Verifica0on   A  new  HTTP  sensor  to  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  

Slide 15

Slide 15 text

Run  Against  En0re  PorXolio   ApplicaAon  Name   Result   Grade   TBMarks   88%   A   RPC   0%   F   CaseyMotors   0%   F   Financials   72%   C   Interna0onal  Repor0ng   0%   F   …   “Financials”  ClickJacking  Defense  –  C  (72%)   /home   DENY   /home/error.jsp   -­‐   /home/index.jsp   DENY   /account   SAME-­‐ORIGIN   /account/report.jsp   -­‐   …  

Slide 16

Slide 16 text

Check  Your  Headers   hhps://cyh.herokuapp.com/cyh  

Slide 17

Slide 17 text

Con0nuous  AppSec  Dashboard  

Slide 18

Slide 18 text

•  We  transformed  clickjacking  verifica0on  to   devops  speed  and  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.  

Slide 19

Slide 19 text

More  Sensors…   I  want  a  sensor  to  verify…   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….  

Slide 20

Slide 20 text

Source  File   Result   @PreAuthorize   TestSBMBugtrackerController.java   @PreAuthorize("hasAnyRole('ROLE_BUG_CREATE','ROLE_BUG_EDIT')")   UpdateSBMBugtrackerController.java   @PreAuthorize("hasRole('ROLE_BUG_EDIT')")   SelectBugtrackerController.java   @PreAuthorize("hasRole('ROLE_BUG_CREATE')")   CheckAppStatusController.java   MISSING   ViewConsoleEventsController.java   @PreAuthorize("hasRole('ROLE_CONSOLE_VIEW')")   DeleteEngineConfigController.java   @PreAuthorize("hasRole('ROLE_ENGINE_PROFILES')")   DownloadEngineController.java   @PreAuthorize("hasRole('ROLE_ENGINE_DOWNLOAD')")   EngineConfigController.java   @PreAuthorize("hasRole('ROLE_ENGINE_DOWNLOAD')")   ErrorController.java   MISSING   InboxController.java   @PreAuthorize("isAuthen0cated()")   Installa0onWizardController.java   @PreAuthorize("isAuthen0cated()")   InviteAFriendController.java   @PreAuthorize("isAuthen0cated()")   LoginController.java   MISSING   DeleteMessageController.java   @PreAuthorize("isAuthen0cated()")   GetSystemMessagesController.java   @PreAuthorize("isAdmin()")   Access  Control  Intelligence  Sensor   Control  Flow   SAST   Intelligence   CI   !   !   !   !  

Slide 21

Slide 21 text

Generated  Access  Control  Matrix  from  Code  

Slide 22

Slide 22 text

Known  Vulnerable  Libraries  Sensor   Libraries   SAST   Nega0ve   CI   !   !   !   !   Run  DependencyCheck  during  every  build   (and  do  a  build  once  a  month  even  if  nothing  changed)  

Slide 23

Slide 23 text

•  Run  tests  through  ZAP   •  ZEST  to  check  CSRF  Token   •  Get  results  via  ZAP  REST  API   CSRF  Defense  Sensor   HTTP   Passive   Posi0ve   QA   !   !   !   !  

Slide 24

Slide 24 text

Canonicaliza0on  Correctness  Sensor   Code   JUnit   Posi0ve   Staging   !   !   !   !  

Slide 25

Slide 25 text

Injec0on  Sensors   Data  Flow   IAST   Nega0ve   Dev   !   !   !   !   Use  IAST  tools  for  DFA  vulnerabili0es  

Slide 26

Slide 26 text

•  What  would  you  like  to  gather  from  all  your   applica0ons?   •  Inventory?  Architecture?  Outbound   connec0ons?  Lines  of  code?  Security   components?     •  All  possible….  and  all  at  devops  speed  and   porXolio  scale   Architecture,  Inventory,  and  More…  

Slide 27

Slide 27 text

Building  Con0nuous  AppSec   Dynamic   Interac0ve   JUnit   Manual   Sta0c   DEV   CI   TEST   QA   STAG   OPS   SEC   Data   Warehouse:   Applica0on   Security   Intelligence  

Slide 28

Slide 28 text

Sensors?   How  do  you  know  what  sensors  you  need?   1)  The  OWASP  Top  Ten?   2)  What  your  tools  are  good  at?   3)  What  your  pentester  thinks  is  important?   4)  Actually  figure  out  what  mahers?  

Slide 29

Slide 29 text

0%   10%   20%   30%   40%   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  

Slide 30

Slide 30 text

What’s  In  Your  Expected  Model?   Expected   Threat  Model   Abuse  Cases   Policy   Standards…   Requirements   There  is  no  security  without  a  model  

Slide 31

Slide 31 text

What  Are  You  Actually  Tes0ng?   Actual   Pentest   Code  Review   Tools   Arch  Review   …  

Slide 32

Slide 32 text

Unfortunately…   Actual   Expected   Not  being   tested   (aka  RISK)   Doesn’t   need  tes0ng   (aka  WASTE)  

Slide 33

Slide 33 text

Are  You  Secure?   Secure?  

Slide 34

Slide 34 text

Sensors   Actual  Defenses   Defense  Strategies   Business  Concerns   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  

Slide 35

Slide 35 text

Con0nuous  Applica0on  Security!   Expected   Actual   Applica0on   PorXolio   Applica0on  security  dashboards   Translate  “expected”  into  sensors   New  Threats,   Business  Priori0es  

Slide 36

Slide 36 text

Choose  a  sensor   Build  it  with  developers   Deploy  your  sensor   Create  a  dashboard  using  Excel   How  to  Get  Started  

Slide 37

Slide 37 text

Transforming  AppSec   AppSec   Compliance   AppSec   Monitoring   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  

Slide 38

Slide 38 text

Thank  you