Старший брат следит за тобой (страница 6)

Страница 6

Все становится намного интереснее, если соль хакеру неизвестна. В том случае, если для всех пользователей используется одинаковая соль, хакер несколько раз пробует зарегистрироваться в системе и сравнивает значения первого хеша и второго («соленого»), пытаясь выяснить, какое значение используется при «солении». Выяснив его, хакер возвращается к предыдущему методу перебора. Либо, если доступа к собственным хешам у него нет, он пробует извлечь соль из хешей перебором.

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

КЕЙС В марте 2013 г. Нэйт Андерсон, заместитель главного редактора журнала Ars Technica, провел эксперимент: скачал со специального сайта базу хешей паролей (т. е. хешей в зашифрованном виде, как они обычно и хранятся в компьютерных системах) и специальный софт для взлома. За пару часов ему удалось взломать около 8000 паролей, притом что Нэйт никогда раньше этим не занимался[35].

Для еще большего усложнения задачи злоумышленника используется такой метод, как «растяжение пароля». Суть его в рекурсивном алгоритме хеширования: раз за разом, десятки тысяч раз вычисляется хеш самого хеша. Количество итераций (вычислений хеша) должно быть таким, чтобы вычисление шло не менее секунды (чем больше, тем дольше взламывать). Для взлома хакеру нужно точно знать количество итераций (иначе получится другой хеш) и ждать не менее секунды после каждой попытки. Таким образом, атака получается очень длительной и поэтому маловероятной – но не невозможной. Чтобы справиться с задержкой, злоумышленнику понадобится более мощный компьютер, чем тот, на котором производилось хеширование[36].

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

Прочие методы. Социальная инженерия, фишинг (использование подложных сайтов и приложений), использование специального аппаратного и программного обеспечения: кейлогеров (программ, которые регистрируют нажатие клавиш и действия мыши), снифферов (программ для перехвата трафика), троянов и т. п.[37] Все эти способы будут описаны далее в книге, в соответствующих главах.

Обобщая всю информацию, можно выделить несколько основных правил, о которых речь пойдет далее.

Как выбрать надежный пароль

Хотя для аутентификации на сайтах и в пользовательских приложениях все чаще применяются биометрические технологии и прочие методы, реализуемые с помощью электронных устройств, а IT-компании призывают к отказу от паролей[38], вопрос надежности паролей не теряет актуальности. Существует программное обеспечение, сайты и электронные девайсы, для доступа к которым требуется старый добрый пароль, и, если он будет достаточно сложным, злоумышленник не сможет его подобрать.

Для обеспечения надежной парольной защиты нужно запомнить несколько основных правил:

1. Пароль должен быть относительно длинным и стойким к взлому.

2. Пароль следует хранить в безопасном месте и защищать от компрометации.

3. Разные сервисы – разные пароли.

4. Пароль нужно периодически менять.

5. Информация для восстановления пароля должна быть сложна и тщательно защищена.

6. Если поддерживается многофакторная аутентификация – она должна быть включена.

7. Вынос мусора, или удаление своих следов. Это правило не связано с надежностью паролей, но очень важно.

КЕЙС В ночь с 4 на 5 мая 2018 г. в Копенгагене злоумышленники взломали компанию Bycyklen, управляющую городской системой велопроката, и стерли все данные, до которых смогли добраться. В результате из строя вышли 1660 электровелосипедов, расположенных в различных местах по всему городу. Велосипеды были оснащены планшетами под управлением операционной системы Android и для учета поездок и определения местонахождения подключены к сети Bycyklen. Специалистам компании пришлось вручную перезагружать все планшеты на электровелосипедах в городе[39].

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

Длинные пароли взламывать сложнее, но и сложнее запоминать. Здесь применим общий принцип: чем ценнее объект, тем лучше он должен быть защищен от похищения. Верно же, что полотенца и смену белья вы храните в шкафу или комоде, а деньги и документы – в укромном месте: в сейфе или банке? И чем больше сумма или важнее документы, тем больше усилий вы предпринимаете для их защиты. Так и с цифровыми данными. Можно использовать относительно простой пароль для аккаунта на бесплатном сайте, содержащего минимум персональной информации. То же касается ящика электронной почты, предназначенного, например, для получения массовых рассылок (но в такой ящик не должны попадать письма, способные нанести вам ущерб в случае их прочтения злоумышленником). А важный рабочий или личный адрес электронной почты, аккаунты в социальных сетях, а уже тем более доступ к финансовой информации нужно защищать существенно надежнее.

КЕЙС В 2014 г. хакеры нашли брешь в системе безопасности одного из серверов кинокомпании Sony Pictures и получили доступ ко многим терабайтам внутренних данных: сведениям о 47 000 сотрудниках компании, в том числе Анджелине Джоли и Сильвестре Сталлоне (включая сканы их паспортов, копии контрактов, личные портфолио, сведения о доходах и многие другие конфиденциальные данные); цифровым копиям фильмов, еще не вышедших в прокат; почтовой переписке между сотрудниками компании; логинам и паролям к многочисленным рабочим аккаунтам в сети Twitter и многому-многому другому. Также была полностью выведена из строя внутренняя сеть компании, из-за чего работа Sony Pictures остановилась на несколько дней[40]. Интересно, что рабочий пароль Майкла Линтона, генерального директора компании Sony Entertainment, был таким: sonyml3[41].

На момент написания книги рекомендации таковы: надежные пароли должны быть длиной не меньше 12 символов (лучше больше) и включать в себя строчные и прописные буквы, цифры и специальные символы. Кстати, пароли многих «продвинутых» пользователей вполне предсказуемы: например, в длинном пароле используются ряды словарных слов, прописной становится первая или последняя буква в пароле, а в конце добавляется цифра 1 и т. д. Не следуйте по их пути, такой подход не обеспечит должного уровня защиты. На сайте https://www.betterbuys.com/estimating-password-cracking-times/ можно проверить, сколько времени занял взлом того или иного пароля – с учетом развития компьютерных систем – в разные годы: с 1982-го до наших дней. Стоит отметить, что на взлом пароля, на подбор которого брут-форсом в 1991 г. уходило почти 4000 лет, спустя 30 лет потребуется «всего лишь» 9,5 лет.

Пароль не должен быть похож на логин и содержать следующих друг за другом одинаковых символов (например, aaa или 111) либо последовательностей букв или цифр (например, abc или 123). Также следует избегать паролей, содержащих названия сайтов или имена доменов, на которых используются. Как вариант, можно использовать длинные кодовые фразы, например строку из песни, где удалены пробелы и/или каждое слово начинается с прописной буквы (или даже специального символа) либо слова переставлены в обратном порядке и т. п. Например, фразу «В лесу родилась елочка» можно изменить, вместо пробелов вставлять, скажем, цифры по числу букв в предыдущем слове: «В1лесу4родилась8елочка6». Также можно заменить в слове часть букв цифрами, поменять местами последнюю и первую буквы, вставить в середину слова точку с запятой и т. п. При этом следует учитывать механизмы мутации в программах для перебора паролей: они также учитывают возможные замены букв на похожие цифры (например, «o» на «0» или «g» на «9»).

История одного взлома

Вкратце расскажем о том, как проводил взлом базы хешированных паролей один из хакеров. Он воспользовался стареньким компьютером с процессором Core 2 Duo и программой Ultimate Distributed Cracker со скоростью перебора 5 млн паролей в секунду. В результате было вскрыто 31 790 паролей из 41 037 MD5-хешей. Первым делом хакер провел поиск цифровых комбинаций длиной до 11 символов и за 5 минут нашел 15 759 паролей. После этого запустил перебор пар с помощью конкатенации (склейки) слов из этого словаря (такой метод часто называют «гибридная атака»), в результате за считаные минуты легко подбирались пароли вида 1111111111123123. В результате найдено еще 358 паролей. Затем за несколько минут он вскрыл 5767 паролей короче 7 символов. Далее он искал слова из словарей на разных языках и подстановки: убирал из слов все гласные, случайно менял регистр одной-двух букв в любом месте, случайно нажимал CAPS LOCK в любом месте слова, добавлял в конец слова до трех случайных цифр плюс легко запоминающиеся сочетания (2010, 2011 и пр.), добавлял в начало слова до двух случайных цифр плюс легко запоминающиеся сочетания (123, 1111 и пр.), добавлял случайный символ в любое место слова, добавлял знаки препинания в начало и/или в конец слова, использовал «хакерские» замены («один» = «1», «s» = «$», «a» = «@» и т. п.), имитировал ошибки переключения раскладки (русское слово в английской раскладке, и наоборот). За 30 минут удалось взломать еще 5213 паролей. Далее хакер применил частотный анализ для длинных паролей, состоящих из букв разных регистров и цифр (из найденных паролей извлекаются подстроки (фрагменты строк по заданному шаблону), сортируются по частоте, и создается словарь из 10 000 самых частых сочетаний, добавляются все одно- и двухсимвольные комбинации). Затем он произвел перебор с конкатенацией двух-трех слов из такого словаря. Операция заняла почти 7 часов, и было найдено 4693 длинных и сложных пароля[42].

Нельзя включать в пароли любые данные, характеризующие вас, будь то имя, дата рождения, номер телефона, фамилия прабабушки, название любимого музыкального коллектива или кличка кошки. Всю эту информацию злоумышленник может выяснить и упростить себе процесс взлома. Кроме того, крайне не рекомендуется использовать в паролях словарные слова, так как первым делом злоумышленники проводят «быструю» атаку по словарю. Проверить устойчивость своего пароля к взлому можно с помощью специальных онлайн-сервисов[43],[44].

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

Примечание. В 2019 г. компания DeviceLock проанализировала 4 млрд утекших учетных записей на предмет наличия наиболее популярных паролей, в том числе кириллических. «Безумную десятку» составляют пароли (в порядке убывания популярности): я; пароль; йцукен; любовь; привет; люблю; наташа; максим; андрей; солнышко[45].

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

[41] https://twitter.com/kevinmitnick/status/545432732096946176.