Security for all - #33 - 25 ноября 2018

Побег из виртуальности - побег из VirtualBox и шифрование SSD

Сегодня

Новое Android API для обновления приложений; побег из гостевой системы VirtualBox; проблемы с аппаратным шифрованием SSD накопителей.

Новости

Новое Android API для обновления приложений

На саммите разработчиков компания Google представила новый программный интерфейс для обновлений внутри приложения (“In-app Updates”). Это поможет разработчикам поддерживать у пользователей последнюю версию приложения.

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

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

https://thehackernews.com/2018/11/android-in-app-updates-api.html

Побег из VirtualBox

Исследователь Сергей Зеленюк (Sergey Zelenyuk) опубликовал информацию об уязвимости нулевого дня в VritualBox. Он не стал передавать информацию производителю, а сразу опубликовал информацию в качестве протеста против текущей ситуации с процессами раскрытия и исправления уязвимости, а также излишней шумихи в некоторых случаях.

Найденная проблема касается виртуального адаптера Intel E1000. Для достижения эффекта исследователю пришлось эксплуатировать несколько уязвимостей, чтобы обойти рандомизацию адресного пространства (ASLR) и защиту выполнения данных (DEP).

Эксплуатация позволяет привилегированному пользователю гостевой системы выполнить код в контексте хостовой системы. Для этого сначала выгружается драйвер сетевого адаптера в гостевой системе, получается информация для обхода защитных механизмов, запускается выполнение кода и возвращается драйвер сетевого адаптера, чтобы гостевая система могла дальше использовать сеть.

Для защиты от уязвимости, пока не выпущено официальное исправление, пользователям рекомендуется сменить тип сетевого адаптера. Если вы интересуетесь эксплуатацией подобных уязвимостей, рекомендую почитать оригинальную статью. В ней достаточно подробно расписаны все этапы.

https://thehackernews.com/2018/11/virtualbox-zero-day-exploit.html

Проблемы с аппаратным шифрованием SSD

Исследователи Карло Мейер (Carlo Meijer) и Бернард ван Гастел (Bernard van Gastel) из Голландского университета Radboud проанализировали прошивки нескольких моделей твердотельных накопителей SSD поддерживающих аппаратное шифрование и пришли к выводу, что злоумышленники могут расшифровать данные не зная пароль.

Для защиты данных компьютера на случай, если компьютер попадет в руки злоумышленников, нужно применять шифрование данных. Желательно шифровать данные на всем диске, а не отдельные файлы. Потому что, например, операционная система или программы могут делать временные копии редактируемых файлов. Полнодисковое шифрование для защиты от этой угрозы выглядит надежнее.

Шифрование всего диска можно делать двумя способами. Первый - полностью программное шифрование. В этом случае только первоначальный код инициализации будет работать с незашифрованными данными и практически сразу запросит пароль. После этого ключ шифрования будет находится в памяти и операционная система сможет расшифровывать получаемые с накопителя данные. Постоянное присутствие ключей шифрования в памяти - это проблема. Ведь вредоносное ПО будет иметь возможность добраться до них. Другая проблема - трата ресурсов на шифрование, а значит и некоторое замедление системы в целом.

Второй способ - использовать накопитель, поддерживающий аппаратное шифрование. Self-encrypting drive - накопитель с самошифрованием. Программные продукты, выполняющие полнодисковое шифрование могут полагаться на аппаратное шифрование, экономя тем самым ресурсы системы. Например, BitLocker - решение, встроенное в операционную систему Windows, переключается полностью на аппаратное шифрование, если накопитель его поддерживает.

Аппаратное шифрование

Чтобы не было влияния на производительность самого диска, в накопителях с поддержкой шифрования присутствует сопроцессор, который выполняет криптографические операции. Такие накопители шифруют все содержимое ключом шифрования диска (Disk Encryption Key - DEK), даже если данные не защищены паролем. Защита зашифрованных данных сводится к защите паролем ключа шифрования. Также такой подход позволяет “стереть” данные путем удаления ключа шифрования диска, а смена пароля не приведет перешифрованию всех данных накопителя.

ATA

В стандарте работы с накопителями ATA, или как привычнее русскому слуху [ата], есть механизм ограничения доступа к диску при помощи пароля. Бит MASTER PASSWORD CAPABILITY задает режим работы этого механизма. Если бит выставлен в 0, то доступ к данным может быть получен либо с использованием мастер пароля, либо с помощью пароля пользователя. Если значение бита 1, то доступ осуществляется только с помощью пароля пользователя.

На момент появления дисков с шифрованием стандарт уже существовал и некоторые производители стали его использовать. Мастер пароль задается производителем. Когда пользователь задает свой пароль, он должен либо позаботиться о смене мастер пароля, либо поменять значение MASTER PASSWORD CAPABILITY на 1, чтобы к данным нельзя было получить доступ с помощью мастер пароля.

TCG Opal

Более современным стандартом шифрования дисков является стандарт Opal разработанный Trusted Computing Group. Этот стандарт позволяет задать несколько разных паролей. Согласно стандарту накопитель может быть разбит на несколько регионов, каждый из которых защищен паролем. Один регион может быть защищен несколькими паролями. А один пароль может иметь доступ к нескольким регионам. Получается отношение многие ко многим.

Проприетарные протоколы

В некоторых случаях производители используют проприетарные протоколы. Некоторые могут предпочитать свои протоколы стандарту Opal или же просто Opal вышел позже, чем была разработана конкретная модель накопителя и у производителя по сути не было выбора.

Проблемы

После анализа прошивок накопителей и их схем исследователи нашли несколько проблем. На многих моделях дисков присутствует разъем JTAG, предназначенный для отладки. Через него есть возможность модифицировать выполняющийся код.

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

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

Еще одна серьезная проблема - возможность модификации прошивки из-за отсутствия подписи. В этом случае вредоносное ПО может разместить себя в прошивке диска и тем самым переживать полную переустановку операционной системы.

После проведенного исследования авторы пришли к выводу, что нужно полагаться только на открытые программные реализации, такие как VeraCrypt. Закрытые проприетарные механизмы сложно поддаются анализу и проверке защищенности, а наличие модулей аппаратного шифрования в современных процессорах делает программную реализацию не сильно медленной.

https://thehackernews.com/2018/11/self-encrypting-ssd-hacking.html


На сегодня все. До следующей недели.