ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (2014) 트위터 사용 흔적 분석에 관한 연구
    Solar Beam 2023. 7. 29. 00:46

    1. 소스

    reference : https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE07206250 

     

    트위터 사용 흔적 분석에 관한 연구 | DBpia

    류기환, 이상진 | 디지털포렌식연구 | 2014.12

    www.dbpia.co.kr

     

    2. 정리

    1. 트위터 사용 흔적을 연구하기 위한 테스트 환경은 아래와 같다.
     : (iOS 7.0.4) iphone, ipad
     : (android 4.1.2) Galaxy Note, Note 2, S2
     : (PC) windows 8, internet explorer
     : (twitter version) iOS - 5.13.1  /  Android - 5.0.4

     

    2. (수집) PC, 모바일 별로 트위터의 아티팩트를 수집할 수 있다.
     : (PC) 크리덴셜을 이용하여 트위터에 로그인 후, "내 트위터 기록" 기능 을 통해 데이터 수집한다.
     : (Android) 루팅 후 앱 패키지 하위의 0-3.db, global.db, [userID]-3.db를 수집한다.
      : /data/data/com.twitter.android/databases 하위에 위치
     : (iOS) itunes backup protocol을 이용하여 com.atebits.Tweetie2.plist 등 파일을 수집한다.
      : i) Library/Preferences/com.atebits.Tweetie2.plist

      : ii) Documents/com.atebits.tweetie.application-state/app.acct.[ID].typeahead_users.1

      : iii) Documents/com.atebits.tweetie.application-state/app.acct.[ID].discover.#

     

    3. (분석) PC, 모바일 별로 수집한 아티팩트를 분석하는 방법은 다음과 같다.
     : (PC) 트윗 히스토리인 tweets.zip을 다운 받아 json, csv, html 포맷의 파일들을 분석한다.
      : index.html은 연, 월별로 트윗 기록을 보여준다.
      : tweets.csv와 data/js 하위의 json 파일들은 userid, id 등 상세한 정보를 담고 있다. 
      : tweet_index.js과 user_detail.js 파일에도 각각 트윗 갯수나 사용자 정보가 확인된다.
     : (Android) [userID]-3.db의 users, message, statuses 테이블에서 의미있는 정보가 발견된다.
      : users 테이블에는 userID, 사용자 ID, 닉네임, 사용자 설명, 팔로워 수, 팔로잉 수, 트윗 개수 등 확인된다
      : message 테이블에서는 1:1 메세지 관련 정보로 메세지 내용, 시간값, 수신확인 등 알 수 있다.
      : statuses 테이블에는 사용자의 홈 타임라인에 등록되는 트윗에 대한 정보로, 사용자 ID, 트윗 내용, 사용한 OS 정보, 트윗 시간 등이 저장된다.
     : (iOS) 수집한 각 파일에서 의미있는 정보가 확인된다.
      : plist 파일은 사용자의 ID, userID, 마지막 업데이트 시간, 디바이스 정보 등이 확인된다.
      : app.acct.[ID].typeahead_users.1에는 팔로잉한 사용자와 추천하는 사용자 정보가 저장된다.
      : app.acct.[ID].discover.#에는 사용자의 발견하기 기능에서 확인한 트윗 정보를 알 수 있다.

     

    4. 삭제된 트위터 데이터를 수집하는 방법은 3가지가 있다.
     : (팔로워) 모바일의 경우, 사용자가 트윗을 삭제하더라도 팔로워들의 타임라인에 글이 공유되어 남을 수 있다.
     : (DB) android의 경우, SQLite 파일 포맷의 특성을 이용하여 삭제된 데이터를 복구한다.

      : SQLite의 페이지는 "page header - cell pointer array - unused area - cell contents area" 순으로 구성된다.
      : SQLite는 여러 페이지로 구성되고, 페이지는 레코드 단위로 저장된다. 페이지의 뒷부분부터 레코드가 저장되는데, 이 영역이 Cell Contents Area이다. Cell Contents Area의 레코드를 가리키는 오프셋 값은 Cell Pointer Array에 저장된다. 이 사이에는 Unused Area가 존재하는데 이곳에 삭제된 데이터가 남아 있을 수 있으므로, Cell Pointer Array에서 가리키고 있지 않으면서 데이터가 0이 아닌 데이터를 확인하여 레코드를 복구할 수 있다.

     : (File System) Android의 경우, ext4 파일시스템의 free space을 수집하여 DB 레코드를 복구한다.
      : 즉, 미할당영역에서 DB 레코드 형식의 데이터를 복원하는 것으로, busybox, frag_insight 툴을 이용한다.

Digital Forensics