2010-07-18 13 views
5

Acabo de regresar de una conferencia de hackers sobre seguridad en Internet y estoy interesado en aprender sobre seguridad web y proteger a las empresas de los piratas informáticos. Pero no sé por dónde empezar y qué idiomas aprender ...¿Seguridad web inicial?

¿Alguien podría indicarme la dirección correcta para esto?

Respuesta

4

Todos tienen su propia filosofía de seguridad. Desarrollar tu propia filosofía es vital. Esta es la razón por la cual Bruce Schneier es tan popular, y leo cada publicación del blog.

En el estado actual de la seguridad, el panorama está plagado de sistemas de seguridad que fallan.Creo que esto se debe a la siguiente cita.

"Lo que no puedo crear, no lo hago understand."

--Richard Feynman

Aprender cómo romper el software es el paso más importante en el aprendizaje de cómo protegerse de los ataques. Debe encontrar vulnerabilidades en el software y escribir código de explotación.

+0

No estoy muy seguro de si llegaría a decir "debes escribir el código de explotación", pero me gustaría de acuerdo con "debe haber reproducido una vulnerabilidad al menos una vez". P.ej. debe haber intentado 'password =" 'OR 1 = 1 "' al menos una vez para obtener una apreciación de la inyección de SQL. +1 de todos modos. – deceze

+0

@deceze Si todo lo que puedes aprovechar es una tautología simple, entonces esto es todo lo que puedes defender contra la antigüedad. ¿Cómo haces para probar un parche? – rook

2

Esto es un tipo de campo enorme. Las personas hacen carreras de por vida a partir de ello. Como un principiante, usted querrá saber:

  • HTML, XML y XHTML
  • Javascript, y una vez que se dé cuenta, lee acerca de cross-site scripting ataques
  • SQL, y una vez que se conoce el fundamentos, los ataques de inyección
  • conceptos básicos sobre los hashes, sales, cifrado de clave pública, y cómo funciona HTTPS
  • Cómo funcionan los certificados

Eso debería ser una buena estrella t.

1

El artículo clásico 'Smashing the Stack for Fun and Profit' es una lectura obligada.

Se ocupa de los desbordamientos del búfer, un aprovechamiento muy común. Aunque es relativamente de bajo nivel, comprender los desbordamientos del búfer es definitivamente un primer paso para aprender sobre la seguridad.

+0

que el papel es un poco anticuado, estos ataques no va a funcionar un sistema moderno. Aunque te di un +1 porque estoy de acuerdo en que entender el conservante de los atacantes es vital. – rook

1

Los idiomas no importan, en realidad, la seguridad es un enfoque más que una implementación. Puede utilizar numerosos lenguajes y marcos para escribir aplicaciones de Internet, y la seguridad de las aplicaciones debe estar integrada en, sin capas en la parte superior. Si desea proteger los sitios web existentes, implica volver a escribir el código vulnerable o poner un firewall de aplicación web entre la aplicación e Internet.

Será mejor que se centre primero en los conceptos y aprenda a aplicarlos en los idiomas que elija. El ciclo de vida de desarrollo seguro de Microsoft y el trabajo que han realizado en torno al modelado de amenazas es algo que debería examinarse, ya que abarca la construcción desde el principio y la creación de ciclos de retroalimentación con cada iteración de desarrollo.

(Ah, y lo hice escribir un libro sobre ASP.NET securitysonrisa)

+0

Eso es muy bueno para ti. Rechazo cualquier pensamiento de que su comentario sea útil. – blowdart

+0

En 2006, el 46% de todos los números CVE emitidos estaban relacionados con PHP. Un edificio se derrumbará si está construido sobre una base débil. Microsoft tiene el peor historial de seguridad. A pesar de que han mejorado, todavía tienen que sobornar a las personas para que escriban blogs sobre cuán "segura" es su plataforma. Además, un par de 0 días acaba de ser parcheado en IE, lo que deja a sus usuarios vulnerables al ataque durante aproximadamente un mes. Este es un comportamiento completamente irresponsable. – rook

+0

Uh-huh. Y, sin embargo, es algo ortogonal a la pregunta original (y el comentario que eliminaste). Las vulnerabilidades comunes de la web son independientes de la plataforma, y ​​heck que proporcionó este con el que está tan orgulloso (que fue sin duda hilarante). Para los principiantes, la plataforma simplemente no importa, son los conceptos y la forma de pensar. – blowdart

1

Una de las lecciones más importantes que hay que aprender la hora de implementar la seguridad en cualquier aplicación es NO de usar los sistemas de seguridad de elaboración casera - siempre terminas haciendo que la aplicación sea menos segura.

No intente escribir un nuevo algoritmo hash o método de encriptación de transmisión o cualquiera de las otras 100 piezas.

Siempre uso bien conocido, módulos y algoritmos tales como OpenSSL, Blowfish encryption y salted password hashes bien probado.

1

El mejor lugar para comenzar es el OWASP (Proyecto de seguridad de aplicaciones web abiertas). Tienen muchos recursos, incluido el OWASP Top Ten, que incluye las 10 vulnerabilidades/riesgos más críticos para las aplicaciones web y su Guía de desarrollo de código seguro que se puede leer en línea (wiki) o descargar en PDF.

También tienen la Web Goat, una aplicación web vulnerable que las personas pueden descargar y jugar para aprender sobre las vulnerabilidades, cómo funcionan y el mejor enfoque para corregirlas. Es bastante interesante y viene con consejos y soluciones.

También organizan conferencias (consulte la sesión de video del sitio web, generalmente publican los videos y diapositivas de las charlas) y los capítulos en diferentes ciudades organizan reuniones donde las personas hablan sobre aspectos interesantes de la seguridad de las aplicaciones web. Debería considerar unirse a uno en su área.

Puede toda la información en el sitio web de OWASP: http://www.owasp.org