1. 소개
1.1. 개요
CRITs는 악성코드 기반의 위협 데이터 관리와 공유를 위한 '위협과 관련 된 공동 연구 (Collaborative Reseach Into Threats)' 플랫폼으로 오픈소스이다.
STIX, TAXII, ATT&CK을 개발한 MITRE에서 개발한 툴로서, 해당 표준과 가장 잘 호환되는 것으로 알려져 있다.
약 2년 전이 가장 최신 릴리즈로 MISP에 비해 릴리즈는 활성화 되어 있지 않은 편이다.
공식 사이트
CRITs: Collaborative Research Into Threats
Extend CRITs with Services Develop additional capabilities using the Services Framework to combine CRITs with third-party and home-grown intelligence systems. Get started now!
crits.github.io
GitHub
CRITs
Collaborative Research Into Threats. CRITs has 8 repositories available. Follow their code on GitHub.
github.com
Docker
tmiklas/crits-docker
Docker container builder, fixing issues I found in CRITS repo (Collaborative Research Into Threats - https://crits.github.io) - tmiklas/crits-docker
github.com
라이선스는 MIT 이며, MIT 라이선스 명시만 되어 있으면 코드 공개 의무 없이 소스코드 수정 및 서비스 적용이 가능하다. (GPL이나 AGPL이 아니라 그런지 MISP보다 커밋이 적다)
1.2. 특징
기본적인 특징은 다음과 같다.
- STIX와 TAXII와 연동 가능한 설계 (MITRE 개발)
- 신뢰성, 심각성 지수 추가 가능
- CSV, STIX, JSON 포맷 지원
MISP만큼은 아니지만 다양한 OSINT 분석 도구와 연동 가능하다.
crits_services
crits/crits_services
CRITs Services Collection. Contribute to crits/crits_services development by creating an account on GitHub.
github.com
Docker 코드를 확인해보면 내부적으로 다음 도구들을 활용한 것으로 확인된다.
- MongoDB, Django, Python
- OS는 Ubuntu, Debian, Darwin (OSX), FreeBSD, CentOS (RHEL), Fedora 등 지원
- boto를 통해 Amazon S3와 연동 가능
1.3. 예시
데이터 수집과 활용에 따라 다음과 같은 분석이 가능해진다. (출처 : https://crits.github.io/)
2. Docker 셋팅 방법
Production 환경에서는 단계별로 셋팅하거나 Ensible을 활용한 셋팅이 필요하지만, 테스트와 기능 확인이 주 목적이므로 Docker를 이용한 셋팅을 진행한다.
https://github.com/crits에 포함 된 DockerFile에는 git clone이 포함되어 있어, 내부망 또는 git clone이 허용되지 않는 환경에서는 MISP와 동일한 문제가 발생한다.
따라서 이러한 경우에는 Docker Hub에서 제공하는 이미 생성 된 Docker 이미지를 사용한다.
기본적인 Docker 이미지 실행은 다음 링크를 참고한다. (2021-05-25 현재 3.1 - Stable 4 버전)
tmiklas/crits-docker
Docker container builder, fixing issues I found in CRITS repo (Collaborative Research Into Threats - https://crits.github.io) - tmiklas/crits-docker
github.com
실행이 완료되면 웹 브라우저를 실행하고 127.0.0.1에 80포트로 접속하면 다음과 같은 로그인 창을 확인할 수 있다.
초기 로그인 계정 정보는 admin와 pass1PASS123!이다. (로그인 직후 패스워드 변경을 권장한다.)
3. 기능 분석
3.1. 초기 화면
로그인하면 다음과 같은 화면이 출력된다.
좌측 상단의 톱니바퀴를 클릭하면 다양한 메뉴를 확인할 수 있다. MISP보다 가독성이 훨씬 나은 것을 확인할 수 있다.
3.2. 기능 확인
이제 무엇을 해야할지 막막하다면 당연하다. 오픈소스는 일반적으로 다음과 같은 공통 특징이 있다.
- UI/UX 완전 별로 (빠른 기능 파악은 거의 불가능)
- 매뉴얼 허접 (삽질 필요)
- 보안 오픈소스는 생각보다 자료가 많이 없음 (삽질 필요)
- 한글화는 진즉에 포기 (영어 공부 열심히)
매뉴얼은 다음 페이지를 참고한다. (w. 구글 번역)
crits/crits
CRITs - Collaborative Research Into Threats. Contribute to crits/crits development by creating an account on GitHub.
github.com
이제 뭘해야 하지? (I can log into the interface, now what?) 싶을땐 아래 문서를 참고한다. (이 부분은 MISP보다 마음에 든다)
crits/crits
CRITs - Collaborative Research Into Threats. Contribute to crits/crits development by creating an account on GitHub.
github.com
4. 결론
MISP는 Docker Hub에 있는 Docker 이미지도 빌드와 초기 설치를 해야 하는데, CRITs는 Docker 이미지가 있어서 생각보다 쉽게 진행할 수 있었다.
CRITs는 MongoDB를 사용하지만 문서에 수십만개가 최적이라고 하니 대량 처리는 좀 아쉬운 부분이 될 것 같다.
- Good for 10's of thousands of binaries, emails, indicators, and PCAPs (출처 : https://github.com/crits/crits/wiki/Production-grade-CRITs-install)
- MISP도 MySQL 기반이라 대량의 데이터 처리는 쉽지 않을 것 같다 (MISP는 다수의 MISP를 띄워서 데이터 공유와 용량 한계를 극복하는 것 같다)
CRITs는 MISP와 다르게 장점과 단점이 명확한 편이다. 최종적으로 CRITs 대신 MISP를 사용하기로 했는데, 이유는 다음과 같다.
- CRITs는 MISP보다 직관성이 좋고 MITRE가 정의한 STIX, MAEC, ATT&CK 등과 가장 잘 호환되는 것이 장점이지만, 그 외에 장점을 찾기는 힘들다.
- MIT 라이선스라 그런지 커밋이 적은 편이다. 최종 커밋이 약 3~4년전인 것을 보면, 기능 개선이 빠르게 되지 않는 것으로 보인다.
- 같은 이유인지 모르겠지만 MISP보다 자료도 더 적은 편이다.
- MISP는 자체 MISP 클러스터 구축이나 TheHive로의 확장이 가능한데, CRITs는 관련 정보를 찾기 어렵다.
이러한 이유로 당분간 CRITs보다는 MISP에 집중할 계획이다.
'::: 정보보안 :::' 카테고리의 다른 글
MISP 사용해보기 2 - Feed 추가와 데이터 다운로드 (0) | 2021.06.09 |
---|---|
MISP 사용해보기 1 - 기본 설정과 이벤트 추가 (0) | 2021.06.09 |
TheHive: a Scalable, Open Source and Free Security Incident Response Platform (4) | 2021.06.08 |
YETI (Your Everyday Threat Intelligence) (0) | 2021.06.07 |
MISP (Malware Information Sharing Platform) (0) | 2021.06.05 |