Проверим, как ваше приложение ведёт себя на машине, где атакующий контролирует файлы, память, трафик и обновления
У нас есть необходимые лицензии и сертификаты
Нам доверяют, в том числе, системообразующие компании страны и федеральные органы власти
Desktop-приложение работает в среде пользователя, где атакующий может изучать файлы, память, IPC, сетевой трафик и механизм обновления.
Риски возникают не только в собственном коде приложения. Установщик, службы, драйверы, сторонние библиотеки, локальное хранение, механизм автообновления и взаимодействие с сервером образуют единую поверхность атаки.
Особенно опасны ошибки, позволяющие обычному пользователю повысить привилегии, извлечь секреты или подменить обновление.
Анализ сочетает динамическое тестирование, изучение бинарных файлов и конфигураций, проверку сетевого протокола и — при наличии исходного кода — code review.
Единая поверхность атаки
Проверяется не только код приложения, но и всё, что его окружает на машине пользователя
Оценка безопасности клиентского ПО для Windows, Linux или macOS: прав пользователя, системных интеграций, обновлений и серверных API. Типовой объём работ включает:
Исполняемые файлы и библиотеки
Бинарные файлы, DLL, службы и драйверы приложения
Установщик и обновление
Установка, удаление и механизм автообновления
Локальные данные
Файлы, реестр, базы данных, логи и кэш
Секреты и конфигурация
Учётные данные, токены, ключи и настройки
Каналы взаимодействия
IPC, именованные каналы, сокеты, COM/RPC и URI-схемы
Права доступа
Права на файлы и каталоги, системные службы и задачи планировщика
Сеть и серверные API
Сетевой протокол, TLS и взаимодействие с бэкендом
Защита продукта
Защита от подмены, реверса и небезопасной загрузки библиотек
Три работы, с которыми анализ защищённости desktop-приложения чаще всего путают
Не проверка веб-приложения
Здесь критичны локальные привилегии, файловая система, IPC, установщик и доверие к операционной системе.
Не антивирусный анализ
Проверяется безопасность легитимного продукта и его архитектура, а не только наличие вредоносного кода.
Не только code review
Динамический анализ показывает поведение собранного продукта и ошибки упаковки; код помогает найти первопричину.
Моменты, когда поверхность атаки меняется сильнее всего
Перед выпуском корпоративного клиента или агента
После автообновления ОС, драйверов и служб
При работе с привилегиями администратора или чувствительными данными
Перед поставкой продукта заказчику
После перехода на новый фреймворк, упаковщик или механизм подписи
Анализ защищённости закрывает пять практических вопросов о вашем клиентском ПО
Оставить запросБезопасное локальное хранение
Секреты и чувствительные данные не должны оставаться в доступном виде в файлах, логах и памяти
Контроль привилегий
Обычный пользователь не должен управлять привилегированной службой или подменять исполняемые компоненты
Доверенное обновление
Проверяются подпись, источник, целостность и защита от отката на уязвимую версию
Защищённое взаимодействие
IPC и сетевые API должны аутентифицировать стороны и проверять полномочия
Устойчивость поставки
Анализируются зависимости, подпись кода и настройки сборки
Конкретные классы проблем, которые мы ищем в каждом компоненте
Права установки и системные изменения
DLL hijacking, sideloading и небезопасные пути поиска
Службы, задачи, драйверы и повышение привилегий
Локальные секреты, логи и временные файлы
IPC и проверка источника сообщений
Сертификаты, TLS и pinning по необходимости
Автообновление, подпись и защита от downgrade
Сторонние компоненты и небезопасные функции памяти
Шесть этапов — от согласования модели угроз до разбора находок с вашими разработчиками
Модель угроз и подготовка среды
Согласуем ОС, роли, версии, тестовые учётные записи и серверный контур
Инвентаризация компонентов
Изучаем установщик, бинарные файлы, службы, зависимости и системные изменения
Статический анализ
Проверяем метаданные, защитные флаги, строки, секреты и критичные участки
Динамический анализ
Наблюдаем файлы, память, процессы, IPC и сетевое взаимодействие
Контролируемая эксплуатация
Безопасно подтверждаем повышение привилегий, подмену компонентов и доступ к данным
Отчёт и консультация разработчиков
Передаём воспроизведение, первопричину и варианты исправления
Документ, с которым можно идти к разработке, а не только к руководству
Карта поверхности атаки
Компоненты, привилегии, данные и внешние взаимодействия
Технические находки
Доказательства, условия эксплуатации и критичность каждой проблемы
Рекомендации для разработки и сборки
Код, права, подпись, обновление и hardening
Чек-лист повторной проверки
Контрольные сценарии для QA и релизного процесса
Desktop-клиент следует проверять при изменении установщика, механизма обновления, привилегированных компонентов и сетевого протокола, а также перед крупными релизами.
Надёжный desktop-клиент не доверяет рабочей станции безусловно
Он ведёт себя безопасно даже тогда, когда локальный пользователь пытается изучить или изменить его работу. Проверим, так ли это у вас.
Получить демо-отчёт и предложение