DLP-система для смартфона на C++
- Backend
- Mobile
- С
- С++
- Bash
- Java
- ARM Assembly
- JSON
- Git
- Repo
- adb/fastboot
- dts
- Linux Kernel Development Tools
- SELinux
- OpenSSL
- Mobile
Индустрия
ИТ
У вас есть задача?
Давайте обсудим?
О клиенте
Более 15 лет организация развивает решения в области ИБ, а именно: межсетевые экраны, технологию шифрования, инструменты для управления рисками кибербезопасности, облачный сервис мониторинга упоминаний в Интернете и др. Продукты предлагаются крупному и среднему бизнесу из РФ, Ближнего Востока и Азии.
О проекте
Система для защиты от утечек информации через смартфоны. Благодаря программе компании имеют санкционированный дистанционный доступ к мобильным устройствам и управляют корпоративными данными. С целью удовлетворения новых бизнес-потребностей было необходимо доработать прошивку на базе ОС Android и повысить эффективность контроля.
Описание задачи
Основной запрос клиента состоял в модернизации существующей DLP-системы. В ходе диалога команда RedLab определила ключевые задачи:
- Найти решения перехвата транзакций в мессенджерах, приложениях и облачных хранилищ.
- Пересобрать систему из исходного кода Android Open Source с закрытыми драйверами и загрузчиком.
- Расширить функционал ПО, добавив перехват интернет-трафика и геолокационные данные.
- Внедрить библиотеки и фреймворки С++, чтобы сократить объем кода и оптимизировать работу программы.
Реализация
В рамках задачи по улучшению DLP-системы разработчики RedLab выполнили следующие решения:
- Провели исследование внутренней архитектуры Android, включая механизмы системных перехватов данных и управления правами доступа.
- Развернули зеркало репозитория Android Open Source. Удалось сократить время доступа к исходному коду и работать в изолированных условиях.
- Выполнили реверс-инжиниринг прошивки необходимого Android-смартфона, что обеспечило совместимость системы с закрытыми компонентами устройства.
- Расширили класс перехвата транзакций новыми видами сообщений, а также протокол взаимодействия компонента перехвата и сервера принятия решений DLP-системы.
- Использовали sender_pid для получения имени процесса-отправителя, а из parcel извлекли информацию об интерфейсе, которому предназначено сообщение.
- Подготовили актуальный репозиторий прошивки для целевого устройства с интегрированной DLP-системой на уровне исходного кода.
- Описали и структурировали кластеры на С++, которые позволили оптимально распределить ресурсы и повысить производительность ПО.
- Написали компонент с межпроцессным взаимодействием (IPC), предоставляющий асинхронное и неблокирующее общение с внешними службами.
- Встроили контейнеры, которые содержат пересылаемые данные от процесса-отправителя к процессу-адресату, код транзакции, запись фейкового ответа и булевое значение, определяющее на какой стороне произошел перехват транзакции.
- Усовершенствовали процесс инсталляции программы на смартфон без необходимости root прав.
- Улучшили механизмы контроля доступа, предотвращающие несанкционированное копирование, передачу и удаление информации.
- Сделали модификацию загрузчика на Sandler — новые возможности помогли адаптировать ОС под специфические задачи компании.
Результат
Переходите по ссылке, чтобы узнать об аутсорсинге разработчиков С++ больше.