Title: Development of a String Injection Vulnerability Analyzer for Web Application Programs
Abstract:오늘날 대부분의 웹사이트는 웹 응용 프로그램이 적절한 웹 페이지를 생성하여 전송하는 형태인 동적 웹페이지를 사용하고 있다. 이에 대하여, 취약한 웹 응용 프로그램에 악의적인 문자열을 전달하는 공격의 형태가 증가하고 있다. 본 논문에서는 대표적인 문자열 삽입 공격인 SQL 삽입(SQL Injection) 공격과 크로스 사이트 스크립팅(Cross Site Sc...오늘날 대부분의 웹사이트는 웹 응용 프로그램이 적절한 웹 페이지를 생성하여 전송하는 형태인 동적 웹페이지를 사용하고 있다. 이에 대하여, 취약한 웹 응용 프로그램에 악의적인 문자열을 전달하는 공격의 형태가 증가하고 있다. 본 논문에서는 대표적인 문자열 삽입 공격인 SQL 삽입(SQL Injection) 공격과 크로스 사이트 스크립팅(Cross Site Scripting, XSS) 공격에 대하여 웹 응용 프로그램내의 보안 취약성을 자동으로 찾아 주는 프로그램 정적 분석기를 개발하였다. 요약 해석을 사용한 프로그램 분석을 위하여 가능한 문자열 값을 제외 문자열들과 함께 표현하는 요약 자료 공간과 PHP 언어의 요약된 의미 규칙을 설계하였으며, 이를 기반으로 분석기를 구현하였다. 또한 개발된 분석기가 기존의 연구 결과와 비교하여 경쟁력 있는 분석 속도와 정밀도를 가짐을 실험을 통하여 보였다. Nowadays, most web sites are developed using dynamic web pages where web pages are generated and transmitted by web application programs. Therefore, the ratio of attacks injecting malevolent strings to vulnerable web applications is increasing. In this paper, we present a static program analyzer which analyzes whether a web application program has vulnerabilities to the SQL injection attack and the cross site scripting(XSS) attack. To analyze programs using abstract interpretation framework, we designed an abstract domain which models potential string set along with excluded strings and developed an abstract interpreter for the PHP language. Also, based on them, we implemented a static analyzer. According to our experiments, our analyzer has competitive analysis speed and accuracy compared with related research results.Read More