Heartbleed 라고 하는 OpenSSL Private Key 노출 관련 취약점(CVE-2014-0160)으로 여기 저기에서 떠들석하네요. 관련 글들을 검색해 보았습니다.


CVE-2014-0160 정보입니다.

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160


관련 exploit code입니다.

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


공식(?) 사이트도 존재하는군요.

http://heartbleed.com/


뭐, 코드 자체는 엄청 간단한 편이지만, 이번 취약점을 발견해 내고 exploit code를 작성할 수 있다는 것 자체는 높이 살만 합니다.


그런데 여기에서 재미있는 점이 있습니다. 본 취약점을 발견해 낸 사람은 "Neel Mehta"이라는 보안 전문가이고 오래 전에 알아낸 것으로 알려 있습니다. OpenSSL Team에게 관련 취약점이 보고되어 이미 예전에 OpenSSL 라이브러리 업데이트(패치)는 이루어 졌으나, 여전히 많은 서버들은 취약점을 가지고 있는 이전 OpenSSL 버전으로 운영을 해 오고 있기 때문에 그동안(취약점이 공개되고 이슈화되기 전까지) 해커들은 쉽게 웹사이트 인증서의 Private Key를 쉽게 획득할 수 있어 왔을 것입니다.


예를 들자면, http://www.alexa.com 사이트에서 공개되는 전세계 웹사이트 Top 100만개 리스트와 본 Exploit Code만 가지고 있어도 수많은 웹서버 Private Key 터는 것을 일도 아니겠죠.


이미 자신의 Private Key는(사실 자신의 것이 털렸는지 털리지 않았는지도 알 방법이 없죠. 로그가 남지 않기 때문에) 누군가 획득하고 있을 지 모르는 일입니다. 그러기 때문에 기존의 Private Key과 관련 인증서는 반드시 폐기하고 재발급 받도록 해야 합니다. 털려 버린 자신의 Private Key는 OpenSSL 관련 모듈을 업데이트한다고 해서 해결되는 것이 아닙니다. 쉽게 말해서 자기 집의 도어락이 취약해서 비밀번호가 털렸으면, 도어락도 바꿔야 하겠지만 비밀번호도 바꿔야 하는 것과 이치가 같습니다.


웹사이트 주소를 입력하면 해당 웹사이트에 취약점이 존재하는 지를 친절(?)하게 알려 주는 곳도 있네요.


http://filippo.io/Heartbleed


여기에서 편리하게 웹사이트 취약점 체크를 하는 것을 말리지는 않겠으나, 이 행위 역시 "웹사이트 Private Key를 친절(?)하게 가져 갑쇼"라고 하는 것과 별반 다를 게 없다는... -_-;