Защита от взломов хешей (мои мысли...)

Discussion in 'Криптография, расшифровка хешей' started by mailbrush, 9 Nov 2009.

  1. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Алгоритмы хеширования и придумали какраз потому что рано или поздно алгоритм становится известен.

    Защита является только тогда ТРУ, когда алгоритм известен, но взлом невозможен.
     
  2. ErrorNeo

    ErrorNeo Elder - Старейшина

    Joined:
    2 May 2009
    Messages:
    923
    Likes Received:
    838
    Reputations:
    402
    но если известен алгоритм, то значит возможна и атака по словарю.
    так что по-настоящему небрутабельным может быть только неизвестный алгоритм.

    пример с фиксированной солью тут вполне подходит.
    пока у злоумышленника нет доступа к сурсам - алгоритм полностью неуязвим.
    ну а как получит доступ и к ним - выйдет обычный md5 с фиксированной солью.


    upd.
    что же до админского акка - то и обычный md5 с 18-символьным пассом ^a6(^sk9!2&`~*_+:X - уже небрутабелен.
    Так что думать нужно в 1 очередь о безопасности хранения заведомо простых паролей, которые, как раз таки и сверх-уязвимы к атаке по словарю.

    upd2.
    хотя идея с тем, чтобы каждому акку прописать дополнительную - собственую - соль - тоже тру.
    так что я склоняюсь, пожалуй, не к md5(pass.const) а к md5(pass.salt.const) :cool:
    по-моему при неизвестном const - супер. при известном же... просто соль => если сольют базу, то снимется всего 45% аккое, а не 65%, как у md5, которые брутятся одновременно сотнями тысяч. :D
     
    #22 ErrorNeo, 9 Nov 2009
    Last edited: 9 Nov 2009
  3. Calcutta

    Calcutta Elder - Старейшина

    Joined:
    6 Aug 2007
    Messages:
    343
    Likes Received:
    243
    Reputations:
    36
    если бы у бабушки был «перец», она была бы дедушкой.
    чаще всего стоит задача сломать акк админа, чтобы получить доступ к серверу.
    можно попытаться запутать взломщика еще одним способом - фиксированной заменой символов при генерации хэша. хэш состоит из набора символов [a-f]+[0-9], делаем замену символов при генерации, к примеру:
    a->3
    f->2
    .......
    5->c

    в итоге имеем на выходе совсем другой хэш, но при логине и сверке его со значением в бд наш пасс будет успешно проходить авторизацию.
     
  4. xa-xa89

    xa-xa89 Elder - Старейшина

    Joined:
    17 May 2008
    Messages:
    108
    Likes Received:
    27
    Reputations:
    2
    или еще менять местами значение некоторых символов, или разбавлять левыми по определеному алгоритму...
    Как я понимаю все дело идет к тому что к md5 нужно применить какой-нибудь алгоритм симетрического шифрования с пассом зашитым в скрипт....
     
  5. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Кое-что придумал:

    PHP:
    <?php
        $pass 
    '123456';
        
    $md5 md5($pass);
        
    $md5 base_convert($md51610);
        
    $md5 strrev($md5);
        
    $md5 base_convert($md51016);
        
    $md5 md5($md5);
        echo 
    $md5;
    ?>
    MD5(123456): e10adc3949ba59abbe56e057f20f883e
    перед вторым MD5: 13c93fbc0470cb0000000000000000000
    Конечный продукт: d23f62509ec1c377a9744174e325ee63

    такое брутить не очень будет...
    второй раз в md5 входит совсем не хэш пароля
     
  6. tshift

    tshift Member

    Joined:
    27 Apr 2009
    Messages:
    53
    Likes Received:
    16
    Reputations:
    0
    а что если разделить хэш на 3 неравные части
    e10adc3949ba59abbe56e057f20f883e
    разделить:
    e10a\\\dc3949ba59abbe56e0\\\57f20f883e
    и поменять между собой( 2\\\1\\\3 ) например
     
  7. Wrath

    Wrath Member

    Joined:
    30 Dec 2008
    Messages:
    78
    Likes Received:
    33
    Reputations:
    10
    Ну какбе всё сказал.
     
  8. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    2WNZRS
    идея конечно неплоха, но всё в итоге сводится к тому что хешкрекеру придётся самому писать модуль хеширования. Хотя согласен что на скорость брута это неслабо повлияет...


    2tshift имея доступ к исходнику востановить изначальные хеши это дело 10 минут, а незная алгоритма даже md5(pass.const) с длинной константой взломать невозможно...
     
  9. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    На следующую мысль меня подтолкнули моды для форумов, где в качестве пароля загружается картинка...

    http://wnezros.homeip.net/sec/pass.php
    (localhost, есть сервер не найден, значит комп офф)

    чтобы посмотреть сорсы нужно написать логин "source"

    Чтобы пробрутить хэш пасса нужно миллион лет, если не больше...
    Пароль получается из 699 символов.
     
  10. Wrath

    Wrath Member

    Joined:
    30 Dec 2008
    Messages:
    78
    Likes Received:
    33
    Reputations:
    10
    Да совсем не нужен пасс такой бешеной длины )
    оОВ8786;%(ЦвкjaоJKLfjs - вот такой пасс даже 20 компами не сломать.
    А если он будет ещё и в MD5(Unix) то ... ^^
     
  11. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    такая длинна получается из печати:
    10х10 = 100
    цвет кодируется в rgb (6 символов), 100 x 6 = 600 + разделители = 699

    в принципе если такое куда-то внедрять, то размер надо уменьшать, например до 5х5
     
    1 person likes this.
  12. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    2WNZRSвот только беда в том что в поле с вводом пароля не просто так принято заменять символы звёздочками, с вашим же подходом пасс может узнать любой желающий...
     
  13. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    Есть 2 пути защиты хэша:
    1. использовать в добавок к паролю динамичную инфу, но эту инфу надо всёравно надо где-то хранить
    2. хранить скрипт хэширования на не взламываемом отдельном сервере

    Остальные способы лишь затрудняют разхэширование
     
  14. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    разхэширование:
    преобразование хэша в исходный пароль любым способом (md5 - брут)
     
    1 person likes this.