Jump to content
  • 0

немного о безопастности


Elendor
 Share

Question

Покопавшись в форуме ничего ни нашел полезного для себя о безопастности web-приложений.

Решил внести свой вклад.

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

Что же подразумевается под этим понятием? Я объясню кто ещё не знает:

function my_md5($text, $salt)
{
if(!$salt)
{
$salt = "my_salt";
}
return $salt.md5($salt.$text);
}

Этим мы защищаем себя от так называемых rainbow-таблиц

Второй момент ложится на защиту от sql-inection. Я не буду здесь излогать всю суть проблемы и описывать приемы защиты, а лишь дам совет - всегда проверяйте данные которые приходят от пользователя будь-то id новости или еще чтонибудь.

Пока все. Жду обсуждений и добавлений.

Edited by Elendor
Link to comment
Share on other sites

25 answers to this question

Recommended Posts

  • 0

как вариант можно еще предложить либо

md5($salt.md5($salt.$text));

но это уже из серии извращений конечно =)

так же еще можно добавить, что стоит на сайтах использовать логирование ВСЕХ ошибок, в том чсиле и php, так сказать, чтобы не палить имена полей в бд. А то видел я такой один сайт, до сих пор в дрож бросает

Link to comment
Share on other sites

  • 0

ну это как сказать, хоть sha1, хоть sha2. Нет нечего что нельзя взломать.

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

Link to comment
Share on other sites

  • 0
Кодировать лучше sha1, у него нет дырок.

Дырок, реально угрожающих безопасности хранимых хэшей нет и у md5. Единственная реальная "дырка" сейчас - наличие rainbow-таблиц, но они могут существовать для любого алгоритма.

Почему вы считаете sha1 более надежным?

это если конечно он не доберется до исходников, а если у него будут и файлы и база то пиши пропало, хотя...

Хотя хороший криптоалгоритм подразумевает невозможность компрометации данных даже при знании деталей используемого алгоритма. "Соль" выглядит шагом в правильном направлении.

Link to comment
Share on other sites

  • 0
ну это как сказать, хоть sha1, хоть sha2. Нет нечего что нельзя взломать. Можно только оттянуть взлом меняя алгоритмы шифрования. Пока хакер будет сидеть над задачей вы успеете поменять алгоритм, это если конечно он не доберется до исходников, а если у него будут и файлы и база то пиши пропало, хотя...

ну, судя по фразе - вааще не имеет смысла что-то делать ;) раз рано или поздно взломают :blink:

на самом деле знаменитая фраза знаменитого человека "If it run, it can be defeated" не пример для подражания, не обязательно менять алгоритмы, может лучше написать один, но такой, который предельно осложнит жизнь хацкерам? и тогда трудозатраты на взлом не окупят прибыль :) как следствие и ломать не станут до упора, а кто станет - те фанатики, от них никто не застрахован :) они и с топором в офис вломиться могут :)

Link to comment
Share on other sites

  • 0
Дырок, реально угрожающих безопасности хранимых хэшей нет и у md5. Единственная реальная "дырка" сейчас - наличие rainbow-таблиц, но они могут существовать для любого алгоритма.

Почему вы считаете sha1 более надежным?

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

А для md5 такого нет, можно конечно их подбирать, а потом шифровать и сравнивать со значением из поля, но это слишком долгий процесс.

Link to comment
Share on other sites

  • 0

Да таких сайтов несколько мне попадалось (уже не помню ни одного, но видел как минимум 2), так что не хочешь - не свети, его можно будет найти и так. :-)

Там просто обширные таблицы соответствия хешей и распространенных паролей.

Link to comment
Share on other sites

  • 0

Я при этом не пытаюсь сказать, что md5 чем-то лучше или хуже, просто хочу показать, что угрожающей уязвимости в самом алгоритме пока не нашли.

Есть, вроде бы (но это не буду утверждать на 100%) возможность зная хеш и исходные данные найти другие исходные данные, которые будут давать такой же хеш, но это в данном случае угрозы все равно не представляет.

Link to comment
Share on other sites

  • 0

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

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

Link to comment
Share on other sites

  • 0

vvsh, смотри мой пост выше на счет вложенных md5 и тому подобных. Это то же самое, что взять и заархивировать архив, толку не будет, т.к. он будет весит столько же сколько и предыдущий архив

Link to comment
Share on other sites

  • 0
vvsh, смотри мой пост выше на счет вложенных md5 и тому подобных. Это то же самое, что взять и заархивировать архив, толку не будет, т.к. он будет весит столько же сколько и предыдущий архив

А мы экономим место или усложняем перебор? :-)

Усложнить раскрытие данных такой подход вполне может, просто он менее универсален.

Link to comment
Share on other sites

  • 0

Кстати скорость загрузки страницы не изменится совершенно — она зависит от пропускной способности канала и ее ограничений. Изменится время обработки скрипта на сервере. :-) Это если придиратсья. :-)

Link to comment
Share on other sites

  • 0

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

Да и вообще это дурацкая затея разбирать подобные темы...

Тема становиться актуальной, если нужно защитить кодом запуск ракеты или чегонибудь подобного...

Если вы хотите обезопасить своих пользователей, то прежде всего лучше ставить проверку на создаваемый пароль: как минимум 6 символов + текстовые + цифры + спец символы. Таким образом скрипт долго будет искать подобную комбинацию в таблицах хэша. Да еще забыл напомнить: Хакер начинает взламывать хеш, только после того как онный попадет ему в руки. Так что держите БД под замком и все будет ОК)

Link to comment
Share on other sites

  • 0

м. б. вариант перекодировать все кодированные данные раз-два в неделю или чаще, когда нагрузка на сервер мала, хоть без дела простаивать не будет.

Читал также, что на американских серверах нет функций криптографии, т.к. это под статью там попадает. М. б. стоит свой шифратор сделать, можно ведь например без сессий обходиться, т.к. есть функция отправки/чтения кук.

з. ы. : хотелось бы кроме криптографии вопрос безопасности пошире рассмотреть, хотя бы те вопросы, которые Фленов в своей книге упоминает.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy