
사이버 보안에서 백도어라는 용어는 숨겨진 악성 코드, 비밀 네트워크 터널, 탐지 불가능한 공격 벡터를 연상시킵니다. 소프트웨어 백도어는 잘 알려져 있지만, 펌웨어와 하드웨어 백도어는 더 교묘한 위협을 제시합니다. 이러한 백도어는 공격자에게 지속적이고 탐지하기 어려운 접근을 제공하여 가장 포괄적인 보안 제어를 무너뜨릴 수 있습니다.
이 블로그는 펌웨어 백도어, 또는 하드웨어 백도어라고도 하는 백도어에 대해 자세히 설명하며, 그들이 어떻게 작동하고 어떻게 발견되는지, 실제 공격 사례, 가장 중요한 것은 인프라를 방어하기 위한 실행 가능한 기술들을 설명합니다.
펌웨어 백도어는 하드웨어 장치에서 실행되는 저수준 코드(펌웨어)의 의도적 또는 사고적인 취약점입니다. 어떤 경우에는 제조업체가 유지 보수를 위해 설치하기도 하지만, 종종 지속적이고 권한이 높은 장치 접근을 위해 위협 행위자가 악용하거나 심지어 설치합니다.
하드웨어 백도어는 더 나아가 실제 하드웨어(예: 마더보드의 칩)에 대한 물리적 또는 논리적 수정/추가 사항을 의미하여 공격자에게 근본적인 통제권을 제공합니다. BlackFog에 의해 정의된 바와 같이:
펌웨어 백도어는 하드웨어 구성 요소에서 발견되며, 공격자가 장치를 근본적으로 제어할 수 있게 합니다.
펌웨어와 하드웨어 백도어는 종종 펌웨어 이미지와 같은 장치의 가장 깊은 층에 자신을 포함시켜 작동합니다:
장치가 펌웨어/하드웨어 레이어에서 손상되면 공격자는:
예: 손상된 네트워크 카드는 운영 시스템이나 그 로깅 도구가 보지 못하는 명령 및 제어 트래픽을 보내거나 받을 수 있습니다.
가장 유명한 예 중 하나는 BadUSB입니다. 연구자들은 USB 펌웨어를 재프로그래밍하여 악성 디바이스처럼 작동하게 하거나, 키보드를 가장하거나, 호스트에 꽂힐 때마다 악성 코드를 주입할 수 있음을 보여주었습니다.
스노든 유출은 정보 기관이 고급 대상들에게 보내는 하드웨어에 은밀한 칩이나 펌웨어를 가로채고 설치해 하드웨어 수준에서 스파이 행위를 한 것을 폭로했습니다.
2018년, 블룸버그는 하청 업체에 의해 임베디드된 작은 칩들이 미국 회사에게 공급한 하드웨어에 백도어를 만드는 데 사용되었다고 주장했습니다. (이 이야기는 업계에서 여전히 논쟁 중입니다.)
2015년, 주니퍼 네트웍스는 그들의 방화벽 펌웨어에 무단 코드가 삽입되어 공격자가 VPN 트래픽을 복호화하고 원격 접근을 얻을 수 있는 전형적인 펌웨어 백도어를 발견했다고 발표했습니다.
2018년, LoJax 악성코드가 윈도우 시스템의 UEFI 펌웨어에 감염되어 하드 드라이브 교체나 OS 재설치 후에도 공격자가 지속적으로 접근할 수 있음을 발견했습니다.
대부분의 전통적인 보안 솔루션은 하드웨어 및 펌웨어가 신뢰할 만하다고 가정합니다. 탐지는 다음과 같은 이유로 복잡합니다:
펌웨어 및 하드웨어의 백도어를 탐지하기는 어렵지만 수동 및 자동화된 기술로 가능합니다.
중요: 생산 또는 중요한 장치에서 하드웨어 포렌식이나 펌웨어 수정을 시도하지 마세요. 자신이 무엇을 하고 있는지 확신하지 않는 한 실수로 장치를 벽돌로 만들어버릴 수 있습니다!
펌웨어 백도어는 종종 본국으로 돌아가거나 C2 (명령 및 제어) 채널을 설정합니다. Wireshark 또는 tcpdump와 같은 도구를 사용하여 비정상적인 네트워크 패턴을 포착하세요.
sudo tcpdump -i eth0 port not 22 and port not 80 and port not 443
from scapy.all import rdpcap
suspicious_ports = [1337, 12345, 54321] # 예시 백도어 포트
packets = rdpcap('capture.pcap')
for pkt in packets:
if pkt.haslayer('TCP') and pkt[TCP].dport in suspicious_ports:
print(f"Suspicious packet: {pkt.summary()}")
장치의 펌웨어 이미지를 얻고, 그 후 인증된 샘플과 해시를 비교합니다.
Bash 예시:
dd if=/dev/mtd0 of=firmware-dump.bin # 플래시 스토리지에서 덤프
sha256sum firmware-dump.bin
장치 제조사가 제공한 인증된 해시와 일치 여부를 확인합니다.
Chipsec 등)Chipsec은 펌웨어 감염을 감지할 수 있는 플랫폼 보안 평가 프레임워크입니다.
sudo chipsec_main -m tools.uefi.whitelist
고급 안티 백도어 팀은 다음과 같은 기술을 사용할 수 있습니다:
UEFI 펌웨어의 경우:
FWUPD 사용:fwupdmgr get-devices
fwupdmgr get-history
임베디드 리눅스 장치의 경우:
dd if=/dev/mtd0 of=firmware.bin
strings firmware.bin | grep -i password
binwalk는 펌웨어 이미지의 구성 요소를 분석하고 추출할 수 있습니다.
binwalk -e firmware.bin
종종 하드코드된 백도어 사용자 이름/패스워드가 펌웨어에서 유출됩니다. grep 사용:
strings firmware.bin | grep -Ei 'admin|root|backdoor|debug|test'
하드코드된 자격 증명 검색을 위한 예시 Bash 스크립트:
#!/bin/bash
for img in *.bin; do
echo "Analyzing $img..."
strings "$img" | grep -E "admin|backdoor|debug"
done
Binwalk 및 Strings를 사용한 Python 예시:
import os
for fwfile in os.listdir('.'):
if fwfile.endswith('.bin'):
with open(fwfile, 'rb') as f:
contents = f.read().decode(errors='ignore')
if 'backdoor' in contents or 'debug' in contents:
print(f"Potential backdoor keyword in {fwfile}")
공급망 공격의 고도화로, 업계는 다음과 같은 방법으로 대응하고 있습니다:
하지만 전쟁은 계속됩니다. 공격자는 지속적으로 더 낮은 수준과 덜 모니터링된 공격 표면을 찾고 있습니다.
펌웨어 및 하드웨어 백도어는 현대 사이버 보안에서 가장 은밀하고 지속적인 위협 중 하나입니다. 이들은 숨겨진 상태로 남아 복구를 견디며 높은 특권 수준에서 작동할 수 있기 때문에 개별 사용자는 물론 조직도 소프트웨어뿐만 아니라 그들의 기술 스택의 펌웨어 및 하드웨어 루트도 주의 깊게 모니터링해야 합니다.
이 분야의 보안은 장치에 대한 깊은 이해, 강력한 내부 탐지 체계, 신뢰할 수 있는 공급망, 최신 연구와 신흥 위협에 대한 끊임없는 주시를 요구합니다.
위협 탐지 및 하드웨어 보안에 대한 심층적인 추가 조사를 원하신다면 구독하거나 아래에 질문을 남기세요!
이 콘텐츠가 유용하다고 생각하셨다면, 저희의 포괄적인 47주 엘리트 교육 프로그램으로 무엇을 달성할 수 있을지 상상해 보세요. Unit 8200 기술로 경력을 변화시킨 1,200명 이상의 학생들과 함께하세요.