I. 서론
1.1 배경
2019년 말 이후, 세계적으로 코로나19가 유행함에 따라 많은 기업이 사원들의 안전을 위해 재택근무를 도입하였다. 재택근무 기간이 길어지면서, 기업은 사무 공간의 제약 없이도 업무를 효율적으로 수행할 방법을 모색하게 되었고, 그 결과 협업 도구를 도입하게 되었다. 협업 도구란 온라인상에서 효율적인 협업을 수행할 수 있도록 돕는 소프트웨어이다. 프로젝트나 업무를 관리하고 추적해 생산성을 향상하고 개인 또는 팀 간의 커뮤니케이션을 원활하게 할 수 있는 기능을 제공한다.
2023년 3월 인크루트에서 진행한 설문조사에 따르면 응답자의 87.0%가 엔데믹 이후 사무실로 복귀하더라도 업무의 보완재 역할을 수행할 수 있는 비대면 협업 도구의 시장 규모가 더 커질 것이라고 답하였다[1]. 그리고 시간이 지난 2024년 현재, 잔디는 2019년 대비 4배의 성장 및 2014년 설립 이후 첫 월간 흑자를 달성하였다[2]. 협업 도구는 사용자의 권한을 기반으로 팀원들끼리 소통할 수 있도록 하는 실시간 채팅 기능, 프로젝트 달성을 돕는 캘린더 업무 관리 기능, 업무 중 자유롭게 자료를 저장하거나 공유할 수 있는 드라이브 기능, 협업 도구를 사용하면서 축적된 데이터를 활용하여 활용도를 평가하는 기능이 존재한다. 이렇게 생성된 활동 데이터는 디지털 포렌식 관점에서 의미 있는 내용을 포함하고 있다. 예를 들어 조직 내에서 발생한 부정행위나 성희롱, 기업의 기술 유출 등과 같은 범죄 사건이 발생했을 때, 협업 도구에서 수집된 정보는 증거로 사용될 수 있다. 이러한 이유로 그동안 협업 도구를 대상으로 한 연구는 활발히 진행되었다.
특히 해당 연구들은 로컬 환경에서의 사용자 행위를 기반으로 생성되는 주요 로컬 아티팩트를 획득하는 것에 중점을 두었다. 따라서 본 논문에서는 로컬 환경에서 데이터를 저장하지 않는 협업 도구를 수사할 때, 정보를 얻을 수 있는 다른 방식을 제안한다. 또한 본 연구에서 분석한 협업 도구 잔디는 기존에 안드로이드 환경에서 디지털 포렌식 분석 연구가 진행되었지만, 윈도우 환경에서의 분석 연구는 아직 부족한 상황이다. 이에 본 연구는 이전에 분석 연구가 진행되지 않은 잔디를 대상으로 주요 데이터를 획득하는 방법과 획득한 데이터를 분석하는 연구를 진행하였다. 로컬 환경에 주요 데이터를 저장하지 않는 어플리케이션의 경우, 디지털 수사 시 로컬 아티팩트에서 획득 가능한 데이터에 한계가 존재한다. 하지만 사용자의 크리덴셜 정보를 이용한 API 요청 재구성을 통해 어플리케이션의 클라우드 서버에서 직접적으로 디지털 수사에 필요한 주요 데이터를 획득할 수 있다. 본 논문의 구성은 다음과 같다. 2장에서 잔디의 로컬 아티팩트를 분석하였다. 해당 과정에서 수집하는 방법을 상세히 설명하였으며 잔디의 기능 및 권한에 대하여 표로 정리하였다. 3장에서는 시나리오를 제시한 후 API 요청 재구성을 통한 데이터 수집 및 분석 과정을 설명하였다. 잔디는 로컬 아티팩트에 의미 있는 데이터가 존재하지 않아 API 요청 재구성을 통해 포렌식적으로 의미 있는 정보를 추출할 수 있었다. 먼저 주요 API를 식별하고 해당 API를 이용하는 방법을 상세하게 작성하였다. 마지막으로 데이터 획득을 위한 순차별 API 요청 재구성을 통해 실질적으로 대화방의 내용을 재구성하여 전체적인 흐름을 파악할 수 있도록 하였다, 마지막으로 4장에서는 결론으로 마무리하였다.
1.2 관련 연구
협업 도구와 관련된 다양한 디지털 포렌식 분석 연구가 진행되었다. 김성수 등 1인은 Electron 프레임워크를 사용한 어플리케이션인 잔디, 슬랙, 마이크로소프트 팀즈의 웹 브라우저 저장소 속 데이터를 구조분석하고 이를 바탕으로 메시지를 획득하는 방법을 연구하였다[3]. 신수민 등 4인은 국내 협업 도구 중 사용량이 많은 잔디와 네이버 웍스를 대상으로 안드로이드 환경에서의 사용자 행위와 관련된 주요 정보를 파악하고, 삭제된 메시지의 복구 가능 여부를 확인하였고 채팅방을 재구성하여 포렌식적 활용 방안을 제시하였다[4]. 신수민 등 4인은 인스턴트 메신저 중 슬랙과 Discord를 분석하여 모바일 어플리케이션과 PC 프로그램에서 주요 아티팩트의 위치를 파악하고 정리하였다. 또한, 포렌식적으로 활용될 수 있는 시나리오와 방안을 제시하였다[5]. 김영훈 등 2인은 마이크로소프트 팀즈를 대상으로 윈도우 및 안드로이드 환경에서 포렌식 연구를 진행하여 주요 사용자 행위와 아티팩트 분석을 진행하였다[6]. Herschel Bowling 등 3인은 윈도우 10 운영 체제와 안드로이드 및 애플 iOS 모바일 운영 체제에서 마이크로소프트 팀즈의 아티팩트를 수동 조사 방법과 자동 조사 방법으로 획득하였다. 자동 조사 방법에서 아티팩트 획득에 사용한 도구는 Cellebrite UFED Physical Analyzer와 Magnet AXIOM Examine 이였으며, 결과적으로 수동 조사를 통해 77.6%의 아티팩트가 부분적 또는 완전하게 복구되었고 도구를 통해서는 13.8%만 복구됨을 확인하였다[7]. 박귀은 등 3인은 iOS 환경에서 네이버웍스와 잔디의 주요 아티팩트를 정리하고, 삭제된 데이터에 대한 사용자 행위별 삭제 여부와 삭제된 데이터의 복구 방안을 제시하였다. 또한 크리덴셜 데이터를 활용하여 어플리케이션에 따른 데이터 우회 획득 가능성 유무를 확인하였다[8]. Farkhund Iqbal 등 4인은 윈도우 10과 리눅스의 Google Chrome, Mozilla Firefox, Microsoft Edge 브라우저에서 실행되는 Google Meet의 데스크탑의 메모리와 브라우저에서 얻을 수 있는 아티팩트를 정리하고, 메모리 아티팩트 추출 도구를 개발하였다[9]. Zainab Khalid외 4인은 마이크로소프트 팀즈에 대한 메모리 분석으로 아티팩트를 추출하고, 윈도우 레지스트리를 분석하여 사용자 계정 정보, URL 연결 정보 등을 추출하였으며, Wireshark와 Network Miner를 사용하여 마이크로소프트 팀즈의 네트워크 트래픽을 분석하였다[10]. Megan Davis등 3인은 리눅스 OS 상에서 Discord와 슬랙에 대한 스냅샷을 찍고 해당 스냅샷에 대한 메모리 포렌식 분석을 통해 이메일, 사용자 계정 정보 등 의미 있는 정보를 식별하였다[11].
1.3 분석 환경 및 대상
본 논문은 윈도우 환경에서 동작하는 잔디를 대상으로 아티팩트 및 데이터 획득 방법을 분석하였다. 이 과정에서 사용된 분석 도구 및 환경, 분석 대상 협업 도구와 분석에 사용한 소프트웨어는 Table 1.와 같다.
Table 1. Analysis environment and tools

잔디는 1.7.6버전을 대상으로 분석하였으며 요금제는 가장 높은 ENTERPRISE 요금제를 사용하였다. 협업 도구 분석은 윈도우 10 pro 환경의 데스크 탑에서 진행하였고, 아티팩트 분석을 위해 데이터베이스 파일은 DB Browser for SQLite를 사용하여 확인하였으며[12], 로우 데이터 확인을 위해 HxD를 사용하였다[13]. 또한 캐시 형식의 데이터를 분석하기 위해 ChromeCacheView를 사용하였으며[14]. levelDB 형식의 데이터를 DB 형식으로 변환하기 위하여 cclgroupltd에서 제작한Chromium_dump_local_storage.py를 사용하였다[15]. 또한 잔디의 API를 분석하기 위하여 프록시 도구인 Fiddler를 사용하였다[16]. 그리고 메모리에서 데이터를 덤프하기 위해 winPmem을 사용하였다[17].
II. 협업 도구 잔디의 데이터 수집 및 분석
2.1 협업 도구 기능
협업 도구는 조직의 업무를 돕기 위해 만들어진 도구이다. 따라서 조직 내에 권한이 존재하듯 조직이 사용하는 사용자 권한을 제공하며 Table 2.와 같이 사용자를 분류한다.
Table 2. JANDI's permission classification

잔디의 권한은 팀 소유자, 팀 관리자, 정회원, 준회원으로 나뉜다. 관리자로 분류되는 팀 소유자와 팀 관리자는 공통으로 팀 관리 및 컨텐츠 관리를 수행할 수 있다. 팀 소유자는 추가적으로 소유자 권한 이양 및 팀 삭제에 대한 권한을 갖는다. 일반 사용자로 분류되는 정회원 및 준회원은 일반 사용자 컨텐츠에 참여할 수 있다는 공통점이 존재하지만, 준회원은 초대된 컨텐츠에만 접근이 가능하다는 제약이 존재한다. 잔디의 권한 중 관리자 권한인 팀 소유자와 팀 관리자는 다른 권한은 사용할 수 없는 관리자 메뉴를 사용할 수 있으며, 그 내용을 정리한 표는 Table 3.과 같다.
Table 3. JANDI's manager function

멤버 관리에서는 전체 멤버를 조회할 수 있으며, 멤버별 관리 설정을 할 수 있다. 팀 관리에서는 전체 그룹에 대한 설정 및 1:1 대화 삭제 허용 여부 등 팀에 일괄 적용되는 설정이 가능하다.
잔디의 일반 사용자가 사용할 수 있는 기능은 Table 4.와 같다. 잔디의 메신저 기능은 채팅과 토픽으로 구성되어 있다. 채팅과 토픽의 차이는 대화의 주제 유무, 참여 가능 멤버 수 이다. 토픽은 주제별 대화방이며 공개 토픽일 경우 모든 정회원 멤버가 참여 가능하고, 비공개 토픽일 경우 초대를 받아야만 참여할 수 있다. 또한 비공개 토픽은 다른 멤버에게 공개되지 않는데, 초대받지 않았다면 팀 관리자이더라도 열람하거나 검색할 수 없다. 채팅은 대화의 주제가 존재하지 않는 자유로운 대화방으로 최대 10명과 대화할 수 있으며 준회원과도 대화가 가능하지만, 정회원 멤버의 초대를 통해야만 한다. 또한 팀 관리자이더라도 참여하지 않은 채팅을 열람하거나 검색할 수 없다. 드라이브를 통한 파일 공유 및 캘린더 및 할 일 기능을 통해 일정을 작성할 수 있다. 투표 기능을 통해 그룹 내 인원 간 특정 주제에 대해 투표가 가능하며 워터마크 기능을 통해 잔디를 통해 출력하는 출력물을 대상으로 워터마크가 적용된다. 모든 기능은 웹과 클라이언트에서 동일하게 사용이 가능하다.
Table 4. JANDI’s general user features

2.2 로컬 아티팩트
윈도우 10 OS를 사용 중인 PC의 'C:\Users\[USERNAME]\AppData\Roaming\JANDI' 경로에는 잔디 어플리케이션의 아티팩트가 존재한다. 해당 경로에는 잔디가 동작하는 과정에서 생성되는 여러 종류의 데이터가 저장되어 있었으며, 본 연구에서는 해당 데이터들을 파일 유형별로 세밀하게 분류하였다. 각 파일 유형별 특성에 맞추어 적절한 분석 방법을 통해 데이터를 확인하였고, 이를 통해 잔디의 아티팩트 저장 구조를 확인하였다.
잔디는 클라이언트 설치 후 동작 시 Fig. 1.과 같은 형태로 어플리케이션 데이터가 생성된다. 해당 경로에서 획득할 수 있는 디지털 포렌식 관점에서 의미있는 데이터는 Cache와 Local Storage 하위에 존재한다. 먼저 Cache 폴더를 확인하기 위해서 ChromeCacheView라는 도구를 활용하여 캐시 폴더 내의 정보를 확인하였다. Cache 폴더에는 회사의 로고와 1대1 채팅방, 그룹 채팅방, 잔디에서만 존재하는 그룹 채팅방인 토픽 등 다양한 종류의 채팅방에서 주고받은 사진들의 썸네일이 존재하였으며, 해당 내용에 대해 획득한 썸네일과 실제 잔디 내의 환경 및 채팅방별로 상세하게 정리한 그림은 Fig. 2.와 같다. 사진들의 확장자는 .jfif 또는 .png이며 모든 사진은 “640”이라는 동일한 이름으로 존재하였다. 다음으로, Local Storage는 LevelDB 파일 형식으로 저장되어 있으며, 이를 분석하기 위해 오픈소스 파싱 도구인 Chromium_dump_local_storage.py를 활용하여 SQLite 형식의 DB로 추출하였다. 그리고 DB Browser for SQLite 도구를 사용하여 데이터의 내용을 시각적으로 확인하여 데이터를 식별하였다. 해당 DB에서 중요한 테이블은 "records_view"였으며, 해당 테이블에서 얻을 수 있는 정보는 Table 5.과 같다. storage_key 컬럼의 팀도메인은 잔디의 관리자 메뉴 속 팀 관리 탭의 팀도메인 변경 항목의 웹 주소와 동일하다. value 컬럼의 내용은 3장의 주요 API 분석을 통해 확인하였다. _jd_.team_name은 잔디에 로그인한 사용자의 팀명을 의미하며, 잔디 프로그램의 상단에 위치한 팀명과 동일하다. _jd_.team_id와 _jd_.member_id는 각각 잔디에 로그인한 사용자가 속해 있는 팀의 고유번호와 사용자의 고유번호를 의미한다. 이중 _jd_.member_id의 값은 API 요청 재구성을 위한 파라미터에 속하지는 않지만, 팀 내 멤버 개인을 구분하는 번호이기 때문에 API 응답 값 중 fromEntity, writerId 등으로 표현되는 고유번호를 식별할 때 송신자를 특정하는 증거로 사용할 수 있다.

Fig. 1. JANDI’s local artifact structure

Fig. 2. JANDI's Cache Data Identification
Table 5. Key data within local artifacts

III. API 요청 재구성을 통한 데이터 수집 및 분석
잔디에서 지원하는 협업 도구의 다양한 기능과는 달리, 메시지 내용과 공유된 파일 등 디지털 포렌식 관점에서 가치 있는 데이터를 서버에서 관리하기 때문에 로컬 데이터에서 획득할 수 없었다. 본 장에서는 협업 도구의 로컬 데이터에서 획득할 수 없는 부가적인 데이터 획득을 위해 잔디 클라이언트와 서버의 API 통신을 재구성하여 데이터를 획득하는 방법에 관해 설명한다. 이 과정에서 잔디의 API를 프록시 도구를 통해 세부적으로 분석한 뒤, 재구성에 필요한 주요 데이터를 획득하였다. 이후 최종적으로 클라이언트의 API 요청을 재구성하여 파일 다운로드 URL과 메시지를 획득했다. 마지막으로 단계별로 API를 사용하여 수집한 데이터를 이용해 대화 내용을 재구성했다.
3.1 주요 API 분석
잔디는 서버 측에서 데이터를 요청하여 클라이언트에서 재구성하는 방법을 사용하기 때문에 로컬에는 서비스를 제공하기 위한 최소한의 데이터만 존재한다. 따라서, 포렌식적으로 의미 있는 데이터를 획득하기 위해서는 서버에 저장된 데이터에 접근할 필요가 있다. 이를 위해 잔디가 서버 측에 데이터를 요청할 때 사용하는 API를 식별하고 주요 데이터에 접근할 수 있는 API 요청 재구성 방법에 대해 분석하였다. 웹 프록시 도구인 fiddler를 이용하여 분석한 잔디의 주요 API는 Table 6.와 같다.
Table 6. JANDI’s main API

최종적으로 채팅이나 파일을 얻기 위해서는 토큰, teamID, roomID, fileID가 필요하다. 사용자 토큰은 클라우드 서버에 데이터를 요청할 때 인가된 사용자임을 증명할 수 있는 인증 정보이다. teamID, roomID는 잔디의 팀 및 특정 채팅방에 대한 고유한 ID 값이며 fileID는 잔디 내에서 공유된 파일을 식별할 수 있는 고유한 ID 값이다. 이러한 인증 정보 및 고유 ID 값은 API 통신 시 HTTP 요청에 포함되어 인증 절차를 통과하거나, 특정 자원을 지칭하는 용도로 사용된다. 따라서 선행적으로 각 데이터를 획득하고 이를 이용한 올바른 요청을 구성해야 한다. 하지만 이러한 데이터는 바로 획득할 수 없기 때문에 다른 API와의 유기적인 연결이 필요하다. API-1은 토큰값과 특정 문자열을 이용하여 토큰 사용자의 teamID를 얻을 수 있다. 이렇게 얻은 teamID를 API-2에 토큰과 함께 사용하면 사용자가 참여 중인 모든 채팅방의 roomID를 얻을 수 있다. roomID는 API-3, API-4에서 사용되는 파라미터로 각각의 추가적으로 요구되는 파라미터와 사용시 API-3로부터는 채팅 내용을 재구성할 수 있는 데이터인 대화 내용, 채팅 시각, 작성자ID, 송/수신한 파일명 등을 얻을 수 있으며, API-4로부터는 API-5에서 요구되는 파라미터인 fileID를 얻을 수 있다. 토큰, fileID, teamID를 이용하여 API-5에 데이터를 요청할 경우 파일을 다운로드할 수 있는 URL을 얻을 수 있다. 위 내용을 직관적으로 구성한 그림은 Fig. 3.과 같다.

Fig. 3. Data acquisition procedure through API
잔디의 API 중 데이터 조회 및 다운로드에 사용되는 API에 대해 HTTP 요청을 재구성하면 잔디 서버에 있는 데이터를 가지고 올 수 있으며, 이렇게 획득한 데이터는 JSON 또는 파일 형태이고 암호화되어 있지 않다.
3.2 요청 재구성을 위한 파라미터 획득
잔디는 데이터를 조회 및 다운로드하는 API에 대해 HTTP 요청을 재구성하여 Table 7.과 같이 데이터를 획득할 수 있다.
Table 7. JANDI’s parameter acquisition path

API 요청에서 잔디는 사용자를 인증하기 위해 하나의 토큰을 사용하며, 이 토큰은 잔디 어플리케이션이 구동되고 있는 환경에서 메모리상에 존재하므로 메모리 덤프 도구를 사용하여 획득해야 한다. 메모리를 덤프하기 위해 오픈소스 메모리 획득 도구인 winPmem을 사용하였다. 해당 도구 사용 시 메모리 덤프 파일을 획득할 수 있는데 해당 파일을 분석하기 위해 HxD가 필요하다.
HxD로 덤프 된 메모리 데이터를 확인 시 Fig. 4.와 같이 ‘_jd_.access_token=’ 형태의 문자열을 확인할 수 있으며, 해당 문자열부터 세미콜론 앞까지 이어지는 문자열이 인증 토큰이다.

Fig. 4. Authentication token acquisition procedure
채팅 데이터와 송수신한 파일을 얻기 위해 Fig. 5.와 같이 먼저 획득한 인증 토큰과 API-1을 통해 사용자가 속해 있는 teamID를 획득해야 한다.

Fig. 5. Acquire teamID through API-1
이렇게 획득한 teamID와 인증 토큰을 사용하여 API-2를 통해 Fig. 6. 과 같이 사용자가 참여 중인 모든 채팅방의 roomID를 획득한다.

Fig. 6. Acquire roomID through API-2
이후 선행 과정에서 획득한 인증 토큰, teamID 및 roomID를 API-3에 대한 요청 시 활용하면 Fig. 7.과 같이 특정 채팅방에 대한 모든 채팅 데이터를 획득할 수 있다.

Fig. 7. Acquisition of conversation content through API-3
또한 인증 토큰과 teamID를 기반으로 Fig. 8.과 같이 API-4를 통해 사용자가 참여 중인 모든 대화방에서 공유된 파일 목록을 확인할 수 있다. 해당 과정에서 파일 리스트 데이터 내에 특정 파일의 fileID 또한 식별할 수 있다.

Fig. 8. Acquire file list through API-4
마지막으로 API-4에서 획득한 fileID를 사용하면 Fig. 9.와 같이 API-5를 통해 특정 파일에 대한 다운로드 URL을 획득할 수 있다.

Fig. 9. Acquisition of file download URL through API-5
3.3 가상 시나리오
국내 화장품 기업 A사의 연구원 김 실험은 신제품 스킨케어 개발 프로젝트의 핵심 인물로, 신제품에 들어갈 새로운 유효성분을 개발하고 있었다. A사는 보안이 철저하게 관리되는 회사였으며, 직원들은 출근 시 개인 스마트폰을 회사에 맡기고, 업무용으로는 회사에서 제공한 노트북만을 사용했다. 이 노트북에는 메신저 어플리케이션인 '잔디' 설치되어 있었고, 사내에서의 소통은 오직 잔디를 통해서만 이루어졌다. 그런데 2주 후, A사의 경쟁사인 B사에서 동일한 유효성분을 사용한 제품이 출시되었고, A사 내부에서는 기술 유출에 대한 의혹이 불거졌다. 특히, 김 실험과 친분이 있던 두 명의 동료(김 과제, 김 연구)가 최근 갑작스럽게 B사로 이직한 것이 의심스러웠다. 더욱이, 김 실험은 퇴사 직전 고급 승용차와 사치품을 구매하며 소비 패턴이 급격히 변했는데, 이또한 의혹을 키웠다. 하지만 김 실험의 노트북은 제출 당시 완벽하게 포맷된 상태였다. 그럼에도 불구하고 A사는 경쟁사로 이직한 김 연구의 노트북이 온전한 상태로 남아 있다는 것을 확인하고, 기술 유출의 단서를 찾기 위해 디지털 포렌식 조사를 의뢰한다.
3.4 데이터 수집을 통한 대화 내용 재구성
단계별로 API 요청을 재구성하여 필요한 파라미터를 획득한 후 대화 내용을 재구성해 보면 Fig. 10.과 같다. 그림 내 중앙에 연한 노란색 박스 즉 그림의 1번으로 표시된 사진의 모습은, 붉은색 박스 즉 그림의 2번으로 표시된 DFRAtest팀의 단체 대화방이다. 이 대화방은 주황색 박스 즉 그림의 3번으로 표시되어 있으며, 해당 대화방에서는 파란색, 초록색, 자주색으로 표시된 4번 5번 6번인 총 3명의 멤버가 대화하는 상황이다. 대화 요청 재구성을 위해 메모리로부터 얻은 토큰값과 API-1와 API-2를 재구성하여 얻은 teamID와 roomID를 이용하여 회색 박스 즉 7번으로 표시된 API-3로부터 대화 내용을 획득하였다. 이때 메모리에서 인증 토큰을 획득한 후 API 요청 재구성을 진행하기 때문에 타 시스템에서도 데이터를 획득할 수 있다. 대화방의 인물 중 하나인 파란색 박스로 표시된 4번 ‘김연구’와 관련된 대화의 내용은 진한 파란색 박스 즉 그림의 8번으로 표시하였으며 해당 대화가 오간 시간은 남색 박스 즉 그림의 9번으로 표시하였다. 이때 김연구는 2장에서 획득한 _jd_.member_id의 값과 fromEntity의 값이 동일하기 때문에 _jd_.member_id를 얻은 컴퓨터의 사용자가 이 대화방에 참여하고 있었다는 것을 확인할 수 있다. 이 대화방은 단체대화방이므로 ‘김 연구’ 이외에도 초록색과 자주색 박스로 표시된 5번 6번의 ‘김 과제’와 ‘김 실험’은 각각 첨부파일로 사진과 워드 파일을 보낸 것이 확인되어 갈색 박스로 표시된 10번의 API-4에서 얻은 fileID를 API-5에 넣어 최종적으로 분홍색 박스 즉 11번으로 표시된 파일을 다운로드할 수 있는 URL을 획득하였다. 이러한 과정을 통해 잔디의 전체 대화 내용 재구성 및 송수신된 파일을 획득할 수 있다.

Fig. 10. Reorganize conversation content in group chat room
IV. 결론
본 논문에서는 SaaS 기반 업무용 협업 도구인 잔디를 대상으로 윈도우 환경에서의 디지털 포렌식 관점에서의 주요 데이터 수집 및 분석을 진행하였다. 잔디의 권한 및 기능을 분류하고, 로컬 아티팩트에 대한 분석을 수행하였다. 하지만, 잔디는 서버 측에 대부분의 데이터를 보관하기 때문에 클라이언트 측에서 포렌식적으로 의미 있는 데이터 확보가 어렵다. 이러한 어려움을 극복하기 위해 잔디의 주요 API를 분석한 뒤 메모리에서 획득할 수 있는 사용자 인증 정보를 기반으로 API 요청을 재구성하여 서버에서 채팅 데이터와 파일 데이터를 직접 획득하였다. 그러나, 휘발성 저장장치에서 인증 토큰 획득이 불가능하거나, 획득한 인증 토큰의 유효기간이 만료되었다면 본 연구에서 제시한 방법을 적용하기 어렵다는 한계점이 존재한다. 본 논문을 통해 협업 도구인 잔디에 대한 인증 토큰 획득 이후의 디지털 수사에서 데이터 수집 및 분석을 위해 활용할 수 있을 것이라 기대한다.
References
- incruit, "87.0% of respondents, "Even when the coronavirus is over, the market for non-face-to-face collaboration tools will grow further."",https://news.incruit.com/news/newsview.asp?newsno=435259, 2023.10.11.
- Maeil Business Newspaper, "Collaboration tool JANDI achieves first-ever surplus in January... Surpasses 5,000 paying customers", https://www.mk.co.kr/news/it/10937394, 2024.03.11
- Sung-soo Kim and Sung-jinLee, "A study on message acquisition from electron apps: focused on collaboration tools such as jandi, slack, and microsoft teams," Journal of The Korea Institute of Information Security & Cryptology, 32(1), pp.11-23, Feb. 2022
- Sumin Shin, Yongcheol Choi, Soram Kim and Jongsung Kim, "artifacts analysis and data recovery of collaboration tools," Journal of Digital Forensics, 15(2), pp. 99-123, jun. 2021
- Sumin Shin, Eunhu Park, Soram Kim and Jongsung Kim, "Artifacts analysis of slack and discord messenger in digital forensic," Journal of Digital Contents Society, 21(4), pp. 799-809, Aug. 2020 https://doi.org/10.9728/dcs.2020.21.4.799
- Young-hoon Kim and Tae-kyoung Kwon, "On artifact analysis for user behaviors in collaboration tools - using differential forensics for distinct operating environments," Journal of The Korea Institute of Information Security & Cryptology, 31(3), pp. 353-363, Jun. 2021.
- Herschel Bowling, Kathryn Seigfried-Spellar, Umit Karabiyik and Marcus Rogers, "we are meeting on microsoft teams: forensic analysis in windows, android, and ios operating systems," Journal of Forensic Sciences, vol. 68, no. 9, pp. 434 - 460, Mar. 2023 https://doi.org/10.1111/1556-4029.15208
- Gwui-Eun Park, Min-Jeong Lee, Soo-Jin Kang, So-Ram Kim and Jong-Sung Kim, "A study on artifacts analysis and credential utilization method of collabor ation tools in ios," Journal of Digital Forensics, 17(2), pp. 14-32, Jun. 2023 https://doi.org/10.22798/KDFS.2023.17.2.14
- Farkhund Iqbal, Zainab Khalid, Andrew Marrington, Babar Shah and Patrick C.K. Hung, "Forensic investigation of google meet for memory and browser artifacts," Forensic Science International: Digital Investigation, vol. 43, Sep. 2022
- Zainab Khalid, Farkhund Iqbal, Khalil Al-Hussaeni, Aine MacDermott and Mohammed Hussain, "Forensic analysis of microsoft teams : Investigating memory, disk and network," Science and Technologies for Smart Cities, vol.442, Jun. 2022
- Megan Davis, Bridget McInnes andIrfan Ahmed, "Forensic investigation of instant messaging serviceson linuxos: discord and slack as case studies," Forensic Science International: Digital Investigation, vol. 42, Aug. 2022
- Mauricio Piacentini, "DBBrowser forSQLite", https://sqlitebrowser.org/,2023.09.13.
- mh-nexus.de, "HxD", https://mh-nexus.de/en/hxd/, 2023.08.14.
- Nirsoft, "ChromeCacheView", https://www.nirsoft.net/utils/chrome_cache_view.html, 2023.10.21.
- GitHub, "Chromium_dump_local_storage.py", https://github.com/cclgroupltd/ccl_chrome_indexeddb/blob/master/Chromium_dump_local_storage.py, 2023.10.33.
- Telerik AD, "Fiddler", https://www.telerik.com/fiddler, 2023.10.12.
- GitHub, "winPmem", https://github.com/Velocidex/WinPmem, 2023.10.11.