Человек включил подтверждение по телефону, придумал длинный пароль и считает вопрос закрытым. Потом у него уводят рабочую почту, репозиторий или доступ к бирже — при этом пароль не менялся, код никто не запрашивал, а уведомления о входе не приходило. Ощущение мистики обманчиво: злоумышленник не проходил проверку, он вошёл после неё. Разберём, что именно крадут в таких случаях и почему привычные меры защиты этот сценарий не покрывают. Это аналитический обзор, а не инвестиционная рекомендация.
Что происходит после ввода пароля
Сеть устроена так, что сервер не помнит собеседника. Каждый запрос браузера приходит как первый, и заставлять пользователя вводить пароль перед каждым нажатием невозможно. Поэтому после успешного входа сервер выдаёт заменитель — сессионный токен.
Это строка символов, которая хранится в браузере и прикладывается к каждому последующему запросу. Смысл её единственный: сообщить серверу, что личность уже подтверждена и заново проверять не нужно. По сути токен — временный пропуск, выданный взамен предъявленных документов.
И вот ключевая деталь: сервер проверяет пропуск, а не его владельца. Предъявителю токена доступ открывается автоматически, потому что процедура аутентификации к этому моменту уже завершена и повторно не запускается.
Именно на этом строятся современные атаки на сотрудников технологических компаний, и совместное предупреждение полиции и службы кибербезопасности одной из азиатских юрисдикций описывает схему по шагам: фальшивый рекрутёр, несколько видеозвонков, тестовое задание с исполняемым кодом, перехват токена и вход в корпоративный репозиторий без единого запроса пароля.
Как токен попадает к чужому
Способов немного, и все они не требуют знания пароля.
Первый — программа на устройстве. Достаточно один раз запустить чужой код: тестовое задание, установщик, расширение браузера. Программа читает хранилище браузера и отправляет содержимое наружу. Пароль ей не нужен, потому что нужен уже выданный пропуск.
Второй — поддельная страница входа, работающая как посредник. Жертва вводит пароль и код подтверждения на копии сайта, посредник передаёт их настоящему сервису, получает в ответ токен и оставляет себе. Формально проверка пройдена честно, только пропуск достаётся не тому. От такого фишинга код из приложения не защищает вовсе: он одноразовый, а токен долгоживущий.
Третий — чужое устройство или незакрытая сессия. Токен остаётся действительным ровно столько, сколько задал сервис, и выход из аккаунта на одном устройстве не всегда прекращает остальные сессии.
Чем это отличается от кражи пароля
| Признак | Украден пароль | Украден сессионный токен |
|---|---|---|
| Нужен второй фактор | Да, вход не пройдёт без него | Нет, вход уже состоялся |
| Помогает смена пароля | Да, сразу | Только если сервис гасит сессии |
| Видно в уведомлениях | Обычно приходит письмо о входе | Нового входа нет, уведомлять не о чем |
| Срок действия у злоумышленника | До смены пароля | До истечения срока токена |
| Что важно для защиты | Сложность и уникальность | Короткий срок жизни и привязка к устройству |
Строка про уведомления объясняет главную неприятность. Компрометация проходит тихо: система не фиксирует нового входа, потому что с её точки зрения никакого входа и не было — просто продолжается ранее начатая работа.
Почему целью выбирают именно сотрудников
Здесь стоит остановиться, потому что логика атакующего отличается от ожидаемой. Личные накопления жертвы интересуют его в последнюю очередь. Ценность представляет доступ, который у человека есть по работе: к репозиториям, панелям управления, ключам инфраструктуры.
Отсюда и выбор приманки. Предложение о работе — единственный повод, по которому взрослый профессионал добровольно запустит незнакомый код и не заподозрит подвоха: для разработчика тестовое задание это рутина, а не подозрительная просьба.
И решающее звено — устройство. Поиск работы человек считает личным делом, а выполняет его на корпоративной технике, где открыты рабочие сессии. Психологически это частный разговор, технически — открытая дверь в компанию.
Отрасль десять лет объясняла людям, что второй фактор решает проблему кражи учётных данных, и это было правдой ровно про пароли. Атакующие просто перестали красть то, что защищено, и начали красть то, что выдаётся после проверки. Защита не сломалась — её обошли по кругу. Пока в голове у пользователя «у меня двухфакторка» означает «я в безопасности», такие схемы будут работать, потому что охраняется вход, а уносят содержимое.
Что действительно защищает
Меры делятся на две группы: те, что в руках сервиса, и те, что в руках пользователя.
На стороне сервиса работают короткий срок жизни токена, привязка сессии к устройству и сети, а также ключи доступа, физически хранящиеся в отдельном устройстве, — такой ключ невозможно передать посреднику, потому что он подписывает конкретный адрес сайта и на поддельной странице просто не сработает.
На стороне пользователя правил меньше, но они простые.
- Разделяйте технику. Всё, что связано с поиском работы, тестовыми заданиями и незнакомым кодом, делается на личном устройстве, а не на рабочем.
- Запускайте чужой код в изоляции. Виртуальная машина или отдельный контейнер, откуда нет доступа к рабочим учётным записям.
- Завершайте сессии, а не только меняйте пароль. После любого подозрительного события ищите принудительный выход со всех устройств.
- Проверяйте адрес страницы входа вручную. Посредник живёт ровно до тех пор, пока вы переходите по присланной ссылке.
- Держите биржевые доступы отдельно. Аккаунт, через который вы распоряжаетесь средствами, не должен жить в том же браузере, где вы открываете вложения.
Для криптовалютных активов добавляется отдельный слой: средства, лежащие на горячем кошельке или на бирже, доступны любому, кто получил сессию, а вот приватный ключ на отдельном устройстве украденным пропуском не достанешь. Отдельные семейства вредоносных программ, известные как похитители из кошельков, специализируются именно на подмене таких сессий и подтверждений.
Что делать, если код уже запущен
Порядок действий важнее скорости, но и медлить не стоит. Сначала отключите устройство от сети, чтобы прервать возможную передачу данных. Затем с другого, заведомо чистого устройства завершите все сессии в критичных сервисах и смените пароли — именно в таком порядке, иначе новый пароль попадёт в те же руки.
Если устройство рабочее, сообщите в службу информационной безопасности, даже если кажется, что ничего не произошло. Важен не сам файл, а то, какие активные сессии могли быть считаны вместе с ним. Правоохранительные органы к таким делам подключаются всё чаще: кражи в криптоотрасли разбирают на уровне межведомственных групп, но возврат средств остаётся редкостью.
Частые вопросы
Значит, двухфакторную защиту можно не включать+
Как понять, что моя сессия скомпрометирована+
Двухфакторная проверка охраняет момент входа, а сессионный токен выдаётся уже после него — поэтому кража токена обходит защиту целиком, не ломая её. Опаснее всего то, что компрометация проходит без следов: нового входа нет, уведомлять систему не о чем, и смена пароля сама по себе чужую сессию может не прервать. Практический минимум состоит из трёх привычек: не запускать чужой код на рабочем устройстве, завершать все сессии, а не только менять пароль, и держать доступ к средствам отдельно от браузера, в котором открываются вложения и присланные ссылки.
Следите за тем, начнут ли сервисы по умолчанию привязывать сессию к устройству, — вместе с остальными сдвигами, собранными в обзоре ключевых трендов рынка. Разборы по горячим следам — в закрытом канале ПРИВАТ.
Обсуждение
Добавить комментарий