Investigación - Networking Laboratorio de Sistemas en UTN FRC Centro de Investigación y Desarrollo Docente de Fundamentos de Informática UTN FRC Twitter/Telegram: @accio_bugs - Mail: [email protected]
“access point” - métodos definidos - no necesariamente requieren de web services Web service - interacción entre dos hosts → en una red - independencia de plataformas - puede no tener todas las reglas especificadas API vs Web Service
todas las APIs son WS. - WS requieren de una red, las APIs no siempre. - WS podrían no ejecutar operaciones que las APIs realizan. - APIs interactúan directamente con la app, pero un WS interactúa por medio de la red - APIs: no necesariamente web-based API vs Web Service
Incremento en su uso Cambios constantes No se respeta el estándar Microservicios → se comunican mediante APIs WAF → no resuelven todos los problemas Foco en cloud – automation - CI/DC
- Cambiar datos del perfil de otro usuario PUT /user_info/{id_user} - Enumerar usuarios - Borrar fotos de otros usuarios DELETE /api / picture /delete? picture_id= Prevención / mitigación - No confiar en Ids del usuario - Controlar autorización en cada request que accede a DB - Usar UUIDs → impredecibles - Controlar correspondencia del objeto con usuario.
- Obtener datos que el usuario no necesita conocer Prevención / mitigación - Identificar la información que se muestra al usuario - Revisar las respuestas
Hacer admin al usuario Prevención / mitigación - No mapear automáticamente datos que ingresan, con objetos internos - Especificar los atributos esperados - Atributos Read-only
injection → login! - Otros casos de injection Prevención / mitigación - Validar, filtrar, sanitizar lo que ingresa el usuario - Chequear responses en busca de filtración de información - Definir esquemas, tipos de datos, patrones
- Buscar versiones antiguas, obsoletas de APIs aún activas /api/v2/users → /api/v1/users/ - Buscar entornos de testing, staging - Lograr autenticación en un endpoint para lograr acceso a otro Prevención / mitigación - Restricciones para lo que no debería ser público - API firewalls - Quitar versiones anteriores de las APIs luego de que se hizo upgrade - Implementar medidas en CI/DI para que APIs inseguras no sean desplegadas
- Buscar tokens – credenciales en logs Prevención / mitigación - Identificar qué información se muestra en los logs. - No exponer tokens, keys, credenciales - Configurar logs propios que no expongan la información pero que permitan debugging