Se necesita mucho para hacer que la aplicación web sea segura. Al igual que los abogados de su bufete de abogados son conocidos por “Seguir el dinero”, simplemente debe “Seguir los datos”. Entonces, cuando siga los datos, hágase las siguientes preguntas:
a) Quién es el creador, es decir, productor de datos
b) ¿Quién posee los datos?
- ¿Dónde puedo leer los documentos de investigación sobre seguridad cibernética publicados por académicos de forma gratuita? He probado la biblioteca digital ACM pero no creo que sea gratuita.
- Si alguien obtuviera una de sus contraseñas, ¿cuánto daño podrían causar?
- ¿Cuánto gastan las empresas en ciberseguridad?
- ¿Qué debo aprender si quiero dominar la ciberseguridad?
- ¿Qué es un servicio de firewall?
c) Quién es consumidor, es decir, usuarios autorizados que pueden acceder a los datos o modificarlos.
d) ¿Cómo se va a acceder a estos datos? ¿Solo aplicación web? Cualquier API? Acceso a la base de datos? ¿Cualquier otra manera? ¿Obtiene datos de otra fuente? ¿hace que sus datos estén disponibles para otra aplicación a través de FTP u otro mecanismo?
Piense en cualquier forma diferente de acceder a los datos, modificarlos.
Esto conducirá a cómo puede garantizar la integridad de los datos (no estoy hablando de la firma digital … simplemente de una manera simple … de saber que estos datos fueron modificados por la persona correcta).
Confidencialidad: una vez que sepa dónde se almacenan los datos y cómo se accede a ellos, mapee toda la ruta para ver cómo se protegen los datos en la red y cuándo se almacenan en la base de datos o el sistema de archivos. Pregúntese, ¿qué sucederá si alguien puede obtener acceso a estos datos?
Si se concentra en los datos, sabrá cuál es su exposición al riesgo.
Ahora la parte de piratería. Cada aplicación puede ser hackeada. La pregunta es qué tan fácil va a hacer que otros puedan hackear su sistema. Por lo tanto, debe crear capas … como firewalls y monitoreo de detección de intrusos, etc.
Ahora viene la última y divertida parte. El mejor truco de la aplicación web no es piratear cortafuegos ni violar su perímetro. Finge ser un usuario real pero capaz de obtener acceso a los datos. ¿Cómo es esto posible? Esto vendrá de todos los conocidos “Front-end”, es decir, cómo se accede / recupera los datos. API o UI.
Ahora mire cada categoría de tecnología y vea cuáles son los riesgos comunes conocidos. OWASP es un buen comienzo.
Luego, busca mitigaciones. ¿Sería un firewall lo suficientemente bueno? ¿Necesita autenticación o autenticación y autorización, qué funcionalidad de monitoreo está disponible, etc.
¿Cuándo necesitas ayuda externa? Puedes usar la ayuda en cualquier momento. Pero saber qué tipo de ayuda necesita puede ahorrarle mucho tiempo y dinero. No estoy seguro de cuál es tu papel. Trabaje con el equipo de Desarrollo de software y haga estas preguntas, aproximadamente el 70% sabe cómo responderlas según lo que ya se admite en el marco. Puede que simplemente no sepan por qué existe. (porque puede estar oculto bajo Seguridad). Luego, haga que Dev Team trabaje en el modelo Microsoft STRIDE.
Luego, siéntese con su equipo de infraestructura de red y hágales estas preguntas: ¿cómo protegen (o qué opciones tienen) para confiar en la comunicación entre A y B. Superponga eso con escenarios específicos basados en su análisis de STRIDE o “Siga los datos”.
A continuación, necesita a alguien que conozca la seguridad … para encontrar vulnerabilidades (prueba de Pen) y corregir (Application Security / Developer). Debe asignar las vulnerabilidades identificadas en la capa adecuada (API, Web, Base de datos, etc.). Entre Pen Testing / Ethical Hacking y alguien que pueda traducir las vulnerabilidades en un diseño / implementación real, estará en camino para asegurar la aplicación.