Блог о безопасности FireAI

Автор FireAI Security & Research Team · Опубликовано

Эксфильтрация данных на Mac: как она происходит и как её обнаружить

Эксфильтрация данных на Mac: как она происходит и как её обнаружить

Эксфильтрация данных — это этап, на котором данные, которые должны были остаться на компьютере, оказываются в другом месте. MITRE ATT&CK, открытая база знаний о поведении злоумышленников, которую ведёт MITRE, выделяет её в отдельную тактику, TA0010, и определяет одной строкой: «The adversary is trying to steal data» — злоумышленник пытается украсть данные. Всё, что происходит до этого, от поддельного установщика до вредоносной инструкции, переданной ИИ-агенту, важно для жертвы главным образом из-за этого момента. В статье объясняется, как работает эксфильтрация на Mac, какие техники каталогизирует MITRE, почему её трудно заметить и какие сетевые признаки всё же её выдают.

Собрать, подготовить, отправить

Эксфильтрация редко бывает одним действием. MITRE описывает последовательность. Сначала данные собираются, например из связки ключей (Keychain), которая, как отмечено в технике ATT&CK T1555.001, «хранит имена учётных записей, пароли, закрытые ключи, сертификаты, конфиденциальные данные приложений, платёжные данные и защищённые заметки». Затем их часто размещают в локальной папке (T1074.001) и сжимают или шифруют (T1560); по словам MITRE, «злоумышленник может сжать и/или зашифровать собранные данные перед эксфильтрацией», что уменьшает их объём для отправки и затрудняет проверку на выходе. Только после этого они отправляются. Каждый шаг происходит на Mac, но лишь последний должен пересечь сеть, и именно поэтому эксфильтрация наиболее стабильно заметна в сети.

Техники из каталога MITRE ATT&CK

Тактика Exfiltration в настоящее время включает девять техник. Они различаются в основном используемым каналом, и у некоторых есть подтехники для конкретных мест назначения.

Источник: MITRE ATT&CK Enterprise, тактика TA0010, проверено 4 октября 2026 года.
IDТехникаЧто это означает на практике
T1041Exfiltration Over C2 ChannelДанные уходят по тому же соединению, по которому злоумышленник уже передаёт команды.
T1048Exfiltration Over Alternative ProtocolИной протокол или адрес назначения, чем у командного канала, с шифрованием или без (с T1048.001 по .003).
T1567Exfiltration Over Web ServiceЛегитимный сервис: репозиторий кода (.001), облачное хранилище (.002), сайт для хранения текста (.003), веб-хук (.004).
T1029Scheduled TransferОтправка в заданное время, чтобы слиться с обычной активностью.
T1030Data Transfer Size LimitsОтправка фрагментами фиксированного размера, чтобы не превышать пороги оповещений.
T1020Automated ExfiltrationАвтоматическая отправка сразу после сбора данных; T1020.001 охватывает дублирование трафика.
T1011Exfiltration Over Other Network MediumИная среда передачи, чем основное соединение, например Bluetooth (T1011.001).
T1052Exfiltration Over Physical MediumСъёмный носитель, например USB-накопитель (T1052.001).
T1537Transfer Data to Cloud AccountПеремещение данных в другую учётную запись того же облачного сервиса.

Инфостилеры: эксфильтрация как единственная цель

На личных Mac чаще всего встречаются программы, построенные вокруг эксфильтрации, — инфостилеры: ПО, которое собирает пароли, данные браузера и файлы и отправляет их на сервер. Запись MITRE о Cuckoo Stealer (S1153) — программе для macOS с признаками шпионского ПО и инфостилера, о которой в 2024 году сообщили Kandji и SentinelOne, — показывает эту схему шаг за шагом. Она собирает закладки, файлы cookie и историю Safari (T1217), копирует файлы связки ключей (T1555.001), запрашивает пароль пользователя через поддельные системные диалоги (T1056.002), делает снимки экрана встроенной командой screencapture (T1113), размещает результаты локально (T1074.001) и наконец отправляет сведения о системе и перехваченные пароли на свой командный сервер (T1041). MITRE указывает ту же технику эксфильтрации и для других семейств вредоносного ПО для macOS, включая MacMa, XCSSET, ThiefQuest и LightSpy. Наша статья об Atomic Stealer подробнее разбирает ещё один стилер для macOS.

Последний шаг — единственный, которому нужен интернет, и обычно он занимает несколько секунд. К тому моменту, когда что-либо ещё на Mac начинает выглядеть необычно, данные уже ушли, поэтому обнаружение должно отслеживать исходящие соединения, а не ждать видимых симптомов.

Почему её трудно заметить

Описание техники Exfiltration Over Web Service (T1567) в MITRE хорошо объясняет эту сложность. Популярные сервисы служат прикрытием, потому что «хосты в сети уже взаимодействуют с ними до компрометации», «правила файрвола, разрешающие трафик к этим сервисам, также могут уже существовать», а эти провайдеры «обычно используют шифрование SSL/TLS, что даёт злоумышленникам дополнительный уровень защиты». Выгрузка в известное облачное хранилище по HTTPS снаружи выглядит как резервное копирование. Передача по расписанию (T1029) и фрагменты фиксированного размера (T1030) идут дальше и намеренно имитируют ритм обычного трафика. Файрвол, который фильтрует только входящие соединения, как встроенный в macOS, здесь не играет никакой роли, поскольку каждый из перечисленных каналов эксфильтрации начинается на Mac.

ИИ-агенты: новый путь к тому же результату

ИИ-агенты на Mac, например ассистенты для программирования, которые читают файлы, выполняют команды и открывают соединения, добавляют путь, для которого не нужен установленный стилер. OWASP Gen AI Security Project определяет непрямую prompt injection как ситуацию, когда модель «принимает входные данные из внешних источников, таких как веб-сайты или файлы», и приводит сценарий эксфильтрации: пользователь просит модель кратко изложить веб-страницу, скрытые инструкции на которой заставляют её вставить ссылку на изображение по внешнему адресу, так что загрузка изображения передаёт приватную переписку на этот адрес. Агент, который вдобавок может выполнить curl или вызвать веб-хук, превращает тот же приём в выгрузку файла. В терминах ATT&CK результат по-прежнему T1567 или T1048; изменилась лишь отправная точка — вместо установщика это фраза, которую прочитал агент. О том, как FireAI распознаёт самих агентов, рассказывается в отдельной статье.

Признаки, которые её выдают

Рекомендации MITRE по обнаружению этих техник возвращаются к одним и тем же сетевым признакам. Для T1041 указываются процессы, которые обычно генерируют мало трафика, но внезапно отправляют большой объём, и зашифрованные соединения «с редкими внешними адресами или с аномальным соотношением байтов». Для T1567 добавляются процессы, которые «обычно не инициируют сетевые соединения, но внезапно открывают исходящие HTTPS-соединения с высоким отношением исходящих данных к входящим». Для T1030 и T1029 предлагается искать одинаковые размеры передаваемых данных через равные интервалы, а также задания LaunchAgent или launchd, отправляющие данные на один и тот же адрес по расписанию. Применительно к отдельному Mac большую часть охватывают четыре вопроса: обращается ли это приложение к адресу, которым никогда раньше не пользовалось; отправляет ли оно намного больше, чем обычно; отправляет ли оно намного больше, чем получает; и делает ли оно это по часам?

Ручная проверка с помощью nettop

В macOS есть nettop, который показывает использование сети по процессам. С -P он выводит одну строку на процесс, -L 1 печатает один замер в формате с разделителями-запятыми, а -J ограничивает набор столбцов. Значения — это суммы с момента запуска каждого процесса, поэтому однократный запуск показывает, кто выгрузил больше всего, а не кто выгружает прямо сейчас; запустите его дважды с интервалом в минуту и сравните, чтобы увидеть изменение.

Терминал (macOS 26.7)
# bytes received and sent by each process, one sample
nettop -P -L 1 -J bytes_in,bytes_out
,bytes_in,bytes_out,
launchd.1,0,0,
syslogd.634,0,422,
apsd.640,5506,23880,
...

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

Что помечает FireAI

FireAI, файрвол HisnLabs, работающий на устройстве, непрерывно измеряет ответы на два из этих вопросов и задаёт вопрос по третьему. Каждую секунду он суммирует, сколько данных Mac отправляет в каждую страну. Страна помечается как всплеск выгрузки, если за последние 10 секунд она получила не менее 5 МБ и не менее чем в десять раз больше обычного: она поднимается в начало списка World map, выделяется красным и показывает скорость выгрузки, значок в строке меню показывает стрелку и код страны, а экран Home меняет состояние. Всплеск остаётся помеченным в течение минуты после окончания, а выгрузка, которая просто продолжается, например резервное копирование, через пару минут становится новой нормой. FireAI не блокирует всплеск самостоятельно; он показывает, какие приложения и адреса за ним стоят, чтобы решение приняли вы.

Для ИИ-агентов Agent profile в течение трёх дней изучает, куда обычно подключается каждый из 19 агентов, которых распознаёт FireAI. После этого на проверку помечается первое в истории обращение к новому адресу, а также час, за который агент выгрузил не менее чем в четыре раза больше, чем в свой самый загруженный час до этого, и никак не менее 25 МБ. В режиме безопасности Agent profile новый адрес блокируется, пока вы его не разрешите. Вне агентов запрос на подключение охватывает новые адреса для каждого приложения: когда приложение впервые пытается обратиться куда-либо без правила, FireAI приостанавливает соединение и спрашивает. Всё это работает только с метаданными — именами хостов и количеством байтов; FireAI не читает содержимое соединений.

Краткий чек-лист

  • Знайте, от каких приложений на вашем Mac ожидается выгрузка, — например, от приложений резервного копирования, синхронизации и видеозвонков, — и воспринимайте выгрузку со стороны остальных как повод для вопросов.
  • Следите за обращениями к новым адресам, особенно со стороны инструментов командной строки и ИИ-агентов.
  • Сравнивайте отправленные и полученные байты по процессам; высокое отношение исходящего трафика к входящему заслуживает проверки.
  • Просматривайте LaunchAgents и объекты входа в поисках незнакомых заданий, поскольку для передачи по расписанию нужно что-то, что её запускает.
  • Предоставляйте ИИ-агентам только те папки и токены, которые им нужны, и ограничивайте их сетевые адреса известным списком.

Какое место здесь занимают FireAI и HisnLabs

Эксфильтрация должна пересечь сеть, и именно там следит FireAI: новые адреса, выгрузка по странам и по агентам, только на вашем Mac. Попробуйте бесплатно в течение 17 дней.

FireAI — это собственный продукт HisnLabs: ИИ-файрвол, работающий прямо на вашем Mac. Он показывает простым языком каждое соединение, которое устанавливают ваши приложения, и позволяет вам решать, что покидает ваш Mac, — его ИИ работает локально, поэтому ваш трафик никогда не отправляется ни нам, ни кому-либо ещё. Команда исследователей безопасности HisnLabs — это те, кто поддерживает точность этих решений: они каталогизируют, какие домены являются обычной телеметрией, а какие — реальным сервисом, отслеживают страну и сеть, стоящие за соединением, и обучают локальную модель (функцию FireAI Pilot) на реальных шаблонах трафика — и ничего из этого не покидает ваш Mac.

Вы можете прочитать о технических решениях, лежащих в его основе, или попробовать FireAI в течение 17 дней на странице FireAI от HisnLabs.

Источники