Monday, November 07, 2005

Workshop: Developing and Enforcing Security Policies

La presentació ha sigut a càrrec de l'empresa Parasoft, i ha constat de tres parts: una introducció, una segona part més tècnica i una demo final.
Part 1: Introducció
En la introducció, se'ns ha comentat que la seguretat en les aplicacions és clau: segons Gartner un 75% dels atacs de hackers a sistemes son existosos gràcies a forats en les aplicacions. De res serveixen inverisons millonaries en SO segurs, firewalls i configuracions de servidors si després les aplicacions tenen forats de seguretat. Per tant, la seguretat no s'ha de comprobar a posteriori, si no que ja s'ha de tenir present des de temps de disseny. També es va destacar que el cost de comprobar la seguretat és molt costós i que per a que sigui factible les proves s'han d'automatitzar.
Part 2: Conferencia en sí
La segona part de la conferència, va durar unes dues hores i escaix i es van fer un repàs de les principals causes d'error en aplicacions (sobretot aplicacions web, ja que aquestes son, per raons òbvies, les més fàcilment atacables). Així la llista dels 10 errors de seguretat més comuns seria:
  1. Entrades d'usuari no validades. Clau perquè permet XSS, injecció i buffer overflow
  2. Autorització mal implementada
  3. Autenticació trencada (cookies manipulades,...)
  4. XSS
  5. Buffer overflows (especialment en CGIs fets en C/C++ o Perl).
  6. Injecció
  7. Excepcions tractades erroneament
  8. Criptografia massa dèbil.
  9. Atacs DoS
  10. Servidors mal configurats

A destacar que les 8 primeres raons son bàsicament de desenvolupament. DoS ocupa la novena plaça i és un tema molt complicat de defensar-se contra ella, i finalment servidors mal configurats tot just és la 10a causa d'errors de seguretat. Conclusió: Sistemes pot ser culpable d'un error de seguretat, però desenvolupadors tenen segurament més part de culpa.

També va mencionar altres tipus d'errors inherents a Web Services (generalment manipulacions malèvoles dels missatges SOAP, o WSDL "massa" explícit), però no es va donar cap exemple concret en aquest punt.

Finalment va fer un resum de quines àrees havia de cobrir tota política de seguretat d'un desenvolupament, però sense entrar en detall.

Part 3: Demos

Un parell de demos de les aplicacions de Parasoft, per poder veure com ajuden a automatitzar el testing de seguretat. Per una banda JTest, que bàsicament realitza anàlisis estàtics sobre el codi font per buscar "bad practices" a nivell de seguretat i presenta un report. L'eina és Java i s'integra al 100% amb eclipse. Sembla que tenen una eina per a C/C++ que fa el mateix, però no he trovat cap eina equivalent per a .NET.

La segona eina era WebKing que buscava errors de seguretat en una aplicació web: a partir de la gravació d'una navegació per un site web, es generaven un conjunt de test-cases i l'eina buscava els clàssics errors: SQL injection, broken session, unvalidated user input, ... A la demo no va quedar gens clar com configurar l'eina per a que detecti els diversos tipus d'errors (no sembla fàcil).

Conclusions: La segona part de la conferencia va ser força interessant, però vaig trovar a faltar una mica de profunditat tècnica. En general tota la presentació va ser un pel massa comercial pel meu gust (la part final de les demostracions no aclarava res, més enllà de que ells ofereixen eines per a automatitzar tests de seguretat).

0 Comentaris:

Post a Comment

<< Home