SlideShare a Scribd company logo
인텔리전스
악성코드 자동화 분석을 통한
최우석 선임연구원
cws@kisec.com
목차
 악성코드 및 분석 방법론 동향
 오픈소스 라이선스
 하이퍼바이저
 허니팟 프로젝트
 쿡쿠 샌드박스
 다른 바이너리 자동화 분석 인텔리전스 서비스
 바이너리 인텔리전스의 한계
 결론
2017년 제2분기 사이버 침해사고 정보공유 세미나
악성코드 자동화 분석을 통한 인텔리전스
3
 악성코드 동향
 악성코드 발생의 고도화
2017년 제2분기 사이버 침해사고 정보공유 세미나
악성코드 자동화 분석을 통한 인텔리전스
4
 악성코드 분석 방법론 동향
 악성코드 분석 방법론 - 기존
기초 정적 분석
안티바이러스
테스트
악성코드
해시 추출
팩커 / 난독화
탐지
악성코드
문자열 추출
기초 동적 분석
악성코드 프로세스
모니터링
네트워크 활동
모니터링
파일시스템
변경사항 분석
레지스트리
변경사항 분석
고급 정적 분석
파일 포맷 분석
묵시적 DLL 링크 및
API 분석
디스어셈블러를
이용한 흐름 분석
디컴파일러를
이용한 흐름 분석
고급 동적 분석
악성코드 프로그램
디버깅
명시적 DLL 링크 및
API 분석
메모리 분석
숨겨지거나
비활성화 된
기능 분석
초동 분석 상세 분석
2017년 제2분기 사이버 침해사고 정보공유 세미나
악성코드 자동화 분석을 통한 인텔리전스
5
 악성코드 분석 방법론 동향
 악성코드 분석 방법론 - 자동화
구현 확인
추가 구현 가능
기능 미 구현/발견,
반자동화
기초 정적 분석
안티바이러스
테스트
악성코드
해시 추출
팩커 / 난독화
탐지
악성코드
문자열 추출
기초 동적 분석
악성코드 프로세스
모니터링
네트워크 활동
모니터링
파일시스템
변경사항 분석
레지스트리
변경사항 분석
고급 정적 분석
파일 포맷 분석
묵시적 DLL 링크 및
API 분석
디스어셈블러를
이용한 흐름 분석
디컴파일러를
이용한 흐름 분석
고급 동적 분석
악성코드 프로그램
디버깅
명시적 DLL 링크 및
API 분석
메모리 분석
숨겨지거나
비활성화 된
기능 분석
초동 분석 상세 분석
2017년 제2분기 사이버 침해사고 정보공유 세미나
악성코드 자동화 분석을 통한 인텔리전스
6
 오픈소스 라이선스
 라이선스 동향
34%
25%
15%
6%
6%
14%
0% 5% 10% 15% 20% 25% 30% 35% 40%
GNU GPL 2.0 & 3.0
MIT
Apache 2.0
BSD 3
GNU LGPL 2.1
Other
2016 오픈소스 라이선스 Top 5
쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 오픈소스 라이선스 비교
악성코드 자동화 분석을 통한 인텔리전스
7
 오픈소스 라이선스
라이선스 링크 배포 수정 특허 비공개 사용
라이선스
재설정
상표
GNU GPL 자기 자신 비상업적 가능 비상업적 가능 가능 가능 비상업적 가능 가능
MIT 가능 가능 가능 불가능 가능 가능 불가능
Apache 가능 가능 가능 가능 가능 가능 불가능
BSD 가능 가능 가능 불가능 가능 가능 불가능
GNU LGPL 제한 비상업적 가능 비상업적 가능 가능 가능 비상업적 가능 가능
2017년 제2분기 사이버 침해사고 정보공유 세미나
 샌드박스
 컴퓨터 보안에서 샌드박스는 실행되는 프로그램을 분리하기 위한 보안 메커니즘
 디스크, 메모리 공간에 엄격한 자원 제어를 통해 서비스를 제공
 보통 가상화를 통해 구현
 가상머신(하이퍼바이저)
 샌드박스는 가상머신으로 많이 구현
 가상머신을 구현하도록 도와주는 소프트웨어를 하이퍼바이저로 불림
악성코드 자동화 분석을 통한 인텔리전스
8
 하이퍼바이저
2017년 제2분기 사이버 침해사고 정보공유 세미나
 가상머신(하이퍼바이저)
 하이퍼바이저는 Type 1과 Type 2 방식이 있음
악성코드 자동화 분석을 통한 인텔리전스
9
 하이퍼바이저
하드웨어 하이퍼바이저
Type 1
운영체제
하드웨어 호스트
운영체제
하이퍼바이저
Type 2
게스트
운영체제
2017년 제2분기 사이버 침해사고 정보공유 세미나
 가상머신(하이퍼바이저)
 쿡쿠 샌드박스는 물리적 시스템으로 구축하려면 많은 비용이 필요함
 호스트 운영체제를 리눅스 계열로 쓰기 힘듬
• Type 1을 고려할 수 없으며, Type 1과 Type 2 호환성이 좋지 않음 (예, 하이퍼v)
 이를 해결하기 위해 중첩 가상화(Nested Virtualization) 기술을 이용 - Intel VT-x 지원(o)
• 이 기술은 Type 2 중에 VM웨어가 잘 지원함
악성코드 자동화 분석을 통한 인텔리전스
10
 하이퍼바이저
하드웨어 호스트
운영체제
(윈도우 10)
하이퍼바이저
Type 2
(VM웨어)
게스트
운영체제
(우분투 서버)
하이퍼바이저
Type 2
(버추얼박스)
샌드박스
게스트
운영체제
(우분투 데스크톱)
2017년 제2분기 사이버 침해사고 정보공유 세미나
 허니팟 프로젝트 요건
 쉽게 해커에게 노출
• 취약한 소프트웨어들로 구성,
• 다양한 상황에 맞는 구성 요소
 시스템에 접근하는 모든 정보를 감시 및 기록 가능
 프로젝트
• 프로젝트 단위로 운영 (허니넷, 허니팟)
 클라이언트 허니팟
• 허니클라이언트(HoneyClient)로 불리기도 함
• 클라이언트 단위에서 동작
• 주로 인터넷 보안에 특화되어 있음
악성코드 자동화 분석을 통한 인텔리전스
11
 허니팟 프로젝트
2017년 제2분기 사이버 침해사고 정보공유 세미나
 클라이언트 허니팟 종류
 높은 상호작용 클라이언트 허니팟
• 실제 환경과 비슷한 가상 환경을 구축하여 운영
• 알려지지 않은 공격을 탐지 할 수 있음
• 성능 편차가 심함, 라이선스 비용이 큼, 구축 시간의 소모가 큼
 낮은 상호작용 클라이언트 허니팟
• 시뮬레이션 형태로 운영
• 탐지 및 차단이 빠름, 구축 시간이 빠름
• 알려지지 않은 공격을 탐지할 수 없음
 하이브리드 클라이언트 허니팟
• 높은, 낮은 상호작용의 단점을 극복하기 위해 장점들만을 이용
악성코드 자동화 분석을 통한 인텔리전스
12
 허니팟 프로젝트
2017년 제2분기 사이버 침해사고 정보공유 세미나
 발전 역사
악성코드 자동화 분석을 통한 인텔리전스
13
 쿡쿠 샌드박스
Rapid’s
Magnificent7
Malwr
Open
Cuckoo
Foundation
Brucon
2013
Malwr
Reload
New
Website
2012 2013 2014 2015
Dec
v0.5
Oct
v1.1.1Sep
v0.42
Aug
v0.41
Jul
v0.4
Apr
v0.6
Apr
v1.1
Jan
v1.0
Blackhat
2013
Consultancy
Service
Honey
Project
Google
SoC
Feb
v0.32
Dec
v0.3
Nov
v0.2
20112010
Feb
v0.1
Mar
v1.2
Jan
v2.0
2016 2017
Jan
v2.0
RC2
RC1
Jan
v2.0
2017년 제2분기 사이버 침해사고 정보공유 세미나
 분석 가능한 파일
 PE+, MSI, DLL files
 PDF documents
 Microsoft Office documents
 URLs and HTML files
 PHP scripts, CPL files
 Visual Basic (VB) scripts
 ZIP files, Java JAR, applet
 Python files
 기타 등등
악성코드 자동화 분석을 통한 인텔리전스
14
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 동작 원리
악성코드 자동화 분석을 통한 인텔리전스
15
 쿡쿠 샌드박스
분석 요청
악성코드
전달
분석 정보
레포트화
분석 정보
전달
쿡쿠 웹 인터페이스 쿡쿠 코어 샌드박스
쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 장점
 소스코드가 공개
 파이썬으로 제작되어 접합성이 뛰어남
 CLI와 GUI모드 둘 다 제공하고 있기 때문에, 독립적인 시스템으로 운영이 가능하고, 기능을 추가 혹은
변형 가능
 api.py 라는 유틸리티로 REST API를 제공받아 어떤 언어를 사용하든 Cuckoo의 기능을 붙일 수
있도록 제공
 현재까지 지속적인 버그 패치 및 버전 업그레이드를 제공
 사용자들과 지속적인 커뮤니케이션을 유지하여 새로운 방향성, 버그 패치, 시그니쳐 업데이트 등 제공
 샌드박스를 다수 개로 구성할 수 있으며, 각각의 시스템 환경을 다르게 할 수 있음
악성코드 자동화 분석을 통한 인텔리전스
16
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 단점
 핵심 기능은 문서화가 잘되어 있으나 자세하지 않음
 부가 기능은 문서화가 되어 있지 않음
 버전 명시가 안되어 있어 버전에 따라 달라지는 운영을 파악해야함 - 개선
 문제가 발생하면 레포팅하거나 직접 소스코드를 수정
• 서비스 제작자가 문제 해결 의지는 있으나 제작자 선택사항임
 문제가 되는 서비스나 의미 없는 추가 기능은 동의 없이 사라질 수 있음
악성코드 자동화 분석을 통한 인텔리전스
17
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 설치 환경
 Cuckoo Core Server
• Ubuntu 16.04 LTS Desktop 64 bit
• CPU 4 Core, Memory 4 GB
 Cuckoo DB Server
• Ubuntu 16.04 LTS Server 64 bit
• CPU 4 Core, Memory 4GB
 Sandbox
• Win7 SP1 32 bit
• CPU 1 Core, Memory 1024 MB
 Cuckoo Sandbox Application
• v 2.0.X
악성코드 자동화 분석을 통한 인텔리전스
18
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 인프라
악성코드 자동화 분석을 통한 인텔리전스
19
 쿡쿠 샌드박스
호스트
운영체제
하이퍼바이저
Type 2
쿡쿠 디비 서버
(우분투 서버)
하이퍼바이저
Type 2
쿡쿠 코어 서버
(우분투 데스크톱)
기타
운영 서버
(우분투 서버)
2017년 제2분기 사이버 침해사고 정보공유 세미나
 쿡쿠 샌드박스에서 사용하는 기술
 데이터베이스
• 스케쥴링 - RDBMS(SQLite, PostgreSQL, MySQL 등)
• 웹 데이터 - NoSQL(MongoDB)
• 검색 엔진 - ElasticSearch
 지원하는 하이퍼바이저
• XenServer, VMware(ESX,vSphere, Workstation), KVM, Qemu, Virtualbox
 물리 샌드박스 - Fog Project
 안드로이드 샌드박스 - AVD
 메모리 분석 - 볼라티리티(Volatility)
 네트워크 관련 - 스노트(Snort), 수리카타(Suricata), 모로크(Moloch)
 HTTP 서버 - 장고(Django), Werkzeug
악성코드 자동화 분석을 통한 인텔리전스
20
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 쿡쿠 샌드박스에서 사용하는 기술
 행위 분석 - 자체 개발한 트레이싱과 후킹을 이용한 시스템 분석 에이전트
 보고서 - HTML, PDF, JSON, 웹 사이트
 인텔리전스 연동 - MISP
 쿡쿠 시스템 관리 도구 - ICINGA
 안드로이드 관련 - GooglePlay, Droidmon, ApkInfo,
 바이러스토탈, Certification Pinning at PE
악성코드 자동화 분석을 통한 인텔리전스
21
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 쿡쿠 샌드박스에서 사용하는 기능
 다양한 악성코드용 해시 지원 - ssdeep, Imphash
 전자메일 첨부파일 분석 기능 - 2.0-RC2에서 언급 / 구현중(?)
 레터럴 무브먼트 분석 지원 - 다수의 샌드박스 동시 운영 2.0-RC1에서 언급 / 구현중(?)
 네트워크 라우팅 지원 - no 라우팅, drop 라우팅, dirty line, InetSim, Tor, VPN 등) / 구현되어 있으나
문서화되어 있지 않음
 TLS/HTTPS 트래픽 수집 및 복호화 - MITMProxy & HTTPReplay를 이용 / 구현되어 있으나
문서화되어 있지 않음
 메모리 베이스라인 분석 지원 - 구현되어 있으나 문서화되어 있지 않음
 프로세스 메모리에서 URL 추출 - 구현되어 있으나 잘 동작하지 않음
 정적 분석 시그니처와 동적 분석 시그니처 제작 - YARA와 쿡쿠 함수를 이용 / 구현 완료
 악성 행위 수치화 - 동적 분석 시그니처를 이용 / 구현 완료
 악성코드 비교 기능 - API 호출 순서에 의한 비교 / 구현 완료
악성코드 자동화 분석을 통한 인텔리전스
22
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 분석 데이터
 시연
• http://192.168.0.100:8000
악성코드 자동화 분석을 통한 인텔리전스
23
 쿡쿠 샌드박스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 조 샌드박스 - https://joesecurity.org/joe-security-products
• 무료 - 6가지 유형을 분석하는 기능을 제공
▪ File Analyzer, Document Analyzer, APK Analyzer, URL Analyzer, Yara Rule Generator, Mail
Analyzer
• 유료 - 무료의 모든 기능을 통합, 추가 기능(iOS, Mac 등) 지원
▪ JOESandbox Cloud
• 보고서 샘플 - https://www.joesecurity.org/joe-sandbox-reports
 하이브리드 아날리시스 - https://www.hybrid-analysis.com/
• API를 제공, OSINT로 사용하기 좋으나 개인 또는 독립형은 구매 필요
• 로그인 후 샘플 다운로드 가능
• 보고서 샘플 - https://www.hybrid-
analysis.com/sample/37462679766ade74c154a103f34df496760bff59e659ff5e1c9b18017806fd3d?
environmentId=100
악성코드 자동화 분석을 통한 인텔리전스
24
 다른 바이너리 자동화 분석 인텔리전스 서비스
2017년 제2분기 사이버 침해사고 정보공유 세미나
 인텔리전스 목적
 적을 파악 (선별)
 과거를 통해 미래를 예측 (대응)
 바이너리 분석 인텔리전스
 바이너리에서 사용하는 다양한 공격 및 응용 기법을 통계적으로 다룰 수 있음
• 데이터 마이닝을 통해 근본에 가까운 기법을 파악할 수 있음
 체계적으로 악성코드를 관리, 많은 데이터가 모이면 연관관계 분석 가능
 바이너리 분석 인텔리전스의 한계
 모든 데이터는 변조 / 위장 가능하다는 전제를 인식
 한계를 해결하기 위해 최대한 많은 데이터를 수집하는 것이 중요
• 서버, 클라이언트 전체를 다루어야 더욱 선명한 정보를 얻을 수 있음 - 바이너리의 한계
• 하지만 서버의 침해를 분석하거나 정보를 얻기 위한 권한이나 수사권이 없음(ㅠ.ㅠ)
악성코드 자동화 분석을 통한 인텔리전스
25
 바이너리 인텔리전스의 한계
2017년 제2분기 사이버 침해사고 정보공유 세미나
 악성코드 초동 분석은 자동화 분석 이용을 추천
 500건의 악성코드 > 자동화 분석 > 10건의 특별한 샘플 추출 > 상세 분석 = 효율성
 악성 여부를 파악하기 힘들 때 자동화 분석을 추천
 분석 요청 후 간략한 정보만으로 쉽게 추측이 가능
• 예, 오토런, 파일 시스템 사용 흔적, C2 통신 이력, 바이러스 토탈 탐지 내역 등 한눈에
 분석에 대한 기초지식을 크게 요구하지 않음 (도구의 편리성)
 오픈소스이기에 기능의 알고리즘을 파악하여 활용
 API를 이용하여 기존 시스템에 접목하여 활용
 악성코드 관련 신기술을 파악하기 좋음
 개선 및 기능 강화할 때 마다 다양한 기술을 접목시켜 활용
 여러 참여자가 다양한 형태로 변형하여 공개
악성코드 자동화 분석을 통한 인텔리전스
26
 결론
2017년 제2분기 사이버 침해사고 정보공유 세미나
악성코드 자동화 분석을 통한 인텔리전스
27
 결론
Q & A
The End

More Related Content

What's hot

gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
Apigee | Google Cloud
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
Terry Cho
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오
민완 진
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
NAVER Engineering
 
Systemes authentification
Systemes authentificationSystemes authentification
Systemes authentification
Lhouceine OUHAMZA
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
Pablo Feijó
 
AIX - LVM 이란?
AIX - LVM 이란?AIX - LVM 이란?
AIX - LVM 이란?
CheolHee Han
 
Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
Jérôme Tamborini
 
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
우현 김
 
Spring ioc
Spring iocSpring ioc
Spring ioc
Lhouceine OUHAMZA
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축
철구 김
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho
 
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
HostedbyConfluent
 
동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure
Eunmin Kim
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
NAVER D2
 
Getting Started with J2EE, A Roadmap
Getting Started with J2EE, A RoadmapGetting Started with J2EE, A Roadmap
Getting Started with J2EE, A Roadmap
Makarand Bhatambarekar
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
Sonam TCHEUTSEUN
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
Chris Ohk
 
Kafka with IBM Event Streams - Technical Presentation
Kafka with IBM Event Streams - Technical PresentationKafka with IBM Event Streams - Technical Presentation
Kafka with IBM Event Streams - Technical Presentation
Winton Winton
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03
Changyol BAEK
 

What's hot (20)

gRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at SquaregRPC: The Story of Microservices at Square
gRPC: The Story of Microservices at Square
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
진민완 포트폴리오
진민완 포트폴리오진민완 포트폴리오
진민완 포트폴리오
 
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현
 
Systemes authentification
Systemes authentificationSystemes authentification
Systemes authentification
 
Node.js, Uma breve introdução
Node.js, Uma breve introduçãoNode.js, Uma breve introdução
Node.js, Uma breve introdução
 
AIX - LVM 이란?
AIX - LVM 이란?AIX - LVM 이란?
AIX - LVM 이란?
 
Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?Java 11 to 17 : What's new !?
Java 11 to 17 : What's new !?
 
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
[제3회 스포카콘] React + TypeScript + GraphQL 으로 시작하는 Web Front-End
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...
 
동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure동시성 프로그래밍 하기 좋은 Clojure
동시성 프로그래밍 하기 좋은 Clojure
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Getting Started with J2EE, A Roadmap
Getting Started with J2EE, A RoadmapGetting Started with J2EE, A Roadmap
Getting Started with J2EE, A Roadmap
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
인프콘 2022 - Rust 크로스 플랫폼 프로그래밍
 
Kafka with IBM Event Streams - Technical Presentation
Kafka with IBM Event Streams - Technical PresentationKafka with IBM Event Streams - Technical Presentation
Kafka with IBM Event Streams - Technical Presentation
 
안정적인 서비스 운영 2014.03
안정적인 서비스 운영   2014.03안정적인 서비스 운영   2014.03
안정적인 서비스 운영 2014.03
 

Similar to 악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
Youngjun Chang
 
16.02.27 해킹캠프 오픈_소스_최우석_ver0.3
16.02.27 해킹캠프 오픈_소스_최우석_ver0.316.02.27 해킹캠프 오픈_소스_최우석_ver0.3
16.02.27 해킹캠프 오픈_소스_최우석_ver0.3
KISEC
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석
KISEC
 
정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드
Logpresso
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
Youngjun Chang
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMEC
SMEC Co.,Ltd.
 
유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술
HashScraper Inc.
 
Cybereason v2.10
Cybereason v2.10Cybereason v2.10
Cybereason v2.10
Harry Sohn
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
INSIGHT FORENSIC
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안
Youngjun Chang
 
IBM 보안솔루션_보안관제탑, 큐레이더!
IBM 보안솔루션_보안관제탑, 큐레이더! IBM 보안솔루션_보안관제탑, 큐레이더!
IBM 보안솔루션_보안관제탑, 큐레이더!
은옥 조
 
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
Ju Young Lee
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
minseok kim
 
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
INSIGHT FORENSIC
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
jason min
 
Nnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networksNnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networks
NAVER Engineering
 
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
Amazon Web Services Korea
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
uEngine Solutions
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09
Hakyong Kim
 

Similar to 악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스) (20)

보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
16.02.27 해킹캠프 오픈_소스_최우석_ver0.3
16.02.27 해킹캠프 오픈_소스_최우석_ver0.316.02.27 해킹캠프 오픈_소스_최우석_ver0.3
16.02.27 해킹캠프 오픈_소스_최우석_ver0.3
 
16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석16.02.27 해킹캠프 오픈 소스 최우석
16.02.27 해킹캠프 오픈 소스 최우석
 
정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드정보보호통합플랫폼 기술 트렌드
정보보호통합플랫폼 기술 트렌드
 
보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법보안 위협과 악성코드 분석 기법
보안 위협과 악성코드 분석 기법
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMEC
 
유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술
 
Cybereason v2.10
Cybereason v2.10Cybereason v2.10
Cybereason v2.10
 
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
(Ficon2016) #2 침해사고 대응, 이렇다고 전해라
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안
 
IBM 보안솔루션_보안관제탑, 큐레이더!
IBM 보안솔루션_보안관제탑, 큐레이더! IBM 보안솔루션_보안관제탑, 큐레이더!
IBM 보안솔루션_보안관제탑, 큐레이더!
 
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
IaaS Cloud에서의 통합 모니터링 및 침입 탐지 체계 도입
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
(Fios#03) 2. 네트워크 가상화 환경에서의 침해대응
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
 
Nnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networksNnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networks
 
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
랜섬웨어(Ransomware)와 AWS 클라우드 보안 - 신용녀 (AWS 솔루션즈아키텍트) :: 특별 보안 웨비나
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09
 

악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)

  • 1. 인텔리전스 악성코드 자동화 분석을 통한 최우석 선임연구원 cws@kisec.com
  • 2. 목차  악성코드 및 분석 방법론 동향  오픈소스 라이선스  하이퍼바이저  허니팟 프로젝트  쿡쿠 샌드박스  다른 바이너리 자동화 분석 인텔리전스 서비스  바이너리 인텔리전스의 한계  결론
  • 3. 2017년 제2분기 사이버 침해사고 정보공유 세미나 악성코드 자동화 분석을 통한 인텔리전스 3  악성코드 동향  악성코드 발생의 고도화
  • 4. 2017년 제2분기 사이버 침해사고 정보공유 세미나 악성코드 자동화 분석을 통한 인텔리전스 4  악성코드 분석 방법론 동향  악성코드 분석 방법론 - 기존 기초 정적 분석 안티바이러스 테스트 악성코드 해시 추출 팩커 / 난독화 탐지 악성코드 문자열 추출 기초 동적 분석 악성코드 프로세스 모니터링 네트워크 활동 모니터링 파일시스템 변경사항 분석 레지스트리 변경사항 분석 고급 정적 분석 파일 포맷 분석 묵시적 DLL 링크 및 API 분석 디스어셈블러를 이용한 흐름 분석 디컴파일러를 이용한 흐름 분석 고급 동적 분석 악성코드 프로그램 디버깅 명시적 DLL 링크 및 API 분석 메모리 분석 숨겨지거나 비활성화 된 기능 분석 초동 분석 상세 분석
  • 5. 2017년 제2분기 사이버 침해사고 정보공유 세미나 악성코드 자동화 분석을 통한 인텔리전스 5  악성코드 분석 방법론 동향  악성코드 분석 방법론 - 자동화 구현 확인 추가 구현 가능 기능 미 구현/발견, 반자동화 기초 정적 분석 안티바이러스 테스트 악성코드 해시 추출 팩커 / 난독화 탐지 악성코드 문자열 추출 기초 동적 분석 악성코드 프로세스 모니터링 네트워크 활동 모니터링 파일시스템 변경사항 분석 레지스트리 변경사항 분석 고급 정적 분석 파일 포맷 분석 묵시적 DLL 링크 및 API 분석 디스어셈블러를 이용한 흐름 분석 디컴파일러를 이용한 흐름 분석 고급 동적 분석 악성코드 프로그램 디버깅 명시적 DLL 링크 및 API 분석 메모리 분석 숨겨지거나 비활성화 된 기능 분석 초동 분석 상세 분석
  • 6. 2017년 제2분기 사이버 침해사고 정보공유 세미나 악성코드 자동화 분석을 통한 인텔리전스 6  오픈소스 라이선스  라이선스 동향 34% 25% 15% 6% 6% 14% 0% 5% 10% 15% 20% 25% 30% 35% 40% GNU GPL 2.0 & 3.0 MIT Apache 2.0 BSD 3 GNU LGPL 2.1 Other 2016 오픈소스 라이선스 Top 5 쿡쿠 샌드박스
  • 7. 2017년 제2분기 사이버 침해사고 정보공유 세미나  오픈소스 라이선스 비교 악성코드 자동화 분석을 통한 인텔리전스 7  오픈소스 라이선스 라이선스 링크 배포 수정 특허 비공개 사용 라이선스 재설정 상표 GNU GPL 자기 자신 비상업적 가능 비상업적 가능 가능 가능 비상업적 가능 가능 MIT 가능 가능 가능 불가능 가능 가능 불가능 Apache 가능 가능 가능 가능 가능 가능 불가능 BSD 가능 가능 가능 불가능 가능 가능 불가능 GNU LGPL 제한 비상업적 가능 비상업적 가능 가능 가능 비상업적 가능 가능
  • 8. 2017년 제2분기 사이버 침해사고 정보공유 세미나  샌드박스  컴퓨터 보안에서 샌드박스는 실행되는 프로그램을 분리하기 위한 보안 메커니즘  디스크, 메모리 공간에 엄격한 자원 제어를 통해 서비스를 제공  보통 가상화를 통해 구현  가상머신(하이퍼바이저)  샌드박스는 가상머신으로 많이 구현  가상머신을 구현하도록 도와주는 소프트웨어를 하이퍼바이저로 불림 악성코드 자동화 분석을 통한 인텔리전스 8  하이퍼바이저
  • 9. 2017년 제2분기 사이버 침해사고 정보공유 세미나  가상머신(하이퍼바이저)  하이퍼바이저는 Type 1과 Type 2 방식이 있음 악성코드 자동화 분석을 통한 인텔리전스 9  하이퍼바이저 하드웨어 하이퍼바이저 Type 1 운영체제 하드웨어 호스트 운영체제 하이퍼바이저 Type 2 게스트 운영체제
  • 10. 2017년 제2분기 사이버 침해사고 정보공유 세미나  가상머신(하이퍼바이저)  쿡쿠 샌드박스는 물리적 시스템으로 구축하려면 많은 비용이 필요함  호스트 운영체제를 리눅스 계열로 쓰기 힘듬 • Type 1을 고려할 수 없으며, Type 1과 Type 2 호환성이 좋지 않음 (예, 하이퍼v)  이를 해결하기 위해 중첩 가상화(Nested Virtualization) 기술을 이용 - Intel VT-x 지원(o) • 이 기술은 Type 2 중에 VM웨어가 잘 지원함 악성코드 자동화 분석을 통한 인텔리전스 10  하이퍼바이저 하드웨어 호스트 운영체제 (윈도우 10) 하이퍼바이저 Type 2 (VM웨어) 게스트 운영체제 (우분투 서버) 하이퍼바이저 Type 2 (버추얼박스) 샌드박스 게스트 운영체제 (우분투 데스크톱)
  • 11. 2017년 제2분기 사이버 침해사고 정보공유 세미나  허니팟 프로젝트 요건  쉽게 해커에게 노출 • 취약한 소프트웨어들로 구성, • 다양한 상황에 맞는 구성 요소  시스템에 접근하는 모든 정보를 감시 및 기록 가능  프로젝트 • 프로젝트 단위로 운영 (허니넷, 허니팟)  클라이언트 허니팟 • 허니클라이언트(HoneyClient)로 불리기도 함 • 클라이언트 단위에서 동작 • 주로 인터넷 보안에 특화되어 있음 악성코드 자동화 분석을 통한 인텔리전스 11  허니팟 프로젝트
  • 12. 2017년 제2분기 사이버 침해사고 정보공유 세미나  클라이언트 허니팟 종류  높은 상호작용 클라이언트 허니팟 • 실제 환경과 비슷한 가상 환경을 구축하여 운영 • 알려지지 않은 공격을 탐지 할 수 있음 • 성능 편차가 심함, 라이선스 비용이 큼, 구축 시간의 소모가 큼  낮은 상호작용 클라이언트 허니팟 • 시뮬레이션 형태로 운영 • 탐지 및 차단이 빠름, 구축 시간이 빠름 • 알려지지 않은 공격을 탐지할 수 없음  하이브리드 클라이언트 허니팟 • 높은, 낮은 상호작용의 단점을 극복하기 위해 장점들만을 이용 악성코드 자동화 분석을 통한 인텔리전스 12  허니팟 프로젝트
  • 13. 2017년 제2분기 사이버 침해사고 정보공유 세미나  발전 역사 악성코드 자동화 분석을 통한 인텔리전스 13  쿡쿠 샌드박스 Rapid’s Magnificent7 Malwr Open Cuckoo Foundation Brucon 2013 Malwr Reload New Website 2012 2013 2014 2015 Dec v0.5 Oct v1.1.1Sep v0.42 Aug v0.41 Jul v0.4 Apr v0.6 Apr v1.1 Jan v1.0 Blackhat 2013 Consultancy Service Honey Project Google SoC Feb v0.32 Dec v0.3 Nov v0.2 20112010 Feb v0.1 Mar v1.2 Jan v2.0 2016 2017 Jan v2.0 RC2 RC1 Jan v2.0
  • 14. 2017년 제2분기 사이버 침해사고 정보공유 세미나  분석 가능한 파일  PE+, MSI, DLL files  PDF documents  Microsoft Office documents  URLs and HTML files  PHP scripts, CPL files  Visual Basic (VB) scripts  ZIP files, Java JAR, applet  Python files  기타 등등 악성코드 자동화 분석을 통한 인텔리전스 14  쿡쿠 샌드박스
  • 15. 2017년 제2분기 사이버 침해사고 정보공유 세미나  동작 원리 악성코드 자동화 분석을 통한 인텔리전스 15  쿡쿠 샌드박스 분석 요청 악성코드 전달 분석 정보 레포트화 분석 정보 전달 쿡쿠 웹 인터페이스 쿡쿠 코어 샌드박스 쿡쿠 샌드박스
  • 16. 2017년 제2분기 사이버 침해사고 정보공유 세미나  장점  소스코드가 공개  파이썬으로 제작되어 접합성이 뛰어남  CLI와 GUI모드 둘 다 제공하고 있기 때문에, 독립적인 시스템으로 운영이 가능하고, 기능을 추가 혹은 변형 가능  api.py 라는 유틸리티로 REST API를 제공받아 어떤 언어를 사용하든 Cuckoo의 기능을 붙일 수 있도록 제공  현재까지 지속적인 버그 패치 및 버전 업그레이드를 제공  사용자들과 지속적인 커뮤니케이션을 유지하여 새로운 방향성, 버그 패치, 시그니쳐 업데이트 등 제공  샌드박스를 다수 개로 구성할 수 있으며, 각각의 시스템 환경을 다르게 할 수 있음 악성코드 자동화 분석을 통한 인텔리전스 16  쿡쿠 샌드박스
  • 17. 2017년 제2분기 사이버 침해사고 정보공유 세미나  단점  핵심 기능은 문서화가 잘되어 있으나 자세하지 않음  부가 기능은 문서화가 되어 있지 않음  버전 명시가 안되어 있어 버전에 따라 달라지는 운영을 파악해야함 - 개선  문제가 발생하면 레포팅하거나 직접 소스코드를 수정 • 서비스 제작자가 문제 해결 의지는 있으나 제작자 선택사항임  문제가 되는 서비스나 의미 없는 추가 기능은 동의 없이 사라질 수 있음 악성코드 자동화 분석을 통한 인텔리전스 17  쿡쿠 샌드박스
  • 18. 2017년 제2분기 사이버 침해사고 정보공유 세미나  설치 환경  Cuckoo Core Server • Ubuntu 16.04 LTS Desktop 64 bit • CPU 4 Core, Memory 4 GB  Cuckoo DB Server • Ubuntu 16.04 LTS Server 64 bit • CPU 4 Core, Memory 4GB  Sandbox • Win7 SP1 32 bit • CPU 1 Core, Memory 1024 MB  Cuckoo Sandbox Application • v 2.0.X 악성코드 자동화 분석을 통한 인텔리전스 18  쿡쿠 샌드박스
  • 19. 2017년 제2분기 사이버 침해사고 정보공유 세미나  인프라 악성코드 자동화 분석을 통한 인텔리전스 19  쿡쿠 샌드박스 호스트 운영체제 하이퍼바이저 Type 2 쿡쿠 디비 서버 (우분투 서버) 하이퍼바이저 Type 2 쿡쿠 코어 서버 (우분투 데스크톱) 기타 운영 서버 (우분투 서버)
  • 20. 2017년 제2분기 사이버 침해사고 정보공유 세미나  쿡쿠 샌드박스에서 사용하는 기술  데이터베이스 • 스케쥴링 - RDBMS(SQLite, PostgreSQL, MySQL 등) • 웹 데이터 - NoSQL(MongoDB) • 검색 엔진 - ElasticSearch  지원하는 하이퍼바이저 • XenServer, VMware(ESX,vSphere, Workstation), KVM, Qemu, Virtualbox  물리 샌드박스 - Fog Project  안드로이드 샌드박스 - AVD  메모리 분석 - 볼라티리티(Volatility)  네트워크 관련 - 스노트(Snort), 수리카타(Suricata), 모로크(Moloch)  HTTP 서버 - 장고(Django), Werkzeug 악성코드 자동화 분석을 통한 인텔리전스 20  쿡쿠 샌드박스
  • 21. 2017년 제2분기 사이버 침해사고 정보공유 세미나  쿡쿠 샌드박스에서 사용하는 기술  행위 분석 - 자체 개발한 트레이싱과 후킹을 이용한 시스템 분석 에이전트  보고서 - HTML, PDF, JSON, 웹 사이트  인텔리전스 연동 - MISP  쿡쿠 시스템 관리 도구 - ICINGA  안드로이드 관련 - GooglePlay, Droidmon, ApkInfo,  바이러스토탈, Certification Pinning at PE 악성코드 자동화 분석을 통한 인텔리전스 21  쿡쿠 샌드박스
  • 22. 2017년 제2분기 사이버 침해사고 정보공유 세미나  쿡쿠 샌드박스에서 사용하는 기능  다양한 악성코드용 해시 지원 - ssdeep, Imphash  전자메일 첨부파일 분석 기능 - 2.0-RC2에서 언급 / 구현중(?)  레터럴 무브먼트 분석 지원 - 다수의 샌드박스 동시 운영 2.0-RC1에서 언급 / 구현중(?)  네트워크 라우팅 지원 - no 라우팅, drop 라우팅, dirty line, InetSim, Tor, VPN 등) / 구현되어 있으나 문서화되어 있지 않음  TLS/HTTPS 트래픽 수집 및 복호화 - MITMProxy & HTTPReplay를 이용 / 구현되어 있으나 문서화되어 있지 않음  메모리 베이스라인 분석 지원 - 구현되어 있으나 문서화되어 있지 않음  프로세스 메모리에서 URL 추출 - 구현되어 있으나 잘 동작하지 않음  정적 분석 시그니처와 동적 분석 시그니처 제작 - YARA와 쿡쿠 함수를 이용 / 구현 완료  악성 행위 수치화 - 동적 분석 시그니처를 이용 / 구현 완료  악성코드 비교 기능 - API 호출 순서에 의한 비교 / 구현 완료 악성코드 자동화 분석을 통한 인텔리전스 22  쿡쿠 샌드박스
  • 23. 2017년 제2분기 사이버 침해사고 정보공유 세미나  분석 데이터  시연 • http://192.168.0.100:8000 악성코드 자동화 분석을 통한 인텔리전스 23  쿡쿠 샌드박스
  • 24. 2017년 제2분기 사이버 침해사고 정보공유 세미나  조 샌드박스 - https://joesecurity.org/joe-security-products • 무료 - 6가지 유형을 분석하는 기능을 제공 ▪ File Analyzer, Document Analyzer, APK Analyzer, URL Analyzer, Yara Rule Generator, Mail Analyzer • 유료 - 무료의 모든 기능을 통합, 추가 기능(iOS, Mac 등) 지원 ▪ JOESandbox Cloud • 보고서 샘플 - https://www.joesecurity.org/joe-sandbox-reports  하이브리드 아날리시스 - https://www.hybrid-analysis.com/ • API를 제공, OSINT로 사용하기 좋으나 개인 또는 독립형은 구매 필요 • 로그인 후 샘플 다운로드 가능 • 보고서 샘플 - https://www.hybrid- analysis.com/sample/37462679766ade74c154a103f34df496760bff59e659ff5e1c9b18017806fd3d? environmentId=100 악성코드 자동화 분석을 통한 인텔리전스 24  다른 바이너리 자동화 분석 인텔리전스 서비스
  • 25. 2017년 제2분기 사이버 침해사고 정보공유 세미나  인텔리전스 목적  적을 파악 (선별)  과거를 통해 미래를 예측 (대응)  바이너리 분석 인텔리전스  바이너리에서 사용하는 다양한 공격 및 응용 기법을 통계적으로 다룰 수 있음 • 데이터 마이닝을 통해 근본에 가까운 기법을 파악할 수 있음  체계적으로 악성코드를 관리, 많은 데이터가 모이면 연관관계 분석 가능  바이너리 분석 인텔리전스의 한계  모든 데이터는 변조 / 위장 가능하다는 전제를 인식  한계를 해결하기 위해 최대한 많은 데이터를 수집하는 것이 중요 • 서버, 클라이언트 전체를 다루어야 더욱 선명한 정보를 얻을 수 있음 - 바이너리의 한계 • 하지만 서버의 침해를 분석하거나 정보를 얻기 위한 권한이나 수사권이 없음(ㅠ.ㅠ) 악성코드 자동화 분석을 통한 인텔리전스 25  바이너리 인텔리전스의 한계
  • 26. 2017년 제2분기 사이버 침해사고 정보공유 세미나  악성코드 초동 분석은 자동화 분석 이용을 추천  500건의 악성코드 > 자동화 분석 > 10건의 특별한 샘플 추출 > 상세 분석 = 효율성  악성 여부를 파악하기 힘들 때 자동화 분석을 추천  분석 요청 후 간략한 정보만으로 쉽게 추측이 가능 • 예, 오토런, 파일 시스템 사용 흔적, C2 통신 이력, 바이러스 토탈 탐지 내역 등 한눈에  분석에 대한 기초지식을 크게 요구하지 않음 (도구의 편리성)  오픈소스이기에 기능의 알고리즘을 파악하여 활용  API를 이용하여 기존 시스템에 접목하여 활용  악성코드 관련 신기술을 파악하기 좋음  개선 및 기능 강화할 때 마다 다양한 기술을 접목시켜 활용  여러 참여자가 다양한 형태로 변형하여 공개 악성코드 자동화 분석을 통한 인텔리전스 26  결론
  • 27. 2017년 제2분기 사이버 침해사고 정보공유 세미나 악성코드 자동화 분석을 통한 인텔리전스 27  결론
  • 28. Q & A