[C언어] Data Conversion Tool - RawVera

◎ Vol 탭이 맡는 역할
- RawVera의 Vol 탭은 메모리 포렌식 작업을 한곳에 모아 놓은 실전형 도구입니다.
- 단순히 vol.py를 실행하는 수준이 아니라, Python 경로 설정, Volatility 2·3 설치 보조, 플러그인 목록 구성, 심볼 파일 관리, 덤프 파일 지정, 결과 확인과 내보내기까지 한 화면에서 이어집니다.
- 이미지에서도 보이듯이 상단에는 Python 경로와 Volatility 스크립트 경로를 입력하는 칸이 있고, 가운데에는 버전 선택과 OS 선택, 하단에는 플러그인과 옵션, 결과 리스트가 배치되어 있습니다.
◎ Python·Volatility 경로 설정
- 이 탭의 첫 번째 핵심은 실행 환경을 자동으로 갖추도록 돕는 점입니다.
- Volatility 2용 Python 2 경로와 Volatility 3용 Python 3 경로를 각각 따로 지정할 수 있고, 옆의 Install 및 Install 2 버튼으로 설치 절차를 안내받을 수 있습니다.
- 코드에서는 Python 실행 파일을 찾거나, 설치 프로그램을 관리자 권한으로 실행하거나, 필요한 경우 파이썬 라이브러리까지 추가로 설치하는 흐름을 지원합니다.
- 즉, 분석만 하는 도구가 아니라 사전 준비까지 보조해 주는 탭입니다.
◎ Volatility 2와 3의 차이
- Volatility 2와 Volatility 3는 선택 방식부터 다릅니다.
- 버전 콤보에서 Volatility 2 또는 Volatility 3를 고르면, 내부적으로 관련 캐시와 UI가 바뀌고, 플러그인 목록과 심볼/프로파일 처리 방식도 달라집니다.
- Volatility 2는 주로 profile 기반으로 운영되고, Volatility 3는 symbol file 기반으로 움직입니다.
- 그래서 같은 메모리 덤프라도 어떤 버전을 쓰느냐에 따라 준비물이 달라지는데, 이 탭은 그 차이를 UI로 명확하게 분리해 줍니다.
- OS 선택도 중요합니다.
- Windows, Linux, macOS 중 하나를 선택하면 그에 맞는 플러그인과 심볼 조건이 반영됩니다.
- 코드에서는 Windows용 프로파일, Linux 및 macOS용 심볼 구조를 따로 관리하며, macOS 플러그인에는 자동 옵션을 붙여 주는 보조 로직도 들어 있습니다.
- 덕분에 사용자는 분석 대상 OS에 맞춰 불필요한 실수를 줄일 수 있습니다.
◎ 메모리 덤프 확보와 파일 지정
- 메모리 덤프 파일 지정은 이 탭의 기본 출발점입니다.
- 화면에는 Memory dump file 입력칸과 Browse 버튼, 그리고 실제 덤프를 생성하는 Dump 버튼이 있습니다.
- 코드상으로는 winpmem 계열 도구를 통해 메모리 확보를 진행할 수 있고, 저장 경로와 파일명도 자동으로 구성됩니다.
- 이미 확보된 .raw, .mem, .dmp, .vmem, .bin 파일을 직접 넣어 분석할 수도 있어, 라이브 획득과 사후 분석을 모두 포괄합니다.
◎ 심볼·프로파일 관리 기능
- Volatility 2에서는 프로파일 선택이 핵심입니다.
- 탭에는 Symbol/Profile 콤보가 있고, 별도의 Fetch Profile 기능으로 vol.py --info 결과를 읽어 프로파일 목록을 채우는 구조가 들어 있습니다.
- 코드에서는 Windows, Linux, macOS에 따라 profile 후보를 다르게 가져오며, 필요한 경우 프로파일이 없다는 메시지도 명확히 보여 줍니다.
- 이 덕분에 사용자는 수동으로 프로파일을 기억하지 않아도 되고, 바로 맞는 값으로 분석을 시작하기 쉬워집니다.
- Volatility 3에서는 심볼 파일 관리가 중심입니다.
- Symbol/Profile 영역에 심볼 파일을 지정할 수 있고, Browse 버튼으로 .json이나 .zip 형태의 심볼을 선택하거나, 심볼 파일을 다른 폴더로 복사해 재배치할 수도 있습니다.
- 코드에서는 volatility3/symbols/os 아래 구조를 탐색해 심볼 후보를 찾고, 필요하면 캐시를 무효화해 최신 목록을 다시 불러옵니다.
- 즉, Volatility 3의 복잡한 심볼 환경을 UI로 간단히 다룰 수 있게 만든 셈입니다.
◎ 플러그인 선택과 옵션 자동화
- 플러그인 선택 기능도 꽤 강합니다.
- Plugin 콤보에는 현재 OS와 버전에 맞는 플러그인이 동적으로 채워지고, 선택한 플러그인에 따라 권장 옵션도 자동으로 안내됩니다.
- 예를 들어 regexscan, yarascan, dumpfiles, strings, printkey 같은 플러그인에는 추가 옵션 예시가 바뀌고, macOS 계열 플러그인에는 pslist-method allproc 같은 자동 값이 들어갑니다.
- 초보자 입장에서는 플러그인 사용법을 익히는 데 도움이 되고, 숙련자 입장에서는 매번 긴 옵션을 입력하는 수고를 줄여 줍니다.
- 추가 옵션 입력칸은 사실상 분석 명령의 자유 입력 영역입니다.
- 여기에는 --pid 1234, --output-file out.txt 같은 인자를 직접 넣을 수 있고, 특정 플러그인에 맞는 세부 옵션도 넣을 수 있습니다.
- 코드에서는 플러그인명에 따라 큐브 힌트처럼 예시 문구를 바꿔 주기 때문에, 지금 어떤 옵션이 필요한지 바로 감을 잡기 좋습니다.
- 분석 자동화와 수동 조정 사이의 균형을 잘 맞춘 부분입니다.
◎ 실행, 중지, 로그, 결과표시
- 실행 버튼을 누르면 분석은 별도 스레드에서 돌아갑니다.
- UI는 멈추지 않도록 설계되어 있고, 진행 중에는 상태 표시와 로그 창이 업데이트됩니다.
- 내부적으로는 실행 결과를 한 번에 쌓지 않고 배치 단위로 받아와 목록에 추가하는 방식이라, 결과가 많아도 비교적 안정적으로 표시됩니다.
- 중지 버튼도 따로 있어, 분석이 길어질 경우 즉시 멈출 수 있습니다.
- 결과 화면은 리스트뷰 형태로 출력됩니다.
- 코드에서는 열 이름을 플러그인 결과에 맞춰 동적으로 바꾸고, Children, PID, PPID, ImageFileName, Offset, Path, CommandLine, Module, Symbol, Timestamp, Hash 등 다양한 필드를 폭넓게 다룹니다.
- 즉, 플러그인마다 결과 형식이 달라도 같은 탭 안에서 표 형태로 정리해 볼 수 있습니다.
- 메모리 분석에서 가장 중요한 것은 결국 “많은 결과를 어떻게 읽기 쉽게 정리하느냐”인데, 이 부분을 꽤 잘 처리합니다.
- 로그 창도 함께 제공됩니다.
- 분석 중에는 진행 상황, 설치 안내, 경고, 오류 메시지가 로그에 쌓이고, 상황에 따라 상태 텍스트도 바뀝니다.
- 예를 들어 경로가 빠졌을 때는 어떤 경로를 먼저 지정해야 하는지 알려 주고, 설치 시간이 길어지면 타임아웃 경고도 띄웁니다.
- 실제 현장에서는 이런 안내가 있어야 막히지 않고 다음 단계로 넘어가기 쉽습니다.
◎ 내보내기와 정리 기능
- 내보내기 기능도 유용합니다.
- 결과 리스트는 TSV나 CSV 형식으로 저장할 수 있어, 나중에 엑셀이나 다른 분석 도구로 넘기기 좋습니다.
- 코드에서는 현재 표시 중인 열과 행을 기준으로 UTF-8 저장을 수행하므로, 현장에서 바로 보고서를 만들거나 증적 파일을 남기기에 적합합니다.
- 분석 결과를 일회성으로 보는 것이 아니라, 후속 작업으로 연결할 수 있게 해 준다는 점이 장점입니다.
- Clear 버튼은 단순 초기화 이상의 의미가 있습니다.
- 현재 결과를 비우고, 로그도 정리하고, 임시 파일도 함께 정리합니다.
- 코드에는 VolTmp라는 임시 저장 구조가 있어 플러그인별 결과를 .dat/.idx 형태로 관리하고, 필요 없어진 파일은 삭제하는 정리 로직도 들어 있습니다.
- 여러 번 연속 분석을 하더라도 이전 결과가 뒤섞이지 않도록 설계한 부분입니다.
- 설치 보조 기능도 빼놓을 수 없습니다.
- Volatility 2용 Python 2와 VCForPython27, Volatility 3용 Python 3와 필요한 .whl 라이브러리 설치를 도와 주며, 경로를 찾을 수 없을 때는 Browse 버튼으로 직접 지정하게 합니다.
- 코드상으로는 pip, pefile, pycryptodome, yara-python, capstone 같은 패키지 설치 흐름까지 챙기고 있어, 환경 구축에 서툰 사용자도 비교적 수월하게 시작할 수 있습니다.
◎ 마무리
- 정리하면 RawVera Vol 탭은 Python 경로 설정, Volatility 2·3 설치 보조, 메모리 덤프 지정, OS 선택, 프로파일/심볼 관리, 플러그인 선택, 추가 옵션 입력, 실행/중지, 결과 리스트 표시, 로그 기록, TSV/CSV 내보내기, 임시파일 정리까지 포함한 메모리 분석 통합 탭입니다.
- 단순 실행기가 아니라 분석 환경 구축부터 결과 정리까지 한 번에 연결해 주는 실전 도구라고 보시면 가장 정확합니다.
반응형
