12
1 Wallarm: from NGINX module to a growing company

NGINX User Summit. Wallarm llightning talk

  • Upload
    wallarm

  • View
    559

  • Download
    1

Embed Size (px)

Citation preview

Page 1: NGINX User Summit. Wallarm llightning talk

���1

Wallarm: from NGINX module to a growing company

Page 2: NGINX User Summit. Wallarm llightning talk

Wallarm pre-history: 5 years in security consulting

• Security audits and research since 2009

• Penetration testing

• Blackbox analysis of web applications

• Whitebox analysis of source codes

• Specialization in e-commerce and financial web applications

���2

Page 3: NGINX User Summit. Wallarm llightning talk

Lessons learned

• Vulnerabilities can be found and fixed, but new vulnerabilities do appear

• Clients are protected after audit until next release only

• Regular security audits for each minor updates are expensive

• Security is a continuous process!

• So how can we protect web applications?

• Starting 2009 we have been looking for a Web Application Firewall that would suite our clients needs.

���3

Page 4: NGINX User Summit. Wallarm llightning talk

Looking for the best web apps protection solution

• NAXSI https://github.com/nbs-system/naxsiNAXSI is an open-source, high performance, low rules maintenance WAF for NGINX

• ModSecurity for NGINX https://github.com/SpiderLabs/ModSecurityEvent-based programming language which provides protection from a range of attacks against web applications

• testcookie-nginx-module https://github.com/kyprizel/testcookie-nginx-module application level DDoS mitigation module using cookie based challenge/response technique

• A variety of commercial WAFs

���4

Page 5: NGINX User Summit. Wallarm llightning talk

Looking for the best web apps protection solution

Most of them worked as promised but somehow didn’t feel right…

"phase:2,rev:'2',ver:'OWASP_CRS/2.2.9',maturity:'9',accuracy:'8',capture,t:none,t:urlDecodeUni,ctl:auditLogParts=+E,block,msg:'SQL Injection Attack',id:'959073',tag:'OWASP_CRS/WEB_ATTACK/SQL_INJECTION',tag:'WASCTC/WASC-19',tag:'OWASP_TOP_10/A1',tag:'OWASP_AppSensor/CIE1',tag:'PCI/6.5.2',logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',severity:'2',setvar:'tx.msg=%{rule.msg}',setvar:tx.sql_injection_score=+%{tx.critical_anomaly_score},setvar:tx.anomaly_score=+%{tx.critical_anomaly_score},setvar:tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/SQL_INJECTION-%{matched_var_name}=%{tx.0}"

���5

Page 6: NGINX User Summit. Wallarm llightning talk

We can do it by ourselves! Probably

Goals:

• Learn from the traffic to avoid complex configuration process

• Efficiently block noise/spam from automated tools in the system interface

• Detect & patch vulnerabilities, including 0days

• Support AJAX and HTML5 applications that use single-page structure and modern standards (e.g. local storage)

• Handle high load (100K rps on a single node)

• Work in synchronous and asynchronous mode

���6

Page 7: NGINX User Summit. Wallarm llightning talk

We can do it by ourselves! Probably

Milestones:

• In 2010 we implemented attack detection tool with self-learning algorithms in pure PHP. It worked, but was damn slow

• In 2011-2012 we have rewritten everything in Ruby and started to analyse traffic captured by tcpdump

• Finally in 2013 we have realised that NGINX is a great platform to implement application level traffic filtration.

���7

Page 8: NGINX User Summit. Wallarm llightning talk

Wallarm architecture

���8

Wallarm nodeNGINX Wallarm module

local analytics module

Your application

All requests to application

Wallarm cloud

Training sets for Wallarm node

Statistics, attacks

information

Filtered requests

No sensitive data goes to Wallarm cloud

client’s infrastructure

cloud analytics module

active vuln

scanner

passive vuln

scanner

buffer

Page 9: NGINX User Summit. Wallarm llightning talk

Summing up: vulnerability detection solution & WAF based on stats algorithms

• Wallarm analyses user requests and based on them learns how application works (business logic, execution environment, programming language used, etc).

• With this knowledge Wallarm profiles every user: what he does and when, what data is sent, and how the application reacts.

• Requests are analysed with a set of metrics. Wallarm inspects semantics of requests and answers, looks for correlations and seeks for the ways to group them into potential vectors of attacks.

• This way Wallarm identifies and blocks anomalies — activity, atypical for normal operation of the application.

���9

Page 10: NGINX User Summit. Wallarm llightning talk

Bonus

• No spam/noise in the interface

• Metrics for Dashboard are taken from real-life projects. Among them: reaction time, vulnerability fix time, the time from discovery of the vulnerability until its exploitation.

• Google-style search bar to filter security events.

• NGINX inside

���10

Page 11: NGINX User Summit. Wallarm llightning talk

Wallarm team

Ivan Alex Stephan Simon Dmitry CEO CTO COO/CMO Advisor Strategy

���11

Now hiring and [email protected]

Page 12: NGINX User Summit. Wallarm llightning talk

���12

Thank you!http://www.wallarm.com