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

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

Information Security *Social networks and communities
image

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

Уязвимость в приложении знакомств Bumble раскрывала точное местоположение пользователя

Information Security *JavaScript *API *Mobile App Analytics *Social networks and communities

Инженер платежной компании Stripe Роберт Хитон выяснил, что приложение для онлайн-знакомств Bumble раскрывает точное местоположение любого пользователя. 

Читать далее
Total votes 12: ↑12 and ↓0 +12
Views 1.3K
Comments 0

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

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

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

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

Lumber room
Сейчас я покажу как можно организовать http-авторизацию в ZF. Т.к. на офсайте в мане ниче путного по этому поводу не сказано, то я пожалуй покажу людям как не переворачивая исходники Zend'а ее реализовать.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Views 492
Comments 11

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

Website development *
Практически любой, даже начинающий разработчик, скажет вам, что пароли в базе надо хранить только в виде хеша (например 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
Total votes 31: ↑16 and ↓15 +1
Views 6.8K
Comments 55

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

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

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

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

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

Information Security *
Двое моих знакомых, задавших в течение недели вопросы примерно одинаковые по сути (примерно в духе: «А я слышал, что MD5/SHA-1 уже взломан, почему мы до сих пор их используем ?»), подтолкнули меня к написанию этой заметки, хотя основные события, описываемые ниже, произошли уже более 3 лет назад.
Читать дальше →
Total votes 141: ↑141 and ↓0 +141
Views 27K
Comments 128

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

Lumber room

Преамбула


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

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

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

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 3.1K
Comments 5

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

Lumber room

Задача


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

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

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



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

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

Lumber room
Translation
Здраствуйте.

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

Читать дальше →
Total votes 14: ↑8 and ↓6 +2
Views 299
Comments 7

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

Information Security *
Приветствую, %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 пользователя. До свидания анонимность, в общем.
Total votes 74: ↑58 and ↓16 +42
Views 4.1K
Comments 26

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

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

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

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

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

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

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

Продвинутым пользователям должно быть обидно, если они генерируют и запоминают 15-символьные пароли, которые так хранятся.
Читать дальше →
Total votes 75: ↑55 and ↓20 +35
Views 7.1K
Comments 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 более чем реальны.
Читать дальше →
Total votes 122: ↑117 and ↓5 +112
Views 10K
Comments 87

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

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