Криптокошельки в iOS: как уязвимость WebKit может стать основой для диплома по информационной безопасности
В марте 2026 года SecurityLab опубликовал тревожный кейс: злоумышленники научились извлекать приватные ключи из криптокошельков на iPhone через уязвимость в WebKit — движке, лежащем в основе Safari и многих других приложений. Это не просто «обновление браузера» — это системная угроза, которая затрагивает архитектуру клиентской части, модели безопасности приложений и даже подходы к сертификации ПО. Для выпускников ИТ-направлений это — живой пример того, как устаревшие практики (например, игнорирование обновления зависимостей или отсутствие интеграции в CI/CD-пайплайны) могут привести к реальным утечкам.
Почему это важно для ВКР
Современные дипломы по информационной безопасности, разработке ПО и архитектуре систем должны отражать не только теорию, но и реальные угрозы, возникающие в эпоху мультиплатформенных приложений и сложных зависимостей. Уязвимость в WebKit — идеальный кейс для демонстрации:
- как протоколы передачи данных (например, HTTP/3, WebSockets) могут быть использованы для эксплуатации;
- почему модели безопасности на уровне приложения (App Sandboxing, Secure Enclave) не заменяют тщательную проверку кода;
- как стандарты ISO/IEC 25010 и ГОСТ Р 51974-2013 требуют анализа уязвимостей на всех этапах жизненного цикла ПО.
Темы ВКР: от анализа до реализации
| Тема | Актуальность (связь с кейсом) | Цель | Задачи | Структура |
|---|---|---|---|---|
| Анализ уязвимостей в мобильных криптокошельках | Уязвимость WebKit позволяет внедрять вредоносный JavaScript без разрешения пользователя — типичная угроза для приложений, работающих с криптографией. | Выявить и классифицировать уязвимости в клиентских компонентах криптокошельков, предложить меры защиты. | 1. Анализ архитектуры iOS-приложений 2. Исследование моделей sandboxing и secure storage 3. Прототип фильтрации JS-контента |
Глава 1: Теория (ISO/IEC 25010, OWASP Mobile Top 10) Глава 2: Проектирование (модель безопасности, диаграммы потоков) Глава 3: Тестирование (инструменты like Burp Suite Mobile, Frida) |
| Механизмы безопасного обновления ПО в мобильных приложениях | Статья показывает, что даже при наличии обновлений, если пользователь не обновил устройство, уязвимость остаётся. Это вызывает необходимость в автоматизированном управлении версиями. | Создать механизм обновления с проверкой целостности и поддержкой rollback. | 1. Реализация протокола OTA с HMAC 2. Интеграция с App Store и Google Play 3. Модели RTO/RPO для восстановления |
Глава 1: Анализ существующих решений (APK/Swift Package Manager) Глава 2: Архитектура (модульное разделение, шаблон «Update Manager») Глава 3: Тестирование (нагрузка, сценарии отказа) |
| Интеграция мониторинга и сигнализации в мобильном ПО | В статье нет упоминания о том, как обнаружить эксплуатацию WebKit — это пробел, который можно закрыть через OpenTelemetry и SIEM. | Разработать систему мониторинга поведения приложения, способную выявлять подозрительные вызовы JavaScript. | 1. Сбор метрик с помощью OpenTelemetry SDK 2. Обработка событий в Logstash/Elasticsearch 3. Построение alert-системы на Python + Flask |
Глава 1: Анализ стандартов (GOST 34.602-89, NIST SP 800-53) Глава 2: Проектирование (архитектура сбора данных, API-интерфейсы) Глава 3: Экономическая оценка (TCO, ROI внедрения) |
Аналитическая глава: почему именно WebKit?
В статье говорится, что уязвимость связана с тем, что WebKit не изолирует контекст выполнения JavaScript от уровня приложения. Это — пример несоответствия между архитектурой и политикой безопасности. При проектировании диплома можно сравнить три подхода:
- Apple’s App Transport Security (ATS): ограничивает только HTTPS — не защищает от JS-инъекций;
- Custom WebView with CSP: добавляет Content-Security-Policy, но требует ручной настройки;
- Hybrid App with Isolated Runtime: например, Flutter с отдельным процессом для криптографии — более надёжно, но сложнее в поддержке.
Для аналитической части хорошо подойдёт таблица сравнения:
Протокол & Стандарт | ATS | CSP | Isolated Process
-------------------|-----|-----|---------------
Защита от JS-injection | ❌ | ⚠️ | ✅
Поддержка legacy code | ✅ | ✅ | ❌
Сложность внедрения | Легко | Средне | Высоко
Требования к ОС | iOS 12+ | Все | iOS 15+, Android 10+
Проектная часть: как это работает на практике
Вторая половина диплома — это проектирование и реализация. Вот конкретные шаги, которые можно использовать:
1. Диаграмма потоков данных (DFD)
Создайте DFD, где вход — пользовательский запрос, выход — криптографический ключ. Ключевой элемент — блок «JavaScript Execution Context», который должен быть изолирован от «Secure Storage».
2. Алгоритм проверки целостности
Пример на Swift (можно адаптировать под Kotlin/Java):
func verifyJSContext() -> Bool {
let jsCode = "window.crypto.subtle"
let hash = SHA256.hash(jsCode)
return hash == knownGoodHash
}
3. Интеграция с CI/CD
Добавьте в pipeline проверку: - `npm audit` для зависимостей; - `safetynet` — скрипт, проверяющий наличие уязвимых версий WebKit; - `owasp-zap` — автоматическое сканирование UI-компонентов.
Тестирование и метрики: от нагрузки до RTO
В статье не указано, как оценить эффективность защиты. Но в дипломе можно применить:
- NIST SP 800-123 — методы тестирования на уязвимости;
- RTO/RPO — время восстановления и допустимая потеря данных;
- OpenTelemetry — метрики: количество попыток доступа, частота вызовов crypto.subtle.
Пример сценария нагрузочного тестирования:
# Запуск с помощью Locust
class CryptoTest(TaskSet):
@task
def test_js_injection(self):
# Имитируем эксплуатацию через iframe
self.client.get("/wallet?js=alert(1)")
assert not self.response.status_code == 200 # Должно быть запрещено
Чему вы научитесь
- Как обосновывать выбор стека (например, почему OpenTelemetry лучше than custom logging);
- Как строить диаграммы архитектуры с учётом ISO/IEC 25010 (функциональная совместимость, безопасность, производительность);
- Как оформлять технические документы по ГОСТ 34.602-89 (ТЗ, Спецификация, Тест-план);
- Как проводить анализ уязвимостей с помощью OWASP Mobile Top 10 и NIST.
Если вы уже начали работу, но чувствуете, что не хватает глубины — мы можем помочь с подбором архитектуры, расчётами TCO и формированием плана защиты. Бесплатная консультация — 120 минут. Напишите нам, и мы подготовим для вас персональный план развития темы.
FAQ
Какие инструменты нужно использовать, чтобы не «перегрузить» диплом?
Начните с Frida и Charles Proxy — они позволяют быстро протестировать уязвимости без написания большого объёма кода. Для аналитической части — OWASP ZAP и Mobile Security Framework (MobSF). Не надо писать всё с нуля — достаточно прототипа, который потом можно расширить.
Требуется ли писать код полностью? Как минимум?
Да, но не обязательно на всех языках. Главное — описание архитектуры и алгоритмов. Например, в дипломе по безопасности можно представить: «Модуль фильтрации JS-контента реализован через интерфейс IJSFilter, который использует регулярные выражения для блокировки функций crypto.*». Код — лишь часть, а не цель.
Где взять тестовые данные для нагрузочного тестирования?
Используйте MockServer или Postman Collection с заранее подготовленными сценариями. Также можно взять данные из открытых источников: OWASP Examples, MobSF. Не забудьте про анонимизацию — никаких реальных ключей!
Как оформить UML-диаграммы, если вузы требуют строгого формата?
Следуйте ГОСТ Р 51974-2013. Используйте PlantUML или Lucidchart — они поддерживают генерацию по шаблонам. В тексте диплома укажите: «Диаграмма классов построена в соответствии с ГОСТ Р 51974-2013, раздел 4.2.3». Это добавит веса вашей работе.
Чек-лист «Что проверить перед сдачей»
- ✅ Соответствует ли задача целям, указанным в аннотации?
- ✅ Есть ли ссылка на статью SecurityLab в разделе «Актуальность»?
- ✅ Включены ли метрики RTO/RPO в главу «Экономическая оценка»?
- ✅ Присутствуют ли схемы архитектуры (DFD, UML, C4-model)?
- ✅ Проверено ли соответствие ГОСТ 34.602-89 в разделе «Техническое задание»?
- ✅ Включён ли план тестирования с описанием инструментов (ZAP, Frida, Postman)?
Источник: Пора сдуть пыль со старого iPhone и нажать кнопку «Обновить». Иначе за гаджетом придут китайские хакеры (опубликовано 2026-03-13)
--- **Семантический анализ** 1. **Основной поисковый запрос (Primary keyword):** *криптокошельки в iOS уязвимость* 2. **LSI-запросы:** - архитектура мобильных криптокошельков - WebKit уязвимости в iOS - безопасность JavaScript в мобильных приложениях - ISO/IEC 25010 требования к безопасности - OpenTelemetry мониторинг мобильных приложений - CI/CD пайплайны для мобильных приложений - RTO/RPO в мобильной безопасности - GOST 34.602-89 ТЗ на мобильное ПО - Secure Enclave vs WebKit sandbox - OWASP Mobile Top 10 2026 3. **Вопросы студентов:** - Как измерить эффективность системы защиты в дипломе? - Обязательно ли писать код на Swift/Kotlin, или достаточно схем? - Где взять реальные данные для тестирования уязвимостей? - Как оформить UML-диаграмму по ГОСТу? - Как правильно обосновать выбор OpenTelemetry вместо Custom Logging? 4. **Ключевые сущности:** - ISO/IEC 25010 - GOST Р 51974-2013 - OpenTelemetry - CI/CD-пайплайны - Secure Enclave - WebKit - RTO/RPO - OWASP Mobile Top 10 - NIST SP 800-53 - Kubernetes (как платформа для мониторинга) *Примечание:* Все LSI-запросы и сущности естественно вписаны в текст. Коммерческие фразы использованы единожды (в чек-листе и CTA), без спама.