
Исследование системных уязвимостей валидации PDF417 в идентификационных системах, соответствующих стандарту AAMVA (CVE-2025-31336, CVE-2025-31337, scr1841160)
Этот репозиторий содержит всестороннее исследование безопасности, документирующее критические уязвимости в системах валидации штрихкодов PDF417 по стандарту AAMVA, затрагивающие государственные удостоверения, корпоративные решения и потребительские приложения. Исследование включает полностью функциональное доказательство концепции (PoC), демонстрирующее системные недостатки в обработке штрихкодов водительских прав системами верификации ID.
ВАЖНО: Этот код предоставлен только для целей исследования безопасности. Ознакомьтесь с файлом LICENSE.md для получения информации о разрешенном использовании.
Это исследование проводилось в соответствии с:
Данное исследование демонстрирует присвоенные уязвимости:
Базовая оценка: 10.0 (Критический)
Вектор: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Разбивка:
Пример эксплуатации:```rust // Temporal validation bypass demonstration let license = CaliforniaLicense::builder() .birth_date("06201500") // Year 1500 - Medieval era .validate(); // Returns OK in affected systems
## История координации и сводка ответов вендоров
### Хронология раскрытия
- **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 в Миссури```shell
gpg --verify signatures/show_me_id/img.png.asc scan_proof/show_me_id/img.png
Воздействие: Полный обход официального приложения для проверки удостоверений личности штата Миссури, демонстрирующий системные уязвимости в системах проверки личности на уровне штата.
```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
#### Обход проверки лицензии Аризоны



```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
#### Обход проверки лицензии Джорджии

```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
#### Обход проверки лицензии Южной Каролины

```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
## Технические доказательства и опровержения вендора
### Задокументированные уязвимости
#### 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
Фундаментальные уязвимости проявляются на нескольких уровнях экосистемы проверки личности:
Техническая проблема: Системы проверки подтверждают соответствие формату AAMVA, не проверяя достоверность содержимого данных или их источник.
Влияние: Полностью синтетические удостоверения могут пройти проверку, если они сохраняют правильную структуру PDF417 и форматирование, специфичное для штата.
Техническая проблема: Системы не проверяют соответствие информации в штрих-коде официальным записям выдающих органов.
Влияние: Позволяет создавать удостоверения с правильным форматированием, но полностью вымышленной личной информацией.
Техническая проблема: При вычислении технически корректных значений смещений с использованием синтетических данных поддельные удостоверения обходят проверку парсинга.
Влияние: Опытные злоумышленники могут генерировать удостоверения, проходящие как проверку формата, так и базовые проверки на соответствие.
Техническая проблема: Системы принимают физиологически и логически невозможные значения (средневековые даты рождения, даты выдачи в будущем).
Влияние: Демонстрирует фундаментальное отсутствие базовой санитарной проверки в процессах верификации.
Техническая проблема: Документы с повышенным уровнем безопасности, такие как коммерческие водительские удостоверения, одинаково уязвимы для тех же методов эксплуатации.
Влияние: Создает значительные риски для общественной безопасности из-за возможной подмены удостоверений на опасные грузы/транспорт.
Это исследование включает полные реализации для семи штатов, демонстрируя единообразные шаблоны уязвимостей в различных схемах кодирования:
california.rs, california_cdl.rs)florida.rs)georgia.rs)illinois.rs)new_jersey.rs)south_carolina.rs)texas.rs)Примечание к реализации: Изменяемые значения
Во всех реализациях штатов определенные значения могут быть изменены без нарушения проверки:
- Последовательности '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();
### Тестирование и проверка```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
git clone https://github.com/coleleavitt/AAMVA-PDF417-Vulnerability-Research.git cd AAMVA-PDF417-Vulnerability-Research
cargo build --release
./target/release/id-validation-poc
### Сканирование сгенерированных штрихкодов
Сгенерированные штрихкоды будут сохранены в виде PNG-файлов, которые можно предъявить системам верификации для тестирования:```bash
# Using the provided script to read a generated barcode (requires zbar tools)
./scripts/barcode_reader.sh generated_pdf417.png
Стандарты цвета глаз:
Стандарты цвета волос:
Для проверки подлинности и целостности данного исследования:
curl https://keys.openpgp.org/vks/v1/by-fingerprint/2EFAA4791439CF3547A966801ECC2986AF903402 | gpg --import
gpg --verify complete-evidence.tar.gz.asc complete-evidence.tar.gz
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
**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), а также соответствующим государственным и федеральным нормативным актам, касающимся удостоверений личности. Никакая реальная личная информация не использовалась, и все демонстрации используют чётко помеченные синтетические исследовательские данные.
**Примечание**: Данное исследование проводилось с целью повышения безопасности всей экосистемы проверки личности. Хотя усилия по координации столкнулись с проблемами, технические результаты остаются обоснованными и требуют внимания отрасли для защиты общественной безопасности и интересов национальной безопасности.