Перейти к содержанию

Обнаружены домены из публичного списка malware

Описание

При статическом анализе распакованного IPA-файла инструмент нашёл URL-строки, чьи хосты совпадают с общедоступными списками зловредных доменов (malware domain lists). Такие списки агрегируют адреса, замеченные в распространении вредоносного ПО, фишинга, C2-инфраструктуре и иных атаках. Наличие подобных доменов в релизной сборке указывает на:

  • Риск подключения приложения к инфраструктуре злоумышленников и загрузки вредоносного кода.
  • Вероятность удаления из App Store — политика безопасности Apple запрещает приложениям содержать вредоносный контент или ссылки на него; при обнаружении приложение помечается как вредоносное и блокируется пользователям.
  • Повышенную поверхность атаки — даже если функция не активируется, злоумышленник может перехватить незашифрованный трафик или воспользоваться устаревшим TLS.
  • Репутационные и юридические убытки из-за компрометации данных пользователей или нарушения договорных обязательств.

Где обычно обнаруживаются такие домены

  1. Секции __TEXT/__cstring Mach-O — жёстко прописанные строки.
  2. Ресурсные файлы (Info.plist, .strings, .json, .yaml) с URL-ами.
  3. Третьи-party SDK/фреймворки — часто шифруют адреса в Base64; после декодирования они совпадают со списками malware.
  4. WebView-загрузчики или конфигурации «fallback-серверов», забытые после тестирования.

Рекомендации

  1. Провести анализ причины появления домена.

    Определите библиотеку или участок кода, который формирует запрос. Если домен принадлежит вам и был ошибочно занесён в чёрный список — начните процедуру делистинга и временно отключите его через конфигурационный флаг/Remote Config.

  2. Удалить или заменить вредоносные ссылки.

    • Удалите тестовый/мёртвый код.
    • Замените непроверенные CDN на ваши доверенные шлюзы с ATS-совместимым TLS.
  3. Проверить сторонние зависимости.

    • Обновите рекламные, аналитические и прочие SDK до последних версий.
    • Исключите библиотеки из непроверенных источников.
  4. Внедрить allow-list сети с App Transport Security (ATS).

    • В Info.plist явно перечислите доверенные хосты в NSExceptionDomains, установите NSAllowsArbitraryLoads = false.
    • Добавьте NSPinnedDomains для TLS - пиннинга сертификатов.

Дополнительные рекомендации

  • Запрещайте хардкод URL-ов в Code Review — допускаются только значения из конфигурационных файлов или удалённого конфига.
  • Проводите динамический анализ (Charles, mitmproxy) на тестовых устройствах, проверяя отсутствие запросов к подозрительным хостам.
  • Регулярно обновляйте malware-фиды и фиксируйте контрольные суммы для контроля актуальности.

Ссылки

  1. Malware Domain List — что это и как формировать
  2. App Review Guidelines (раздел Safety)
  3. NSAppTransportSecurity — Apple Developer Documentation
  4. Google Safe Browsing API v4 — Overview
  5. OWASP MASTG — Mobile Application Security Testing Guide
К началу