본문 바로가기

보안도구/분석도구

소스코드 정적분석(Static Analysis) : Mosca 도구 소개

□ 소스코드 정적분석(Static Analysis) : Mosca 도구 소개



Mosca 도구는 리눅스에 있는 grep 명령어와 같이 소스코드 내부에서 특정 키워드를 매칭해서 찾아내는 소스코드 정적 분석 도구다. 


[그림 1] c_common_failures.egg 모듈


egg 모듈 파일 중에서 c_common_failures.egg 파일 내용을 보면 취약점 설명(제목, 설명) 등이 나와 있고 중요하게 살펴볼 부분은 Match 부분으로 실제 소스코드 안에서 검색할 키워드를 의미한다. 


[그림 2] 프로그램 실행화면


Mosca 프로그램 실행 시 옵션 설명과 함께 사용법을 예제로 보여준다. egg 옵션은 모듈을 의미하고 path 옵션은 검색할 폴더 위치 그리고 ext 옵션은 확장자를 의미한다. log 옵션은 검사 완료 후 log 파일을 생성한다.


[그림 3] 프로그램 실행 결과


system 함수를 사용하는 C 소스코드를 작성하고 ./mosca --egg ./eggs/c_common_failures.egg --path /root/Desktop/Mosca-master/123 --ext "\\.c$" --log reports.txt 명령어를 입력하면 Match에서 정의한 문자열을 검출하는 것을 확인할 수 있다. 





다운로드 사이트 주소: https://github.com/CoolerVoid/Mosca