사이버보안 속 백도어: 소프트웨어 대 하드웨어 위험

사이버보안 속 백도어: 소프트웨어 대 하드웨어 위험

백도어는 공격자가 시스템에 무단으로 접근할 수 있도록 은밀히 설치되는 악성 프로그램입니다. 소프트웨어나 하드웨어를 통해 설치되며, 데이터 도용이나 시스템 조작을 가능하게 하여 주요 사이버보안 위협이 됩니다.
# 백도어란? 사이버 보안 위협, 탐지 및 방어에 대한 깊은 탐구

**백도어**는 현대 사이버 보안에서 가장 교묘한 위협 중 하나로, 무단 접근 및 시스템 제어를 가능하게 하며 몇 년 동안이나 숨겨진 채로 있을 수 있습니다. 종종 맬웨어와 연관되지만 백도어는 소프트웨어, 하드웨어 및 CPU 마이크로코드 수준에 존재할 수 있으며 전통적인 보안 도구를 회피합니다.

이 포괄적인 가이드에서 우리는 백도어의 기본 개념과 역사부터 고급 탐지 방법 및 실제 사례까지 다룰 것이며, 소프트웨어 및 하드웨어(CPU) 백도어를 포함한 실용적인 백도어 발견 및 경감 코드 샘플도 제공합니다. 여러분은 공격자가 백도어를 활용하는 방법, 방어자가 이를 사냥하는 방법, 그리고 전문가가 조직을 방어하기 위해 알아야 할 것을 배우게 될 것입니다. 사이버 보안 초심자이든 숙련된 실무자이든 이 게시물이 여러분의 결정적인 리소스가 되기를 바랍니다.

---

## 목차

- [소개: 백도어란?](#소개-백도어란?)
- [백도어의 유형](#백도어의-유형)
  - [소프트웨어 백도어](#소프트웨어-백도어)
  - [하드웨어 및 CPU 백도어](#하드웨어-및-CPU-백도어)
- [백도어의 작동 원리](#백도어의-작동-원리)
- [실제 백도어 사례](#실제-백도어-사례)
- [사이버 보안에서 백도어의 중요성](#사이버-보안에서-백도어의-중요성)
- [백도어 탐지 및 사냥](#백도어-탐지-및-사냥)
  - [수동 분석](#수동-분석)
  - [자동 스캔 및 스크립팅](#자동-스캔-및-스크립팅)
- [백도어 탐지 코드 샘플](#백도어-탐지-코드-샘플)
  - [기본 Bash Netstat 스캔](#기본-bash-netstat-스캔)
  - [파이썬 포트 스캐너](#파이썬-포트-스캐너)
  - [ps와 파이썬으로 비정상적인 프로세스 검토](#ps와-파이썬으로-비정상적인-프로세스-검토)
  - [Sysmon + Sigma 규칙으로 의심스러운 네트워크 활동 탐지](#sysmon--sigma-규칙으로-의심스러운-네트워크-활동-탐지)
- [백도어 공격 방지](#백도어-공격-방지)
- [신흥 트렌드: 공급망 및 국가 주도 백도어](#신흥-트렌드-공급망-및-국가-주도-백도어)
- [결론](#결론)
- [참조](#참조)

---

## 소개: 백도어란?

**백도어**란 시스템, 애플리케이션 또는 하드웨어 장치에서 정상적인 인증 또는 암호화를 우회하여 공격자에게 무단 접근을 허용하는 비밀 방식으로, 종종 고급(관리자 또는 루트) 권한을 제공합니다.

**사이버 범죄자들은 백도어를 설치하여:**

- **민감한 데이터 탈취**
- **후속 공격을 위한 지속적인 접근 확보**
- **시스템 원격 감시, 감시 또는 조작**

백도어는 *의도적*(예: 개발자가 심거나 국가행위자에 의해)일 수도 있고, *비의도적*(구성 오류 또는 소프트웨어 취약성으로 도입)일 수도 있습니다.

**출처:**  
- [NetSecurity: 백도어란?](https://www.netsecurity.com/what-is-a-backdoor/)

---

## 백도어의 유형

백도어는 다양한 형태로 존재하며, 기본 스크립트에서 깊이 통합된 하드웨어 로직까지 범위를 이룹니다.

### 소프트웨어 백도어

애플리케이션, 운영 체제 또는 서버 소프트웨어 내에 숨겨진 코드 경로로, 이는 고급(종종 원격) 접근을 허용합니다. **예시:**

- **하드코딩된 비밀번호:** 고정된 자격 증명을 가진 비밀 계정 또는 시스템
- **숨겨진 디버그 인터페이스:** 개발 후 트러블슈팅을 위해 남겨진 기능이지만 출시 전 제거되지 않음
- **맬웨어 기반 백도어:** [NetWire](https://attack.mitre.org/software/S0198/) 또는 [Cobalt Strike](https://attack.mitre.org/software/S0154/)와 같은 도구는 원격 쉘 접근을 제공합니다.

#### 일반적인 소프트웨어 백도어 동작은 다음을 포함합니다:

- 은밀한 네트워크 연결 수락(역방향 또는 바인드 쉘)
- 특별한 자격 증명을 사용하여 로그인 프롬프트 우회
- 추가 맬웨어 다운로드/실행

### 하드웨어 및 CPU 백도어

하드웨어 백도어는 물리적 또는 펌웨어 수정으로, 공격자에게 낮은 수준(때로는 OS 이후) 제어를 허용합니다. 이는 탐지 및 경감이 가장 어렵습니다.

**예시:**

- **라우터 임플란트:** 공급망 공격 동안 은밀하게 배포된 악성 펌웨어 업데이트
- **CPU 백도어:** 정상적인 OS 보호를 우회하는 숨겨진 명령 또는 마이크로코드 모드 - 소프트웨어 도구로는 탐지가 불가능할 수 있습니다.

> *소프트웨어의 경우 백도어는 간단한 업데이트로 설치 및 제거할 수 있습니다. 하드웨어 백도어의 경우 백도어가 존재하면 영원히 존재합니다 [Reddit: r/programming](https://www.reddit.com/r/programming/comments/2uv35f/cpu_backdoors/).*

**주요 언급:**  
- NSA 및 기타 정보 기관은 하드웨어 백도어를 생성했다고 비난받은 적이 있지만, [Technology Review](https://www.technologyreview.com/2013/10/08/176195/nsas-own-hardware-backdoors-may-still-be-a-problem-from-hell/)에 따르면, 완전히 확인된 현대의 공공 사례는 존재하지 않습니다.

---

## 백도어의 작동 원리

### 설치 단계

백도어는 여러 방법으로 **배포됩니다**:

- 피싱 이메일 또는 취약점 공격을 통해
- 공급망 분배에 삽입된 악성 업데이트
- 제조 또는 이동 중의 하드웨어 손상

### 접근 및 제어

백도어는 종종 "본국으로 전화" (아웃바운드 연결을 시작)하거나 특정 인바운드 페이로드를 대기합니다. 고급 버전은 다음을 사용합니다:

- **난독화된 네트워크 통신 (암호화된 C2/가려진 DNS 터널링)**
- **다단계 페이로드**—디스크리스, 메모리 상주 기법은 포렌식 증거를 줄이기 위함

### 백도어 운영 예시

1. 공격자가 웹 서버를 공격, [웹쉘](https://owasp.org/www-community/attacks/Web_shell) 업로드.
2. 웹쉘은 백도어 역할을 합니다: 명령을 듣고 출력 반환.
3. 방어자는 모름: 로그는 정상 HTTP 트래픽을 보여줌.

---

## 실제 백도어 사례

### 1. 솔라윈즈 / SUNBURST 공급망 공격

2020년, 공격자가 솔라윈즈의 Orion 소프트웨어 업데이트 프로세스를 손상시켰습니다. 백도어는 신뢰할 수 있는 기업 네트워크 내부에서 원격 코드 실행을 허용했습니다—18,000개 이상의 조직에 영향을 미쳤으며, 그 중에는 많은 정부 기관이 포함되어 있습니다.

- **공격 벡터:** 정당한 소프트웨어 업데이트에 삽입된 코드
- **충격:** 몇 달 동안 감지되지 않은 광범위한 접근

### 2. 하드코딩된 공급 업체 백도어

**TP-Link, Fortinet, D-Link**는 제품을 하드코드된 관리자 자격 증명이나 비밀 디버그 계정과 함께 출시한 경우가 여러 번 있었습니다.

- **CVE-2016-10176:** *정적 암호가 포함된 "user" 계정이 있는 상태로 D-Link 라우터가 출하됨*

### 3. 펌웨어 및 CPU 백도어

- **Intel Management Engine (ME):** 이 보조 프로세서는 손상될 경우 OS 아래의 접근을 제공할 수 있습니다.
- **NSA "ANT Catalog":** 스노든 유출은 물리적 임플란트 및 가능한 마이크로코드 수준 백도어를 설명하지만, 공공적으로 확인된 사례는 없습니다.

### 4. 숨겨진 계정의 발견

**예시:** 2017년, **주니퍼 네트워크**는 하드코드된 VPN 복호화 키를 가진 무단 코드가 장치에 존재했음을 인정했습니다—몇 년 동안 탐지되지 않았던 백도어.

---

## 사이버 보안에서 백도어의 중요성

**백도어는 전통적인 심층 방어 전략을 무력화합니다:**

- **회피:** 종종 낮은 수준(펌웨어, 커널) 또는 합법적인 네트워크 포트를 사용하여 구현되어 대부분의 엔드포인트 보안 제품을 피합니다.
- **지속성:** 재부팅, 재설치 후에도 잔존; 하드웨어 백도어는 하드웨어 초기화 후에도 남을 수 있습니다.
- **확장:** 공격자가 중요한 인프라를 대상으로 하거나, 간첩 행위를 하거나 봇넷을 구축하게 합니다.

**백도어는 다음의 즐겨 찾는 도구입니다:**

- **국가 간첩 활동(APT 그룹)**
- **사이버 범죄 조직** (랜섬웨어, 데이터 절도 목적)
- **내부 위협**

---

## 백도어 탐지 및 사냥

탐지는 매우 어려울 수 있습니다 — 특히 하드웨어나 잘 난독화된 맬웨어 백도어의 경우. 그럼에도 불구하고 방어자들은 여러 가지 접근 방식을 사용할 수 있습니다:

### 수동 분석

- **파일 무결성 검사:** OS/시스템 바이너리 해시를 알려진 양호한 기준선과 비교 (예: [AIDE](https://aide.github.io/))
- **프로세스 감사:** 비정상적인 프로세스나 서비스 찾기 (`ps`, `tasklist`)
- **네트워크 트래픽 검사:** 비정상적인 아웃바운드 연결이나 열린 포트( [netstat](https://man7.org/linux/man-pages/man8/netstat.8.html), [ss](https://man7.org/linux/man-pages/man8/ss.8.html) 사용)

### 자동 스캔 및 스크립팅

- **엔드포인트 탐지(EDR/XDR):** Microsoft Defender, CrowdStrike 또는 오픈 소스 대안은 의심스러운 동작을 지속적으로 감시합니다.
- **로그 및 파일 시스템 모니터링:** [OSSEC](https://www.ossec.net/), [Wazuh](https://wazuh.com/), [Sysmon](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon)과 같은 도구
- **커스텀 스크립트:** Bash나 Python 스크립트를 사용하여 열린 포트, 비정상적인 사용자 계정, 수정된 파일을 파싱

---

## 백도어 탐지 코드 샘플

다음은 백도어 사냥 및 네트워크/서비스 모니터링에 자주 사용되는 실용적인 스크립트 및 명령입니다.

### 기본 Bash Netstat 스캔

예상치 못한 리스닝 포트 및 관련 프로세스를 찾습니다:

```bash
sudo netstat -tulpn | grep LISTEN

예시 출력:

tcp        0      0 0.0.0.0:22          0.0.0.0:*        LISTEN      1123/sshd
tcp        0      0 127.0.0.1:3306      0.0.0.0:*        LISTEN      1144/mysqld
tcp        0      0 0.0.0.0:31337       0.0.0.0:*        LISTEN      1234/backdoor

참고: 31337 같은 이상한 포트(엘리트 표현으로 "eleet")가 알려지지 않은 프로세스에서 제공되는 것을 보면 백도어의 고전적인 신호입니다!


파이썬 포트 스캐너

호스트에서 기본 열린 포트 스캔을 위해 파이썬 사용:

import socket

def scan_ports(host, ports=[22, 80, 443, 31337, 12345]):
    for port in ports:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(1)
        try:
            s.connect((host, port))
            print(f"[+] Port {port} open")
        except:
            pass
        s.close()

if __name__ == "__main__":
    scan_ports('127.0.0.1')

ps와 파이썬으로 비정상적인 프로세스 검토

모든 비표준 프로세스를 추출 및 출력:

ps aux | egrep -v "root|sshd|nginx|mysql|your_expected_services"
파이썬 예시 (프로세스 목록 파싱):
import psutil

expected_names = ['sshd', 'nginx', 'mysqld', 'systemd']

for proc in psutil.process_iter(['pid', 'name', 'username']):
    if proc.info['name'] not in expected_names:
        print(proc.info)

Sysmon + Sigma 규칙으로 의심스러운 네트워크 활동 탐지

윈도우에서 Sysmon 사용 및 Sigma 규칙을 사용하여 새로 열린 포트를 탐지:

Sigma 규칙 예시: 의심스러운 포트 열기 탐지

title: Suspicious Listening Port
logsource:
    product: windows
    service: sysmon
detection:
    selection:
        EventID: 3
        DestinationPort:
            - 31337
            - 12345
    condition: selection
level: high

백도어 공격 방지

  1. 소프트웨어 및 펌웨어 무결성

    • 모든 업데이트 서명: 배포하는 모든 소프트웨어 및 펌웨어에 암호 서명 사용.
    • 해시 검증: 신뢰할 수 있는 공급업체와 정기적으로 중요한 시스템 바이너리 해시를 비교.
    • 공급망 위험 제한: 엄격한 보안 통제를 가진 공급업체의 하드웨어/소프트웨어만 소싱.
  2. 네트워크 강화

    • 사용하지 않는 포트 및 서비스 비활성화
    • 마이크로세분화: 침해 발생 시 측면 이동 방지
  3. 정기적 감사

    • 정기적인 보안 리뷰 수행 (코드, 구성, 네트워크)
    • 위협 사냥 수행: 백도어 활동의 징후를 능동적으로 찾기
  4. 사용자 인식 제고

    • 사회공학/피싱을 방지하기 위한 직원 교육 (일반적인 초기 벡터)
  5. 접근 통제

    • 최소 권한 및 엄격한 관리자 통제 (사용하지 않는 계정 제거, MFA 사용, 관리자 활동 모니터링)

신흥 트렌드: 공급망 및 국가 주도 백도어

공급망 공격

솔라윈즈 및 CCleaner 사건은 공격자가 이제 신뢰할 수 있는 업데이트 메커니즘을 목표로 한다는 것을 보여줍니다. 코드 서명 진행, 빌드 서버 또는 펌웨어 업데이트 인프라를 목표로 하면, 공격자는 제품 제공 전에 고객을 손상시킬 수 있습니다.

국가 주도 백도어

하드웨어/CPU 백도어는 드물게 노출되지만, 유출된 정보는 정보 기관이 제조나 배송 중 임플란트를 설치한다고 시사합니다, 특히 적대국에 전달되는 네트워크 장비에서.

  • 도전 과제: 이러한 백도어는 문서화되지 않은 명령이나 고유의 명령 시퀀스를 사용하여, 소프트웨어 감사로는 탐지할 수 없습니다.

결론

백도어는 사이버 보안 분야에서 가장 위험하며, 은밀하고 높은 영향력을 미치는 공격 벡터 중 하나를 나타냅니다. 소프트웨어, 펌웨어, 하드웨어에 숨겨져 있으면서 비밀스럽고 지속적으로 접근할 수 있어 중요한 시스템에 대한 신뢰를 약화시킵니다. 백도어 탐지, 방어 및 예방은 모니터링, 자동화 스크립팅, 공급망 감시 및 사용자 교육을 결합한 계층적, 능동적 접근 방식을 요구합니다.

여러분이 조직이라면 시스템을 점검할 시간을 가지세요—예상치 못한 것을 찾고, 양호한 이력을 확인하며, 공급업체 권고 사항을 계속 최신 상태로 유지하세요. 완벽한 방어가 불가능할지라도, 끊임없는 감시가 이 보이지 않는 침입자들에 대한 최고의 무기입니다.


참조


이 가이드는 사이버 보안 전문가, 시스템 관리자 및 IT 열정가들을 교육하고 강화하기 위한 것입니다. 항상 의심하고, 항상 보이지 않는 위협을 찾으세요.

🚀 레벨업할 준비가 되셨나요?

사이버 보안 경력을 다음 단계로 끌어올리세요

이 콘텐츠가 유용하다고 생각하셨다면, 저희의 포괄적인 47주 엘리트 교육 프로그램으로 무엇을 달성할 수 있을지 상상해 보세요. Unit 8200 기술로 경력을 변화시킨 1,200명 이상의 학생들과 함께하세요.

97% 취업률
엘리트 Unit 8200 기술
42가지 실습 랩