Syncany 기반 클라우드 빅데이터 저장소 포렌식 가이드
초록
본 논문은 오픈소스 개인 클라우드 스토리지인 Syncany에서 남는 디지털 잔여물(artefacts)을 체계적으로 조사한다. 파일 메타데이터, 로그, 데이터베이스, 캐시 및 암호화 키 등 다양한 포렌식 가치가 있는 흔적을 식별하고, 이들의 저장 위치와 복구 방법을 제시한다. 연구 결과는 Syncany 기반 클라우드 환경에서 사건 조사 시 증거 수집·분석 시간을 크게 단축시킬 수 있음을 보여준다.
상세 분석
Syncany는 Java 기반의 분산 파일 동기화 및 백업 솔루션으로, 플러그인 아키텍처를 통해 다양한 백엔드(예: S3, WebDAV, FTP 등)에 데이터를 저장한다. 이러한 구조적 특성은 포렌식 조사 시 여러 계층에서 잔여물을 남기게 만든다. 논문은 먼저 Syncany의 핵심 구성 요소—클라이언트 애플리케이션, 로컬 캐시 디렉터리, 메타데이터 데이터베이스(.syncany), 그리고 원격 저장소—를 상세히 분석한다.
-
로컬 캐시와 작업 디렉터리
~/.syncany혹은 사용자 지정 디렉터리 아래에cache/,logs/,plugins/등이 생성된다.cache/에는 파일 블록의 해시값과 실제 블록 파일이 저장되며, 파일 복구 시 블록 재조합에 활용될 수 있다.logs/에는 동기화 작업, 오류, 인증 시도 등이 시간 순서대로 기록된 로그 파일(syncany.log)이 존재한다. 로그에는 사용자 ID, IP 주소, 전송된 파일명 및 크기 등 사건 재구성에 핵심적인 정보가 포함된다.
-
메타데이터와 데이터베이스
.syncany디렉터리 안에db/폴더가 있으며, 여기에는 SQLite 기반의syncany.db가 존재한다.- 데이터베이스 스키마는
files,folders,versions,chunks테이블로 구성되어, 파일 경로, 해시, 버전 히스토리, 삭제 여부 등을 기록한다. - 특히
chunks테이블은 각 파일 블록의 SHA-256 해시와 원격 저장소에 저장된 위치(URL)를 매핑한다. 이를 통해 원격 서버에 남아 있는 실제 데이터와 로컬 메타데이터를 교차 검증할 수 있다.
-
플러그인 설정 및 인증 정보
plugins/디렉터리에는 사용된 백엔드 플러그인의 설정 파일(*.properties)이 저장된다. 여기에는 접근 키(access key), 비밀 키(secret key), 엔드포인트 URL 등 민감한 인증 정보가 평문 혹은 약한 암호화 형태로 포함될 수 있다.- 일부 플러그인은 Java KeyStore(JKS) 파일을 사용해 인증서를 관리한다. 포렌식 분석가는 JKS 파일을 추출하고, 키스토어 비밀번호를 크래킹하거나 복구함으로써 원격 저장소에 직접 접근할 수 있다.
-
원격 저장소와 데이터 잔여물
- Syncany는 파일을 블록 단위로 분할해 원격 백엔드에 업로드한다. 원격 저장소에 남는 파일은 블록 해시값을 파일명으로 하는 객체 형태이며, 원본 파일명은 메타데이터에만 존재한다.
- 따라서 원격 측면에서 증거를 확보하려면, 로컬 메타데이터와 블록 해시를 매핑해 블록을 재조합해야 한다. 이는 특히 삭제된 파일이 여전히 블록 형태로 남아 있는 경우에 유용하다.
-
삭제 및 정리 메커니즘
- Syncany는 파일 삭제 시 메타데이터에
deleted플래그를 설정하고, 실제 블록은 즉시 삭제하지 않는다. 가비지 컬렉션이 주기적으로 실행돼 일정 기간이 지난 블록을 영구 삭제한다. - 포렌식 관점에서 이 시점은 중요한데, 삭제 직후에 수집하면 블록을 복구할 가능성이 높다. 반면 가비지 컬렉션이 진행된 후에는 블록이 영구 소멸되어 복구가 불가능해진다.
- Syncany는 파일 삭제 시 메타데이터에
-
시간 동기화와 타임스탬프
- 로그와 데이터베이스 모두 UTC 기반 타임스탬프를 사용한다. 그러나 로컬 파일 시스템은 사용자의 로컬 타임존을 반영한다. 이 차이를 고려해 타임라인을 재구성해야 한다.
-
법적 증거 보존 및 무결성 검증
- SQLite 데이터베이스 파일은 SHA-256 해시를 통해 원본 무결성을 검증할 수 있다. 또한, 블록 해시와 원격 객체 해시가 일치하는지 확인함으로써 데이터 변조 여부를 판단한다.
본 논문은 위와 같은 다층적 잔여물 분석 프레임워크를 제시한다. 조사자는 먼저 로컬 디스크에서 ~/.syncany 디렉터리를 이미지화하고, 파일 시스템 메타데이터와 함께 로그, 캐시, 데이터베이스를 추출한다. 이후 SQLite 파싱 도구를 이용해 메타데이터를 구조화하고, 블록 해시를 원격 백엔드와 매칭한다. 마지막으로 플러그인 설정 파일에서 인증 정보를 복구해 원격 저장소에 직접 접근, 블록을 재조합해 삭제된 파일을 복원한다. 이러한 절차는 기존에 “전체 클라우드 서비스 제공자에 의존하는” 접근 방식보다 현저히 빠르고 비용 효율적이며, 증거 보전의 법적 타당성을 높인다.
댓글 및 학술 토론
Loading comments...
의견 남기기