DOI QR코드

DOI QR Code

Bit-Level Fields of Satellite Protocol Reverse Engineering

위성프로토콜의 비트 단위 필드 역공학 기법

  • Received : 2025.07.24
  • Accepted : 2025.09.03
  • Published : 2025.10.31

Abstract

With the growing importance of satellite communications, the need for satellite protocol reverse engineering aimed at enhancing security and analyzing vulnerabilities has also increased. Due to the characteristics of the satellite communication environment-such as limited frequency bandwidth and low signal-to-noise ratio-bit-level fields are present, making it difficult to reconstruct protocol structures using conventional byte-level protocol reverse engineering techniques. In this paper, we propose an information-theoretic field segmentation and merging method that enables precise identification of bit-level fields not only within bytes but also across byte boundaries. To verify the effectiveness of the proposed approach, we conducted experiments in various environments, including CCSDS standard protocols, protocol used in Cubesat, variants of space packet protocol, and data containing noise. Experimental results show that the proposed method achieved F1 scores of 0.65, 0.57, and 0.59 in standard protocols, modified protocols, and noisy environments, respectively, demonstrating superior performance compared to existing techniques. Moreover, the execution time for 1,000 packets remains under 15 seconds, which confirms that the method can be applied effectively in practical settings.

최근 위성 통신의 중요성이 높아지면서, 위성 통신의 보안 강화, 취약점 분석 등을 목적으로 하는 위성 프로토콜 역공학의 필요성이 커지고 있다. 위성 프로토콜에는 제한된 주파수 대역, 낮은 신호 대 잡음비 등의 위성 통신 환경의 특성으로 비트 단위 필드들이 존재하기 때문에 기존 바이트 단위 프로토콜 역공학 기법으로는 구조 복원이 어렵다. 본 논문에서는 정보이론 기반의 필드 분할 및 병합 기법을 제안하여, 바이트 내부 뿐 아니라 바이트 경계에 걸친 비트 단위 필드까지 정밀하게 식별할 수 있도록 하였다. 제안 방법의 효과를 검증하기 위해 CCSDS 표준 프로토콜 및 큐브위성에 사용되는 프로토콜, 변형된 프로토콜, 잡음이 포함된 데이터 등 다양한 환경에서 실험을 수행하였다. 실험 결과, 제안 방법은 표준 프로토콜, 변형 프로토콜, 잡음 환경에서 각각 0.65, 0.57, 0.59의 F1 score를 기록하며 기존 기법 대비 우수한 성능을 보였다. 또한 분석 패킷 개수가 1000개인 경우에도 분석 소요 시간이 15초 이내로 측정되어, 실제 환경에서 적용 가능함을 확인하였다.

Keywords

I. 서론

통신프로토콜은 둘 이상의 통신 개체 간에 교환되는 메시지 포맷과 순서뿐만 아니라, 메시지의 송수신과 다른 이벤트에 따른 행동들을 정의하는 규약이다[1]. 현대 네트워크 환경에서는 Ethernet, TCP, IP와 같이 공개된 프로토콜뿐만 아니라, 산업용 장비나 전자기기 등에서 활용되는 비공개, 비표준 프로토콜도 광범위하게 활용되고 있다. 많은 기업과 기관들은 제품 독자성 유지, 자원 최적화, 보안 강화 등의 목적으로 프로토콜 구조를 비공개로 유지하며, 이로 인해 공식 문서나 사양이 공개되지 않은 경우가 많다. 실제로 차량 진단 프로토콜을 악용하는 공격 사례[2]나, Zigbee 프로토콜의 MAC 계층의 주소 스푸핑 취약점을 이용하여 장치에 권한 없이 접근하는 사례[3] 등, 비공개 프로토콜의 보안 취약점이 실질적인 위협으로 나타나고 있다.

이러한 위협을 해결하기 위한 대안으로 프로토콜 역공학(Protocol Reverse Engineering)이 주목받고 있다. 프로토콜 역공학은 통신을 관찰하고 프로토콜의 포맷과 동작 원리를 분석해 명세를 추론하는 것을 목표로 하는 기술이다[4]. 알려지지 않은 프로토콜에 대한 역공학은 다음과 같은 측면에서 의의가 있다. 먼저, 보안 취약점 분석 및 대응 측면에서, 프로토콜 역공학을 활용하면 알려지지 않은 프로토콜을 사용하여 통신하는 봇넷, 랜섬웨어 등의 명세를 추론하여 악성 통신을 차단하거나 탐지 규칙을 생성할 수 있다. 또한 오류, 취약점 등을 탐지하는 테스트 기법인 퍼징의 기반이 되는 프로토콜 모델을 추정하여 제시할 수 있다. 두 번째로, 네트워크 모델링 및 이상 탐지 측면에서, 딥 패킷 검사 등 트래픽 분석이나 상태 머신을 만들어 비정상 패턴을 식별하고 네트워크 이상 징후를 조기 발견하는 데 기여한다.

이러한 프로토콜 역공학의 중요성은 특히 급성장하는 위성 통신 분야에서 더욱 부각되고 있다. 최근 기술의 비약적 발전에 힘입어 위성은 차세대 이동통신, 군용 통신 등 다양한 분야에서 핵심 인프라로 부상하고 있다. 이러한 변화에 대응하여 각국 정부는 우주 개발 정책을 적극적으로 추진하고 있으며, SpaceX Starlink, Eutelsat OneWeb 등과 같은 민간 사업자들의 진출로 글로벌 우주 산업이 급속히 성장하고 있다[5]. 이에 따라 위성 시스템의 보안성과 안정적 운용이 점차 중요해지고 있으며, 인공위성 프로토콜을 대상으로 한 프로토콜 역공학 연구의 필요성이 크게 대두되고 있다. 이러한 연구는 위성 통신 프로토콜의 취약점 분석, 보안 강화, 그리고 시스템 신뢰성 확보를 위한 핵심 기반으로 작용하며, 미래 우주 인프라의 안전한 운영을 위한 필수적인 학문적·기술적 과제로 인식되고 있다.

그러나 현존하는 대부분의 프로토콜 역공학 기법들은 바이트를 최소 분석 단위로 하여, 위성 통신 환경의 특수성을 충분히 반영하지 못하는 한계가 있다. 위성 통신 프로토콜은 제한된 대역폭과 원거리 통신이라는 특성으로 인해 효율적 데이터 전송을 위해 비트 단위 필드를 다수 포함하고 있다. 일부 기존 기법들이 바이트 내부의 비트 단위 필드는 분석할 수 있으나, 바이트 경계를 넘나드는 비트 단위 필드의 정확한 식별에는 근본적 제약이 있다.

이러한 한계를 해결하기 위해 본 논문은 인공위성 통신 프로토콜의 구조를 정밀하게 분석하는 방법론을 제안한다. 구체적으로, 비트 단위 필드로 구성된 바이트의 내부 구조와 인접 바이트와의 결합 여부를 정보 이론적 방법으로 분석하고자 한다.

본 논문의 주요 기여는 다음과 같다.

1. 바이너리나 소스코드 접근이 제한된 우주환경에서, 네트워크 트레이스만을 활용하여 프로토콜 구조를 분석할 수 있는 방법론을 제시한다.

2. 정보이론적 지표를 활용하여, 바이트 내부뿐아니라 바이트 경계에서도 비트 단위 필드 경계를 높은 정확도로 식별한다.

3. 대규모 데이터셋에서도 실용적인 분석 속도를 달성하여 실제 적용 가능성을 보인다.

II. 관련 연구

프로토콜 역공학은 입력 관점에서 크게 2가지 접근 방법으로 나뉜다: 네트워크 트레이스 기반, 실행 트레이스 기반[6]. 첫 번째, 네트워크 트레이스 기반 프로토콜 역공학(network trace based PRE)은 네트워크에서 송수신되는 패킷을 캡쳐하여, 메시지의 구조(필드, 오프셋, 길이 등)와 의미, 그리고 프로토콜 상태 머신(state machine)을 추론한다. 네트워크 트레이스 기반 프로토콜 역공학은 수집한 메시지들을 순서 정렬(sequence alignment), 클러스터링하여 분석하거나 분포, 값의 변화 양상, 길이, 반복 패턴 등의 통계적 기법으로 분석하여 메시지의 구조를 추출한다. 이 방법은 분석 대상 시스템의 바이너리 실행파일이나 소스코드 접근이 필요 없으며, 네트워크 트래픽만 확보하면 분석이 가능하다. 하지만 네트워크 트래픽에 없는 메시지 및 상태에 대한 분석이 제한되어 트래픽의 질적 차이에 따라 성능이 달라질 수 있다. 대표적인 네트워크 트레이스 기반 프로토콜 역공학 기법은 다음과 같다. Nebzob[7]은 네트워크 패킷 트레이스를 UPGMA클러스터링 및 Needleman-wunsch 정렬 기법으로 분석하여 메시지 포맷과 상태 머신을 추출하는 기법이다. Netplier[8]은 어플리케이션 계층의 프로토콜을 대상으로 메시지 유사도 및 키워드 기반 클러스터링을 활용해 프로토콜 메시지 구조를 분석하는 기법이다. Nemesys[9]은 하나의 패킷을 대상으로 분석하며 비트 단위 연속성 및 값 변화 패턴을 활용한 휴리스틱 기반 필드 경계를 탐지하는 기법이다.

두 번째, 실행 트레이스 기반 프로토콜 역공학(execution trace based PRE)은 프로토콜을 실제로 구현한 프로그램(바이너리)이 외부로부터 메시지를 받을 때, 그 내부 실행 과정을 추적하여 메시지의 구조와 의미를 추론하는 방법이다. 동적 오염 분석(dynamic taint analysis) 등을 활용하며, 프로그램 실행 흐름을 직접 관찰하므로 메시지의 필드 경계, 필드의 의미 등 프로토콜 정보들을 매우 정확하게 추출할 수 있다. 하지만 프로토콜을 직접 실행할 수 있는 환경이 반드시 필요하다는 단점이 있다.

본 논문은 인공위성-지상국 간 통신에 사용되는 프로토콜을 분석 대상으로 한다. 우주 자산은 대부분 보안 자산 취급 받기 때문에 바이너리 실행파일이나 소스코드에 대한 접근이 제한된다. 따라서 송수신 패킷만으로 분석하는 네트워크 트레이스 기반 프로토콜 역공학의 방법을 제안한다.

대부분의 프로토콜 역공학 기법은 바이트 또는 반바이트를 최소 단위로 사용한다. 다수의 네트워크 프로토콜들이 바이트를 최소 단위로 사용하고 있어 바이트 단위 필드 추출이 적합하다[10]. 오히려 비트 단위 또는 과도하게 미세한 단위로 분석할 경우 실제 의미 있는 필드가 아닌, 문자 단위 또는 불필요하게 잘게 쪼개진 필드가 다수 생성되어 오탐지가 발생한다. 또한 최소 단위를 바이트가 아닌 비트로 할 경우 8배나 더 긴 메시지를 분석해야 하기 때문에 복잡도가 증가하여 실용적이지 않다[11].

Netzob, Netplier 등 현존하는 바이트 또는 반바이트 단위 프로토콜 역공학 기법들로 다수의 필드를 식별할 수 있으나, 프로토콜의 세부 명세를 정확하게 복원하기 위해서는 비트 단위 필드들을 분석하는 방법이 필요하기 때문에 비트 단위 필드를 식별하기 위한 연구도 지속되고 있다. 이들은 앞서 언급한 문제점을 해결하기 위해 전체 패킷에 대해 비트 단위로 분석하기보다는 짧은 길이의 바이트들을 비트 단위 필드들로 구분하는 방안을 채택했다.

FineBID[12]는 정보이론과 다목적 최적화 방식을 활용하여 비트 단위 필드에 대한 프로토콜 역공학을 수행한다. 하지만, FineBID는 바이트 내 비트 단위 필드 식별에 강점을 보이나, 인접 바이트에 걸친 비트 단위 필드의 병합 문제는 해결하지 못했다. 본 논문에서는 FineBID의 한계점을 해결하기 위해, 바이트 경계에서 인접한 비트 단위 필드의 병합을 고려한 방법을 제안하여 비트 단위 필드 식별의 정확성과 실용성을 강화한다.

III. 배경지식

3.1 정보이론

프로토콜 역공학에서 정보엔트로피(information entropy)는 필드 내의 불확실성을 정량적으로 나타내는 지표이다. 필드가 항상 동일한 값을 가진다면 엔트로피는 0이 되고, 값이 무작위로 분포할수록 엔트로피 값은 커진다. 즉, 필드의 엔트로피가 낮을수록 필드 내 일관성이 높음을 의미한다. 정보엔트로피는 다음과 같이 표현된다.

\(\begin{align}H(X)=-\sum_{x \in X} p(x) \log _{2} p(x)\end{align}\)       (1)

상호정보량(mutual information)은 두 개의 필드 간 의존성 정도를 나타내는 지표이다. 두 개의 필드가 독립적일 때 상호정보량은 0이 되며, 의존성이 클수록 값이 커진다. X, Y필드의 상호정보량은 다음과 같이 표현된다.

\(\begin{align}I(X, Y)=\sum_{x \in X} \sum_{y \in Y} p(x, y) \log _{2} \frac{p(x, y)}{p(x) p(y)}\end{align}\)       (2)

I(X, Y) = X(X) + H(Y) - H(X, Y)       (3)

조정상호정보량(adjusted mutual information)은 상호정보량에 우연에 의한 일치 가능성을 보정한 값이다[13]. X,Y필드가 독립적이라면 0과 가까운 값을, 강한 의존성이 있으면 1에 가까운 값을 갖는다. 조정상호정보량은 우연의 효과를 제거하여 더 정확한 의존성 측정이 가능하다. 상호정보량과 달리 조정상호정보량은 –1~1사이의 값만 결과로 제시하도록 표준화되어 있기 때문에 필드의 크기에 무관하게 두 필드 간의 의존성을 비교할 수 있다.

\(\begin{align}A M I(X, Y)=\frac{I(X, Y)-E(I(X, Y))}{\frac{(H(X)+H(Y))}{2}-E(I(X, Y))}\end{align}\)       (4)

바이트가 올바르게 분할되었다면 각 필드 내부의 값이 일관성을 가지므로 정보엔트로피가 낮게 나타난다. 또한 인접한 서로 다른 두 개의 필드는 독립적일 가능성이 높아 상호정보량 역시 낮을 것이다. 따라서 올바른 분할 방식은 모든 필드의 정보엔트로피의 합과 인접 필드 간 상호정보량의 합을 동시에 최소화하는 경우라 할 수 있다. 또한 두 개의 바이트에 걸쳐서 존재하는 필드가 있다면 해당 필드의 앞부분과 뒷부분 사이에는 높은 의존성이 관찰될 수 있다.

3.2 다목적 최적화

다목적 최적화(multi-objective optimization)는 두 개 이상의 상충하는 목적함수를 동시에 고려하여 최적의 해를 찾는 최적화 기법이다. 파레토 최적해(pareto optimal solution)란 어떤 목적함수를 개선하면 반드시 다른 목적함수가 악화되는 트레이드 오프 관계에 있어 더 이상 개선할 수 없는 해이다. 이러한 파레토 최적해들의 집합을 파레토 프론트(pareto front)라고 한다. 지배(dominance)란 해들 간의 우열을 비교하는 기준이다. 하나의 해 A가 모든 목적함수에서 다른 해 B보다 같거나 더 우수하고, 적어도 하나의 목적함수에서는 더 뛰어날 때, A가 B를 지배한다고 한다. 지배되는 해는 파레토 해가 될 수 없고, 지배되지 않는 해만이 파레토 최적해가 된다[14].

Fig. 1.은 최소가 되어야 하는 두 목적함수 f1(x), f2(x)의 해들을 표현한 것이다. A2와 A7의 경우, A2가 A7에 비해 두 목적함수에서 모두 작은 값을 갖기 때문에 A2가 A7를 지배한다. 반면 A2보다 두 목적함수를 모두 작게 만드는 해는 없다. 따라서 A2를 지배하는 해가 없기에 A2는 파레토 해가 되고, A7는 지배받는 해가 된다. 이처럼 Fig.1.에서는 12개의 해 중에서 A1~A5 총 5개의 해는 파레토 해로서 파레토 프론트에 속한다.

JBBHCB_2025_v35n5_1171_4_f0002.png 이미지

Fig. 1. Solutions of two objective functions

3.3 우주 프로토콜

CCSDS(The Consultative Committee for Space Data Systems)는 세계 주요 우주 기관들에 의해 설립된 우주 비행을 위한 통신 및 데이터 시스템 표준 개발을 위한 다국적 포럼이다[15]. NASA(미국 항공 우주국), ESA(유럽 우주국), CNSA(중국 국가 우주국) 등 11개 회원 기관과 KARI(한국 항공 우주연구원) 등 33개 옵서버 기관이 참여하고 있다. CCSDS는 우주 통신 프로토콜에 대한 표준을 권고하고 있으며, 참여기관들은 표준을 참고하여 임무 수행하고 있다[16][17].

우주 통신 환경은 대역폭이 제한적이고, 원거리 통신으로 인해 신호 대 잡음비가 낮아 저차수 변조 방식이 주로 사용된다는 특징이 있다. 이러한 특징에 따라 CCSDS의 표준 프로토콜들도 최대한 효율적인 통신을 하기 위해 비트 단위 필드들로 구성되는 경우가 많다. 예를 들어, Space Packet Protocol은 6 바이트 header를 포함하는데, Fig. 2.과 같이 바이트 경계에 걸쳐 구성된 비트 단위 필드가 2개 존재한다.

JBBHCB_2025_v35n5_1171_4_f0001.png 이미지

Fig. 2. Primary header of Space Packet Protocol

IV. 제안 방법

본 연구에서는 우주 프로토콜의 비트 단위 필드를 효과적으로 분석할 수 있는 새로운 프로토콜 역공학 방법을 제안한다. 우리의 제안 방법은 크게 두 개의 페이즈로 구분되어 단계적으로 진행된다. 페이즈 1은 하나의 대상 바이트를 비트 단위 필드들로 분할하는 최적의 방법을 찾는 단계로 FineBID[12]와 유사하게 진행된다. 페이즈 2는 하나의 대상 바이트에서 분할된 비트 단위 필드들 중 첫 번째 필드와 마지막 필드가 인접한 바이트와 동일한 필드일 가능성을 평가하고 병합하는 과정이다.

4.1 페이즈 1(바이트 내부 필드 분할)

페이즈 1은 총 6개의 세부 단계로 구성되어 있으며 Fig. 3.과 같이 진행된다. 먼저 1단계는 전처리(대상 바이트 선정) 단계이다. 기존의 우수한 바이트 단위 프로토콜 역공학과 전문가의 도메인 지식을 결합하여 패킷 내 비트 단위 필드로 구성될 것으로 추정되는 바이트를 대상 바이트로 선정한다. 또한 선정된 대상 바이트의 앞, 뒤에 위치한 바이트 역시 비트 단위 필드들로 구성되어 있는지 여부를 함께 확인한다.

JBBHCB_2025_v35n5_1171_5_f0001.png 이미지

Fig. 3. Overview of Phase 1(Intra-byte field segmentation)

2단계는 대상 바이트의 상수 비트 추출 단계이다. 대상 바이트를 8개의 비트로 나타내고, 모든 패킷에서 0 또는 1이라는 공통된 값을 갖는 비트를 상수 비트로 추출한다. 연속된 상수 비트로 구성된 필드의 내부는 네트워크 트레이스 기반 프로토콜 역공학에서는 분리할 수 없어서 하나의 필드로 간주한다.

3단계는 필드 분할 방법 추출 단계이다. 바이트 내부에서 분할할 수 있는 모든 필드 분할 방법을 도출한다. N개의 필드로 분할하는 모든 경우의 집합을 Sn이라 정의하며, 이 집합의 원소 개수는 2단계에서 추출된 연속된 상수 비트의 개수와 N의 값에 따라 달라진다. 일반적으로, 연속된 상수 비트가 없는 경우 바이트(8비트)를 N개의 필드로 분할하는 방법의 수는 7C(n-1)로 계산된다. 하지만 연속된 상수 비트가 존재할 경우 해당 비트들은 하나의 필드로 간주된다. 예를 들어 연속된 상수 비트가 2개 존재한다면, 분할 가능한 경계가 하나 줄어들어 6C(n-1)개의 분할 방법이 유효하다.

4단계는 파레토 해 추출 단계이다. 3단계에서 추출된 모든 필드 분할 방법들에 대해 각 방법의 필드들의 정보 엔트로피들의 합(total information entropy)과 인접 필드들의 상호 정보량들의 합(total mutual information)을 계산한다. 이후, 정보 엔트로피의 합과 상호 정보량의 합이 모두 최소가 되는 방향으로 각 분할 방법을 평가한다. 이때, 다목적 최적화 문제의 해법으로 파레토 해 개념을 적용하여 다른 분할 방법에게 지배되지 않는 분할 방법들을 파레토 최적해로 선정한다. 본 논문에서는 동일한 Sn 내에서 두 분할 방법 Ai와 Aj에 대해, Ai가 Aj보다 정보 엔트로피들의 합과 상호 정보량들의 합이 모두 작을 경우, Ai가 Aj를 지배한다고 정의한다. 이러한 지배 관계에 따라, 어떤 다른 분할 방법에도 지배되지 않는 방법들을 파레토 해로 추출한다. Fig. 4.는 예시로 S2의 파레토 해를 추출한 것이다. A1~A3 3개의 해는 각각 이들보다 정보 엔트로피의 합과 상호 정보량을 동시에 낮게 만드는 해가 없기에 파레토 해가 된다.

JBBHCB_2025_v35n5_1171_6_f0001.png 이미지

Fig. 4. Pareto solutions S2

5단계는 유틸리티 값 계산 단계이다. 추출된 파레토 해들을 기반으로, 각 비트가 필드 경계일 확률을 나타내는 유틸리티 값을 산출한다. 먼저, Sn에서 추출된 파레토 해들에서 i번째 비트가 경계로 선택된 빈도 FN,i를 집계하고, 각 빈도를 전체 빈도의 합으로 나누어 상대빈도 RN,i로 변환한다.

\(\begin{align}R_{N, i}=\frac{F_{N, i}}{\sum_{i \in[1,7]} F_{N, i}}\end{align}\)       (5)

이후, 상대빈도 RN,i에 필드 분할 수에 따라 사전 정의된 가중치 wN를 곱하여 모두 더하는 단순 가중치 합산(simple additive weighting) 방식을 적용한다. 각각의 값을 더하여, 각 비트의 유틸리티 값 vi을 산출한다.

\(\begin{align}v_{i}=\sum_{N \in[2,5]} w_{N}^{*} R_{N, i}\end{align}\)       (6)

필드의 수가 작은 경우(N=2)의 파레토 최적해가 더 높은 분할 수준(N>2)의 해집합에도 반복해서 포함될 확률이 커져 동일한 비트 경계가 과도하게 반영되는 과적합이 발생할 수 있다. 반면, 필드의 수가 큰 경우(N=5)에는 필드 분할 방법의 다양성이 감소해 신뢰도가 떨어지지만, 이를 무시하면 실제 경계를 간과하는 과소적합이 발생할 수 있다. 따라서 Table 1.과 같이 중간 수준의 분할(N=3, 4)에는 비교적 높은 가충치(0.3)를, 극단 수준의 분할(N=2, 5)에는 낮은 가중치(0.2)를 부여하여 두 현상을 방지하였다.

Table 1. Setting of Utility Value Weight

JBBHCB_2025_v35n5_1171_6_t0001.png 이미지

6단계는 바이트 내 최적의 필드 분할 방법 결정 단계이다. 모든 비트의 유틸리티 값의 평균보다 큰 유틸리티 값을 가진 비트를 선정하고 해당 비트를 경계로 선택한다.

4.2 페이즈 2(바이트 경계의 비트 단위 필드 병합)

페이즈 2는 총 3단계로 구성되어 있으며 Fig. 5.와 같이 진행된다. 먼저 1단계는 인접 바이트 분할 단계이다. 페이즈 1의 전처리 단계에서 비트 단위 필드들로 구성될 것으로 추정되는 대상 바이트를 선정한 방법과 같이 이미 존재하는 바이트 단위 프로토콜 역공학 기법과 전문가의 도메인 지식을 활용하여 인접한 바이트가 비트 단위 필드들로 구성되어 있는지 여부를 판단한다. 페이즈 1의 결과 하나의 바이트를 비트 단위 필드들로 분할하는 최적의 방법을 추출했다. 대상 바이트의 첫 번째 필드와 마지막 필드는 각각 대상 바이트의 선행 바이트와 후행 바이트와 같은 필드일 가능성이 있다. 선행 바이트 또는 후행 바이트가 비트 단위 필드들로 구성되어 있지 않다면, 바이트 전체를 인접한 대상 바이트의 필드들을 비교하면 된다. 하지만 앞 또는 뒤 바이트가 비트 단위 필드로 구성될 것으로 판단된다면, 인접 바이트에도 페이즈 1의 과정을 거쳐 비트 단위 필드로 분할한다.

JBBHCB_2025_v35n5_1171_7_f0001.png 이미지

Fig. 5. Overview of Phase 2(Merging bit-level fields at byte boundaries)

2단계는 상수 필드 여부에 따른 병합 여부 결정 단계이다. 인접 바이트의 비트 단위 필드 구성 여부에 따라 앞 바이트 전체 또는 앞 바이트의 마지막 필드와 대상 바이트의 첫 번째 필드를 비교한다. 동일한 방법으로 뒷 바이트 전체 또는 뒷 바이트의 첫 번째 필드와 대상 바이트의 마지막 필드를 비교한다. 그리고 각 패킷에서 해당 필드가 항상 동일한 값인지 확인한다. 항상 동일한 값을 갖는 상수 필드일 경우, 정보 엔트로피가 0이기 때문에 해당 필드에서 획득할 수 있는 정보량이 없다. 따라서 비교 대상인 두개의 필드 중 하나라도 상수 필드라면, 병합하지 않는다.

3단계는 조정상호정보량 비교를 통한 병합 여부 결정 단계이다. 상수 필드가 존재하지 않는다면 병합 대상인 2개의 인접한 필드의 조정상호정보량을 계산한다. 만약 사전에 정한 조정상호정보량의 임계값을 넘어서면 비교 대상들을 병합한다. 본 연구에서는 조정상호정보량의 임계값을 실험적으로 최적화하였으며, 모든 실험에서 0.6으로 선정하였다. 조정상호정보량의 임계값을 높게 설정할 경우, 실제로 같은 필드 임에도 필드 간 의존성이 낮게 평가되어 병합되지 않는 경우가 발생할 수 있다. 반면 낮게 설정할 경우에는 다른 필드임에도 같은 필드로 간주되어 병합되는 경우가 늘어날 수 있다.

V. 평가

5.1 데이터 수집

본 연구에서는 CCSDS의 space packet protocol[14], AOS space data link protocol[18], Unified space data link protocol(USLP)[19] 그리고 큐브셋과 같은 소형 우주선의 임베디드 시스템에 사용되는 CubeSat Space Protocol(CSP)[20]의 밝혀진 구조에 따라서 생성한 합성데이터를 실험하였다.

합성데이터 생성 시, 패킷 개수에 따른 성능 및 소요 시간을 확인하기 위해 프로토콜 별로 100, 500, 1000개의 패킷으로 구성된 데이터셋을 생성하였다. 또한 구조가 일부 수정된 프로토콜을 사용하는 경우를 실험하기 위해 CCSDS space packet protocol의 필드 순서 변경하거나 일부 필드 속성을 조정한 변형 프로토콜의 패킷 데이터를 추가로 생성하여 실험하였다. 그리고, 잡음이 존재하는 환경에서 신호를 수신, 분석하는 상황을 고려하여 특정 확률로 비트를 반전시켜 잡음이 포함된 패킷 데이터도 함께 생성하였다.

5.2 베이스라인

우리는 본 연구의 성능을 검증하기 위해 총 3개의 기존 연구들을 성능 비교 베이스라인으로 설정하였다: FineBID[12], READ[21], Nemesys[9].

FineBID[12]는 특정 바이트 내부의 비트 단위 필드 경계를 식별하는 역공학 도구이다. 이 도구는 먼저 비트 단위 필드가 포함되어 있을 것으로 추정되는 바이트를 선별한 후, 해당 바이트를 비트 단위로 분할할 수 있는 모든 경우의 수를 계산한다. 이후 정보이론적 지표를 적용하여 각 분할 경우를 분석하고, 필드 경계 후보의 유틸리티 값을 산출하여 최적의 경계를 추출한다. 본 연구에서는 비트 단위 필드가 포함된 각 바이트에 FineBID를 적용한 뒤, 추출된 경계들을 통합하여 비교에 활용하였다.

READ[21]는 CAN(controller area network) 프로토콜의 payload 구조 분석에 특화된 역공학 도구이다. CAN 프로토콜의 구조적 특성과 payload 길이가 최대 8바이트(64비트)로 제한된다는 점을 활용한다. 시계열 형태로 수집된 CAN 데이터를 64비트로 변환한 후, 각 비트의 변화율(bit-flip rate)과 크기(magnitude)를 분석하여 신호 경계를 추정한다.

Nemesys[9] 는 바이트 단위를 기본으로 하는 프로토콜 역공학 도구이나, 본 연구에서는 연속하는 두 바이트의 연속성과 값 변화 패턴을 분석하는 방식을 두 비트 단위로 수정하여 적용하였다. Nemesys는 각 패킷별로 추정된 경계 정보를 제공하므로, 패킷별로 추출된 경계들을 합산한 뒤, 경계 빈도가 최댓값의 절반 이상인 경우를 경계로 선정하였다.

5.3 평가지표

필드의 경계를 제대로 추출했는지 평가하기 위해 프로토콜 역공학에 대표적으로 사용되는 네 가지 지표(정확도, 정밀도, 재현율, F1 Score)를 사용하였다[10][22]. 이 때, Table 2. 처럼 경계라고 예측한 값이 실제로 경계일 경우(TP), 경계라고 예측한 값이 실제로는 경계가 아닐 경우(FP), 경계가 아니라고 예측한 값이 실제로 경계가 아닐 경우(TN), 경계가 아니라고 예측한 값이 실제로 경계일 경우(FN)로 분류하고 다음 수치에 적용하여 평가한다.

Table 2. Confusion matrix

JBBHCB_2025_v35n5_1171_8_t0001.png 이미지

정확도(accuracy)는 전체 예측 중에서 올바르게 예측된 것의 비율을 나타낸다.

\(\begin{align}\text {Accuracy} = \frac{T P + T N}{T P + T N + F P + F N}\end{align}\)       (7)

정밀도(precision)는 경계일 것으로 예측한 샘플 중 실제로 경계인 것의 비율을 나타낸다.

\(\begin{align}\text {Precision} = \frac{T P }{T P + F P}\end{align}\)       (8)

재현율(recall)은 실제로 경계인 것 중 경계일 것으로 올바르게 예측된 것의 비율이다.

\(\begin{align}\text {Recall} = \frac{T P}{T P + F N}\end{align}\)       (9)

F1 socre는 정밀도와 재현율의 조화평균으로 두 수치의 균형을 반영하여 종합적으로 평가하는 척도이다.

\(\begin{align}\text {F1 Score}= 2\times \frac{\text {Precision} \times {\text {Recall}}}{\text {Precision + Recall}}\end{align}\)       (10)

5.4 성능평가

5.4.1 표준 프로토콜 대상 실험

우리는 명세가 공개되어 사용되고 있는 CCSDS 표준 프로토콜(space packet protocol, AOS, USLP) 및 CSP의 패킷 데이터를 대상으로 실험하였다. 실험 결과, Table 3. 같이 제안 방법이 평균 F1 score가 0.65로 전반적으로 기존 역공학 기법들에 비해 우수한 성능을 보였다. AOS 프로토콜에서만 FineBID에 비해 재현율과 F1 score가 낮았는데, AOS 100개 패킷에 대한 실험 결과는 Table 4.와 같다. 제안 방법이 바이트 경계에 걸친 비트 단위 필드를 2개 추가로 식별했지만, 1개를 잘못 식별하였다. 그 결과, 정확도와 정밀도는 증가한 반면, 재현율과 F1 score는 다소 낮아졌다. AOS 프로토콜의 헤더의 경우 Fig. 6. 같이 ‘Virtual Channel ID’와 ‘Virtual Channel Frame count’ 필드가 인접하여 있는데, Virtual Channel ID는 Virtual Channel마다 부여되는 유일한 값이고, Virtual Channel Frame count의 경우 해당 Virtual Channel의 시행 수에 따라 1씩 증가한다. 특히, Virtual Channel Frame count 필드가 3바이트로 구성되어 있어 앞의 2바이트는 Virtual Channel ID마다 동일한 값을 가졌다. 이처럼 두 개의 필드가 각각의 필드임에도 내포한 정보의 유사성으로 인한 의존성이 있어 오탐지가 발생하였다.

Table 3. Performance Comparison of PRE Techniques for Each Protocol

JBBHCB_2025_v35n5_1171_9_t0002.png 이미지

Table 4. Confusion matrix for PRE results on AOS Protocol

JBBHCB_2025_v35n5_1171_9_t0001.png 이미지

JBBHCB_2025_v35n5_1171_9_f0001.png 이미지

Fig. 6. Primary header of AOS Protocol

5.4.2 변형 프로토콜 대상 실험

CCSDS의 space packet protocol을 변형하여 추가 실험을 진행하였다. 실제 위성 운용 환경에서는 CCSDS에서 권장하는 표준 프로토콜을 그대로 사용하는 경우보다, 임무 특성에 따라 필드의 순서를 변경하거나 일부 필드의 속성을 수정하는 등 변형하여 적용하는 사례가 많다. 이에 본 연구에서는 CCSDS의 Space Packet Protocol을 변형한 프로토콜을 대상으로 추가 실험을 수행하였다. 이러한 변형 환경에서도 제안한 방법이 기존 역공학 기법들과 비교해 얼마나 견고하게 동작하는지 평가하였다. 실험 결과, Table 5. 와 같이 제안 방법은 필드 순서 변경이나 필드 속성 변화가 있는 상황에서도 평균 F1 score 0.57로 기존 기법 대비 전반적으로 우수한 성능을 유지하였다.

Table 5. Performance Comparison of PRE Techniques for Protocol Variants

JBBHCB_2025_v35n5_1171_10_t0001.png 이미지

5.4.3 잡음이 포함된 패킷 대상 실험

CCSDS 표준 프로토콜 및 CSP의 패킷에 잡음을 포함하여 추가 실험을 진행하였다. 실제 통신 환경에서는 오류 검출 및 정정 과정을 통해 정상적인 패킷만 수신하는 것이 일반적이지만, 프로토콜 역공학에서는 프로토콜 내부 구조를 알 수 없어 오류 검출 및 정정이 불가능하다. 따라서 잡음이나 오류가 있는 패킷도 함께 분석해야 한다. 본 연구에서는 임의로 0.001 비율의 잡음을 포함한 데이터를 생성하여 실험하였다. 실험 결과, Table 6. 와 같이 제안 방법은 잡음이 없는 환경에 비해 성능이 다소 저하되었지만, 잡음이 포함된 환경에서도 기존 기법 대비 전반적으로 우수한 성능을 보였다.

Table 6. Performance Comparison of PRE Techniques for Each Protocol with noise

JBBHCB_2025_v35n5_1171_10_t0002.png 이미지

5.5 소요 시간

프로토콜마다 다른 대상 바이트의 개수와 패킷의 개수에 따른 소요 시간을 측정하였다. Table 7.와 같이 제안 방법은 기존의 프로토콜 역공학 기법보다 연산량이 증가하여 시간이 많이 소요되었지만, 1000개의 패킷으로 구성된 데이터셋을 분석할 때도 15초 미만으로 소요되어 실제 환경에서 적용 가능한 수준임을 확인하였다.

Table 7. Execution Time of PRE Techniques (unit : seconds)

JBBHCB_2025_v35n5_1171_11_t0001.png 이미지

VI. 향후 연구 방향

본 연구는 실제 위성 데이터의 확보가 어려워, CCSDS 등 표준 문서에 정의된 프로토콜 명세를 기반으로 합성 데이터를 생성하여 실험을 수행하였다. 이로 인해 패킷 손실, 암호화된 필드 등 실제 운용 환경에서 발생할 수 있는 다양한 데이터 특성을 충분히 반영하지 못한 한계가 있다. 패킷 손실 비율이 높거나 암호화된 필드가 존재한다면, 제안 방법을 비롯한 현존하는 프로토콜 역공학 기법들의 성능이 다소 떨어질 수 있다. 향후 연구에서 실제 위성 데이터를 활용한다면 실존하는 데이터 특성들에도 적용 가능한지 확인할 수 있을 것이다. 또한, 정보이론적 접근의 특성상 count와 같이 필드 내 값이 지속적으로 변화하여 일관된 패턴을 보이지 않는 경우, 해당 필드의 경계 식별에 어려움이 있었다. 이러한 한계를 극복하기 위해, 향후에는 제안한 정보이론 기반 방법에 의미론적 분석이나 머신러닝 등 다양한 접근법을 결합하여, 변화가 잦은 필드나 실제 위성 데이터 환경에서도 높은 정확도를 달성할 수 있는 연구가 필요하다. 이와 같은 보완 연구를 통해, 실제 위성 운용 환경에서의 적용성과 실용성을 한층 더 높일 수 있을 것으로 기대된다.

VII. 결론

본 논문에서는 인공위성 통신 프로토콜의 비트 단위 필드 식별 문제를 해결하기 위해, 정보이론 기반의 2단계 필드 분할 및 병합 기법을 제안하였다. 제안 방법은 기존의 바이트 단위 역공학 기법들이 갖는 한계를 극복하고, 바이트 경계를 넘는 비트 단위 필드까지 식별할 수 있음을 실험적으로 입증하였다. CCSDS 표준 프로토콜 및 CubeSat Space Protocol의 합성 데이터 및 변형 프로토콜의 합성데이터에 대해 평가한 결과, 제안 방법은 기존 기법 대비 전반적으로 우수한 성능을 보였으며, 잡음이 포함된 환경에서도 비교적 우수한 성능을 유지하였다. 또한 소요시간 측면에서도 현실적인 운용 환경에 적용 가능한 수준임을 확인하였다.

References

  1. James F.Kurose and Keith W.Ross,  "Computer Networking : A Top-down  Approach," 8th edition, Pearson,  Harlow, UK, 765, June 2022.
  2. C. Miller and C. Valasek, "Adventures in  automotive networks and control units,"  Def Con, vol. 21, pp. 260–264, Aug.  2013.
  3. Xian Wang and Shuang Hao, "Don't Kick  Over the Beehive: Attacks and Security  Analysis on Zigbee," CCS '22, pp.  2857-2870, Nov. 2022.
  4. Stephan Kleber, Lisa Maile and Frank Kargl,  "Survey of Protocol Reverse  Engineering Algorithms :Decomposition  of Tools for Static Traffic Analysis,"  IEEE Communications Surveys &  Tutorials, vol. 21, pp. 1-23, Jan. 2019. https://doi.org/10.1109/COMST.2019.2896498
  5. GEChoi and YKSong, "Low Earth Orbit  Satellite Communications, Applications  and  Major  Deployment,"  Operators'  Electronics  Service  and  Telecommunications Trends. vol. 39, pp.  1-18, Jan.
  6. Yuyao Huang, Hui Shu, and Fei Kang,  Yan Guang, "Protocol Reverse Engineering Methods and Tools: A  Survey," Computer Communications,  vol. 182, pp. 1-18, Jan. 2022. https://doi.org/10.1016/j.comcom.2021.10.033
  7. G. Bossert, F. Guihéry, and G. Hiet,  "Towards Automated Protocol Reverse  Engineering using Semantic Information,"  NDSS, pp. 1-16, Feb. 2014.
  8. Yapeng Ye, Zhuo Zhang, Fei Wang,  Xiangyu Zhang, and Dongyan Xu,  "NetPlier: Protocol Reverse Engineering  via Clustering and Alignment," NDSS,  pp. 1-15, Feb. 2019.
  9. Stephan Kleber, Henning Kopp, and  Frank Kargl, "NEMESYS:Network  Message Syntax Reverse Engineering by  Analysis of the Intrinsic Structure of  Individual Messages," 12th USENIX  Workshop on Offensive Technologies  (WOOT), pp. 1-11, Aug. 2018.
  10. Zhengxiong Luo, Kai Liang, Yanyang  Zhao, Feifan Wu, Junze Yu, Heyuan  Shi, and Yu Jiang, "DYnPRE: Protocol  Reverse Engineering via Dynamic  Inference," NDSS, pp. 1-15, Feb.
  11. Zhiqiang Lin, Xuxian Jiang, Dongyan  Xu, and Xiangyu Zhang, "Automatic  Protocol Format Reverse Engineering  through Context-Aware Monitored  Execution," NDSS, pp. 1-15, Feb. 2008.
  12. Tao Huang, Yansong Gao, Yifeng Zheng,  Zhanfeng Wang, Chao Hu, and Anmin  Fu, "FineBID: Fine-Grained Protocol  Reverse Engineering for Bit-Level Field  IDentification," IEEE Transactions on  Dependable and Secure Computing, vol.  22, pp. 1-14, July 2025. https://doi.org/10.1109/TDSC.2023.3340178
  13. Nguyen Xuan Vinh, Julien Epps, and  James Bailey, "Information Theoretic  Measures for Clusterings Comparison:  Variants, Properties, Normalization  and Correction for Chance," Journal of  Machine Learning Research, vol. 11, pp.  2837-2854, Feb. 2010.
  14. N.Gunantara, "A review of multi objective optimization: Methods and its  applications," Cogent Engineering, vol. 5,  pp. 1-16, Jan. 2018. https://doi.org/10.1080/23311916.2018.1502242
  15. CCSDS 133.0-B-2, "Space packet  protocol," Washington, DC, Consul tative Committee for Space Data  Systems, Aug. 2020.
  16. Jonathan Wilmot, "Using CCSDS  Standards to Reduce Mission Cost," 31st  Annual AIAA/USU Conference on Small  Satellites, pp. 1-10, Aug. 2017.
  17. C. R. Haddow, H. Dreihahn, and M.  Unal, "CCSDS Service Management Prototyping and Preliminary Imple mentation at ESOC," SpaceOps Conferences, pp.1-10, May 2018.
  18. CCSDS 732.0-B-4, "AOS space data link  protocol," Washington, DC, Consul tative Committee for Space Data  Systems, June 2021.
  19. CCSDS 732.1-B-3, "Unified Space Data  Link Protocol," Washington, DC, Con sultative Committee for Space Data  Systems, Mar.
  20. "libcsp (Cubesat Space Protocol)," GitHub  repository, https://github.com/libcsp/libcsp
  21. Mirco Marchetti and Dario Stabili,  "READ: Reverse Engineering of  Automotive Data Frames," IEEE  Transactions on Information Forensics and Security, vol. 13, pp.1853-1868,  Aug. 2018.
  22. Jiayi Jiang, Xiyuan Zhang, Chengcheng  Wan, Haoyi Chen, Haiying Sun, and  Ting Su, "BinPRE : Enhancing Field Inference in Binary Analysis Based  Protocol Reverse Engineering," ACM  Conference on Computer and Communi cation Security(ACMCCS), pp. 1-12, Nov.  2024.