Анализ защищённости desktop-приложений

Проверим, как ваше приложение ведёт себя на машине, где атакующий контролирует файлы, память, трафик и обновления

  • Уверенность в подрядчике

    У нас есть необходимые лицензии и сертификаты

  • Качество и вовлечённость

    Нам доверяют, в том числе, системообразующие компании страны и федеральные органы власти

Клиент нельзя считать доверенной зоной

Desktop-приложение работает в среде пользователя, где атакующий может изучать файлы, память, IPC, сетевой трафик и механизм обновления.

Риски возникают не только в собственном коде приложения. Установщик, службы, драйверы, сторонние библиотеки, локальное хранение, механизм автообновления и взаимодействие с сервером образуют единую поверхность атаки.

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

Анализ сочетает динамическое тестирование, изучение бинарных файлов и конфигураций, проверку сетевого протокола и — при наличии исходного кода — code review.

Единая поверхность атаки

Проверяется не только код приложения, но и всё, что его окружает на машине пользователя

Desktop-приложение
Установщик
Службы
Драйверы
Сторонние библиотеки
Локальное хранение
Автообновление
Взаимодействие с сервером

Что входит в анализ защищенности

Оценка безопасности клиентского ПО для Windows, Linux или macOS: прав пользователя, системных интеграций, обновлений и серверных API. Типовой объём работ включает:

Исполняемые файлы и библиотеки

Бинарные файлы, DLL, службы и драйверы приложения

Установщик и обновление

Установка, удаление и механизм автообновления

Локальные данные

Файлы, реестр, базы данных, логи и кэш

Секреты и конфигурация

Учётные данные, токены, ключи и настройки

Каналы взаимодействия

IPC, именованные каналы, сокеты, COM/RPC и URI-схемы

Права доступа

Права на файлы и каталоги, системные службы и задачи планировщика

Сеть и серверные API

Сетевой протокол, TLS и взаимодействие с бэкендом

Защита продукта

Защита от подмены, реверса и небезопасной загрузки библиотек

Чем эта услуга отличается от смежных работ

Три работы, с которыми анализ защищённости desktop-приложения чаще всего путают

Не проверка веб-приложения

Здесь критичны локальные привилегии, файловая система, IPC, установщик и доверие к операционной системе.

Не антивирусный анализ

Проверяется безопасность легитимного продукта и его архитектура, а не только наличие вредоносного кода.

Не только code review

Динамический анализ показывает поведение собранного продукта и ошибки упаковки; код помогает найти первопричину.

Когда анализ десктопного приложения особенно актуален

Моменты, когда поверхность атаки меняется сильнее всего

Перед выпуском корпоративного клиента или агента

После автообновления ОС, драйверов и служб

При работе с привилегиями администратора или чувствительными данными

Перед поставкой продукта заказчику

После перехода на новый фреймворк, упаковщик или механизм подписи

Какие задачи решает для бизнеса

Анализ защищённости десктопного приложения закрывает пять практических вопросов о вашем клиентском ПО

Оставить запрос
1

Безопасное локальное хранение

Секреты и чувствительные данные не должны оставаться в доступном виде в файлах, логах и памяти

2

Контроль привилегий

Обычный пользователь не должен управлять привилегированной службой или подменять исполняемые компоненты

3

Доверенное обновление

Проверяются подпись, источник, целостность и защита от отката на уязвимую версию

4

Защищённое взаимодействие

IPC и сетевые API должны аутентифицировать стороны и проверять полномочия

5

Устойчивость поставки

Анализируются зависимости, подпись кода и настройки сборки

Что проверяется в ходе анализа

Конкретные классы проблем, которые мы ищем в каждом компоненте

Права установки и системные изменения

DLL hijacking, sideloading и небезопасные пути поиска

Службы, задачи, драйверы и повышение привилегий

Локальные секреты, логи и временные файлы

IPC и проверка источника сообщений

Сертификаты, TLS и pinning по необходимости

Автообновление, подпись и защита от downgrade

Сторонние компоненты и небезопасные функции памяти

Как проходит анализ защищённости десктоп-приложения

Шесть этапов — от согласования модели угроз до разбора находок с вашими разработчиками

Этап 1

Модель угроз и подготовка среды

Согласуем ОС, роли, версии, тестовые учётные записи и серверный контур

Этап 2

Инвентаризация компонентов

Изучаем установщик, бинарные файлы, службы, зависимости и системные изменения

Этап 3

Статический анализ

Проверяем метаданные, защитные флаги, строки, секреты и критичные участки

Этап 4

Динамический анализ

Наблюдаем файлы, память, процессы, IPC и сетевое взаимодействие

Этап 5

Контролируемая эксплуатация

Безопасно подтверждаем повышение привилегий, подмену компонентов и доступ к данным

Этап 6

Отчёт и консультация разработчиков

Передаём воспроизведение, первопричину и варианты исправления

Что вы получите в отчёте

Документ, с которым можно идти к разработке, а не только к руководству

Карта поверхности атаки

Компоненты, привилегии, данные и внешние взаимодействия

Технические находки

Доказательства, условия эксплуатации и критичность каждой проблемы

Рекомендации для разработки и сборки

Код, права, подпись, обновление и hardening

Чек-лист повторной проверки

Контрольные сценарии для QA и релизного процесса

Почему работу важно повторять

Desktop-клиент следует проверять при изменении установщика, механизма обновления, привилегированных компонентов и сетевого протокола, а также перед крупными релизами.

Изменение установщика
Смена механизма обновления
Правки привилегированных компонентов
Изменение сетевого протокола
Крупные релизы

Надёжный desktop-клиент не доверяет рабочей станции безусловно

Он ведёт себя безопасно даже тогда, когда локальный пользователь пытается изучить или изменить его работу. Проверим, так ли это у вас.

Получить демо-отчёт и предложение