protecting a moving target addressing web application
play

Protecting a Moving Target: Addressing Web Application Concept Drift - PowerPoint PPT Presentation

Protecting a Moving Target: Addressing Web Application Concept Drift The 12 th International Symposium on Recent Advances in Intrusion Detection 2009 Federico Maggi, William Robertson, Christopher Krgel, Giovanni Vigna Politecnico di Milano,


  1. Protecting a Moving Target: Addressing Web Application Concept Drift The 12 th International Symposium on Recent Advances in Intrusion Detection 2009 Federico Maggi, William Robertson, Christopher Krügel, Giovanni Vigna Politecnico di Milano, Univeristy of California Santa Barbara September 23, 2009

  2. Adapting to changes of the protected web application.

  3. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses)

  4. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32

  5. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val>

  6. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val> /login/<par1>/<par1-val>/<par2>/<par2-val>

  7. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val> /login/<par1>/<par1-val>/<par2>/<par2-val> ...

  8. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val> /login/<par1>/<par1-val>/<par2>/<par2-val> ... /<component1>/<par1>/<par1-val>/<par2>/<par2-val>

  9. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val> /login/<par1>/<par1-val>/<par2>/<par2-val> ... /<component1>/<par1>/<par1-val>/<par2>/<par2-val> /<component2>/<par1>/<par1-val>

  10. Web Application Anomaly Detection Learning benign HTTP interactions (i.e., requests and responses) /article/id/32 /comment/<par1>/<par1-val> /login/<par1>/<par1-val>/<par2>/<par2-val> ... /<component1>/<par1>/<par1-val>/<par2>/<par2-val> /<component2>/<par1>/<par1-val> Webserver Clients Millions of good HTTP messages

  11. Modeling benign HTTP interactions

  12. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Models of good messages /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M1 M2 M3 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  13. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M2 M3 Mn M1 /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Example of models /<component1>/<par1>/<par1-val> — parameter string length /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> — numeric range /<component1>/<par1>/<par1-val> — probabilistic grammar of strings /<component1>/<par1>/<par1-val> — string character distribution /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  14. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M1 M2 M3 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Models of good sessions /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> C7 C1 C3 /<component1>/<par1>/<par1-val> C2 /<component1>/<par1>/<par1-val> C1 C2 C3 C10 C7 /<component1>/<par1>/<par1-val> M1 M2 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  15. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M1 M2 M3 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> C1 C7 C1 C2 C3 /<component1>/<par1>/<par1-val> C2 C5 /<component1>/<par1>/<par1-val> C1 C3 C3 C10 C7 /<component1>/<par1>/<par1-val> M1 M2 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  16. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M1 M2 M3 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> C1 C7 C1 C2 C3 /<component1>/<par1>/<par1-val> C2 C5 /<component1>/<par1>/<par1-val> C1 C3 C3 C10 C7 /<component1>/<par1>/<par1-val> M1 M2 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  17. Modeling benign HTTP interactions Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Detection of bad messages /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> M1 M2 M3 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver

  18. Modeling benign HTTP interactions Client Client /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Detection of bad sessions /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> C1 C7 C1 C2 C3 /<component1>/<par1>/<par1-val> C2 C5 /<component1>/<par1>/<par1-val> C1 C3 C3 C10 C7 /<component1>/<par1>/<par1-val> M1 M2 Mn /<component1>/<par1>/<par1-val> /<component1>/<par1>/<par1-val> Webserver Webserver

  19. What if the modeled features change? Note that this is the common problem of anomaly detection, per sé

  20. What if the modeled features change? Note that this is the common problem of anomaly detection, per sé In practice, what if the protected website suddenly changes?

  21. What if the modeled features change? Note that this is the common problem of anomaly detection, per sé In practice, what if the protected website suddenly changes? ◮ site changes means changes in the good behavior,

Recommend


More recommend