если знать аккаунт другого человека что можно делать
Как много всего можно сделать, если получить доступ к аккаунт Google человека?
Если у вас стоит мобильный аутентификатор на Гугл аккаунте (т.е. двухэтапная аутентификация или проще говоря вы привязали аккаунт к номеру телефона) то войти туда будет затруднительно не зная многого о вас (не даром контрольные вопросы есть), ну а если вы подарите телефон тому кто вас взломал то у него будет полный доступ ко всем данным, вернее практически. Есть сайты которым нужна только почта для восстановления пароля, а есть ещё требуют подтверждения кода с СМС на телефон, те у которых есть такая защита останутся нетронутыми в случае если ваш телефон при вас. Гугл очень печется о безопасности ваших данных так что переживать не стоит, но если вы параноик то все что можно сделать это привязать к гугл аккаунту свой номер телефона, а пароль должен состоять не менее чем из 12 символов, в нем должны быть буквы, цифры и спец символы, в разнобой, и там не должно быть словарных слов, тогда ваш аккаунт будут взламывать долго и нудно,и скорее все они пошлют все к чертям когда сверхмощный комп который угадывал ваш пароль около суток подберёт пароль а там нужно ввести код с смски.
Вообще если уже отвечать на вопрос «что можно сделать если взломать акк?» то все что можно сделать это удалить данные, почитать переписки и если у вас имеется нужная им информация то они ее украдут, а так ничего интересного.
Если отвечать на вопрос «безопасно ли это?» то ответ ДА, ибо во-первых взлом надо заслужить, во-вторых взломать акк можно только если вы опрометчиво дали кому-то пароль, почту и телефон, в-третьих если вас захотят взломать капитально то без телефона и знания пароля у злоумышленников на это уйдут недели.
Как хакеры могут получить доступ к учетной записи Google и почему это опасно
Google предупреждает пользователей о необходимости проверки пароля от учетных записей. «Хайтек» рассказывает, почему это важно и какими способами хакеры могут получить доступ к учетной записи.
Читайте «Хайтек» в
Учетные записи Google — популярные цели для хакеров, потому что они есть у большинства людей и часто используются для важных служб. Каждая из них оснащена функциями безопасности, которые затрудняют доступ. Однако большинство этих функций не являются обязательными и игнорируются пользователями.
На этой неделе Google предупредила, что пользователям необходимо перепроверить свои пароли: облачные учетные записи стали отличной мишенью для майнеров криптовалюты. Также хакеры могут попытаться захватить доступ к аккаунту или украсть данные пользователя, используя почту Gmail, Google Диск и журнал действий в браузере Google Chrome.
Зачем еще хакерам нужен аккаунт Google?
Учетная запись — это совокупность данных о пользователе, которая нужна для его опознавания и предоставления доступа к личным данным и настройкам. Она хранится в компьютерной системе. Сами по себе аккаунты Google не имеют особой ценности. Обычный человек не собирается платить за нее выкуп. А если ее украдут, то аккаунт можно вернуть, обратившись в службу поддержки.
Хакеры нацелены на учетные записи Google, потому что многие люди используют Gmail в качестве основной учетной записи электронной почты. Это значит, что учетная запись Google часто обеспечивает доступ к банку человека, его электронным кошелькам, учетным записям онлайн-магазинов и соцсетям.
«Опасно использовать один и тот же пароль на нескольких сайтах — сообщает Google на своей официальной странице. — Если ваш пароль для одного сайта взломан, его могут использовать для доступа к вашим учетным записям на нескольких сайтах».
Вот несколько способов, которыми хакеры могут воспользоваться, чтобы украсть данные пользователя.
Общественный Wi-Fi
Публичный Wi-Fi часто бывает незащищенным. Небезопасные сети позволяют хакерам отслеживать все данные, которые вы отправляете и получаете с веб-страниц, находясь в этой сети. Вместо того, чтобы использовать бесплатный Wi-Fi для доступа к учетной записи, рекомендуется войти в систему, используя мобильные данные, это гораздо безопаснее.
Дело в том, что общедоступность Wi-Fi делает его идеальной мишенью для кражи паролей. В беспроводных сетях получить доступ к передаваемой информации намного проще, чем в обычных, как и повлиять на канал передачи данных. Достаточно поместить соответствующее устройство в зоне действия сети.
Например, хакер может создать реплики популярных веб-сайтов, когда кто-то пытается войти на обычный сайт через общедоступный Wi-Fi. Незашифрованные сети также позволяют хакерам получать информацию, которую они анализируют позже. Такой метод называется сниффингом пакетов. Также хакеры могут украсть ваш пароль через базовое соединение Wi-Fi.
Подбор паролей
Многие используют пароли, основанные на том, что им нравится. Например, человек может использовать имя своего питомца или любимой группы, книги, фильма. Хакеры знают об этом и часто изучают жертву, прежде чем красть ее данные. Некоторые из преступников даже задают людям специальные вопросы. Если человеку хочется использовать легко запоминающийся пароль, важно избегать любой информации, которую хакер легко может получить. Например, можно изучить свои социальные сети, чтобы понять, какая информация о вас является очевидной, и не использовать ее для пароля.
Попытки фишинга
Фишинг — это когда кто-то запрашивает личную информацию, которую он может использовать для доступа к учетной записи. Распространенный способ фишинга — заставить пользователя войти на поддельный сайт. Обычно электронные письма выглядят так, будто их отправили компании или лица, которому жертва доверяет, но на самом деле заражают устройства вредоносным ПО.
Фишинговые электронные письма выглядят как обычные, и неподготовленный или просто неопытный пользователь может без колебаний нажать на нужную киберпреступнику ссылку. В прошлом году исследователи Google обнаружили более 2 млн фишинговых веб-сайтов — это на 25% больше, чем в 2019 году. Эксперты не рекомендуют пользователям открывать электронные письма, в которых они не уверены, переходить по подозрительным ссылкам в мессенджерах и проверять URL-адрес сайта.
Продажа скомпрометированных данных другого сайта
Любой сайт можно взломать. Если человек является пользователем взломанного веб-сайта, его пароль может быть украден и опубликован в интернете, возможно, в даркнете. Таким образом, каждый раз, когда пользователь использует пароль своей учетной записи Google за пределами Google, он рискует. Рекомендуется создавать для каждого сайта новый аккаунт с уникальным паролем.
Взлом вторичного аккаунта
Когда пользователь регистрирует учетную запись Google, его просят указать адрес электронной почты. Это позволяет восстановить учетную запись, если человек забудет свой пароль. Проблема в том, что пользователь может редко использовать дополнительную учетную запись, и, возможно, она не так уж хорошо защищена.
Хакеры знают об этом и могут попытаться взломать запасной аккаунт, чтобы получить доступ к основному. Необходимо убедиться, что дополнительная учетная запись защищена надежным уникальным паролем.
Как предотвратить взлом учетной записи Google?
Все учетные записи Google предлагают двухфакторную аутентификацию, которая не позволяет никому получить доступ к ней без доступа, например, к телефону. После настройки двухфакторной аутентификации большинство описанных выше методов взлома станут неэффективными.
Что произойдет, если аккаунт Google взломают?
Если учетная запись Google взломана, ущерб, который может нанести хакер, во многом зависит от того, к чему подключен аккаунт. Но даже если пользователь не использует учетную запись для чего-то важного, все равно он потеряет к ней доступ, пока не докажет, что она принадлежит именно ему. К счастью, атаки хакеров рассчитаны на людей, не понимающих той угрозы, которую они представляют. Если понять, как киберпреступники планируют и осуществляют взломы, предотвратить их несложно.
Если узнают аккаунт моего телефона, что смогут увидеть или прочитать
Использование современных технологий зачастую сопряжено с рядом опасностей. Несмотря на популярность сервисов Google, многие из них хранят информацию в открытом виде или позволяет «выудить» её с помощью сторонних программ, скриптов и прочих приемов. И потому определённые навыки и софт позволяют узнать о человеке многое, просто использовав его адрес электронной почты. Осторожно! Приведённая ниже информация может вызвать приступ паранойи!
Что будет, если пользовательский аккаунт попадет в руки мошенников
Мошенничество в Сети давно уже стало глобальной проблемой. Спам, письма с вирусами, социальная инженерия — лишь малая часть. Но бывает, что в руки злоумышленникам попадают пользовательские данные — фотографии, видео, местоположение… И это уже настоящая проблема.
Для получения доступа подойдёт скрипт GHunt, который можно найти на GitHub.
Как утверждает разработчик, он позволяет узнать немало сведений о пользователе. Хотя последняя версия датируется 2020 годом и некоторые бреши уже закрыты, пока ещё остаётся немало данных, которые можно получить таким образом.
Неполный список того, что можно выяснить:
К счастью, список программ, модель телефона, публичные фото и некоторые другие данные уже закрыты от просмотра таким образом. Но и других сведений вполне достаточно. Потому возникает закономерный вопрос — как защититься.
Как защитить свой Google-аккаунт от взлома
Ответ на этот вопрос даёт сама компания Google.
При подозрении на взлом или угон аккаунта, нужно сделать следующее:
Также нужно проверить компьютер на вирусы, возможно, обновить или заменить браузер, сменить пароли и соблюдать любые другие меры предосторожности.
Инструкция удаления аккаунта пошагово
Иногда ситуация ухудшается настолько, что удаление аккаунта является единственным вариантом.
Для этого нужно сделать следующее:
Отметим, что при наличии только одной учётной записи Google на смартфоне, система потребует дополнительного ввода PIN-кода, пользовательского пароля или графического ключа. А чтобы в дальнейшем не возникало проблем с аккаунтами Google, нужно не забывать о безопасности, ставить надёжные пароли и не выкладывать личные данные в общий доступ.
Что интересного можно собрать, получив доступ к чужому браузеру на 5 минут
Применяя советы из статьи помните об Уголовном Кодексе, золотом правиле нравственности и о том, как неприятно будет человеку, если он узнает, что вы делали что-то подобное.
Этот материал — продолжение статьи Что интересного можно собрать, получив доступ к чужому Mac на минуту. В ней написано о том, какую информацию о человеке можно узнать из его компьютера, пока тот ненадолго отошел. Сегодня расскажу о фишках по быстрому сбору информации из браузера.
Многие сайты не просят авторизации с паролем при каждом заходе на них и это открывает огромные возможности для доморощенных детективов. Все фишки из статьи просты, выполняются за несколько минут и не требуют теоретической подготовки.
Но если вдруг соберетесь применять их для реальной слежки, рекомендую немного потренироваться на своем компьютере, чтобы чувствовать себя уверенно.
Естественно, все эти знания могут вам пригодиться для личных мирных целей: сбор информации из собственного почтового ящика, наведение порядка в контактах и т.д.
1. Получаем детализацию звонков
Чтобы получить детальную информацию о звонках абонентах не нужно иметь связей в органах или тайно снимать скан паспорта, готовясь атаковать менеджера салона сотовой связи приемами социнженерии. Достаточно получить аппарат с нужной симкой на пять минут в личное пользование.
У МТС (и Билайн вроде тоже), если раздать WiFi с телефона, то с компьютера вход в личный кабинет осуществляется без пароля. В личном кабинете можно заказать PDF (или XLS) файл с детализацией звонков за полгода (или более короткий срок) и послать на любой адрес электронной почты. И этот процесс занимает меньше минуты! Естественно, тоже самое можно провернуть, если зайти в личный кабинет непосредственно со смартфона.
Другие операторы я не проверяла, но скорее всего у них аналогичная ситуация. Так что не стоит просматривать историю звонков на телефоне, лучше сразу послать детализацию себе на почту. Очень удобно, что в файле видно из каких регионов идут звонки. Можно отследить местоположение абонента в разные периоды:
Свести номера из детализации с реальными людьми поможет восьмой раздел из статьи Что интересного можно собрать, получив доступ к чужому компьютеру Mac на минуту, либо информация в пункте 4 текущего текста.
2. Смотрим историю поиска
Открываем history.google.com, нажимаем на иконку «три вертикальные точки» и в открывшемся меню выбираем пункт Download searches, соглашаемся с условиями и закрываем уведомление о том, что архив с историей поиска придет к нам на почтовый ящик. Открываем Gmail и дожидаемся письма с искомым файлом (придет через пару минут). Не забываем удалить это письмо.
Поисковые запросы в архиве распределены по месяцам в файлы формата json. Его можно конвертировать в файл Microsoft Excel на сайте json-xls.com.
3. Сохраняем себе чужие письма
Это трюк проходит только с почтовым ящиками на Gmail. Идем на docs.google.com и создаем новый файл. Открываем Инструметы->Редактор скриптов и копируем в него следующий код:
[jscript]
function collectEmails() <
var doc = DocumentApp.create(‘Переписка’); // Новый файл появится в корневой папке Google диска
var searchText = «[email protected]»; // Адрес, переписку с которым надо сохранить
var finalText = «»; // Переменная в которую будем собирать тексты писем
var body = doc.getBody();
var threads = GmailApp.search(searchText); //Ищем все письма, содержащие искомый адрес
for (var x=0; x Скачать как). Не забываем об удалении всех созданных файлов.
Метод search() можно использовать не только для поиска переписки с конкретным человеком. Вот другие примеры поисковых запросов, которые можно указать в скобках:
Если вы хотите использовать несколько параметров, то указывайте их через пробел.
Можно было просто скачать почтовый ящик в формате mbox, но для этого необходимы ввод пароля и длительное ожидание.
4. Экспортируем контакты из Gmail
Идем на contacts.google.com, в правом меню выбираем пункт Экспорт, читаем сообщение о том, что экспорт поддерживается только старой версией контактов и переходим на нее по ссылке в окне. Попав в старую версию, нажимаем на шестеренку и в выпадающем меню выбираем пункт Экспорт, выбираем параметры экспорта в появившемся окне и нажимаем на кнопку экспорт. В папке загрузок ищем CSV-файл, который можно открыть в Excel, Numbers или Google Docs.
5. Следим за жизнью жертвы
Пользователь обнаружит слежку за своим расписанием, только если захочет расшарить его кому-то еще и зайдет в настройки.
6. Читаем чужую почту каждый день
Часто ли вы смотрите папку «Удаленные»? Большинство людей, которые не слишком активно пользуются почтой, заглядывают в нее раз в квартал и можно спокойно пересылать их письма себе.
Если в Gmail настроить автоматическую пересылку почты традиционным способом на некий адрес, то неделю при заходе в почту будет отображаться всплывающее уведомление об этом сверху экрана. Это делается в целях защиты пользователя от любителей следить за чужой перепиской.
Но если сделать это с помощью Google Apps Script, то никто ничего не заметит (если, конечно, жертва регулярно не просматривает список триггеров GAS).
Идем на docs.google.com и создаем новый файл. Открываем Инструметы->Редактор скриптов и копируем в него следующий код:
[jscript]
function forwardEmails() <
var searchText = «newer_than:1d»;
var threads = GmailApp.search(searchText); // Ищем письма, отправленные в последние сутки
for (var x=0; x Триггеры текущего проекта Сохранить/либо Экспортировать как PDF. После копируем сохраненный файл к себе на флешку и по завершению операции в спокойной обстановке изучаем собеседников человека и их страницы. Аналогично можно поступить со всеми сайтами, на которых есть возможность обмениваться личными сообщениями.
Если очень надо и у вас есть хотя бы полчаса доступа, то можно намутить сохранитель сообщений на iMacros, который сохранит переписку полностью. Но готовый код в статье дать сложно, так как там необходимо использовать указатели элементов по координатам X,Y, которые у каждого пользователя будут свои. А для описания общего подхода к написанию таких макросов нужна отдельная статья. Что-то можно почерпнуть из Хочешь я посижу в интернете за тебя?. Плюс этот способ уже выходит за рамки 5-минутного вторжения.
8. Узнаем на каких сайтах и под какими логинами зарегистрирован человек
В большинстве браузеров хранится список сохраненных логинов и паролей для сайтов, на которых зарегистрирован пользователь. В Safari их можно посмотреть в Safari->Настройки->Пароли. Список сайтов с логинами можно скопировать, последовательно нажав Command + A и Command + С.
9. IP-адрес
Если есть подозрения, что человек троллит вас в комментах, делает фейковые заказы в вашем интернет магазине, нагло ворует контент с вашего проекта (таких людей можно выследить с помощью «Вебвизора» от Яндекс.Метрики), то нужно сравнить его IP-адрес с IP хулигана, определенный счетчиком. Сделать это можно на 2ip.ru.
Не забываем заметать следы
После завершения всех операций необходимо аккуратно почистить историю, список загрузок и папку загрузок.
А также необходимо сделать так, чтобы история изменений файлов на Google Drive выглядела естественно, то есть, чтобы сверху уведомления о создании новой таблицы появился список действий (размером с правую панель), которые бы не вызывали подозрений у жертвы.
Пример как это сделать: тайком позвонить другу и попросить расшарить жертве какие-нибудь файлы на Google Диске (со словами: сделай сейчас, пожалуйста, чтобы не забыть). И надо подгадать так, чтобы файлов/папок с файлами было несколько.
Естественно, это далеко не полный список того, что можно вытащить из браузера человека. Если как следует подумать (особенно над тем, как отвлечь жертву хотя бы на полчасика), то можно обнаружить десятки не менее эффективных фишек.
Если вам интересна тема любительской разведки и сбора данных, то возможно вам понравятся статьи:
Как я воровал данные с пользовательских аккаунтов в Google
Вы со мной не знакомы, но существует известная вероятность, что я знаком с вами. Причина в том, что у меня есть полный, неограниченный доступ к приватной информации миллионов людей, размещённой на аккаунтах Google. Отправленные по почте выписки по банковским счетам, медицинские документы, хранящиеся на Google Drive, сохранённые и пересланные чаты из Facebook, голосовые сообщения на Google Voice, личные фотографии на Google Photos. Список можно продолжать. Никто из них не знает об этом сейчас и никогда не узнает в будущем. Возможно, в их число входите и вы.
И как же я такое провернул? Всё началось с разработанного мной приложения. По очевидным причинам, обнародовать название я не стану. Приложение довольно нехитрое, оно рассчитано на людей, увлекающихся фитнесом, и предлагает возможности типа внесения данных о скорости во время пробежки или готовых комплексов силовых упражнений. Как и многие другие продукты, оно требует, чтобы пользователь первым делом создал аккаунт. По данным аналитики, примерно 60% людей вместо того, чтобы полностью проходить процедуру регистрации, соблазняются заманчивой кнопкой «Войти с Google».
Вы, наверное, в общих чертах знаете, что происходит в таких случаях: когда пользователь нажимает на кнопку, внутри приложения открывается браузерное окошко входа в аккаунт Google.
У данного пользователя подключена двухфакторная идентификация, поэтому после того, как он ввёл почту и пароль, выскакивает диалоговое окошко, уточняющее, точно ли это он. Местоположение и тип устройства совпадают, поэтому он кликает на «Да».
Вот, собственно, и всё. Теперь человек может спокойно пользоваться приложением, а я, между тем, получаю полный, неограниченный доступ к его аккаунту с удалённого сервера. Ему никогда не придёт никаких сообщений по этому поводу. А если он окажется из дотошных и начнёт изучать сетевой трафик, то увидит, что устройство направляло сетевые запросы только и исключительно на различные поддомены google.com.
Но как такое вообще возможно? Давайте вернёмся к нашей кнопке «Войти с Google». Сразу проясним одну вещь: для тех, кто не в курсе, после нажатия этой кнопки приложение может сделать всё что угодно. Запустить процесс авторизации в Google, издать трубный глас, показать гифку с котиком. Не все варианты из этого списка равно вероятны, но помечтать-то можно.
В моём случае, по клику на кнопку приложение при помощи WebView открывает диалоговое окно и задаёт веб-адрес: accounts.google.com/EmbeddedSetup. Он действительно соответствует странице входа в аккаунт Google, только особой, рассчитанной на новые устройства Android. Это обстоятельство сыграет свою роль позже, когда нам любезно предоставят всю необходимую информацию в виде cookie.
К сожалению, эта страница и выглядит, и действует иначе, чем стандартная страница авторизации (по крайней мере, такая, какой она должна быть по умолчанию):
Обратите внимание на странную синюю полоску, слова Learn more и примерно всё на правой картинке
И вот теперь-то начинается веселье. Я использую стандартные API, встроенные как в iOS, так и в Android, чтобы внедрить тщательно прописанный фрагмент кода на Javascript, который произведёт необходимые модификации, чтобы страница не отличалась от стандартной ни своим видом, ни поведением.
Догадливые сейчас подумают: «Стоп, так раз можно внедрить код на JavaScript, что мешает просто похитить логин и пароль прямо из текстовых полей?». Абсолютно ничего – вообще говоря, для этой цели уже и готовый код существует. Но в наше время доступа к логину и паролю уже недостаточно. Разве что очень повезёт и сервер окажется в радиусе нескольких сотен миль от местоположения пользователя. В противном случае пользователь получит письмо и оповещение с сообщением о «подозрительной активности» и попытка взлома будет пресечена. А двухфакторная авторизация усложняет нам жизнь ещё сильнее.
Так что давайте поговорим о чём-нибудь другом, например, о мастер-токене. На первый взгляд, выглядит как-то недобро, а на второй – оказывается ещё хуже, чем казалось.
Когда на устройстве Android впервые проводится процедура авторизации, он отсылает токен, полученный от вышеупомянутой встроенной страницы входа в аккаунт, на особый endpoint. Вот пример типичного запроса:
Токен в этом запросе берётся из cookies страницы входа в аккаунт, а всё остальное – информация, которая находится в открытом доступе (спасибо, microG!). Та же страница входа в аккаунт улаживает дела с двухфакторной авторизацией – нам вообще не приходится ничего предпринимать.
После этого вышеупомянутый endpoint отсылает тот самый мастер-токен. Но как бы мне получить к нему доступ без подозрительных сетевых запросов? Очень просто: через лог в Google Firebase.
А мастер-токен – это мощная штука. У него неограниченный срок действия при условии, что пользователь не меняет пароль или настройки двухфакторной идентификации. Насколько мне известно, он не подвергается никаким проверкам безопасности, невзирая на местоположение, IP и производимые действия. Он никогда не провоцирует систему на отправление пользователю уведомления или письма.
И главное: он открывает мне путь ко всем без исключения сервисам, которые когда-либо были доступны с мобильного устройства, от лица владельца соответствующего аккаунта. Достаточно одного запроса POST, чтобы я мог прикинуться официальным аккаунтом Google и обзавестись OAuth-токеном для доступа к чему угодно, включая частные (и, скорее всего, нигде не опубликованные) API. Я могу читать письма, бродить по Google Drive, просматривать бэкапы с телефона и фотографии на Google Photos, а заодно ознакомиться с веб-историей пользователя и поболтать с его друзьями по Google Messenger. Я даже создал модифицированную версию microG, с которой могу управлять всеми этими пользовательскими аккаунтами непосредственно из обычных приложений Google.
И напоминаю, весь процесс выглядит вот так. Предлагаю всем задаться вопросом: а вы бы попались?
Разоблачение
Как многие из вас уже догадались, не всё в этой статье правда. Я не публиковал никаких фитнес-приложений на Play Store и не собирал миллионы мастер-токенов. Спасибо этому материалу за вдохновение. Но сам метод работает. Я, да и любой другой разработчик, определённо мог бы сделать приложение с таким сюрпризом (возможно, кто-то уже и сделал).
Но ведь страница отличается от нормального входа в аккаунт. Я бы заметил!
Отличия не так уже бросаются в глаза, так что, скорее всего, не заметили бы. Страница входа в аккаунт Google на Android, как правило, имеет интерфейс типа «выберите аккаунт», но бывают и исключения – например, многие веб-приложения, вроде тех, которые делают на Ionic и Cordova. Большинство iOS-приложений тоже часто отдают предпочтение веб-версии, очень напоминающей приведённый вариант. Кроме того, даже если вам кажется, что отсутствие экрана с «такое-то приложение просит доступ…», вас точно насторожит, то его вполне можно внедрить ценой нескольких лишних часов работы.
Это и на iOS работает?
Я не пробовал, но нет оснований считать, что не сработает.
И что с этим делать?
Вообще, вопрос сложный. Ни одно из моих действий, строго говоря, не подпадает под определение эксплойта, но результат, тем не менее, несёт большую опасность. Для начала Google неплохо бы разобраться со своими уведомлениями насчёт «входа с нового устройства», чтобы они нормально работали. Лично я их получаю, когда пытаюсь зайти в аккаунт с компьютера, но, пока тестировал это приложение, система не сработала ни разу. Другая хорошая идея – обновить гайдлайны, в том, что касается кнопок «Войти с Google»; сейчас там вообще ничего не говорится о требованиях к реализации. Возможно, им стоило бы углубиться в дебри безопасности через неясность – этот принцип, несмотря на все свои недостатки, пока что отлично служит Apple для обеспечения безопасности в iMessage.
Вынужден признать: у меня нет уверенности, что тут можно найти техническое решение, которое полностью устранило бы проблему. Если у официального приложения Google есть возможность выполнить какое-то действие, значит, и сторонние программы при должном старании смогут его повторить. Впрочем, в компании работают неглупые люди, так что поживём – увидим.
Эта проблема актуальна для всех систем авторизации в сторонних приложениях?
Вполне вероятно. Я не разбирался досконально, в каких случаях рассылаются оповещения, а в каких – нет, но даже когда оповещения приходят, из них не всегда понятно, что происходит. Функция «Войти с Apple», как бы там ни было, снабжена очень жёстким гайдлайном, причём администрация App Store (где функция, полагаю, в основном и используется) строго отслеживает выполнение требований. С другой стороны, у них свои проблемы с авторизацией, на фоне которых эта меркнет.
Реальная история
Пусть это были не миллионы, но небольшое количество мастер-токенов у ничего не подозревающих пользователей я как-то раз действительно собрал, причём совершенно непреднамеренно.
Реальная история моего прозрения началась с того, что я разработал приложение-проигрыватель Carbon Player; сейчас оно уже кануло в лету, так и не получив широкого распространения. Приложение замышлялось как замена Google Play Music (помните времена, когда такое существовало?), только с дизайном в разы круче. Чтобы получить доступ к пользовательской папке с музыкой, я перевёл gmusicapi Саймона Вебера на Java, но, переписывая код, поначалу особо не вникал, как там устроен процесс авторизации. Понял только, что нужны логин и пароль пользователя, которые я запрашивал через незамысловатое диалоговое окошко, а потом идут какие-то запросы и вываливаются какие-то токены, которые мне подходят для извлечения музыки.
Перед тем как передать первую версию приложения небольшой группе тестировщиков, я прочесал код, везде добавил логирование и ещё внедрил интерцептор, который должен был автоматически загружать все логи на Firebase. Конечно, не логать пароли мне ума хватило, но три токена, полученные моей имплементацией gmusicapi, я по ошибке залогал. Два из них были довольно безобидными – давали доступ только к разным хранилищам музыки. А вот третий оказался мастер-токеном.
В общем, приложение за всё время своего существования собрало от силы двадцать пять скачиваний, и я быстро махнул на него рукой, чтобы не отвлекаться от учёбы. Но перед этим успел выпустить пару обновлений, в одном из которых появился редизайн новой отпадной (ну, по тем временам) домашней страницы Google Play Music – одного из немногих элементов исходного продукта, которые неплохо смотрелись.
Процесс оказался намного заморочнее, чем я думал, и пришлось неожиданно много заниматься обратной разработкой Protocol Buffers. Что важнее, по какой-то причине теперь там требовался совершенно иной токен, который в gmusicapi реализован уже не был. В итоге, чтобы его внедрить, я на несколько часов зарылся в систему авторизации, пытаясь разобраться, как она устроена. Это привело к ужасному моменту прозрения, когда я осознал, что логировал самую секретную информацию, какую только можно. Скажу одно: логирование прекратилось. Двадцать пять человек, которые скачали приложение, простите меня, пожалуйста (ваши токены я с Firebase удалил!).
Был ещё один, не связанный с первым случай, когда я работал в стартапе, создававшем менеджер паролей. Одним из ключевых преимуществ приложения было то, что оно хранило пароли строго на телефоне, но при этом позволяло авторизоваться с компьютера благодаря букмарклету на JavaScript, который «соединял девайсы» через QR-код. Чтобы всё проходило гладко, когда пользователь открывал сайт на компьютере, приложение обращалось к тому же сайту с телефона и внедряло тщательно прописанный фрагмент кода на JavaScript, который фиксировал логины, пароли и всё прочее. Знакомо звучит?
В конце концов, эти две идеи срослись у меня в голове. У меня был создан прототип Carbon Player, но не хватало времени взять его в работу. Спустя несколько лет я наконец начал создавать на его базе что-то вроде демо-версии. В процессе пришлось многое изменить – метод, описанный в этой статье, значительно отличается от того, что было реализовано в прототипе, поскольку Google внёс изменения в систему авторизации. Но конечный итог остаётся прежним и пугает не меньше, чем тогда.
Если хотите, можете скачать демо-версию и посмотреть на систему в действии; даю слово, что на облако ничего не логируется. Имейте в виду, что приложение очень простое и практически не тестировалось, так что есть немалая вероятность, что метод не сработает, если у вашего аккаунта иная конфигурация. Спасибо, что прочитали статью, надеюсь, вы получили удовольствие от небольшого напоминания о том, насколько важно ставить всё под сомнение. Даже самые безобидные вещи иногда таят внутри что-то не слишком приятное (хотя в случае с тортом-мороженым бывает и наоборот).