Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Ошибка в конфигурации сайта раскрыла данные 3,4 млн участников сообщества по выращиванию марихуаны

Информационная безопасностьСоциальные сети и сообщества
image

ИБ-исследователь Боб Дьяченко сообщил, что GrowDiaries, сайт сообщества, где производители каннабиса могут вести журнал и делиться информацией о росте своих растений, раскрыл более 3,4 млн записей его участников.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Просмотры7K
Комментарии 16

Хабралента по rss vs. изменение пароля

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

Самое веселое началось после. Я вообще свою хабраленту читаю через rss. И только к концу второго дня я заподозрил неладное. Rss-читалка перестала получать новые фиды с обычно очень активного в этом плане хабра. Начав разбираться с этим вопросом, наткнулся на довольно занятную вещь.
Итак, посмотрим на rss-ссылку хабраленты. Она формируется следующим образом:
habrahabr.ru/rss/lenta/имя_пользователя/32_hex_символа/
Все более или менее логично. С учетом того, что в хабраленту попадают закрытые топики френдов, не стоит особо палить адрес своей ленты, поэтому последняя часть урла для каждого пользователя будет специфичной и трудноугадываемой. Очевидно, это md5 от некой комбинации хабраимени, пароля, и возможно чего-то еще (к примеру, даты регистрации).
Все бы хорошо, но по-видимому вместо того, чтобы вычислить этот хэш один раз и занести в соответствующую таблицу, он вычисляется динамически. В соответствие с этим, сразу же после смены пароля меняется и rss-url моей хабраленты. Таким образом, я без всяких дополнительных предупреждений был автоматически отписан от собственной же ленты. Согласитесь не самый очевидный результат. Хабрадевелоперы, так и задумывалось?!
Всего голосов 12: ↑7 и ↓5+2
Просмотры506
Комментарии 4

Zend Framework — HTTP-авторизация

Чулан
Сейчас я покажу как можно организовать http-авторизацию в ZF. Т.к. на офсайте в мане ниче путного по этому поводу не сказано, то я пожалуй покажу людям как не переворачивая исходники Zend'а ее реализовать.
Читать дальше →
Всего голосов 11: ↑6 и ↓5+1
Просмотры480
Комментарии 11

Так ли безопасно хранение пароля в виде хеша

Разработка веб-сайтов
Практически любой, даже начинающий разработчик, скажет вам, что пароли в базе надо хранить только в виде хеша (например md5). Это обеспечит их сохранность и увеличит безопасность системы в целом. Так ли это на самом деле?
В действительности нет, не так. Безопасность, да и сохранность, конечно повысится, но не очень сильно. В интернете уже давно есть базы хешей многих паролей. Трехминутный поиск только по Яндексу вывел меня на следующие сайты — MD5decrypter (568 002 хешей) и Insidepro (10 148 884 хешей). Уже не мало, ведь так? А это только открытые проекты и только по md5. Я думаю у любой серьезной хакерской группы есть свои базы, благо, с наличием бот-сетей распределенные вычисления перестают быть проблемой.
Кто-нибудь самый догадливый предложит, а давайте к пользовательскому паролю добавлять свой секретный длинный префикс. Ну или делать, например, md5 от md5. Взломщик никогда об этом не догадается и пароль не подберет.
Не поможет. В действительности при взломе хеша нам важен не оригинальный пароль, а поиск коллизии. Ведь неважно введем мы пароль 76854 или Fhndkts если md5(’76854′) будет совпадать с md5(’наша_секретная_строка’.’Fhndkts’).

Единственная проблема, что вариантов хешей все таки очень много и они будут занимать очень большое место в базе данных. да и поиск по ним потребует очень длительного времени.
Однако и эта проблема решается при помощи Rainbow Tables. Используя их мы на несколько порядков уменьшаем размер хранимой базы и скорость поиска пароля. Более подробно об этом можно почитать здесь и здесь. Для построение таких таблиц также нужны распределенные вычисления. И такие проекты есть — Rainbowcrack.com. Размах впечатляет — 2,628 таблиц, 102,080,000,000 цепочек (в каждой цепочке примерно 1000-1500 паролей), 1.49 Тб данных. Есть также российский подобный проект, но пока добились они намного меньшего.
Вот и как теперь хранить пароль?
denis.boltikov.ru
Всего голосов 31: ↑16 и ↓15+1
Просмотры6.7K
Комментарии 55

Засаливание паролей

Разработка веб-сайтов
Итак, каким же образом обеспечивается безопасность на нынешних веб-ресурсах? Хешированием паролей алгоритмом md5. Вроде бы всё здорово и замечательно — md5 есть функция необратимая и пароли, хранимые в виде таких хэшей, взломать нельзя, даже если злоумышленник получил доступ к базе. Ан нет! Вспоминаем про Rainbow-таблицы и прощаемся с мыслью о полной безопасности хранения паролей в таком виде. Та как же их тогда шифровать? Алгоритмы востановимого шифрования с ключами тоже не панацея, да и системных ресурсов сии функции кушают немало...
Вопрос: Так как же, не в ущерб производительности, обезопасить md5 хэши от Rainbow-таблиц?
Ответ: соль.
Читать дальше →
Всего голосов 239: ↑190 и ↓49+141
Просмотры28K
Комментарии 186

Новая хеш-функция MD6

Информационная безопасность
MD6 — алгоритм хеширования переменной разрядности, разработанный профессором Рональдом Ривестом из Массачусетского Технологического Института в сентябре 2008 года. Предназначен для создания «отпечатков» или дайджестов сообщений произвольной длины. Предлагается на смену менее совершенному MD5. По заявлению авторов, алгоритм устойчив к дифференциальному криптоанализу. MD6 не обладает достаточной стойкостью к коллизиям первого рода. Используется для проверки подлинности опубликованных сообщений, путем сравнения дайджеста сообщения с опубликованным. Эту операцию называют «проверка хеша» (hashcheck).
Читать дальше →
Всего голосов 93: ↑82 и ↓11+71
Просмотры11K
Комментарии 89

Взлом хеш-функций (2004-2006 гг.): как это было и что теперь делать?

Информационная безопасность
Двое моих знакомых, задавших в течение недели вопросы примерно одинаковые по сути (примерно в духе: «А я слышал, что MD5/SHA-1 уже взломан, почему мы до сих пор их используем ?»), подтолкнули меня к написанию этой заметки, хотя основные события, описываемые ниже, произошли уже более 3 лет назад.
Читать дальше →
Всего голосов 141: ↑141 и ↓0+141
Просмотры26K
Комментарии 128

Как подружить MD5 в Java и PHP для UTF8 строк

Чулан

Преамбула


Решила как-то моя фирма интегрировать форум, написанный на PHP с нашей системой управления сотрудниками, написанной на Java. Интегрировать в данном случае — это обновлять аккаунт сотрудника на форуме в случае изменения его данных в нашей системе. И поручили это дело мне (PHP часть) и моем коллеге Ивану (Java часть).  Я создаю небольшое веб API, он пишет функцию, которая в случае изменений данных сотрудника в нашей системе обращается к API и обновляет аккаунт сотрудника на форуме. Задание небольшое, дня на 3 от силы чтобы все написать и отладить. Возиться с кодированием нам естественно не хотелось — ничего секретного в фамилии, должности, рабочем телефоне и прочих данных сотрудника нет. Но как-то защититься от того, что кто-то чужой мог обратиться к API и изменить данные сотрудника было необходимо. Решено было подписывать сообщение с помощью magic phrase.  В качестве magic phrase решено было взять MD5(логин + должность + соль), где соль (salt) — некая константная строка. Реализовали мы все это, начали тестировать — и оказалось, что MD5, вычисленный для некоторого сотрудника в PHP и не совпадает с тем, который был вычислен для того же сотрудника в нашей системе, написанной на Java. Данные у нас на обеих стронах были в UTF8. И я решил разобраться, в чем же дело.
Читать дальше →
Всего голосов 30: ↑17 и ↓13+4
Просмотры1.1K
Комментарии 17

IEEE 802.1x + MD5 авторизация на OpenWrt

Чулан
В последнее время у провайдеров домашних сетей среди множества способов авторизации стал появляться способ с использованием стандарта IEEE 802.1x. Работает протокол предельно просто: пока клиент не идентифицировал себя, на порту бегают только 802.1x пакеты. В Windows можно настроить проверку подлинности в несколько кликов, но чаще дома установлен беспроводной машрутизатор, который раздает интернет. В этом топике пойдет речь о том, как наладить IEEE 802.1x + MD5 авторизацию на OpenWrt совместимом устройстве.

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Просмотры2.8K
Комментарии 5

Быстрый алгоритм подсчёта контрольной суммы для больших JAR файлов

Чулан

Задача


Написать на pure-Java быстрый алгоритм для подсчета контрольной суммы JAR файла (>1G), по-возможности обойтись без сторонних библиотек.
Читать дальше →
Всего голосов 9: ↑4 и ↓5-1
Просмотры1.2K
Комментарии 8

Логотип американского киберотряда расшифрован

Криптография
Энтузиастам удалось расшифровать загадочный набор символов, который изображён на логотипе секретного подразделения по борьбе с кибертерроризмом United States Cyber Command. Символы располагаются по окружности внутреннего золотого кольца: 9ec4c12949a4f31474f299058ce2b22a.



Оказалось, что этот 32-битный хеш-код сгенерирован с помощью алгоритма MD5 и содержит зашифрованный девиз подразделения.
Читать дальше →
Всего голосов 118: ↑84 и ↓34+50
Просмотры1.9K
Комментарии 100

Безопасность это не просто

Чулан
Перевод
Здраствуйте.

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

Читать дальше →
Всего голосов 14: ↑8 и ↓6+2
Просмотры299
Комментарии 7

Идентифицируем пользователей Skype по перехваченному HTTP траффику

Информационная безопасность
Приветствую, %username%!

Ребята из VEST (те же, что взломали алгоритм обфускации Skype) предлагают идентифицировать http траффик пользователей Skype по следующей схеме:

Skype при запуске лезет проверять новую версию и делает это следующим образом:
  • Коннектится на ui.skype.com
  • Выполняет запрос вида GET /ui/0/4.2.0.169./en/getlatestversion?ver=4.2.0.169&uhash=1c1cda2a959fc2926d25b5a852fc6468c, где c1cda2a959fc2926d25b5a852fc6468c (без первой единички, все правильно) — это MD5 (Skyper + имя пользователя)


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

http://ui.skype.com/ui/0/4.2.0.169./en/getlatestversion?ver=4.2.0.169&uhash=139913753c2af23ce2a42767cfdc55f79

Конечно из MD5 мы имя пользователя не узнаем, но составить список популярных ников заинтересованным лицам труда не составит. А так же можно использовать это хэш как универсальный ID пользователя. До свидания анонимность, в общем.
Всего голосов 74: ↑58 и ↓16+42
Просмотры4K
Комментарии 26

Быстрое восстановление пароля по MD5-хешу методом брутфорса

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

Сразу скажу, что описанные в статье техники ускорения подходят для любого алгоритма хеширования, но из-за широкой распространённости я выбрал именно md5.
Читать дальше →
Всего голосов 105: ↑84 и ↓21+63
Просмотры23K
Комментарии 54

Забавляемся с хешами

Информационная безопасность
Привет. Я хочу показать вам небольшой фокус. Для начала вам потребуется скачать архив с двумя файлами. Оба имеют одинаковый размер и одну и ту же md5 сумму. Проверьте никакого обмана нет. Md5 хеш обоих равен ecea96a6fea9a1744adcc9802ab7590d. Теперь запустите программу good.exe и вы увидите на экране следующее.
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
Тогда добро пожаловать под кат.
Всего голосов 264: ↑254 и ↓10+244
Просмотры75K
Комментарии 123

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

Информационная безопасность
В это трудно поверить, но около 30% сайтов держат пароли своих пользователей в незащищённом виде. Если кто-то проникнет к ним в систему, то все пароли будут перед ними открытым текстом.

Продвинутым пользователям должно быть обидно, если они генерируют и запоминают 15-символьные пароли, которые так хранятся.
Читать дальше →
Всего голосов 75: ↑55 и ↓20+35
Просмотры7K
Комментарии 55

Распределенные вычисления на JavaScript: Сегодня

JavaScript
В настоящее в время существует огромное количество сетей распределенных вычислений. Я насчитал порядка 30. Наиболее крупные — Folding@home, BOINC, SETI@home, Einstein@Home, Rosetta@home (по результатам их вычислений было написано несколько десятков диссертаций). Вычисляют они все, что только можно вычислять распределено — от подбора md5 паролей до симуляции свертывания белка.
Каждая из эти сетей имеет необычно высокую производительность и включает в себя миллионы нодов. Производительность каждой сравнима с производительностью суперкомпьютера.
  • Rosetta@home — более 110 Тфлопс
  • Einstein@Home — более 355 Тфлопс
  • SETI@home — более 560 Тфлопс
  • BOINC — более 5.6 Пфлопс
  • Folding@home — более 5.9 Пфлопс
  • Bitcoin — более 9.4 Пфлопс
Сравните с суперкомпьютерами:
  • Blue Gene/L (2006) — 478.2 Тфлопс
  • Jaguar (суперкомпьютер) (2008) — 1.059 Пфлопс
  • IBM Roadrunner (2008) — 1.042 Пфлопс
  • Jaguar Cray XT5-HE (2009) — 1.759 Пфлопс
  • Тяньхэ-1А (2010) — 2.507 Пфлопс
  • IBM Sequoia (2012) — 20 Пфлопс
А теперь, давайте, подсчитаем существующий неиспользуемый потенциал пользователей интернет:
По расчетам на конец 2010 года пользователей Инернет было около 2000000000 (2 млрд).
Каждый пользователь имеет хотя бы 1 ядро процессора производительностью не менее 8 Гфлопс (AMD Athlon 64 2,211 ГГц).

По нехитрым математическим расчетам производительность такой сети составит:
8 * 109 * 2 * 109 = 16 эксафлопс (1018).
Такая сеть в 800 раз производительней, чем ещё не построенная IBM Sequoia (2012), в 1700 раз производительней, чем сеть Bitcoin и производительней всех суперкомьютеров и вычислительных сетей вместе взятых! Сейчас число пользователей ПК и Интерент растет, растет и число ядер. Безусловно, это число (16 эксафлопс) идеальное, никто не будет вычислять 24/7, но если каждый пользователь будет вычислять хотя бы 2 минуты в день (что, впринципе, более чем реально), то такая сеть сравнится с IBM Sequoia.

Сейчас распределенные браузерные вычислительные сети на JavaScript более чем реальны.
Читать дальше →
Всего голосов 122: ↑117 и ↓5+112
Просмотры10K
Комментарии 87

Массовый аудит паролей «одной кнопкой»

Информационная безопасность
Продолжая мучить хеши, добытые с antichat (да кому они нужны?) не удержался от создания достаточно быстрого средства, автоматически применяющего рассмотренные в статье методы. Теперь уже в ход пошли видеокарты, и на подбор 60% паролей достаточно было перекура. При скорости перебора over 100 mpwd/s, применении гибридной техники и частотного анализа это не кажется удивительным результатом, что в общем-то наконец должно заставить пересмотреть отношение к способам хранения паролей тех, кто все еще не озаботился этим. Ниже небольшое рассуждение о примененном подходе и, конечно, сама программа.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+34
Просмотры3.5K
Комментарии 27

Онлайн агрегатор операций со строками

Я пиарюсь
easydev.org

У вас часто возникает необходимость быстро конвертировать время из timestamp, ансериализовать строку и распечатать объект, узнать md5 хэш строки, кодировать ее в base64-обратно и т.д.? Конечно, для этого уже есть ряд тематических сервисов (md5.org, base64.org), которыми большинство из вас неоднократно пользовались. Обычно они выполняют только одну из функций, ибо удобнее зайти на главную, не щелкая мышкой по вкладкам вбить в большое поле на главной строку и получить результат. Под катом расскажу про свой проект easydev.org, который позволяет выполнить любую подобную операцию быстрее и удобнее, даже без использования мыши.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Просмотры600
Комментарии 53