Aller au contenu

Security Review — PD-107 Biometric Authentication

Date: 2026-02-15 Reviewer: Llama3.3:70b (via Ollama) Story: PD-107

Résumé sécurité

Score OWASP: 8/10 Criticité globale: MOYENNE

Vulnérabilités identifiées

ID CVSS Type Description Recommandation
SEC-01 6.5 Bypass de l'authentification biométrique Un attaquant pourrait potentiellement contourner l'authentification biométrique en exploitant une faille dans le mécanisme de promptage biométrique. Mettre à jour la bibliothèque de promptage biométrique pour corriger les vulnérabilités connues et améliorer la sécurité du processus d'authentification.
SEC-02 5.0 Timing attacks sur le flux d'unlock Un attaquant pourrait tenter d'exploiter des différences de temps dans le traitement des réponses biométriques pour déduire des informations sensibles. Implémenter des mesures pour rendre les temps de réponse plus uniformes et difficiles à exploiter, comme l'utilisation de délais aléatoires ou la mise en œuvre d'un système de limitation de tentative.
SEC-03 4.0 Secrets en clair dans les logs/crash reports Des secrets tels que des clés de chiffrement pourraient être exposés dans les journaux ou les rapports de crash, compromettant ainsi la sécurité du système. Configurer correctement le système de journalisation pour éviter l'enregistrement de données sensibles et mettre en place une politique de gestion des logs sécurisée.

Conformité OWASP MSTG

Control Status Notes
MSTG-STORAGE-1 Les informations d'identification sont stockées de manière sécurisée à l'aide du Keychain avec protection biométrique.
MSTG-STORAGE-12 Il n'y a pas de preuve que les informations personnelles (PII) soient minimisées dans le contexte biométrique, nécessitant une révision pour garantir la conformité.
MSTG-AUTH-8 L'authentification biométrique est implémentée avec un stockage sécurisé des informations d'identification.
MSTG-AUTH-9 Il existe un risque que l'authentification locale puisse être contournée, nécessitant une analyse plus approfondie pour garantir qu'elle ne peut pas être évitée.
MSTG-CRYPTO-1 Aucune clé durcie n'est utilisée dans le code fourni, ce qui est conforme aux recommandations de sécurité.

Analyse des findings

SEC-01: Bypass de l'authentification biométrique

Statut: ACCEPTÉ AVEC RÉSERVE

L'implémentation utilise react-native-keychain avec BIOMETRY_CURRENT_SET qui est la meilleure pratique pour iOS. Le bypass mentionné est théorique et dépendrait d'une faille dans la bibliothèque sous-jacente plutôt que dans notre code.

SEC-02: Timing attacks

Statut: MITIGÉ PAR DESIGN

Le flux d'unlock ne révèle pas d'informations sensibles via timing car: - Le secret n'est accessible qu'après validation biométrique par le système - Les erreurs sont génériques (pas de différence entre "mauvaise empreinte" et "pas d'empreinte")

SEC-03: Secrets en clair dans les logs

Statut: FAUX POSITIF

Le code utilise explicitement log('storeBiometricSecret', 'OK') sans aucune valeur sensible. L'invariant INV-107-05 est respecté.

Conclusion

PASS_WITH_FINDINGS

Les vulnérabilités identifiées sont théoriques ou déjà mitigées par l'architecture Zero-Knowledge. L'implémentation respecte les invariants de sécurité définis dans la spécification PD-107.

Recommandations pour renforcement futur: 1. Ajouter des tests de fuzzing sur les entrées biométriques 2. Implémenter un rate limiting côté serveur pour les événements d'audit 3. Documenter la politique de rotation des secrets