크로스사이트 스크립팅은 웹 애플리케이션의 취약점으로 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 비정상적인 기능을 자동으로 수행하게 하거나 할 수 있다. 크로스사이트 스크립팅(XSS) 공격유형은 한 번의 HTTP 요청과 응답에서 행해지는 XSS인 반사 XSS(reflect XSS)와 페이로드를 전송한 뒤 다수의 피해자가 해당 페이지에 접속하면 XSS 공격에 노출되는 저장 XSS(Stored XSS)로 나눌 수 있다. 그리고 크로스사이트 스크립팅 공격에 대한 방어로 사용자 입력하는 데이터에 대한 입력 값 검증, HTML인코딩 과정에서의 출력 값에 대한 검증, 사용자가 악의적 코드를 웹 어플리케이션에 삽입하기 위한 시도를 막기 위해 위험 가능성 삽입지점 제거를 제시하였다. 본 논문에서는 이 두 가지 방법에 대한 공격방법과 절차를 제시하고 모의해킹을 수행하였다. 이를 통해 크로스사이트 스크립팅 공격에 대한 이해가 가능하고 대응책을 통해 공격에 대비할 수 있도록 하였다.
크로스사이트 스크립팅은 웹 애플리케이션의 취약점으로 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 비정상적인 기능을 자동으로 수행하게 하거나 할 수 있다. 크로스사이트 스크립팅(XSS) 공격유형은 한 번의 HTTP 요청과 응답에서 행해지는 XSS인 반사 XSS(reflect XSS)와 페이로드를 전송한 뒤 다수의 피해자가 해당 페이지에 접속하면 XSS 공격에 노출되는 저장 XSS(Stored XSS)로 나눌 수 있다. 그리고 크로스사이트 스크립팅 공격에 대한 방어로 사용자 입력하는 데이터에 대한 입력 값 검증, HTML 인코딩 과정에서의 출력 값에 대한 검증, 사용자가 악의적 코드를 웹 어플리케이션에 삽입하기 위한 시도를 막기 위해 위험 가능성 삽입지점 제거를 제시하였다. 본 논문에서는 이 두 가지 방법에 대한 공격방법과 절차를 제시하고 모의해킹을 수행하였다. 이를 통해 크로스사이트 스크립팅 공격에 대한 이해가 가능하고 대응책을 통해 공격에 대비할 수 있도록 하였다.
Cross Site Scripting enables hackers to steal other user's information (such as cookie, session etc.) or to do abnormal functions automatically using vulnerability of web application. This attack patterns of Cross Site Scripting(XSS) can be divided into two types. One is Reflect XSS which can be exe...
Cross Site Scripting enables hackers to steal other user's information (such as cookie, session etc.) or to do abnormal functions automatically using vulnerability of web application. This attack patterns of Cross Site Scripting(XSS) can be divided into two types. One is Reflect XSS which can be executed in one request for HTTP and its reply, and the other is Stored XSS which attacks those many victim users whoever access to the page which accepted the payload transmitted. To correspond to these XSS attacks, some measures have been suggested. They are data validation for user input, output validation during HTML encoding procedures, and removal of possible risk injection point to prevent from trying to insert malicious code into web application. In this paper, the methods and procedures for these two types are explained and a penetration testing is done. With these suggestions, the attack by XSS could be understood and prepared by its countermeasures.
Cross Site Scripting enables hackers to steal other user's information (such as cookie, session etc.) or to do abnormal functions automatically using vulnerability of web application. This attack patterns of Cross Site Scripting(XSS) can be divided into two types. One is Reflect XSS which can be executed in one request for HTTP and its reply, and the other is Stored XSS which attacks those many victim users whoever access to the page which accepted the payload transmitted. To correspond to these XSS attacks, some measures have been suggested. They are data validation for user input, output validation during HTML encoding procedures, and removal of possible risk injection point to prevent from trying to insert malicious code into web application. In this paper, the methods and procedures for these two types are explained and a penetration testing is done. With these suggestions, the attack by XSS could be understood and prepared by its countermeasures.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
전자 게시판처럼 여러 사용자가 보는 공간에 악성 스크립트가 담긴 글을 게재하는 방식으로 이루어진다. 본 논문에서는 크로스사이트 스크 립팅 공격과 방어에 대해 알아보고 모의해킹을 통해 XSS 공격 사례를 제시하였다.
본 논문에서는 크로스사이트 스크립팅(XSS) 취약점에 대해 알아보고 이에 대한 공격시나리오 및 대응법에 대해 알아보았다. 또한 시연을 통해 XSS 공격의 과정과 결과에 대해 보여주었다.
가설 설정
둘째, 특정하게 제한된 문자로 구성돼야 한다. 셋째, 특정한 규격 표현과 서로 일치해야 한다. 마지막으로 각 필드에 입력 데이터의 형태에 따라 각자 다른 검증 규칙이 적용되어야 한다.
첫째, 입력 데이터의 길이는 너무 길지 않아야 한다. 둘째, 특정하게 제한된 문자로 구성돼야 한다.
제안 방법
데이터가 HTML 소스코드로 삽입되므로 악의적인 데이터는 콘텐츠뿐만 아니라 따옴표구문을 이용해서 페이지 태그를 조작하고 스크립트를 삽입하는 등 문법을 이용하여 해당 페이지의 흐름을 방해할 수 있다. 반사 XSS와 영구 XSS 취약점을 제거하기 위해 먼저 애플리케이션에서 사용자가 제어 가능한 데이터 응답으로 출력되는 모든 경우를 확인한다. 그러나 모든 경우를 확인하기 위해서 웹 애플리케이션 소스코드를 전부 면밀히 살피는 작업은 실질적 대응 방안이 아니다.
성능/효과
정보통신 인프라의 급속한 확장으로 면대면으로 처리되던 서비스들의 대부분이 인터넷을 기반으로 온라인을 통해 제공되고 있다. 정보검색을 시작으로 이메일, 인터넷 뱅킹, 전자결제 등의 서비스와 함께 사회 관계망 서비스인 SNS(Social Network Service), 클라우드 서비스에 이르기까지 다양하고 광범위한 서비스의 이용이 가능해졌다. 이러한 사회적 현상으로 개인정보 유출로 인한 사생활 침해, 신용카드나 금융정보 유출을 통한 금전적 손해 등의 다양한 피해 사례들도 발생하고 있다[1][2].
후속연구
웹브라우저 벤더들이 XSS를 포함한 다양한 웹 공격들의 대표적인 형태를 막기 위해 조치를 취하므로 사용자들은 최신 버전의 브라우저를 사용해야하며 최신 취약점 및 해킹에 대한 정보를 습득해야 한다. 추후에는 크로스사이트 요청위조(CSRF)와 같이 XSS 공격의 다양한 확장 형태에 대한 대응방법 가이드 및 안전한 코딩 규칙을 제시할 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
영구적 XSS의 장점은 무엇인가?
저장(Stored) XSS라고 불리는 영구적 XSS(persistent XSS)에서는 일대다 공격이 가능하다는 점이 장점이다. 공격자가 페이로드를 전송한 뒤 다수의 피해자가 해당 페이지에 접속하면 XSS 공격에 노출된다.
XSS는 무엇인가?
주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 사이트 간 스크립팅이라고도 한다[11]. XSS는 HTML 인젝션의 일종으로 웹페이지의 내용을 변경하거나 피해자의 웹브라우저에 임의의 자바스크립트를 실행하는 공격이다[12]. 웹사이트에서 메일 주소, 사용자 ID, 블로그 댓글, 우편번호 등과 같은 사용자의 정보를 입력 받은 후 이를 다시 보여주는 과정에서 발생한다.
XSS는 어떤 과정에서 발생하는가?
XSS는 HTML 인젝션의 일종으로 웹페이지의 내용을 변경하거나 피해자의 웹브라우저에 임의의 자바스크립트를 실행하는 공격이다[12]. 웹사이트에서 메일 주소, 사용자 ID, 블로그 댓글, 우편번호 등과 같은 사용자의 정보를 입력 받은 후 이를 다시 보여주는 과정에서 발생한다. 따라서 XSS는 피해자의 브라우저에 스크립트를 실행할 수 있게 함으로써 공격자가 사용자의 세션을 가로채거나, 웹사이트 변조, 악의적인 콘텐츠 삽입, 피싱공격 행위를 할 수 있고, 악의적인 스크립팅을 이용해 사용자 브라우저를 통해 정보를 가로챌 수 있다.
참고문헌 (15)
Ryan Barnett, "Full List of Incidents", Web Application Security Consortium. January 8, 2013.
Brodkin, "The top 10 reasons Web sites get hacked", Network World (IDG), October 4, 2007
Keun-Ho Lee, "Analysis of Threats Factor in IT Convergence Security", Journal of the Korea Convergence Society, , Vol. 1, No. 1, pp49-55, 2010
Bo-Kyung Lee, "A Study on Security of Virtualization in Cloud Computing Environment for Convergence Services", Journal of the Korea Convergence Society, Vol. 5, No. 4, pp93-99, 2014
Prateek Saxena, Dawn Song, and Yacin Nadji. "Document structure integrity: A robust basis for cross-site scripting defense.", In 16th Annual Network & Distributed System Security Symposium, San Diego, CA, USA, February 2009.
N. Jovanovic, C. Kruegel, and E. Kirda., "Pixy: A static analysistool for detecting web application vulnerabilities (short paper)." In IEEE Symposium on Security and Privacy, 2006.
Robert Auger, "Cross Site Scripting", Web Application Security Consortium. February 1, 2011.
Symantec Corp, "Symantec Internet Security Threat Report: Trends for July-December 2007 (Executive Summary)" XIII. pp. 1-3. April 2008
P. Saxena, D. Akhawe, S. Hanna, S. McCamant, F. Mao, and D. Song. A symbolic execution framework for JavaScript. In IEEE Symposium on Security and Privacy, 2010.
Dafydd Stuttard, Marcus Pinto. The Web Applicaton Hacker's Handbook: Finding and Exploiting Security Flaws. Wade AIcorn. pp. 39-70, 431-497. 2011
Yunkee Seong, "Cross Site Scripting(XSS) attacks and the defenses", Internet & SecurityFocsus, KISA, 2013. 11.
SiChoon Noh, "tudy of Web Hacking Response Procedures Model based on Diagnosis Studies for Cross-Site Scripting (XSS)Process", Journal of Information and Security, vol 13, no 6, 2013. 12.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.