쿠키에 보안 정보를 저장해도 되는가?

유수민·2022년 7월 10일
0

지식창고

목록 보기
13/64
post-thumbnail

쿠키는 사용자가 사이트에 다시 접속했을 때 저장되어 있던 정보를 근거로 사용자를 인식하고 별도의 절차 없이 사이트에 빠르게 연결할 수 있도록 편의를 돕는 역할을 한다. 하지만, 쿠키에는 지워져도 되고, 조작되거나 가로채이더라도 큰 지장이 없는 수준의 정보들만을 보관하도록 되어 있다. 즉, 쿠키에는 보안정보를 저장하면 안된다. 쿠키는 어떻게 정보를 유출할 수 있을까?

📌XSS(크로스 사이트 스크립트)공격

서버 측에서 제공되는 Script가 아닌 권한이 없는 사용자(해커)가 웹사이트에 Script를 삽입하여 의도치 않은 동작을 일으키는 공격을 말한다.
해커가 XSS 공격에 취약한 웹사이트에 악의적인 Script를 삽입하고, 그 Script가 있는 게시글을 열람한 사용자는 악성스크립트로 인해 본인의 쿠키가 해커에게 전송되게 된다. 세션ID가 포함된 쿠키를 탈취한 해커는 탈취한 사용자의 계정으로 로그인 할 수 있게 되는 것이다.
→ 기본적으로 cookie는 JavaScript를 통해 조회가 가능하기 때문에, 클라이언트에 저장되있는 cookie 데이터가 XSS공격을 통해 탈취가 가능한 것이다.

  • 해결법

HttpOnly 속성을 통해 JavaScript로 Cookie에 접근하지 못하게 할 수 있다

📌스니핑(Sniffing)공격

스니핑은 말그대로 도청의 기법으로, 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿듣는 것을 의미한다.
스니핑은 주어진 네트워크를 통과하는 모든 데이터 패킷을 모니터링하고 캡처하여 암호, 계정 정보 등과 같은 민감한 정보가 포함된 데이터 패킷을 얻을 수 있게 된다. 네트워크를 통해 전송되는 쿠키값을 암호화하지 않고 전송하는 경우, 네트워크 스니핑 공격을 통해 쿠키값을 탈취할 수 있다.
즉, 수동적 공격으로 패킷을 캡처하여 중간에서 확인하는 공격 기법이다.

  • 해결법
    • 존재하지 않는 MAC으로 패킷 송신
    • 역방향 DNS 룩업 탐지 (스니퍼 특성으로 역 질의 방식)
    • 디코이 (Decoy - 거짓 ID/PW를 통한 유인책)
    • SSL 통신 (인증서 확인)
    • ARP 워치 (MAC 테이블 감시)

📌공용 PC에서 쿠키값 유출

영속성 쿠키는 하드디스크에 저장되며, 간단한 방법으로 접근 가능하기 때문에 공용PC 사용시 PC에 저장된 사용자 정보가 유출될 수 있다.

profile
배우는 것이 즐겁다!

0개의 댓글