Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Phil Estes
A presentation given on Thursday, January 19th, 2017 at the Devops Remote Conf 2017. This talk details the history of the Docker engine architecture, focusing on the split in April 2016 into the containerd and runc layers, and talking through the December 2016 announcement of the *new containerd project and what it will bring for the Docker engine and other consumers.
One of the biggest advantages of Git is its branching capabilities. Unlike centralized version control systems, Git branches are cheap and easy to merge. This facilitates the feature branch workflow popular with many Git users.
Diving Through The Layers: Investigating runc, containerd, and the Docker eng...Phil Estes
A presentation given on Thursday, January 19th, 2017 at the Devops Remote Conf 2017. This talk details the history of the Docker engine architecture, focusing on the split in April 2016 into the containerd and runc layers, and talking through the December 2016 announcement of the *new containerd project and what it will bring for the Docker engine and other consumers.
One of the biggest advantages of Git is its branching capabilities. Unlike centralized version control systems, Git branches are cheap and easy to merge. This facilitates the feature branch workflow popular with many Git users.
Back in 2015, Square and Google collaborated to launch gRPC, an open source RPC framework backed by protocol buffers and HTTP/2, based on real-world experiences operating microservices at scale. If you build microservices, you will be interested in gRPC.
This webcast covers:
- a technical overview of gRPC
- use cases and applicability in your stack
- a deep dive into the practicalities of operationalizing gRPC
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
네이버 오픈소스 세미나 - Performance does matter
2019.07.11
<세션 요약>
네이버 서비스에서 사내 서버리스 플랫폼까지 흘러가는 트랜잭션을 추적하고 분석하기 위해 개발한 Pinpoint의 Apache Openwhisk 플러그인과 그 개발 과정을 소개합니다.
Apache Openwhisk는 서버리스 플랫폼을 구축할 수 있는 오픈소스 프로젝트로 스칼라 언어와 Akka 라이브러리를 사용한 Actor 모델에 기반하고 있습니다. 스칼라 언어로 작성된 애플리케이션을 위한 Pinpoint 플러그인을 만들면서 겪었던 문제들과 해결했던 과정들을 위주로 설명드릴 예정입니다.
<연사 소개>
네이버에서 Serverless 플랫폼을 개발하고 있으며, 다양한 오픈소스 프로젝트에 관심이 많습니다.
Apache Openwhisk contributor로 활동하면서, Openwhisk 기반 서버리스 플랫폼의 트레이싱을 위한 Pinpoint 플러그인을 개발하고 컨트리뷰션을 진행하고 있습니다.
Spring Security is a framework that provides authentication, authorization, and protection against common attacks. With first class support for both imperative and reactive applications, it is the de-facto standard for securing Spring-based applications.
The Spring IoC container is at the core of the Spring Framework. The container will create the objects, wire them together, configure them, and manage their complete life cycle from creation till destruction. The Spring container uses dependency injection (DI) to manage the components that make up an application.
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...HostedbyConfluent
"Apache Kafka is Robinhood’s most mission-critical infrastructure. It is used in every line of Robinhood’s business, from stock and crypto trading to self-clearing, market data and data science. Most of our microservices are written in either Golang or Python, and we have multiple librdkafka-based client library wrappers (kafkahood) developed in both languages. As Robinhood grows, it has become challenging for infrastructure engineers to manage the different requirements that the multitude of application teams have for their producers and consumers. To efficiently manage all Kafka consumers at Robinhood, we have developed a Consumer Proxy that decouples the following:
● Kafka consumer logic from message processing in application business logic
● Resource utilization in Kafka consumer from that in application container
● Kafka consumer failure from application failure
The Consumer Proxy is built in a Kubernetes sidecar container, it offers stateless processing, and it manages commits and timeouts. Most importantly, applications need the ability to scale up during market hours and scale down after extended trading hours, and the Consumer Proxy will allow them to easily rebalance consumer groups during these scaling events. Eventually, specific language library wrappers can remain a """"thin"""" layer whose complexities are only to facilitate the business logic of the corresponding application team with what they should do with the payload.
Unifying Kafka consumers and producers for an application team in one sidecar proxy container allows the infrastructure team to effectively manage clients at Robinhood. If your organization is looking to centralize Kafka consumption logic to a singular client library (instead of multiple different client libraries), please attend this talk to see how Robinhood does it so that the infrastructure team can focus development on a singular library rather than N different client libraries."
J2EE Getting started What is involved to be a J2EE Developer,
This presentation gives an overview of Technologies and Arch in General.
And shows where Spring,Struts,Hibernate,Webservices,MVC fit
Back in 2015, Square and Google collaborated to launch gRPC, an open source RPC framework backed by protocol buffers and HTTP/2, based on real-world experiences operating microservices at scale. If you build microservices, you will be interested in gRPC.
This webcast covers:
- a technical overview of gRPC
- use cases and applicability in your stack
- a deep dive into the practicalities of operationalizing gRPC
[네이버오픈소스세미나] Pinpoint를 이용해서 서버리스 플랫폼 Apache Openwhisk 트레이싱하기 - 오승현NAVER Engineering
네이버 오픈소스 세미나 - Performance does matter
2019.07.11
<세션 요약>
네이버 서비스에서 사내 서버리스 플랫폼까지 흘러가는 트랜잭션을 추적하고 분석하기 위해 개발한 Pinpoint의 Apache Openwhisk 플러그인과 그 개발 과정을 소개합니다.
Apache Openwhisk는 서버리스 플랫폼을 구축할 수 있는 오픈소스 프로젝트로 스칼라 언어와 Akka 라이브러리를 사용한 Actor 모델에 기반하고 있습니다. 스칼라 언어로 작성된 애플리케이션을 위한 Pinpoint 플러그인을 만들면서 겪었던 문제들과 해결했던 과정들을 위주로 설명드릴 예정입니다.
<연사 소개>
네이버에서 Serverless 플랫폼을 개발하고 있으며, 다양한 오픈소스 프로젝트에 관심이 많습니다.
Apache Openwhisk contributor로 활동하면서, Openwhisk 기반 서버리스 플랫폼의 트레이싱을 위한 Pinpoint 플러그인을 개발하고 컨트리뷰션을 진행하고 있습니다.
Spring Security is a framework that provides authentication, authorization, and protection against common attacks. With first class support for both imperative and reactive applications, it is the de-facto standard for securing Spring-based applications.
The Spring IoC container is at the core of the Spring Framework. The container will create the objects, wire them together, configure them, and manage their complete life cycle from creation till destruction. The Spring container uses dependency injection (DI) to manage the components that make up an application.
Robinhood’s Kafkaproxy: Decoupling Kafka Consumer Logic from Application Busi...HostedbyConfluent
"Apache Kafka is Robinhood’s most mission-critical infrastructure. It is used in every line of Robinhood’s business, from stock and crypto trading to self-clearing, market data and data science. Most of our microservices are written in either Golang or Python, and we have multiple librdkafka-based client library wrappers (kafkahood) developed in both languages. As Robinhood grows, it has become challenging for infrastructure engineers to manage the different requirements that the multitude of application teams have for their producers and consumers. To efficiently manage all Kafka consumers at Robinhood, we have developed a Consumer Proxy that decouples the following:
● Kafka consumer logic from message processing in application business logic
● Resource utilization in Kafka consumer from that in application container
● Kafka consumer failure from application failure
The Consumer Proxy is built in a Kubernetes sidecar container, it offers stateless processing, and it manages commits and timeouts. Most importantly, applications need the ability to scale up during market hours and scale down after extended trading hours, and the Consumer Proxy will allow them to easily rebalance consumer groups during these scaling events. Eventually, specific language library wrappers can remain a """"thin"""" layer whose complexities are only to facilitate the business logic of the corresponding application team with what they should do with the payload.
Unifying Kafka consumers and producers for an application team in one sidecar proxy container allows the infrastructure team to effectively manage clients at Robinhood. If your organization is looking to centralize Kafka consumption logic to a singular client library (instead of multiple different client libraries), please attend this talk to see how Robinhood does it so that the infrastructure team can focus development on a singular library rather than N different client libraries."
J2EE Getting started What is involved to be a J2EE Developer,
This presentation gives an overview of Technologies and Arch in General.
And shows where Spring,Struts,Hibernate,Webservices,MVC fit
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
마이크로서비스로 시스템을 구성하면 서비스간에 연관관계가 줄어들면서 서비스 릴리즈 속도가 높아지고 유연하게 대처할 수 있지만, 관리포인트가 늘어나게 되어 운영상에 많은 어려움을 마주치게 됩니다. 배포 될 때마다 생성되고 소멸되는 마이크로서비스를 다른 마이크로서비스가 쉽게 참조하게 하고 마이크로서비스들의 설정 정보를 일관되게 관리하는 일은 쉬운일이 아닙니다. 이러한 문제를 해결하기 위해 Spring Cloud 프로젝트와 같은 도구를 비롯하여 Pivotal Cloud Foundry와 같은 클라우드 플랫폼등이 있습니다. 이번 밋업에서는 마이크로서비스를 운영할 때의 어려운점과 도움을 주는 다양한 도구들에 대해 알아보도록 하겠습니다.
Nnstreamer stream pipeline for arbitrary neural networksNAVER Engineering
In the recent decade, we have witnessed widespread of deep neural networks and their applications. With the evolution of consumer electronics, the range of applicable devices for such deep neural networks is expanding as well to personal, mobile, or even wearable devices. The new challenge of such systems is to efficiently manage data streams between sensors (cameras, mics, radars, lidars, and so on), media filters, neural network models and their post processors, and applications. In order to tackle the challenge with less effort and more effect, we propose to implement general neural network supporting filters for Gstreamer, which is actively developed and tested at https://github.com/nnsuite/nnstreamer
With NNStreamer, neural network developers may easily configure streams with various sensors and models and execute the streams with high efficiency. Besides, media stream developers can now use deep neural networks as yet another media filters with much less efforts.
최근 랜섬웨어(Ransomware)를 통한 공격이 늘어나고 있습니다. 이에 대비하여 AWS 클라우드를 사용하는 고객의 대응 방안에 대해 알려드리는 보안 특집 세미나입니다. 본 세션에서는 다원화되고 있는 랜섬웨어 공격 패턴과 WannaCry 같은 잘 알려진 공격 및 이에 대한 AWS 공식적인 보안 공지 및 대응 매뉴얼을 소개합니다. 또한, AWS 고객들이 랜섬웨어 공격에 미리 대비하기 위해 OS 패치 및 보안 관리를 위한 EC2 System Manager, VPC 보안 그룹 및 Flow Logs 활용 방법, AWS Inspector 를 통한 취약점 관리 등에 대해 상세히 설명합니다.
최근 한국인터넷진흥원에서 "사물인터넷 보안 사례 및 대응 방안"이라는 주제로 발표자료를 공유합니다. 강연을 요청했던 곳과의 관계를 생각해서 원래 자료에서 일부 디테일한 내용들을 삭제하고 공개하는 점에 대해서는 양해 부탁드립니다.
.
자료의 구성은 다음과 같습니다. 먼저, 기존의 인터넷 보안과 사물인터넷 보안의 차이를 설명한 후 CPS 보안, 즉 사물인터넷 보안은 인터넷 보안뿐만 아니라 Cyber Physical Systems 관점에서 사물인터넷 보안을 생각해야 한다는 내용을 소개하고 있습니다.
.
그리고, 다양한 사물인터넷 보안 사고의 사례들을 소개하고 있습니다. 실제 강연에서는 조금 더 구체적으로 설명을 하는데, 간단한 설명만 있어서 도움이 될 지 모르겠지만, 관련 링크를 찾아보시면 될 것 같습니다.
.
마지막으로, 사물인터넷 보안이 중요한 문제가 되는 이유에 대해서 살펴보고 대응 방안, 대응 기술에는 어떤 것들이 있는지 살펴보고 있습니다. 참고로 무선 기술에서의 보안 기법은 소개하지 않습니다.
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
결론