Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

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

Под катом моя вольная интерпретация этого процесса.
Читать дальше →
Total votes 91: ↑79 and ↓12 +67
Views 13K
Comments 107

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

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

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

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

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

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

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

Читать дальше →
Total votes 74: ↑58 and ↓16 +42
Views 7.7K
Comments 37

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

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

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

Картинка и немного информации под катом
Читать дальше →
Total votes 51: ↑48 and ↓3 +45
Views 3.6K
Comments 30

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

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

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

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

Читать дальше →
Total votes 71: ↑57 and ↓14 +43
Views 65K
Comments 100

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

Website development *Programming *Algorithms *
Sandbox
Люди, использующие системы контроля версий исходного кода (SVN, Mercurial, Git и т.п.), наверняка часто пользуются возможностью сравнения версий файлов для просмотра внесенных пользователями изменений. Существует множество независимых программ сравнения версий (WinMerge, BeyondCompare и др.). При сравнении версий, как правило, две версии файла показываются рядом друг с другом таким образом, чтобы одинаковые (неизменившиеся) части документов были расположены напротив друг друга, а изменившиеся (добавленные и удаленные) выделяются соответствующим цветом.
Уверен, многим было бы интересно узнать, какие алгоритмы могут использоваться для реализации такого сравнения.
Читать дальше →
Total votes 49: ↑41 and ↓8 +33
Views 7.5K
Comments 31

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

Information Security *Cryptography *Algorithms *
Sandbox
Когда на хабре был опубликован пост о том, что компания Stripe проводит конкурс Capture the Flag, я незамедлительно зарегистрировался как участник.

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

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

А вот 7-й уровень заставить меня поломать голову…
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Views 10K
Comments 10

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

Information Security *Cryptography *
Sandbox
Tutorial

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

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

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

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

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

Читать дальше →
Total votes 20: ↑11 and ↓9 +2
Views 13K
Comments 19

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

Information Security *
image

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

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

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

Читать дальше →
Total votes 135: ↑117 and ↓18 +99
Views 226K
Comments 331

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

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

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


Конспект лекции
Total votes 80: ↑69 and ↓11 +58
Views 30K
Comments 7

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

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

image


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

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

Information Security *Website development *
Translation
Я уже устал писать про пароли. Но как и налоги, электронная почта и красные глаза, они никуда не денутся. Что я могу сказать, исходя из опыта:
  • неважно, что вы скажете пользователям, они будут выбирать простые пароли
  • и они будут использовать один и тот же пароль везде. Если повезёт – два пароля

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


Читать дальше →
Total votes 45: ↑35 and ↓10 +25
Views 40K
Comments 106

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

Positive Technologies corporate blog Information Security *Website development *
Translation
Предлагаем вашему вниманию перевод статьи из блога Eran Hammer — создателя фреймворка hapi.js. На этот раз речь пойдет об обеспечении безопасности идентификаторов сессий.



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

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

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

Firefox JavaScript *Client optimization *HTML *Mesh networks *

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


Предыстория


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


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

Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Views 11K
Comments 34

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

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


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

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

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

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

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

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

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

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

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

Сейчас Facebook официально подтвердил, что модерация есть. И рассказал о работе модераторов.
Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Views 17K
Comments 49
1