2011-01-13 3 views
1

SVM (Support Vector Machines)을 사용하여 Android 플랫폼 용 악성 응용 프로그램을 감지 할 수있는 응용 프로그램을 개발하려고합니다. "logcat"및 "strace"도구에서 많은 시스템 정보를 얻을 수 있지만 실제 악성 응용 프로그램을 탐지하는 방법은 지금 없습니다. 그 도구를 사용하여 장치의 정상적인 동작 사용을 시작/기록하는 방법을 알고있는 사람은 장치에서 정보를 가져 와서 동작 패턴을 설정합니다.SVM (Support Vector Machines)을 사용하여 Android 맬웨어 감지

안부

+0

아마도 SVM 또는 ANN에서 결정하기 전에 어떤 정보를 얻을 수 있는지 알아내는 것이 좋습니다. :) – Aliostad

+0

Aliostad 질문에 대한 답변을 주셔서 대단히 감사합니다. 다음은 해당 도구에서 얻을 수있는 내용입니다. -Logcat : 터치 스크린 이벤트와 같은 모든 유형의 이벤트, 사용자 상호 작용 로그 예 : 신청서를 열거 나 다른 사람에게 전화하십시오. - Strace : 커널 레벨에서 시스템의 "시스템 호출"을 얻을 수 있습니다. 많은 정보가 있지만 "정상적인 행동 패턴"을 설정하는 방법을 모르겠습니다. 미리 감사드립니다. –

답변

0

이 가능한 경우 내가 궁금해 ...

어떻게 행동이 응용 프로그램에 대한 정상인지 속도로 하시겠습니까? 특정 앱이하는 모든 일이 기록되고 (처음에는 루트 액세스없이 가능하다면) "앱 단계"를 계획하고 그 앱의 "정상적인 동작"의 "프로필"로 저장합니까?
응용 프로그램의 모든 동작을 기록한다고 가정 해 보겠습니다. 홈 화면에 아이콘을 구성하는 도구. 이제이 응용 프로그램이 좋아하는 연락처 중 하나를 직접 호출하는 기능을 제공한다고하면 연락처에 액세스하고 phonecall을 만들 수있는 권한이 필요합니다. 이 기능을 거의 사용하지 않는 경우,이 앱의 "학습"기간 동안 앱을 녹음하지 않고 전화를 걸면 악성 앱으로 평가할 수 있습니다.
그리고 "정상적인 동작"을 아직 결정하지 않았기 때문에 앱이이를 감지 할 수없는 "학습 단계"에서 악의적 인 행동을 보여 준다면 어떻게 될까요?

"정상적인 동작"과 같은 소리는 설치하기 전에 앱을 평가하기 위해 어딘가에 저장해야하며 별난 행동을 시작하거나 원치 않는 동작을 수행합니다. 하지만 또 다시 : 한 사용자에게 좋을 것이 무엇이 다른 사람에게는 완벽 할 수 있습니다 ...

나는 사람들이 생각하는 멋진 솔루션에 관심이 있습니다. 그러나 이것은 어려운 것일 것입니다 ...

+0

내 석사 'Thesys'의 계획 보고서를 통해 내가 아무도 아이디어를 모방하지 않는다는 것을 항상 알고 있기 때문에, 당신에게 제공 할 수 있습니다 :). –

+0

나는 당신의 회의론을 이해합니다. Strace와 Logcat에서 수집 한 Android Raw 데이터 (trustfull 앱과 구체적인 최종 버전)를 사용하여 프로그램의 주요 기능을 필터링하려고합니다. 이 변환 된 데이터를 데이터 마이닝 알고리즘과 함께 사용하여 규칙 또는 패턴을 검색합니다. kmeans와 같은 클러스터링 알고리즘을 사용하여이 정보를 클러스터링하려고했습니다. 마지막으로 응용 프로그램을 테스트하기 위해 동일한 응용 프로그램을 사용하지만 자체 작성된 맬웨어를 사용합니다. 모든 것이 잘 작동하면 프로그램은 이상 및 악성 프로그램을 탐지 할 수 있습니다. –

+0

이제 내가 가지고있는 주된 문제는 strace의 원시 데이터가 너무 많아서 어떤 것이 중요하고 어떤 것이 중요하지 않은지 결정해야한다는 것입니다. 어떤 제안이라도 –

3

당신은 항상 문제가 악성 응용 프로그램 동작 결정해야합니다 : Kymie M.C. Tan, Roy A. Maxion, ""Why 6?" Defining the Operational Limits of Stide, an Anomaly-Based Intrusion Detector," sp, pp.188, 2002 IEEE Symposium on Security and Privacy, 2002

을하지만 당신이 정말로 시도 할 경우, 아마도 출발점은 여기에 있습니다 : 당신이 오히려 안드로이드 처음에 장난 전화의 세트를 사용하는 경우 어떤 "Intrusion Detection Using Sequences of System Calls." S. Hofmeyr, S. Forrest, and A. Somayaji Journal of Computer Security Vol. 6, pp. 151-180 (1998)

0

정상적인 프로파일 링보다.

또한, 당신이 감독 분류를 사용하는 경우, 그것은 보통 사람들이 행동의 자신의 세트를 결정하는 순서에 대해 살펴 무엇 윈도우의 API를 들어

+0

이것은 정말로 코멘트 다 - 대답이 아니다 – Caribou

0

를 분류하는 데이터의 종류 모르는, 주를 가지고. 안드로이드 플랫폼에서 수행 된 논문/연구를 찾을 수 있습니다.