안드로이드 애플리케이션의 메타데이터를 보는 구조 분석은 소프트웨어가 실제로 하는 일에 대해 매우 제한된 시각으로 바라보는 것이다.
정적 분석은 이론적으로는 완전한 코드 커버리지를 통해 악의적인 행위를 발견할 수있지만 때로는 크고 복잡한 애플리케이션을 처리할 때 비현실적으로 높은 리소스 비용이 발생한다. 또한 정적 분석은 매우 비효율적일 수 있다.
서로 다른 범주의 바이너리(예: 악성코드, 정상/악성)를 구별하는 가장 강력한 속성은 바이너리에서 일부분에 존재하기 때문입니다.
단일 코드 블록을 찾기위해 바이너리 코드 블록 100개를 분석하는 것은 상당한 낭비입니다.
프로그램을 실행하면 풍부한 데이터를 생성할 수 있는 효율적인 방법이 될 수 있습니다.
애플리케이션에서 모든 코드 경로가 실행되지는 않더라도 다른 범주에 속하는 악성 코드 바이너리는 무언가 다른 부작용 행위를 할 수 있습니다. 바로 이러한 점을 관찰해 분류를 위한 속성을 추출할 수 있습니다.
실행 파일의 부수 효과를 정확하게 파악하려면 샌드박스에서 악성코드를 실행하는 것이 좋습니다.
악성코드 분석 시 찾아야 할 가장 명백한 실행 부수 효과는 네트워크 동작 행위입니다.
많은 악성 애플리케이션은 C&C 서버로부터 명령을 받거나 도난 당한 데이터를 추출하거나 원치 않는 콘텐츠를 제공하기 위해 외부 통신을 필요로 합니다.
애플리케이션 실행 중에 네트워크 동작을 관찰해 이러한 불법적인 통신을 엿볼 수 있으며, 애플리케이션의 탐지 시그니처를 생성할 수 있습니다.











p.appbrain.com 및 alog.umeng.com에 대한 요청은 무해한 광고 트래픽
Umeng 및 AppBrain은 모바일 앱 광고 네트워크)처럼 보이지만 POST 요청 http://35.205.61.67:7070은 상당히 의심스럽습니다.

해당 패킷의 호스트 이름과 요청 본문을 확인해보면 jxyxintel.slhjl.com:7070은 C&C 서버처럼 보입니다.
악성코드 샘플의 최신 및 현재 상태에 따라 C&C 서버가 계속 활성화 될 수도 있고 활성화되지 않을 수도 있습니다.
아웃바운드 요청에는 응답이 없으므로 서버가 더이상 활성상태가 아닙니다. 이런 경우 악성코드 분류 속성에 포함될 수는 없습니다. 게다가 네트워크 프로파일링 외에도 안드로이드 애플리케이션의 몇 가지 다른 행동 부작용이 분류 속성을 사용하는 데 더 유용합니다.
'Security > AI' 카테고리의 다른 글
| 머신러닝을 활용한 악성코드 분석 - 악성코드 분석(동적 방법 - 행위 분석 - 2) (0) | 2022.03.21 |
|---|---|
| 안드로이드 스튜디오 설치(우분투) (0) | 2022.03.14 |
| 머신러닝을 활용한 악성코드 분석 - 악성코드 분석(정적 방법 - 정적 분석) (0) | 2022.02.08 |
| 머신러닝을 활용한 악성코드 분석 - 악성코드 분석(정적 방법 - 구조 분석) (0) | 2022.01.27 |
| 머신러닝을 활용한 악성코드 분석 - 일반적인 악성코드 공격의 흐름 (0) | 2022.01.24 |