ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости > Расшифровка хешей
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Защита от взломов хешей (мои мысли...)
  #1  
Старый 09.11.2009, 13:35
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию Защита от взломов хешей (мои мысли...)

В общем это мне пришло в голову еще давно, но только сейчас я решил это выложить, а точнее спросить, будет ли это эффективнее. Лучше всего объяснять на примере, поэтому я его покажу. Есть простенький скрипт регистрации - авторизации. Регистрируется пользователь с паролем 123456. Современные обычные (без соли) движки заносят в БД md5 хеш пароля, то есть e10adc3949ba59abbe56e057f20f883e. Дальше, когда пользователя авторизируется, md5 хеш введенного пароля сопоставляется с md5 хешем в базе, и если они равны, то авторизация проходит удачно. Так вот, если же сделать алгоритм, который бы заносил не весь хеш, а затирал некие символы, т.е. заносил бы, например e10a*c394*ba59a*be56e057*20f8*3e. При авторизации, скрипт разделяет хеш пароля точно так же и сопоставляет его с хешем в базе. Если затереть всего один символ вероятность распознавания пароля становится уже в 16 раз! ниже. А если затереть пять , то соответственно, вероятность становится в 16*5 = 80 раз ниже. В этом алгоритме также есть и свои недостатки - коллизии. НО вероятность коллизии все равно очень мала, даже при затёртых 5 символах. В общем вот, что вы об этом думаете?

Последний раз редактировалось mailbrush; 09.11.2009 в 13:39..
 
Ответить с цитированием

  #2  
Старый 09.11.2009, 13:39
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от mailbrush  
Вобщем это мне пришло в голову еще давно, но только сейчас я решил это выложить, а точнее спросить, будет ли это эффективнее. Лучше всего объяснять на примере, поэтому я его покажу. Есть простенький скрипт регистрации - авторизации. Регистрируется пользователь с паролем 123456. Современные обычные (без соли) движки заносят в БД md5 хэш пароля, тоесть e10adc3949ba59abbe56e057f20f883e. Дальше, когда пользователя авторизируется, md5 хэш введенного пароля сопоставляется с md5 хэшем в базе, и если они равны, то авторизация проходит удачно. Так вот, если же сделать алгоритм, который бы заносил не весь хэш, а затирал некие символы, т.е. заносил бы, например e10a*c394*ba59a*be56e057*20f8*3e. При авторизации, скрипт разделяет хэш пароля точно так же и сопоставляет его с хэшем в базе. Если затереть всего однин символ вероятность распознавания пароля становится уже в 16 раз! ниже. А если затереть пять , то соответственно, вероятность становится в 16*5 = 80 раз ниже. В этом алгоритме также есть и свои недостатки - коллизии. НО вероятность коллизии всеравно очень мала, даже при затёртых 5 символах. Вобщем вот, что вы об этом думаете?
Атака по неполному хэшу решает процесс перебора это раз.
Второе, никто не мешает сгенерировать все возможные хэши по маске и брутить уже пачку хэшей. Даже если какой-то совпадёт по маске, велика вероятность что это не коллизия а именно искомый хэш. Идея имеет право на жизнь, но для опытного хэшкрякера не является особым препятсвием для брута неполного хэша. Вероятность подбора пароля не падает, а как раз увеличивается, раз сужается область значений хэшфункции, т.е. ситуация коллизии нас при этом устроит. Единственная защита это соль + более медленный алгоритм хэширования, что и используется, к примнеру md5(unix) отчасти решает проблему защиты пароля от прямого перебора из-за своей медлительности, но по словарю атака остаётся актуальной (точнее даже сказать так можно, что только по словарю актуальны, остальные атаки очень затратны по времени.)

Последний раз редактировалось -=lebed=-; 09.11.2009 в 13:45..
 
Ответить с цитированием

  #3  
Старый 09.11.2009, 13:42
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=lebed=-  
Атака по неполному хэшу решает процесс перебора это раз.
Как именно?
Цитата:
Сообщение от -=lebed=-  
Второе, никто не мешает сгенерировать все возможные хэша по маске и брутить уже пачку.
Да, но при переборе 80 хешей, скорость будет меньше, чем при 1.
Цитата:
Сообщение от -=lebed=-  
Идея имеет право на жизнь, но для опытного хэшкрякера не евляется особым препятсвием для брута неполного хэша.
Наверное, но прогнать по сервисам хэшкрякинга такой хэш пока невозможно.
Цитата:
Сообщение от -=lebed=-  
Вероятность подбора пароля не падает, а как раз увеличивается, раз сужается область значений хэшфункции, т.е. ситуация коллизии нас при этом устроит.
Но вероятность коллизии небольшая.
 
Ответить с цитированием

  #4  
Старый 09.11.2009, 13:43
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
Провел на форуме:
330834

Репутация: 90
По умолчанию

проще сделать свой алгоритм шифрования и проверки
 
Ответить с цитированием

  #5  
Старый 09.11.2009, 13:44
Jokester
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме:
17621293

Репутация: 4915


По умолчанию

Зачем эти заморочки, если есть алгоритмы которые задолбааешься брутить?

mailbrush ты пытаешься создать свой устойчивый к бруту алгоритм? Тогда направление не вполне верное ИМХО
 
Ответить с цитированием

  #6  
Старый 09.11.2009, 13:45
Xакер
Banned
Регистрация: 08.11.2009
Сообщений: 5
Провел на форуме:
46556

Репутация: 13
По умолчанию

SHA1(md5)
 
Ответить с цитированием

  #7  
Старый 09.11.2009, 13:45
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от jokester  
Зачем эти заморочки, если есть алгоритмы которые задолбааешься брутить?

mailbrush ты пытаешься создать свой устойчивый к бруту алгоритм? Тогда направление не вполне верное ИМХО
Я ничего не пытаюсь сделать, я просто спрашиваю, будет ли устойчивым это от брута. Точнее, не устойчивым, а устойчивее, чем обычный md5.
 
Ответить с цитированием

  #8  
Старый 09.11.2009, 13:47
Aртем
Познающий
Регистрация: 18.10.2009
Сообщений: 68
Провел на форуме:
330834

Репутация: 90
По умолчанию

$name = 'mailbrush';
$pass = 'mailbrush123';
$rand = rand(1000,9999);
$hash = md5(md5($name).md5($pass).base64_encode($rand));

и как бы всё
 
Ответить с цитированием

  #9  
Старый 09.11.2009, 13:49
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от mailbrush  
Как именно?

Да, но при переборе 80 хешей, скорость будет меньше, чем при 1.

Наверное, но прогнать по сервисам хэшкрякинга такой хэш пока невозможно.

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

- щас нельзя (из-за нагрузки на мускул при поиске), раньше было можно (пункт Атака по маске)

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

  #10  
Старый 09.11.2009, 13:53
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Aртем  
$name = 'mailbrush';
$pass = 'mailbrush123';
$rand = rand(1000,9999);
$hash = md5(md5($name).md5($pass).base64_encode($rand));

и как бы всё
Все значения исходные надо хранить в базе, в том числе и $rand. Что касается брута, то брутить можно будет комбинированной атакой, либо по маске, предварительно подготовля три словарика, где первый словарь - md5($name), второй любой, третий base64_encode($rand)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wi-Fi интернет: мои мысли...(и ваши) Дрэгги Болталка 11 02.10.2009 10:54
Плагин FF, для поиска хешей. v01d PHP, PERL, MySQL, JavaScript 20 30.09.2009 17:04
Защита от Win32.Induc (Delphi) flacs С/С++, C#, Delphi, .NET, Asm 7 21.08.2009 20:39
Мои мысли :) -=ToYs=- Болталка 2 30.07.2005 20:45
прикол. читает мои мысли Болталка 0 19.04.2004 11:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ