마일스톤(3) - 좌장: 이병철 교수(광주과학기술원)


프로그래밍언어연구회
발표 김진영(서울대학교) 시간 13:30-13:55
제목 정적의미분석 결과를 기계학습에 활용한 안드로이드 악성 앱 탐지
요약 정적의미분석 결과를 기계학습에 활용하여 안드로이드 악성앱을 탐지하는 연구에 대해 발표한다. 우리의 분류기는 안드로이드 악성앱 정적분석기 ScanDal을 통한 앱 의미분석 결과를 특징(feature)으로 활용하며, 알려진 악성앱과 일반앱으로부터 학습한다. 분류기가 사용하는 의미기반 특징들을 설명하고 이 특징들이 악성앱과 일반앱을 가르는 데 어떤 도움을 주는지 보인다. 의미분석에 기반한 특징을 이용하면 악성앱 분류를 더 잘할 수 있으며, 특히 알려지지 않은 악성앱을 탐지하는 데 강점이 있음을 보인다.
발표 이우석(서울대학교) 시간 13:55-14:20
제목 부울논리가 함수호출경로를 만들어주네요, 알람분류에 유용해요
요약 본 발표에서는 소스-싱크 분석기의 알람이 참 혹은 거짓인지 사용자가 판단하는데 도움을 주는 시스템을 소개한다. 소스란 우리가 관심있는 값이 생성되는 지점, 싱크란 그 값이 쓰이는 지점을 의미한다. 분석기가 근사 해답을 주기 때문에, 사용자는 소스-싱크 경로의 실재 가능성을 육안으로 판단해야 한다. 이 사용자 판별과정은 가능한 경로의 갯수와 길이가 커질수록 어렵다. 이를 해결하기 위해 우리는 최단 소스-싱크 함수호출경로를 사용자에게 제시하고, 그것이 실재할 수 없는 경로인 경우, 사용자에게 그 이유를 논리식 형태로 제공받아 다른 최단 경로를 제공하는 사용자 상호작용 시스템을 만들었다. 사용자 제약식은 부울논리식이며 그 안에서 부울변수는 어떤 함수 호출이 경로에 포함되는지 아닌지를 의미한다. 이를 포맷스트링 버그 탐지 분석기에 적용한 결과, 15개의 C 오픈소스 프로그램에서 실제하는 버그를 시스템을 이용해 빠르게 찾을 수 있었다. 많은 경우 필요한 사용자 상호작용 횟수는 1-4번에 불과했다.
발표 허기홍(서울대학교) 시간 14:20-14:45
제목 기계학습을 이용한 효율적인 관계분석
요약 관계분석에서 정확도 상승에 기여할만한 관계만을 분석전에 선별하는 이야기이다. 관계분석은 프로그램에 나타나는 여러 변수 사이의 수학적 관계 (예. x - y <= 1)를 추적하는 분석이다. 이는 비관계분석에 비해 정확하지만 프로그램이 커지고 변수가 많아질수록 그 비용이 기하급수적으로 증가하는 문제가 있다. 하지만 사실 알고보면 최종 정확도 상승에 기여하는 변수관계는 그리 많지가 않다. 이 연구에서는 관계 분석시 정확도 상승에 기여할만한 변수 관계를 기존 프로그램의 분석결과를 학습하여 알아내고 새로운 프로그램을 관계분석할 때 필요한 변수만 선별해 내는 방법을 탐구한다.
발표 조성근(서울대학교) 시간 14:45-15:10
제목 ZooBerry: 분석기/검산기 자동 생성 시스템
요약 현재 개발 중인 분석기/검산기 자동 생성 시스템, ZooBerry를 소개한다. ZooBerry는 사용자로부터 고수준의 분석 명세를 입력 받아, 여러 최적화 기술이 적용된 분석기와 분석 결과가 올바른지 확인하는 검산기를 출력한다. 덕분에 사용자는 분석하고자 하는 성질에만 집중하면서도, 고성능이면서 올바름이 보장되는 분석기를 얻을 수 있다. 이 발표에서는 ZooBerry의 내부 구조와 개발 과정에서 만난 어려움들을 공유하겠다.