Recomendaciones de revisión de códigos de seguridad [cerrado]

1

He estado escribiendo software durante ~ 7 años y he estado activamente interesado en seguridad para ~ 2-3. Este interés ha sido completamente auto-motivado y principalmente del lado del ataque; He escrito varias herramientas ofensivas de seguridad FOSS y he realizado inmersiones profundas en ciertos vectores de ataque como DNS reencuadernación . Debido a esta experiencia, logré obtener mi primer trabajo de infosec como ingeniero de seguridad de aplicaciones en una empresa de cómputo de VPS / cloud. Una de mis funciones será llevar a cabo revisiones periódicas del código de todo el software que creamos. No soy ajeno a leer el código y hacer sugerencias informales, pero esta será la primera vez que realizo revisiones sistemáticas y formales del código de otras personas con regularidad. Para ser honesto, estoy un poco intimidado. Tengo una pasión por la seguridad que he ejercido por mi cuenta durante años, pero nunca he estado a cargo de hacer recomendaciones autorizadas de alto riesgo sobre el tema, al menos no a nivel de código.

¿Alguien tiene alguna sugerencia sobre cómo obtener experiencia o comodidad con la realización de revisiones de código relacionadas con la seguridad ? Tengo dos semanas antes de asumir el cargo y me encantaría adquirir algo de experiencia en la revisión de códigos y aprender a recomendar las mejores prácticas antes de que aparezca en la empresa como una especie de figura de autoridad . ¡Cualquier consejo general, recomendaciones o pensamientos son muy apreciados!

    
pregunta Brannon 24.10.2018 - 02:38
fuente

2 respuestas

1

Puede tomar OWASP ASVS como una línea de base. Proporciona una cobertura bastante completa de las comprobaciones de software desglosadas en las siguientes categorías:

Architecture
Authentication
Session Management
Access Control
Input validation and output encoding
Cryptography
Error Handling
Data Protection
Communications
Malicious Code
Business Logic Flaws
Files and Resources
Mobile
API
Configuration
Internet of Things

Como puede ver, el campo podría ser bastante amplio, por lo que recomiendo crear un modelo de amenaza de aplicación revisada para priorizar su enfoque, básicamente, para revisar las partes más importantes primero.

Yendo más allá, puede implementar verificaciones específicas de idioma como las que proporciona CMU .

    
respondido por el odo 24.10.2018 - 11:31
fuente
1

No me preocuparía por ser un impostor. Usted tiene la experiencia en desarrollo para poder relacionarse con los desarrolladores y probablemente estarán ansiosos por tener a alguien de seguridad que entienda a appsec para un cambio.

Sin embargo, a menos que haya solo algunas aplicaciones en su alcance, lo que está proponiendo es un trabajo demasiado grande para que una persona lo haga manualmente.

  • Debe alentar a los campeones de seguridad en el personal de desarrollo. Un campeón de seguridad es un desarrollador que está donde estuvo hace un par de años en términos de interés de seguridad. Y les dejas llevar a cabo las revisiones de código del código de su equipo.

  • Existen herramientas de análisis de código estático para ayudar a limitar la búsqueda de posibles malas prácticas. Veracode (costoso), CodeDX (más barato y no tan preciso) y SonarQube (código abierto).

Parte de tu pregunta es cómo incluso hacer una revisión de código. Saqué mucho de los siguientes videos: enlace

enlace

    
respondido por el mcgyver5 24.10.2018 - 13:28
fuente

Lea otras preguntas en las etiquetas