# Вариант 1. Локальная практика со ScanOVAL

## Когда выбирать

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

**ScanOVAL** — точное название программы БДУ ФСТЭК России. Это не сетевой сканер и не система полного управления уязвимостями.

## Важные ограничения

- Дистрибутив каждый слушатель скачивает самостоятельно с [официальной страницы ScanOVAL](https://bdu.fstec.ru/scanoval).
- Не включайте программу в учебный архив: условия лицензии ограничивают передачу третьим лицам.
- На текущей странице перечислены Windows 7/8/8.1/10 и Windows Server 2008–2016; Windows 11 не заявлена.
- Результат «не обнаружено» не доказывает отсутствие уязвимостей.
- ScanOVAL не проверяет сеть, удаленные хосты и неизвестные уязвимости без OVAL-описания.

## Подготовка

1. Используйте собственную или разрешенную учебную Windows.
2. Зафиксируйте версию ОС и .NET Framework.
3. Скачайте программу и руководство с БДУ ФСТЭК России.
4. Скачайте актуальный XML-набор OVAL-описаний.
5. Запишите дату и источник каждого файла. До запуска получите ожидаемые SHA-256 и имя издателя из подписанного реестра преподавателя/вендора по аутентифицированному независимому каналу и выполните проверку:

```powershell
$ScanOvalInstaller = '.\ScanOVAL-installer.exe'
$ExpectedScanOvalSha256 = '<64_HEX_ИЗ_ПОДПИСАННОГО_РЕЕСТРА>'
$ExpectedPublisher = '<ТОЧНЫЙ_SUBJECT_ИЗ_ПОДПИСАННОГО_РЕЕСТРА>'
if ($ExpectedScanOvalSha256 -notmatch '^[0-9A-Fa-f]{64}$') { throw 'STOP: expected SHA-256 is absent' }
if ((Get-FileHash -LiteralPath $ScanOvalInstaller -Algorithm SHA256).Hash -ne $ExpectedScanOvalSha256) { throw 'STOP: SHA-256 mismatch' }
$Signature = Get-AuthenticodeSignature -LiteralPath $ScanOvalInstaller
if ($Signature.Status -ne 'Valid' -or $Signature.SignerCertificate.Subject -ne $ExpectedPublisher) { throw 'STOP: Authenticode publisher mismatch' }
```

Отсутствие доверенного ожидаемого значения, невалидная Authenticode-подпись, иной издатель или несовпадение SHA-256 — **STOP: ScanOVAL не запускать**.

## Задание — 90 минут

1. Сформируйте локальную инвентаризацию установленного ПО средствами ОС.
2. Запустите ScanOVAL и загрузите OVAL-описания версии не ниже требуемой официальной страницей.
3. Выполните проверку.
4. Выберите не менее трех результатов разных уровней важности.
5. Для каждого результата вручную проверьте фактическую версию ПО, CVE/БДУ, наличие обновления и применимость.
6. Отдельно запишите программы, которые присутствуют в инвентаризации, но не получили результата ScanOVAL.
7. Сформулируйте ограничения метода.

## Таблица результата

| ПО и версия | Идентификатор | Результат ScanOVAL | Ручная проверка | Решение |
|---|---|---|---|---|
|  |  |  |  |  |
|  |  |  |  |  |
|  |  |  |  |  |

## Контрольные вопросы

1. Почему локальный OVAL-анализ не заменяет исследование сети?
2. Что произойдет, если фактическое имя/версия продукта не сопоставятся с описанием?
3. Почему отсутствие результата нельзя считать доказательством отсутствия уязвимости?
4. Какие сведения нужны для приоритизации помимо CVSS?

## Источники

- [ScanOVAL для Windows](https://bdu.fstec.ru/scanoval)
- [ScanOVAL для Linux](https://bdu.fstec.ru/scanovalforlinux)
- [Руководство оператора](https://bdu.fstec.ru/files/documents/scanoval_manual.pdf)
