Почему хакеры так легко и просто взламывают наши пароли?
Использую что-то вроде:"мыделилиапельсинмногонасаонодинэтадолькадляежаэтадолькадлястрижаубейсясукаобстол" - для пароля на базу паролей. Используя терминологию автора - метод грубой силы.Пароли в базе:QpfWfEQjCeDCkshRoYwOI9pkwqNyKs00JBBm2CA1OpUKOmwcEA2Y8qQCTJsdirKntrxjvV3y89LUIflMgFfvCPzk1BRjD990Fld99IYrgFq0P8NVpJlukby4qRNBPZrk.
В терминологии автора - метод грубой силы.
Немного добавлю в пост про взломы.1 Если не внедрятся в дебри, то есть 2 глобальных типа взлома аккаунта:
1.1 Украсть данные о пользователе с сервера сайта (поиск рабочей SQL-инъекции, поиск названия таблицы в базе данных с учетными данными пользователей, вытаскивание пароля/хэша пароля (да да - ещё встречаются системы, где пароль хранится в открытом виде)).
1.2 Украсть данные о пользователе с системы пользователя. Это уже XSS, где оставляется скрипт, который считывает из Cookies данные об авторизации (например токен текущей сессии) и передает его злоумышленнику. Или же подослать под видом хорошего ПО вредоносное, которое, к примеру, вытащит все сохраненные пары "Логин-пароль" с браузеров и отправит злоумышленнику. Не поверите, но для того, чтобы программа вытащила пароли с Windows (проверял на 7) - даже не надо прав администратора. Просто запустите программу и через секунду Ваши пароли могут быть уже где-нибудь на почтовом сервере в США.
2 Действительно - есть несколько способов подбора паролей.Самый быстрый и простой - по словарю, есть полный перебор, а есть комбинированные типы.Например перебор вроде "Password1","Password2","Password3".."Password100000".Смысл? Очень часто бывает случаи, когда просто к популярному слову добавляют любимые числа. Через дефис, или сразу после слова. Перебирать методом полного перебора пароль Password-12345 можно очень долго, а вот с помощью такого комбинированного метода придется перебрать только правую часть пароля для каждого слова в словаре. Это куда меньше, но даст, тем не менее, некий профит. То, что писалось в статье - это был подбор МД5 хэша. Напомню, что такое алгоритм хэширования. В идеале - это однонаправленная функция (хотя это ещё никто не доказал, но всё же для красного словца). Что такое однонаправленная функция? Это такая функция, которая считается только в одну сторону. Например есть функция производной. Мы можем её посчитать от любого уравнения. Но никто не мешает нам потом взять и узнать, что было же в оригинале. Это двунаправленная функция. А вот из результата хэширования уже "нельзя просто так взять и узнать оригинал":). Из того и расчет. Пользователь хочет зайти на сайт и отправляет серверу свой ник и хэш своего пароля. У сервера хранится таблица (БД), в которой в каждой строчке есть логин и хэш от пароля. Вот он и сравнивает. Если всё верно - пускает. Но уже давно стали применяться более сложные схемы авторизации.Например самая простая. Сервер берет хэш не от самого пароля, а от пароля с "солью". А "соль" хранит отдельно от базы данных, чтобы в случае взлома БД "соль" не пострадала.Например он считает не MD5(пароль_пользователя), а уже MD5(пароль_пользователя6a48g57x3), где "6a48g57x3" и есть соль.Даже если хакер сольет такую базу - он не сможет перебрать её по словарю, потому что в ней даже самый банальный пароль "123456" будет выглядеть как "1234566a48g57x3". К тому же не известно в какое место пароля он вставит эту "соль", да и вообще это может быть не обычное "склеивание" двух строк, а например XOR пароля с солью.Я уж молчу о том, что можно использовать SHA1, SHA2, или другие алгоритмы хэширования, а также итерации. То есть не MD5(password), а MD5(MD5(password)). Можно и не двойную. В системе защиты DPAPI в Windows используется от 5 до 18 тысяч итераций SHA. Чтобы считалась вся эта муть под секунду даже на хороших CPU. Имеет смысл перебирать, если за час будет перебрано только 3600 паролей? Думаю нет.
3 Небольшие советы по поводу паролей. По сути при переборе используется несколько "алфавитов".*Цифры*Символы*Английский алфавит*Русский алфавит*другие алфавитыИ идет перебор, используя символы выбранных алфавитов.Но перед тем как выбрать алфавиты нужно проанализировать - какие алфавиты разрешены на выбранном сервисе. Например может быть запрещен русский алфавит - зачем же его перебирать, если символов из него там 100% нет.Но! Многие сервисы допускают применение "непечатаемых" символов :попробуйте сами - держите кнопку ALT и нажимайте цифры на NumPad клавиатуре.ALT+1= и так далее.Увы здесь они фильтруются, но на некоторых сайтах работают.Обычно такие символы не перебирают. Я не думаю, что кто то взломает пароль (перебором) вроде:ya2zH7nut9K5Выглядит страшно, но его легко запомнить. Например так:ya=я2 = день рождение второго числаzH = ж = живу7 = день рождение в 7 месяцепароля, а также после даты рожденияn=н=наu=у=улицеt=т=троллей :))9=дом номер 9 (или, к примеру, дом 45, складываем 4 и 5 - получаем 9)K=к=квартира5=номер квартиры 5 (или 23, складываем 2 и 3 - получаем 5)
Каждая 4 буква большая, потому что мне нравится цифра 4.Выходит, что вспомнить такой пароль не сложно. Да и придумать тоже."Я живу на улице троллей 45, квартира 23. Мой ДР 2.07"
Про то, что лучше всего использовать разные пароли на разных сайтах выше уже писали. Чтобы не запоминать для каждого сайта всю муть - можно использовать шаблоны. Вот тот пароль, что написан выше будет основой. А в конце, или начале будет дописка для каждого сайта индивидуально. Например для дописатьsdpRТо есть "специально для пикабу" и первая буква ника.