ClickCease 하트블리드로부터 서버를 보호합니다. 네, 하트블리드입니다. - TuxCare

인기 뉴스레터 구독하기

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

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

하트블리드로부터 서버를 보호합니다. 네, 하트블리드입니다.

2020년 11월 3일 TuxCare 홍보팀

하트블리드로부터 서버 보호하트블리드... 1970년대의 사랑 노래처럼 들리네요. 그렇지 않습니다. HeartBleed는 심각한 취약점입니다(CVE-2014-0160)에 영향을 미치는 취약점을 발견했습니다. 이 취약점은 2014년부터 존재해 왔지만, 라디오에서 가끔씩 들었던 오래된 이야기와는 달리 오늘날에는 우리와 매우 밀접한 관련이 있습니다. NTT의 2020 글로벌 위협 인텔리전스 보고서 에 따르면 하트블리드가 세계에서 두 번째로 표적 공격이 많은 소프트웨어 기술인 OpenSSL을 만드는 데 기여한 것으로 나타났습니다. 전 세계 적대적 활동의 19%.

하트블리드는 OpenSSL 버전 1.0.1 ~ 1.0.1f의 메모리 처리 버그를 악용하는 공격입니다. 하트블리드를 사용하면 공격자는 64킬로바이트 의 암호화된 데이터를 해독할 수 있습니다. 공격자는 데이터의 "유출"을 악용하여 중간자 공격을 수행하거나 비밀번호 및 사용자 ID와 같은 민감한 정보에 액세스할 수 있습니다.

콘텐츠:

  1. 해결책은 패치입니다. 문제도 패치입니다.
  2. 재부팅 시 하트블리드를 완화하는 방법으로서의 라이브 패치 적용
  3. 결론

 

해결책은 패치입니다. 문제도 패치입니다.

해결책은 패치입니다. 문제도 패치입니다.

HeartBleed 및 이와 유사한 위협을 완화하려면 취약한 OpenSSL 라이브러리와 GNU C 라이브러리(glibc)의 패치를 적용해야 합니다. 라이브러리 업데이트 프로세스는 MITRE 적대적 전술, 기법 및 일반 지식(ATT&CK) 프레임워크의 형태를 취할 수 있습니다. ATT&CK 조직은 정기적으로 "외부에 노출된 시스템의 취약점을 검사하고, 검사 및 공개를 통해 중요한 취약점이 발견되면 시스템을 신속하게 패치하는 절차를 수립할 것"을 권장합니다.

그런 다음 중요한 취약점을 식별한 시스템 관리자는 일반적으로 패치 프로세스를 실행하기 위해 가동 중단 시간을 예약합니다. 이는 항상 스택을 종료하고 OS를 패치한 후 스택을 다시 시작하는 것을 의미합니다. 또한 일반적으로 Linux 관리자, 데이터베이스 관리자(DBA), 미들웨어 관리자 및 비즈니스 사용자와 같은 많은 사람들의 시간과 주의가 필요합니다. 문제가 없다고 가정하면(항상 신뢰할 수 있는 가정은 아니지만) 시스템 관리자는 다음으로 업데이트된 스택의 유효성을 검사하고 프로덕션에 다시 적용합니다.

이 과정에서 몇 가지 문제가 발생합니다:

  • 업데이트가 필요한 라이브러리에 대한 불확실성 - 시스템 관리자는일반적으로 어떤 라이브러리에 패치를 적용해야 하는지 명확하게 알지 못합니다. 따라서 일반적으로 시스템 전체 재부팅을 수행합니다.
    재부팅 주기는 서비스 성능 저하 및/또는 중단으로 이어집니다. 재부팅 후 서버 성능이 안정화되는 데 시간이 걸릴 수 있습니다. 간혹 재부팅 후 서버가 제대로 돌아오지 않는 경우도 있습니다. 
  • 취약한 윈도우-재부팅에 필요한 노동력과 잠재적인 중단으로 인해 기업에서는 주말과 같이 미리 예약된 다운타임에 재부팅을 예약하는 경우가 많습니다. 이렇게 지연되면 서버가 공격에 노출됩니다. 시스템 관리자가 보안 표준을 준수하기 위해 30일마다 재부팅하더라도 서버는 2주 이상 취약할 수 있습니다.
  • 불완전한 패치 적용 -서버를 재부팅하지 않고 수동으로 패치를 적용하면 공유 라이브러리에 여전히 취약점이 남아있을 수 있습니다. 예를 들어, 디스크에서 라이브러리를 업데이트할 때 패치되지 않은 오래된 파일이 서버의 메모리에 남아있을 수 있습니다. 그리고 취약점 스캐너는 메모리에 있는 이러한 오래된 패치되지 않은 라이브러리 파일을 탐지하지 못합니다. 

 

UChecker를 사용하여 HeartBleed 및 기타 공유 라이브러리 취약점 완화하기

UChecker를 사용하여 HeartBleed 및 기타 공유 라이브러리 취약점 완화하기

서버를 재부팅하지 않고 수동으로 패치를 적용하는 경우 공유 라이브러리에 여전히 취약점이 있을 수 있습니다. 예를 들어, 디스크에서 라이브러리를 업데이트할 때 패치되지 않은 오래된 파일이 메모리에 남아있을 수 있습니다. 그리고 취약점 스캐너는 메모리에 있는 이러한 오래된 패치되지 않은 라이브러리 파일을 탐지하지 못합니다. 이제 다음을 사용하여 메모리에 있는 라이브러리를 스캔하여 시스템이 여전히 하트블리드 또는 유사한 취약성에 취약한지 식별할 수 있습니다. KernelCare의 Uchecker

 작동 방식은 다음과 같습니다:

  • UChecker는 사이트의 리소스에서 최신 빌드 ID를 가져옵니다. https://patches04.kernelcare.com/userspace.json
  • proc/를 반복하여 실행 중인 프로세스를 가져옵니다.
  • It then gets a linked shared library from /proc/<pid>/maps
  • 이 시점에서 도구는 공유 라이브러리가 교체 또는 삭제되었는지 확인합니다.
  • 그런 다음 프로세스 상태에 따라 도구는 파일 시스템 또는 매핑된 메모리에서 실행 가능 및 연결 가능 형식(ELF)을 구문 분석합니다.
  • 이 도구는 .note.gnu.build-id에서 빌드 ID를 가져옵니다.
  • 그런 다음 도구는 이 주기를 반복하여 필요에 따라 추가 라이브러리를 스캔합니다.

U체커 작동 방식

그림 1: Uchecker 작동 방식

방문하기 유체커 깃허브 페이지 를 방문하고 데모 보기 데모를 시청하세요.

UChecker는 취약한 라이브러리를 무료로 검색하는 데 도움이 되지만, 업데이트하려면 재부팅이 필요합니다. 프로세스를 다시 시작하거나 서버를 재부팅하지 않고 취약점을 검색하고 라이브러리를 업데이트해야 하는 경우 다음을 시도하세요. KernelCare+실행 중인 프로세스가 메모리에서 오래된 라이브러리를 사용하고 있는지 확인한 다음 취약한 공유 라이브러리를 재시작하지 않고 업데이트합니다.

 

결론

공유 라이브러리는 무료 및 오픈 소스 소프트웨어(FOSS)를 사용하는 기업에게 심각한 보안 위험 노출의 원인이 되고 있습니다. Uchecker와 KernelCare 라이브 패치 기술을 사용하면 서버 재부팅으로 인한 중단과 확장된 위험 없이 공유 라이브러리를 업데이트할 수 있습니다. Uchecker와 KernelCare를 함께 사용하면 공유 라이브러리를 더 빠르고 효과적으로 패치할 수 있습니다. 이제 전체 조직의 속도를 저하시키지 않는 방식으로 HeartBleed 및 기타 유사한 취약성을 해결할 수 있습니다. 자세히 알아보기 https://lp.kernelcare.com/kernelcare-early-access

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

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기