Автор Тема: Правда о сессиях. 2Бересь Сергей.  (Прочитано 39900 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Aku Aku

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 47
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #15 : 14 Апреля 2004, 18:29:37 »
чето там мутно написано в статье :-)
еще раз перечитал, имхо все начиная с:

"Для увеличения безопасности необходимо начать включать данные в дополнение к уникальному идентификатору. "

бред полнейший.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Правда о сессиях.
« Ответ #16 : 15 Апреля 2004, 02:06:56 »
ИМХО
толку от этой защиты столько же, сколько и от "Передачи пароля, зашифрованного яваскриптом"
То есть идея может быть и интересная, но нужна лишь тем, у кого нет денег на нормальный хостинг (с SSL + невозможность прочесть чужие файлы сессий)
Насчет реализации - ИМХО в качестве отпечатка лучше хранить IP (его сложнее подделать) или его хеш. А то что у dialup-юзеров может IP смениться при обрыве связи - не страшно (еще раз авторизацию пройдет).
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #17 : 15 Апреля 2004, 02:46:11 »
Эх...
никто меня не понимает...
пойду утоплюсь

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Правда о сессиях.
« Ответ #18 : 15 Апреля 2004, 14:04:07 »
Перечитал статью...

RomikChef

>> Собственно, сам механизм отпечатков строится на ТОЙ ЖЕ САМОЙ ПРОВЕРКЕ заголовков.

Вот на это (самое главное) пока не хватило меня... Жду очередного вдохновения, может - ты и прав, "поскольку В - это и есть А".

>> Сначала я стал писать это, как коммент к статье.

Кстати, если из этого треда всё же сформируется какая-то выжимка-поправка к статье, не подходящая для включения в сам текст, - можно будет и комментарий добавить.

>> Но вот пресловутые отпечатки...
>> Чего только стоит необходимость посылать их руками - насмарку идет встроенный механизм дополнения ссылок!

Как я понял, отпечатками в статье назван хранящийся в сессии md5 от "комбинации заголовков", "дополнительного секретного префикса" и "session_id()", поэтому мне не ясно про "необходимость посылать их руками".

>> Опять же = заголвки в этом отпечатке лишние - достаточно и секретного слова с сидом.

Да, наверное.

>> Абзац про передавать сид гетом, а отпечаток в куке - это детский, блин, лепет. Это не "допольнительная надежность", а засовывание головы в песок.

Если говорить о настоящем "атакующем", - да, наверное. Если учесть, что бывают и просто случайно увидевшие URL с PHPSESSID в GETе и решившие попробовать, - то его фраза "Более безопасным подходом является использование двух различных методов передачи — GET-данных и кук.", теоретически правильная, по-моему.

ThE0ReTiC

>> серьезные системы все равно будут делаться не на сессиях

Лично я вижу эту статью как направленную исключительно на начинающих, пишущих не самые серьёзные системы.

>> бомбить удаленный хост

Я не понял - к чему это.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #19 : 15 Апреля 2004, 14:09:02 »
вопрос:
Цитировать
tserbis:
поэтому мне не ясно про "необходимость посылать их руками".

ответ:
Цитировать
tserbis:
использование двух различных методов передачи — GET-данных и кук

:-)
в том то и дело, что отпечатки должны передаваться. Там много написано при их перехват, етц. А, главное, если не передавать, то какой в этом ваще смысл?

Цитировать
tserbis:
фраза "Более безопасным подходом является использование двух различных методов передачи — GET-данных и кук.", теоретически правильная, по-моему.

Если куки поддерживаются, то какой смысл вообще что-то гетом передавать?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #20 : 15 Апреля 2004, 14:17:55 »
собственно, про передачу:
Цитировать

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

Это-то меня и огорчает больше всего!
товарищ предлагает отпечаток передавать в куках.
А если у юзера куки не работают? он не сможет работать.
тогда надо передавать отпечаток гетом или отказаться от него вовсе.
А чтобы передавать гетом, надо САМОМУ дополнять все ссылки!!!

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Правда о сессиях.
« Ответ #21 : 15 Апреля 2004, 15:35:10 »
не понял, а зачем отпечаток куда-то передавать ?
При перовм старте сессии вычисляем отпечаток и пишем его хеш в сессиию.
При следующих session_start, вычисляем отпечаток юзера и сравниваем  с тем, что в сессии. Если не совпадает, просим пройти авторизацию заново.
В чем я не прав ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #22 : 15 Апреля 2004, 16:20:42 »
Вопрос не ко мне, а к автору статьи.
Это во-первых.
Во-вторых, если не передавать, то оно и не нужно - мы и так имеем хэш заголовков в сессии, безо всяких отпечатков.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Правда о сессиях.
« Ответ #23 : 20 Апреля 2004, 19:55:37 »
Снова перечитал тред и статью...

желающим поучаствовать в дискуссии:
Из всей статьи достаточно прочитать раздел "Предотвращение ВСД"; весь этот тред - вокруг него.

Макс:

>> идея может быть и интересная, но нужна лишь тем, у кого нет денег на нормальный хостинг

Да, начинающим, на которых, по-моему, и расчитана статья.

>> ИМХО в качестве отпечатка лучше хранить IP (его сложнее подделать) или его хеш. А то что у dialup-юзеров может IP смениться при обрыве связи - не страшно (еще раз авторизацию пройдет).

Автор статьи объясняет своё видение: "разные пользователи могут использовать одни и те же IP-адреса (как в случае использования во многих компьютерных лабораториях HTTP-прокси)".

RomikChef:

>> Но вот пресловутые отпечатки... Это какая-то скользкая и неочевидная тема. По ходу, мужик высосал ее из пальца.
>>Собственно, сам механизм отпечатков строится на ТОЙ ЖЕ САМОЙ ПРОВЕРКЕ заголовков.
>> все, вижу. он сам об этом пишет, ... типа, с отпечатками надо несколько заголовков подделывать. Ну да, а без отпечатков, типа, несколько заголовков проверять нельзя.

Я согласен, что выделять "отпечатки" (в том виде, как это сделано в Листинге 5, с сохранением в $_SESSION[\'fingerprint\'], т.е. в сессии) в "третий пункт" - не правильно. Если в сессии, то пусть даже и не один, а несколько заголовков + префикс и ID сессии, - всё равно это тот же "второй пункт".

>> Если куки поддерживаются, то какой смысл вообще что-то гетом передавать?

Наверное, потому что автор считает, что "для тех, кто разрешил куки, может быть обеспечен дополнительный уровень защиты. ... если атакующий получит уникальный идентификатор через уязвимость браузера, "отпечатки пальцев", вероятно, всё ещё будут ему неизвестны.". Т.е., например, уникальный идентификатор из кук получил через уязвимость, а GET-запроса не видел. Я (пока) так это понимаю.

>> зачем подделывать отпечаток, который мастер кряхтя и потея впендюривал каждой ссылке и форме, если достаточно придти с теми же самыми заголовками (проверка номер 2), когда можно просто прислать его, и проверка будет положительной! А при других заголовках и вторая не пройдет.
>> если хакер пришлет запрос с нужными заголовками и отпечатками, то ему НЕ НАДО УГАДЫВАТЬ отпечаток. Ему просто надо поймать отпечаток вместе с сидом. Это равнозначные вещи. Не поймал отпечаток - значит и сид не поймает. Поймал сид - значит, и отпечаток у него есть.

Кроме случая, когда ID сессии - в куках, отпечаток - GETом.

>> Чего только стоит необходимость посылать их руками - насмарку идет встроенный механизм дополнения ссылок!
>> в том то и дело, что отпечатки должны передаваться. ... А, главное, если не передавать, то какой в этом ваще смысл?

Да, уже согласен.


Итого, пока мой закипевший мозг думает, что накладнореализемый пункт 3 имеет право на жизнь, если ID сессии - в куках, отпечаток - GETом.
До следующего вдохновения... :-)

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #24 : 20 Апреля 2004, 20:03:12 »
В общем, я уже потерял интерес к этой статье.
точно так же, как и к ошибке в переводе документации к [p]date[/p]. Сообщил, а дальше - не мое дело.
Есть у меня один недостаток - не могу долго гореть одной и той же идеей.

Так что, особых претензий к статье у меня нет. Разве что, начинаясь как ОЧЕНЬ толково разъясняющая механизм сессий, заканчивается она весьма невразумительным (который скрипя мохзгами разбирало несколько спецов. а что будет новичок?) и неочевидным финалом. плюс - пафос "правда о сессиях" и "безопасность".
Но по сравнению с другими, где содержатся просто фактические ошибки - вполне сгодится.

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Правда о сессиях.
« Ответ #25 : 25 Апреля 2004, 12:42:41 »
RomikChefу:

>> 2Бересь Сергей
2Бресь
(судя по "а впрочем, все это фигня" это всё же не опечатка, а невнимательность)

>> В общем, я уже потерял интерес к этой статье.
OK.
Не против, если в комментарие-вставке дам ссылку на этот тред?

всем:

Сформулировал нижеследующее дополнение, которое хочу вставить перед последним абзацем раздела "Предотвращение ВСД". Несколько дней жду комментов, исправлений, добавлений, и пишу янгу.
Читайте:

----
Ещё раз (это важно!):
(a) если отпечаток ложить в сессию (как сделано в листинге 5), то никакого третьего пункта мы не получаем, и для ВСД нужно выполнить лишь первые два (автор говорит об этом выше), так как предоставив идентификатор сессии, атакующий автоматически предоставит и отпечаток;
(б) (об этом автор не упоминает) вариант передачи отпечатка в куках отпадает вообще, так как пользователи с отключёнными куками не смогут работать;
остаётся передавать отпечаток GETом, и тогда:
(в) для пользователей с отключёнными куками GETом будет передаваться и идентификатор сессии, а значит, раз атакующий смог пройти первый пункт и узнать идентификатор, - то он знает и отпечаток, и третий пункт мы снова не получаем (автор сам говорит и об этом);
(г) (это самое главное и единственный случай, когда мы получаем третий пункт!) для тех, кто разрешил куки, действительно будет "обеспечен дополнительный уровень защиты" (о чём тоже говорит автор), но (автор не упоминает об этом), как и для пункта (в) передача отпечатка GETом требует от разработчика "руками" делать то, что в случае с идентификатором сессии автоматически делается включением session.use_trans_sid, т.е. автодополнять отпечатком ссылки и формы. Кроме того, если и реализовывать пункт (г), то ложить в отпечаток заголовки особого смысла нет (ведь при реализации второго пункта защиты в сессию можно положить и несколько заголовков); вероятно, вполне достаточно будет и секретного префикса с идентификатором.
----

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Правда о сессиях.
« Ответ #26 : 25 Апреля 2004, 15:24:03 »
Да, вполне

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Правда о сессиях.
« Ответ #27 : 06 Мая 2004, 09:42:17 »

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Правда о сессиях.
« Ответ #28 : 06 Мая 2004, 15:08:19 »
Цитировать
RomikChef:
А чтобы передавать гетом, надо САМОМУ дополнять все ссылки!!!

я на днях мануал обновил и нашел там такую функцию :
[p]output_add_rewrite_var[/p]
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн tserbis

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 496
  • +0/-0
  • 0
    • Просмотр профиля
Правда о сессиях.
« Ответ #29 : 17 Мая 2004, 14:57:41 »
Да, получается пункт г) всё же достаточно легко реализуем в новых версиях...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28