검색 : [ author: 조성제 ] (6)

머신러닝을 이용한 안드로이드 멀웨어 탐지에서 API 호출의 효과 분석

박성현, 강문영, 박지현, 조성제, 한상철

http://doi.org/10.5626/JOK.2021.48.3.257

본 논문은 API 호출 정보의 표현 방식과 전처리 방식이 안드로이드 악성 앱 탐지 시스템의 정확도에 미치는 영향을 평가한다. 민감한 데이터를 접근 또는 제어하는 API 호출 정보를 앱에서 추출하여 머신러닝의 특징정보로 사용할 때, 추출한 API 정보를 어떤 방식으로 활용하는 것이 좋은가를 분석한다. 본 논문에서는, API 호출 이름만을 고려, API 호출 빈도 고려, API 호출 인자 및 리턴타입 포함 등의 방식으로 API 호출 정보를 표현하고 전처리하여 머신러닝 알고리즘을 적용한다. 실험 결과, 특징정보에 API 호출 인자 및 리턴타입을 포함하고 호출 빈도를 표현한 경우에 미세하게 높은 정확도를 보였으며, 특징정보 크기 측면에서는 호출 API의 클래스 이름과 메소드 이름, 존재 여부만을 표현한 경우가 가장 효율적이었다.

주요 안드로이드 마켓에서 앱 카테고리 및 개발 도구에 따른 악성 앱 분포

오지환, 이명건, 조성제, 한상철

http://doi.org/10.5626/JOK.2019.46.2.109

최근 보안 분석 보고서에 따르면 다수의 악성 앱(malicious app)들이 온라인 마켓을 통해 유통되고 있다. 본 논문에서는 안드로이드 공식 마켓(구글 플레이)과 써드파티 마켓(아마존 앱스토어)에서 유통되는 앱들을 대상으로 마켓별, 주요 카테고리별, 교차플랫폼 개발 도구별로 악성 앱의 비율을 분석한다. 먼저 13개의 주요 카테고리의 선정 후, 카테고리별로 앱을 수집하고 VirusTotal의 업로드를 통해 악성 여부를 검사한다. 수집한 앱들을 카테고리 및 개발 도구별로 정상 앱, 멀웨어, PUA(Potentially Unwanted Application)로 구분하여 각각의 비율을 측정한다. 수집한 총 22,615개의 앱 중에서 4,741개가 악성 앱으로 판정되었으며, 구글 플레이의 악성 앱 비율은 14.39%, 아마존 앱스토어의 악성 앱 비율은 24.85%이다. 구글플레이의 경우 Utilities(19.8%)와 Weather(19.1%) 카테고리의 악성 앱 비율이 가장 높으며, 아마존 앱스토어의 경우 Social(40.2%)와 Travel&Local(36.3%), Weather(34.9%) 카테고리의 악성 앱 비율이 가장 높다. 이 카테고리의 앱을 설치하는 경우 각별한 주의가 필요하다. 또한, 교차 플랫폼 개발 도구로 작성된 앱 중 악성 앱의 비율은 17.8%으로서 기존 통계에 비해 악성 앱의 비율이 급격히 증가하였다.

루팅된 안드로이드 폰에서 SEAndroid를 이용한 효과적인 앱 데이터 보호 기법

정윤식, 조성제

http://doi.org/

본 논문에서는 루팅된 단말 환경에서 SEAndroid의 보안 위협을 체계적으로 분석하고, 효과적으로 앱 데이터를 보호하는 기법을 제안한다. 루팅되지 않은 안드로이드 단말의 경우, 접근제어 모델에 의해 한 앱의 데이터는 해당 앱만이 접근할 수 있다. 하지만, 루팅된 단말의 경우 접근제어 모델이 무력화되어, 루트 권한 쉘이 임의로 다른 앱의 민감한 데이터에 접근하거나 악성 앱이 다른 앱의 데이터를 외부로 유출할 수도 있다. 이를 방어하기 위해, 본 논문에서는 기존 SEAndroid의 LSM(Linux Security Module) Hook 함수를 수정하여 제한된 프로세스만이 특정 앱 데이터를 접근할 수 있도록 하였다. 또한 새로운 도메인 타입의 관리 프로세스를 추가하였고, 해당 프로세스로 하여금 새로 설치되는 앱의 디렉토리 타입을 분리하여 관리하게 하였다. 실험을 통해, 제안 기법이 앱 데이터를 효과적으로 보호함과 성능 오버헤드가 2초 이내임을 보인다.

API 정보와 기계학습을 통한 윈도우 실행파일 분류

조대희, 임경환, 조성제, 한상철, 황영섭

http://doi.org/

소프트웨어 분류 기법은 저작권 침해 탐지, 악성코드의 분류, 소프트웨어 보관소의 소프트웨어 자동분류 등에 활용할 수 있으며, 불법 소프트웨어의 전송을 차단하기 위한 소프트웨어 필터링 시스템에도 활용할 수 있다. 소프트웨어 필터링 시스템에서 유사도 측정을 통해 불법 소프트웨어를 식별할 경우, 소프트웨어 분류를 활용하여 탐색 범위를 축소하면 평균 비교 횟수를 줄일 수 있다. 본 논문은 API 호출 정보와 기계학습을 통한 윈도우즈 실행파일 분류를 연구한다. 다양한 API 호출 정보 정제 방식과 기계학습 알고리즘을 적용하여 실행파일 분류 성능을 평가한다. 실험 결과, PolyKernel을 사용한 SVM (Support Vector Machine)이 가장 높은 성공률을 보였다. API 호출 정보는 바이너리 실행파일에서 추출할 수 있는 정보이며, 기계학습을 적용하여 변조 프로그램을 식별하고 실행파일의 빠른 분류가 가능하다. 그러므로 API 호출 정보와 기계학습에 기반한 소프트웨어 분류는 소프트웨어 필터링 시스템에 활용하기에 적당하다.

안드로이드 장치 드라이버에 대한 효과적 취약점 탐지 기법

정영기, 조성제

http://doi.org/

안드로이드 및 리눅스 기반 임베디드 시스템에서는 디바이스 드라이버가 커널 함수로 포함되는 구조로 되어 있다. 어떤 디바이스 드라이버들의 경우, 여러 Third-party에 의해 제공되는 소프트웨어(펌웨어)가 포함되는데, 그 보안 수준에 대해 검토되지 않고 사용되는 경우가 많다. 보안 취약점 분석을 위해 일반적으로 사용되는 정적 분석의 경우, 오탐 가능성으로 인하여 실제 권한상승과 같은 주요 취약점을 확인하는데 많은 비용이 발생한다. 본 논문에서는 안드로이드 시스템에서 사용되는 디바이스 드라이버를 대상으로 정적 및 동적 분석 기반의 효과적인 보안 취약점 탐지 기법을 제시하고 그 효용성을 확인한다.

함수 수준 특징정보 기반의 오픈소스 소프트웨어 모듈 탐지

김동진, 조성제

http://doi.org/

OSS(Open-Source Software)의 사용 증가와 함께 라이선스 위반, 취약한 소스코드 재사용 등에 의한 분쟁 및 피해가 빈번해지고 있다. 이에, 실행파일(바이너리) 수준에서 프로그램에 OSS 모듈이 포함되었는지 여부를 확인하는 기술이 필요해졌다. 본 논문에서는 바이너리에서 함수 수준의 특징정보를 사용하여 OSS 모듈을 탐지하는 기법을 제안한다. 기존 소프트웨어 특징정보(버스마크) 기반 도용 탐지 기법들은 프로그램 전체 간 유사성을 비교하기 때문에 프로그램의 일부로 포함된 OSS 모듈들을 탐지하는데 부적합하다. 본 논문에서는, 함수 수준의 실행명령어, 제어 흐름 그래프(Control Flow Graph)와 개선된 함수 수준 구조적 특징정보를 추출하고 유사성을 비교하여 OSS 모듈의 임의 사용 여부를 탐지한다. 제안기법의 효율성과 각 특징정보들의 OSS 탐지 성능을 평가하기 위해, 특징정보량, OSS 모듈 탐지 시간 및 정확도, 컴파일러 최적화에 대한 강인성을 실험하였다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr