[C언어] Data Conversion Tool - RawVera

◎ Sigma 탭이 하는 일
- RawVera의 Sigma 탭은 이벤트 로그와 일반 로그를 Sigma 규칙으로 빠르게 검증하고, 결과를 탐지 목록과 시각화 포맷으로까지 이어 주는 분석용 작업 공간입니다.
- 이미지에서 보이듯이 상단에는 Log file/folder path, Sigma Rule path, Python path, sigma-cli path가 있고, 그 아래에는 Start, Stop, Clear, Navigator Export, Rule Converter, Rule Editor 버튼이 정리되어 있습니다.
- 즉, 입력 경로 지정부터 규칙 편집, 실행, 결과 내보내기까지 한 탭에서 끝내는 구조입니다.
◎ 입력 경로와 환경 설정
- 이 탭의 첫 번째 특징은 입력 소스가 매우 넓다는 점입니다.
- 로그 파일 하나만 넣는 것이 아니라 폴더 단위도 받을 수 있고, EVTX를 별도 버튼으로 불러오는 흐름도 지원합니다.
- 코드에는 EVTX를 현재 PC에서 수집하거나, 특정 폴더의 EVTX를 XML로 변환하거나, EVTX 파일 자체를 복사하는 모드가 모두 들어 있습니다.
- 덕분에 분석자는 원본 로그가 어디에 있든 같은 화면에서 다룰 수 있습니다.
◎ 분석 시작과 중지 흐름
- 분석을 시작하기 전에는 Python 경로와 sigma-cli 경로를 제대로 잡아 두는 것이 중요합니다.
- 이미지처럼 Python path와 sigma-cli path가 별도 칸으로 나뉘어 있고, 오른쪽의 Auto Detect 버튼으로 sigma-cli 위치를 자동으로 찾을 수 있습니다.
- 코드에서는 python -m pip show sigma-cli 결과를 이용해 설치 위치를 찾고, 필요하면 sigma.exe 위치도 따라 찾아갑니다.
- 환경 구성이 복잡해도 이 버튼 하나로 출발점을 잡기 쉬운 편입니다.
- Start 버튼을 누르면 내부적으로 분석 스레드가 돌아가면서 로그와 규칙을 읽고 매칭을 수행합니다.
- 코드에서는 실행 중 상태를 따로 관리하고, Stop 버튼으로 중단할 수 있게 되어 있습니다.
- 분석이 시작되면 결과 리스트는 초기화되고, 진행 상태는 Progress와 Status 영역에 표시됩니다.
- 실무에서는 긴 로그 파일을 돌릴 때 중지 제어가 꽤 중요한데, 이 탭은 그 점을 잘 챙기고 있습니다.
- 이 탭의 핵심은 Sigma 규칙 적용입니다.
- Sigma Rule path에는 단일 규칙 파일뿐 아니라 폴더도 지정할 수 있고, 분석 시 그 경로 아래 규칙들을 읽어 들입니다.
- 코드에서는 YAML 규칙을 파싱해 title, id, level, description, detection 조건을 추출하고, 필드 조건은 contains, endswith, startswith, exact, all-of 방식으로 비교합니다.
- 즉, 단순 문자열 검색이 아니라 Sigma의 구조를 그대로 따라가는 분석에 가깝습니다.
◎ 규칙 변환기와 규칙 편집기
- 규칙 편집 기능도 매우 중요합니다.
- Rule Editor 버튼을 누르면 별도의 편집 창이 열리고, 리치 에디트 기반으로 Sigma YAML을 직접 수정할 수 있습니다.
- 코드에서는 자동완성처럼 동작하는 목록도 제공하고, 저장 전에 필수 필드를 검사합니다.
- title, id, status, logsource, detection, tags, references, falsepositives 같은 항목이 비어 있으면 경고가 뜨며, 저장 여부를 선택적으로 제어할 수 있습니다.
- 초보자도 규칙 문법을 덜 헷갈리게 만들어 둔 점이 좋습니다.
◎ 시그마 CLI 자동 탐지와 실무 팁
- Rule Converter 기능은 시그마 생태계를 다른 SIEM 문법으로 옮길 때 유용합니다.
- 이미지에서 보이듯이 Rule Converter 버튼이 따로 있고, 코드에서는 sigma-cli를 이용해 backend별로 규칙을 변환합니다.
- converter 창에서는 backend 선택과 pipeline 선택이 가능하며, 어떤 백엔드를 사용할 수 있는지 자동으로 탐지합니다.
- 즉, Sigma 룰을 원본 그대로 보는 데서 끝나지 않고 Splunk, Elastic, Kusto 같은 대상 문법으로 내려보낼 수 있는 흐름입니다.
◎ 결과 목록과 필터 기능
- 결과 표는 탐지 분석의 중심입니다.
- 컬럼은 Timestamp, Technique ID, EventID, Severity, Rule Name, Hostname, Description으로 구성되며, 탐지 결과가 행 단위로 쌓입니다.
- 리스트뷰는 가상 모드로 동작해 대량 결과에도 비교적 안정적이고, 정렬도 지원합니다.
- Timestamp는 필요 시 로컬 시간으로 변환되고, Description은 원문 요약을 바탕으로 표시되므로 수백 건 이상의 결과도 읽기 편합니다.
- Severity Filter는 실제 업무에서 특히 자주 쓰일 기능입니다.
- All, Critical, High, Medium, Low 라디오 버튼으로 심각도만 골라 볼 수 있고, 필터를 바꾸면 목록이 다시 재구성됩니다.
- 코드에서는 severity 값을 기준으로 뷰 인덱스를 다시 만들며, 제목 표시줄과 상태 메시지에도 현재 필터 결과가 반영됩니다.
- 빠르게 위험도가 높은 이벤트만 추릴 때 매우 편리합니다.
- 헤더 필터도 강력합니다.
- 각 컬럼에는 텍스트 필터를 걸 수 있고, exact 매칭과 부분 문자열 매칭을 구분해서 적용할 수 있습니다.
- 예를 들어 특정 Hostname, Rule Name, EventID, Technique ID만 보고 싶을 때 컬럼 단위로 좁힐 수 있으므로, 결과가 많을수록 더 빛나는 기능입니다.
- 단순 정렬보다 한 단계 더 세밀하게 결과를 다루게 해 준다는 점이 장점입니다.
◎ Navigator, JSON·CSV 내보내기
- Navigator Export는 MITRE ATT&CK Navigator와 바로 연결되는 출력입니다.
- 코드에서는 detection result를 JSON으로 저장해 Technique ID별 점수와 색상을 넣고, 중복 Technique ID는 자동으로 한 번만 반영합니다.
- Severity에 따라 critical, high, medium, low를 각각 다른 점수와 색으로 바꾸기 때문에, 결과를 맵 형태로 시각화하기 좋습니다.
- 분석 후 바로 공격 기법 맵을 만들고 싶을 때 아주 실용적입니다.
- CSV Export도 현장형 기능입니다.
- UTF-8 BOM이 붙은 CSV로 저장되며, Timestamp, Technique ID, EventID, Severity, Rule Name, Hostname, Description 순서로 정리됩니다.
- Excel에서 바로 열기 쉽게 되어 있고, 현재 필터가 적용된 상태의 목록만 뽑아낼 수 있습니다.
- 즉, 전체 결과를 보관하는 용도뿐 아니라 보고서용 정리에도 적합합니다.
◎ EVTX 가져오기 기능
- Get EVTX 버튼은 이 탭을 더 강하게 만들어 주는 기능입니다.
- 코드에는 현재 PC에서 EVTX를 수집하는 모드, EVTX 폴더를 XML로 변환하는 모드, EVTX 파일을 복사하는 모드가 모두 구현되어 있습니다.
- 관리자 권한이 필요한 경우 상승을 유도하고, 작업이 끝나면 로그에 진행 상황과 저장 위치를 남깁니다.
- 외부에서 로그를 가져오는 것만이 아니라, 직접 확보하는 전처리 기능까지 연결한 셈입니다.
- 화면 하단의 Analysis Log도 무시하면 안 됩니다.
- 이 영역에는 규칙 로딩, sigma-cli 탐지, 변환 성공 여부, EVTX 수집 상태, 오류와 경고가 순서대로 기록됩니다.
- 분석이 왜 멈췄는지, 어떤 경로가 빠졌는지, 어떤 규칙 파일이 문제인지 바로 확인할 수 있어 디버깅에 유리합니다.
- 이런 로그가 있어야 탭 하나로 끝까지 분석 작업을 이어 가기 쉽습니다.
◎ 마무리
- 정리하면 RawVera Sigma 탭은 로그/폴더 입력, Sigma 규칙 로딩, EVTX 수집 및 변환, sigma-cli 자동 탐지, Rule Editor, Rule Converter, 분석 실행/중지, 심각도 필터, 컬럼 필터, 결과 리스트, Analysis Log, Navigator JSON Export, CSV Export까지 갖춘 통합형 Sigma 분석 탭입니다.
- 단순 매칭 도구가 아니라, 규칙 작성부터 검증, 변환, 시각화, 보고서 저장까지 한 번에 묶은 실전용 구성이라고 보시면 됩니다.
반응형
