¿Cómo calcular la calificación de riesgo de una característica?

6

Estoy trabajando en una metodología de análisis de riesgo arquitectónico / modelado de amenazas (ARA) para la organización para la que trabajo. Nuestro negocio consiste en un producto principal (desarrollado por ~ 500 desarrolladores durante una década). El producto contiene cientos de características, la mayoría de las cuales están lejos de la superficie de ataque y funcionan con datos de poca importancia.

Para optimizar nuestro ARA, deseo implementar un método de clasificación de riesgo de funciones que permita a los arquitectos de software (que no son expertos en seguridad) evaluar fácilmente el impacto de la función que producen. En función de su puntuación, harán una versión ligera de ARA, una versión más detallada o incluso consultarán con el equipo de seguridad (si se trata de una función de alto impacto).

¿Puede recomendar alguna metodología de este tipo? Lo único que me viene a la mente es un cuestionario en el que el arquitecto llenará la información sobre los activos con los que interactúa su característica (según nuestro inventario de activos) y, en función del impacto de los activos y una fórmula simple, el arquitecto calcula el impacto de la característica.

¿Tienen alguna idea mejor?

    
pregunta Nikola Luburić 10.10.2017 - 11:35
fuente

2 respuestas

1

Me gustaría abstraer la calificación de 'impacto' para los usuarios de este sistema de clasificación. El sistema resultante debe ser claro, simple y no ambiguo. También debe dar como resultado una salida auditable (algo que alguien más puede verificar).

Lo he hecho reduciendo la complejidad del análisis a los datos y los sistemas de datos con los que interactúa la función. Utilice su clasificación de datos existente y su modelo de riesgo de datos para definir las características de los distintos tipos de datos que tiene (personal, financiero, tarjeta de pago, salud, confidencial, etc.) y defina qué protecciones deben tener esos datos (cifrados, ciertos niveles de acceso, etc.). Probablemente ya tenga un cierto nivel de comprensión de los impactos de los diversos datos que tiene, así que simplemente pídalo prestado en lugar de reinventar la rueda.

Luego, puede clasificar el nivel de protección / riesgo de los datos que toca la característica, ya sea directamente o por medio de llamadas a otras características / sistemas.

Ejemplo:

The data the feature processes has:

* names or personal identifiers
* payment card data, bank details
* health information
* internal financial information
* internal configuration
* passwords, crypto keys
* ...

The feature interacts with:

* users
* Database A
* Database B
* 3rd party service C
* payment processors
* external researchers
* ...

El resultado es simple: el desarrollador verifica las características de los datos que procesa la nueva característica y los sistemas con los que interactúa, y su lista de verificación debe devolver la clasificación de la característica. Los auditores / pares solo necesitan revisar que los datos de hecho tienen esas características de datos.

En definitiva, el sistema resultante es rápido, simple y fácil de entender. Lo que lo hace funcionar es todo el trabajo realizado anteriormente para identificar los riesgos y las protecciones requeridas por ciertos tipos de datos (ya sea por las clasificaciones internas de riesgo, leyes, regulaciones, etc.)

Si aún no tiene una clasificación de datos y un entendimiento del riesgo de datos, en realidad sería más sencillo crear eso primero, en lugar de reinventar esa rueda cada vez que tenga una nueva función para evaluar. También facilitaría la actualización de este sistema de clasificación cuando las cosas cambian, como las leyes o la tolerancia al riesgo de la empresa (¡tres aplausos para la abstracción y la encapsulación!)

Una ventaja añadida al enfoque de inventario de características de datos: si una regulación cambia, usted tiene un inventario de características de datos previamente creado, de modo que sepa el flujo de esos datos en sus sistemas. Es como un diagrama de flujo de datos orgánico y actualizado.

    
respondido por el schroeder 10.10.2017 - 12:20
fuente
0

Creo que esto debería basarse en las capacidades de la función para acceder a varias áreas de seguridad / datos / otras áreas. Piense en ello como una aplicación de teléfono móvil que solicita varios accesos a los módulos específicos de su teléfono.

Entonces, considere qué puede hacer / acceder / modificar la característica y asigne un puntaje de riesgo a eso. Por supuesto, tendrá que tener una imagen completa de la situación, de modo que pueda establecer varias categorías con la puntuación máxima para cada una.

Un cuestionario, por supuesto, puede ayudar, pero solo mientras se complete correctamente, considerando todos los aspectos involucrados. Por lo general, esto lo maneja un equipo de evaluación, no solo el arquitecto, ya que probablemente no tendrá en cuenta todas las implicaciones.

    
respondido por el Overmind 10.10.2017 - 12:20
fuente

Lea otras preguntas en las etiquetas