Обнаружены домены из публичного списка malware
Описание
При статическом анализе распакованного IPA-файла инструмент нашёл URL-строки, чьи хосты совпадают с общедоступными списками зловредных доменов (malware domain lists). Такие списки агрегируют адреса, замеченные в распространении вредоносного ПО, фишинга, C2-инфраструктуре и иных атаках. Наличие подобных доменов в релизной сборке указывает на:
- Риск подключения приложения к инфраструктуре злоумышленников и загрузки вредоносного кода.
- Вероятность удаления из App Store — политика безопасности Apple запрещает приложениям содержать вредоносный контент или ссылки на него; при обнаружении приложение помечается как вредоносное и блокируется пользователям.
- Повышенную поверхность атаки — даже если функция не активируется, злоумышленник может перехватить незашифрованный трафик или воспользоваться устаревшим TLS.
- Репутационные и юридические убытки из-за компрометации данных пользователей или нарушения договорных обязательств.
Где обычно обнаруживаются такие домены
- Секции
__TEXT/__cstring
Mach-O — жёстко прописанные строки. - Ресурсные файлы (
Info.plist
,.strings
,.json
,.yaml
) с URL-ами. - Третьи-party SDK/фреймворки — часто шифруют адреса в Base64; после декодирования они совпадают со списками malware.
- WebView-загрузчики или конфигурации «fallback-серверов», забытые после тестирования.
Рекомендации
-
Провести анализ причины появления домена.
Определите библиотеку или участок кода, который формирует запрос. Если домен принадлежит вам и был ошибочно занесён в чёрный список — начните процедуру делистинга и временно отключите его через конфигурационный флаг/Remote Config.
-
Удалить или заменить вредоносные ссылки.
- Удалите тестовый/мёртвый код.
- Замените непроверенные CDN на ваши доверенные шлюзы с ATS-совместимым TLS.
-
Проверить сторонние зависимости.
- Обновите рекламные, аналитические и прочие SDK до последних версий.
- Исключите библиотеки из непроверенных источников.
-
Внедрить allow-list сети с App Transport Security (ATS).
- В
Info.plist
явно перечислите доверенные хосты вNSExceptionDomains
, установитеNSAllowsArbitraryLoads = false
. - Добавьте
NSPinnedDomains
для TLS - пиннинга сертификатов.
- В
Дополнительные рекомендации
- Запрещайте хардкод URL-ов в Code Review — допускаются только значения из конфигурационных файлов или удалённого конфига.
- Проводите динамический анализ (Charles, mitmproxy) на тестовых устройствах, проверяя отсутствие запросов к подозрительным хостам.
- Регулярно обновляйте malware-фиды и фиксируйте контрольные суммы для контроля актуальности.