Por supuesto.
Por favor, primero establezca lo que quiere decir con “hacker”. Primera definición inicial de esta palabra en la cultura de programación informática, disponible en el archivo Jargon: pirata informático significa, aproximadamente, programador disciplinado altamente calificado.
Sugeriría que al decir “hacker” te refieres a un hacker de sombrero negro , es decir, un programador malicioso altamente calificado que explota las debilidades del software existente para lograr ganancias personales o causar daños.
- ¿Es ahora un buen momento para hacer un cambio de carrera en ciencia de datos y seguir una maestría en análisis?
- ¿Qué sucede en una entrevista de salida en Google?
- ¿Qué debo hacer cuando estoy confundido?
- Soy estudiante de pregrado de física, mis matemáticas son malas, ¿qué debo hacer? Quiero trabajar en investigación, ¿qué campo son buenos para las matemáticas débiles?
- ¿Qué compañía sería un mejor lugar para trabajar: Amazon IDC o Arista Networks?
No importa en qué lado exacto del análisis de seguridad se encuentre, ya sea sombrero negro, sombrero gris o sombrero blanco, debe saber:
- Cómo se escriben los programas.
- Detalles intrincados de cómo se compilan en binarios nativos.
- Cómo se comunican entre ellos.
- Cómo automatizar tareas serviles como llenar entradas de texto en la interfaz de usuario.
- Cómo los sistemas operativos subyacentes administran la memoria y el código de programación para ejecutar.
- Cómo se implementa la criptografía en el software y cómo funciona en general.
- Cómo las personas usan el software.
Básicamente, usted elige la misma ruta del Libro del Dragón, los “Sistemas Operativos” y “Redes” de Tanenbaum, el Manual de Diseño de Algoritmo o algún otro libro completo sobre estructuras de datos y algo, Código Completo y Código Limpio.
Luego, como no va a ser desarrollador de software, omita SICP y / o CTMCP, “Patrones de diseño”, Clean Coder y el Libro Azul.
Luego, como va a ser analista de software , agregue “C ++ the Language”, “Secure Code”, google la mierda de los manuales, estándares y manuales de Bash en los lenguajes de programación actuales (C ++, Javascript, C #, Java, Python, Go , Ruby, PHP, C en 2017), estándares sobre protocolos de intercambio de datos actuales (HTTP 1.0 / 1.1 / 2.0, SSL, TLS, FTP, SSH, ARP, DNS, etc.), manuales de Windows para todas las versiones desde 10 años hasta ahora (10, 8.1, 8, 7, XP), The Art of Unix Programming, manuales de OSX, y a partir de ahí sabrás lo que necesitas aprender.
Como puede ver, eso es bastante “estudiar programación” para convertirse en un sombrero negro decente capaz de superar a los especialistas en seguridad en los negocios.