Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby,...

18
Firewall SQL Becarios: Óscar Matías López Pérez Pedro Guerrero López Subdirección de Seguridad de la Información UNAM-CERT

Transcript of Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby,...

Page 1: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Firewall SQL

Becarios:

Óscar Matías López Pérez

Pedro Guerrero López

Subdirección de Seguridad de la Información

UNAM-CERT

Page 2: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Objetivo

Page 3: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

SQL injection

SELECT * FROM clientes WHERE usuario=‘Juan’ AND contrasena=‘Fd.64,sG’;

’ OR 1=1; --

SELECT * FROM clientes WHERE usuario=‘Juan’ OR 1=1; -- ’AND contrasena=‘Fd.64,sG’;

Page 4: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Opciones

Page 5: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

SQL Relay

Page 6: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

SQL Relay

Page 7: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Lib Injection INICIO

CONSULTA SQL

¿ES SQLi?

FIN

FIRMA

TOKENIZA

V

F

Page 8: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Tokenizar

Page 9: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Firma

Page 10: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Firewall SQL

Page 11: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Modos de Operación

•Modo Firewall / Modo Monitor •Modo Aprendizaje – Encendido/Apagado

Page 12: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Modos de Operación

•Modo Monitor

•Modo Firewall

Page 13: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Modo de aprendizaje

Encendido Falsos positivos

Page 14: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Conexión al Firewall SQL

• API – C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL

• Capas de abstracción – ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC,

JDBC

• Drop-in – MySQL, PostgreSQL

Page 15: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Conexión al Firewall SQL WEB APP

(API ODBC) DRIVER ODBC

Page 16: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Conexión al Firewall SQL INSTANCIA

ROUTER INSTANCIA

PROXY DBMS

Page 17: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Demos

• Protección directa en el DBMS.

• Modo de Aprendizaje y falsos positivos.

• Ataque automatizado de inyecciones SQL.

Page 18: Firewall SQL - n Firewall SQL.pdf · PDF file–C++, C, C#, Perl, PHP, Python, Ruby, Java, TCL •Capas de abstracción –ADO.NET, Perl DBI, Python DB, Ruby DBI, PHP PDO, ODBC, JDBC

Gracias

Óscar Matías López Pérez

Pedro Guerrero López

Subdirección de Seguridad de la Información

UNAM-CERT