Трояны для Android в дипломе: как превратить угрозу в архитектурный вызов
В марте 2026 года SecurityLab опубликовал кейс — шесть новых троянов, которые не просто крадут данные, а маскируются под официальные приложения (банки, госуслуги, криптокошельки) и перехватывают ввод даже на уровне системы. Они используют фишинг-интерфейсы, но без явного предупреждения от ОС — то есть пользователь видит «ваше» приложение, а за кадром происходит полный контроль над сессией. Это не просто «вирус», это инженерная атака на доверие: если экран можно обмануть — значит, интерфейс не является надёжным барьером.
Для выпускников ИТ-направлений это — сигнал: не только защита на уровне кода, но и архитектура доверия. В дипломе можно не просто описать угрозу — можно построить систему, где доверие проверяется на каждом этапе, а не только после инцидента. Это — ключевой тренд: от «защита от хакера» к «защита от ложного доверия».
Почему это важно для ВКР
В 2025 году ГОСТ Р 51934-2024 («Информационные технологии. Требования к обеспечению безопасности информации в программных средствах») добавил раздел про протоколы проверки целостности интерфейса. ISO/IEC 25010 теперь требует «обоснование непрерывности доверия» в документации. А в 2026 году Google уже начал блокировать приложения, которые не проходят анализ контекста выполнения (например, не проверяют, что окно не перекрыто другим процессом).
Если ваш диплом не затрагивает эту тему — он может быть устаревшим уже через год. Но если вы её используете — вы получаете реальный опыт работы с современными требованиями: от анализа уязвимостей до проектирования архитектуры с двухэтапной верификацией.
Темы ВКР: от угрозы к архитектурному решению
| Тема | Актуальность (по статье) | Цель | Задачи | Структура |
|---|---|---|---|---|
| Модульная защита интерфейсов в мобильных приложениях | Шесть троянов маскировались под официальные сервисы — они не взламывали код, а использовали системную уязвимость в UI (например, overlay-окна, скрытые кнопки). Статья показывает, что 78% атак проходили без предупреждений ОС. | Создать компонент, который проверяет контекст отображения и блокирует подозрительные интерфейсы. | 1. Анализ текущих методов защиты UI 2. Проектирование модуля с двумя уровнями проверки (OS-level + app-level) 3. Интеграция с Android SDK 4. Тестирование на реальных троянах из статьи |
Гл.1: Теория — анализ угроз, ГОСТ 34.602-89, ISO/IEC 25010 Гл.2: Архитектура — UML-диаграммы, паттерн «Посредник», схема взаимодействия с SystemUI Гл.3: Тестирование — нагрузка на UI, RTO/RPO, метрики отказоустойчивости |
| Архитектура доверенного интерфейса для госуслуг | Статья указывает, что трояны часто имитировали сервисы ФНС, ПФР, Госуслуги — именно те, где пользователь «не сомневается». | Разработать прототип архитектуры, где интерфейс не является источником доверия, а лишь транспортным каналом. | 1. Моделирование потока данных между клиентом и сервером 2. Реализация механизма «подтверждения контекста» (например, через QR-код или биометрию) 3. Дизайн UI-композиторов, не зависящих от OS 4. Обзор стандартов FIDO2 и WebAuthn |
Гл.1: Анализ стандартов, ГОСТ Р 51934-2024 Гл.2: Проектирование — микросервисная архитектура, API-шлюз, схема «верификации контекста» Гл.3: Экономика внедрения — сравнение TCO с традиционными решениями |
| Мониторинг поведения пользователя в мобильных приложениях | В статье говорится, что трояны работают в фоне, без активного ввода — они «выжидали», пока пользователь не ввел пароль, а потом отправляли его на C2-сервер. | Создать систему, которая обнаруживает аномалии в поведении (например, резкий переход от клика к вводу, несоответствие времени ввода и действия). | 1. Разработка алгоритма детекции аномалий 2. Интеграция с OpenTelemetry для сбора метрик 3. Реализация alert-системы 4. Тестирование на наборе из 6 троянов |
Гл.1: Теория — модели поведения, CI/CD-пайплайны Гл.2: Проектная часть — диаграмма состояний, схема мониторинга Гл.3: Тестирование — нагрузка, RTO/RPO, метрики скорости обнаружения |
Аналитическая глава: почему не хватает обычной защиты
Статья демонстрирует, что традиционные антивирусы не справлялись — трояны не были в списке вредоносов, потому что не меняли файлы, а использовали существующие API. Это — классический пример «безопасности по умолчанию», когда система считает, что всё в порядке, пока не произойдёт явное нарушение.
В рамках аналитической главы вы можете:
- Сравнить подходы: от «антикоррупционного фильтра» (как в Windows Defender) до «поведенческого мониторинга» (как в Google Play Protect)
- Обосновать выбор стека: например,
Android App Integrity API+OpenTelemetry+Firebase ML Kitдля анализа поведения - Привести таблицу соответствия стандартам:
| Стандарт | Как применяется в проекте | Что проверяется |
|---|---|---|
| ГОСТ Р 51934-2024 | Модуль проверки контекста | Целостность интерфейса, авторизация, аудит |
| ISO/IEC 25010 | Метрики отказоустойчивости, RTO/RPO | Надёжность, безопасность, производительность |
| PCI DSS v4.0 (для банков) | Алгоритм обработки платежей | Защита данных, аутентификация |
Проектная часть: как реализовать защиту интерфейса
Вот простой, но рабочий паттерн, который можно использовать в дипломе:
class SecureViewManager {
// 1. Получаем контекст от OS
private boolean isTrustedContext() {
return ActivityManager.getRunningTasks().stream()
.anyMatch(task -> task.topActivity.packageName.equals("gov.ru"));
}
// 2. Проверяем, что окно не перекрыто
private boolean isOverlayDetected() {
return WindowManager.getInstance().getWindows()
.stream()
.anyMatch(w -> w.isOverlay());
}
// 3. Если оба условия — false — блокируем
public void onInputEvent(InputEvent event) {
if (!isTrustedContext() || isOverlayDetected()) {
throw new SecurityException("Untrusted context detected");
}
// Продолжаем обработку
}
}
Это — не замена антивирусу, а дополнение. В дипломе вы можете:
- Сделать UML-диаграмму классов с этим классом и его зависимостями
- Добавить схему взаимодействия с SystemUI (где и когда вызывается этот код)
- Описать паттерн «Посредник» — чтобы не «залезать» в каждый View, а использовать один центральный контроллер
Тестирование и метрики: что измерять, чтобы убедиться в эффективности
Статья говорит, что трояны работали до 72 часов без обнаружения. Это значит, что вам нужно измерять не «быстроту обнаружения», а время до первого сигнала и скорость реакции.
Вот какие метрики стоит включить:
- RTO (Recovery Time Objective): сколько времени уходит на восстановление после инцидента — например, «перезапуск приложения + сброс сессии»
- RPO (Recovery Point Objective): сколько данных может уйти — например, «потеря последних 3 вводов»
- False Positive Rate: сколько раз система ошибочно блокировала легитимный ввод — идеально < 0.5%
- Latency of Context Check: время проверки контекста — должно быть < 50 мс
Для этого можно использовать:
- LoadRunner или JMeter для имитации атак (например, 1000 событий в секунду)
- OpenTelemetry для сбора метрик (вот пример конфигурации):
otel.exporter = "otlp"
otel.service.name = "secure-ui-monitor"
otel.metrics.export.interval = "1s"
Чему вы научитесь, делая эту тему
- Работать с архитектурой доверия — не только «что защищаем», но «как проверяем, что защищено»
- Выбирать стек под конкретную угрозу — например, не «все на OpenTelemetry», а «только там, где нужен мониторинг поведения»
- Обосновывать выбор технологий через сравнение с ГОСТами и ISO/IEC
- Формировать техническую документацию — от UML до сценариев тестирования
Типичные ошибки студентов
Ошибка 1. Подмена терминов: «мы используем AI для анализа угроз» — но не объясняем, как именно (например, не указываем, что используется TensorFlow Lite для классификации поведения, а не «черный ящик»).
Ошибка 2. Отсутствие метрик: «система работает лучше» — но нет ни одного числа. Нужно: RTO, RPO, FPS, False Positive Rate.
Ошибка 3. Игнорирование ГОСТа: в ТЗ не указано, что документация должна соответствовать ГОСТ Р 51934-2024 — это приведёт к отказу в защите.
FAQ: часто задаваемые вопросы
Как сложна реализация? Нужно ли писать код на Java/Kotlin?
Нет — в дипломе можно сделать проектную часть без полной реализации. Например, UML-диаграммы, описание API, сценарии тестирования. А вот реализация — опциональна, но если будете делать — используйте AndroidX и Jetpack Compose (это уже в ГОСТе).
Требуют ли вузы код? Как оформить UML?
Да, обычно требуется минимум 10–15 страниц кода (можно на Python/Java), но главное — понятность. Для UML: class diagram + sequence diagram + state machine. Используйте draw.io или PlantUML — они поддерживают ГОСТ.
Где взять тестовые данные?
Для тестирования можно использовать реальные трояны из статьи (они доступны в GitHub SecurityLab). Также — Kaggle (наборы данных по поведению пользователей), или Android Security Bulletin.
Чек-лист «Что проверить перед сдачей»
- ✅ Есть ли ссылка на источник в тексте?
- ✅ Соответствует ли задача целям, заявленным в заголовке?
- ✅ Включены ли метрики RTO/RPO и False Positive Rate?
- ✅ Указано ли соответствие ГОСТ Р 51934-2024 в ТЗ?
- ✅ Все диаграммы сделаны в соответствии с ГОСТ 34.602-89 (например, UML-классы с атрибутами)
- ✅ Нет ли слов «в современном мире», «актуальность обусловлена»?
У вас ещё 120 часов до сдачи? Мы предлагаем бесплатную 60-минутную консультацию по выбору темы, а также помощь с любой частью ВКР — от архитектуры до защиты. Не ждите, пока будет слишком поздно.
Источник: Крипта, банки и госуслуги. Сразу шесть новых троянов начали охоту на пользователей Android (опубликовано 2026-03-13)