Выбор пароля(защита от злоумышленников)

Как защитить пароли пользователей от перебора

24 мая 2018

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

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

Сегодняшний материал подготовлен специалистами центра компетенции по тестированию безопасности нашей компании. Из него вы узнаете:

  • Какие пароли можно считать надежными;
  • Какие механизмы могут защитить пароли от перебора;
  • Чем поможет тестирование продукта на проникновение.

Как злоумышленники узнают пароли?

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

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

Итак, каким образом злоумышленник может украсть пароль у пользователя?

  • Прямым перебором аутентификационных данных жертвы (guessing, cracking, brute force attack и т.д.). Это самый простой способ.
  • Методами социальной инженерии, которые позволяют узнать аутентификационные данные пользователя (например, позвонить и представиться администратором, рассылка писем от лица того же администратора и т.д.). Этот способ более изощренный и требует определенных усилий от атакующего (сбор информации о жертве и его окружении). Для этого злоумышленник должен владеть специальными навыками и инструментами и обладать определенными познаниями в психологии.
  • Подсмотреть пароль при прямом общении с жертвой или на его/ее рабочем месте (установить кейлогер в компьютер жертвы, найти стикер с паролем).

Механизмы защиты паролей

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

  • CAPTCHA (капча). При аутентификации пользователю необходимо дополнительно ввести символы с картинки.
  • Двухфакторная аутентификация с использованием различных средств. Например, отправка SMS с кодом на мобильное устройство пользователя для авторизации в приложении или использование генераторов одноразовых паролей.
  • Временная блокировка пользователя после определенного количества неудачных попыток аутентификации. Например, аккаунт пользователя блокируется на 30 минут после 5 неудачных попыток.
  • Определение требований к паролю. На этом моменте остановимся поподробнее.

Надежные пароли: какие они?

  • Оптимальное количество символов в пароле – 8-12.
  • В состав пароля входят цифры, латинские буквы и специальные символы («$», «?», «!», «». «”», «#», «%», «@» и другие).
  • Сочетание цифровых и буквенных символов (заглавных и строчных) – самое надежное.

НЕ рекомендуется использовать в качестве пароля:

  • Устойчивые словосочетания.
  • Наборы символов, представляющие собой комбинации клавиш, расположенных подряд на клавиатуре: qwerty, 123456789, qazxsw и т. д.
  • Персональные данные: имена и фамилии, даты рождения (свою и родственников), клички домашних животных, адреса, номера паспортов, страховых свидетельств и т. п., пароли, созданные для доступа к другим сервисам.

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

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

Также вы можете предусмотреть принудительную смену пароля с определенной периодичностью (например, раз в 90 дней). Если для подбора пароля требуется время превышающее данный период, то риск подбора пароля заметно сокращается.

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

Если защитные механизмы отсутствуют: реальный кейс по тестированию

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

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

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

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

О том, какие еще обнаруживают инженеры центра компетенции по тестированию безопасности A1QA, читайте здесь и вот здесь.

Тестирование на проникновение

Оценить уровень защищенности информационной системы (в том числе паролей пользователей) позволяет тестирование на проникновение.

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

При проведении тестов на проникновение могут применятся методы социальной инженерии. Специалисты по тестированию рассылают письма сотрудникам компании с целью ввести их в заблуждение и выведать нужную информацию.

Также могут использоваться и другие методы взаимодействия с жертвами: физический контакт, телефонные звонки.

Проводится тестирование на проникновение после того, как приложение полностью реализовано и протестировано. Обязательное условие – тестирование в окружении, максимально приближенном к настоящему.

Результаты проведения тестирования на проникновение:

  • Независимая оценка защищенности информационной системы от атак извне;
  • Выявление узких мест и уязвимостей;
  • Список необходимых работ по улучшению защиты с оценкой бюджета и временных рамок.

А данные ваших пользователей находятся под надежной защитой?

Если есть сомнения, закажите бесплатную консультацию со специалистами по тестированию безопасности A1QA.

Источник: http://www.a1qa.ru/blog/kak-zashhitit-paroli-polzovatelej-ot-perebora/

Как защитить себя от взлома и утечки личных данных

28 января отмечается Международный день защиты персональных данных. За советами о защите личных данных в интернете мы обратились к управляющему директору «Лаборатории Касперского» в странах Центральной Азии и Монголии Евгению Питолину.

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

Ни одна почтовая служба не может обеспечить 100%-ную безопасность вашей переписки. Самый простой способ обезопасить себя – использовать более сложные пароли к своим аккаунтам. Удивительно, но в наш век киберугроз самыми популярными паролями все ещё остаются цифры от 1 до 8 или дни рождения родственников.

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

После её настройки при входе в аккаунт у вас будут запрашивать не только пароль, но и код, который придёт на ваш номер по SMS.

При пересылке ценных сообщений не стоит использовать бесплатные Wi-Fi сети. В открытых сетях трафик не шифруется, и его относительно легко можно перехватить. Особо ценные бумаги, вроде сканов удостоверения, лучше отправлять в защищённом паролем архиве.

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

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

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

Банковские карты стали универсальным способом оплаты услуг в интернете. Мы подключаем их к интернет-магазинам, купонаторам, сервисам заказа билетов или служб такси. При этом возрастает риск использования данных карты для воровства средств со счетов. Самый простой способ такого воровства – фейковые сайты известных интернет-магазинов и онлайн-сервисов.

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

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

В целом следует внимательнее проверять, на каком сайте вы совершаете покупку. Если она была единовременной, можно удалить свои данные с ресурса.

Ещё один способ защитить свои средства – использовать для интернет-покупок виртуальную карту. Любой банк предоставляет подобную услугу. Через сервисы онлайн-банкинга можно перевести на неё сумму, необходимую для покупки. Таким образом можно защитить данные карточки, привязанной к основному счету.

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

Скорее всего, компания извлекла из этого уроки и повысила меры безопасности. Кроме того, следует обратить внимание на то, какое антивирусное ПО использует поставщик услуг хранения данных для проверки загружаемых файлов.

Некоторые облачные хранилища вообще не защищены антивирусами.

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

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

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

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

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

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

Читайте также:  Stacer - утилита для оптимизации и очистки linux

Распространённым методом похищения персональных данных является вирусное ПО. К примеру существует вредоносный троян, который устанавливается на ваш смартфон и регулярно снимает скриншоты с экрана, высылая их злоумышленнику. Чтобы понять, что с вашим устройством что-то не то происходит, достаточно внимательнее приглядеться к нему.

Если заряд смартфона начал расходоваться быстрее, он периодически перегревается, а некоторые приложения самопроизвольно запускаются, стоит обратить на это внимание и провести диагностику аппарата. Причиной как раз может быть вредоносное ПО. Некоторые вирусы могут умело скрываться и не подавать никаких признаков своего присутствия.

Чтобы обезопасить себя лучше пользоваться надёжными антивирусами и регулярно проверять своё устройство или компьютер.

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

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

После этого можно установить надёжный антивирус и почистить устройство от подозрительных программ. В дальнейшем следует регулярно проводить его диагностику.

Источник: https://informburo.kz/cards/kak-zashchitit-sebya-ot-vzloma-i-utechki-lichnyh-dannyh.html

Защита с использованием паролей

Замечание 1

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

Определение 1

Пароль – это строка знаков, которая применяется для доступа к информации или компьютеру.

Парольные фразы отличаются от паролей длиной паролей и состоят из нескольких слов, которые образуют отдельную фразу, что обеспечивает дополнительную безопасность. Использование паролей и парольных фраз позволяет предотвратить НСД пользователей к программному обеспечению, файлам и другим ресурсам.

Для более надежной защиты конфиденциальной информации рекомендуется создавать надежные пароли и парольные фразы, сложные для раскрытия или взлома.

Рекомендуется использование надежных паролей для всех учетных записей пользователей на компьютере. При подключении рабочей сети администратором сети может быть установлено обязательное использование надежных паролей.

В беспроводной сети дополнительная безопасность парольной фразы обеспечивается применением ключа безопасности WPA. Подобная парольная фраза преобразуется в ключ, который используеся для шифрования и не отображается для пользователя.

Ничего непонятно?

Попробуй обратиться за помощью к преподавателям

Признаки надежных паролей и парольных фраз

Надежный пароль должен:

  • содержать не менее $8-9$ символов;
  • не содержать имя пользователя, фамилии, названия организации;
  • не содержать полное слово;
  • значительно отличаться от паролей, которые использовались раньше.

Надежная парольная фраза должна:

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

Для повышения надежности пароли и парольные фразы должны содержать знаки, которые принадлежат каждой из категорий:

  • буквы верхнего регистра;
  • буквы нижнего регистра;
  • цифры;
  • знаки, которые не являются буквами или цифрами и пробелы.

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

  • Использовать сокращенную легко запоминающуюся фразу. Например, можно использовать значимую фразу: мой день рождения $13$ октября $1990$ года. Пароль, исходя из этой фразы, может быть следующим: мдр$13$окт$90$г.
  • Замещать цифрами, символами и орфографическими ошибками буквы или слова в придуманной фразе. Например, используя фразу мой день рождения $13$ октября $1990$ года можно применить надежную парольную фразу м0№ День р0жДен№я $13$ 0кт $90$.

Значение парольной защиты

Использование пароля позволит защитить информацию на компьютере от следующих видов угроз:

  • несанкционированный доступ;
  • некоторые вирусы и троянские программы (в основном поступающих через локальную сеть или Интернет).

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

Парольная защита используется при загрузке операционной системы.

Вход с использованием пароля может устанавливаться в программе BIOS Setup. Операционная система не начнет загружаться при неправильно введенном пароле. Но парольную защиту в BIOS можно сбросить.

Просмотр паролей, которые хранит операционная система

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

Операционной системой часто предлагается функция автозаполнения паролей в браузерах.

Разработано достаточно большое количество свободно распространяемых программ для расшифровки паролей операционной системы Windows или скрытых паролей из строк ввода браузеров. Среди таких программ Asterisk Key компании Passware и Password Recovery Toolbox.

Пароли пользователей хранятся в операционной системе в файле c названием SAM в папке C:windowssystem32config.

Источник: https://spravochnick.ru/onearticle/zaschita_s_ispolzovaniem_paroley/

Как усилить защиту паролей «12345» от brute-force атаки

Объект: веб-форма входа в систему.
Дана задача: усилить защиту аккаунта пользователя от подбора простого пароля к его аккаунту, используя минимум средств. Что такое минимум средств? Это не использовать таблицы-справочники для блокировки по IP-адресу и User-Agent.

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

Но в практике, в частном порядке и при определенных условиях, как оказалось, весьма возможно. Приглашаю под кат за подробностями. Итак, предположим, что, логин у нашего пользователя «test», а пароль «12345». Мерзкий бот подключил свой словарь сгенерированных паролей, и готов работать со скоростью 700 паролей в секунду.

Он знает, что логин пользователя — «test». Ситуация аховая: пароль «12345» будет вычислен за очень малое время. Пользователь, тем временем, открыл сайт и начал вводить логин и пароль в веб-форму логина. Давайте внесем изменения в систему авторизации, пока ни один из них не начал свою работу, и не случилась беда.

Магия будет заключаться в третьей переменной, которую следует «приклеить» к паре логин-пароль. Я назвал ее touch.

Каждый раз, когда кто-то получает (внимание: получает, а не запрашивает!) логин-пароль, дата «touch» для пользователя «test» обновляется на текущую дату-время:

login/password/touch: 'test', '12345', '2014-12-13 14:00:00'.Предположим, что бот начал первую итерацию и предложил пароль «1» для логина «test» в '2014-12-13 15:00:00'. Cрабатывает контроллер login_check, который читает из базы данных пару логин-пароль, которую никто не «трогал» целых 2 секунды! Откуда вообще эти 2 секунды?! Об этом будет дальше. Такая пара логин-пароль находится. Разница между последним «touch» и текущим временем — 1 час. Поэтому запись успешно возвращается на наш запрос. Сначала пара логин-пароль сличается и login_check приходит к выводу, что «test/12345» не равно «test/1». Контроллер возвращает «auth error». А затем дата «touch» для пользователя «test» обновляется на текущую: '2014-12-13 15:00:00'. Бот приступает к следующей итерации: пробует пароль «2». Скорость работы бота измеряется микросекундами. Он пытается авторизоваться сразу же: в '2014-12-13 15:00:00'. И тут вступает в действие наш алгоритм — условие по параметру «touch» уже не выполняется. 2 секунды еще не прошли. Fail. Модифицированный нашей логикой контроллер «login_check» не может получить пару логин-пароль. Запись существует, но ее дата «touch» еще слишком «свежая». И она она уже не попадает в выборку. А раз такой пары логин-пароль нет, то контроллер ответит боту «auth error». Бот не сдается, продолжает подбор и, наконец, приходит к правильному паролю «12345». Вероятность, что именно текущая попытка вернет успех — крайне и крайне мала. 1/700 на каждую попытку входа! То есть, если раньше было 1:1, то теперь 1:700. И чем быстрее бот, тем больше вероятность, что его ждет fail. В итоге только очень малая часть паролей будет действительно проверена. Остальные получат ложные срабатывания, даже если они будут верны.

А что пользователь?

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

И мы ею воспользуемся! Когда пользователь видит ошибку авторизации, он часто переписывает пароль заново. Даже если пароль он только что вбил сам. Даже если пароль подставлен автоматом из password-manager. Я делал это еще до того, как применил свою систему защиты простых паролей. Да, я обещал рассказать про две секунды.

Рассказываю: Две секунды это оптимальное время, за которое пользователь проводит операции по корректировке данных и совершает следующую попытку входа. В эти две секунды пользователь укладывается полностью. Если пользователь не уложился — он всегда может повторить попытку и за это время действие touch уже наверняка аннулируется.

В заключение.

Что будет если бот узнает о 2-секундной задержке? Если применить наши тестовые данные, это значит, что эффективность бота снизится: всего 1 попытка подбора пароля вместо 1400.

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

Заранее спасибо.

Источник: https://habr.com/post/245903/

Учимся на чужих ошибках и защищаем пароли от брутфорса — «Хакер»

Содержание статьи

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

Последнее время новостная лента пестрит постами об утечках паролей с крупных ресурсов.

Если ты следишь за новостями мира ИБ, то наверняка слышал об утечке 6,46 миллиона хешей паролей крупнейшей социальной сети для профессионалов — LinkedIn.

По сей день этот инцидент расследуют самые крутые спецы ФБР. Можно сказать, что последние полгода организация утечек паролей является негласным трендом в кругах анонимусов.

За это время были опубликованы хеши таких популярных ресурсов, как Last.fm, Yahoo Voice, eHarmony, NVIDIA. Небезызвестная компания Rapid 7 провела анализ 165 тысяч хешей, слитых с LinkedIn, и составила инфографику самых популярных (она приложена в качестве иллюстрации к этой статье).

На первый взгляд, пользователи сами виноваты, что используют такие простые для восстановления пароли. Но так ли это? В конечном счете компании удалось расшифровать и проанализировать все пароли, как сложные, так и простые.

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

Стоит ли в таком случае говорить о том, насколько уязвимыми мы становимся с неустойчивыми хешами, которые легко вскрываются ресурсами китайской ОЕМ-видеокарты стоимостью 42 доллара? Возможно ли существенно усложнить злоумышленникам восстановление паролей пользователей с утекшей БД? Возможно! Сегодня я расскажу тебе о том, как снизить риски восстановления паролей из неустойчивых хешей.

Многие начинающие криптоаналитики считают, что схема SHA1(SHA1(SHA1(..($hash)))) будет добавлять раунды в SHA1.

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

Обрати внимание, что результат SHA1(SHA1(..($hash))) — это не то же самое, что добавить больше раундов внутрь SHA1, так как там есть еще пре- и постобработка. Результатом такого хеширования может стать невыгодный во всех отношениях расход процессорных ресурсов.

Для того чтобы понять, насколько эффективен метод хеширования паролей, давай ознакомимся с существующими способами «восстановления» значения, скрывающегося за хешем. Их не так много, и я думаю, ты слышал обо всех.

  1. Брутфорс (Brutforce) — различают основные три типа брутфорса:
    • тупой (dummy) — перебор всех возможных значений. Этот принцип довольно устарел и в чистом виде уже не применяется нигде;
    • шаблонный (template) — перебор с использованием специальных шаблонов regexp, а также с применением различного рода словарей;
    • экстремальный (extreme) — перебор при помощи средств GPU. Современные видеокарты, поддерживающие технологию CUDA, AMD OpenCL, позволяют перебирать все возможные комбинации шестизначных паролей меньше чем за минуту, а семизначные — не больше чем за шесть минут. Используя технологии типа CrossFire и Stream, можно и вовсе объединять видеокарты в один массив для более эффективного перебора. Скорость перебора значения при этом может быть рассчитана по формуле:Среднее время (t) перебора (W) на N-м количестве видеокартt = ((W)/N1 + N2 + N3 + … + Nn)/2
  2. Перебор по «Rainbow tables» (радужные таблицы) — по сути, это тот же перебор, только с использованием заранее сгенерированных специальным образом таблиц. Очень эффективно применять против длинных паролей. Скорость перебора ограничивается лишь скоростью процессора и быстродействием памяти.

Схема упрощенной радужной таблицы с длиной цепочек, равной трем. R1, R2, R3 — функции редукции, H — функция хеширования

Под впечатлением от утечки нескольких миллионов хешей паролей пользователей сайтов LinkedIn, eHarmony и Last.fm, Пол-Хеннинг Камп (Poul-Henning Kamp), объявил, что созданную им в 1995 году реализацию системы хеширования паролей md5crypt больше нельзя считать безопасной.

По словам Пола-Хеннинга Кампа, md5crypt исчерпал себя как алгоритм хеширования паролей.

Современные инструменты подбора паролей, способные проверить миллион комбинаций в секунду, благодаря задействованию средств GPU-акселерации могут восстановить любой семисимвольный пароль по хешу md5 меньше чем за шесть минут, а для шестисимвольного перебор всех значений и вовсе будет составлять примерно минуту. Так как во многих системах для хеширования паролей по умолчанию по-прежнему используется md5crypt, Пол-Хеннинг Камп призвал пользователей и разработчиков ОС перейти на более стойкие алгоритмы.

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

Для сайтов с более чем 50 тысячами пользовательских аккаунтов Пол-Хеннинг Камп порекомендовал использовать собственный модифицированный алгоритм, базирующийся на стойких хешах, таких как SHA (чтобы организовать процесс подбора паролей для нестандартного алгоритма, дополнительно потребуется определить и воссоздать его логику).

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

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

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

md5($pass.$salt)
md5($salt.$pass)
md5(md5($pass))
md5(md5(md5($pass)))
vBulletin < v3.8.5 md5(md5($salt).$pass) md5($salt.md5($pass)) md5($salt.$pass.$salt) md5(md5($salt).md5($pass)) md5(md5($pass).md5($salt)) md5($salt.md5($salt.$pass)) md5($salt.md5($pass.$salt)) vBulletin > v3.8.5
md5($username.0.$pass)
md5(strtoupper(md5($pass)))
sha1($pass.$salt) sha1($salt.$pass) sha1(sha1($pass)) sha1(sha1(sha1($pass)))
sha1(strtolower($username).$pass)

Приведем пример простейшей маринованной защиты с применением статической соли от радужных таблиц md5(sha1(md5($pass))) на PHP:

$password = «passwd»; // Введенный пользователем простой пароль, который с вероятностью 99,9% будет в радужной таблице типа low-alpha
echo sha1($password); // По понятным причинам мы больше не используем алгоритм md5 для хеширования 😉
$salt = «S$4(!@#$%^17BB5G)$11_S2»; // Используя случайный набор символов, мы можем изменить значение хеша
echo sha1($salt . $password); // А вот хеш для маринованного пароля с солью
// Такая комбинация пароля и его хеша не найдется ни в одной радужной таблице

Статическая соль и подобные конструкции могут служить достаточно хорошо до тех пор, пока структура этих конструкций и соль хранятся в тайне. Если же злоумышленник сможет разреверсить алгоритм и узнать зашитый статический (что важно!) секретный ключ хеширования, то уже понятно, что ему не составит труда модифицировать под себя свою «радужную таблицу».

Hashcat поддерживает восстановление пароля из «соленых» хешей

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

$hash = sha1($user_id . $password);

Идеальный вариант — генерировать полностью уникальную соль:

// Генерируем случайную строку длиной в 22 символа function unique_salt() { return substr(sha1(mt_rand()),0,22);
} $unique_salt = unique_salt();
$hash = sha1($unique_salt . $password); // Заносим в переменную hash уникальный маринованный хеш

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

Давай немного поговорим о плюсах и минусах методов и алгоритмов хеширования. C одной стороны скорость, с другой — безопасность. Казалось бы, чем быстрее, тем лучше для пользователей: во-первых, меньше нагрузки на сервер, во-вторых, скоростная регистрация пользователей.

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

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

Жизненный цикл популярных криптографических алгоритмов

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

Хочешь повысить безопасность — придется потратиться на ресурсы и время, причем соотношение ресурсы/время прямо пропорционально.

function myhash($password, $unique_salt) {
$salt = «S$4(!@#$%^17BB5G)$11_S2»; $hash = sha1($unique_salt . $password); // В цикле исполняем функцию 1000 раз и только потом возвращаем результат
for ($i = 0; $i < 1000; $i++) { $hash = sha1($hash); } return $hash; }

Если злоумышленнику для того, чтобы сломать восьмисимвольный пароль, на мощной видеокарте потребуется около 55 часов, то после применения метода замедленного хеширования перебор всех значений уже составит семь лет. PROFIT!

Источник: https://xakep.ru/2012/11/22/study-in-alien-mistakes-safe-password-from-brutforce/

Protect: защита паролей от фишинга

Яндекс.Браузер применяет дополнительную защиту паролей, которая направлена против:

  • Фишинга. Злоумышленники делают сайты, очень похожие на настоящие. Пользователь думает, что попал на знакомый сайт, и вводит там пароль. Пароль попадает в руки злоумышленника, который может его использовать для кражи личных данных или денег.
  • Одинаковых паролей. Это серьезная угроза безопасности. Зная пароль к одной учетной записи, злоумышленник может получить доступ ко всем остальным.Например, если вы используете один и тот же пароль для входа в личный кабинет на сайте банка и в интернет-магазине, неизвестные вам сотрудники интернет-магазина смогут войти в ваш личный кабинет в банке.Вдвойне опасно использовать один и тот же пароль на HTTPS и HTTP-сайтах. Пароль на HTTP-сайте передается через интернет незашифрованным и легко может стать добычей мошенников, которые используют его на HTTPS-сайте для кражи личных данных или денег.

После того как вы вводите пароль на важном сайте, Яндекс.Браузер создает его отпечаток (хэш) и сохраняет в своей базе данных. Когда вы вводите пароли на других сайтах, браузер сравнивает их хэши с базой данных. В случае совпадения в правой части Умной строки появится значок и всплывающее окно с текстом предупреждения.

По умолчанию Яндекс.Браузер защищает пароли на популярных сайтах, например ВКонтакте или Mail.ru. Список важных сайтов формируется браузером, но вы можете расширить его, добавив нужные страницы (например, страницы с онлайн-платежами).

Чтобы включить защиту на выбранной странице:

  1. В правой части Умной строки нажмите любой значок на панели Protect.
  2. В открывшемся окне, в блоке, где отображается статус соединения, нажмите ссылку Подробнее.
  3. В блоке Разрешения включите опцию Защита паролей.

Внимание. Мы не рекомендуем этого делать, потому что злоумышленникам будет легче получить доступ к вашим личным данным.

  1. В правой части Умной строки нажмите любой значок на панели Protect.
  2. В блоке Общие настройки безопасности отключите опцию Предупреждать о вводе важных паролей (например, от почты) на незнакомых сайтах.
  1. Нажмите .
  2. В верхней части страницы перейдите на вкладку Безопасность.
  3. В блоке Защита от угроз отключите опцию Антифишинг паролей.
  4. Вы также можете удалить все хэши паролей. Для этого нажмите ссылку Очистить данные.

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

Криптографическое хэширование превращает пароль в уникальную последовательность символов, которую легко использовать для идентификации пароля, но восстановить по ней исходный пароль практически невозможно. Например, строка «hello» после хэширования может превратиться в последовательность «2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824».

Яндекс.Браузер применяет для хэширования алгоритм OSCrypt. Этот алгоритм формирует хэш, используя не только центральный процессор, но и большое количество операций чтения-записи в памяти. Такой подход затрудняет подбор паролей, например, хакер не сможет ускорить перебор за счет использования процессора видеокарты. Алгоритм OSCrypt используется, например, в криптовалюте LiteCoin.

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

Была ли статья полезна?

Источник: https://browser.yandex.ru/help/security/passwords-protection.html

Как защитить сайт от злоумышленников

Три приёма доступные для новичков, которые помогут на 100% защитить сайт от злоумышленников без плагинов.

Смена пароля для входа в админку

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

https://www.youtube.com/watch?v=7P66-lolLBQ

Мало того. Вам нагенерируют десяток таких паролей — выбирай на вкус.

Чтобы не испытывать трудностей с вводом большого количества знаков, пароль можно сохранить на своём компьютере, например в папке «Документы».

А лучше создать отдельную папку с нейтральным названием на диске D.

Хитрость в том, что мы не будем использовать полный пароль.

Например Вам сгенерировали 50 символов, вы из них копируете первые 30, и используете, а остальные остаются для отвода глаз на случай проникновения злоумышленника на компьютер.

Главное запомнить, на каком символе заканчивается реальный пароль, и копировать только эту часть для входа в админку.

Как видите ничего сложного, и такую смену пароля можно делать раз в неделю. За это время ни одна вредоносная программа такое количество вариантов не прокрутит.

Только не стоит расслабляться и разрешать браузеру сохранить пароль. Безопаснее вводить при каждом входе. 

Сканирование файлов

Сканер файлов — доступный для новичка инструмент способный обеспечить контроль за изменениями произошедшими в коде сайта.

Один из таких сканеров — Санти, уже год обеспечивает мне спокойный сон, и не напрягает сайт.

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

Подробнее о Санти Вы узнаете во вкладке Документация, если перейдёте по приведённой выше ссылке. Я же расскажу вкратце о главном.

Программа бесплатная, и принцип её работы прост, как и всё гениальное.

Санти устанавливается в корень сайта и не контролируется ни кем, кроме владельца сайта.

Он сканирует файлы, график Вы задаёте самостоятельно, делает копии, и отправляет на хранение в Ваш Яндекс Диск, не нагружая ими сервер.

Если в каком либо файле произошли изменения, то сканер отправляет Вам сообщение на эл. почту.

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

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

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

А вот искать и ломать маленький сканер делающий бекап, едва-ли кто додумается. 

Сканер сообщает обо всех изменениях в файлах, даже о тех которые делаете Вы.

Устанавливается или удаляется плагин, добавляется картинка, происходит обновление кеша, если стоит плагин Huper Ceche, это отражается в отчёте.

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

А вот к плагинам стоит отнестись повнимательней. Дело в том, что есть такие, которые внедряют свой код в ядро движка, например MailPoet Newsletters или BulletProof Security, и этот код остаётся даже после удаления плагина.

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

Заодно попрактикуетесь в работе с файлами и познакомитесь со структурой движка. 

Это принцип работы. Для новичка конечно возникнут трудности с техникой исполнения.

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

Защита через файл .htaccess

Оригинальный файл .htaccess WordPress имеет такой вид:

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Для начала запретим доступ к самому файлу кому или чему либо, кроме себя любимого. Для этого добавим в него перед # END WordPress следующий код:

# protect .htaccess order allow,deny deny from all

Затем возьмём Черный список всяческих пакостей и хакерских уловок известных в интернете и внесём их в файл, тем самым заблокировав им доступ на сайт.

Помимо всего прочего этот список снизит нагрузку на Ваш сервер и уменьшит показатель отказов в статистике.

# 6G:[QUERY STRINGS] RewriteEngine On RewriteCond %{QUERY_STRING} (eval() [NC,OR] RewriteCond %{QUERY_STRING} (127.0.0.1) [NC,OR] RewriteCond %{QUERY_STRING} ([a-z0-9]{2000}) [NC,OR] RewriteCond %{QUERY_STRING} (javascript:)(.*)(;) [NC,OR] RewriteCond %{QUERY_STRING} (base64_encode)(.*)(() [NC,OR] RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|[|%) [NC,OR] RewriteCond %{QUERY_STRING} (

Чёрный список собирается обновляется на сайте Perishable Press, так что советую взять его в закладки и не реже раза в год вносить обновления в файл.

Проверка на вирусы онлайн

Раз уж Вы занялись веб программированием, то Вам неизбежно придётся черпать инфу из интернета. Это могут быть и архивы и просто ссылки.

Хорошо если на компе стоит надёжный лицензионный антивирусник типа Каспера или ESET, но если такой защиты нет, то любой скачанный, или пришедший на почту файл надо перед распаковкой проверить.

Сделать это быстро и бесплатно можно на сервисе VirusTotal.

Сервис прогоняет введёный в него архив или ссылку по вирусным базам 54-х антивирусов, среди которых и DrWeb и Каспер и ESET.

Результат выдаётся подробнейший, в чём Вы сможете убедиться посетив этот сервис.

И ещё о плагинах.

Я прекрасно понимаю начинающих веб мастеров, так как сам недавно из таких. Хочется сделать такой сайт, что и «Ах!!!» и «Ух-ты!!!» с первого взгляда.

Но языки программирования пока тёмный лес, а тут вам россыпь плагинов. Устанавливай и радуйся.

Так вот, не стоит так радоваться потому, что для молодого сайта плагины — неподъёмная гиря, продвигаться с которой в десятки раз тяжелее.

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

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

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

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

Желаю безопасной работы.

Перевод сайта с Денвера на хостинг Бегет < < < В раздел > > > Сайт в интернете, что дальше? Оптимизация сайта

Источник: https://starper55plys.ru/wordpress/kak-zashhitit-sayt/

Как защитить ваш компьютер от взлома

Сегодня хочу отойти от привычной направленности моих материалов и поднять тему, которая является, на мой взгляд, не менее важной, чем духовное развитие или личная трансформация…

Я говорю о БЕЗОПАСНОСТИ вашего компьютера и той информации, что вы в нем храните.

Я не считаю себе большим специалистом по данному вопросу, НО несколько своевременных рекомендаций могу дать.

Буду признательна, если вы дополните список предосторожностей в комментариях к статье!

1. Установите антивирусную защиту

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

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

Сама я сторонница платных решений, типа антивируса Касперского, но есть и проверенные временем бесплатные программы.

Если в вашем бюджете нет лишних средств, можно использовать антивирусную программу avast!, она вполне справляется со своей задачей.

2. Регулярно обновляйте операционную систему и программы

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

Поэтому ваша задача: регулярно скачивать обновления программ и браузеров.

Это не только повышает защиту вашего компьютера, но и улучшает его производительность.

3. Скачивайте файлы только с надежных/проверенных ресурсов

В особенности это касается любителей «бесплатностей»…

Любите бесплатно скачивать в сети музыку, фильмы, книги, программы, пользуйтесь только проверенными сайтами (определить, насколько безопасен и надежен сайт, вам помогут отзывы на странице скачивания файла).

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

Правило для тех, кто активно пользуется skype и соц. сетями:

Никогда НЕ нажимайте на присланные вам ссылки или файлы

а) от незнакомых вам лично людей,

б) без подписи или пояснения, что это такое.

Вирусы, передаваемые через skype, сложно определить даже при хорошем антивируснике, будьте внимательны!

4. Защитите ваши персональные данные

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

— Не передавайте третьим лицам пароли от ваших учетных записей (регистрации в почтовых аккаунтах, он-лайн сервисах, сайтах, включая «Ключи Мастерства»).

— Если вы вынуждены выйти в сеть с чужого компьютера (например, с ноутбука подруги или из интернет кафе) и вводить ваши личные данные, не забудьте нажать на галку Чужой компьютер (при входе в почту) и Закончить сеанс при выходе со страницы авторизации.

Если вы получили на почту письмо с просьбой изменить или проверить ваши личные данные, прежде чем вводить свои данные внимательно изучите, КТО вам прислал это письмо и КУДА ведет ссылка в нем.

Мне приходили письма якобы от платежной системы Paypal с тем же дизайном и атрибутикой, но ведущие на совершенно «левый» сайт… По простоте душевной и собственной невнимательности очень легко передать мошенникам платежные данные. Бдите!

5. Используйте надежные пароли

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

ПАРОЛИ

Пароли к почтовым ящикам, профилям соц. сетей, он-лайн программам, сервисам, интернет банкам, сайтам и т.д.

У каждого из вас, я уверена, имеется от 10 до 100 регистраций в различных сервисах…

При всем желании НЕВОЗМОЖНО запомнить столько паролей?!

Как поступает большинство пользователей интернета? Запоминают ОДИН пароль и используют его ВЕЗДЕ!

Это абсолютно НЕДОПУСТИМО

Более того, неграмотные интернет пользователи чаще всего используют вместо паролей нечто знакомое, то, что они никогда не смогут забыть.

А именно, дату своего рождения, свою фамилию, номер телефона или паспортные данные… А потом удивляются, куда, например, исчезли деньги с их Яндекс.кошелька, где вместо пароля была указана дата рождения (реальный случай).

Правило безопасности простое: одна регистрация — один пароль.

При чем НАДЕЖНЫЙ пароль — не менее 8 символов, включая заглавную букву и цифру.

Чтобы не записывать на бумажке (которая все равно когда-нибудь потеряется) десятки паролей, рекомендую ВСЕМ установить любую программу для сохранения и защиты паролей.

Лично я использую программу Last Pass, которая не только сохраняет все введенные вами пароли, но и помогает генерировать новые надежные пароли.

Программа русифицирована, бесплатная, вы можете скачать ее по ссылке.

* * * * *

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

P.S. Чуть не забыла… Если у вас есть дети, которые активно пользуются интернетом, знайте, что вам гораздо чаще стоит проводить полное сканирование компьютера антивирусными программами. Моя дочь любит игрушки mail.ru, в результате каждый месяц мы отлавливаем десятки вирусов, благо у нее свой ноутбук…

Маленьким детям стоит включить режим «Родительский контроль», что отсекает возможность попасть на порнографические сайты или сайты с сомнительной репутацией.

безопасность деньги защитить себя

Источник: https://KluchiMasterstva.ru/kak-zashhitit-kompyuter-ot-vzloma

Ссылка на основную публикацию