ClickCease 서버가 여전히 하트블리드를 겪을 수 있는 이유와 대처 방법

수백만 대의 시스템에 영향을 미치고 유명 뉴스 미디어에까지 보도된 위험한 OpenSSL 취약점인 하트블리드가 발견된 지 약 10년이 지났습니다.

역사가 그렇죠? 기술은 빠르게 발전하고... 10년은 긴 시간이고... 그 취약점은 오래 전에 사라졌죠?

틀렸어요. 

하트블리드에 대한 글을 다시 올리게 된 이유는 하트블리드가 여전히 우리 곁에 있기 때문입니다. 네, 패치가 얼마나 빨리 출시되었는지, 그리고 기술 개발의 빠른 속도를 고려할 때 지금쯤 하트블리드는 정말 사라졌어야 합니다. 

그리고 매번 제때 시스템에 패치를 적용했다면 걱정할 필요가 없습니다.

하지만 어딘가에서 패치를 놓쳤다면 어떻게 해야 할까요? 최근에 회사가 다른 회사와 합병하여 패치가 제대로 이루어지지 않았다면 어떻게 해야 할까요? 또는 새로운 기술 솔루션에 오래된 코드 덩어리가 포함되어 있다면 어떨까요?

하트블리드에 취약한 시스템은 여전히 흔하게 발견되고 있습니다. 이 글에서는 하트블리드와 하트블리드의 역사에 대해 간략하게 설명합니다. 또한 수많은 시스템이 여전히 하트블리드 익스플로잇을 통한 공격의 위험에 노출되어 있음을 보여주는 최근 연구 결과도 소개합니다.

또한 하트블리드에 취약한 OpenSSL 라이브러리가 있는지 쉽게 확인할 수 있는 방법과 이 위험한 취약점에 대한 완벽한 보호를 위해 취할 수 있는 조치에 대해서도 간략하게 설명합니다.

 

"하트블리드 버그"란 정확히 무엇인가요? 간단한 개요

 

2014년에 연구원들은 OpenSSL 버전 1.0.1 ~ 1.0.1f에 메모리 처리 버그의 일종인 누락된 범위 검사. 즉, OpenSSL 코드가 메모리에 입력된 데이터가 할당된 버퍼 크기를 초과하지 않는지 확인하지 않았습니다.

따라서 공격자는 OpenSSL 서비스를 속여 64KB 버퍼를 할당하고 버퍼 크기를 초과하는 데이터만 전송할 수 있습니다. 이렇게 하면 공격자는 피해자의 컴퓨터에서 64KB 단위로 데이터를 유출(또는 유출)할 수 있습니다. 이는 간략한 설명일 뿐이며, 익스플로잇에 대한 자세한 내용은 CSO 매거진의 심층 기사.

이 결함은 데이터를 조금씩 '출혈'해야 하고, 연결된 서버가 아직 살아 있는지 확인하기 위해 두 서버 간에 전송되는 펄스 메시지인 '하트비트' 중에 공격이 발생하기 때문에 하트블리드라고 불렀습니다.

하트블리드 취약점을 악용할 수 있는 기회는 광범위하고 심각합니다. 공격자는 암호화 키와 사용자 자격 증명부터 비공개 문서와 커뮤니케이션에 이르기까지 모든 것을 훔칠 수 있습니다. 공격자는 액세스 자격 증명을 보유하지 않고도 흔적을 남기지 않고도 이 모든 것을 수행할 수 있습니다.

64KB는 그리 크지 않은 양이지만, 이는 대규모 침해 사고로 이어질 수 있는 가능성을 열어줍니다. 하트블리드 해킹의 한 놀라운 사례에서 한 공격자는 450만 명의 환자 기록을 훔쳤습니다. 450만 건의 환자 기록을 훔쳤습니다.

 

심장 출혈은 여전히 공개되어 있습니다

 

2014년의 일입니다. 하트블리드는 왜 여전히 언급할 가치가 있을까요? 단순히 OpenSSL에 의존하는 수많은 애플리케이션과 서버가 일관성 없이 패치를 적용하는 경향과 함께 여전히 취약한 서비스를 많이 보유하고 있기 때문입니다. 

하트비트가 발견될 당시 넷크래프트는 다음과 같이 보고했습니다. 보안 웹 서버의 17%가 취약했습니다.취약하다고 보고했습니다. 여기에는 세계에서 가장 인기 있는 서비스도 포함되었습니다. 이는 엄청난 수의 서버입니다.

취약점이 발표되자마자 OpenSSL에 대한 패치가 배포되었지만 하트블리드가 역사 속으로 사라졌다는 의미는 아닙니다.

보안 연구자들은 여전히 하트블리드의 위험성을 지적하고 있습니다. 최근 일본의 거대 기술 기업인 NTT는 는 연구 보고서에서 에서 하트블리드가 여전히 해커들이 가장 많이 공격하는 서비스 중 하나인 주요 이유 중 하나라고 지적했습니다.

마찬가지로 2020년 11월 SANS 인터넷 스톰 센터의 한 연구원이 의 한 연구원은 쇼단 검색 엔진을 사용하여 200,000대 이상의 머신이 여전히 취약한 CVE-2014-0160의 공식 식별자인 하트블리드 취약점에 여전히 취약하다는 사실을 발견했습니다. 이 연구원은 검증 프로세스를 통해 쇼단의 평가가 대부분 정확하다는 것을 발견했습니다.

분명한 것은 완화 기능이 있지만 하트블리드는 여전히 문제라는 점입니다. 사용 중인 경우 TuxCare의 라이브러리 패치 서비스인 라이브러리케어를 사용하고 있다면 라이브러리가 항상 최신 상태로 유지되므로 걱정할 필요가 없습니다. 그러나 자동화된 재부팅 없는 라이브러리 패치 솔루션이 없는 경우에는 OpenSSL 라이브러리 취약점으로 인해 운영이 여전히 하트블리드에 취약할 수 있는지 검토해야 합니다.

 

패치 적용은 해결책이지만 문제이기도 합니다.

 

하트블리드가 여전히 존재하는 이유는 패치가 부족하기 때문이 아닙니다. OpenSSL에 의존하는 대부분의 서비스에는 하트블리드 위협을 제거할 수 있는 패치가 있습니다. 패치를 적용하면 하트블리드 위협은 사라진다는 것이 이론상으로는 간단합니다.

하지만 여러 가지 이유로 패치는 그렇게 간단하지 않습니다. 엔터프라이즈 환경에서 패치는 단순히 패치를 실행하고 서비스나 디바이스를 다시 시작하기만 하면 되는 문제가 아닙니다. 패치를 적용하려면 계획된 다운타임과 상당한 리소스가 필요하며 시스템 관리자, DBA, Linux 관리자를 비롯한 다양한 전문가들의 시간이 필요합니다. 이 과정에서 많은 문제가 발생합니다:

  • 업데이트되는 라이브러리에 대한 불확실성: 패치 프로세스를 실행할 때 어느 정도의 자동화가 수반되는 경우가 많기 때문에 시스템 관리자가 프로세스 중에 어떤 라이브러리가 패치되었는지 확신할 수 없는 경우가 있습니다. 이는 광범위하고 불필요한 재부팅과 추가적인 다운타임으로 이어질 수 있으며, 이는 포괄적인 패치를 방해하는 요인으로 작용할 수 있습니다.
  • 일관된 패치 미적용: 또 다른 위험은 관리자가 이러한 라이브러리에 패치가 필요하다는 사실을 인지하지 못해 일부 라이브러리가 패치되지 않을 수 있다는 것입니다. 전체적이고 포괄적인 라이브러리 카탈로그를 구축하는 것은 어려울 수 있으며, 패치가 적용되지 않은 라이브러리 하나만 있어도 침해가 발생할 수 있습니다. 또한 수동 패치는 라이브러리 누락으로 이어질 수 있습니다.
  • 취약성 창: 패치는 종종 빠르게 릴리스되지만 적용은 덜 빠르게 이루어집니다. 그 이유는 다운타임에 대한 계획이 어렵고 패치를 적용하기 위해 모든 기술적 문제를 한꺼번에 해결해야 하는 어려움이 있기 때문입니다. 이로 인해 취약점이 보고된 시점과 최종 사용자가 취약점을 패치하는 시점 사이에 공백이 생깁니다. 이 기간 동안 조직의 시스템은 공격에 취약하게 됩니다.

패치는 자칫 잘못하면 실패할 수도 있습니다. 하트블리드가 발견된 지 몇 년이 지났음에도 불구하고 조직에서 이를 방지하기 위한 패치를 철저히 하지 않았을 가능성은 결코 낮지 않습니다.

그 사이에 여전히 심각한 OpenSSL 결함이 있는 기술을 획득했을 가능성도 있습니다.

 

 

Uchecker로 패치되지 않은 라이브러리 확인하기

 

시스템 관리자로서 라이브러리가 지속적으로 패치되고 있는지 궁금하다면 다음 팀이 개발한 무료 GNU 라이선스 도구인 uChecker 사용을 고려해야 합니다. TuxCare.

uChecker는 라이브러리가 하트블리드 취약점에 대해 패치되었는지 확인하여 최신 상태가 아닌 라이브러리를 자세히 설명하는 읽기 쉬운 보고서를 생성합니다. uChecker는 디스크에 저장된 라이브러리뿐만 아니라 메모리에 있는 라이브러리도 스캔할 수 있습니다.

이는 메모리에서 패치되지 않은 라이브러리를 발견하지 못하는 다른 스캐너에 비해 유리한 점입니다. uChecker는 쉽게 설치할 수 있습니다. 여기 GitHub 페이지.

$ curl -s -L https://kernelcare.com/uchecker | sudo python

uChecker로 검사를 완료한 후에는 하트블리드에 여전히 취약한 OpenSSL 서비스에 대한 패치를 진행할 수 있습니다.

보안을 위해 인터넷에서 다운로드한 코드는 시스템에서 실행하기 전에 철저하게 확인해야 합니다. 위의 명령은 검사할 코드를 다운로드하는 명령과 실제로 실행하는 명령으로 구분할 수 있고, 또 구분해야 합니다. 위에 표시된 방법은 uChecker를 실행하는 편리한 방법일 뿐, 최상의 보안 방법은 아닙니다.

 

심장 출혈에 대해 다시 한 번 확인할 필요가 있습니다.

 

하트블리드가 등장한 지 몇 년이 지난 지금, 이 위험한 위협으로부터 서버가 철저히 보호되고 있는지 확인하는 것은 의심할 여지가 없습니다. 최근 연구에 따르면 하트블리드에 대한 조직의 대응이 여전히 미흡하다는 것을 보여주는 두 가지 사례를 소개합니다.

현재 자동화된 라이브 패치 도구를 배포하지 않은 경우, 하트블리드에 여전히 취약한 서버가 있는지 빠르게 확인할 수 있는 무료의 간편한 도구인 uChecker를 실행하는 것을 권장합니다.

어느 쪽이든 OpenSSL을 면밀히 주시하는 것이 중요합니다. 중요한 보안 계층이지만 동시에 가장 많이 노출된 소프트웨어 중 하나이기도 합니다, 202개의 취약점이 이 글을 쓰는 시점까지 202개의 취약점이 발견되었으며, 그중 하트블리드는 그중 하나에 불과합니다.

그리고 잊지 마세요 - TuxCare의 LibCare는 OpenSSL을 포함한 라이브러리를 번거로움 없이 최신 상태로 유지해 줍니다. 여기에서 LibCare에 대해 자세히 알아보세요..

 

요약
서버가 여전히 하트블리드를 겪을 수 있는 이유와 대처 방법
기사 이름
서버가 여전히 하트블리드를 겪을 수 있는 이유와 대처 방법
설명
하트블리드에 취약한 OpenSSL 라이브러리가 있는지 여부와 보호를 위해 수행할 수 있는 작업을 확인하세요.
작성자
게시자 이름
TuxCare
게시자 로고

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

목차

필요한 오픈 소스 보안에 대한 답변 얻기

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈 소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.