반응형
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/
반응형
'IT 보안' 카테고리의 다른 글
제로 데이 공격 (0) | 2024.09.23 |
---|---|
크로스 사이트 스크립팅(XSS) (0) | 2024.09.23 |
PE 포맷에서의 사용하는 확장자 및 섹션에 대한 설명 (0) | 2024.09.23 |
리버스 엔지니어링 레지스터 종류 및 설명 (0) | 2024.09.22 |
리버스 엔지니어링 조건문에서 자주 사용하는 명령어 종류 및 설명 (0) | 2024.09.22 |