Cyber Security Academy · 강의

신호 캡처 및 재생

RF 전송을 가로채고 재생합니다.

레슨 4/413개 단계

신호 캡처 및 재생은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

재전송 공격 개념

재전송 공격은 RF의 가장 단순하고 흔한 취약점입니다. 정상적인 전송을 캡처한 뒤 나중에 재전송하여 같은 동작을 재현합니다. 수신기가 같은 신호를 두 번 받아들이면 복호화할 필요도 없습니다.

이 공격은 명령이 고정된 전송으로 이루어진 모든 장치에 적용될 수 있습니다:

  • 저가형 차고 문 개폐기
  • 변경 코드를 사용하지 않는 기본 차량 키 리모컨
  • 무선 초인종, 경보 센서, 원격 제어 콘센트
  • 크레인과 게이트에 사용하는 일부 산업용 원격 제어기

캡처한 신호가 몇 분 또는 며칠 뒤에도 작동한다면, 그 시스템은 설계상 취약한 것입니다.

대상 주파수 찾기

캡처하기 전에 장치가 어느 주파수에서 전송하는지 확인해야 합니다. 대부분의 일반 소비자용 리모컨은 ISM 대역에서 작동합니다. 주요 대역은 315 MHz(북아메리카), 433.92 MHz(유럽 및 세계 여러 지역), 868 MHz, 915 MHz입니다.

RTL-SDR을 사용해 이 대역들을 훑고, 리모컨을 누른 다음 워터폴에서 에너지가 짧게 나타나는지 확인하십시오. 장치에 인쇄된 FCC ID를 통해 공개 규제 기관 자료에서 정확한 작동 주파수를 확인할 수 있는 경우가 많습니다.

# Browse the 433 MHz band live and watch the waterfall
gqrx

# Or auto-identify known devices on the air
rtl_433 -f 433.92M -A

전송 캡처

주파수를 확인했다면 장치가 전송하는 동안 원시 I/Q 샘플을 기록합니다. 신호를 쉽게 분석하고 재전송할 수 있도록 깨끗하고 분리된 버스트를 캡처하십시오.

수신 전용 RTL-SDR이면 캡처에 충분하지만, 나중에 전송하려면 HackRF 또는 유사한 장치가 필요합니다. 재전송할 때 동일한 매개변수를 사용해야 하므로 사용한 정확한 중심 주파수와 샘플링 속도를 항상 기록하십시오.

# Capture raw I/Q at 433.92 MHz, 2 Msps
rtl_sdr -f 433.92M -s 2048000 -n 4096000 remote.iq

# Capture with HackRF for later transmit on the same hardware
hackrf_transfer -r remote.iq -f 433920000 -s 2000000

송신기를 사용한 재전송

재전송하려면 HackRF와 같은 전송 가능한 하드웨어를 사용하여 캡처한 I/Q 파일을 동일한 주파수와 샘플링 속도로 다시 전송합니다.

수신기는 원시 파형을 대조하므로 정확하게 재전송하면 원래 명령이 재현됩니다. 명시적인 승인과 전송에 대한 법적 허가가 없는 한 항상 차폐된 인클로저 안에서만 재전송하십시오.

# Replay the captured file with HackRF
hackrf_transfer -t remote.iq -f 433920000 -s 2000000 -x 40

# -x sets TX gain; keep it minimal and use proper antennas

맹목적 재전송 대신 디코딩하기

맹목적 재전송도 가능하지만, 신호를 디코딩하면 더 많은 정보를 얻고 더욱 정교한 공격을 수행할 수 있습니다. Universal Radio Hacker (URH)와 같은 도구를 사용하면 버스트를 복조하고, 비트스트림을 복구하며, 구조를 식별할 수 있습니다.

  • 프리앰블과 동기화 단어를 찾습니다.
  • 심볼 속도와 인코딩 방식(대개 맨체스터 또는 PWM)을 확인합니다.
  • 고정된 명령 페이로드의 위치를 찾습니다.

디코딩이 끝나면 새로운 전송을 만들고, 필드에 변형 입력을 적용하거나, 버튼을 누를 때마다 메시지의 일부가 변경되는지 확인할 수 있습니다.

변경 코드와 재전송이 실패하는 이유

현대적인 키 리모컨은 변경 코드(호핑 코드)를 사용하여 단순한 재전송 공격을 막습니다. 버튼을 누를 때마다 공유된 비밀값과 증가하는 카운터를 바탕으로 새로운 코드가 사용됩니다.

  • 송신기와 수신기는 카운터를 통해 동기화 상태를 유지합니다.
  • 수신기가 다음 코드로 진행하면 캡처된 코드는 무효화됩니다.
  • 오래된 코드를 재전송하면 거부됩니다.

KeeLoq과 같은 시스템이 이 방식을 대중화했습니다. 변경 코드는 보안 수준을 크게 높이지만, 다음 장면에서 볼 수 있듯이 구현상의 결함은 여전히 공격의 틈을 만듭니다.

변경 코드 무력화: RollJam

변경 코드도 캡처 및 재밍 기법에 당할 수 있으며, 이를 잘 보여 주는 사례가 RollJam입니다:

  • 공격자는 수신기를 재밍하는 동시에, 재머가 커버하지 않는 좁은 대역에서 피해자가 처음 리모컨 버튼을 누를 때의 신호를 캡처합니다.
  • 리모컨이 작동하지 않으므로 사용자가 다시 누릅니다. 공격자는 두 번째 코드를 캡처하고 첫 번째 코드를 재전송합니다.
  • 이제 공격자는 아직 사용되지 않은, 유효한 미래의 코드 하나를 보유하게 됩니다.

수신기는 첫 번째 코드를 보지 못했으므로 그 코드는 여전히 유효합니다. 이 공격은 암호를 해독하는 것이 아니라 프로토콜의 허용 시간 범위를 악용합니다.

변경 코드 카운터 재동기화 악용

일부 변경 코드 수신기는 사용자가 범위를 벗어난 곳에서 실수로 버튼을 누르는 상황을 허용하기 위해 재동기화 허용 범위 안의 코드를 받아들입니다. 이 범위가 너무 넓거나 제대로 제한되지 않으면, 공격자가 연속된 여러 코드를 캡처하여 재동기화를 예측하거나 강제로 일으킬 수 있습니다.

이전 버전의 KeeLoq 구현에는 제조사 키 복구 문제도 있었습니다. 리모컨 하나에서 마스터 키를 추출하면 전체 제품군을 복제할 수 있었습니다. 이는 변경 코드라는 개념 자체의 실패가 아니라 구현상의 결함입니다.

재밍과 서비스 거부

재밍은 주파수에 잡음을 가득 채워 정상적인 수신기가 유효한 전송을 듣지 못하게 합니다. 재밍은 RollJam의 구성 요소이며 그 자체로도 서비스 거부 위협이 됩니다.

  • 무선 경보 센서를 재밍하면 문이 열렸다는 사건이 제어 패널에 도달하지 못하게 할 수 있습니다.
  • 비접촉식 출입 시스템과 원격 제어기를 작동하지 않게 만들 수 있습니다.

재밍은 시험 목적이라도 거의 모든 관할 지역에서 불법입니다. 명시적인 승인하에 차폐된 실험실에서만 시연하십시오. 여기서 재밍을 다루는 이유는 공격자가 캡처와 재밍을 어떻게 결합하는지, 그리고 시스템이 신호 손실을 감지해야 하는 이유를 이해하기 위해서입니다.

도구 요약

실용적인 캡처 및 재전송 작업에는 다음과 같은 간결한 도구 모음이 사용됩니다:

  • RTL-SDR — 탐색 및 캡처(수신 전용)
  • HackRF One — 재전송 시험을 위한 캡처 및 전송
  • URH — 신호 복조, 디코딩, 생성
  • rtl_433 — 알려진 장치를 빠르게 식별
  • Flipper Zero — 단순한 1 GHz 미만 신호를 현장에서 캡처하고 재전송하는 데 편리

Flipper는 고정 코드 리모컨에 대한 재전송을 시연하는 데 널리 사용되지만, 올바르게 구현된 변경 코드에는 차단됩니다. 바로 이 점을 고객이 이해하도록 해야 합니다.

재전송 공격 방어

재전송 공격 평가에서 제안하는 개선 사항은 다음과 같습니다:

  • 고정 코드를 인증된 변경 코드 또는 질의-응답 방식으로 교체합니다.
  • 엄격하게 제한된 재동기화 허용 범위와 장치마다 고유한 암호 키를 사용하고, 공유 마스터 키는 절대 사용하지 않습니다.
  • 타임스탬프 또는 논스를 추가하여 각 명령이 한 번만, 짧은 시간 동안만 유효하도록 합니다.
  • 재밍 감지를 구현합니다. 경보 패널은 센서 신호가 갑자기 끊기면 이를 변조 사건으로 처리해야 합니다.
  • 수신기가 각 명령을 확인해 주는 양방향 프로토콜을 우선 사용합니다.

핵심 원칙은 다음과 같습니다. 기록하여 똑같이 재전송할 수 있는 명령은 취약합니다. 승인된 모든 동작은 암호학적으로 고유해야 합니다.

빠른 확인

롤링 코드에 대한 재생 공격의 이해도를 확인해 보십시오.

복습

이제 RF 신호를 캡처하고 분석하고 재생하며, 그 방어책에 대해 추론할 수 있습니다:

  • 재생 공격은 캡처한 정적 명령을 재전송하며 고정 코드 리모컨에 효과가 있습니다.
  • 작업 흐름: ISM 대역에서 주파수를 찾고, RTL-SDR로 동상/직교 신호를 캡처하고, HackRF로 재생한 다음 URH로 디코딩합니다.
  • 롤링 코드는 단순한 재생 공격을 막지만, RollJam(캡처 후 재밍)과 취약한 재동기화 허용 창 또는 공유 마스터 키가 있으면 다시 공격할 수 있습니다.
  • 재밍은 차폐된 공인 실험실 밖에서는 불법이며, 서비스 거부 공격과 RollJam 공격의 기반이 됩니다.
  • 방어를 위해서는 인증된 일회용 명령, 제한된 재동기화, 장치별 키, 재밍 탐지가 필요합니다.

이로써 RF 및 무선 해킹 과정이 끝납니다. SDR 기초부터 블루투스, 비접촉식 기술, 신호 재생까지 다뤘습니다.

무료로 시작

AI 튜터와 함께 Cyber Security Academy을(를) 배우세요 — 무료

브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.

코스
76
레슨
303

자주 묻는 질문

“신호 캡처 및 재생” 강의는 무료인가요?

네 — “신호 캡처 및 재생” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“신호 캡처 및 재생”에서 뭘 배우나요?

RF 전송을 가로채고 재생합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“신호 캡처 및 재생” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. RF와 SDR 기초
  2. Bluetooth 및 BLE 공격
  3. RFID 및 NFC 보안
  4. 신호 캡처 및 재생
← Cyber Security Academy(으)로 돌아가기