2014-05-19 5 views
0

업데이트양식 인증 세션 쿠키 하이재킹

나는 모든 페이지에 모든 시간을 SSL을 사용하는 ASP.NET 웹 사이트를 가지고있다.

제 질문은 양식 인증 세션 쿠키 하이재킹을 수행하는 사람이 양식 쿠키 아이디가 손상되고 손상된 쿠키 ID를 사용하여 대상 사용자의 세션이 도용 된 것입니다.

+0

해커는 매우 모호합니다. 어떤 종류의 공격인가? 유선이나 클라이언트 또는 서버를 의미합니까? 그것은 긴 이야기를 짧게 자른다 고 말했습니다. * 그것에 대해 걱정하지 마십시오. HTTPS와 폼 인증은 거의 모든 것에 대해 충분히 안전합니다. – Liam

+0

당신이 말하고있는 것은 (나는 희망한다) 누군가가 세션 데이터를 검색하기 위해 네트워크 패킷을 스니핑하는 세션 사이드 킥킹이다. SSL을 올바르게 설정하면이 문제를 방지 할 수 있습니다. 또한 양식 인증 쿠키는 컴퓨터 키를 사용하여 암호화되므로 나중에 보안을 강화할 수 있습니다. – heymega

+0

이것은 좋은 질문이지만 http://security.stackexchange.com/에서 정보 전문가가 해당 질문에 더 잘 답변 할 수있는 곳에서 질문해야합니다. 이 질문은 특별히 프로그래밍이나 ASP.NET과 관련이 없습니다. – arserbin3

답변

3
  1. SSL은 약 암호화입니다. 유선을 통해 흐르는 정보에 대한 액세스를 막는 것이 아닙니다. 즉, 동일한 네트워크의 모든 사람이 서버와 클라이언트 사이에있는 모든 단일 패킷을 검사 할 수 있습니다. SSL이 수행하는 유일한 작업은 해당 패킷의 데이터를 암호화하여 일반 텍스트로 볼 수 없도록하는 것입니다.

  2. SSL은 훌륭하지만 바보가 아닙니다. 지난 몇 개월 동안 바위 아래에서 살고 있지 않다면 의심의 여지없이 Heartbleed 버그에 대해 들었을 것입니다. 은 특히이므로 악의적 인 사용자가 SSL 연결을위한 암호화 키를 얻을 수 있으므로 보내진 패킷의 암호화를 해제 할 수 있습니다. 이 메커니즘은 버그 이전에도 중요한 고려 사항입니다. SSL 트래픽은 인증서의 개인 키만큼 안전합니다. 개인 키가 손상되거나 어떻게 든 누출되도록 허용하면 보안이 효과적이지 않습니다.

  3. 쿠키는 SSL 연결을 통해 암호화 된 모든 데이터의 더 광범위한 범주에 해당하는 데이터 조각입니다. 서로 다른 점은 암호화되지 않은 상태로 클라이언트에 저장된다는 것입니다. 비보안 연결 (HTTP)을 통해 쿠키가 전송되도록 허용하면 해당 상황에서 데이터가 누출 될 수 있습니다. 그러나 쿠키에 Secure 플래그를 설정하면 (지원되는 클라이언트에서) 연결이 HTTPS 인 경우에만 서버로 다시 보내집니다. HTTPS를 통해 시작된 모든 쿠키와 함께이 플래그를 보내는 것이 항상 좋습니다. 쿠키의 단점은 언제나 고객이 될 것이라는 것을 깨닫는 것이 중요합니다. 클라이언트가 해킹 당하면 저장된 쿠키의 데이터도 손상됩니다. 하지만 이것이 야기 할 수있는 재난의 수준은 크게 에 의해 완화됩니다.은 쿠키에 민감한 내용을 보내고 있습니다. 사용자 이름과 암호 같은 것은 분명히 나쁜 생각입니다.

  4. 쿠키는 도메인 바인딩입니다. 즉, 누구도 요청할 수있는 것은 아닙니다. 원래 쿠키를 설정 한 도메인이어야합니다. 그러면 서버 자체와 클라이언트 컴퓨터에서 두 가지 절충안이 남습니다. 서버가 해킹 당하면 노출 된 쿠키가 가장 우려 할 사항이 아닙니다. 클라이언트의 컴퓨터가 손상된 경우에는 사용자의 컴퓨터가 제어 할 수없는 상태입니다. 여기에서 가장 효과적인 완화 요소는 회전 세션입니다. 쿠키에서 유일한 것으로 간주되는 것은 세션 ID입니다. 다시 말해, 사용자의 세션은 적절한 시간 내에 제한 시간을 초과해야합니다. 이것만으로도 악의적 인 사용자가 클라이언트의 쿠키를 최신 상태로 유지해야하거나 훔친 데이터가 아무 쓸모가 없으므로 절충이 훨씬 더 어려워집니다.

+0

의견을 보내 주셔서 감사합니다. 혼란을 드려 죄송합니다. 내 질문은 누군가가 양식 인증 세션 쿠키 하이재킹을 수행 할 수 있는지, 양식 쿠키 아이디가 손상되었는지 그리고 손상된 쿠키 ID를 사용하여 대상 사용자의 세션이 도용되었는지 여부입니다. – Pingpong

0

예, 기술적으로 가능하지만 적절한 안전 조치를 취하면 이러한 위험이 매우 적습니다. 확인하는 핵심 포인트는

  • 는 SSL
  • 를 사용하여 확립 된 프레임 워크 또는 상용 제품 적용 (ASP.NET은 인증, SiteMinder를, 등 형성)
  • 비활성화 인증 쿠키 지속성 (즉,
  • 은 CSRF는
  • here 몇 이상) 자세한 내용은 here 모양 (확인 가능) 기능 "내 자격 증명을 저장" "기억하기"또는.

쿠키는 브라우저에서 인증 세션을 유지 관리하는 산업 표준입니다. 당신이 그들을 사용하지 않는다면, 공개 사이트를 발행하는 아이디어를 포기할 수도 있습니다.