Вторая проблема достаточно очевидна: если вы утратите главный пароль, вы утратите все свои пароли (что не так страшно, на каждом отдельном сайте всегда можно восстановить пароль, о чем мы поговорим через минуту, но если у вас много разных учетных записей, это доставит массу хлопот).
Несмотря ни на что, следующие советы вполне способны помочь вам защитить свой пароль.
Во-первых, надежный пароль — это длинный пароль, не менее 20–25 символов. Лучший вариант — случайные наборы символов, например ek5iogh#skf&skd. К сожалению, человеческий мозг с трудом запоминает случайные последовательности. Поэтому пользуйтесь менеджером паролей. Это гораздо лучше, чем придумывать пароль самостоятельно. Я предпочитаю менеджеры паролей с открытым кодом, такие как Password Safe и KeePass, они хранят данные только на вашем компьютере.
Важное правило — никогда не устанавливайте один и тот же пароль на два разных аккаунта. Сложно следовать этому правилу. В наше время пароль необходимо придумывать практически для всего на свете. Поэтому обзаведитесь менеджером паролей, который будет создавать и хранить надежные, уникальные пароли.
К счастью, большинству из нас противостоит не государство, располагающее практически безграничными ресурсами и временем. Чаще всего нами интересуются супруги, родственники или кто-то, кому мы насолили, т. е. люди, которые, столкнувшись с паролем длиной в 25 символов, не смогут его взломать, поскольку не располагают необходимым временем и ресурсами.
Даже если пароль надежен, его можно обойти с помощью ряда технологий. Существуют программы угадывания паролей, например John the Ripper, бесплатная программа с открытым кодом, которую может скачать кто угодно. Пользователь настраивает фильтры и запускает программу.12 В частности, можно указать количество символов, наличие или отсутствие специальных символов, добавить иноязычную раскладку и прочее. Утилита John the Ripper и другие программы для перебора паролей способны переставлять буквы пароля по определенным правилам, повышающим эффективность работы. Это означает всего лишь то, что программа просто проверяет каждую возможную комбинацию чисел, букв и символов, подходящую под заданные параметры, до тех пор, пока не подберет нужный пароль. К счастью, большинству из нас противостоит не государство, располагающее практически безграничными ресурсами и временем. Чаще всего нами интересуются супруги, родственники или кто-то, кому мы насолили, т. е. люди, которые, столкнувшись с паролем длиной в 25 символов, не смогут его взломать, поскольку не располагают необходимым временем и ресурсами.
Допустим, вы решили создать пароли по старинке и подобрали макcимально сложные комбинации. Угадайте, что дальше? Можно записать их. Просто не пишите что-нибудь в духе «Сбербанк: тыне1окпосмо3насвет*». Это слишком очевидно. Лучше вместо названия банка (например) напишите что-нибудь зашифрованное, скажем «банка с печеньем» (потому что некоторые люди прячут сбережения в банках из-под печенья), и далее «тыне1ок». Обратите внимание, я не закончил парольную фразу. И вам не нужно. Вы знаете, что там дальше. Но кто-то другой не знает.
Любой, обнаруживший листок с незаконченными паролями, будет изрядно сбит с толку — по крайней мере, в первый миг. Любопытный случай: я был в гостях у друга — очень известного сотрудника корпорации Microsoft, — и за ужином мы с его женой и детьми говорили о надежности паролей. В какой-то момент жена друга встала и подошла к холодильнику. Она записала все свои пароли на листе бумаге и прикрепила его к дверце с помощью магнитика. Друг только покачал головой, а я расплылся в широкой улыбке. Записывать пароли, возможно, не лучшее решение, но ничуть не лучше забыть редко используемый сложный пароль.
Некоторые сайты — например, интернет-банк — блокируют пользователей после нескольких неудачных попыток ввести пароль: как правило, речь идет о трех попытках. Однако многие сайты этого не делают. Но даже если сайт приостанавливает пользователю доступ после трех неудачных попыток, это не спасает от злоумышленников с программами вроде John the Ripper или oclHashcat. (oclHashcat задействует несколько графических процессоров и потому гораздо мощнее, чем John the Ripper). Кроме того, хакеры не проверяют каждый возможный вариант пароля на реальном сайте.
Представим себе, что произошла утечка и среди скомпрометированных данных оказываются логины и пароли. Но в паролях, полученных таким образом, творится настоящий хаос.
Как с помощью всего этого кто-либо сможет попасть в вашу учетную запись?
Каждый раз при вводе пароля, будь то для разблокировки ноутбука или для входа в учетную запись в вебсервисе, к этому паролю применяется однонаправленный алгоритм, известный как хеш-функция. Это не то же, что шифрование. Шифрование представляет собой двусторонний процесс: то, что зашифровано, можно расшифровать, если у вас есть ключ. Хеш-функция — это однозначное преобразование исходных данных в последовательность символов. Теоретически однонаправленная функция необратима — по крайней мере, восстановить исходные данные не так просто.
В базе данных с паролями, хранящейся на обычном компьютере, смартфоне или в «облаке», информация представлена не как «УМэриБылБарашек123$», а в хешированном виде, т. е. как зашифрованная последовательность цифр и букв. Эта последовательность и представляет ваш пароль.13
Таким образом, именно хеши паролей, а не они сами, хранятся в защищенной области памяти компьютера и именно их получают хакеры в результате взлома целевых систем или утечки данных. Получив хеши паролей, хакер может использовать программы наподобие John the Ripper и oclHashcat для их расшифровки либо методом перебора (проверки каждой возможной комбинации букв и цифр), либо пробуя каждое из слов списка, например словаря. Настройки в программах John the Ripper и oclHashcat позволяют хакерам при подборе паролей преобразовывать слова по различным шаблонам, например по шаблону, который называется leetspeak (или просто leet) и представляет собой систему замены латинских букв цифрами, как в «k3vln ml7nlck». Благодаря этому шаблону все пароли можно заменить на различные модификации на языке leetspeak. Эти методы позволяют с гораздо большей эффективностью взламывать пароли, чем при простом методе перебора (или брутфорсе, «метод грубой силы», как его еще называют). Самые простые и распространенные пароли без труда взламываются в первую очередь, а на взлом более сложных паролей требуется больше времени. Объем этого времени зависит от ряда факторов. С помощью инструмента для взлома паролей и ваших скомпрометированных данных (логин и хеш пароля) злоумышленники получат доступ к одному или нескольким вашим аккаунтам, применив этот же пароль к другим сервисам, подключенным к вашей электронной почте или иному идентификатору.
В целом, чем больше в пароле символов, тем больше времени потребуется таким программам, как John the Ripper, чтобы испробовать все возможные варианты. Однако чем мощнее становятся процессоры, тем меньше времени требуется на вычисление всех возможных паролей, состоящих из шести и даже из восьми символов. Именно поэтому я рекомендую использовать пароли не короче 25 символов.