На серверах Яндекса хранится много нужной и важной для людей информации, поэтому нам необходимо надёжно защищать данные наших пользователей. В этой статье мы хотим рассказать вам о наших исследованиях, в которых мы изучаем, как отличить владельца аккаунта от злоумышленника. Причем даже тогда, когда оба имеют логин и пароль от учетной записи. Мы разработали метод, который основан на анализе поведенческих характеристик пользователей. Он использует машинное обучение и позволяет отличать поведение настоящего владельца аккаунта от злоумышленника по ряду характеристик.
Такой анализ базируется на математической статистике и изучении данных об использовании сервисов Яндекса. Поведенческих характеристик недостаточно, чтобы однозначно идентифицировать пользователя и заменить тем самым использование пароля, но это позволяет определить взлом уже после авторизации. Таким образом, украденный пароль от почты не даст прикидываться её настоящим владельцем. Это по-настоящему важный шаг, который позволит по-другому взглянуть на системы безопасности в интернете и решить такие сложные задачи, как определение настоящего владельца аккаунта, а также момента и характера взлома.
Принято полагать, что способы распознавания человека появились относительно недавно, но на самом деле история различных методов идентификации уходит своими корнями в Средние века. Известно, что в древнем Китае на рубеже 14-15 веков уже догадались использовать отпечатки пальцев. Правда, применяли этот метод ограниченно — купцы таким образом подписывали торговые соглашения. В конце 19 века уникальность папиллярных линий легла в основу дактилоскопии, основоположником которой стал Уильям Гершель. Именно он выдвинул теорию о том, что рисунок ладонных поверхностей человека не меняется в течение всей его жизни.
Дактилоскопическая карта Гершеля
С развитием информационных технологий появились различные системы распознавания пользователя. В большинстве своем эти методы созданы, чтобы человек мог контролировать доступ в какую-то систему, но на самом деле область идентификации и аутентификации пользователей значительно шире.
Ученые всего мира бьются над проблемой идентификации людей по различным признакам. Есть разные модели и теории: от самых популярных, где для распознавания используются уже упомянутые отпечатки пальце, радужная оболочка глаз, голос, до новых и спорных, в которых учитываются движения мышки, клавиатурный «почерк» и поведение на сайте. Яндекс тоже активно занимается изучением существующих моделей и созданием новых. Мы находимся в самом начале пути, но уже достигли некоторых успехов, поэтому хотим вам немного рассказть онаших экспериментах.
Над алгоритмами защиты ящиков от взлома, спама и вредоносной деятельности, которая может нанести ущерб пользователю, мы работаем постоянно. Те методы контроля доступа, которые уже существуют, затрудняют злоумышленникам проникновение в почтовый ящик, но, увы, не решают проблему взлома полностью. Узким местом остается использование пароля, который может быть потерян, украден, перехвачен или подобран. Например, перехват пароля может произойти, если вы используете пароль от Яндекса на других сервисах, где не поддерживается безопасное соединение.
Мы задумались: «А возможно ли отличить взломщика от настоящего владельца аккаунта, если оба авторизуются одним и тем же паролем?» Оказалось, что да. Наши исследования показали, что поведение владельца почтового ящика всегда отличается от того, как ведет себя взломщик.
Вообще поведения пользователя в почте можно выделить ряд характеристик: время входа, обычное месторасположение, количество авторизаций, используемых устройств и др. Есть операции, которые не характерны для конкретного человека. Например, удаление прочитанных писем, стирание папок, отправка рассылок. У челвоека может сложиться определенное поведение при работе с разными типами писем: прочтение писем от людей, удаление рассылок, игнорирование писем из социальных сетей. Кроме того, существуют и такие привычки как «читает цепочку непрочитанных писем снизу вверху», «авторизуется и идет сначала в Почту, потом — в Диск и уже следом — в Новости» и так далее. Такие паттерны поведения могут быть вычислены для многих наших сервисов. Из совокупности этих факторов и складывается профиль пользователя, который не дает полного представления о самом пользователе, но позволяет отличить факт взлома аккаунта от нормальной авторизации. Конечно, этот подход не может быть эффективным без использования машинного обучения. С его помощью определяется набор факторов, которые влияют на профиль, и границы для определения взлома.
Суть этого метода очень проста: каждый имеет привычки, свойственные только ему, начиная с режима работы и отдыха, продолжая местами, в которых человек бывает, и количеством устройств, которыми он пользуется. Например, кто-то всегда проверяет почту из дома и работы, использует два устройства, никогда не удаляет прочитанные письма и не рассылает спам. Он использует почту в дневные часы и никогда не проверяет почту ночью. А кто-то в течении месяца часто бывает в командировках и периодически читает почту из разных стран. У этих пользователей будут различные паттерны поведения, на основе которых можно построить индивидуальный профиль и сравнивать с ним каждый новый заход в почту.
Вот так выглядят профили двух разных людей. На красном графике показан профиль обычного не взломанного пользователя. Видно, что всё достаточно равномерно, и при этом нет резких скачков параметров. Синий график иллюстрирует поведение подозрительного аккаунта: все показатели сильно скачут, прослеживается хаотичное обращение к ресурсу. Это дает возможность предположить факт несанкционированного доступа.
А на этом графике изображено изменение профиля в момент взлома. В синей области видно, что показатели находятся в норме, в то время как в красной зоне уже прослеживаются значительные колебания. Кроме того, отчетливо видны даты, в которые это произошло, что может значительно упростить поиск места взлома.
Такой подход может обезопасить пользователей от кражи паролей и сессионных кук и позволит детектировать взлом даже после авторизации в аккаунте.
Мы пока не готовы говорить о запуске полностью работающей системы определения взлома. Еще не все детали пазла собраны — потребуется время, чтобы в полной мере оценить и научиться использовать преимущества данных технологий. Но их эффективность очевидна уже сейчас: использование машинного обучения в системах защиты информации способно сильно повысить безопасность хранимых данных. Так что мы продолжим работу в этом направлении.
Автор: eandreeva