본문 바로가기

보안/시큐어코딩

[정적분석툴 활용] LAPSE+ 이용한 JAVA EE 애플리케이션 취약점 진단

OWASP LAPSE Project는   OWASP가 개발자와 감사자가 Java EE 애플리케이션의 취약점을 검출하기 위한 프로젝트 이다. 수천줄의 코드로 구성된 여러 자바 클래스와 복잡한 구조를 갖는 응용프로그램의 취약점을 분석하는 것은 쉽지 않다.  그래서 OWASP LAPSE 프로젝트는 효과적이고 효율적인 방법으로 코드의 정적 분석을 수행하기 위한 LAPSE+ 도구를 제공한다. 


LAPSE+는 자바 EE 애플리케이션에서 신뢰하지 않는 데이터 주입의 취약점을 검출하기 위한 보안 스캐너이다.  이클립스 개발 환경에 플러그인으로 설치하여 사용할 수 있다. LAPSE+는 스탠포트 대학의 SUIF 컴파일러에 의해 개발된 GPL 라이선스 기반의 소프트웨어이다.  마드리드 카롤로스 III  의 Evalues연구소에 의해 개발된 새로운 버전의 소프트웨어는 새로운 취약점의 식별을 포함하고 악의적인 데이터 전파를 분석 할 수 있는  더 많은 기능를 제공한다.




LAPSE+는 취약점의 sink와 source를 감지하는 코드 정적 분석을 기반으로 한다. 소스의 취약점은 HTTP 요청 또는 쿠키의 파라미터 와 같은 신뢰할 수 없는 데이터의 삽입과 같은 것이다. 취약점 sink는 서블릿 응답이나 HTML 응답 페이지와 같은 애플리케이션의 행동을 조작하거나 수정하는 프로세스를 참조하는 부분이다.  소스의 취약점은 간단한 할당, 메서드 호출 또는 매개 변수를 전달하는 위치에서 sink가 발생할 수 있다. 취약점 소스에서 취약점 sink에 이르게 될때 해당 애플리케이션은 취약점을 가지게 된다.

LAPSE+ 와 사용방법은 다음 링크를 통해 다운로드 할 수 있다.