¿Está buscando un consultor de seguridad para hacer una revisión detallada del código?

9

Tenemos una aplicación PHP que sabemos que tiene prácticas de codificación deficientes (porque los desarrolladores no tenían una buena comprensión de los fundamentos de programación / PHP). Esto podría llevar al escenario donde tenemos fallas de seguridad graves en nuestro código, incluso en el "nivel lógico".

¿Cómo / Dónde localizo un equipo de consultoría que realizaría una revisión manual del código para entender realmente lo que intentábamos hacer y luego ver dónde nos equivocamos / cómo podría eludirse el proceso? Probamos con un consultor que hizo lo que parecía ser solo un escaneo automático del código, y eso no agregó ningún valor.

Esta pregunta se basa en realizar una revisión manual del código de seguridad - ¿A qué debo estar atento? - Soy la misma persona, pero ya no puedo acceder a mi sesión anterior basada en cookies.

    
pregunta siliconpi 02.12.2010 - 03:13
fuente

3 respuestas

8

La revisión de código puede ser un uso costoso del tiempo de los consultores y, por lo tanto, de su presupuesto, para asegurarse de que está obteniendo valor por el dinero que podría hacer para lo siguiente:

  1. Seleccione el código que necesita para ser revisado . De esta manera, es posible que se centre en el código que completa roles específicos, como la autorización / administración de sesión / lógica de negocios específica, etc. que le preocupan. Si luego le queda un presupuesto, puede pasar a otras áreas de código menos críticas.

  2. Estime el tiempo y el esfuerzo requeridos Como estimación aproximada, puede usar las líneas de código 1k = un día completo de revisión (sin incluir el informe). Los diferentes idiomas y la complejidad del código cambiarán esto, pero proporciona un buen punto de partida cuando se analizan los requisitos presupuestarios.

  3. Automatización como ayuda El escaneo automatizado de códigos tiene su lugar, pero solo agrega valor si el consultor sabe cómo configurar la herramienta y usarla como ayuda en su revisión manual. El uso de un enfoque manual automatizado combinado puede acelerar el compromiso y llevar a un costo reducido. El consultor debe tener la suficiente experiencia en el idioma que se revisa para comprender los problemas de seguridad y eliminar cualquier falso positivo, así como asegurarse de que no haya falso negativo.

  4. Amenaza el modelo de la aplicación Si puedes entender la lógica empresarial y cómo los atacantes pueden interactuar con tu aplicación a un nivel que te permita modelar posibles vectores de ataque, esto ayudará a definir un Revisión de código más específica y enfocada. Este nivel de detalle puede pasarse luego al consultor para asegurarse de que esté al tanto de cómo funciona la aplicación y esto les permitirá brindar asesoramiento y orientación personalizados en lugar de un genérico; aquí hay algunos riesgos.

  5. Ubique los resultados en el contexto de la aplicación Al final del día, deberá hacer una llamada sobre qué problemas solucionar y en qué orden de prioridad. Desafíe al consultor para que formule recomendaciones claras y proporcione pruebas para ayudar a comprender si los hallazgos de la revisión del código son realmente una amenaza, es decir, el código que se considera vulnerable se encuentra en el back-end y no hay una ruta para la interacción del usuario, entonces esto es menor riesgo que si el código vulnerable se encuentra en el código de autorización principal presentado al usuario final. Esto debería reducir el tiempo internamente y, por lo tanto, convertirse en un ahorro de costos que puede compensarse con el costo de la revisión del código.

respondido por el David Stubley 03.12.2010 - 09:23
fuente
3

Depende de en qué país te encuentres. Pero hay algunas cosas que debes tener en cuenta.

Primero, defina claramente y documente lo que desea ahora. ¿Desea una revisión de seguridad en profundidad? ¿Desea una revisión de calidad (en el departamento)? ¿Quieres consejos / recomendaciones del consultor sobre el proceso de desarrollo? ¿Quieres asesoramiento sobre la elección de una empresa de desarrollo? Asegúrese de hacer que TODOS sus expectativas sean explícitas y documentarlas en detalle.

Además, asegúrese de elegir una empresa competente. Solicita referencias y pasa un tiempo buscando una buena. Prepárese para gastar algo de dinero en esto, la revisión manual del código consume MUCHO tiempo. No opte por los muy económicos, ya que no pueden proporcionarle una solución real simplemente porque tiempo = dinero y usted necesita el tiempo para realizar una revisión manual en profundidad.

En este caso, necesita una empresa de consultoría muy técnica, no tome una empresa de consultoría de gestión que también proporcione servicios técnicos.

    
respondido por el Henri 02.12.2010 - 23:07
fuente
1

Debe considerar tanto la amplitud como la profundidad de la revisión. Por amplitud, me refiero a qué rango de riesgos / ataques / amenazas se cubrirán en la revisión. Debe comenzar con el Estándar de verificación de seguridad de aplicaciones de OWASP para tener una idea de lo que se debe cubrir aquí. Por profundidad, me refiero a qué tan bien el consultor verificará que cada área ha sido defendida adecuadamente. En el extremo inferior, una herramienta de exploración automatizada ofrece poca garantía. En el extremo superior, una inspección manual o un caso de prueba real debe demostrar esencialmente que las defensas correctas están en su lugar, se han diseñado correctamente y se utilizan en todos los lugares en que deben estar.

No se deje engañar por el argumento de que la revisión del código requiere necesariamente más tiempo que otros enfoques. En muchos casos, es la mejor manera de verificar la seguridad de forma rápida, precisa y con la mejor cobertura posible.

Verifique con algunas de las compañías involucradas con OWASP. Tienen una amplia experiencia en la verificación de la seguridad de las aplicaciones web de forma rentable.

    
respondido por el planetlevel 03.12.2010 - 19:22
fuente

Lea otras preguntas en las etiquetas