포렌식 아티팩트 자동 수집 시스템

과정
정보 보안
노출 페이지
대표 이미지
대표이미지
서비스 한 줄 소개
회차
5 more properties

배경(Problem)

아티팩트란?

✔️  디지털 환경에서 발견된 정보의 단편적인 조각이나 흔적을 가리키는 용어
(ex. 파일 생성 및 수정 내역, 인터넷 브라우징 기록, 시스템, 애플리케이션, 보안 로그 등)

개발 배경

사이버 침해 사고 발생 시, 빠른 초동 대응을 통해 정확한 증거를 수집하고 피해를 최소화하고자 함
  ✔️  사건의 증거가 되는 아티팩트에 대한 신속하고 정확한 수집 능력 요구
늘어나는 사이버 침해 사고 신고 건수에 비해 부족한 보안 전문가의 수
  ✔️  침해 사고 대응 과정에 대한 자동화 필요

서비스 소개(Solution)

포렌식 아티팩트 자동 수집 시스템
✔️  자동 수집 및 다양한 운영체제 버전 제공
✔️  무결성을 위해 원본 파일의 내용과 메타 데이터 등이 변경되지 않도록 함
📌 사용 방법
프로그램 실행 화면
✔️  분석을 진행할 분석 대상 환경에 맞는 프로그램 사용(Windows 7, 8, 10, 11 버전 지원)
✔️  프로그램 실행 후 분석관, 분석 대상, 옵션 등을 입력하여 원하는 아티팩트 수집 가능
📌  데모 영상
프로그램 실행 시, 생성되는 폴더 구조
프로그램 실행 시, 생성되는 폴더 구조
📢
더 자세한 설치 및 사용 방법은 아래 Github 링크를 참고해주세요! Github 링크
프로그램 실행 시, 생성되는 폴더 구조
프로그램 실행 시, 생성되는 폴더 구조
프로그램 실행 시, 생성되는 폴더 구조

아키텍처 및 핵심 기능

전체 아키텍처 및 실행 흐름

📌 수집 결과물 구조
✔️ ‘summary.txt’이름의 타겟 시스템의 정보 요약 파일
✔️ 수집 아티팩트별 폴더
✔️ 아티팩트별 폴더 내 ‘summary.txt’이름의 수집된 아티팩트들의 정보 요약 파일

핵심 기능

📌  Windows 기반의 6가지 아티팩트 수집
✔️ 시스템 정보 수집
✔️ 레지스트리 수집
✔️ 이벤트 로그 수집
✔️ 브라우저 기록(Chrome, Firefox, Edge, IE, Whale) 수집
✔️ 삭제된 파일 정보(휴지통) 수집
✔️ 확장자 기반의 파일 탐색 및 수집
🪣 수집 예시 (시스템 정보 수집)
🪣 수집 예시 (레지스트리)
수집된 항목과 이에 대한 summary 파일
수집된 레지스트리 파일에 대한 summary.txt
🪣 수집 예시 (확장자 기반 파일 수집)
수집된 txt 파일
수집된 txt 파일에 대한 summary.txt
📌  다양한 Windows OS에 대한 무설치 실행 파일 지원
✔️ Windows 7
✔️ Windows 8
✔️ Windows 10
✔️ Windows 11

활용 라이브러리 및 개발 환경

📌  개발 및 지원 환경
Windows 7 / Windows 8 / Windows 10 / Windows 11
Windows 운영체제에 대한 여러 버전을 지원하여, 환경에 구애받지 않고 사용 가능하도록 함.
📌  사용 언어 및 라이브러리
Python 2 / Python 3
짧은 프로젝트 기간 내에 빠르게 프로그램을 개발하기 위해 선택한 언어. Python 3 버전을 지원하지 않는 운영체제를 지원하고자 Python 2 버전을 함께 사용.
PyInstaller
별도의 설치 없이 실행 파일 형태만으로 프로그램을 구동할 수 있도록 배포하기 위해 사용.
RawCopy
시스템에서 사용 중인 파일을 수집하기 위해 저수준 파일 복사 프로그램을 함께 사용.
📌  DevOps
Github
각 아티팩트에 대한 수집 기능을 모듈화하여 개발 진행. 개발된 각 모듈 및 메인 프로그램에 대한 소스 코드를 놓치지 않고 관리할 수 있도록 하기 위해 코드 관리 및 이슈 체크 시 활용.

트러블 슈팅

1. 배포

🚨 문제 상황
✔️ 무결성 유지를 위해 별도의 설치 없이 실행 가능한 형태로 배포 필요
✔️ 여러 Windows OS 버전을 지원할 수 있어야 함
지원 대상 OS: Windows 7 / Windows 8 / Windows 10 / Windows 11
🧩 해결 방안
✔️ Windows 마다 지원하는 Python - Library 버전이 모두 상이하여 사용하고자 하는 언어와 라이브러리의 경우의 수를 모두 정리하고, 각 OS별 알맞은 Python 및 배포 라이브러리 버전을 사용하여 배포함
테스트 표 [파이썬]
테스트 표 [배포 라이브러리]
최종 배포 버전 결정

2. 시스템 파일 수집

🚨 문제 상황 1
✔️ 수집 대상 아티팩트 중 대부분의 파일은 시스템에서 사용 중인 파일로, 일반적인 접근이 불가능함
대상 아티팩트: 레지스트리 hive 파일, 이벤트 로그 파일, 휴지통 내 삭제된 파일
🧩  해결 방안 1
✔️ 저수준 파일 복사 프로그램인 RawCopy를 사용하여 시스템 파일에 대한 수집도 가능하게 함
🚨 문제 상황 2
✔️ 수집된 파일의 MAC time 중 Create time은 시스템 수준에서 관리하는 항목으로,
수집된 결과물이 생성된 시각으로 설정되어 원본과 동일한 값으로 유지하기 어려움
🧩 해결 방안 2
✔️ 수집된 파일 자체의 MAC time이 보존되지 않는 것을 보완하기 위한 방안으로,
수집 전 별도의 summary 파일에 원본 파일에 대한 MAC time을 기록함
✔️ 분석관은 수집된 아티팩트에 대한 summary 파일을 통해 원본 파일의 MAC time 확인 가능
📢
더 많은 트러블슈팅 과정과 프로젝트 상세 진행 내용은 아래 보고서 링크를 참고해주세요! 보고서 링크

팀 소개

🥔 팀 소개 : 말하는 감자에서 잘 익은 감자로 No Sibal Keep Going 중인 감자들입니다.
최유라 | 팀장 | 아티팩트 수집 메커니즘 분석 및 개발 (System Information, Registry, Event Log, Browser History)
📮
dbfk1207@gmail.com
어쩌다 보니 팀장이 되어 잘 익은 왕감자가 되기 위해 열심히 구르고 있는 감자입니다. 😎 주로 분석 파트를 도맡아 했고, 분석 결과를 토대로 필요 기능들을 개발했습니다.
구름톤을 통해 다양한 주제의 프로젝트와 협업 경험을 얻어갈 수 있어서 힘들면서도 재밌는 시간이었습니다!
김은주 | 팀원 | Artifact 수집 시스템 개발 및 배포 방식 연구
📮
silver_liq9118@naver.com
감자들 중 제일 낡고 작은 감자를 담당하고 있어요.. 🫠🥔 주로 개발 파트를 맡았으며, 메인 프로그램 개발, 모듈 통합 및 개발, ELK 환경 구축을 진행했습니다.
구름톤을 통해 보안 개발자로서의 역량을 구체화하고 나만의 무기를 만들어갑니다. 🔪 3명 뿐이지만 3명이라서 다행이었습니다 💖
유은선 | 팀원 | 아티팩트 수집 메커니즘 분석 및 개발 (Recycle Bin, Extension File)
📮
54ryues@gmail.com
멋진 팀원들 사이에서 배우며 잘 익은 감자가 되기 위해 노력한 감자 팀원입니다. 분석과 이를 토대로 기능을 개발하는 역할을 맡았습니다.
혼자라면 해볼 수 없었던 다양한 경험을 할 수 있었고 멋진 팀원들 덕분에 더 많은 것을 배워갈 수 있었습니다! 힘들기도 했지만 뜻 깊고 재미있는 시간이었습니다 ☺️