¿Cuál es la mejor manera de aprender a desarrollar aplicaciones seguras?

8

Me gustaría entrar en la seguridad informática en mi carrera. ¿Cuáles son las mejores formas de aprender a programar de forma segura?

Me parece que, además de los libros de texto y tomar clases en el tema, tal vez aprender a "hackear" sería una de las mejores maneras de aprender. Mi razón para pensar esto es pensar que la mejor manera de aprender cómo evitar que alguien haga lo que usted no quiere que haga es aprender lo que es capaz de hacer.

Si este es el caso, entonces plantea otra pregunta: ¿cómo harías para aprender a hackear de manera ética? Definitivamente no quiero violar las leyes o causar daño en mi búsqueda.

Kenneth
fuente
Todos justifican la piratería agregando "ética". ¿Por qué no simplemente descargar porcupine.org/satan y disfrutar sin decir que es "ético"?
S.Lott
No trato de justificarlo. Simplemente parece que para detener a un hacker necesitas saber cómo pueden hackear. Me parece que, en algún nivel, esto casi requiere experiencia con la piratería. Al final, la piratería no es mi objetivo final. Si tiene una mejor alternativa, estoy abierto a sugerencias, que es el propósito de esta publicación. ¡Gracias!
Kenneth
"Si tienes una mejor alternativa"? Creo que proporcioné una respuesta. necesitas más información? Además, ¿sabe que la mayoría de los hackers usan SATAN?
S.Lott
para obtener información sobre cómo pueden hackear, aquí hay un enlace a los 10 agujeros de seguridad más importantes en 2010. owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf
Evan
@SLott: ¿la mayoría usa SATAN? Hmmmm - ¡Me sorprendería, ya que los vemos usando herramientas mucho mejores!
Rory Alsop

Respuestas:

5

Hay mucho por ahí sobre "piratería ética": una palabra de éxito frecuente es "prueba de penetración". También hay códigos de ética sobre cómo hacerlo, pero mi única regla general sería la misma que las reglas del jardín de infantes: no hagas cosas difíciles que no sean tuyas.

Si está interesado en ambas caras de la moneda, le sugiero proyectos para el hogar: cree una aplicación simple y luego intente hackearla. Luego tiene el código disponible para que pueda romperlo y arreglarlo al contenido de su corazón.

La otra cosa es sitios como OWASP (ver otra respuesta). Hay un montón de vulnerabilidades conocidas por ahí. Aprender sobre ellos y aprender cómo prevenirlos es un gran paso que acorta la prueba y el error del pirateo de bricolaje. También es un gran paso aprender acerca de los mecanismos de confidencialidad, integridad, identificación y disponibilidad de software, redes y computadoras en general. Tener experiencia en la implementación de estos mecanismos en su idioma / implementación de elección es una excelente manera de desarrollar habilidades de seguridad de software.

bethlakshmi
fuente
2

Una forma sería mirar las herramientas que se pueden usar para probar la penetración de un sistema. Puede descargar algunas distribuciones de Linux de prueba de penetración especializadas para empezar.

Otra parte de tu búsqueda de aprendizaje es leer la literatura que hay. OWASP, como lo sugiere @ S.Lott, es un recurso increíble para la seguridad de las aplicaciones web. SafeCode es una fuente más generalizada, pero definitivamente es mucho menos detallada.

Dan McGrath
fuente