Abstract
OWASP announced most of vulnerabilities result from the data injection by user in 2010 after 2007. Because the contaminated input data is determined at runtime, those data should be checked dynamically. To analyze data and its flow at runtime, dynamic analysis method usually inserts instrument into source code. Intermediate code insertion makes it difficult to manage and extend the code so that the instrument code would be spreaded out according to increase of analysis coverage and volume of code under analysis. In addition, the coupling gets strong between instrument modules and target modules. Therefore developers will struggle against modify or extend the analysis code as instrument. To solve these problem, this paper defines vulnerabilities as a concern using AOP, and suggest the flexible and extensible analysis method to insertion and deletion without increase of coupling.
국제 웹 어플리케이션 보안 연구 단체(OWASP)는 2007년에 이어 2010년에도 취약점 대부분이 사용자의 외부 데이터 입력에 기인한 것으로 발표했다. 이러한 오염된 입력 데이터는 실행 시점에서 결정되기 때문에 동적인 취약점 분석이 필요하다. 동적 분석 방법은 주로 실행 시점의 데이터 분석이나 경로 흐름 분석을 위해 인스트루먼트를 코드 내에 삽입 한다. 하지만 직접적인 코드의 삽입은 관리와 확장이 어려워 분석 범위와 대상이 증가할 때 마다 코드 조각들이 흩어지게 된다. 게다가 인스트루먼트 모듈과 시험 대상 모듈 간의 결합도가 높아진다. 따라서 개발이나 유지보수 단계에서 삽입한 분석 코드를 수정하거나 확장하는데 많은 노력이 필요하게 된다. 본 논문은 이러한 문제점을 해결하기 위해 AOP를 이용하여 취약점을 하나의 관심사로 분류함으로써 결합도의 증가 없이 삽입, 삭제와 유연한 확장이 용이한 방법을 제안한다.