На главную

О пользе двухфакторной аутентификации

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

О вреде двухфакторной аутентификации

SMS как второй фактор

Самая большая глупость здесь - это аутентификация через sms. Дело в том, что sms посылается по протоколу S7, который неоднократно взламывали хакеры. Данный протокол насыщен уязвимостями безопасности, так как, фактически, разрабатывался ради удобства использования, а не для обеспечения безопасности. Хотя хакеру придётся приложить усилия и затратить средства, при большом желании он может перехватить вашу sms. Кроме этого, sms может прочитать сотрудник оператора сотовой связи, сотрудники правительственных спец. служб (и большой вопрос, только ли наших) и т.п. Даже если бы sms была бы очень стойкой, она ещё и подвергает опасности ваше мобильное устройство. Например, вы едете в отпуск. У вас угоняют не только банковскую карту, но ещё и номер телефона. Вы остались за границей без телефона и без денег. Разумеется, мошенники делают это специально с целью затруднения их быстрого поиска и получения времени на то, чтобы безопасно обналичить украденные средства. Так же, ваш номер могут просто своровать. Делается это так: в офис сотового оператора приходит гражданин с поддельной доверенностью. Там написано, что вы разрешаете ему действовать от вашего имени. Он говорит, что sim-карту украли и ему нужно получить новую. Вашу sim-карту блокируют, то есть вы не можете больше использовать свой номер телефона. Ему же выдают sim-карту, так что он может использовать ваш номер телефона. После этого, учитывая, что у него уже есть ваш пароль, полученный из других источников, он легко крадёт деньги с ваших счетов. Интересно то, что вы лишаетесь телефонного номера именно потому, что пытаетесь использовать его как средство защиты. То есть если бы не было двухфакторной аутентификации, то с телефонным номером у вас было бы всё в порядке. То есть такая двухфакторная подвергает опасности кражи уже ваш номер телефона. Если будут красть, украдут ещё и номер телефона, а не только средства.
Хуже всего то, что часто восстановление доступа к аккаунту при "забытом" пароле довольно просто и требует только телефонного номера и, возможно, простого ответа на вопрос. В таком случае, парольная защита остаётся лишь фикцией и мы, скорее, имеем дело с однофакторной аутентификацией по sms. Это очень плохо и совершенно небезопасно. Особенно, если вы умеете содержать ваш компьютер в чистоте, не устанавливаете на него неизвестных программ или нелицензионных программ.

Деанонимизация

Если вам нужно зайти на какой-то оппозиционный сайт, на котором есть двухфакторная аутентификация по sms, то вы уже не сможете быть анонимным. То есть вы должны будете представиться как этому сайту, так и правительственным органам, так как они могут попробовать отследить всех получателей sms с этого сайта. С сайта информацию о вашей личности правительство может получить либо простым обыском (заодно и сайт положат), либо путём кражи его базы данных (с помощью хакерской атаки, подкупа каких-либо технических специалистов, в том числе, специалистов хостинг-провайдера или CDN, если сайт использует CDN). Правительство может быть как наше, так и не совсем наше, так как большинство CDN - американские. Ещё одной серьёзной проблемой является то, что вы теперь должны привязывать свой аккаунт в вашему номеру телефона. Это означает, что сайты, вступив в сговор, могут идентифицировать вас как одного человека. Либо хакеры, которые сломали несколько сайтов, смогут понять, какой у вас логин по вашему номеру телефона. Ещё хуже то, что зная номер телефона, они смогут найти все ваши логины в сборниках взломанных сайтов и изучить ваши аккаунты и информацию в них. Она может принести им некоторую пользу для дальнейших атак на вас. Кроме этого, на одном и том же сайте вы не сможете зарегистрироваться дважды, если вам это за чем-то нужно. Вы будете вынуждены постоянно выступать только из-под одной личности (например, известной и вашему супругу, и родителям, и начальнику, и партнёрам по играм, хобби и т.п.). Был случай, когда муж, используя определённые особенности Telegram, узнал, что его жена записана у его соседа как "леночка шлюха". Не оценивая супружескую измену, в данном случае, женщина попалась на очень простую вещь: она вынужденно общалась из-под одного аккаунта с совершенно разными целями. Смешивая разные контексты, она стала уязвимой. Используя двухфакторную аутентификацию или регистрацию по номеру телефона, вы жертвуете своей анонимностью, а значит, и приватностью, ради мифического или реального повышения безопасности. Помните, что даже если сам сайт честный, это не значит, что его база данных не будет украдена нечестным сотрудником фирмы или хакером. Некоторые люди даже покупки в интернет-магазинах осуществляют, договариваясь с соседями, записывая все заказы на них.
Частичным решением данной проблемы может быть один или несколько дополнительных временных номеров. Однако, проблема в том, что этот временный номер достаётся вам после другого пользователя. Неизвестно, в каких спам-базах он числится и с какой рекламой будут на него звонить. Поэтому, временные номера - тоже не очень здорово. Следует избегать там, где это возможно, указания вашего номера телефона. Никогда не высказывайте антиправительственные взгляды там, где знают ваш номер телефона. Если, конечно, вы не хотите проблем с правительством.
Есть ещё один нюанс. Многие пользователи, регистрируясь на разных сайтах, указывают один и тот же псевдоним и один и тот же e-mail. Разумеется, это тоже вас деанонимизирует. Желательно указывать разные псевдонимы (никнеймы) и разные e-mail'ы. Если просят указать Фамилию, Имя, Отчество, указывать вымышленные ФИО (Неуказанный Неуказанович Неуказанов). Тогда хакеры не смогут установить связь между двумя аккаунтами на разных сайтах. Список сервисов, предоставляющих временные e-mail есть в списке сервисов. Также можно воспользоваться и регистрацией бесплатных почтовых ящиков, например, на яндексе (ящик будет забанен, если вы включите перенаправление на другой ящик) либо на своём домене через яндекс.коннект или аналогичные сервисы других фирм.
Кроме этого, за 15 лет активного пребывания в Интернете, я ни разу не терял ни одного аккаунта. В то время как 1. один раз я терял мобильный телефон 2. ещё один раз я терял номер мобильного телефона (забыл заплатить и не разговаривал по нему) 3. и, наконец, ещё один раз он побывал в руках сотрудников МВД, а затем и ФСБ, когда они осуществляли незаконное задержание. Они могли как посмотреть, что на нём имеется, так и установить туда вредоносные приложения. Китайское правительство, используя дистанционные методы отслеживания граждан, смогло вычислить участников протестов по номерам их телефонов именно потому, что их аккаунты были привязаны к телефонам. Уязвимости, связанные с возможностью получать, при некоторых условиях, связи между телефонными номерами и аккаунтами, были зафиксированы в Telegram, но могут возникнуть и в любых других приложениях. Причём, данные уязвимости могут и не являться дефектами, а являться особенностью работы сервисов, которые просто не предназначены для организации политических акций.

Приложение на мобильном устройстве как второй фактор

Приложение на мобильном устройстве не привязывается к вашему номеру телефона. Поэтому, в случае временной или постоянно кражи вашего номера телефона, злоумышленник, сам по себе, вряд ли что-то получит. Данный способ является, в этом смысле, более безопасным. Так как похищать придётся уже ваше устройство физически. Либо, отвлекая ваше внимание, пользоваться вашим устройством не похищая его. Например, вы отошли в туалет, а, в этот момент времени, устройством воспользовался другой человек. Раньше, когда sim-карты легко вынимались из устройства, их быстро клонировали. Впрочем, всё зависит также и от того, как устроено приложение. Может быть такое, что оно полностью зависит от sim-карты и похищение вашего номера телефона будет являться и похищением вашего приложения.

Деанонимизация и другие риски

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

Иные проблемы

Обход двухфакторной аутентификации через один фактор

Как уже писалось выше, иногда двухфакторная аутентификация деградирует до однофактороной: только через sms или приложение на устройстве. Это бывает либо в случае неверной реализации двухфакторной аутентификации (а ошибки в её реализации были даже у Google), либо в случае, когда позволяется сброс пароля при наличии второго фактора. Например, один из исследователей, году в 2018-ом, писал, что устройства Apple позволяют сбросить пароли на аккаунты Apple просто при наличии устройства Apple. То есть пароль, по сути, вообще не имеет никакого значения. Часто бывает, что восстановление доступа к аккаунту происходит проще, чем сама аутентификация (вход в аккаунт). Например, для восстановления нужен только способность перехватывать sms и ответ на контрольный вопрос. Ответ на контрольный вопрос угадывается, телефонный номер угоняется. И всё. Вы остались без аккаунта, хотя, вроде бы, на нём был стойкий пароль, который никто не похищал. В общем, парольная защита может даже превосходить Таким образом, ошибки в реализации и слишком простые методики сброса пароля могут снизить стойкость двухфакторной аутентификации даже ниже, чем стойкость защиты по одному паролю.

Правоохранительные органы и работники сотовых операторов

Коррумпированные правоохранительные органы или работники сотовых операторов имеют доступ к содержанию sms. Поэтому, они могут украсть у вас sms с кодом, причём, вы об этом даже не узнаете.

Сайты-троянцы

Представим себе, что вы хотите зарегистрироваться в новой онлайн-игре или ещё где-то. Вы не знаете, что это за сайт. На самом деле, это сайт злоумышленника. Вы регистрируетесь на этом сайте с предоставлением ему телефонного номера и вводом кода из sms. Он же регистрируется в автоматическом режиме на другом сайте. Именно оттуда к вам прилетает sms с кодом. Если в sms не написано, с какого сайта оно послано, или вы были невнимательны, то сайт-троянец зарегистрирует аккаунт на ваш телефонный номер. Но аккаунт будет его. Причём вы даже не заметите этого. Дальше сайт симулирует какую-нибудь ошибки регистрации или ещё что-нибудь, чтобы вы расстроились и ушли с сайта без регистрации (для маскировки того, что на сайте ничего нет).
Таким образом, двухфакторная аутентификация создаёт * риски деанонимизации и вторичной идентификации, в том числе, хакерами при слиянии баз данных, украденных со взломанных сайтов * риски одновременной (!) утери слишком большого количества аккаунтов при утере всего лишь одного мобильного телефона или телефонного номера (единая точка отказа для всех сайтов, построенных на двухфакторной аутентификации) * риски захвата аккаунта коррумпированными служащими сторонних организаций (сотовых операторов и правоохранительных органов) * риски захвата аккаунта при получении доступа только к вашему устройству, без знания пароля * риск регистрации от вашего имени на другом сайте с использованием сайтов-троянцев
Разумеется, общий вывод довольно прост. Если у вас "чистый" компьютер, лицензионное ПО, то, возможно, стоит просто пользоваться менеджером паролей (см. список сервисов) и выбирать стойкие пароли. Иногда, для серьёзных задач (большие деньги), можно использовать и двухфакторную аутентификацию, но осторожно. Можно использовать и просто отдельные компьютеры или операционные системы на шифрованных разделах жёсткого диска, чтобы понизить риск хищения пароля при вводе.
???.