Критический баг в iOS позволял с легкостью взломать iPhone через Wi-Fi

Критический баг в iOS позволял с легкостью взломать iPhone через Wi-Fi

Критический баг в iOS позволял с легкостью взломать iPhone через Wi-Fi

Раскрыты детали легко эксплуатируемой уязвимости в iOS, грозящей захватом контроля над близко расположенным устройством по Wi-Fi. В случае успеха злоумышленник сможет беспрепятственно просматривать фотоальбом жертвы, читать личные сообщения и отслеживать действия на устройстве в реальном времени.

Проблему, которой был присвоен идентификатор CVE-2020-9844, обнаружил участник Google-проекта Project Zero Иан Бир (Ian Beer). Получив отчет, Apple скорректировала код и выпустила соответствующие обновления для iOS (13.5) и macOS Catalina (10.15.5) — они вышли в мае. Показательный эксплойт CVE-2020-9844 был опубликован во вторник, 1 декабря.

В своих бюллетенях Apple классифицирует уязвимость как двойное освобождение памяти, которое может вызвать системный сбой и повлечь нарушение целостности памяти ядра. В своей блог-записи Бир пояснил, что корнем проблемы является ошибка переполнения буфера, которая возникает во время работы Wi-Fi-драйвера, ассоциированного с протоколом Apple Wireless Direct Link (AWDL). Этот протокол Apple специально разработала для упрощения коммуникаций между своими устройствами.

Для демонстрации эксплойта исследователь использовал iPhone 11 Pro, компьютер Raspberry Pi и два разных Wi-Fi-адаптера. В итоге он смог удаленно получить доступ на чтение и запись к памяти ядра целевого устройства и внедрить в нее шелл-код с правами root, а также выйти за пределы песочницы и добраться до пользовательских данных.

 

Сведений об использовании CVE-2020-9844 в реальных атаках пока нет, однако Бир полагает, что вендоры эксплойтов уже взяли эту уязвимость на заметку.

Баги в проприетарном протоколе AWDL объявлялись и ранее. Так, в июле исследователи из Дармштадтского технического университета раскрыли информацию об уязвимостях, позволявших следить за пользователями i-гаджетов, вызывать системные сбои, а также перехватывать файлы, пересылаемые между устройствами, из положения «человек посередине» (man-in-the-middle, MitM).

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