최종 업데이트 07:21
소개 검색
SEOUL AI PRESS

AI와 기술을, 사실부터

강좌 강좌

BMC 입문: 운영체제 밖에서 서버를 관리하는 장치와 오래된 인증 취약점

The Hacker News · bleepingcomputer.com

BMC는 서버 메인보드에 들어가 원격 관리를 담당하는 작은 관리용 장치입니다. 이 강좌는 BMC의 뜻과 작동 맥락, 그리고 최근 보고된 노출 위험과 그 한계를 초보자 눈높이로 설명합니다.

이 강좌를 마치면 BMC가 무엇인지 한 문장으로 말하고, 왜 노출이 위험한지 이유를 들며, CVE-2013-4786 취약점이 어떻게 작동하는지 순서대로 설명할 수 있습니다. 운영체제(OS)와 비밀번호라는 개념, 그리고 네트워크 포트가 특정 통신 서비스를 구분하는 통신 입구라는 정도만 알면 충분히 따라올 수 있습니다. 이해를 돕기 위해 (가상 예시) 여러 대의 서버를 운영하는 한 회사의 서버 한 대를 처음부터 끝까지 따라가며 설명하겠습니다.

한 문장으로 이해하기

BMC(Baseboard Management Controller, 베이스보드 관리 컨트롤러)는 서버 메인보드에 내장된 관리용 프로세서입니다. 운영체제와 독립적으로 전원 제어, 펌웨어(하드웨어를 움직이는 기본 소프트웨어) 갱신, 원격 콘솔 접속 같은 낮은 수준의 작업을 지원합니다. 관리자가 원격의 설치 매체 등을 서버에 붙여 주는 가상 미디어 연결도 지원합니다. 즉 관리자가 서버에서 멀리 떨어져 있어도 OS와 상관없이 서버를 다룰 수 있게 해 주는 장치입니다. 앞서 말한 (가상 예시) 회사의 서버 한 대에도 이런 BMC가 들어 있다고 하겠습니다.

왜 필요한가

(가상 예시) 그 회사는 여러 대의 서버를 운영합니다. 관리자가 서버마다 현장에 찾아가 전원을 누르거나 펌웨어를 바꾸기는 번거롭습니다. BMC가 있으면 전원 제어, 펌웨어 갱신, 원격 화면 접속 같은 작업을 멀리서 할 수 있습니다. 이렇게 OS와 별도의 경로로 관리하는 방식을 대역외(Out-of-Band, OOB) 관리라고 부릅니다. 편리한 만큼 BMC는 서버 관리 권한을 폭넓게 쥔 특권적 위치에 있습니다.

어떻게 이루어지는가

BMC는 원격 명령을 하드웨어에 전달할 때 IPMI(지능형 플랫폼 관리 인터페이스)나 Redfish 같은 통신 규약을 사용할 수 있습니다. 문제의 취약점 CVE-2013-4786은 IPMI 2.0 인증 과정에서 비밀번호로 계산된 인증 자료가 로그인 전에 반환될 수 있는 규격상의 약점입니다. (가상 예시) 그 회사 서버가 인터넷에 노출돼 있다고 할 때 작동 순서는 이렇습니다.

  1. 공격자가 인터넷에 열린 623번 네트워크 포트(특정 통신 서비스를 구분하는 통신 입구이며, 출처가 BMC 접근 경로로 제시한 UDP 623번 포트)로 그 회사 BMC에 접속을 시도합니다.
  2. 인증 과정에서 BMC가 비밀번호와 인증 과정의 값으로 계산되는 메시지 인증 코드(HMAC-SHA1)를 로그인 전에 응답으로 돌려줍니다.
  3. 공격자는 이 인증 코드를 받아 자기 컴퓨터에서 오프라인으로 비밀번호 후보를 하나씩 대입해 봅니다.
  4. 오프라인이라 후보마다 BMC에 새 요청을 보낼 필요가 없어, 공격자가 자기 장비만으로 추측을 반복할 수 있습니다.

하나의 예시로 따라가기

(가상 예시) 앞서 나온 그 회사의 서버 한 대를 이어서 봅시다. 그 BMC가 출고 시 붙은 기본 비밀번호를 그대로 둔 채 인터넷에 노출돼 있다고 합시다. 공격자가 623번 네트워크 포트로 인증 코드를 받습니다. 그리고 흔한 단어 목록이나 공장 스티커에서 예측할 수 있는 형식으로 비밀번호 후보를 대입합니다. 실제 조사에서 연구진은 반환된 인증 자료 가운데 30% 이상에서 이런 방식으로 비밀번호를 복구할 수 있었다고 보고했습니다. 다만 복구에 걸리는 정도는 환경과 비밀번호 구조에 따라 다릅니다. 흔하거나 예측 가능한 형식일수록 오프라인 추측에 취약합니다. 같은 조사에서는 노출된 IPMI 호스트 36,872개 가운데 24,650개가 로그인 전에 비밀번호에서 유래한 인증 자료를 반환했습니다. BMC는 호스트 OS와 독립적으로 실행되므로, 이 회사의 BMC가 침해되면 OS를 다시 깔아도 공격자의 접근이 유지될 수 있습니다.

언제 쓰고 언제 쓰지 않는가

BMC 자체를 쓰지 말라는 뜻이 아닙니다. 원격 하드웨어 관리가 필요할 때는 BMC를 쓰되, 관리 인터페이스를 공용 인터넷에 노출하지 않는 것이 요점입니다. (가상 예시) 우리 회사라면 623번 네트워크 포트의 외부 접근을 차단하고, 출고 비밀번호를 바꾸며, 낡거나 약한 IPMI 옵션을 끌 수 있습니다. 또 BMC 접근을 전용 사설 관리망과 승인된 관리 시스템으로 제한할 수 있습니다. 다만 한계가 있습니다. 출처에 인용된 Dell 안내는 CVE-2013-4786을 IPMI 2.0 규격에 내재한 문제로 설명하며 별도 패치가 없다고 밝힙니다. 네트워크 격리와 비밀번호 변경은 접근 가능성과 추측 성공 가능성을 줄이는 조치이지, 규격에 내재한 인증 약점 자체를 없애는 것은 아닙니다.

핵심 정리와 확인문제

BMC는 운영체제와 독립적으로 서버를 원격 관리하는 높은 권한의 장치입니다. 인터넷 노출과 오래된 IPMI 인증 약점이 겹치면 비밀번호에서 계산된 인증 자료가 노출되고, 이를 이용한 오프라인 추측으로 비밀번호가 복구되어 서버 관리 권한이 위협받습니다. 앞의 (가상 예시) 회사 서버가 그 위험을 그대로 보여 줍니다.

확인문제

  1. (가상 예시) 그 회사 BMC가 공격자에게 장악된 뒤 운영체제를 다시 깔아도 접근이 유지될 수 있는 이유는 무엇인가요?
  2. CVE-2013-4786에서 공격자가 비밀번호를 오프라인으로 추측할 수 있는 이유는 무엇인가요?
  3. 다음 중 위험을 줄이는 조치와 그 목적이 바르게 짝지어진 것을 두 개 고르세요. (가) 623번 네트워크 포트 외부 차단 — 외부에서 BMC에 도달하기 어렵게 함 (나) 출고 비밀번호 변경 — 예측 가능한 비밀번호의 추측 성공 가능성을 낮춤 (다) BMC 사용 자체를 중단 — 규격 약점을 패치함

정답·해설

  1. 정답: BMC는 호스트 운영체제와 독립적으로 실행되기 때문입니다. 해설: 그래서 OS를 재설치해도 BMC 쪽 접근은 그대로 남을 수 있습니다.
  2. 정답: BMC가 로그인 전에 비밀번호와 인증 과정의 값으로 계산된 메시지 인증 코드(HMAC-SHA1)를 돌려주기 때문입니다. 해설: 공격자는 그 값으로 BMC에 다시 묻지 않고 자기 장비에서 후보를 대입할 수 있습니다.
  3. 정답: (가)와 (나)입니다. 해설: (다)는 사용 중단이 규격 약점을 ‘패치’한다는 설명이 틀렸습니다. 어떤 완화책도 규격에 내재한 인증 약점 자체를 제거하지는 못합니다.

참고자료