«Человек не в состоянии придумать пароль, который невозможно подобрать»

Эксперт по компьютерной безопасности Владимир Иванов из компании «Рутокен» рассказал «Реальному времени» о том, какими должны быть пароли и как уберечь аккаунты от несанкционированного доступа. Он раскрыл, как злоумышленники подбирают пароли, и многое другое из области аутентификации и прав доступа.

Социальные сети таковы, что в них пользователь сам на себя публикует компромат

— Насколько необходимы специальные меры защиты по части тех же паролей, если речь идет, например, о социальных сетях?

— А вы знаете, из недавних инцидентов с «Твиттером» Белого дома — он вызвал обрушение биржи и колоссальный материальный ущерб. Казалось бы, это «Твиттер»…

— С официальными аккаунтами ситуация понятна, а насколько необходимо защищать собственные аккаунты, которые не представляют собой прямой ценности?

— Вот вы представитель прессы, да? Предположим, у вас появился какой-то недоброжелатель, он нашел нехороших людей, которым заказал взлом вашей учетной записи в Facebook. Получив доступ к этой учетной записи, он от вашего имени, например, написал гадости про вашего работодателя, поссорился с вашими друзьями, или от вашего имени про правительство Татарстана какую-то гадость написали.

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

Идеальный пароль человек не сочинит

— Очень убедительно! Если пароль — это просто длинное слово, с буквами и цифрами...

— Мы живем в эпоху больших данных (BigData), и собрать со всего интернета все уникальные слова — технически не такая уж нереализуемая задача. Обнаружить некое сочетание букв, однажды уже опубликованное, в принципе, возможно. Поэтому все ухищрения, связанные с написанием слов с ошибками, в разных регистрах, с заменой букв цифрами не работают и злоумышленниками давно просчитаны. Написание английских букв русской раскладкой не работает давно.

«Социальные сети таковы, что в них пользователь сам на себя публикует компромат, поэтому наших уважаемых и дорогих пользователей социальных сетей очень прошу позаботиться, чтобы не публиковать компромат на себя самих». Фото Романа Хасаева

— А если татарских слов?

— Чем татарский язык хуже любого другого? Это такой же общеизвестный язык.

— Американцы же шифровали переговоры во время войны при помощи индейцев?

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

— Так что же из себя представляет идеальный пароль?

— Идеальный пароль — это длинная случайная последовательность битов, действительно случайная. Человек бросает монетку — орел-решка, орел-решка — и записывает: единичка-нолик, нолик-единичка. Кстати, исследователи научились отличать действительно случайную последовательность от как бы случайной, сгенерированной человеком. Беда в том, что у человека в голове работает алгоритм, который ему говорит: «Это должно выглядеть случайно». Например, 10 ноликов подряд я никогда не напишу, а случайно они могут выпасть. Поэтому такие выдуманные штуки тоже являются по сути искусством, а системы хранения паролей используют датчики случайных чисел, которые дают хорошие случайные последовательности, если она будет достаточно длинной, то работать с предвычисленными хешами, с радужными таблицами уже не получается, уже только перебор. За вычетом словарей.

— Как же придумать такой идеальный пароль?

— Простым пользователям я рекомендую использовать систему хранения паролей локальную. Например, есть такое приложение КeyPass, которое умеет генерировать пароли любой сложности. В чем смысл пароля: это нечто, что было бы трудно получить перебором, поиском по словарю, и этого пароля не должно быть ни в одном словаре вообще.

Single-sign-on система

— И этого будет достаточно?

— С моей точки зрения, наиболее практически реализуемым, безопасным и доставляющим пользователям минимум «боли» является использование систем класса single-sign-on*.

— Что это такое? Что за система?

— Это система, которая позволяет хранить пользовательские пароли централизованно, в защищенном хранилище, в сети предприятия. При этом пользователь никогда не видел своего пароля в глаза, он автоматически сгенерирован системой, он в прямом смысле случаен, обладает максимальной длиной — то, что, собственно, требуется от пароля. А доступ к использованию этих паролей, которых пользователь в глаза не видел, разумно обеспечивать при помощи PKI-аутентификации**, то есть когда пользователь аутентифицируется на сервисе single-sign-on с использованием асимметричной криптографии***.

— Как это выглядит на практике?

— Когда пользователей было мало, они могли доверенным способом обмениваться открытыми ключами, но когда таких пользователей миллионы, каждый с каждым обмениваться не может, тогда придумали некий доверенный сервис, третью сторону, которой доверяют все участники, и появилась инфраструктура открытых ключей (PKI). Это система, которая удостоверяет пользователей перед любым другим пользователем: «Вот есть открытый ключ, удостоверяющий центр, скажи мне, пожалуйста, действительно ли он принадлежит Васе?» — «Да, я это знаю, проверил у Васи документы и подтверждаю, что он приносил этот ключ». На этой схеме и строится, в частности, система документооборота, когда цифровая подпись является аналогом собственноручной.

С моей точки зрения, наиболее практически реализуемым, безопасным и доставляющим пользователям минимум «боли» является использование систем класса single-sign-on

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

— Смотрите, у вас есть ключевая пара: приватный и публичный ключ. Открытый ключ вы передаете серверу, когда регистрируетесь в системе, говорите: «Товарищ сервис, когда я буду приходить, для проверки того, что я — это я, используй этот ключ или этот сертификат». А приватный ключ должен храниться в строгом секрете, и в идеале это аппаратное устройство, смарт-карта, USB-token****, определенный набор устройств, и, для того чтобы воспользоваться закрытым ключом, я должен знать пин-код от этого устройства.

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

Нельзя просто так взять и поменять ДНК

— Использование отпечатков пальцев, сетчатки глаза и других уникальных параметров человека может решить проблему паролей?

— Биометрия — это интересный перспективный способ, но, вообще говоря, процесс аутентификации всегда связан с вероятностью. То есть у нас есть вероятность, что система не опознает легального пользователя, и вероятность того, что нелегальный пользователь будет опознан как легальный. Пока, к сожалению, вот этот вероятностный момент в системах биометрической аутентификации достаточно силен, даже 95% правильных срабатываний — это все равно мало.

— Тем не менее технологии развиваются, наверняка скоро эти показатели станут уже близки к 100%.

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

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

Самые уязвимые — симметричные криптоалгоритмы

— Какие системы наиболее уязвимы?

— Существует симметричный криптоалгоритм, когда некое преобразование производится при помощи ключа, причем прямое преобразование и обратное производятся при помощи одного и того же ключа. Если у вас есть два абонента, то они оба должны обладать этим ключом.

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

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

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

— В каких системах?

— В любом онлайн-сервисе, который сделан неквалифицированным разработчиком.

— И как их угадывают?

— Их не угадывают, их воруют, просто сгружают с сервера в базу данных, где каждому имени пользователя сопоставлен пароль.

— И там все сразу написано?

— Да, там все сразу написано, даже угадывать ничего не надо.

— Спасибо за интересную беседу.

Александр Третьяков, фото codeib.ru
Справка

* single-sign-on — технология единого входа, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.

** PKI-аутентификация — (Public Key Infrastructure) инфраструктура открытых ключей, набор средств, распределенных служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей. В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов: а) закрытый ключ известен только его владельцу; б) удостоверяющий центр создает сертификат открытого ключа, таким образом удостоверяя факт того, что закрытый (секретный) ключ известен эксклюзивно владельцу этого сертификата; в) никто не доверяет друг другу, но все доверяют удостоверяющему центру; г) удостоверяющий центр подтверждает или опровергает принадлежность открытого ключа заданному лицу, которое владеет соответствующим закрытым ключом.

*** Ассиметричная криптография — криптографическая система с открытым ключом — система шифрования и/или электронной подписи (ЭП), при которой открытый ключ передается по открытому (то есть незащищенному, доступному для наблюдения) каналу и используется для проверки ЭП и для шифрования сообщения. Для генерации ЭП и для расшифровки сообщения используется закрытый ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

**** USB-token — компактное устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации его владельца, безопасного удаленного доступа к информационным ресурсам и т.д. Как правило, это физическое устройство, используемое для упрощения аутентификации. Также этот термин может относиться и к программным токенам, которые выдаются пользователю после успешной авторизации и являются ключом для доступа к службам.

Новости партнеров