Коротке дослідження безпеки використання месенджера Signal на iOS (iPhone)
В даний час, месенджер Signal де факто використовується багатьма військовими для обміну інформацією. Провів невеликий аудит цього месенджера, щоб з’ясувати, які метадані месенджер Signal передає на сервер під час обміну повідомленнями, яку інформацію може отримати зловмисник при використанні експлоїтів типу Pegasus (NSO group), яку інформацію можна отримати при використанні криміналістичних інструментів типу Cellebrite premium, Graykey, а також наскільки безповоротно видаляється з пристрою інформація (повідомлення, зображення, голосові) при видаленні з чатів листування.
При отриманні nofficafon у Signal про нове повідомлення, робиться GET запит на адресу https://chat.signal.org. І у відповідь в JSON отримуємо закодоване повідомлення.
Після цього на сервер надсилається запит, що можна видаляти повідомлення. Бачимо, що після доставки на телефон повідомлення моментально видаляється з сервера, що дуже добре.
При надсиланні зображення воно відправляється в два етапи. Спочатку сервер Signal повідомляється про бажання відправити зображення, і наш пристрій отримує у відповідь як би «реквізити для завантаження» upload_id та ін., потім вже відправляється саме зображення у зашифрованому вигляді.
Очевидно, що крім версії програми Signal і версії iOS телефону, ніякої додаткової інформації на сервері Signal при обміні повідомленнями не надсилається.
База даних Signal називається нехитро «signal.sqlite
», але зашифрована і знаходиться по шляху: «/private/var/mobile/Containers/Shared/AppGroup/<app container>/grdb
».
Ключ шифрування від бази даних Signal знаходиться у Keychain за значенням «GRDBKeyChainService
». Але якщо на телефон потрапив keychain_dumper
. За допомогою його сховище ключів розшифровується та дістається ключ шифрування бази Signal.
Далі вже справа техніки... І ось уже базу даних розшифровано.
Усі повідомлення, які ви надсилаєте або отримуєте, знаходяться у таблиці «model_TSInteracfon
»
Але є і хороша новина, при видаленні історії чату або окремих повідомлень вони реально видаляються з бази даних без відновлення. Так що чистіть частіше чати.
Ще один невеликий недолік Signal в тому, що всі файли (зображення, голосові), що надсилаються вашим абонентам, поміщаються в тимчасову директорію і зберігаються там у незашифрованому вигляді. Навіть якщо ви видалите в чаті картинку, у тимчасовій папці вона залишається.
Тимчасова папка чиститься, але за дуже дивним алгоритмом. Поки ваш Signal «висить у треї» всі файли, що ви відправляєте будуть знаходиться в цій папці. Для чищення папки необхідно прибрати Signal з «трею» і запустити його знову. Тільки при перезапуску Signal тимчасова папка очиститься.
Підсумки
Signal досить захищений додаток, який не збирає про вас зайву інформацію. Але якщо ви «зловили»
4 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів