본문 바로가기
IT 보안

XSS와 CSRF 차이점

by 떠도리c 2024. 9. 23.
반응형

XSS와 CSRF

XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조)는 공격자가 웹 사이트 또는 웹 응용 프로그램의 보안을 손상시키기 위해 악용할 수 있는 두 가지 일반적인 웹 응용 프로그램 보안 취약점입니다. 둘 다 웹 애플리케이션을 대상으로 하는 공격 유형이지만 목표와 방법이 다릅니다.

 

XSS(교차 사이트 스크립팅)

  • XSS는 웹 애플리케이션을 통해 공격자가 다른 사용자가 보는 웹 페이지에 악성 스크립트(일반적으로 JavaScript)를 삽입하도록 허용할 때 발생하는 취약점입니다.

 

사이트 간 요청 위조(CSRF)

  • CSRF는 공격자가 사용자를 속여 사용자가 알지 못하거나 동의하지 않은 채 다른 웹사이트에서 의도하지 않은 작업을 수행하도록 할 때 발생하는 취약점입니다.

 

 

XSS와 CSRF의 차이점

- XSS(교차 사이트 스크립팅) 사이트 간 요청 위조(CSRF)
정의 웹 콘텐츠에 악성 스크립트 삽입 사용자를 대신하여 무단으로 작업 실행
공격 벡터 입력 필드를 조작하여 악성 코드 삽입 사용자의 인증된 세션 악용
표적 사용자의 브라우저와 상호작용 특정 사이트에서의 사용자 세션 및 작업
영향 – 데이터 도용– 계정 도용– 악성코드 유포– 웹사이트 훼손 – 무단 행위– 데이터 조작– 계정 도용– 악의적 거래
실행 컨텍스트 클라이언트 측(사용자 브라우저에서) 서버측(사용자의 인증된 세션을 통해)
유형 – 저장된 XSS– 반영된 XSS– DOM 기반 XSS – 비지속적(GET 기반) CSRF– 지속성(POST 기반) CSRF
널리 퍼짐 여전히 일반적인 위협 인식 및 예방 조치로 인해 감소
방지 – 입력 유효성 검사 및 인코딩– CSP(콘텐츠 보안 정책)– 출력 이스케이프 – Anti-CSRF 토큰(CSRF 토큰)– SameSite 쿠키 속성– 참조자 헤더 확인
완화 정기적인 보안 테스트 및 코드 검토 사용자 입력을 엄격하게 검증하고 삭제합니다.
사용자 상호작용 사용자는 공격자가 제어하는 ​​사이트를 방문해야 합니다. 사용자의 인증된 세션을 악용합니다.
입증 인증 우회가 필요하지 않습니다. 사용자의 기존 인증을 우회해야 합니다.
사용자 동의 사용자 조치가 필요하지 않습니다. 사용자가 원치 않는 행동을 하도록 속이는 데 의존합니다.
공격자의 목표 사용자 브라우저에서 악성 스크립트 실행 사용자의 ID를 사용하여 사이트에서 작업 수행
– 가짜 로그인 양식 표시– 웹사이트 훼손– 쿠키 훔치기 – 사용자의 이메일/비밀번호 변경– 무단 거래– 계정 설정 수정
사용자에 대한 가시성 스크립트는 브라우저에 표시되는 콘텐츠를 수정할 수 있습니다. 사용자는 자동으로 수행되는 작업을 알아차리지 못할 수 있습니다.
보안 메커니즘 WAF(웹 애플리케이션 방화벽)는 탐지 및 예방에 도움이 될 수 있습니다. CSRF 토큰 활용– SameSite 속성 구현– Referer 헤더 확인
악용 난이도 취약점의 복잡성에 따라 다름 시행 중인 보안 조치에 따라 다름
영향을 받는 구성 요소 웹 양식, URL, 쿠키 및 로컬 저장소 상태 변경 요청을 트리거하는 작업
브라우저 보안 기능 CORS(Cross-Origin Resource Sharing)– 콘텐츠 보안 정책(CSP) 쿠키 제한 사항– SameSite 속성
법적 의미 개인정보 보호 및 데이터 위반 규정이 적용될 수 있습니다. 법적 결과를 초래하는 무단 행위
공격의 예 – JavaScript를 통해 세션 쿠키 훔치기– 삽입된 콘텐츠로 웹사이트 훼손 – 조작된 URL을 통한 계정 비밀번호 변경– 무단 자금 이체 시도

 

결론

요약하자면, XSS(교차 사이트 스크립팅) 및 CSRF(교차 사이트 요청 위조)는 웹 애플리케이션의 다양한 측면을 표적으로 삼는 별개의 웹 취약성입니다. 

XSS 공격은 웹 콘텐츠에 악성 스크립트를 주입하여 사용자의 브라우저를 조작하는 데 중점을 두는 반면,

CSRF 공격은 사용자 브라우저와 웹 애플리케이션 간에 설정된 신뢰를 악용하여 승인되지 않은 작업을 수행합니다.

두 취약점 모두 심각한 피해를 일으킬 가능성이 있지만 공격 벡터가 다양하기 때문에 서로 다른 완화 전략이 필요합니다. 웹 개발자와 보안 전문가는 이러한 차이점을 인식하고 XSS 및 CSRF 위협으로부터 보호하기 위한 적절한 예방 조치를 구현하는 것이 중요합니다.

Ref. https://www.appsealing.com/

 

반응형