Исследование образа операционной системы webOS телевизора LG 55SK8000PUA
Статья представляет собой перевод публикации Маттиа Эпифани "Путешествие в мир IoT-криминалистики - анализ телевизора LG".
В Интернете можно найти различные исследования, посвященные взлому и эксплуатации умных телевизоров LG. Отличным ресурсом является сайт SANE Lab, управляемый профессором Seungjoo Kim. Рекомендуется ознакомиться с его работами по смарт-телевизорам LG и Samsung:
- Безопасность Smart TV от Сын Джин Ли на CANSECWEST 2013
- Безопасность Smart TV от Сын Джин Ле на TROOPERS 2013
- Взлом, слежка и обман жертв на Smart TV от Сын Кина Ли на Blackhat 2013
- Вы смотрите телевизор? Это реально: Взлом смарт-телевизора с использованием уязвимости 0-day, обнаруженной Сонджу Кимом на Hack в Париже в 2017 году
- Смарт-телевизор LG или Samsung: какой лучше для отслеживания ваших действий? от Сангмина Ли
Что касается криминалистики и криминалистических исследований телевизоров, предлагается прочитать:
- Судебно-медицинская экспертиза и анализ Palm webOS на мобильных устройствах, проведённые Эоганом Кейси
- Обзор криминалистики LG Smart TV
- Дальнейший анализ криминалистики Smart TV от Minsu Park
- Судебная экспертиза Smart TV: цифровые следы на телевизорах от NFI на DFRWS EU 2015
- Криминалистика Smart TV от Data Forensics
Проверка образа и разметки диска
Прежде всего я попытался загрузить предоставленный образ (image.001) от VTO Labs в X-Ways Forensics версии 20.0. При простой загрузке изображения инструмент не смог найти схему разделов.
Затем я воспользовался функцией "Сканировать на наличие потерянных разделов", и X-Ways обнаружил четыре раздела EXT4.
Затем я провёл дополнительное тестирование с помощью трёх дополнительных инструментов: MobileRevelator, TestDisk и 7-Zip.
MobileRevelator обнаружил четыре раздела EXT4: три из них (раздел 0, раздел 1 и раздел 2) уже были обнаружены X-Ways, а раздел 3 был обнаружен MobileRevelator, но не X-Ways Forensics.
[Обновление от 4 января 2021 года]
В версии X-Ways 20.1 SR-1, также основанной на данной публикации, проблема была исправлена, и теперь можно найти все разделы.
MobileRevelator
TestDisk обнаружил четыре раздела EXT4, аналогично MobileRevelator
7-zip обнаружил SquashFS в начале образа.
Squashfs имеет структуру папок в стиле Linux и, по-видимому, содержит файлы webOS.
Тогда я решил запустить на образе "binwalk", данный инструмент обнаружил 6 файловых систем SquashFS.
В общей сложности я нашёл шесть разделов SquashFS, извлечённых с помощью binwalk, и четыре раздела EXT4, извлечённых с помощью MobileRevelator и TestDisk: раздел 0 (/mnt/lg/uhdcp), раздел 1 (/var/db), раздел 2 (/mnt/lg/cmn_data) и раздел 3 (/media).
Файлы SquashFS
Шесть файлов SquashFS содержат стандартную версию LG webOS. Файл "/etc/issue" содержит версию операционной системы. В наборе данных он содержит "webOS TV 3.5.0".
Раздел 0 (/mnt/lg/uhdcp) и раздел 1 (/var/db)
Раздел 0 (/mnt/lg/uhdcp) и раздел 1 (/var/db), по-видимому, не содержат полезных данных с точки зрения криминалистики.
Раздел 2 (/mnt/lg/cmn_data)
Раздел 2 (/mnt/lg/cmn_data), по-видимому, содержит наиболее интересные с точки зрения криминалистики файлы.
Файл "/.iot/accountInfoFile" содержит имя пользователя, по-видимому, связанное со службой Amazon Echo. В предоставленном наборе данных интересными кажутся три значения: userID, userNo и aliasName.
Файл "/.iot/networkInfoFile" содержит название устройства (в предоставленном наборе данных "[LG] webOS TV SK8000PUA'')
Файл "/btsvc/mtk.conf" содержит:
- название телевизора Bluetooth (в предоставленном наборе данных "[LG] webOS TV SK8000PUA"
- MAC-адрес Bluetooth телевизора (в предоставленном наборе данных "00:51:ed:2b:db:27", производства LG Innotek)
- сопряженный пульт дистанционного управления LG MR18 Bluetooth MAC-адрес (в предоставленном наборе данных 98:f5:a9:da:aa:f5)
Файл "/btsvc/mrcu1.info" содержит дополнительную информацию о пульте дистанционного управления, включая версию прошивки.
Файл "/btsvc/pairing_history" содержит информацию о сопряжении пульта дистанционного управления, включая временные метки.
Файл "/btsvc/bluedroid-mtk/rec/bluedroid/bt_config.conf" содержит дополнительную информацию о сопряжённых устройствах.
Папка "/channel_logo/major_logo_img" содержит изображения телеканалов и связанные с ними файлы JSON.
Файл "/irdbmanager/setting/oss_setting_info_stb.txt" содержит информацию о подключенной телеприставке. В предоставленном наборе данных телеприставка изготовлена компанией "Direct TV" и подключена к порту HDMI_1. Название сервиса "DirectTV (Denver)".
Файл "/var/lib/connman/" содержит информацию о подключении Wi-Fi.
Файл "/var/luna/data/downloadhistory.db" содержит информацию об установленных приложениях. Для каждой установки доступен встроенный файл JSON. Он содержит информацию о конкретном приложении, включая временные метки. В этом наборе данных установлены различные приложения, такие как Netflix, Amazon Prime Video, Vudu, ChannelPlus, Sling и YouTube.
Папка "/var/lib/wam/" содержит информацию о "Web Application Manager" — компоненте, отвечающем за управление веб-приложениями на платформе webOS. Подпапка Default — это папка профиля в стиле Chrome, которую можно проанализировать с помощью Hindsight.
В профиле хранятся различные базы данных Localstorage в стиле Chrome. Среди прочего, lgappstv.com содержит дату последнего использования для каждого установленного приложения.
Папка "/var/luna/preferences/" содержит различные настройки телевизора.
Файл "/var/luna/preferences/localtime" содержит информацию о местном часовом поясе. В предоставленном наборе данных "/usr/share/zoneinfo/America/Denver".
Файл "/var/luna/preferences/option" содержит различные настройки телевизора, в том числе почтовый индекс. В предоставленном наборе данных "80020" соответствует "Брумфилду, штат Колорадо", где находится VTO Labs.
Файл "/var/luna/preferences/locl" содержит значение SHA-256 системного PIN-кода. В предоставленном наборе данных значение равно "9af15b336e6a9619928537df30b2e6a2376569fcf9d7e773eccede65606529a0", что соответствует PIN-коду "0000".
Файл "/var/luna/preferences/systemprefs.db" содержит различные системные настройки, включая местный часовой пояс.
Вот ещё несколько интересных файлов в папке "/var/luna/preferences/":
- time
- twinTV
- channel
- environmentCondition
- localeinfo
Например, файлы "analytics_log_NNN.tgz" содержат информацию о запуске приложения и других действиях пользователя. Эти журналы, безусловно, требуют дополнительных исследований, но они точно пригодятся для построения графика использования.
Папка "/webbrowser/chrome/Default" содержит внутренние данные веб-браузера. Веб-браузер webOS основан на Chromium, поэтому содержимое папки можно легко проанализировать с помощью Hindsight.
В предоставленном наборе данных я нашёл три поисковых запроса в Google ("календарь", "почта AOL", "Sprout"

Раздел 3 (/media)
Раздел 3 (/media) содержит пользовательские данные и двоичные файлы сторонних приложений, библиотеки и конфигурации.
Папка "cryptofs/apps/usr/palm" содержит двоичные файлы сторонних приложений, библиотеки и конфигурации.
Файл "cryptofs/apps/var/lib/status" содержит сведения о сторонних приложениях, включая дату установки.
Согласно предыдущим статьям:
- Папка "captureTV" должна содержать отснятые изображения
- Папка "internal" должна содержать пользовательские файлы (обои, загрузки, рингтоны)
- Папка "myphoto" должна содержать фотографии пользователей
Выводы
В ходе анализа я смог найти:
- Информацию об аппаратном и программном обеспечении устройства
- Информацию об учетной записи
- Настройки сети (Bluetooth и Wi-Fi)
- Настройки телевизора
- Часовой пояс и почтовый индекс
- Список установленных приложений
- История просмотров
- Журналы использования
- Медиафайлы