Разработчики утилиты Little Snitch для сетевого мониторинга заметили, что в macOS Sequoia есть ошибка, которая позволяет отправлять некоторые запросы мимо зашифрованного DNS-прокси.
В компании рассказали, что в Little Snitch есть функция, которая использует зашифрованное DNS-прокси для всех пользовательских запросов в сети. При этом серверы Little Snitch используются в качестве посредника, чтобы не было прямого соединения между устройством и конечным ресурсом. Для этого важно отправлять запросы именно через DNS-прокси.
В случае с macOS Sequoia оказалось, что не все запросы система отправлет через DNS-прокси. Некоторые из них, особенно сделанные через устаревшие низкоуровневые API, отправляются напрямую. При этом разработчики отмечают, что это не проблема на стороне утилиты Little Snitch, поэтому пользователям других DNS-прокси надо быть более внимательными.
Вместе с этим команда Little Snitch рассказала, как можно воспроизвести ошибку на своём Mac с установленной macOS Sequoia:
Активируйте DNS-шифрование в настройках Little Snitch.
Запустите Wireshark с фильтром захвата для
port 53
.Запустите следующий код в Xcode Playground:
import Foundation
let domain = "dnsproxytest.com"
var result: UnsafeMutablePointer<addrinfo>?
let status = getaddrinfo(domain, nil, nil, & result)
После этого будет видно, что поиск для dnsproxytest.com
в аналитике Wireshark отмечен как незашифрованный. Также будет видно, что система мониторинга трафика Little Snitch ничего не показывает, потому что запросы обходят фильтр.
Разработчики проекта отправили сообщение об ошибке Apple и пока ждут ответ. При этом некоторые пользователи сообщают, что заметили эту ошибку ещё в macOS Sonoma 14.5.