본문 바로가기

IT Note/Note

[IT Note] CSRF

728x90

CSRF (Cross-Site Request Forgery)

  • 악의적인 웹사이트나 이메일을 통해 인증된 사용자의 권한을 이용해 공격을 시도하는 웹 보안 공격 유형



CSRF 공격 유형

  • 이미지 태그 또는 다른 리소스를 이용한 공격
    • 악의적인 웹페이지에서 이미지 태그나 다른 리소스를 이용하여 사용자의 브라우저가 인증된 요청을 보내도록 유도
  • 자바스크립트를 이용한 공격
    • 악의적인 웹페이지가 사용자의 브라우저에서 자바스크립트를 실행하여 인증된 요청을 송신
  • 피싱 공격
    • 사용자를 혼동시켜 악의적인 요청을 실행하도록 속임
  • iframe을 이용한 공격
    • 악의적인 웹페이지에서 사용자의 브라우저에 미리 설정된 세션 쿠키를 이용하여 인증된 요청을 보내도록 하는 방법



CSRF 공격 방어

  • CSRF 토큰 사용
    • 웹 어플리케이션에서는 사용자의 세션과 관련된 고유한 토큰을 생성하여 HTML 폼이나 AJAX 요청과 함께 전송
    • 토큰 검증을 통해 악의적인 요청으로부터의 보호
  • SameSite 쿠키 속성 설정
    • 쿠키에 SameSite 속성을 설정하여 외부 사이트에서의 쿠키 전송을 방지
  • Referrer 검증
    • 서버에서 HTTP Referer 헤더를 검증하여 요청이 허용된 도메인에서 온 것인지 확인
    • 하지만 항상 신뢰할 수 없으므로 CSRF 토큰과 함께 사용하는 것을 권장
  • 사용자의 세션에 대한 강력한 보안 정책
    • 사용자의 세션을 안전하게 유지하기 위해 HTTPS를 사용
    • 적절한 세션 관리 및 인증 구현



CSRF 공격으로 인한 피해

  • 권한 상실
    • 사용자의 브라우저를 통해 인증된 요청이 전송되기 때문에 공격자는 피해자의 권한을 이용하여 민감한 동작을 수행 가능
  • 데이터 손실 또는 변경
    • 공격자가 피해자의 계정으로 민감한 데이터를 손상 및 변경 가능
  • 계정 탈취
    • 공격자가 피해자의 계정으로부터 토큰, 세션 쿠키 등을 탈취하여 불법적으로 계정에 접근 가능
  • 금전적 피해
    • 공격자가 금융 트랜잭션 등을 수행할 경우 피해자의 금전적 손실 가능

 

728x90
반응형