Download - 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Transcript
Page 1: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

2014 Security Issue : Heart Bleed / Shell Shock

Lim, JeWon

Page 2: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Who am I?

• JTJSoft Member

• SecurityPlus Student Academy

• Best of the Best 4th Member

Page 3: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

오늘발표할내용이란..

Page 4: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Heart Bleed 취약점에대해알아보기전에…

Page 5: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

What is OpenSSL?

• SSL : 웹서버와브라우저사이의보안을위해만들어진프로토콜. (https://)

Client Hello

Server Hello

Master Key 전송

Client 인증

Server 인증

Data 전송

Page 6: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

What is OpenSSL?

• OpenSSL : 앞에서설명한 SSL의오픈소스구현판.

Page 7: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Heart Bleed

Page 8: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

공격방법

• HeartBeat Request 패킷의메시지길이정보를변조하여취약한 OpenSSL을사용중인서버에전송.

Page 9: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

취약점여부확인(1)

• http://filippo.io/Heartbleed/

Page 10: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

취약점여부확인(2)

• OpenSSL버전확인

• Openssl version –a 쳐서

• OpenSSL 1.0.1 ~ OpenSSL 1.0.1f

• OpenSSL 1.0.2-beta, OpenSSL 1.0.2-beta1

• 로나오면업데이트요망.

Page 11: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

취약점여부확인(3)

• HeartBeat 활성화여부확인

• openssl s_client –connect domain.com:443 –tlsextdebug –debug –state | grep -i heartbeat

• 취약버전이 HeartBeat를사용하지않으면취약점의영향력에포함되지않음.

Page 12: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

취약점여부확인(4)

Page 13: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Heart Bleed Attack script

• http://www.exploit-db.com/exploits/32745/

• https://github.com/sensepost/heartbleed-poc/blob/master/heartbleed-poc.py

• https://raw.githubusercontent.com/musalbas/heartbleed-masstest/master/ssltest.py

• http://nmap.org/nsedoc/scripts/ssl-heartbleed.html

• http://www.exploit-db.com/exploits/32791/

Page 14: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(개인사용자)

• 업데이트

• apt-get update

• yum update

Page 15: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(네트워크장비)

• Snort 를이용한취약점공격탐지및차단패턴적용

Page 16: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(시스템관리)

• 인증서재발급검토

• 유저들의비밀번호재설정유도

Page 17: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

반응

• 브루스슈나이어 : 보안위협점수를 1부터 10까지매긴다면 Heart Bleed는 11이다.

• Kaspersky lab : Open SSL에의존하던많은웹사이트들에서얼마나정보가빠져나갔는지추정이불가능하다.

• 금융권 : (충격과공포)

• 한국 : Open SSL이뭐죠?

Page 18: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Shell Shock

• Bash 쉘에서나온취약점으로 Heart Bleed 보다더광범위한영향력을끼친취약점.

Page 19: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Shell shock Test

• $ env x='() { :;}; echo UbuntuK' bash -c "echo Ubuntu Korea“

• 이걸쳐서아웃풋이

UbuntuK

Ubuntu Korea

로나오면당신은망한겁니다.

(근데요즘배포판은전부패치해서안전할거임.아마ㅎㅎ)

Page 20: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

Shell Shock 취약점

번호 취약점

CVE – 2014 – 6271 원격명령실행

CVE – 2014 – 7169 함수선언문파싱에러

CVE – 2014 – 7186 잘못된메모리접근

CVE – 2014 – 7187 잘못된메모리접근

CVE – 2014 – 6277 함수선언문파싱에러

CVE – 2014 – 6278 원격명령실행

Page 21: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

콘솔접속(SSH)만차단하면되는거아님?

• 콘솔환경이아니더라도 bash 수행이가능한환경들이있다. (이를테면 ‘CGI’)

ClientWeb Server

CGI request CGI 수행호출

CGI 수행결과리턴결과페이지리턴

Page 22: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

취약한프로그램은더있다.

• NAS

• OpenVPN

• DHCP

• Nginx

• Qmail

• Etc.

Page 23: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

GNU Bash

Page 24: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

발생원인분석

VAR = () { return; }; /bin/id

일반환경변수 함수 Body 명령어 (공격코드)

Page 25: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

소스코드분석

• Shell Shock발생원인을알아보기위해서는Bash의 evalstring.c 소스를분석해볼필요가있다.

Page 26: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

공격동향

Page 27: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(1)

• Bash update

Page 28: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(2)

• 사용하지않는 CGI 페이지서비스중지

Page 29: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

대응방안(3)

• Snort 를이용한취약점공격탐지및차단패턴적용

Page 30: 2014 Security Issue : Heart Bleed / Shell Shock · Shell Shock 취약점 번호 취약점 CVE –2014 –6271 원격명령실행 CVE –2014 –7169 함수선언문파싱에러 CVE

교훈

• Heart Bleed / Shell Shock 사태는오픈소스에대한관심과사랑의부족을말해주고있다!