2014 security issue : heart bleed / shell shock · shell shock 취약점 번호 취약점 cve...
TRANSCRIPT
2014 Security Issue : Heart Bleed / Shell Shock
Lim, JeWon
Who am I?
• JTJSoft Member
• SecurityPlus Student Academy
• Best of the Best 4th Member
오늘발표할내용이란..
Heart Bleed 취약점에대해알아보기전에…
What is OpenSSL?
• SSL : 웹서버와브라우저사이의보안을위해만들어진프로토콜. (https://)
Client Hello
Server Hello
Master Key 전송
Client 인증
Server 인증
Data 전송
What is OpenSSL?
• OpenSSL : 앞에서설명한 SSL의오픈소스구현판.
Heart Bleed
공격방법
• HeartBeat Request 패킷의메시지길이정보를변조하여취약한 OpenSSL을사용중인서버에전송.
취약점여부확인(1)
• http://filippo.io/Heartbleed/
취약점여부확인(2)
• OpenSSL버전확인
• Openssl version –a 쳐서
• OpenSSL 1.0.1 ~ OpenSSL 1.0.1f
• OpenSSL 1.0.2-beta, OpenSSL 1.0.2-beta1
• 로나오면업데이트요망.
취약점여부확인(3)
• HeartBeat 활성화여부확인
• openssl s_client –connect domain.com:443 –tlsextdebug –debug –state | grep -i heartbeat
• 취약버전이 HeartBeat를사용하지않으면취약점의영향력에포함되지않음.
취약점여부확인(4)
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/
대응방안(개인사용자)
• 업데이트
• apt-get update
• yum update
대응방안(네트워크장비)
• Snort 를이용한취약점공격탐지및차단패턴적용
대응방안(시스템관리)
• 인증서재발급검토
• 유저들의비밀번호재설정유도
반응
• 브루스슈나이어 : 보안위협점수를 1부터 10까지매긴다면 Heart Bleed는 11이다.
• Kaspersky lab : Open SSL에의존하던많은웹사이트들에서얼마나정보가빠져나갔는지추정이불가능하다.
• 금융권 : (충격과공포)
• 한국 : Open SSL이뭐죠?
Shell Shock
• Bash 쉘에서나온취약점으로 Heart Bleed 보다더광범위한영향력을끼친취약점.
Shell shock Test
• $ env x='() { :;}; echo UbuntuK' bash -c "echo Ubuntu Korea“
• 이걸쳐서아웃풋이
UbuntuK
Ubuntu Korea
로나오면당신은망한겁니다.
(근데요즘배포판은전부패치해서안전할거임.아마ㅎㅎ)
Shell Shock 취약점
번호 취약점
CVE – 2014 – 6271 원격명령실행
CVE – 2014 – 7169 함수선언문파싱에러
CVE – 2014 – 7186 잘못된메모리접근
CVE – 2014 – 7187 잘못된메모리접근
CVE – 2014 – 6277 함수선언문파싱에러
CVE – 2014 – 6278 원격명령실행
콘솔접속(SSH)만차단하면되는거아님?
• 콘솔환경이아니더라도 bash 수행이가능한환경들이있다. (이를테면 ‘CGI’)
ClientWeb Server
CGI request CGI 수행호출
CGI 수행결과리턴결과페이지리턴
취약한프로그램은더있다.
• NAS
• OpenVPN
• DHCP
• Nginx
• Qmail
• Etc.
GNU Bash
발생원인분석
VAR = () { return; }; /bin/id
일반환경변수 함수 Body 명령어 (공격코드)
소스코드분석
• Shell Shock발생원인을알아보기위해서는Bash의 evalstring.c 소스를분석해볼필요가있다.
공격동향
대응방안(1)
• Bash update
대응방안(2)
• 사용하지않는 CGI 페이지서비스중지
대응방안(3)
• Snort 를이용한취약점공격탐지및차단패턴적용
교훈
• Heart Bleed / Shell Shock 사태는오픈소스에대한관심과사랑의부족을말해주고있다!