От черного списка до машинного обучения. Антифишинг в Яндекс.Браузере. Защита от фишинга в современных браузерах

  • Информационная безопасность ,
  • Машинное обучение
  • Злоумышленники, специализирующиеся на воровстве паролей, номеров банковских карт и прочей личной информации, появились еще в прошлом веке и с тех пор их число только растет. Согласно отчету Лаборатории Касперского , от 9% до 13% их пользователей в России сталкиваются с фишингом. Ежегодно в мире фишинг и другие формы кражи личных данных наносят ущерб в $5 млрд, согласно оценкам Microsoft . Это в целом соответствует нашим наблюдениям и объясняет, почему в любом более-менее популярном браузере есть защита от фишинга, основанная на «черных списках». В Яндекс.Браузере она тоже есть. Казалось бы, зачем изобретать что-то еще?

    Safe Browsing

    Самое очевидное решение для защиты пользователей – это использование готовой базы со списком фишинг-сайтов. Проверяем по «черному списку» посещаемые страницы и предупреждаем, если нашлось совпадение. На этой идее и основана защита с использованием технологии Safe Browsing, которая работает в Яндекс.Браузере с момента его появления.

    Немного о том, как это работает. В Браузере регулярно обновляется список плохих сайтов весом в несколько мегабайт. На самом деле опасных сайтов очень много, а степень сжатия ограничена, поэтому вместо явных адресов локально храним лишь префиксы (т.е. начальная часть) их хэшей. Посещаемые сайты проверяем по локальной базе. Если нашли совпадение, то префикс отправляем на сервер, в ответ получаем полные хэши, перепроверяем, если и здесь совпадение, то показываем предупреждение. Цепочка выглядит длинной, но работает за доли секунды, не плодит запросы и, что наиболее важно, защищает пользователя.


    Списки Safe Browsing пополняются с помощью поисковых и антивирусных технологий Яндекса, детали которых раскрывать по понятным причинам не стоит. Однако сторонние разработчики тоже могут воспользоваться результатами в своих продуктах (в том числе в браузерах) с помощью нашего Safe Browsing API .

    Защита с помощью списков плохих сайтов (будь то Safe Browsing Яндекса, Гугла или другие аналоги) долгое время была единственным применяемым способом в браузерной индустрии. Проблема в том, что современные фишеры уже не такие медленные, как раньше. Создание сайтов-подделок, их публикация, рассылка спама через социальные сети – все это уже давно автоматизировано. Пока новая фишинг-страница дойдет до полной базы, а затем до легкой локальной она вполне может успеть кому-то навредить. Нам нужно было научиться бороться с проблемой в условиях отсутствия точных знаний.

    Защита паролей

    Злоумышленники с помощью фишинга активно воруют пароли от банков, платежных систем, социальных сетей и даже админок управления сервером. Как их защитить, если браузер еще не знает, хороший или плохой сайт открыт в нем? Предупреждать при каждом вводе пароля и просить убедиться, что это именно тот самый сайт? Это не просто навязчиво, но и бесполезно в перспективе. Если пользователь 100 раз подтвердит, что перед ним настоящий сайт Сбербанка, а не поддельный, то на 101 раз он просто не станет проверять сайт, который по закону подлости обязательно окажется мошенническим.

    К слову, есть распространенное заблуждение, что двухфакторная авторизация на банковских сайтах спасет от кражи денег, даже если человек попался на фишинг. Спасет, конечно, но далеко не всегда. В нашей практике мы сталкивались с примерами опасных сайтов, которые после ввода логина и пароля умели инициировать отправку СМС настоящим банком. Код из СМС пользователь вводил на уже открытой фишинг-странице, и злоумышленники использовали его, получая полный доступ к личному кабинету. Но мы отвлеклись.

    Изначально идея была достаточно проста. Нужно присматривать за паролями, уже сохраненными в браузере. Если пользователь вводит пароль на сайте, который явно не совпадает с сайтом из менеджера паролей в браузере, то нужно его остановить и предупредить. Проблема в том, что встроенным менеджером паролей пользуются далеко не все. Даже простые пользователи, которые никогда не слышали о LastPass, KeePass или 1Password, не спешат сохранять свои пароли, нередко предпочитая вводить их по памяти или из блокнота (бумажного, а не из Windows). Причем именно эта категория пользователей наиболее уязвима перед фишингом, а значит, такое простое решение не подходило.

    Использовать уже сохраненные пароли не было смысла, но вместо отказа от всей идеи мы научили Браузер самостоятельно запоминать хэши вводимых паролей. Почему хэши? Потому что их вполне достаточно для сравнения паролей, к тому же хранить хэши все же безопаснее. Конечно же, мы дали опцию отключить функцию для тех, кто и хэшам не доверяет. Итак, если пользователь хотя бы раз вошел, например, на настоящий Альфа-Банк, то Браузер предупреждал его при попытке ввода пароля на фишинговых копиях. Казалось бы, можно было идти пить шампанское, но не все так просто.


    Память пользователей не подчиняется закону Мура, поэтому многие предпочитают придумать один пароль на все сайты. Это ужасно с точки зрения безопасности, но такова реальность. Если бы мы включили защиту паролей на всех пользователей для всех сайтов, то изобрели бы не только хорошую защиту от фишинга, но и отличный способ распугать аудиторию. Поэтому по умолчанию защита была включена только для наиболее популярных среди мошенников сайтов. Для любого другого ее можно включить вручную.

    Эта функция была внедрена примерно год назад, и все это время она не только защищает от фишинга, но и привлекает внимание людей к теме безопасности паролей. Вот только пароли – это не единственный вид конфиденциальных данных, которые любят воровать.

    Защита карт

    Чтобы украсть деньги, не обязательно воровать пароли от онлайн-банков и продумывать логику с обходом двухфакторной авторизации. Можно просто выкрасть данные банковской карты. Про необязательный 3-D Secure вспоминать тоже не стоит – пользователь и CVV-код не забудет ввести на фишинг-странице. После кражи данных карты остается только придумать, как забрать оттуда деньги. Способы бывают разные. Например, кто-то туристам билеты с 50% скидкой, по факту покупая их с украденной карты по полной стоимости. С переменным успехом подобные операции удается вовремя оспорить через свой банк, но лучше до этого не доводить и защищать данные своей банковской карты.

    В отличие от защиты паролей, где можно было однозначно контролировать пары «пароль-сайт», банковские карты могут использоваться где угодно. Мы можем контролировать крупные площадки, но длинный хвост онлайн-магазинов все равно не покроем. Да и что вообще значит «контролировать»? Не давать вводить номер карты? Если предупреждать, то о чем? Осознав, что вряд ли на уровне Браузера можно сделать однозначный вывод о плохих намерениях сайта, мы взглянули на ситуацию под другим углом – с точки зрения шифрования.

    Наличие SSL-сертификата – обязательное условие для любого сайта, который работает с конфиденциальными данными пользователей, в особенности с банковскими данными. Если ресурс просит ввести номер карты, но не поддерживает защиту и работает по HTTP, то тут возможны сразу две разные проблемы. Во-первых, ваши данные кто-то может перехватить по пути из открытого трафика. Например, через незащищенную Wi-Fi точку в кафе. Во-вторых, владелец такого ресурса как минимум не заботится о безопасности своих посетителей, а, возможно, просто ворует данные. В любом случае, вводить номер карты на таком сайте не стоит. Если проблему с перехватом мы еще как-то решаем с помощью функции , то от мошенника шифрование канала никак не спасет. Точнее спасет данные от мошенников-перехватчиков и доставит их в целостности мошенникам-фишерам. И вот здесь нужно было что-то делать.

    Итак, мы локализовали проблему. Если пользователь заходит на HTTP-сайт, который просит ввести номер банковской карты, то это повод предупредить. Но чтобы показать сообщение, нужно для начала распознать ввод карты. Специальный банковский тип тега input еще никто не придумал, а относительно свежий атрибут для браузерного автозаполнения autocomplete=cc-number мало кто использует. Команда Chromium, конечно, не бросает идею научить браузер самостоятельно подставлять номера карт и даже внедряет эвристику , которая угадывает по названиям полей и некоторым другим данным, но работает это не везде. В общем, анализ полей ввода – не вариант. Но зато мы можем ловить ввод цифр. Например, если пользователь ввел 16 цифр, то можно предположить, что это банковская карта. Проблема в том, что это не всегда так. К счастью, существует алгоритм Луна.

    Думаю, многие знают, что последняя цифра в номере карты нужна для проверки корректности всего номера. А саму проверку можно легко провести с помощью алгоритма Луна. Он достаточно простой. В каждой паре цифр номера карты первое число умножаем на 2. Если после умножения число становится больше 9, то нужно сложить составные цифры. А затем все сложить. Если итоговая сумма кратна 10, то перед нами номер банковской карты. С вероятностью ошибки в 10%.


    Алгоритм Луна снижает вероятность ложного срабатывания в разы. Но существует дешевый способ снизить ошибку еще немного – контролировать первые цифры в номере. Именно в начале номера закодирована платежная система, поддерживающая карту. Если в начале стоит цифра 4, то это VISA. Что-то из диапазона 51-55 – это MasterCard. 34-37 – это American Express. Аналогично для некоторых других систем. Вероятность ошибки, конечно же, всегда остается, но уже на допустимом уровне.

    Мы научили Браузер распознавать ввод определенного количества цифр (от 15 до 19), проверять их по алгоритму Луна и на соответствие кодам известных платежных систем. И все это работает полностью локально – номер карты Браузер никуда не отправляет и не хранит. Если все условия выполняются, то пользователь видит такое предупреждение:


    Подобное же сообщение мы показываем и для ряда других опасных ситуаций. Например, если сам сайт защищен HTTPS, но ввод номера происходит в HTTP-фрейме. Или если сертификат сайта не валиден.

    Существуют ситуации, для которых в силу широкой распространенности и относительной безопасности не стоит показывать предупреждение, но дать возможностям пользователям разобраться все же надо. Например, если форма ввода номера карты находится во фрейме на другом домене (и сайт, и фрейм при этом HTTPS). Это встречается сплошь и рядом, потому что онлайн-магазинов много, но далеко не все из них способны проработать собственный модуль оплаты, предпочитая встраивать фреймы популярных платежных систем. Или другой пример. Сайт не использует шифрование, но карту принимает через HTTPS-фрейм на своем же домене. Для таких ситуаций Браузер не показывает предупреждение, но добавляет в адресную строку значок карты. Если кликнуть по нему, то можно узнать, кому именно вы доверяете свои данные.


    Вся наша вышеописанная защита вертится вокруг наличия SSL-сертификата. Это обоснованно, потому что пользователи в массе своей еще не привыкли обращать внимание на замочек в адресной строке, и у фишеров нет мотивации использовать сертификаты. Но постепенно все меняется. Установить бесплатный сертификат от того же Let"s Encrypt уже не проблема. А значит, рано или поздно мы вновь вернемся к ситуации, когда защищать как-то надо, но данных на клиенте недостаточно. И чтобы не проиграть фишинг-сайтам в будущем, готовиться мы начали уже сейчас.

    Машинное обучение

    Любой сайт в интернете обладает совокупностью характеристик, по которым его можно оценить. Например, размер аудитории, время жизни, наличие SSL-сертификата, его надежность или даже уникальность адреса (фишеры любят использовать максимально схожие адреса). И наше с вами доверие к тому или иному сайту во многом определяется именно ими. Опытный пользователь, глядя на неизвестный сайт, может для себя решить, вызывает ли эта площадка доверие. С компьютером все сложнее. Задача определения «подозрительности» сложно поддается формализации и не укладывается в простые алгоритмы. Понятно, что грубая ошибка в HTTPS - это сильный критерий, но я говорю о куда более неочевидных случаях. И здесь без машинного обучения уже не обойтись.

    Яндекс применяет машинное обучение не первый год. Наши технологии используются не только внутри компании (Поиск, Музыка, Маркет, ), но и доступны для внешних заказчиков через Yandex Data Factory . Именно машинное обучение позволяет компьютеру демонстрировать поведение, которое в него не было явно заложено. И для нашей задачи – предупреждать пользователей при оплате на подозрительных сайтах – подходит идеально.

    Чтобы обучить машину искать подозрительные сайты, мы должны показать ей примеры заведомо плохих сайтов. С этим у нас нет проблем – спасибо технологии Safe Browsing. С другой стороны, мы указываем ей уже упомянутые выше характеристики (факторы), на которые стоит обращать внимание. А уже дальше наш метод машинного обучения Матрикснет учится выводить закономерности и строить формулы, которым можно было бы скормить адрес сайта, а на выходе получить вердикт. Максимально упрощенно это выглядит так.

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

    Для обеспечения безопасности пользователей, Яндекс Браузер внедрил технологию Protect. Эта встроенная функция, содержит целый комплекс мер, повышающих защиту пользователей.

    Что такое Protect

    Технология активной защиты Protect – это набор защитных механизмов в Яндекс Браузере, предотвращающих угрозы, с которыми пользователь сталкивается ежедневно в глобальной сети.

    Протект распознает и предотвращает следующие виды угроз:

    • Смс мошенничество;
    • Посещение фишинговых сайтов;
    • Перехват паролей и данных банковских карт в незащищенных Wi-Fi сетях;
    • Скачивание потенциально опасных файлов.

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

    Важно понимать – Protect не может заменить полноценное антивирусное ПО. Высокий уровень защиты достигается только при совместном использовании и , в частности.

    Защита от перехвата паролей и данных банковских карт, строится на базе популярных ресурсов, собранных компанией. При оплате картой, браузер анализирует и сравнивает отображаемую страницу с её копией в базе, если возникают сомнения в подлинности ресурса – выдается предупреждение пользователю.

    Как включить Protect в браузере

    Возможно вы ранее отключили эту функцию или её компоненты, а теперь хотите обратно включить.

    1. Откройте настройки обозревателя, найдите раздел «Личные данные» и включите пункт, отмеченный на рисунке.

    2. Перейдите в раздел «Безопасность».

    3. Проставьте галочки на всех пунктах в списке.

    Можете проверить включен ли Protect сейчас, не перезагружая браузер.

    Как отключить активную защиту Protect

    Яндекс Protect – инструмент, включающий в себя защиту по нескольким направлениям. Вы можете отключить, как несколько его компонентов, так и защиту полностью.

    Определившись, что именно вам мешает комфортно проводить время в интернете, следуйте инструкции.

    1. Откройте Яндекс Браузер и зайдите в настройки.

    2. Перейдите на вкладку «Безопасность».

    3. Отключите компоненты защиты, которые вам не нужны.

    4. Если Protect по-прежнему блокирует сайты, на которые вы заходите, нажмите на кнопку «Игнорировать это предупреждение» и вы продолжайте просмотр страницы.

    Если в браузере блокируются такие ресурсы, как ВКонтакте или YouTube – проверьте файл «hosts» на наличие изменений и компьютер на вирусы целиком. Возможно это заставляет обозреватель блокировать популярные сайты.

    В качестве итога отмечу, что технология Protect в Яндекс Браузере – это уникальная разработка компании Yandex, работающая на предупреждение угрозы, а не на устранение последствий.

    Пользуйтесь этим бесплатным решением в купе с полноценным антивирусным ПО и ваш компьютер будет под защитой.

    Firefox contains built-in Phishing and Malware Protection to help keep you safe online. These features will warn you when a page you visit has been reported as a Deceptive Site (sometimes called “phishing” pages), as a source of Unwanted Software or as an Attack Site designed to harm your computer (otherwise known as malware). This feature also warns you if you download files that are detected as malware.

    Table of Contents

    What are Deceptive/Phishing, Attack Sites, Unwanted Software and Malware?

    Deceptive Site (also known as "Phishing")

    Attack Sites

    Attack Sites are websites that try to infect your computer with malware when you visit. These attacks can be very difficult to detect; even a site that looks safe may be secretly trying to attack you. Sometimes even the website’s owner doesn’t realize that the site has become an Attack Site.

    Malware

    Malware is software designed to infect your computer without your knowledge. Malware is most often used to steal personal information, send junk email (spam), or spread more malware.

    You can learn more about malware and Attack Sites from StopBadware , a non-profit organization that works with partners like Mozilla to protect users from malware and other dangerous software.

    Unwanted Software

    Unwanted Software sites are websites that try to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit). You can learn more about such software on the Google Unwanted Software Policy .

    How does Phishing and Malware Protection work in Firefox?

    Phishing and Malware Protection works by checking the sites that you visit against lists of reported phishing, unwanted software and malware sites. These lists are automatically downloaded and updated every 30 minutes or so when the Phishing and Malware Protection features are enabled.

    When you download an application file, Firefox checks the site hosting it against a list of sites known to contain "malware". If the site is found on that list, Firefox blocks the file immediately, otherwise it asks Google’s Safe Browsing service if the software is safe by sending it some of the download’s metadata.*

    * Windows users: This online check will only be performed in Firefox on Windows for those downloaded files that don’t have a known good publisher. Most of the common and safe software for Windows is signed and so this final check won’t always need to happen.

    How do I use the Phishing and Malware Protection features?

    These features are turned on by default so, unless your security settings have been changed, you are likely already using them. Phishing and Malware Protection options preferences can be found on the Security panel Privacy & Security panel :

    To turn these features off, follow the preceding steps to return to the Security panel and remove the check marks.

    To turn these features off, follow the preceding steps to return to the Privacy & Security panel and remove the check marks.

    To see if Phishing Protection is active, visit our phishing test site . Likewise, you can visit our malware test site to confirm that Firefox is blocking Attack Sites as well as our unwanted software test site . With Phishing and Malware Protection turned on, all these sites should be blocked from loading.

    What happens when a page or file is blocked?

    Firefox will block the page from loading and display a Deceptive Site warning for phishing sites, Reported Unwanted Software Page for unwanted software sites and Reported Attack Page for malware sites.

    If you download malware or spyware, Firefox displays a message about the file in the Downloads panel.

    Unblock .

    If you download malware or other software that is potentially unwanted or uncommon, Firefox displays a message about the file in the Downloads panel.

    To ignore the warning and download such a file, right-click on it in the Downloads panel and select Allow Download .

    What information is sent to Mozilla or its partners when Phishing and Malware Protection are enabled?

    There are two times when Firefox will communicate with Mozilla’s partners while using Phishing and Malware Protection for sites. The first is during the regular updates to the lists of reporting phishing and malware sites. No information about you or the sites you visit is communicated during list updates. The second is in the event that you encounter a reported phishing or malware site. Before blocking the site, Firefox will request a double-check to ensure that the reported site has not been removed from the list since your last update. This request does not include the address of the visited site, it only contains partial information derived from the address.

    In addition to the regular list updates mentioned above, when using Malware Protection to protect downloaded files, Firefox may communicate with Mozilla"s partners to verify the safety of certain executable files. In these cases, Firefox will submit some information about the file, including the name, origin, size and a cryptographic hash of the contents, to the Google Safe Browsing service which helps Firefox determine whether or not the file should be blocked.

    The Mozilla Privacy Policy describes what data Firefox and Mozilla each receive and how it"s handled. The Google Privacy Policy explains how Google handles collected data.

    I’ve confirmed that my site is safe, how do I get it removed from the lists?

    If you own a site that was attacked and you have since repaired it, or if you feel that your site was reported in error, you can request that it be removed from the lists. We encourage site owners to investigate any such report thoroughly, though; a site can often be turned into an attack site without any visible change.

    Внимательные пользователи Яндекс.Браузера сразу заметили, что обозреватель получил новый, немного видоизмененный логотип, но это не самое главное, – ключевым нововведением последней версии браузера от Яндекса является технология активной защиты, именуемая Protect . А пользователи браузера уже ищут инструкции не только как включить, но и как отключить Protect в Яндекс браузере.

    Технология Protect состоит из нескольких защитных компонентов:

    • защита паролей;
    • защита в общественной сети Wi-Fi;
    • блокирование подозрительных мошеннических ресурсов;
    • проверка всех скачиваемых файлов.

    Защита от Protect браузера

    Protect предоставляет пользователям своевременную защиту, управлять которой практически не нужно, – Яндекс браузер сделает все сам. Главной целью разработки является предотвращение возникновения угроз, а не в устранении их последствий:


    Как отключить технологию Яндекс Protect

    Технология Protect от Яндекса только была внедрена в браузер, а разработчики уже пообещали, что в будущем будет внедрены новые механизмы, которые будут бороться с прочими угрозами. Но, несмотря на свою пользу, пользователи также замечали, что браузер часто блокирует сайты, которые не несут угроз. Не всех такое положение дел устраивает, поэтому я решил попробовать отключить защиту Protect Яндекс. Чтобы выключить технологию Протект для начала необходимо найти иконку в виде трех полосок, а там выбрать пункт «Настройки».

    После открытия настроек листаем страницу в самый низ и ищем кнопку «Показать дополнительные настройки». Теперь переходим к блоку настроек «Защита личных данных» и снимаем галочку с «Включить защиту от вредоносных программ», то есть отключить защиту Protect от вредоносных программ.

    Защита от фишинга (разновидность мошенничества, целью которого является получение паролей, банковских данных и другой личной информации пользователя) присутствует в большинстве популярных веб обозревателей. Яндекс.Браузер не исключение, такая защита, использующая технологии Safe Browsing (по сути чёрный список неблагонадёжных веб-сайтов), работает в браузере с момента его появления.

    Защита с помощью чёрных списков (будь это Safe Browsing Яндекса, Google или другие аналоги) долгое время оставалась единственным решением. Проблема в том, что, на сегодняшний день, создание сайтов-подделок, их публикация, рассылка спама через соц. сети и прочее происходит настолько быстро, по причине автоматизации этих процессов, что новая фишинг страница успевает достаточно навредить до того, как попадёт в список плохих сайтов и будет блокироваться браузером.

    Новый алгоритм защиты от фишинга, используемый в Яндекс.Браузере теперь стал ещё эффективнее. В дополнение к Safe Browsing и защите паролей, которая уже год работает в Яндекс Браузере, новая версия браузера получила технологию, защищающую номера банковских карт. В основе данной технологии использованы наработки Яндекса в области машинного обучения и компьютерного зрения.

    Узнать более подробно как Яндекс.Браузер защищает от фишинга можно в официальном блоге компании на Хабрахабр .

    Последнюю версию Яндекс.Браузер можно .

    Команда разработчиков браузера Google Chrome призывает всех пользователей этого браузера как можно скорее обновиться до последней версии. Так, сообщае...

    Компания ECS (Elitegroup Computer Systems) представила мини-ПК Liva Q2. Габариты новинки составляют всего: 70 x 70 x 33,4 мм., масса – 260 грамм. А...

    В последней тестовой сборке Windows 10 с индексом 18836 появилась новая возможность, позволяющая взаимодействовать с файлами подсистемы Linux непосред...



    Понравилась статья? Поделиться с друзьями: