Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다.
연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다.
몇일전부터 HeartBleed OpenSSL 취약점(CVE-2014-0160)이 이슈가 되고 있어서 확인해봤다.
확인해보니 꽤 치명적이다..ㅠ
먼저 HeartBleed 취약점을 체크하는 스크립트로 몇몇 사이트를 확인해보았다.
생각보다 많은 사이트가 아직도 조치가 되어있지 않다..
그래서 공격해보았다!!!
1 |
python heartbleed_exploit.py www.domain.com > heartbleed_result.txt |
그러면 아래와 같은 결과를 얻을 수 있다.
잘보면 중간부분에 Cookie 값을 확인할 수 있다.
해당 Cookie를 이용해서 사이트에 로그인된 상태로 접근이 가능하였다..
이번 취약점은 SSL/TLS 프로토콜 자체 결함이 아닌 OpenSSL 라이브러리 상에서 TLS/DTSL(transport layer security protocols) HeartBeat Extension을 구현하는 과정에서 발생한다. HeartBeat Extension을 처리할 때 데이터에 대한 올바른 경계체크를 하지 않아 64kb 정도의 시스템 메모리에 존재하는 데이터가 유출 될 수 있다. 메모리에 존재하는 데이터는 상황에 따라 다르겠지만, 개인키나 웹 서비스의 경우 사용자의 로그인 패킷(ID/PW) 및 웹 어플리케이션 관련 정보가 포함될 수 있다. 또한, 이러한 공격은 서버에 공격 관련 로그가 남지 않아 공격 징후를 판단하는데 쉽지 않다.(출처 : http://hacksum.net/?p=2070 / 코드분석까지 있음)
이 취약점을 이용하면 암호화 되지 않은 사용자 정보를 수집할수 있고, 세션정보를 획득해서 세션하이재킹을 할수 도 있다. 그리고 SSL Private Key 탈취도 가능하다고 한다. SSL Private Key가 탈취되면 해당 네트워크 구간의 암호화된 데이터를 수집해서 복호화가 가능하다.
heartbleed check 스크립트와 exploit 스크립트 모두 쉽게 인터넷에서 구할 수 있었고,
간단하게 공격이 가능하다.
OpenSSL 1.0.0과 0.9.8 버전은 취약하지 않으며, 1.0.1은 1.0.1f까지 취약하다. (1.0.1g에서 패치)
조치방법은 취약하지 않은 ssl 버전으로 패치하는것이 제일 간단하다.
Ubunto / Debian 의 경우
1 2 |
apt-get update apt-get dist-upgrade |
RHEL / CentOS 의 경우
1 |
yum update openssl* |
FreeBSD 의 경우
1 2 |
freebsd-update fetch freebsd-update install |
그리고 SSL의 개인키의 유출 가능성이 있어 SSL 인증서를 재발급받는 것이 좋다.
참고 :
http://heartbleed.com/
http://www.packetinside.com/2014/04/openssl-heartbleed.html
https://www.mattslifebytes.com/?p=533
http://hacksum.net/?p=2070
2 Responses to HeartBleed OpenSSL 취약점(CVE-2014-0160)