DPI видит даже сквозь шифрование, разработчики придумали ответ

DPI видит даже сквозь шифрование, разработчики придумали ответ

DPI видит даже сквозь шифрование, разработчики придумали ответ

«Но ведь трафик зашифрован!» — звучит убедительно, но современный DPI на такое только усмехнётся. Как рассказал пользователь Хабра dmitry__ilyin, классификатору необязательно читать пакеты: достаточно посмотреть на их размеры, направление, интервалы, TLS-рукопожатие и общий рисунок соединения.

OpenVPN, например, выдаёт себя характерным хендшейком, а WireGuard — фиксированными размерами некоторых служебных сообщений.

Даже протокол, притворяющийся обычным TLS, можно раскусить, если после красивого ClientHello он ведёт себя совсем не как браузер.

Команда автора разрабатывает туннельную инфраструктуру, устойчивую к DPI, и решила портить классификаторам жизнь сразу по нескольким направлениям. Клиент с помощью uTLS копирует ClientHello настоящих Chrome, Firefox, Edge и Safari, чередуя варианты между соединениями.

Транспорт работает поверх HTTP/2, а параллельно клиент отправляет реальные запросы к CDN, чтобы сделать общую сетевую активность менее однозначной.

Дополняет картину pacing — сглаживание всплесков передачи, которое мешает анализировать временной рисунок потока. А любители активного прощупывания серверов получают унылый и ни к чему не обязывающий код 404.

Магии, впрочем, не случилось. Дополнительная маскировка прибавляет примерно 40–80 мс задержки, а decoy-трафик заметно нагружает процессор клиента. Наблюдения проводились в сетях Ростелекома, Билайна, Мегафона, МТС, Теле2 и Дом.ру, но автор честно предупреждает: это полевые данные, а не лабораторный бенчмарк против конкретных DPI-систем.

Цель проекта — не сделать трафик невидимым, а лишить DPI простых и стабильных признаков. Часть разработки уже открыта — SDK, протокол обфускации и decoy-логику можно изучить на GitHub.

Windows хранит скрытые данные о доступе приложений к камере и микрофону

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

Там можно узнать, какое приложение получало доступ к оборудованию, когда именно начался и закончился последний сеанс и сколько времени он продолжался.

Отдельно Windows записывает дату выдачи разрешения и его текущий статус — Allow или Deny.

Правда, просто открыть редактор реестра и почувствовать себя цифровым детективом не получится. Временные метки хранятся в формате FILETIME — в виде количества 100-наносекундных интервалов, прошедших с 1 января 1601 года.

Привести данные в человеческий вид позволяет скрипт PowerShell. Он проверяет разделы ConsentStore, преобразует временные метки и выводит таблицу с названием приложения, типом разрешения, временем последнего обращения и продолжительностью сеанса.

$root = "HKCU:\Software\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore"
$results = Get-ChildItem $root | ForEach-Object {
    $medium = $_.PSChildName
    Get-ChildItem $_.PSPath -Recurse | ForEach-Object {
        $props = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
        if ($props.LastUsedTimeStart -and $props.LastUsedTimeStop -and
$props.LastUsedTimeStart -ne 0) {
            $start   =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStart).ToLocalTime()
            $stop    =
[datetime]::FromFileTimeUtc($props.LastUsedTimeStop).ToLocalTime()
            $granted = if ($props.LastSetTime) {
                [datetime]::FromFileTimeUtc($props.LastSetTime).ToLocalTime()
            } else {
                $null
            }
            [PSCustomObject]@{
                Medium              = $medium
                App                 = $_.PSChildName
                PermissionGrantedOn = $granted
                LastUsedStart       = $start
                LastUsedStop        = $stop
                Duration            = $stop - $start
            }
        }
    }
}

Для проверки системных разрешений потребуется изменить путь с HKCU на HKLM и запустить PowerShell от имени администратора.

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

Тем не менее проверка способна преподнести сюрпризы. Автор исходного материала, например, обнаружил, что EA Sports FC 26 использовала его микрофон около 40 минут, хотя он не помнил, чтобы разрешал игре это делать.

Если в списке нашлась подозрительная программа, ей можно запретить доступ к соответствующему компоненту или удалить её.

RSS: Новости на портале Anti-Malware.ru