Loading AI tools
OpenSSL의 소프트웨어 버그 위키백과, 무료 백과사전
하트블리드(영어: Heartbleed)는 2014년 4월에 발견된 오픈 소스 암호화 라이브러리인 OpenSSL의 소프트웨어 버그이다. 발표에 따르면, 인증 기관에서 인증받은 안전한 웹 서버의 약 17%(약 50만대)가 이 공격으로 개인 키 및 세션 쿠키 및 암호를 훔칠 수 있는 상태이다.[3][4][5][6][7]
CVE 식별자 | CVE-2014-0160 |
---|---|
발견일 | 2014년 4월 1일 |
패치일 | 2014년 4월 7일 |
발견자 | 닐 메타(Neel Mehta) |
영향을 받는 소프트웨어 | OpenSSL (1.0.1) |
웹사이트 | heartbleed |
전송 계층 보안(TLS) 및 데이터그램 전송 계층 보안(DTLS) 프로토콜의 하트비트 확장은 2012년 2월 출판된 RFC 6520이 지정한 제안된 표준이다. 이 확장은 매번 연결을 재협상하지 않아도 안전한 통신 연결을 테스트하고 유지시키는 방법을 제공한다.
그 뒤 2011년 뒤스부르크-에센 대학교의 박사과정을 밟던 학생인 로빈 세글먼(Robin Seggelmann)이 OpenSSL의 하트비트 확장을 구현하였다. OpenSSL에 그의 노고의 결과물을 넣어달라는 세글먼의 요청에 따라[8][9][10], OpenSSL 소속의 4명의 핵심 개발자들 중 한 명인 스티븐 N. 헨슨(Stephen N. Henson)은 그의 변경 사항을 검토하기에 이르렀다. 헨슨은 세글먼의 구현체 안에 들어있던 버그를 눈치채지 못했고[11] 취약한 코드가 OpenSSL의 소스 코드 저장소에 2011년 12월 31일 들어가게 되었다. 이 취약성 코드는 2012년 3월 14일 OpenSSL 버전 1.0.1 출시와 더불어 널리 이용되었다. 하트비트 지원은 기본적으로 활성화되어 있었고, 이에 따라 영향을 받는 버전들은 기본적으로 취약성에 노출되게 되었다.[12][13][14]
OpenSSL의 마크 J. 콕스(Mark J. Cox)에 따르면 구글 보안팀의 닐 메타(Neel Mehta)는 2014년 4월 1일 하트블리드를 보고했다.[15] 이 버그는 TLS 하트비트 확장 구현체에서 심각한 메모리 처리 오류를 따라다녔다.[16][17] 이 결함은 매 하트비트마다 응용 프로그램 메모리의 최대 64 킬로바이트를 들추어내는데 이용될 수 있었다.[17]
이 버그의 이름은 버그를 대중에게 설명할 목적으로, 피가 흘러내리는 심장의 로고를 만들어 도메인 Heartbleed.com
를 시작한 핀란드의 보안 업체인 코데노미콘의 한 기술자가 지은 것이다.[18] 코데노미콘에 따르면 닐 메타는 처음으로 이 버그를 OpenSSL에 보고했으나, 구글과 코데노미콘 모두 이 버그를 독립적으로 발견하였다.[12]
코데노미콘은 4월 3일을 이 버그의 발견일이자 NCSC-FI(이전 이름: CERT-FI)의 통보일로 보고하고 있다.[12][19]
2014년 3월 21일 구글의 보도 모엘러(Bodo Moeller)와 애덤 랭글리(Adam Langley)는 이 버그를 수정한 패치를 기록하였다.[20] 패치일은 레드햇의 이슈 트래커를 통해 알려져 있다. 이어, 웹사이트 성능 및 보안 기업인 클라우드플레어는 2014년 3월 31일 시스템 상의 결점을 수정하였다.[21]
이 버그는 버퍼 초과 읽기로 분류되는데[22], 소프트웨어가 허용된 것보다 더 많은 데이터를 읽게 하는 상황을 가리킨다.[23] 이 문제는 필요한 양 보다 더 많은 데이터를 요청하는 하트비트 요청 메시지를 무시함으로써 수정할 수 있다.
버전 1.0.1g의 OpenSSL은 몇 가지 바운드 검사를 추가하여 버퍼 초과 읽기를 방지한다. 예를 들면 다음 코드와 같은 변수 검사를
if (1 + 2 + payload + 16 > s->s3->rrec.length) return 0; /* silently discard per RFC 6520 sec. 4 */
이 밑에 나오는 줄 바로 위에 입력하면 된다.
pl = p;
완전한 변경 사항 목록은 git.openssl.org Archived 2014년 4월 13일 - 웨이백 머신에서 참조할 수 있다.[24]
다음 OpenSSL 버전은 취약한 것으로 결정되었다:
다음 OpenSSL 버전은 하트블리드 버그를 해결한 패치를 포함하고 있다.:
버그를 해결하려면 서버 관리자가 1.0.1g 버전을 사용하거나 DOPENSSL_NO_HEARTBEATS 같이 취약한 기능을 비활성화한 상태로 OpenSSL을 다시 컴파일하면 된다.
다음의 사이트들은 버그에 대응하여 사용자가 암호를 변경할 것을 권고하는 발표를 하였거나 버그에 영향을 받은 서비스들을 포함하고 있다:
라스트패스 패스워드 매니저는 순방향 비밀성을 사용하여 취약하지는 않았지만 라스트패스에 저장된 취약한 웹사이트의 암호를 변경할 것을 권장하고 있다.[26] 로그인은 "OpenSSL에 의존하는 자사 서비스들 중 일부와 수많은 제품들을 업데이트하였다"고 주장하였다.[27]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.