2014-11-14 1 views
21

Yesod book왜 Yesod 세션 쿠키가 도용 될 수 없습니까?

암호화는 데이터를 검사에서 사용자를 방지라고하고, 서명은 세션 하이재킹 할 수 없습니다하지도 않고 이 무단으로 변경되도록합니다.

왜 그런지는 분명하지 않습니다. 도청자가 서버에서 전송 된 쿠키를 보관하고 합법적 인 사용자가 다른 요청을하기 전에 쿠키를 사용하면 세션이 도용되지 않습니까?

정말 세션 하이재킹을 방지하는 유일한 방법은 SSL을 사용하는 것입니다. 하지만 그렇게하면 Yesod가 서명하고 암호화하는 과정에서 불필요한 오버 헤드가 발생합니다 (EDIT : 오버 헤드 방지에 관한 오버 헤드. @sr_가 주석에서 지적했듯이, 그렇지 않으면 여전히 유용합니다).

+2

여기에 완화 된 위협은 클라이언트가 쿠키를 저장함에 따라 너무 많이 신뢰 될 때 발생하는 일반적인 문제인 _ 사용자가 쿠키를 변경하는 것입니다. [hackage] (http://hackage.haskell.org/package/clientsession-0.9.1/docs/Web-ClientSession.html) : "쿠키의 저장 또는 전송에서 잠재적 인 오류를 발견하는 것 (무결성) 외에 MAC 또한 쿠키 데이터가 실제로이 서버 (진위성)에 의해 생성되었음을 보증하여 쿠키 데이터의 악의적 인 수정을 방지합니다. " –

+0

@sr_ 동의 함. 제가 문제가되는 것은 쿠키가 도용 될 수 없다는 책의 주장입니다. 예를 들어, 내 사이트에서 인증을 사용하고 있지만 모든 내 페이지에서 SSL을 사용하지 않는다면 적절한 상황에서 공격자가 나를 사이트로 가장 할 수 있습니다. –

답변

24

좋은 소식입니다. 이는 납치를 방지하기 위해 클라이언트의 IP 주소를 쿠키에 포함시킬 때보다 정확했습니다. anti-tampering 보호 기능과 결합하여 MITM 공격은 동일한 라우터 뒤에 있거나 동일한 프록시를 사용하지 않는 한 기본적으로 불가능합니다.

불행히도 프록시에 대한 우려로 인해 보호 기능을 해제해야했습니다. 중간 프록시 서버로 인해 단일 사용자의 요청이 여러 IP 주소에서 올 수 있습니다. 얼마나 자주 이런 일이 발생했는지 알 수있는 데이터는 없지만,이 보안 기능이 파손을 일으킬 수 있다는 우려가있었습니다.

이 질문을 제기 해 주셔서 감사합니다. I've corrected the book

+1

고마워, 둘 다 수정 및 위대한 소프트웨어. –

+3

이 질문과 같은 피드백은 전체 시스템을 훨씬 향상시킵니다. –

+1

AOL을 사용하는 사람들은 각 사용자가 요청에 대해 4 개의 IP 주소를 통해 회전하는 경우가있었습니다. 몇 년 전에, IP 보호 장치를 비활성화했기 때문에 기억합니다. –

관련 문제