자격증과 세미나, 프로그램 이야기를 주저없이 써봅니다.

Since 2008. 10.

해킹, 보안

CVE-2014-0160 OpenSSL 취약점 분석 보고서

럭키맨 운수 2014. 4. 15. 16:28

 

4월 둘째 주에 심각한 보안 취약점으로 등장한 OpenSSL 취약점인 CVE-2014-0160, 일명 Heartbleed Bug 이슈가 뜨겁습니다. 4월 11일 HNS(http://blog.hacknsecurity.com)에서 해당 보안취약점에 대한 국내에서 가장 상세한 버그 분석 자료를 공개했습니다. 자료는 하단에 첨부파일 클릭하시면 있습니다.

 

OpenSSL의 TLS/DTLS의 Heartbeat Extension을 구현하는 부분에서 문제가 발생하고 관련 정보를 최초 공개한 Codenomicon에서 비즈니스 전략을 위해 피 흘리는 하트 모양의 이미지와 함께 Heartbleed란 용어를 사용했으며 이것이 보안계에 통용되었습니다. 분석 보고서에 따르면, CVE-2014-0160 취약점을 공격할 경우 메모리로부터 민감한 정보인 비밀키, 패스워드, 개인정보 등을 확보할 수 있으며 안드로이드 시스템도 공격 대상이 될 수 있고 공격자의 흔적이 남지 않는 특징이 있는 것으로 조사됐습니다.

 

취약한 OpenSSL 버전은 OpenSSL 1.0.1~1.0.1f로, shodan을 이용해 검색한 결과 OpenSSL 버전 1.0.1a를 사용하는 시스템은 554개, 1.0.1b는 1,047개, 1.0.1c는 172,127개, 1.0.1d는 27,500개, 1.0.1e는 349,561개, 1.0.1f는 11,370개였으며 poc 코드로 테스트한 결과 이들 중 일부는 취약하지 않은 시스템도 있었다. 또 흥미로운 것은 OpenSSL/1.0.1b 버전을 가장 많이 사용하는 국가는 한국으로 나타났습니다.

 

보고서는 문제 해결을 위해 OpenSSL 1.0.1g 이상의 버전으로 업데이트가 필요하고 야후 등을 비롯한 일부 사이트의 경우 계정정보와 패스워드 등의 정보가 유출되었으므로 패스워드 변경이 필요하다고 강조했습니다. 보고서에는 Heartbleed 버그에 대한 상세한 분석 내용도 포함되어 있습니다. 취약한 OpenSSL 버전은 OpenSSL 1.0.1~1.0.1f 그리고 1.0.2-beta1까지로 알려져 있으며 1.0.1g에서 패치가 이루어졌고 OpenSSL에서 TLS/DTLS 구현이 Heartbeat Extension 패킷을 적절하게 핸들링하지 못해 발생하고 원격 공격자는 이를 이용해 조작된 패킷으로 프로세스 메모리에 저장된 민감한 정보를 획득할 수 있습니다.

 

특히 해당 보고서는 취약점 확인 방법에 대해, 테스트를 위해 사용할 취약한 서버들은 shodan을 이용해 찾았으며 유료 사용자가 아닐 경우 shodan 웹사이트를 통해 검색할 경우 그 결과 값을 10개밖에 볼 수가 없어서 shodan의 파이썬 API를 이용해 스캐닝 코드를 작성해 검색, 검색 키워드는 OpenSSL과 OpenSSL/1.0.1로 설정했으며 OpenSSL/1.0.1로 검색했을 경우 정확한 비전 정보가 나오지 않기 때문에 정확한 버전을 입력해야 검색이 가능하다고 밝혔습니다.

 

방어책에 대해서는 “OpenSSL 1.0.1g 이상의 버전으로 업데이트가 필요하며 이전 버전을 사용해야만 할 경우 취약한 부분의 코드를 수정해 재컴파일해 사용하는 것이 필요하다”며 “야후 등을 비롯해 일부 서버의 계정 정보와 패스워드가 노출되었기 때문에 패스워드를 수정하는 것이 필요하며 야후 계정의 사용자일 경우 반드시 수정해야 한다. 또 우리나라 시간으로 4월 9일 취약한 버전의 OpenSSL을 버전 1.0.1g로 업데이트한 Tor 3.5.4 안정 버전으로 업데이트로 필요하다”고 설명했습니다.

 

출처: 데일리시큐

HNS-14-04.pdf
0.62MB