XSS

개념
XSS(Cross-Site Scripting)의 정의 - 게시판에 악성 스크립트를 작성하여 다른 공격 대상자가 그 글을 보았을 때 사용자 정보를 획득하는 공격 기법

I. 개인정보 추출 해킹기법 XSS에 대한 개요

가. XSS(Cross-Site Scripting)의 정의

  • 게시판에 악성 스크립트를 작성하여 다른 공격 대상자가 그 글을 보았을 때 사용자 정보를 획득하는 공격 기법

나. XSS 특징

  • 공격대상: XSS 취약점은 웹서버 공격이 아닌, 웹서버 일반 사용자를 공격대상
  • 스크립트: 사용자 인지 없이 스크립가 자동 실행 시 해커 명령 스크립트 수행
  • 공격목적 : 스크립트에 따라 게시글을 읽는 접속자(PC)의 다양한 정보유출
  • 공격지속: 게시글이 존재하는 한 게시글을 열람하는 많은 사용자가 지속적 피해

다. XSS의 피해

  • 쿠키 정보/ 세션 ID 획득: 공격자가 이를 통해 정상사용자로 가장할 수 있음
  • 시스템 관리자 권한 획득: 브라우저가 취약점 스크립트 실해으로 관리자 권한 획득
  • 악성코드 다운로드: 악성 프로그램 다운로드 사이트로 리다이렉트

 

II. XSS의 흐름도 및 유형

가. XSS(Cross Site Scripting) 해킹 기법의 흐름도

  • 게시판과 같은 웹 어플리케이션에 악성 스크립트를 작성하여 해당 페이지 열람자의 쿠키 값을 이용하여 열람자의 정보를 가로채는 해킹 기법

나. XSS의 2가지 유형(참조)

구분

설명

Client-to-Client
방식
(Stored XSS)

한 클라이언트에서 다른 클라이언트로 악의적인 코드가 전달되는 방식

게시판에 글을 쓴다든지 하는 방식으로 악의적인 코드를 전달할 수 있음

Client-to-itself
방식
(Reflected XSS)

악의적인 코드가 공격 대상이 되는 클라이언트 자신이 보내서 자신이 되돌려 받는 형식

이러한 형태의 공격은 주로 이메일이나웹페이지를 통해 링크를 제시하고 사용자가 그러한 링크를 클릭하도록 유도하는 방식으로 이루어짐

 

III. XSS 공격에 대한 대응 방안

대상자

공격방법

대응방법

개발자

쿠키정보 추출

개인 정보 및 로그인 계정정보 등의 중요한 정보는 쿠키에 저장하지 않음

정기적으로 쿠키정보를 삭제

보안 라이브러리

XSS 취약점 예방 Lib 사용

AntiXSS: MS 개발 공개용 XSS 취약점 예방 라이브러리
: 입력 값을 검증하여 서버로 악성 스크립트로 입력되지 못하는 기능과 위험한 문자를 인코딩 함수 제공

OWASP ESAPI 라이브러리: 웹 응용 취약점 대응 오픈소스 라이브러리로 총 14개 API 포함, XSS 취약점 예방 위해 validator와 encoder API 제공

validator:  입력 값 필터링, encoder: 출력 값 인코딩 및 디코딩

Java, PHP, .NET, ASP, 자바스크립트 및 파이썬 등 다양한 애플리케이션 개발 언어 지원

입력값 무효화

특수문자 등록을 하지 못하도록 특수문자 필터링

사용자 입력 가능 문자 지정하고 그 문자열 외는 필터링

출력값 무효화

HTML Format 사용을 금지

특히, < 문자 사용시 &lt; 로 변환 처리

javascript 라고 들어오는 문자열은 모두 문자열 변형처리

악성 스크립트를 주기적으로 모니터링

일반
사용자

브라우저 확장 프로그램

NoScript: 모질라 기반 브라우저(파이어폭스 등)에서 실행되는 오픈 소스 확장 프로그램
: 화이트 리스트 기반신뢰된 사이트의 자바스크립트, 플래쉬, 실버라이트 및 액티브X 등 동적 스크립트만 브라우저에서 실행 허용

링크 노출

이 메일이나 게시판 등의 링크를 무조건 클릭하지 말고, 해당 링크를 복사하여 직접 접근하는 방법을 활용

브라우저 취약점

브라우저 최신 보안 패치를 정기 적용해 취약점 공격 대응

브라우저의 개인정보 보안등급 관리기준을 상향조정 설정

 

IV. 웹 취약점 개선을 위한 기술적 추진방향

EMB000011d4386c

XSS를 이용한 공격은 아주 치명적. 공격 대상의 시스템의 관리자 권한까지 행사 가능.

웹 취약점을 개선하기 위해서는 응용계층의 웹방어가 필수적으로 필요함

네트워크 계층의 비인가 정보요청 및 공격에 대응하기 위해서 인프라 방어체계가 지원되어야 함

댓글