Ваш баланс $3000

Технический анализ мошенничества с 4k Facebook

ТЛ; др: не доверяйте входам в веб-просмотр в нативных приложениях, они могут прочитать ваши файлы cookie и использовать их в своих интересах.
Следуя ветке Hacker News «Как я потерял 4 тысячи евро из-за мошенничества в Facebook“, мы реконструировали приложение, чтобы увидеть, как это происходит.

Новая волна фишинга

Фишинг. Мы все это знаем, мы все это ненавидим. Ник ван дер Маас тоже его ненавидит, но он стал жертвой нового типа фишинга, который снял 4 тысячи евро с его банковского счета.

Как это случилось? Как Ниек, технически подкованный пользователь, владеющий бизнесом электронной коммерции, попался на подобную атаку?

Процесс входа в систему и проблема доверия пользователей

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

Один из вариантов входа предполагает использование внешнего провайдера, а именно Google, Facebook, Twitter или других. В случае с Facebook, например, Android SDK представляет пользователю нативное наложение и просит пользователя войти в Facebook, используя его или ее имя пользователя и пароль.

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

Но это не всегда так.

Мошенничество с Webview

Что происходит, когда вы включаете Webviews в процесс входа в систему?

Веб-просмотры по своей природе небезопасны. Любое приложение для Android, использующее веб-просмотр, имеет полный доступ к любым данным, хранящимся на веб-сайте, — хранилище сеансов, локальное хранилище и, самое главное, файлы cookie.

Например, приложение, представляющее страницу входа в Facebook, может украсть файлы cookie пользователя после входа на веб-сайт.

Вот скриншоты двух страниц входа. Один из них — небезопасный веб-просмотр, а другой — безопасная собственная страница входа. Можете ли вы сказать разницу?

безопасная нативная страница входа
небезопасный вход в Webview

(Вход в Instagram — это защищенная собственная страница входа)

Потеря 4 тысяч евро в мошенничестве с Facebook

Ник попался на удочку Webview. Ник не обычный пользователь; Он занимается электронной коммерцией, онлайн-маркетингом и консалтингом. По его собственным словам:

Мне до сих пор трудно поверить, что я попался на подобную аферу. У меня есть 2FA на всех моих учетных записях, я использую менеджер паролей, и я вообще очень осторожен с безопасностью учетной записи.

Ник доверил вход в вредоносное приложение, используя свое имя пользователя и пароль Facebook. Но мало ли он знал, что загруженное им приложение было вредоносным и использовало веб-просмотр, чтобы украсть его файлы cookie Facebook, войти в его учетную запись и украсть у него 4 тысячи евро.

Давайте заглянем за кулисы Tiktok Ads Business, вредоносного приложения, которое он скачал.

Получение файлов cookie из веб-просмотра на Android

Поток простой. Ник открывает приложение, нажимает на большую кнопку FB, и ему предоставляется веб-просмотр с мобильной страницей Facebook.

После того, как он входит в систему, приложение запускает эту очень простую строку кода, взятую из декомпиляции приложения, которое мы сделали здесь, в Sayfer:

public final string retrieveWebCookie() {
    return cookieManager.getCookie(LoginActivity.CONST_URL_FACEBOOK);
}

Затем файлы cookie Facebook отправляются на удаленный сервер вредоносного приложения и могут использоваться для входа в учетную запись жертвы.

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

Что дальше?

Изменения необходимы на двух разных уровнях.

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

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

перейти к содержанию