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 사용을 금지 특히, < 문자 사용시 < 로 변환 처리 |
|
javascript 라고 들어오는 문자열은 모두 문자열 변형처리 악성 스크립트를 주기적으로 모니터링 |
||
일반 사용자 |
브라우저 확장 프로그램 | NoScript: 모질라 기반 브라우저(파이어폭스 등)에서 실행되는 오픈 소스 확장 프로그램 : 화이트 리스트 기반의 신뢰된 사이트의 자바스크립트, 플래쉬, 실버라이트 및 액티브X 등 동적 스크립트만 브라우저에서 실행 허용 |
링크 노출 | 이 메일이나 게시판 등의 링크를 무조건 클릭하지 말고, 해당 링크를 복사하여 직접 접근하는 방법을 활용 | |
브라우저 취약점 | 브라우저 최신 보안 패치를 정기 적용해 취약점 공격 대응 브라우저의 개인정보 보안등급 관리기준을 상향조정 설정 |
IV. 웹 취약점 개선을 위한 기술적 추진방향
XSS를 이용한 공격은 아주 치명적. 공격 대상의 시스템의 관리자 권한까지 행사 가능.
웹 취약점을 개선하기 위해서는 응용계층의 웹방어가 필수적으로 필요함
네트워크 계층의 비인가 정보요청 및 공격에 대응하기 위해서 인프라 방어체계가 지원되어야 함
[용어/개념] Network - IP, 서브넷 마스크(Subnet Mask), 서브네팅(Sub-neting)
[용어/개념] Network - Packet 구조 / 캡슐레이션(Capsulation)
[용어/개념] IAM (Identity and Access Management) - 계정과 권한의 관리를 위한 통합관리 솔루션
반응형