본문 바로가기

디지털포렌식(Digital forensic)

안드로이드 데이터 공유 프로토콜, CP

반응형

 


안드로이드 모바일기기에 설치된 서로 다른 여러 종류의 앱들 간에

데이터 공유를 위해서는 '데이터 공유 프로토콜'이 존재한다.

 

이것을 컨텐츠 프로바이더(Content Privider, CP)라고 한다.

 

예를 들어 카톡이 저장된 주소록을 동기화한다든가
웹사이트 인증에 카톡 인증서를 사용한다든가 하는 식으로 사용된다.

CP를 사용해 사용자의 데이터를 수집하는 방법은 국내에서는 불법이다.

해외 모바일 포렌식에서는 Cellebrite UFED나 Micro Systemation XRY 같은

수집 기능을 사용해서 이 기능을 사용할 수 있다.

 

하지만, 악용하면 악성앱에서 사용된다. 

스미싱이나 스파이앱들이 이 방식을 사용해서 연락처, 문자, 통화내역, 이미지파일,

동영상 파일을 탈취해서 연결된 인터넷을 이용 외부 서버로 전송하여 악용한다.

 

 

ContentProvider에서 공유할 수 있는 데이터는

데이터베이스(DB), 파일(File), SharedPreference 3가지가 있다.

일반적으로는 ContentProvider는 CRUD 동작을 기본으로 하고 있기떄문에

데이터베이스가 주로 사용된다.

 

CP와 관련된 클래스는 3가지가 있다.

  • AbstractThreadedSyncAdapter
  • CursorAdapter
  • CursorLoader

 

 

CP는 위 그림과 같이 동작한다.

 

1. 데이터 스토리지(내부 데이터)를 다른 앱(Other app)들과 공유한다.

2. 위젯(Widgets)에 데이터를 전송한다.
3. Search(검색)에 접근가능하다.
4. 앱과 서버의 데이터를 Sync(동기화) 할 수 있다.
5. CursorLoader를 이용하여 데이터를 불러올 수 있다.

 

728x90