Защита личных данных пользователя в браузерах Сиганов Илья ОмГУ ФКН 5 курс СБС-001-О
Личные данные
● логин-пароли● cookies● история браузера● закладки● web storage, websql, indexedDB● кэш
Где профиль пользователя?
● Хромиум - C:\Users\%username%\AppData\Local\Google\Chrome\User Data\Default
● Firefox - C:\Users\%username%\AppData\Roaming\Mozilla\Firefox\Profiles\$hash.default
● IE - в глубинах реестра Windows
Где пароли?
● Chromium - %PROFILE%\Login Data (sqlite)
● Firefox - %PROFILE%\{key3.db, logins.json, signons.sqlite}
Как защищаются пароли и cookies?
Cromium По-умолчаниюGnome-keyring, kde-wallet ...
Windows WinAPI: CryptProtectData
Linux Plaint-textСторонним сервисом. Хром больше не хранит данные на диске.
Какие риски?
1. ВПО получает доступ к папке профиля. Пароли и cookies скомпрометированы.
2. Любой пользователь ОС с доступом к сессии жертвы может скачать папку и запустить браузер от ее имени.
Интуитивное решение● Шифровать папку профиля браузера.
(cryptkeeper ~EncFS)● Запускать в контейнере или виртуалке с
настроенным Full Disk Encryption.
Но папка с профилем во время работы будет смонтирована и находиться на файловой системе.
Нормальное решение1. Действовать как Firefox с паролями -
шифровать всё средствами браузера.2. Нужен патч подсистемы I/O для
прозрачности.3. Использовать профили браузера, а не
ОС.
Какой смысл?
● Полная защита всех данных пользователя
● Можно использовать браузер в данной сессии ОС многим пользователям
● Все cookies привязаны к профилю в браузере. Не надо каждый раз вводить пароли. Состояние сохраняется.
Почему этого еще нет?Chromium FAQ [перевод]
● Если кто-то получил физ. доступ к компьютеру, то это не проблема хрома.
● Приложение должно доверять локальному пользователю.
● Отключите хранение паролей, куки. Используйте режим инкогнито.
● На публичном компьютере вся информация публична.
Fork it!
● Делаем форк chromium-project/browser● Патчим систему I/O● Добавляем новые функции в UI● Формируем патч или dll. Отправляем
мэйтнерам.
AES, multiprofile, master-key, usb-token…..
Литература1. http://dev.chromium.org/Home/chromium-security/security-faq#TOC-Why-aren-t-physically-local-
attacks-in-Chrome-s-threat-model-
2. http://raidersec.blogspot.in/2013/06/how-browsers-store-your-passwords-and.html
3. https://msdn.microsoft.com/en-us/library/windows/desktop/aa380261(v=vs.85).aspx
4. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
5. https://support.mozilla.org/en-US/kb/profiles-where-firefox-stores-user-data
6. https://developer.mozilla.org/en-US/docs/Mozilla/Multiple_Firefox_Profiles
7. http://dev.chromium.org/Home
8. https://ru.wikipedia.org/wiki/EncFS