쿠키 포이즈닝(cookie poisoning)은 세션 하이재킹(session hijacking)이라고도 하며, 공격자가 서버로 다시 전송되는 정상적인 쿠키를 변조, 위조, 탈취하거나 그 밖의 방식으로 ‘오염’시켜 데이터를 훔치거나 보안을 우회하는 공격 기법입니다.

쿠키 포이즈닝이란 무엇인가요?

컴퓨팅에서 쿠키란 특정 웹사이트와 사용자 세션에 관한 데이터로, 사용자의 관심사나 신원 정보 등을 포함하며 사용자의 브라우저에서 생성되어 저장됩니다. 웹사이트와 서버는 쿠키를 사용해 사이트에서 가장 많은 트래픽이 발생하는 페이지 등 이용 추세를 추적할 수 있습니다. 또한 사용자의 이전 방문 기록에 맞는 콘텐츠를 우선 표시하거나, 온라인 장바구니의 상품을 추적하거나, 개인 정보를 자동으로 입력하는 등 사용자 경험을 맞춤화하고 간소화할 수 있습니다.

공격자는 쿠키가 서버로 반환되기 전에 이를 가로채 정보를 추출하거나 내용을 변조할 수 있습니다. 또한 사용자를 사칭해 추가 사용자 데이터에 접근할 목적으로 위조 쿠키를 새로 만들 수도 있습니다. 따라서 쿠키 포이즈닝이라는 용어는 다소 부정확합니다. 이 용어가 변조된(‘오염된’) 쿠키뿐만 아니라 유효한 쿠키에서 데이터를 탈취하거나 쿠키를 악의적으로 사용하는 다양한 수법까지 지칭하는 데 흔히 사용되기 때문입니다.

쿠키 포이즈닝이 중요한 이유는 무엇인가요?

쿠키는 인증 및 사용자의 계정 로그인 여부를 추적하는 데 자주 사용되므로, 무단 액세스에 악용될 수 있는 정보를 포함합니다. 또한 사용자가 입력한 금융 정보를 비롯한 기타 민감한 데이터가 포함될 수도 있습니다. 공격자는 비교적 쉽게 쿠키를 변조할 수 있으며, 변조된 쿠키를 이용해 사기 목적으로 사용자의 신원을 도용하거나 웹 서버에 무단으로 액세스하여 추가 공격을 감행할 수 있습니다.

쿠키 포이즈닝은 어떻게 작동하나요?

안전하게 생성되거나 전송되지 않은 쿠키(또는 기타 세션 토큰)는 탈취되거나 변조될 위험이 있습니다. 크로스 사이트 스크립팅(XSS)은 쿠키를 훔치는 일반적인 방법이지만, 패킷 스니핑과 무차별 대입 공격을 비롯한 여러 방법을 사용해 쿠키에 무단으로 액세스할 수도 있습니다. 또한 쿠키 포이즈닝은 쿠키와 관련된 수많은 악성 행위를 포괄하는 용어이므로, 쿠키 포이즈닝 공격은 중간자 공격, 세션 하이재킹, 세션 고정 또는 위조 등으로도 정확히 표현할 수 있습니다.

F5는 쿠키 포이즈닝을 어떻게 방지하나요?

신중한 애플리케이션 개발을 통해 쿠키에 저장되는 민감한 데이터를 제한하거나 공격자가 이를 추출하기 어렵게 만들 수 있지만, 쿠키의 목적은 사용자나 행동 또는 둘 다를 식별하는 것입니다. 따라서 애플리케이션은 앞으로도 쿠키를 계속 사용할 것입니다. 적절한 웹 애플리케이션 보안 및 세션 관리는 웹 애플리케이션 방화벽(WAF)을 통해 제공될 수 있으며, 식별 데이터를 보호하고 쿠키 포이즈닝 공격을 방어하는 데 도움이 됩니다.

The F5 Advanced WAF는 전체 프록시 데이터 검사, 행동 분석 및 머신 러닝을 활용하여 정교한 세션 관리와 SSL/TLS 쿠키 암호화를 비롯한 고급 애플리케이션 보안을 제공합니다. 웹 서버로 들어오고 나가는 모든 트래픽을 가로채 해당 트래픽을 복호화하고 서버에서 전송한 정보와 비교함으로써 변조된 쿠키가 서버나 애플리케이션에 도달하지 못하도록 차단합니다.