Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
AAMVA-PDF417-Vulnerability-Research — Исследование системных уязвимостей валидации PDF417 в идентификационных системах, соответствующих стандарту AAMVA (CVE-2025-31336, CVE-2025-31337, scr1841160) | Kitploit
Инструменты/GitHubGitHub/coleleavitt/aamva-pdf417-vulnerability-research
Анализ уязвимостейЭксплуатацияКриптографияТестирование на ПроникновениеСтатьи и ИсследованияОбучение и ОбразованиеArchived
GitHubcoleleavitt/aamva-pdf417-vulnerability-research

AAMVA-PDF417-Vulnerability-Research

Исследование системных уязвимостей валидации PDF417 в идентификационных системах, соответствующих стандарту AAMVA (CVE-2025-31336, CVE-2025-31337, scr1841160)

Репозиторий
161 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Исследование уязвимости валидации PDF417 ID

Обзор

Этот репозиторий содержит всестороннее исследование безопасности, документирующее критические уязвимости в системах валидации штрихкодов PDF417 по стандарту AAMVA, затрагивающие государственные удостоверения, корпоративные решения и потребительские приложения. Исследование включает полностью функциональное доказательство концепции (PoC), демонстрирующее системные недостатки в обработке штрихкодов водительских прав системами верификации ID.

ВАЖНО: Этот код предоставлен только для целей исследования безопасности. Ознакомьтесь с файлом LICENSE.md для получения информации о разрешенном использовании.

Заявление об этике исследования

Это исследование проводилось в соответствии с:

  • Принципами координированного раскрытия уязвимостей
  • Периодом уведомления вендора более 120 дней (превышает стандартные 90 дней)
  • Использованием только синтетических данных (без реальной личной информации)
  • Образовательными/оборонительными целями безопасности
  • Стандартами раскрытия уязвимостей ISO/IEC 29147
  • Ответственным раскрытием через программу CVE MITRE и VDP CISA

Связанные CVE

Данное исследование демонстрирует присвоенные уязвимости:

  • CVE-2025-31337 - ошибка валидации IDScan.net
  • CVE-2025-31336 - уязвимость валидации TokenWorks

Статус публикации

  • Дата публикации: 1 июля 2025 г.
  • Статус CVE: Опубликовано (несмотря на закрытие дела CISA)
  • Дело VINCE: VU#396042 (закрыто CISA как "не уязвимость")
  • Период раскрытия: более 120 дней завершено
  • Список CVE MITRE:
    • CVE-2025-31337
    • CVE-2025-31336

Оценка риска по CVSS v3.1

Базовая оценка: 10.0 (Критический)
Вектор: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N

Разбивка:

  • Вектор атаки: Сетевой, эксплуатируемый через цифровые API
  • Сложность атаки: Низкая (требуются минимальные усилия)
  • Требуемые привилегии: Отсутствуют (без аутентификации)
  • Взаимодействие пользователя: Не требуется
  • Область: Изменена (затрагивает зависимые системы верификации ID)
  • Влияние на конфиденциальность: Высокое (позволяет несанкционированный доступ к данным)
  • Влияние на целостность: Высокое (полный обход валидации)
  • Влияние на доступность: Отсутствует (нет прямого влияния на доступность)

Пример эксплуатации:```rust // Temporal validation bypass demonstration let license = CaliforniaLicense::builder() .birth_date("06201500") // Year 1500 - Medieval era .validate(); // Returns OK in affected systems

root@kitploit:~
## История координации и сводка ответов вендоров

### Хронология раскрытия
- **22 марта 2025 г.**: Первоначальный запрос CVE направлен в MITRE
- **25 марта 2025 г.**: Предоставление proof-of-concept и подтверждение от IDScan.net
- **28 марта 2025 г.**: Получено подтверждение уязвимости от TokenWorks
- **3 апреля 2025 г.**: Официально открыто дело CISA VINCE VU#396042
- **9–16 апреля 2025 г.**: Обширные технические обсуждения с затронутыми вендорами
- **18 июня 2025 г.**: Решение CISA о закрытии дела (отклонено как «понятный риск»)
- **1 июля 2025 г.**: Публичное раскрытие после продлённого периода координации

### Ответы вендоров и технические разногласия

#### IDScan.net (Джошуа Шиц, CISO/VP Engineering)
**Первоначальный ответ**: *«После исследования мы пришли к выводу, что вы просто подделываете данные штрихкода. Это общепринятый стандарт.»*

**Техническая позиция**:
- Утверждали, что их парсер «просто читает данные» и не несёт ответственности за проверку
- Утверждали, что невозможные значения (524-летние люди) приемлемы для «парсера»
- Отклонили специфичные для реализации уязвимости как ограничения стандарта AAMVA
- Противоречат собственным маркетинговым заявлениям о «сотнях алгоритмических проверок безопасности»

**Разрыв между маркетингом и реальностью**:
- На сайте VeriScan обещано «Обнаружение поддельных удостоверений / Аутентификация удостоверений»
- Заявлено, что система «выявляет поддельные удостоверения» и выполняет «проверки безопасности»
- Технический анализ выявил минимальную проверку, ограниченную только соответствием формату

#### Ответ TokenWorks
- Признали проблему как «проблему реализации DMV»
- Преуменьшили ответственность вендора за криптографическую проверку
- Сроки устранения не предоставлены

#### Решение CISA (18 июня 2025 г.)
**Окончательное заключение**: *«CISA сочла, что это не является уязвимостью, так как данный риск считается понятным в рамках стандарта AAMVA DL Standard.»*

**Технический анализ позиции CISA**:
Это решение, по-видимому, смешивает ограничения стандарта с уязвимостями, специфичными для конкретной реализации. В ходе исследования были задокументированы различные технические проблемы:

1. **Многоуровневая классификация уязвимости**:
    - **Уровень 1**: Криптографические недостатки стандарта AAMVA (признано)
    - **Уровень 2**: Специфичные для реализации ошибки проверки (отклонено CISA)
    - **Уровень 3**: Маркетинговые заявления в сравнении с реальными возможностями безопасности (не рассматривалось)

2. **Документированные проблемы, связанные с реализацией**:
    - **CWE-20 (Некорректная проверка входных данных)**: Принятие физиологически невозможных значений
    - **CWE-345 (Недостаточная проверка подлинности данных)**: Отсутствие криптографических проверок
    - **CWE-770 (Распределение ресурсов без ограничений)**: Отсутствие ограничения скорости
    - **CWE-841 (Недостаточное соблюдение поведенческого рабочего процесса)**: Отсутствие обнаружения аномалий

## Доказательства подтверждения концепции

### Обход правительственного приложения Missouri ShowMeID
![Обход проверки ShowMeID](https://assets.kitploit.com/production/public/readmes/23984/099f240df9f0f1d9343e14ec21b05866dc6c69658b84d15d99def82b996ddeeb.png) Доказательства обхода проверки ShowMeID в Миссури```shell
gpg --verify signatures/show_me_id/img.png.asc scan_proof/show_me_id/img.png

Воздействие: Полный обход официального приложения для проверки удостоверений личности штата Миссури, демонстрирующий системные уязвимости в системах проверки личности на уровне штата.

Обходы проверки VeriScan Enterprise

Ошибки проверки лицензий Калифорнии

Обход Джо Байдена в Калифорнии```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:~
#### Обход проверки лицензии Аризоны
![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

Ошибка валидации лицензии Флориды

Настоящая Флорида Синтезированная Венди Флориды```shell gpg --verify signatures/veriscan/florida/wendy_synthesized.png.asc scan_proof/veriscan/florida/wendy_synthesized.png

root@kitploit:~
#### Обход проверки лицензии Джорджии
![Джорджия Настоящий](https://assets.kitploit.com/production/public/readmes/23984/dd80e2e66632a4e816e8d3cc4d7d30f8c008357cf0e8fc0caa3ef99f04f5c1a6.png)
![Джорджия Найми Меня Обход](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

Ошибка валидации лицензии Нью-Джерси

Нью-Джерси Ана Реальная Нью-Джерси Венди Синтезированная```shell gpg --verify signatures/veriscan/new_jersey/wendy_synthesized.png.asc scan_proof/veriscan/new_jersey/wendy_synthesized.png

root@kitploit:~
#### Обход проверки лицензии Южной Каролины
![Южная Каролина Настоящий](https://assets.kitploit.com/production/public/readmes/23984/6d9f52c3e11d0e34ea345594684296837b36f19a9fb5d0d07f6453f0d43d4bd7.png)
![Южная Каролина Обход клеветы](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

Сбой проверки лицензии Техаса

Обход клеветы Техаса Доказательство обхода Техаса - демонстрирует последовательный шаблон уязвимости в реализациях разных штатов```shell gpg --verify signatures/veriscan/texas/slander.png.asc scan_proof/veriscan/texas/slander.png

root@kitploit:~
## Технические доказательства и опровержения вендора

### Задокументированные уязвимости

#### 1. Обход временной проверки
**Находка**: VeriScan принимает даты рождения из средневековья (например, год 1500)
**Ответ вендора**: *"Где провести границу, особенно в простом парсере"*
**Технический контраргумент**: Физиологические ограничения человека предоставляют четкие границы проверки (максимум ~122 года)

#### 2. Ошибка обнаружения паттернов
**Находка**: Один и тот же номер лицензии с разными именами принимается многократно
**Ответ вендора**: *"Мы бы не знали, был ли настоящим первый или второй скан"*
**Технический контраргумент**: Обнаружение паттернов помечает подозрительное поведение независимо от того, какое из них подлинное

#### 3. Несоответствие маркетинговых заявлений
**Находка**: Продукт маркетируется как предоставляющий "проверки безопасности" и "обнаружение поддельных удостоверений"
**Ответ вендора**: *"Используя только наш инструмент парсинга...вы ограничены тем, какие наборы функций у вас есть"*
**Технический контраргумент**: Маркетинговые материалы явно заявляют о возможностях проверки

#### 4. Последствия для коммерческих лицензий
**Находка**: Обход CDL (коммерческих водительских прав) представляет риски для общественной безопасности
**Ответ вендора**: Не конкретно рассмотрено
**Техническое влияние**: Потенциал подделки удостоверений для опасных грузов/транспорта

## CVE-2025-31337: Ошибка проверки IDScan.net

### Затронутые продукты
- **VeriScan** корпоративная платформа проверки
- **VSCloud Enterprise** облачная верификация
- **Мобильные приложения для верификации**, использующие API IDScan

### Детали уязвимости

**Основные технические проблемы**:
1. **Ошибка временной проверки**:  
   - Принимает физиологически невозможные даты рождения (например, год 1500)
   - Отсутствует проверка верхней границы для вычислений возраста
   - Будущие даты выдачи/истечения срока проходят проверку

2. **Проверка только заголовка**:  
   - Проверяет соответствие формату AAMVA вместо подлинности содержимого
   - Отсутствует проверка криптографической подписи
   - Статическая проверка полей без логических проверок согласованности

3. **Принятие статического IIN**:  
   - Отсутствует перекрестная проверка в реальном времени с базами данных эмитентов
   - Принимает действительные IIN штатов (например, 636014=CA) с синтетическими данными
   - Отсутствует проверка по авторитетным записям DMV

## CVE-2025-31336: Уязвимость проверки ID TokenWorks

### Затронутые продукты
- **IDentiFake Plus** терминал проверки
- **AgeVisor Series** устройства проверки возраста  
- **IDVisor Sentry** системы безопасности сканирования
- **Все текущие версии** по всей линейке продуктов

### Детали уязвимости

**Корневая причина**:  
Некорректная проверка временных полей данных и маркеров подфайлов PDF417-штрихкода позволяет полную генерацию синтетических удостоверений, обходящую системы проверки TokenWorks.

**Технические векторы эксплуатации**:
1. **Манипуляция полем даты рождения**:
   - Система принимает даты с 1400 по 2025 год без проверки
   - Не реализована проверка физиологических границ
   - Средневековые даты (например, 1400-е) проходят как легитимные

2. **Подделка смещений подфайлов**:
   - Принимаются поддельные маркеры ZC/ZF/ZG, специфичные для штатов
   - Вычисленные смещения обходят проверку формата
   - Отсутствует перекрестная проверка по известным паттернам

## Системные уязвимости в стандартах AAMVA ID

### Анализ коренных причин
Уязвимости проистекают из фундаментальных пробелов в **стандарте AAMVA DL/ID-2020**:

**Критические недостатки стандарта**:
- **Отсутствие требований криптографической проверки**: Отсутствуют спецификации цифровой подписи
- **Неадекватные проверки временного диапазона**: Раздел 4.3.2 не содержит требований проверки года
- **Приоритет соответствия формата над подлинностью данных**: Корректность парсинга ценится выше проверки содержимого

### Матрица затронутых систем

| System Type          | Examples                     | Impact Level | Validation Bypass |
|----------------------|------------------------------|--------------|-------------------|
| Государственные ID-приложения   | Missouri ShowMeID v3.0.14   | **Критический** | Полный          |
| Корпоративные сканеры  | TokenWorks IDentiFake Plus   | **Высокий**     | Временной/Паттерновый  |
| Потребительские инструменты       | Scannr iOS v4.2.1+          | **Высокий**     | На основе формата      |
| KYC-платформы        | IDScan.net VSCloud          | **Критический** | Аутентификация    |

## Структура репозитория```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

Основные уязвимости безопасности

Фундаментальные уязвимости проявляются на нескольких уровнях экосистемы проверки личности:

1. Подход с проверкой только формата

Техническая проблема: Системы проверки подтверждают соответствие формату AAMVA, не проверяя достоверность содержимого данных или их источник.

Влияние: Полностью синтетические удостоверения могут пройти проверку, если они сохраняют правильную структуру PDF417 и форматирование, специфичное для штата.

2. Отсутствие перекрестной сверки с базами данных

Техническая проблема: Системы не проверяют соответствие информации в штрих-коде официальным записям выдающих органов.

Влияние: Позволяет создавать удостоверения с правильным форматированием, но полностью вымышленной личной информацией.

3. Уязвимость манипуляции заголовками/смещениями

Техническая проблема: При вычислении технически корректных значений смещений с использованием синтетических данных поддельные удостоверения обходят проверку парсинга.

Влияние: Опытные злоумышленники могут генерировать удостоверения, проходящие как проверку формата, так и базовые проверки на соответствие.

4. Сбои проверки временной логики

Техническая проблема: Системы принимают физиологически и логически невозможные значения (средневековые даты рождения, даты выдачи в будущем).

Влияние: Демонстрирует фундаментальное отсутствие базовой санитарной проверки в процессах верификации.

5. Пробелы в безопасности коммерческих лицензий

Техническая проблема: Документы с повышенным уровнем безопасности, такие как коммерческие водительские удостоверения, одинаково уязвимы для тех же методов эксплуатации.

Влияние: Создает значительные риски для общественной безопасности из-за возможной подмены удостоверений на опасные грузы/транспорт.

Анализ реализации по штатам

Это исследование включает полные реализации для семи штатов, демонстрируя единообразные шаблоны уязвимостей в различных схемах кодирования:

Калифорния (california.rs, california_cdl.rs)

  • Формат: ZC-подфайл с уникальным шаблоном дискриминатора документа
  • Возможности CDL: Специализированные коммерческие водительские разрешения (HNX - Опасные грузы/Цистерны/Двойные-тройные прицепы)
  • Уязвимость: Обход временной проверки позволяет использовать средневековые даты рождения без обнаружения

Флорида недоступна (florida.rs)

  • Формат: ZF-подфайл с вычислением смещений, специфичных для штата
  • Уникальные особенности: Специальный алгоритм генерации дискриминатора документа
  • Уязвимость: Форматирование дат допускает невозможные временные значения

Джорджия (georgia.rs)

  • Формат: ZG-формат смещений с полями информации об округе
  • Реализация: Дублирование адресной информации в нескольких подфайлах
  • Уязвимость: Алгоритмически генерируемые номера лицензий могут быть подвергнуты обратной разработке

Иллинойс недоступен (illinois.rs)

  • Формат: ZI-формат смещений с дополнительными полями данных
  • Реализация: Специальный дискриминатор документа на основе шаблона
  • Уязвимость: Избыточные поля не проверяются должным образом на согласованность

Нью-Джерси (new_jersey.rs)

  • Формат: ZN-формат смещений с вычислениями производных полей
  • Реализация: Форматирование префиксов для имен и специальные числовые поля
  • Уязвимость: Алгоритмы вывода могут быть воспроизведены для синтетических удостоверений

Южная Каролина (south_carolina.rs)

  • Формат: Без обозначения подфайла (использует DLDCA вместо DLDAQ)
  • Уникальная особенность: Другой порядок полей по сравнению с другими штатами
  • Уязвимость: Шаблоны полей безопасности не проверяются должным образом

Техас (texas.rs)

  • Формат: ZT-формат подфайла, уникальный для Техаса
  • Реализация: Сложный дискриминатор документа, полученный из нескольких полей
  • Уязвимость: Слабость проверки номера инвентарного контроля

Примечание к реализации: Изменяемые значения

Во всех реализациях штатов определенные значения могут быть изменены без нарушения проверки:

  • Последовательности '9': Поля, использующие 999999999, могут быть изменены произвольными значениями
  • Заполнители 'X': Поля, использующие XXXXX, могут быть заменены любыми символами
  • Поля дат: Любые даты могут быть изменены, включая невозможные значения (средневековые даты рождения, даты выдачи в будущем)
  • Личная информация: Имена, адреса могут быть полностью вымышленными

Такая гибкость подчеркивает отсутствие всесторонней проверки данных в затронутых системах.

Примеры технической реализации

Создание синтетических тестовых удостоверений

Реализация предоставляет шаблоны построителя для каждого штата:```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:~
### Тестирование и проверка```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

Установка и использование

Предварительные требования

  1. Rust и Cargo, установленные в вашей системе
  2. Необходимые зависимости (перечислены в Cargo.toml)

Установка```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:~
### Сканирование сгенерированных штрихкодов

Сгенерированные штрихкоды будут сохранены в виде PNG-файлов, которые можно предъявить системам верификации для тестирования:```bash
# Using the provided script to read a generated barcode (requires zbar tools)
./scripts/barcode_reader.sh generated_pdf417.png

Эталонная реализация стандарта AAMVA

Коды физических характеристик

Стандарты цвета глаз:

  • BLK - Чёрный
  • BLU - Синий
  • BRO/BRN - Коричневый
  • GRY/GRA - Серый
  • GRN - Зелёный
  • HAZ/HZL - Ореховый
  • MAR - Бордовый
  • MUL - Разноцветный
  • PNK - Розовый
  • DIC - Дихроматический
  • UNK - Неизвестно

Стандарты цвета волос:

  • BAL - Лысый
  • BLK - Чёрные
  • BLN/BLD - Светлые (блонд)
  • BRO/BRN - Коричневые
  • GRY/GRA - Седые
  • RED/AUB - Рыжие/Каштановые
  • SDY - Песочные
  • WHI - Белые
  • UNK - Неизвестно

Идентификационные номера эмитентов штатов (IIN)

  • Калифорния: 636014
  • Флорида: 636010
  • Джорджия: 636055
  • Иллинойс: 636035
  • Нью-Джерси: 636036
  • Южная Каролина: 636430
  • Техас: 636015

Ключевые результаты исследования

  1. Систематический паттерн уязвимости: Последовательные сбои валидации у нескольких поставщиков и платформ
  2. Отсутствие криптографической защиты: Ни одна из протестированных систем не реализует криптографическую валидацию данных или цифровые подписи
  3. Возможность дублирования лицензий: Одинаковые номера лицензий могут использоваться с разными личными данными без обнаружения
  4. Требования к оптимизации размеров: Каждый штат требует определённых размеров PDF417-штрихкода для оптимального распознавания сканерами
  5. Последствия для общественной безопасности: Возможность подделки коммерческих водительских прав представляет значительный риск для транспортной безопасности
  6. Недостатки координационного процесса: Реакция отрасли и регулирующих органов демонстрирует пробелы в процессе раскрытия системных уязвимостей

Верификация и аутентичность

Для проверки подлинности и целостности данного исследования:

Проверка подписи 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:~
**PGP Fingerprint**: `2EFA A479 1439 CF35 47A9 6680 1ECC 2986 AF90 3402`

## Методология исследования и этика

### Подход к ответственному раскрытию
Несмотря на игнорирование со стороны поставщиков и закрытие дела CISA, это исследование придерживается принципов ответственного раскрытия:

1. **Расширенный период координации**: 120+ дней (превышает стандартный 90-дневный срок)
2. **Только синтетические данные**: Все демонстрации используют чётко помеченные исследовательские данные
3. **Взаимодействие с поставщиками**: Обширные технические обсуждения и предложения решений
4. **Фокус на общественную безопасность**: Упор на оборонительные улучшения, а не на эксплуатацию

### Стандарты технической валидации
Все результаты были проверены на соответствие:
- **NIST SP 800-63B**: Руководящие принципы проверки личности
- **NIST Cybersecurity Framework v1.1**: Средства контроля безопасности
- **CWE/SANS Top 25**: Классификации уязвимостей
- **ISO/IEC 29147**: Стандарты раскрытия информации

## Ссылки и стандарты

### Технические стандарты и руководства
- [AAMVA DL/ID Card Design Standard](https://www.aamva.org/dl-id-standards/) — Официальные спецификации реализации AAMVA
- [NIST SP 800-63B Identity Verification Guidelines](https://pages.nist.gov/800-63-3/sp800-63b.html) — Федеральные стандарты проверки личности
- [NIST Cybersecurity Framework v1.1](https://www.nist.gov/cyberframework) — Руководство по внедрению кибербезопасности
- [CWE/SANS Top 25 Most Dangerous Software Errors](https://cwe.mitre.org/top25/) — Структура классификации уязвимостей
- [ISO/IEC 29147 Vulnerability Disclosure](https://www.iso.org/standard/45170.html) — Международные стандарты раскрытия

### Ссылки на координацию и публикацию
- [MITRE CVE Program](https://cve.mitre.org/) — Координация и публикация уязвимостей
- [CISA Vulnerability Disclosure Policy](https://www.cisa.gov/vulnerability-disclosure-policy) — Федеральная структура координации

## Ограничения и этические соображения

### Технические ограничения
1. **Отсутствие физических элементов защиты**: Сгенерированные штрихкоды лишены физических защитных элементов (голограммы, RFID, специальные чернила)
2. **Требования соответствия законодательству**: Все демонстрации используют синтетические данные с водяными знаками «ТОЛЬКО ДЛЯ ИССЛЕДОВАНИЙ»
3. **Проблемы координации**: Сопротивление отрасли в устранении уязвимостей, специфичных для конкретных реализаций
4. **Пробелы в нормативной базе**: Ограниченное количество существующих структур для решения системных проблем безопасности проверки

### Границы этического исследования
1. **Использование только синтетических данных**: Никакая реальная личная информация не используется ни в одной демонстрации
2. **Фокус на образовательные цели**: Исследование направлено на повышение оборонительных возможностей безопасности
3. **Соблюдение принципов ответственного раскрытия**: Расширенные периоды координации и совместная работа с поставщиками
4. **Приоритет общественной безопасности**: Упор на защитные улучшения, а не на содействие эксплуатации

## Направления будущих исследований

### Необходимые технические улучшения
1. **Криптографическая проверка**: Внедрение проверки цифровой подписи
2. **Поведенческая аналитика**: Обнаружение паттернов подозрительного сканирования
3. **Интеграция с базами данных**: Перекрёстная проверка в реальном времени с уполномоченными органами
4. **Многофакторная проверка**: Комбинация физических и цифровых методов верификации

### Улучшения политики и координации
1. **Классификация уязвимостей**: Более совершенные структуры для стандартных и реализационных проблем
2. **Ответственность отрасли**: Более чёткие модели ответственности за заявления о безопасности
3. **Интеграция общественной безопасности**: Повышенный учёт реального воздействия
4. **Международная координация**: Трансграничные стандарты проверки личности

## Ответственное раскрытие и общественные интересы

Данное исследование публикуется в общественных интересах после обширных усилий по координации. Факторы, повлиявшие на решение о публикации:

1. **Приверженность расширенной координации**: Более 120 дней добросовестного взаимодействия с поставщиками и регулирующими органами
2. **Оценка риска для общественной безопасности**: Возможности подделки коммерческих лицензий представляют значительную угрозу безопасности транспорта
3. **Подтверждение технической ценности**: Задокументированные уязвимости, связанные с конкретными реализациями, требующие внимания отрасли
4. **Образовательная ценность**: Исследование повышает осведомлённость о безопасности и способствует разработке оборонительных возможностей

### Текущее взаимодействие с поставщиками
Несмотря на разногласия по координации, исследователь остаётся доступным для:
- Помощи в улучшении технической реализации
- Поддержки и совместной работы по улучшению стандартов AAMVA
- Разработки оборонительных мер безопасности
- Предоставления дополнительного технического анализа по мере необходимости

## Контакты и координация

### Контактная информация исследования
- **Основной email**: [email protected] (предпочтительно PGP-шифрование)
- **GitHub Profile**: [github.com/coleleavitt](https://github.com/coleleavitt)
- **LinkedIn**: [linkedin.com/in/coleleavitt](https://linkedin.com/in/coleleavitt)

### Каналы текущей координации
- **MITRE CVE Program**: [email protected]
- **CISA Vulnerability Disclosure**: [email protected]
- **VINCE Case Reference**: VU#396042 (закрыто, но документация доступна)

## Лицензия и правовая база

Данное исследование предоставляется в соответствии с комплексной лицензией на исследования в области безопасности. Полные условия см. в [LICENSE.md](https://github.com/coleleavitt/aamva-pdf417-vulnerability-research/blob/PoC/LICENSE.md).

**Цель исследования**: Данное исследование проводилось с целью повышения безопасности всей экосистемы проверки личности. Хотя усилия по координации столкнулись с серьёзными проблемами, технические результаты остаются обоснованными и требуют внимания отрасли для защиты общественной безопасности и интересов национальной безопасности.

**Соответствие законодательству**: Все исследовательские деятельности соответствуют применимым законам, включая Закон о компьютерном мошенничестве и злоупотреблениях (CFAA), Закон об авторском праве в цифровую эпоху (DMCA), а также соответствующим государственным и федеральным нормативным актам, касающимся удостоверений личности. Никакая реальная личная информация не использовалась, и все демонстрации используют чётко помеченные синтетические исследовательские данные.

**Примечание**: Данное исследование проводилось с целью повышения безопасности всей экосистемы проверки личности. Хотя усилия по координации столкнулись с проблемами, технические результаты остаются обоснованными и требуют внимания отрасли для защиты общественной безопасности и интересов национальной безопасности.
Скачать инструмент