Как стать автором
Обновить

Замедление хеширования паролей. Зачем?

Криптография *
Доброго времени суток, хабрапараноик! Сегодня мы поговорим о немного необычном способе повышения безопасности, а именно замедлении хеширования паролей. Казалось бы, когда всё вокруг стараются оптимизировать, зачем что то замедлять?
Хотя бы затем, что даже в самой супер-пупер защищенной системе самым слабым звеном остается человек. А именно, его пароль.

Вы пытались когда нибудь взломать зашифрованный rar архив? И сколько паролей в секунду оно перебирало? 50-100-200? Даже на хорошем GPU, при использовании небезызвестного cRARk, скорость перебора всего около 2400 вариантов/сек. И это-то по сравнению с десятками (сотнями) миллионов паролей/сек для zip/md5/SHA1.

Под катом моя вольная интерпретация этого процесса.
Читать дальше →
Всего голосов 91: ↑79 и ↓12 +67
Просмотры 14K
Комментарии 107

Веб-страница = URL

Облачные сервисы
Красивый сервис Hashify.me берёт контент веб-страницы и хеширует его в URL. В результате вы получаете огромную ссылку, в которой закодирован текст и картинки. Эту ссылку можно пропустить через Bit.ly — и получите короткую ссылку. На самом деле на сайте Hashify уже поддерживает интерфейс Bit.ly API, так что короткая ссылка генерируется автоматически.
Читать дальше →
Всего голосов 82: ↑66 и ↓16 +50
Просмотры 422
Комментарии 57

Гиперссылки в формате «ed2k://…» и их применение. Часть 1: описание формата файловых ed2k-гиперссылок

Децентрализованные сети
Более десяти лет назад (6 сентября 2000 года, как можно выяснить в Архиве Интернета) на свет появился первый выпуск программы eDonkey2000, представивший миру идею и реализацию гиперссылок в формате «ed2k://…» — удивительный для своего времени алхимический сплав трёх идей: во-первых, хэширования файлов, во-вторых, URI (единой формы идентификации ресурсов), и в-третьих, файлообмена.

Хотя через 6 лет (в сентябре 2006 года) юристам RIAA через суд удалось принудить производителя eDonkey2000 прекратить распространение программы (и даже подменить её сайт зловещим предупреждением о нелегальности файлообмена), формат гиперссылок «ed2k://…» был унаследован и широко используется по сей день во всех файлообменных программах и на всех сайтах, имеющих дело с файлообменными сетями ed2k или Kad. Более того, с тех пор этот формат успел слегка подразвиться по сравнению с вариантом 2006 года. Такова эпическая сила идей, в нём заложенных.

Популярность программ, реализующих формат гиперссылок «ed2k://…», также оказалась немалою. В зените своей славы программа eDonkey2000, название которой действительно происходит от английского слова «donkey» («осёл»), в умах российских пользователей на равных боролась за жаргонное название «ослика» с мега-популярным браузером IE, который обязан этой кличкою лишь случайному сходству транскрипции «иэ» и имени ослика Иа-Иа из историй о Винни-Пухе — а также, быть может, и своему ослиному упрямству в некорректной интерпретации некоторых веб-стандартов. (Приязнь к аниме и понимание «иэ» как японского отрицания «нет» в те годы, как видно, не было распространено.) А главный из идейных «наследников» eDonkey2000 — свободная программа eMule с открытым исходным кодом — до сих пор находится в вершине списка наиболее популярных (по числу закачек) продуктов на сайте SourceForge.

Хэширование файлов. URI. Файлообмен. Каким образом все три эти идеи сплелись воедино в формате гиперссылок «ed2k://…»?

Читать дальше →
Всего голосов 74: ↑58 и ↓16 +42
Просмотры 7.9K
Комментарии 37

Считаем хэши файлов любого размера прямо в браузере

Я пиарюсь
В сети очень много сайтов для подсчета хэшей (MD5, SHA1, SHA2) файлов, однако, все сервисы, что я смог найти, имеют один и тот же недостаток: размер файла ограничен. Также необходимо сначала загрузить файл на сервер, чтобы получить результат вычислений. Это очень неудобно.

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

Картинка и немного информации под катом
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Просмотры 3.8K
Комментарии 30

Немного о хэшах и безопасном хранении паролей

Информационная безопасность *PHP *
Из песочницы
Upd. Если вы знаете, что такое BCrypt, можете дальше не читать. Если вы используете PHP 5.5+ то можете прочитать эту статью. Ниже же я изобрел свой велосипед, рабочий, но с двумя рулями, задний запасной. Молод был, горяч.

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

  • Хранить пароли в БД в открытом виде.
  • Использовать обычные хэши crc32, md5, sha1
  • Использовать функцию crypt()
  • Использовать статическую «соль», конструкции вида md5(md5($pass))
  • Использовать уникальную «соль» для каждого пользователя.

Читать дальше →
Всего голосов 71: ↑57 и ↓14 +43
Просмотры 65K
Комментарии 100

О подходах к сравнению версий файлов

Разработка веб-сайтов *Программирование *Алгоритмы *
Из песочницы
Люди, использующие системы контроля версий исходного кода (SVN, Mercurial, Git и т.п.), наверняка часто пользуются возможностью сравнения версий файлов для просмотра внесенных пользователями изменений. Существует множество независимых программ сравнения версий (WinMerge, BeyondCompare и др.). При сравнении версий, как правило, две версии файла показываются рядом друг с другом таким образом, чтобы одинаковые (неизменившиеся) части документов были расположены напротив друг друга, а изменившиеся (добавленные и удаленные) выделяются соответствующим цветом.
Уверен, многим было бы интересно узнать, какие алгоритмы могут использоваться для реализации такого сравнения.
Читать дальше →
Всего голосов 49: ↑41 и ↓8 +33
Просмотры 7.7K
Комментарии 31

Stripe CTF — разбор уязвимости алгоритма SHA-1

Информационная безопасность *Криптография *Алгоритмы *
Из песочницы
Когда на хабре был опубликован пост о том, что компания Stripe проводит конкурс Capture the Flag, я незамедлительно зарегистрировался как участник.

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

Уровни с 0-го по 6-й не представляли особого труда — стандартные SQL- и JavaScript-инъекции, загрузка на сервер PHP-скрипта вместо картинки и т.п.

А вот 7-й уровень заставить меня поломать голову…
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Просмотры 10K
Комментарии 10

Почему Keccak настолько крут и почему его выбрали в качестве нового SHA-3

Информационная безопасность *Криптография *
Из песочницы
Tutorial

Привет, %username%!
Мне, как ни разу не профессиональному математику и криптографу, редко бывает сразу понятно как устроен тот или иной алгоритм. И тем более, почему его выбирают.
Так и с новым стандартом SHA-3. Выбрали какой-то Keccak, спасибо камраду NeverWalkAloner, привел его описание. Но лично мне так и не стало понятно как он работает и в чем его фишка. Давайте разбираться.

В конце статьи будет небольшой бонус параноикам в виде информации к размышлению о стойкости SHA-2
Читать дальше →
Всего голосов 91: ↑88 и ↓3 +85
Просмотры 51K
Комментарии 19

Сортировка вставкой в хэш-таблицу

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

Кому интересно – прошу под кат.

Читать дальше →
Всего голосов 20: ↑11 и ↓9 +2
Просмотры 14K
Комментарии 19

Как надо хешировать пароли и как не надо

Информационная безопасность *
image

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

Постараюсь очень лаконично и быстро обрисовать ситуацию с хэшами.

Сразу определю какую задачу применения хешей буду рассматривать — аутентификация пользователей. Не токены восстановления паролей, не аутентификация запросов, не что-то еще. Это также не статья про защиту канала передачи данных, так что комментарии по challenge-response и SSL неуместны!

Читать дальше →
Всего голосов 135: ↑117 и ↓18 +99
Просмотры 231K
Комментарии 331

Вероятность в алгоритмах. Лекция Яндекса

Блог компании Яндекс Алгоритмы *Математика *
Tutorial
Многие алгоритмы являются детерминированными – то есть последовательность их действий зависит лишь от входных данных и программы. Но что будет, если разрешить алгоритму по ходу работы использовать случайные числа?

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


Конспект лекции
Всего голосов 80: ↑69 и ↓11 +58
Просмотры 30K
Комментарии 7

Некоторые методы поиска нечетких дубликатов видео

Data Mining *Алгоритмы *Обработка изображений *
Существует достаточно широкий круг задач, где требуется анализ, аудио-визуальных моделей реальности. Это относится и к статическим изображениям, и к видео.

image


Ниже приведен небольшой обзор некоторых существующих методов поиска и идентификации нечетких дубликатов видео, рассмотрены их преимущества и недостатки. На основе структурного представления видео построена комбинация методов.
Обзор совсем небольшой, за подробностями, лучше обращаться к первоисточникам.
Подробности
Всего голосов 31: ↑31 и ↓0 +31
Просмотры 18K
Комментарии 10

Дисковая балансировка в Nginx

Nginx *

В этой статье я опишу интересное решение на базе Nginx для случая, когда дисковая система становится узким местом при раздаче контента (например, видео).
Читать дальше →
Всего голосов 42: ↑35 и ↓7 +28
Просмотры 24K
Комментарии 60

Джеф Атвуд: «Ваш пароль слишком короткий!»

Информационная безопасность *Разработка веб-сайтов *
Перевод
Я уже устал писать про пароли. Но как и налоги, электронная почта и красные глаза, они никуда не денутся. Что я могу сказать, исходя из опыта:
  • неважно, что вы скажете пользователям, они будут выбирать простые пароли
  • и они будут использовать один и тот же пароль везде. Если повезёт – два пароля

Что с этим можно сделать разработчику?
  • прекратите требовать пароли и разрешите авторизацию через Google, Facebook, Twitter, Yahoo или любой другой сервис. Лучший пароль – тот, который не нужно хранить.
  • поощряйте браузеры к поддержке автоматических встроенных систем создания и управления паролями. В идеале – поддерживаемых и операционками, но тут уже требуется всеобщая привязка к облачным технологиям. В эту сторону двигается Chrome.
  • пинайте юзеров, когда они вводят:
    • слишком короткие пароли: UY7dFd
    • пароли с минимумом энтропии: aaaaaaaaa
    • пароли из словаря: anteaters1


Читать дальше →
Всего голосов 45: ↑35 и ↓10 +25
Просмотры 40K
Комментарии 106

Немного о защите идентификаторов веб-сессий

Блог компании Positive Technologies Информационная безопасность *Разработка веб-сайтов *
Перевод
Предлагаем вашему вниманию перевод статьи из блога Eran Hammer — создателя фреймворка hapi.js. На этот раз речь пойдет об обеспечении безопасности идентификаторов сессий.



На Github прозвучал вопрос о том, зачем в Node.js-фреймворке Express к идентификационной cookie сессии добавляется хэш-суффикс? Отличный вопрос.

Но сначала небольшой дисклеймер: как и любой другой совет по безопасности от человека, не знакомого со спецификой конкретной системы, рассматривать все, что будет написано ниже, следует лишь с образовательной точки зрения. Безопасность — это сложная и крайне специфичная область знаний, поэтому, если обеспечение должного уровня защиты критически важно для конкретной компании, ей следует нанять выделенного ИБ-специалиста или обратиться к услугам профессионалов по защите информации.
Читать дальше →
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 15K
Комментарии 10

Кэш, хэш и няш-меш

Firefox JavaScript *Клиентская оптимизация *HTML *Mesh-сети *

UPD0 (2016-07-19 23-31): судя по всему, первая половина моей статьи — успешно изобретённый велосипед. Спасибо хабравчанам за ссылку на спецификацию
Статья ценна не более, чем вольное описание уже придуманной технологии.


Предыстория


Июльский субботний вечер подходил к концу. Нарубив дров на шашлык, я повесил USB-модем на багету, скомандовал sudo wvdial, развернул браузер и обновил вкладку с открытым гитхабом. Вернее, попытался обновить. Скорость не радовала, и в итоге страница-то обновилась, но явно не хватало какого-то из стилевых файлов; и дело было не в блокировке, поскольку аналогичные проблемы я наблюдал и с другими сайтами, и зачастую они решались просто многократным обновлением страницы. Во всём был виноват перегруз 3G-сети.


Стоп! А как же кэш?

Читать дальше →
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 12K
Комментарии 34

Хакер, хакни себя сам

Блог компании Productivity Inside Администрирование баз данных *
Перевод
Нам попадалось множество историй о том, как эксплойты наносили непоправимый урон сообществам или вообще приводили их к краху. Начиная работу над проектом Discourse, мы помнили об уроках, которые извлекли из этих историй. Мы поставили перед собой цель создать программу с открытым кодом, которая по умолчанию обеспечивала бы безопасность всем своим сообществам — пусть даже их будет тысячи или миллионы.


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

Владельцы форумов имеют возможность создавать бэкапы и восстанавливать целые базы данных сайтов прямо из администраторской панели в веб-браузере. Автоматические бэкапы по умолчанию производятся на еженедельной основе. Я же не просто так считаюсь ведущим мировым экспертом по бэкапам!
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 4.2K
Комментарии 3

Facebook предлагает потенциальным жертвам порномести заранее переслать свои голые фотографии самому себе

Социальные сети и сообщества Фототехника
Чего только не сделают люди в порыве гнева. Кто-то готов сломать телефон или выкинуть ноутбук в окно. Способы мести тоже выбирают изысканно. Один из самых популярных — выложить в социальные сети компрометирующие фотографии и видеоролики с участием бывшей девушки. Мол, так она будет опозорена, ведь фотографии увидят знакомые и родственники. Это очень распространённое явление получило название «порноместь» (revenge porn). В современном обществе сцены убийства ни у кого не вызывают удивления, но показывать секс между влюблёнными людьми — это своеобразное табу.

Facebook обещает устранить порноместь с помощью технологий. Сейчас составляется база хэшей для фотографий, которые блокируются в социальной сети. Блокировка работает как в общей социальной сети, так и в приватных чатах Messenger (фирменное приложение для IM). Аналогичную технологию в 2015 году запустила Google.

Но в системе Facebook странно то, что для пополнения базы хэшей компания полагается… на будущих жертв порномести. Их просят заранее «зарепортить» свои компрометирующие фотографии.
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Просмотры 32K
Комментарии 205

Facebook рассказал о работе модераторов в отделе по борьбе с порноместью

Социальные сети и сообщества Фототехника
Несколько дней назад стало известно, что Facebook в Австралии запустил программу по самозащите от порномести (revenge porn). Если девушка (или парень) хочет заранее заблокировать для распространения свои интимные фотографии, то должна пропустить их через серверы Facebook. Процедура якобы конфиденциальная: нужно прислать фотографию самому себе в Messenger и пометить её как «порноместь». Тогда вычисляется хэш файла — и он помещается в базу данных для блокировки. Фотография будет заблокирована для дальнейшего распространения во всех системах Facebook, включая приватные чаты.

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

Сейчас Facebook официально подтвердил, что модерация есть. И рассказал о работе модераторов.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 17K
Комментарии 49

Про хранение паролей в БД

Блог компании Акрибия Информационная безопасность *


Сегодня посмотрим, как лучше всего хранить пароли в базе данных и как известные платформы решают эту задачу.
Читать дальше →
Всего голосов 26: ↑21 и ↓5 +16
Просмотры 58K
Комментарии 44
1