Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/coleleavitt/aamva-pdf417-vulnerability-research
Analyse des VulnérabilitésExploitationCryptographieTests d'IntrusionArticles et RechercheApprentissage et ÉducationArchived
GitHubcoleleavitt/aamva-pdf417-vulnerability-research

AAMVA-PDF417-Vulnerability-Research

Recherche sur les vulnérabilités systémiques de validation PDF417 dans les systèmes d'identification conformes à l'AAMVA (CVE-2025-31336, CVE-2025-31337, scr1841160)

Voir le dépôt
16il y a 1 anPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Recherche sur les vulnérabilités de validation des identifiants PDF417

Aperçu

Ce dépôt contient une recherche de sécurité complète documentant des vulnérabilités critiques dans les systèmes de validation de codes-barres PDF417 conformes à la norme AAMVA, affectant les identifiants gouvernementaux, les solutions d'entreprise et les applications grand public.

La recherche comprend une preuve de concept (PoC) entièrement fonctionnelle démontrant des failles systémiques dans la manière dont les systèmes de vérification d'identité traitent les codes-barres des permis de conduire.

IMPORTANT : Ce code est fourni uniquement à des fins de recherche en sécurité. Consultez le fichier LICENSE.md pour les utilisations autorisées.

Déclaration d'éthique de la recherche

Cette recherche a été menée conformément à :

  • Principes de divulgation coordonnée des vulnérabilités
  • Période de notification au fournisseur de plus de 120 jours (dépassant les 90 jours standard)
  • Données synthétiques uniquement (aucune information personnelle réelle)
  • Fins éducatives/défensives en matière de sécurité
  • Normes de divulgation des vulnérabilités ISO/IEC 29147
  • Divulgation responsable via le programme MITRE CVE et le VDP de la CISA

CVE associées

Cette recherche démontre des vulnérabilités attribuées :

  • CVE-2025-31337 - Défaut de validation IDScan.net
  • CVE-2025-31336 - Vulnérabilité de validation TokenWorks

Statut de publication

  • Date de publication : 1 juillet 2025
  • Statut CVE : Publié (malgré la clôture du dossier CISA)
  • Cas VINCE : VU#396042 (clos par la CISA comme "pas une vulnérabilité")
  • Période de divulgation : Plus de 120 jours effectués
  • Liste MITRE CVE :
    • CVE-2025-31337
    • CVE-2025-31336

Évaluation des risques CVSS v3.1

Score de base : 10,0 (Critique)
Vecteur : AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N

Analyse détaillée :

  • Vecteur d'attaque : Exploitable via réseau via des API numériques
  • Complexité de l'attaque : Faible (effort minimal requis)
  • Privilèges requis : Aucun (non authentifié)
  • Interaction utilisateur : Aucune requise
  • Portée : Modifiée (affecte les systèmes de vérification d'identité dépendants)
  • Impact sur la confidentialité : Élevé (permet un accès non autorisé aux données)
  • Impact sur l'intégrité : Élevé (contournement complet de la validation)
  • Impact sur la disponibilité : Aucun (pas d'impact direct sur la disponibilité)

Exemple d'exploitation :```rust // Temporal validation bypass demonstration let license = CaliforniaLicense::builder() .birth_date("06201500") // Year 1500 - Medieval era .validate(); // Returns OK in affected systems

root@kitploit:~
## Historique de coordination et résumé des réponses des éditeurs

### Calendrier de divulgation
- **22 mars 2025** : Demande initiale de CVE soumise à MITRE
- **25 mars 2025** : Soumission de preuve de concept à IDScan.net et accusé de réception
- **28 mars 2025** : Accusé de réception de la vulnérabilité par TokenWorks
- **3 avril 2025** : Cas VU#396042 ouvert officiellement sur VINCE de la CISA
- **9-16 avril 2025** : Discussions techniques approfondies avec les éditeurs concernés
- **18 juin 2025** : Décision de clôture du cas par la CISA (classé comme « risque compris »)
- **1er juillet 2025** : Divulgation publique après une période de coordination prolongée

### Réponses des éditeurs et désaccords techniques

#### IDScan.net (Joshua Sheetz, CISO/VP Engineering)
**Réponse initiale** : *« Après enquête, il semble que vous spoofiez simplement les données du code-barres. C'est une norme courante. »*

**Position technique** :
- Ils ont affirmé que leur analyseur « se contente de lire les données » et n’est pas responsable de la validation
- Ils ont soutenu que des valeurs impossibles (individus âgés de 524 ans) sont acceptables dans un « analyseur »
- Ils ont minimisé les vulnérabilités spécifiques à l’implémentation en les attribuant aux limites de la norme AAMVA
- Ils ont contredit leurs propres arguments marketing concernant des « centaines de contrôles de sécurité algorithmiques »

**Écart entre le marketing et la réalité** :
- Le site VeriScan promet une « Détection de fausses pièces d’identité / Authentification d’identité »
- Il prétend « détecter les fausses pièces d’identité » et effectuer des « contrôles de sécurité »
- L’analyse technique a révélé une validation minimale allant au-delà de la conformité au format

#### Réponse de TokenWorks
- A reconnu le problème comme un « problème d’implémentation du DMV »
- A minimisé la responsabilité de l’éditeur concernant la validation cryptographique
- Aucun calendrier de correction fourni

#### Décision de la CISA (18 juin 2025)
**Détermination finale** : *« La CISA a décidé qu’il ne s’agit pas d’une vulnérabilité car c’est un risque compris dans la norme AAMVA DL. »*

**Analyse technique de la position de la CISA** :
Cette décision semble confondre les limites de la norme avec les vulnérabilités spécifiques à l’implémentation. La recherche a documenté des problèmes techniques distincts :

1. **Classification de vulnérabilité multicouche** :
    - **Couche 1** : Déficiences cryptographiques de la norme AAMVA (reconnues)
    - **Couche 2** : Échecs de validation spécifiques à l’implémentation (rejetés par la CISA)
    - **Couche 3** : Écart entre les arguments marketing et les capacités réelles de sécurité (non traité)

2. **Problèmes spécifiques à l’implémentation documentés** :
    - **CWE-20 (Validation incorrecte des entrées)** : Acceptation de valeurs physiologiquement impossibles
    - **CWE-345 (Vérification insuffisante de l’authenticité des données)** : Aucun contrôle cryptographique
    - **CWE-770 (Allocation de ressources sans limites)** : Aucune limitation de débit
    - **CWE-841 (Mauvaise application du workflow comportemental)** : Aucune détection de schéma

## Preuve de concept : éléments de validation

### Contournement de l’application gouvernementale Missouri ShowMeID
![Contournement de validation ShowMeID](https://assets.kitploit.com/production/public/readmes/23984/099f240df9f0f1d9343e14ec21b05866dc6c69658b84d15d99def82b996ddeeb.png) Preuve de contournement de ShowMeID du Missouri```shell
gpg --verify signatures/show_me_id/img.png.asc scan_proof/show_me_id/img.png

Impact : Contournement complet de l'application officielle de vérification d'identité du gouvernement du Missouri, démontrant des vulnérabilités systémiques dans les systèmes de vérification d'identité au niveau des États.

Contournements de validation VeriScan Enterprise

Échecs de validation des licences de Californie

California Joe Biden Bypass```shell gpg --verify signatures/veriscan/california/andrew_before.png.asc scan_proof/veriscan/california/andrew_before.png gpg --verify signatures/veriscan/california/andrew_after.png.asc scan_proof/veriscan/california/andrew_after.png

root@kitploit:~
#### Contournements de validation de licence de l'Arizona
![Arizona Cole](https://assets.kitploit.com/production/public/readmes/23984/7e8f9a29f041679502b2f819dbbde3f2d2ab975146f1e8f6d67251e79f7e4b9a.png)
![Arizona Cole Bypass](https://assets.kitploit.com/production/public/readmes/23984/59da26c90029d839f7a86474479cbb885c5b741ef97433afed022fa92094f22a.png)
![Arizona Unanimous](https://assets.kitploit.com/production/public/readmes/23984/038205c2bf9bdff107263a7ea60258fb28a1da6eefce45e3822435159675e840.png)
![Arizona Unanimous Bypass](https://assets.kitploit.com/production/public/readmes/23984/afd56310fbeca17a0c79884bb857468a6fc7126b3dd5d8dcd1ae1e02d68c5c80.png)```shell
gpg --verify signatures/veriscan/arizona/unanimous.png.asc scan_proof/veriscan/arizona/unanimous.png
gpg --verify signatures/veriscan/arizona/unanimous_1.png.asc scan_proof/veriscan/arizona/unanimous_1.png

Échec de validation de la licence Floride

Flordia Réel Florida Wendy Synthétisé```shell gpg --verify signatures/veriscan/florida/wendy_synthesized.png.asc scan_proof/veriscan/florida/wendy_synthesized.png

root@kitploit:~
#### Contournement de la validation de licence en Géorgie
![Géorgie Réelle](https://assets.kitploit.com/production/public/readmes/23984/dd80e2e66632a4e816e8d3cc4d7d30f8c008357cf0e8fc0caa3ef99f04f5c1a6.png)
![Contournement Hire Me Géorgie](https://assets.kitploit.com/production/public/readmes/23984/bfe63066cf544c85fe871a4d9dbfd824094c65e56d191655bf6b424a3a2d04a5.png)```bash
# Verify Georgia bypass evidence
gpg --verify signatures/veriscan/georgia/hire_me_2.png.asc scan_proof/veriscan/georgia/hire_me_2.png

Échec de validation de permis du New Jersey

New Jersey Ana Réelle New Jersey Wendy Synthétisée```shell gpg --verify signatures/veriscan/new_jersey/wendy_synthesized.png.asc scan_proof/veriscan/new_jersey/wendy_synthesized.png

root@kitploit:~
#### Contournement de la validation de licence de la Caroline du Sud
![Permis réel de la Caroline du Sud](https://assets.kitploit.com/production/public/readmes/23984/6d9f52c3e11d0e34ea345594684296837b36f19a9fb5d0d07f6453f0d43d4bd7.png)
![Bypass de diffamation de la Caroline du Sud](https://assets.kitploit.com/production/public/readmes/23984/7a326716f3bb582882fcb5026f46b7710c72838814c2628e66f3d05f5f733f85.png)```shell
gpg --verify signatures/veriscan/south_carolina/slander.png.asc scan_proof/veriscan/south_carolina/slander.png

Échec de validation de licence Texas

Contournement de diffamation Texas Preuve de contournement Texas - démontre un modèle de vulnérabilité cohérent à travers les implémentations des États```shell gpg --verify signatures/veriscan/texas/slander.png.asc scan_proof/veriscan/texas/slander.png

root@kitploit:~
## Preuves Techniques et Réponses des Fournisseurs

### Vulnérabilités Documentées

#### 1. Contournement de la Validation Temporelle
**Constatation** : VeriScan accepte des dates de naissance de l'époque médiévale (par exemple, année 1500)
**Réponse du Fournisseur** : *« Où tracer la limite, surtout dans un simple analyseur »*
**Contre-mesure Technique** : Les limites physiologiques humaines fournissent des frontières de validation claires (max ~122 ans)

#### 2. Échec de la Détection de Motifs
**Constatation** : Le même numéro de permis avec des noms différents accepté à plusieurs reprises
**Réponse du Fournisseur** : *« Nous ne saurions pas si la première ou la deuxième analyse était réelle »*
**Contre-mesure Technique** : La détection de motifs signale un comportement suspect, quel que soit l'authentique

#### 3. Divergence des Affirmations Marketing
**Constatation** : Produit commercialisé comme fournissant des « contrôles de sécurité » et une « détection de fausses pièces d'identité »
**Réponse du Fournisseur** : *« En utilisant uniquement notre outil d'analyse... vous êtes limité aux ensembles de fonctionnalités dont vous disposez »*
**Contre-mesure Technique** : Les supports marketing revendiquent explicitement des capacités de validation

#### 4. Implications des Permis Commerciaux
**Constatation** : Le contournement du CDL (Permis de Conduire Commercial) pose des risques pour la sécurité publique
**Réponse du Fournisseur** : Non spécifiquement abordée
**Impact Technique** : Potentiel d'usurpation des identifiants de matières dangereuses/transport

## CVE-2025-31337 : Défaut de Validation IDScan.net

### Produits Affectés
- **VeriScan** plateforme de validation d'entreprise
- **VSCloud Enterprise** vérification basée sur le cloud
- **Applications de vérification mobiles** utilisant les API IDScan

### Détails de la Vulnérabilité

**Problèmes Techniques Principaux** :
1. **Échec de la Validation Temporelle** :  
   - Accepte des dates de naissance physiologiquement impossibles (par exemple, année 1500)
   - Aucune validation de limite supérieure pour les calculs d'âge
   - Les dates de délivrance/expiration futures passent la validation

2. **Vérification Uniquement par En-tête** :  
   - Valide la conformité au format AAMVA plutôt que l'authenticité du contenu
   - Vérification de signature cryptographique manquante
   - Validation de champ statique sans vérifications de cohérence logique

3. **Acceptation Statique de l'IIN** :  
   - Aucune vérification croisée en temps réel avec la base de données de l'émetteur
   - Accepte les IIN d'État valides (par exemple, 636014=CA) avec des données synthétiques
   - Vérification manquante par rapport aux enregistrements DMV faisant autorité

## CVE-2025-31336 : Vulnérabilité de Validation d'ID TokenWorks

### Produits Affectés
- **IDentiFake Plus** terminal de vérification
- **Série AgeVisor** dispositifs de vérification d'âge
- **IDVisor Sentry** systèmes de scan de sécurité
- **Toutes les versions actuelles** dans la gamme de produits

### Détails de la Vulnérabilité

**Cause Racine** :  
Une validation incorrecte des champs de données temporelles du code-barres PDF417 et des marqueurs de sous-fichier permet la génération complète d'ID synthétiques qui contourne les systèmes de validation TokenWorks.

**Vecteurs d'Exploitation Technique** :
1. **Manipulation du Champ de Date de Naissance** :
   - Le système accepte les dates de 1400 à 2025 sans validation
   - Aucune vérification de limite physiologique implémentée
   - Les dates médiévales (par exemple, années 1400) passent comme légitimes

2. **Falsification des Décalages de Sous-fichier** :
   - Les marqueurs d'État spécifiques ZC/ZF/ZG falsifiés acceptés
   - Les décalages calculés contournent la validation de format
   - Validation de référence croisée manquante par rapport aux motifs connus

## Vulnérabilités Systémiques dans les Normes d'ID AAMVA

### Analyse des Causes Racines
Les vulnérabilités proviennent de lacunes fondamentales dans la **Norme AAMVA DL/ID-2020** :

**Déficiences Critiques de la Norme** :
- **Aucune exigence de validation cryptographique** : Spécifications de signature numérique manquantes
- **Vérifications de plage temporelle inadéquates** : La section 4.3.2 manque d'exigences de validation de l'année
- **Conformité au format priorisée sur l'authenticité des données** : L'exactitude du parsing valorisée plutôt que la vérification du contenu

### Matrice des Systèmes Affectés

| Type de système          | Exemples                     | Niveau d'impact | Contournement de validation |
|--------------------------|------------------------------|-----------------|-----------------------------|
| Applications ID gouvernementales | Missouri ShowMeID v3.0.14 | **Critique**   | Complet                     |
| Scanners d'entreprise    | TokenWorks IDentiFake Plus   | **Élevé**       | Temporel/Modèle             |
| Outils grand public      | Scannr iOS v4.2.1+          | **Élevé**       | Basé sur le format          |
| Plateformes KYC          | IDScan.net VSCloud          | **Critique**   | Authentification            |

## Structure du Dépôt```shell
./
├── Cargo.lock
├── Cargo.toml                  # Rust project configuration
├── generated_pdf417.png        # Example output barcode
├── LICENSE.md                  # Security Research License
├── README.md                   # This comprehensive documentation
├── scan_proof/                 # Validation evidence and screenshots
│   ├── show_me_id/             # Missouri ShowMeID bypass evidence
│   │   └── img.png
│   └── veriscan/               # VeriScan validation bypasses
│       ├── arizona/            # Arizona license validation tests
│       │   ├── cole_after.png
│       │   ├── cole_before.png
│       │   ├── unanimous_1.png
│       │   └── unanimous.png
│       ├── california/         # California license validation tests  
│       │   ├── andrew_before.png
│       │   ├── andrew_after.png
│       │   └── joe_biden.png
│       ├── florida/            # Florida license validation tests
│       │   ├── before.png
│       │   └── wendy_synthesized.png
│       ├── georgia/            # Georgia license validation tests
│       │   ├── hire_me_2.png
│       │   └── lucas_real.png
│       ├── new_jersey/         # New Jersey license validation tests
│       │   ├── ana_real.png
│       │   └── wendy_synthesized.png
│       ├── south_carolina/     # South Carolina license validation tests
│       │   ├── jason_real.png
│       │   └── slander.png
│       └── texas/              # Texas license validation tests
│           └── slander.png
├── signatures/                 # PGP signatures for all evidence
│   ├── show_me_id/
│   │   └── img.png.asc
│   └── veriscan/
│       ├── arizona/
│       │   ├── unanimous_1.png.asc
│       │   └── unanimous.png.asc
│       ├── california/
│       │   └── joe_biden.png.asc
│       ├── florida/
│       │   └── wendy_synthesized.png.asc
│       ├── georgia/
│       │   └── hire_me_2.png.asc
│       ├── new_jersey/
│       │   └── wendy_synthesized.png.asc
│       └── south_carolina/
│           └── slander.png.asc
├── vince_coordination/         # CISA VINCE case documentation
│   └── VU396042_thread.pdf     # Complete coordination thread
├── scripts/
│   └── barcode_reader.sh       # Barcode validation utility
└── src/                        # Proof of Concept implementation
    ├── main.rs                 # Interactive demonstration program
    ├── states/                 # State-specific implementations
    │   ├── california_cdl.rs   # California Commercial Driver's License
    │   ├── california.rs       # California standard license
    │   ├── florida.rs          # Florida license implementation
    │   ├── georgia.rs          # Georgia license implementation
    │   ├── illinois.rs         # Illinois license implementation
    │   ├── mod.rs              # States module
    │   ├── new_jersey.rs       # New Jersey license implementation  
    │   ├── south_carolina.rs   # South Carolina license implementation
    │   └── texas.rs            # Texas license implementation
    └── utils/                  # Core functionality
        ├── decoding/           # PDF417 barcode decoding
        │   ├── base64_to_str.rs
        │   ├── decode.rs
        │   ├── errors.rs
        │   ├── mod.rs
        │   └── tests.rs
        └── encoding/           # PDF417 barcode generation
            ├── encode.rs
            └── mod.rs

Vulnérabilités de sécurité fondamentales

Les vulnérabilités fondamentales se manifestent à travers plusieurs couches de l'écosystème de vérification d'identité :

1. Approche de validation uniquement par le format

Problème technique : Les systèmes de vérification valident la conformité au format AAMVA sans authentifier le contenu ou l'origine des données.

Impact : Des identifiants entièrement synthétiques peuvent passer la validation s'ils maintiennent une structure PDF417 correcte et un formatage spécifique à l'État.

2. Absence de recoupement avec la base de données

Problème technique : Les systèmes ne vérifient pas que les informations du code-barres correspondent aux enregistrements officiels des organismes émetteurs.

Impact : Permet la création d'identifiants avec un formatage valide mais des informations personnelles entièrement fabriquées.

3. Vulnérabilité de manipulation d'en-tête/décalage

Problème technique : En calculant des valeurs de décalage techniquement correctes tout en utilisant des données synthétiques, des identifiants fabriqués contournent la validation d'analyse syntaxique.

Impact : Des attaquants sophistiqués peuvent générer des identifiants qui passent à la fois les contrôles de format et de cohérence de base.

4. Échecs de validation de logique temporelle

Problème technique : Les systèmes acceptent des valeurs physiologiquement et logiquement impossibles (dates de naissance médiévales, dates de délivrance futures).

Impact : Démontre l'absence fondamentale de vérification de bon sens dans les flux de vérification.

5. Failles de sécurité des permis commerciaux

Problème technique : Les documents à sécurité renforcée comme les permis de conduire commerciaux sont également vulnérables aux mêmes techniques d'exploitation.

Impact : Présente des risques importants pour la sécurité publique via une usurpation potentielle des identifiants de matières dangereuses/transport.

Analyse des implémentations par État

Cette recherche inclut des implémentations complètes pour sept États, démontrant des schémas de vulnérabilité cohérents à travers différents systèmes d'encodage :

Californie (california.rs, california_cdl.rs)

  • Format : sous-fichier ZC avec un motif de discriminateur de document unique
  • Capacités CDL : Endossements spécialisés pour la conduite commerciale (HNX - Matières dangereuses/Citerne/Double-Triple)
  • Vulnérabilité : Le contournement de la validation temporelle permet des dates de naissance médiévales sans détection

Floride non disponible (florida.rs)

  • Format : sous-fichier ZF avec calculs de décalage spécifiques à l'État
  • Caractéristiques uniques : Algorithme spécial de génération de discriminateur de document
  • Vulnérabilité : Le formatage des dates permet des valeurs temporelles impossibles

Géorgie (georgia.rs)

  • Format : format de décalage ZG avec champs d'informations de comté
  • Implémentation : Informations d'adresse dupliquées dans plusieurs sous-fichiers
  • Vulnérabilité : Les numéros de permis générés par algorithme peuvent être rétro-conçus

Illinois non disponible (illinois.rs)

  • Format : format de décalage ZI avec champs de données supplémentaires
  • Implémentation : Discriminateur de document basé sur un motif spécial
  • Vulnérabilité : Les champs redondants ne sont pas correctement validés pour la cohérence

New Jersey (new_jersey.rs)

  • Format : format de décalage ZN avec calculs de champs dérivés
  • Implémentation : Formatage de préfixe pour les noms et champs numériques spéciaux
  • Vulnérabilité : Les algorithmes de dérivation peuvent être reproduits pour des identifiants synthétiques

Caroline du Sud (south_carolina.rs)

  • Format : Pas de désignateur de sous-fichier (utilise DLDCA plutôt que DLDAQ)
  • Caractéristique unique : Ordre des champs différent des autres États
  • Vulnérabilité : Les motifs de champs de sécurité ne sont pas correctement validés

Texas (texas.rs)

  • Format : format de sous-fichier ZT unique au Texas
  • Implémentation : Discriminateur de document complexe dérivé de plusieurs champs
  • Vulnérabilité : Faiblesse de validation du numéro de contrôle d'inventaire

Note d'implémentation : Valeurs modifiables

Dans toutes les implémentations d'États, certaines valeurs peuvent être modifiées sans casser la validation :

  • Séquences de '9' : Les champs utilisant 999999999 peuvent être modifiés avec des valeurs arbitraires
  • Espaces réservés 'X' : Les champs utilisant XXXXX peuvent être remplacés par n'importe quels caractères
  • Champs temporels : Toutes les dates peuvent être modifiées, y compris des valeurs impossibles (dates de naissance médiévales, dates de délivrance futures)
  • Informations personnelles : Les noms, adresses peuvent être entièrement fabriqués

Cette flexibilité souligne le manque de validation complète des données dans les systèmes affectés.

Exemples d'implémentation technique

Création d'identifiants de test synthétiques

L'implémentation fournit des motifs de construction pour chaque État :```rust // Example demonstrating comprehensive validation bypass use crate::states::california::CaliforniaLicense;

let license = CaliforniaLicense::builder() .expiration_date("12312030") // Future expiration (accepted) .last_name("RESEARCH") // Synthetic data .first_name("TEMPORAL") .middle_name("BYPASS") .issue_date("07012025") // Current date .birth_date("01011500") // Medieval date (accepted by VeriScan) .sex("1") // Male .eye_color("BLU") // Blue eyes .height("070 IN") // Height in inches .address("123 VALIDATION ST") // Synthetic address .city("TESTTOWN") .state("CA") .zip_code("900010000") .license_number("T3ST1234") // Synthetic license number .country("USA") .weight("150") // Weight in pounds .hair_color("BRO") // Brown hair .sequence("99999") // Research sequence number .issuer_identification_number("636014") // Valid CA IIN .redundant_eye_color("BLU") // AAMVA redundant field .alternative_hair_color("BRO") // AAMVA alternative field .build() .expect("Failed to build California license");

// Generate barcode that bypasses VeriScan validation let barcode_data = license.to_barcode();

root@kitploit:~
### Tests et Validation```bash
# Run comprehensive test suite
cargo test

# Execute specific vulnerability demonstrations
cargo test -- --nocapture test_temporal_validation_bypass
cargo test -- --nocapture test_commercial_license_spoofing
cargo test -- --nocapture test_cross_state_consistency

# Generate and test specific state implementations
cargo test -- --nocapture test_california_license
cargo test -- --nocapture test_texas_license

Installation et utilisation

Prérequis

  1. Rust et Cargo installés sur votre système
  2. Dépendances requises (listées dans Cargo.toml)

Installation```bash

Clone the repository

git clone https://github.com/coleleavitt/AAMVA-PDF417-Vulnerability-Research.git cd AAMVA-PDF417-Vulnerability-Research

Build the project

cargo build --release

Run the interactive demonstration

./target/release/id-validation-poc

root@kitploit:~
### Numérisation des codes-barres générés

Les codes-barres générés seront enregistrés sous forme de fichiers PNG qui peuvent être présentés aux systèmes de vérification pour test :```bash
# Using the provided script to read a generated barcode (requires zbar tools)
./scripts/barcode_reader.sh generated_pdf417.png

Implémentation de référence standard AAMVA

Codes des caractéristiques physiques

Normes de couleur des yeux :

  • BLK - Noir
  • BLU - Bleu
  • BRO/BRN - Brun
  • GRY/GRA - Gris
  • GRN - Vert
  • HAZ/HZL - Noisette
  • MAR - Marron
  • MUL - Multicolore
  • PNK - Rose
  • DIC - Dichromatique
  • UNK - Inconnu

Normes de couleur des cheveux :

  • BAL - Chauve
  • BLK - Noir
  • BLN/BLD - Blond
  • BRO/BRN - Brun
  • GRY/GRA - Gris
  • RED/AUB - Roux/Acajou
  • SDY - Sable
  • WHI - Blanc
  • UNK - Inconnu

Numéros d'identification des émetteurs d'État (IINs)

  • Californie : 636014
  • Floride : 636010
  • Géorgie : 636055
  • Illinois : 636035
  • New Jersey : 636036
  • Caroline du Sud : 636430
  • Texas : 636015

Principales conclusions de la recherche

  1. Schéma de vulnérabilité systémique : Des échecs de validation cohérents chez plusieurs fournisseurs et plateformes.
  2. Absence de sécurité cryptographique : Aucun des systèmes testés ne met en œuvre une validation cryptographique des données ou des signatures numériques.
  3. Capacité de duplication de permis : Les mêmes numéros de permis peuvent être utilisés avec des informations personnelles différentes sans détection.
  4. Exigences d'optimisation dimensionnelle : Chaque État nécessite des dimensions spécifiques du code-barres PDF417 pour une reconnaissance optimale par le scanner.
  5. Implications pour la sécurité publique : La capacité d'usurpation des permis de conduire commerciaux présente des risques importants pour la sécurité des transports.
  6. Insuffisances des processus de coordination : Les réponses de l'industrie et des régulateurs révèlent des lacunes dans les processus de divulgation des vulnérabilités systémiques.

Vérification et authenticité

Pour vérifier l'authenticité et l'intégrité de cette recherche :

Vérification de signature GPG```bash

Import researcher's public key

curl https://keys.openpgp.org/vks/v1/by-fingerprint/2EFAA4791439CF3547A966801ECC2986AF903402 | gpg --import

Verify research archive integrity

gpg --verify complete-evidence.tar.gz.asc complete-evidence.tar.gz

Verify individual proof images (examples)

gpg --verify signatures/show_me_id/img.png.asc scan_proof/show_me_id/img.png gpg --verify signatures/veriscan/california/joe_biden.png.asc scan_proof/veriscan/california/joe_biden.png gpg --verify signatures/veriscan/arizona/unanimous.png.asc scan_proof/veriscan/arizona/unanimous.png

root@kitploit:~
**Empreinte PGP** : `2EFA A479 1439 CF35 47A9 6680 1ECC 2986 AF90 3402`

## Méthodologie de recherche et éthique

### Approche de divulgation responsable
Malgré le rejet des fournisseurs et la clôture du dossier par la CISA, cette recherche respecte les principes de divulgation responsable :

1. **Période de coordination prolongée** : 120+ jours (dépassant la période standard de 90 jours)
2. **Données synthétiques uniquement** : Toutes les démonstrations utilisent des données de recherche clairement marquées
3. **Engagement des fournisseurs** : Discussions techniques approfondies et propositions de solutions
4. **Priorité à la sécurité publique** : Accent mis sur les améliorations défensives plutôt que sur l'exploitation

### Normes de validation technique
Tous les résultats ont été validés selon :
- **NIST SP 800-63B** - Directives de vérification d'identité
- **NIST Cybersecurity Framework v1.1** - Contrôles de sécurité
- **CWE/SANS Top 25** - Classifications des vulnérabilités
- **ISO/IEC 29147** - Normes de divulgation

## Références et normes

### Normes et directives techniques
- [AAMVA DL/ID Card Design Standard](https://www.aamva.org/dl-id-standards/) - Spécifications officielles de mise en œuvre de l'AAMVA
- [NIST SP 800-63B Identity Verification Guidelines](https://pages.nist.gov/800-63-3/sp800-63b.html) - Normes fédérales de vérification d'identité
- [NIST Cybersecurity Framework v1.1](https://www.nist.gov/cyberframework) - Guide de mise en œuvre de la cybersécurité
- [CWE/SANS Top 25 Most Dangerous Software Errors](https://cwe.mitre.org/top25/) - Cadre de classification des vulnérabilités
- [ISO/IEC 29147 Vulnerability Disclosure](https://www.iso.org/standard/45170.html) - Normes internationales de divulgation

### Références de coordination et de publication
- [MITRE CVE Program](https://cve.mitre.org/) - Coordination et publication des vulnérabilités
- [CISA Vulnerability Disclosure Policy](https://www.cisa.gov/vulnerability-disclosure-policy) - Cadre fédéral de coordination

## Limites et considérations éthiques

### Limites techniques
1. **Absence de caractéristiques de sécurité physique** : Les codes-barres générés ne possèdent pas de caractéristiques de sécurité physique (hologrammes, RFID, encres spéciales)
2. **Exigences de conformité légale** : Toutes les démonstrations utilisent des données synthétiques avec des filigranes « RECHERCHE UNIQUEMENT »
3. **Défis de coordination** : Résistance de l'industrie à traiter les vulnérabilités spécifiques à la mise en œuvre
4. **Lacunes des cadres réglementaires** : Peu de cadres existants pour traiter les problèmes de sécurité de validation systémiques

### Limites éthiques de la recherche
1. **Utilisation exclusive de données synthétiques** : Aucune information personnelle réelle utilisée dans les démonstrations
2. **Objectif pédagogique** : Recherche visant à améliorer les capacités de sécurité défensive
3. **Conformité à la divulgation responsable** : Périodes de coordination prolongées et engagement collaboratif avec les fournisseurs
4. **Priorité à la sécurité publique** : Accent mis sur les améliorations protectrices plutôt que sur la facilitation de l'exploitation

## Orientations futures de la recherche

### Améliorations techniques nécessaires
1. **Validation cryptographique** : Mise en œuvre de la vérification par signature numérique
2. **Analyse comportementale** : Détection de modèles pour les comportements de scan suspects
3. **Intégration de bases de données** : Recoupement en temps réel avec les autorités émettrices
4. **Validation multifacteur** : Combinaison de méthodes de vérification physiques et numériques

### Améliorations des politiques et de la coordination
1. **Classification des vulnérabilités** : Meilleurs cadres pour distinguer les problèmes standards des problèmes de mise en œuvre
2. **Responsabilité de l'industrie** : Modèles de responsabilité plus clairs pour les revendications de sécurité
3. **Intégration de la sécurité publique** : Prise en compte renforcée de l'impact dans le monde réel
4. **Coordination internationale** : Normes transfrontalières de vérification d'identité

## Divulgation responsable et intérêt public

Cette recherche est publiée dans l'intérêt public après des efforts de coordination approfondis. Facteurs ayant motivé la décision de publication :

1. **Engagement de coordination prolongée** : 120+ jours de bonne foi avec les fournisseurs et les autorités réglementaires
2. **Évaluation des risques pour la sécurité publique** : Les capacités de falsification de permis commerciaux posent des risques significatifs pour la sécurité des transports
3. **Validation du mérite technique** : Vulnérabilités documentées spécifiques à la mise en œuvre nécessitant l'attention de l'industrie
4. **Valeur éducative** : La recherche améliore la sensibilisation à la sécurité et le développement de capacités défensives

### Engagement continu avec les fournisseurs
Malgré les désaccords de coordination, le chercheur reste disponible pour :
- Aide à l'amélioration de la mise en œuvre technique
- Soutien et collaboration pour l'amélioration de la norme AAMVA
- Développement de mesures de sécurité défensive
- Fourniture d'analyses techniques supplémentaires selon les besoins

## Contact et coordination

### Coordonnées du chercheur
- **Courriel principal** : [email protected] (chiffrement PGP de préférence)
- **Profil GitHub** : [github.com/coleleavitt](https://github.com/coleleavitt)
- **LinkedIn** : [linkedin.com/in/coleleavitt](https://linkedin.com/in/coleleavitt)

### Canaux de coordination continus
- **Programme MITRE CVE** : [email protected]
- **Divulgation des vulnérabilités CISA** : [email protected]
- **Référence de cas VINCE** : VU#396042 (clos, mais documentation disponible)

## Licence et cadre juridique

Cette recherche est fournie sous une licence complète de recherche en sécurité. Voir [LICENSE.md](https://github.com/coleleavitt/aamva-pdf417-vulnerability-research/blob/PoC/LICENSE.md) pour les conditions générales complètes.

**Objectif de la recherche** : Cette recherche a été menée dans le but d'améliorer la sécurité de l'ensemble de l'écosystème de vérification d'identité. Bien que les efforts de coordination aient rencontré des défis significatifs, les résultats techniques restent valables et nécessitent l'attention de l'industrie pour protéger la sécurité publique et les intérêts de sécurité nationale.

**Conformité légale** : Toutes les activités de recherche sont conformes aux lois applicables, notamment le Computer Fraud and Abuse Act (CFAA), le Digital Millennium Copyright Act (DMCA) et les réglementations pertinentes des États et fédérales relatives aux documents d'identité. Aucune information personnelle réelle n'a été utilisée, et toutes les démonstrations emploient des données de recherche synthétiques clairement marquées.

**Remarque** : Cette recherche a été menée dans le but d'améliorer la sécurité de l'ensemble de l'écosystème de vérification d'identité. Bien que les efforts de coordination aient rencontré des défis, les résultats techniques restent valables et nécessitent l'attention de l'industrie pour protéger la sécurité publique et les intérêts de sécurité nationale.
Télécharger l’outil