시큐리티361 2018 Korea 사이버 공격과 방어 데모...

23
[사이버 공격과 방어 데모 시연] 아파치 취약점 익스플로잇 공격, 가상화폐 크립토 재킹 공격과 보안 방어책 시연 포티넷 코리아 / 배준호 이사 1

Transcript of 시큐리티361 2018 Korea 사이버 공격과 방어 데모...

Page 1: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

[사이버�공격과�방어�데모�시연]�

아파치�취약점�익스플로잇�공격,�가상화폐�크립토�재킹�공격과��

보안�방어책�시연

포티넷�코리아�/�배준호�이사�

!1

Page 2: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

!2

Disclaimer�주의�부탁�드립니다.사이버�공격�라이브�데모

이�데모에서�제공되는�모든�정보는�교육�목적으로만�제공�됩니다.�

다음의�시연은�데이터�네트워크�보안�및�기타�관련�주제에�대한�정보를�제공하는�것을�전제로하고�있으며�"크래킹"또는�"해킹”�(비윤리적인)을�권장하지�않습니다.�

귀하가�소유하지�않은�컴퓨터�또는�네트워크에서�해킹�시도(허가�없이)는�불법이며�법으로�처벌�될�수�있습니다.

Page 3: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�3

I. 2018:�사이버�공격�데모�개요�

II. 데모�시연�

III.대응�방안�제안�

Contents

Page 4: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

I.�2018�사이버�공격�데모�개요�

Page 5: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�5

2012:�DoS�&�Website�defacement�attacks�

2013:�MITM,�SSL�Strip-�steal�facebook�user/password�even�with�HTTPs�

2014:�HeartBleed,�CVE�2014-0160-�one�of�the�biggest�internet�vulnerability�

2015:�Spear-phishing�and�Remote�Access�Trojan�(RAT)�

2016:�랜섬웨어�그리고�무선�와이파이�twin�AP�해킹�시연��

2017:�IoT�사물인터넷�기기�해킹,�워너크라이�랜섬웨어�감염�시연�

2018:�Apache�Struts�취약점�공격�그리고�크립토�재킹�공격�시연�

Security�361,�사이버�공격�데모�시리즈�

Page 6: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�6

인터넷라우터

스위치

스위치

내부망�분리�방화벽

방화벽

ADC

DMZ�서버�팜DNS�서비스�

http://erp.fortinet.com�서비스�IP�100.100.100.100

고객�PC�스마트기기�직원�PC�스마트기기

IPS

WAF

IPS

스위치

내부�서버�팜�1

내부�서버�팜�2

내부�DB

ADCWAF

데이터센터�DC

웹�서비스�인프라�http://erp.fortinet.com

Page 7: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�7

인터넷라우터

스위치

스위치

내부망�분리�방화벽

방화벽

ADC

DMZ�서버�팜DNS�서비스�

http://erp.fortinet.com�서비스�IP�100.100.100.100

IPS

WAF

IPS

스위치

내부�서버�팜�1

내부�서버�팜�2

내부�DB

ADCWAF

데이터센터�DC

웹�서비스�인프라�http://erp.fortinet.com

웹�브라우저로�웹�서비스�접속

DNS�쿼리 HTTP�요청�패킷

방화벽�정책�검사

IPS�시그니처�검사

WAF�정책�검사

•서비스�IP�100.100.100.100�•서버�로드�밸런싱

HTTP�응답�패킷

Page 8: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�8

DMZ�서버�팜

내부�서버�팜�1

내부�서버�팜�2

내부�DB

인터넷라우터

스위치

스위치

내부망�분리�방화벽

방화벽

ADC

DNS�서비스�http://erp.fortinet.com�서비스�IP�100.100.100.100

IPS

WAF

IPS

스위치

ADCWAF

데이터센터�DC

웹�서비스�인프라�http://erp.fortinet.com

웹�브라우저로�웹�서비스�접속

Apache Struts2는 JAVA 엔터프라이즈 웹 애플리케이션을 개발하기 위한 MVC 모델 기반 오픈 소스 프레임워크.

개발자가 웹 개발을 쉽게 할 수 있도록 여러가지 플러그인을 제공 (REST, AJAX, JSON)

CVE-2017-5638 취약점: HTTP Request 헤더의 Content-Type 헤더 필드에 OGNL 표현식을 삽입할 경우, Struts2 Jakarta 플러그인 오류 처리로 인해서 RCE(Remote Code Execution, 원격 코드 실행) 가능.

취약한 버전: Apache Struts2, 2.3.5 ~ 2.3.31 Apache Struts2, 2.5 ~ 2.5.10

취약점�Vulnerability

Page 9: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�9

DMZ�서버�팜

내부�서버�팜�1

내부�서버�팜�2

내부�DB

인터넷라우터

스위치

스위치

내부망�분리�방화벽

방화벽

ADC

DNS�서비스�http://erp.fortinet.com�서비스�IP�100.100.100.100

IPS

WAF

IPS

스위치

ADCWAF

데이터센터�DC

웹�서비스�인프라�http://erp.fortinet.com

웹�브라우저로�웹�서비스�접속

Apache Struts2는 JAVA 엔터프라이즈 웹 애플리케이션을 개발하기 위한 MVC 모델 기반 오픈 소스 프레임워크.

개발자가 웹 개발을 쉽게 할 수 있도록 여러가지 플러그인을 제공 (REST, AJAX, JSON)

CVE-2017-5638 취약점: HTTP Request 헤더의 Content-Type 헤더 필드에 OGNL 표현식을 삽입할 경우, Struts2 Jakarta 플러그인 오류 처리로 인해서 RCE(Remote Code Execution, 원격 코드 실행) 가능.

취약한 버전: Apache Struts2, 2.3.5 ~ 2.3.31 Apache Struts2, 2.5 ~ 2.5.10

Apache�Struts�관련�취약점�CVE-ID

취약점�Vulnerability

Page 10: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�10

Mar 6, 2017: Apache release CVE-2017-5638

Mar 7, 2017: Exploit code available

Mid-May to July 2017: Attack and infiltration of Equifax servers

Sept 7, 2017: Equifax announce data breach occurred

해킹�사고�타임라인�그리고�언론의�스포트라이트�

Page 11: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

Cryptojacking�크립토재킹�피해�증가�추세

데이터센터�서버�CPU�부하�증가로�서비스�장애�발생�

커피숍�매장�Wi-Fi에�접속한�노트북�대상�피해�발생

Page 12: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

• 코인하이브�(Coinhive)라는�업체가�웹에서도�간편하게�가상화폐�모

네로를�채굴하기�위하여�개발하여�웹사이트�운영자들이�광고료�대신�

비트코인으로�수익을�얻을�수�있게끔�개발하여�공개한�자바스크립트.�

• 가상통화�가치가�상승하면서,�동시에�부정한�방법으로�가상통화를�얻

으려는�시도가�증가함.�

• 최근�다른�사람의�컴퓨터와�스마트폰�CPU�리소스를�동의�없이�사용

하여�가상통화를�채굴하는�크립토재킹이�이슈로�떠오름.

• 크립토재킹은�주로�이메일의�링크나�웹사이트�컨텐츠를�변경

하여,�채굴�코드를�삽입하는�등으로,�사용자의�컴퓨터나�스마

트폰에서�채굴�코드를�실행시켜,�다른�사람이�가상통화를�받

을�수�있도록�하는�수법.�

• 특히,�특정�악의적인�웹사이트를�접속하기만�해도�암호화폐�

채굴�코드가�작동하는�‘드라이브�바이�크립토재킹’�방식도�급

속도로�증가하는�추세.

Page 13: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

II.�데모�시연�

•Apache�Struts�취약점을�이용한�RCE�공격�

•크립토�재킹에�악용되는�피해�형태�

Page 14: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�14

인터넷라우터

스위치

스위치

내부망�분리�방화벽

방화벽

ADC

DMZ�서버�팜

고객�PC�스마트기기�직원�PC�스마트기기

IPS

WAF

IPS

스위치

내부�서버�팜�1

내부�서버�팜�2

내부�DB

ADCWAF

데이터센터�DC

APT�공격�조직�(해커)

웹�서비스�인프라�http://erp.fortinet.com

Page 15: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�15

사이버�킬�체인을�이용한�공격�시도�식별하기데모�시연�순서

인터넷

유분투�리눅스�웹�서버�(Apache�Struts)�http://erp.fortinet.com�서비스�

192.168.253.220/24

직원�PC�(고객�PC)�Windows�7�Home�64�Bits�192.168.253.189/24

Hacker�Kali�Linux�

192.168.253.228/24

1 2

3

4

5

0

6

4

10

•웹�서버�접속.�•취약점�스캔�툴�구동.

정찰

공격�코드�실행

악성�코드�설치

해킹�목표�달성

공격�코드�제작

취약점�공격

명령�및��원격�제어

웹서버�index.jsp�파일�다운로드�후,�크립토재킹�자바스크립트로�위장.�변조된�index.jsp�파일을�유분투�서버에�업로드.

3

2

2

해커는�CVE-2017-5638��익스플로잇�실행하여,�서버�제어�성공�(Full�control).

2

5

64직원�PC가�웹�서버에�접속할�때,��크립토재킹�JS�실행�(CPU�100%).�

웹�서버는�해커�원격�제어로�크립토�마이닝�코드�실행�(CPU�100%).

해커�원격�제어로�웹�서버가�Coinhive� 마이닝�실행.

목표:�사이버�공격을�통해서�가상화폐�채굴�성공.

Page 16: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

III.�대응�방안�제안

Page 17: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�17

인터넷

라우터

스위치방화벽 ADC서버�팜

고객�PC�스마트기기�직원�PC�스마트기기

IPS WAF

데이터센터�DC

APT�공격�조직

샌드박스 SIEM

DATA

DATA

DATA

DATA

DATA

DATA

DATA

Application�Layer

Presentation�Layer

Session�Layer

Transport�Layer

Network�Layer

Datalink�Layer

Physical�Layer

DATA

DATA

DATA

DATA

DATA

DATA

DATA

Application�Layer

Presentation�Layer

Session�Layer

Transport�Layer

Network�Layer

Datalink�Layer

Physical�Layer

OSI-7�Layer OSI-7�Layer

OSI�1-2��물리적�계층

OSI�3-4��커넥션�계층

OSI�5-7��컨텐츠�및��애플리케이션�계층

방화벽 (Legacy)

IPS (패킷 기반)

VPN

(IP

Sec,

SSL

)

WAF

SSL inspec

tion

AV DLP 샌드박스

웹 필터링

NG-IPS (세션 기반)

APP

Con

trol

이메일

보안

(안티스팸

)

Page 18: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�18

인터넷

라우터

스위치방화벽 ADC서버�팜

고객�PC�스마트기기�직원�PC�스마트기기

IPS WAF

데이터센터�DC

APT�공격�조직

샌드박스 SIEM

DATA

DATA

DATA

DATA

DATA

DATA

DATA

Application�Layer

Presentation�Layer

Session�Layer

Transport�Layer

Network�Layer

Datalink�Layer

Physical�Layer

DATA

DATA

DATA

DATA

DATA

DATA

DATA

Application�Layer

Presentation�Layer

Session�Layer

Transport�Layer

Network�Layer

Datalink�Layer

Physical�Layer

OSI-7�Layer OSI-7�Layer

OSI�1-2��물리적�계층

OSI�3-4��커넥션�계층

OSI�5-7��컨텐츠�및��애플리케이션�계층

방화벽 (Legacy)

IPS (패킷 기반)

VPN

(IP

Sec,

SSL

)

WAF

SSL inspec

tion

AV DLP 샌드박스

웹 필터링

NG-IPS (세션 기반)

APP

Con

trol

이메일

보안

(안티스팸

)

Page 19: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�19

Legacy�방화벽�탐지�불가능�vs.�IPS�탐지�기술�비교�(시연)

Page 20: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�20

포티넷�솔루션을�이용하는�방법

IPS • Apache.Struts.

2.Jakarta.Multipart.Parser.Code.Execution

AV • JS/Coinhive.HK!tr • W32/Filecoder_WannaCryptor.B!tr • JS/Coinhive.SX!tr • W32/WannaCryptor.B!tr • and others variants being discovered every hour

Web Filtering, Botnet & IOC • Against dynamic malicious websites • Detect/Block, Report and Protect

Page 21: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�21

시큐리티�베스트�프랙티스�권고�사항

1. Use�multi-layer�defense�in�depth��

2. Keep�software�up-to-date�and�Always�Patch�Today�

(A.P.T)��

3. Use�application�whitelisting�

4. Harden�Endpoint�Protection�

5. Segment�your�network�into�security�zones�

6. User�Education�

7. Install�an�ad-blocking�or�anti-crypto-mining�extension�

on�web�browsers

Page 22: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

�22

▪Use�and�maintain�antivirus�software.��▪ Keep�software�and�operating�systems�up-to-date.�▪Use�strong�passwords.�▪Change�default�usernames�and�passwords�▪Check�system�privilege�policies.��▪Apply�application�whitelisting.�▪ Be�wary�of�downloading�files�from�websites.��▪ Recognize�normal�CPU�activity�and�monitor�for�abnormal�activity.�▪Disable�unnecessary�services.��▪Uninstall�unused�software.��▪Validate�input.�▪ Install�a�firewall.��▪Create�and�monitor�blacklists.�

크립토�재킹�대비�방안�권고

Source: https://www.us-cert.gov/ncas/tips/ST18-002

Page 23: 시큐리티361 2018 Korea 사이버 공격과 방어 데모 시연(배포용)eventinfo.co.kr/2018/fortinet_1011/pdf/Fortinet_02.pdf · 2018-10-15 · Apache Struts2는 JAVA 엔터프라이즈

THANK YOU

감사합니다.