본문 바로가기

Security_News/해외보안소식

안드로이드 대상 정교한 부트킷 발견

728x90

개요

  • 중국 보안 연구업체 ‘360 Mobile Security’에서 은폐기법(stealth technique)을 갖춘 안드로이드 부트킷(Bootkit) 악성프로그램 ‘Oldboot B’을 발견
    ※ Stealth technique : 악성코드 실행 시 자신의 존재를 숨겨 백신이나 사용자의 발견 또는 제거를 어렵게 하는
        기법

주요 내용

  • Oldboot.B의 특징
    - 백그라운드에서 자동으로 악성 앱 설치
    - 시스템 프로세스에 악성모듈 주입
    - 악성 코드 앱 제거 방지
    - 모바일 안티 바이러스 앱 제거 및 비활성화
    - 구성파일을 이미지로 숨기는 스테가노그래피(steganography) 기술 사용

이미지로 구성 파일을 숨기는 스테가노그래피 기술

< 이미지로 구성 파일을 숨기는 스테가노그래피 기술 >

  • Oldboot.B의 감염 및 실행경로
    - 안드로이드 장치가 Oldboot Trojan에 감염되면, 지속적으로 소켓을 리스닝하여 공격자의 C&C 서버에서 받은
      명령을 실행함
    ※ 소켓 : 네트워크의 연결도구이며 OS에 의해 제공되는 소프트웨어적 장치
    ※ 리스닝 : 소켓을 서버에 연결요청을 받을 수 있도록 하는 함수
    - 악성코드는 스테가노그래피를 통해 암호화된 문자열을 이루며, C&C 서버에서 다운받은 실행코드와 구성
      파일을 포함하는 몇 가지 숨겨진 ELF 바이너리를 가짐
    - 설치 후 Oldboot Trojan은 악성코드 실행으로 감염된 디바이스에, 사용자가 설치하지 않은 다른 악성 
      안드로이드 앱이나 게임을 설치함
  • Oldboot.B의 구조 및 감염경로

Oldboot.B의 구조
< Oldboot.B의 구조 >

- (boot_tst) 지속적으로 소켓 listen과 전송 명령을 실행하기 위해 SO파일과 JAR파일을 안드로이드 시스템의
   system_server 프로세스로 원격 주입하는 기술 사용

boot_tst 동작 과정

< boot_tst 동작 과정 >


- (adb_server) 안드로이드 시스템의 pm script를 교체하여 악성코드 제거 방지

안드로이드 운영체제의 pm script 교체

< 안드로이드 운영체제의 pm script 교체 >

- (meta_chk) 악성코드 구성파일은 업데이트 및 다운로드되어 백그라운드에 실행되며, 구성파일은 암호화되어 분석에
  많은 시간 소요
- 악성코드의 발견을 막기 위해 meta_chk는 파일 시스템에서 삭제되고, 안드로이드 바이러스 백신프로그램은 Oldboot
  Trojan을 찾아내거나 삭제할 수 없게 됨

meta_chk 동작 프로세스

< meta_chk 동작 프로세스 >

- (agentsysline) C++프로그래밍 언어로 작성된 모듈이 C&C 서버로부터 명령을 수신하기 위하여 백그라운드에서
   daemon프로그램으로 실행
※ daemon: 주기적인 서비스 요청을 처리하기 위해 계속 실행되는 프로그램
- 이는 바이러스 백신 소프트웨어의 실행을 막고 특정 파일을 삭제하며 네트워크 연결을 막는 등의 기능을 수행

 


[출처]
1. http://thehackernews.com/2014/04/most-sophisticated-android-bootkit.html

 

작성 : 침해사고대응단 침해대응기획팀

728x90