Storing data - 사이버 보안 지표가 되는 다양한 위협 인텔리전스를 자동적으로 구조화된 형태로 저장
여러 가지의 다른 위협 인텔리전스의 공유 모델을 지원
Data Sharing - MISP를 사용하여 신뢰할 수 있는 그룹(파트너사)간의 자동적인 위협 인텔리전스 정보 공유 동기화 가능
Feed import - 여러 플랫폼으로부터 MISP 피드 또는 OSINT 피드를 가져오고 통합 가능
API - PyMisp 클라이언트를 활용하여 다양한 어플리케이션에서 활용 가능
OSINT
OSINT란 다양한 정보의 출처를 가지고 공개데이터를 수집하는 플랫폼으로 정의 내릴 수 있습니다.
대중매체(Media), 공공자료(Public Data), 전문적이고 학문적인 자료(Professional and Academic materials) 등의 출처가 되겠습니다.
[ OSINT List ]
✔️
국내외 활동 자원 식별 유형
(IP기반 지리 위치정보, 서비스 제공자, 서비스 특성 등 )
IP2Location - IP주소로 지리적 위치 데이터 및 연결 속도, ISP 및 도메인 이름 추출
GeoBytes - IP주소에 대한 위치 데이터를 제공
NetAcuity - Geolocation, IP주소로 위치 데이터 제공
ETC...
✔️
연관관계 기반 정보 식별 유형
(DNS정보, 도메인 서비스 정보, 등록정보 등)
DomainTools - 도메인, DNS, IP수집 외부 오픈소스 평판DB 연동 및 연동 대상 관리
Nominum - 세계 최대 DNS 수집, 수집 데이터 별 정규화 및 연관분석
WHOIS - 국내 인터넷 주소 자원 검색(후이즈 검색), 서비스 제공자 등 수집
ETC...
악성코드 분석 방법 #2
Machine Learning
머신러닝이란 기계학습이라고 하며 알고리즘을 사용해 데이터를 입력하여 학습시키는 방식 입니다.
머신러닝 개념도
✔️
지도학습
훈련 데이터를 학습하여 새로운 특징 값을 넣으면 예측 또는 분류
지도학습
✔️
비지도학습
정답이 있는 훈련 데이터 없이 데이터 안에서 관계를 찾아 비슷한 데이터들을 군집화
비지도학습
상관분석 히트맵
머신러닝을 통한 악성코드 분석을 위해서는
분석을 진행할 파일들의 각 특징feature을 추출해야 합니다.
추출한 특징은 전처리를 통해 악성코드 탐지율을 올리기 위한 피처 셀렉션을 진행하게 됩니다.
악성코드 유무를 탐지하는데 유의미한 특징을 추출 하기 위해서는 Correlation 분석을 통해 다음과 같은 조건이 필요하게 됩니다.
특성과 특성 간 상관관계가 낮아야함
특성과 특성 간 상관도가 높으면 중복 특성 의심
머신러닝 알고리즘을 통해 학습을 진행하고 탐지율 및 정확도를 확인하며 위 과정을 반복해 오버피팅과 같은 정확도를 낮추는 문제점을 해결할 수 있습니다.
악성코드 분석 방법 #3
동적분석
동적 분석방법은 악성코드 정적분석의 한계점을 해결하기 위함입니다.
특히 Anti-Virus와 같은 탐지 회피기술이 적용된 악성코드를 분석함에 있어 정적분석의 난독화 기술에 대응할 수 있습니다.
실제 악성코드가 실행될 때 시스템에 어떤 영향을 주는지 확인하기 위하여 에뮬레이터 또는 가상머신(VM)을 주로 이용합니다.
✔️
Cuckoo Sandbox
Cuckoo SandBox는 오픈소스 최고의 악성코드 분석 샌드박스이며 다양한 모듈과 다양한 OSINT 및 Intelligence를 연동해 커스터마이징이 가능합니다.
Cuckoo Sandbox
활용
사이버수사를 위해서 위에서 알아본 내용과 같이 단순 악성코드를 분석하는 것 보다는 악성코드의 특징과 악성 행위의 특성들을 연관분석 하여 유포자를 특정 지을 수 있어야 합니다.
아래 사이버 수사를 기반으로 한 단계별 악성코드 분석 아키텍처 구성표를 보면
1단계 - 분석엔진을 통한 악성코드에 대한 분석 정보를 수집을 진행합니다.
2단계 - 스마트 필터링을 통해 사이버 수사에 필요한 정보만 필터링해서 분석된 악성코드들의 특성들을 추출하여 정규화를 진행합니다.
3단계 - OSINT와 Intelligence를 통해 공개출처정보와의 연계 정보 및 빅데이터 연계 정보를 수집한 뒤, 앞서 분석한 악성코드 자체의 분석결과와 OSINT와 Intelligence 정보를 연관분석하여 사이버 수사에 필요한 필수 특징 정보를 수집하고 도출되도록 진행합니다.
4단계 - 1~3단계 정보 연관분석을 통해 사이버 수사에 필요한 의미 추출을 통해 사이버 수사관은 악성코드 자체에 대한 정보를 활용하여 유포자를 추적할 수 있는 기반을 마련하게 됩니다.
사이버 수사를 기반으로 한 단계별 악성코드 분석 아키텍처 구성
결론
최근 사이버범죄의 대부분은 악성코드로 이루어지지만 기존의 방식으로는 점점 고도화 되는 악성코드에 대한 신속한 분석 및 유포자 추적 에는 한계가 있습니다.
따라서 고도화된 악성코드 유포자 추적을 위해 Intelligence와 OSINT를 통한 연계 분석이 가능한 차세대 분석 플랫폼 아키텍처를 연구하였습니다.
하지만 연구 분석의 범위가 방대하고 구현을 통한 실험에 한계가 있어 간단한 이론적인 부분으로 진행한 연구를 진행하였습니다.
향후 실제 시스템을 구축하는 과정을 통해 미비한 점을 보완하고 차세대 사이버 수사 플랫폼으로 가치가 있음을 검증할 예정입니다.