it-swarm-es.com

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

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

¿Cómo/dónde ubico un equipo de consultoría que haría una revisión manual del código para comprender realmente lo que WE estábamos intentando qué hacer y luego ver dónde nos equivocamos/cómo se podía eludir 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ó absolutamente ningún valor. .

Esta pregunta se basa en Hacer una revisión manual del código de seguridad - ¿Qué hay que tener en cuenta? - Soy la misma persona, pero ya no puedo acceder a mi sesión anterior basada en cookies.

9
siliconpi

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 una buena relación calidad-precio, puede hacer lo siguiente;

  1. Clasifique el código que necesita para ser revisado. De esta manera, puede encontrar que puede concentrarse en el código que completa roles específicos, como autorización/administración de sesiones/lógica comercial específica, etc., que le preocupan. Si luego le queda presupuesto, puede pasar a otras áreas de código menos críticas.

  2. Calcule el tiempo y el esfuerzo necesarios Como una estimación muy aproximada, puede usar las 1000 líneas de código = un día completo de revisión (sin incluir informes). Los diferentes lenguajes 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 de código automatizado 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 combinado automatizado-manual puede acelerar el compromiso y reducir los costos. El consultor debe ser lo suficientemente hábil en el idioma que se está revisando para comprender los problemas de seguridad y eliminar los falsos positivos, así como asegurarse de que no lleguen los falsos negativos.

  4. Modelar la aplicación de amenazas Si puede comprender la lógica empresarial y cómo los atacantes pueden interactuar con su aplicación a un nivel que le permita modelar posibles vectores de ataque, esto le ayudará a definir una revisión de código más específica y enfocada . Este nivel de detalle se puede transmitir al consultor para asegurarse de que conozca cómo funciona la aplicación y esto le permitirá brindar asesoramiento y orientación personalizados en lugar de genéricos; aquí hay algunos riesgos.

  5. Coloque los hallazgos 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 haga recomendaciones claras y proporcione evidencia 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 encuentra vulnerable está en el back-end y no hay una ruta para la interacción del usuario, entonces esta es una menor riesgo que si el código vulnerable está 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 se puede compensar con el costo de la revisión del código.

8
David Stubley

Depende en qué país se encuentre. Pero hay algunas cosas que debe tener en cuenta.

Primero, defina y documente claramente qué desea ahora. ¿Quiere una revisión de seguridad en profundidad, quiere una revisión de calidad (en profundidad?)? ¿Quiere consejos/recomendaciones del consultor sobre el proceso de desarrollo? ¿Quiere asesoramiento sobre la elección de una empresa desarrolladora? Asegúrese de hacer TODAS sus expectativas explícitas y documentarlas en detalle.

Además, asegúrese de elegir una empresa competente. Solicite referencias y dedique algo de tiempo a encontrar una buena. Esté preparado para gastar algo de dinero en él, la revisión manual del código consume MUCHO tiempo. No opte por los muy baratos, ya que no pueden proporcionarle una solución real simplemente porque tiempo = dinero y necesita 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 brinde servicios técnicos.

3
Henri

Debe considerar tanto la amplitud como la profundidad de la revisión. Por amplitud, me refiero a la gama de riesgos/ataques/amenazas que 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 debe cubrirse aquí. Por profundidad, me refiero a qué tan bien el consultor verificará que cada área haya sido defendida adecuadamente. En el extremo inferior, un escaneo automático de herramientas proporciona poca seguridad. En el extremo superior, una inspección manual o un caso de prueba real debería esencialmente demostrar que las defensas correctas están en su lugar, se han diseñado correctamente y se utilizan en todos los lugares donde 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 sin duda la forma más eficaz de verificar la seguridad de forma rápida, precisa y con la mejor cobertura posible.

Consulte con algunas de las empresas involucradas con OWASP. Tienen una amplia experiencia en la verificación de la seguridad de las aplicaciones web de forma rentable.

1
planetlevel