ISR03 실습가이드 - 드론 비행로그 패턴 이상 탐지와 운용 주체 단정 방지
구 분 실습가이드 [교육용가상자료]
1. 실습 개요
본 실습은 교육용 가상 드론 비행로그로 이상 비행 탐지와 운용 주체 단정 방지 체계를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(ISR03_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다. 특히 미션 5·7·10에서는 '적대 가능성 등급'이 결론이 아니라 검토 우선순위라는 점을 결과 해석에 반드시 반영한다.
| 과제 |
ISR03 드론 비행로그 패턴 이상 탐지와 운용 주체 단정 방지 |
| 준비물 |
ISR03_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
2. 진행 방법
-
정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 로그 생성 함수가 빠져 오류가 난다).
-
실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 판정 결과와 성능 수치는 같게 나오며, 처리 속도·시간(ms, 건/초)은 실행 환경에 따라 달라진다.
-
미션 4·5·8·9는 가상 로그 수백 건을 만들고 학습하므로 실행에 10~30초가 걸릴 수 있다.
-
도전 과제는 코드 상단의 파라미터(임계값, 등급 기준, 예산 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
-
그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
-
실제 노획 장비 로그·좌표·부대 정보는 입력하지 않는다. 운용 주체 판단은 학습용 모의이며 실제 귀속 판단은 정보분석관 검토와 지휘계통에 따른다.
3. 미션 진행 요약
| 미션 |
난이도·시간 |
핵심 확인 결과 |
| M1. 상용 및 군용 드론 비행로그(GPS, 속도, 고도, RC제어) 데이터 스키마 및 수집 환경 분석 |
초급 |
|
| 1.5시간 |
정상 샘플 오류 0건, 주입 오류 5종 + 해시 불일치 검출 |
|
| M2. 비행로그 내 GPS 스푸핑 왜곡값 보정 및 시계열 텔레메트리 전처리 모듈 구현 |
초급~중급 |
|
| 2시간 |
처리 속도 1,000건/초 이상, 오류율 0%, 단위 테스트 5/5 통과 |
|
| M3. 드론 통상 비행 패턴 정의 및 규칙 기반 이상 비행(급선회·호버링) 탐지 Baseline 구현 |
중급 |
|
| 2.5시간 |
기본 데이터셋 정확도 75% 이상(예시 91.0%) |
|
| M4. 비행 패턴 클러스터링 및 머신러닝 기반 은밀 침투 드론 이상 궤적 탐지 모델 고도화 |
중급 |
|
| 3시간 |
복합 위협 탐지 재현율 85% 이상(예시 100%), 창당 1ms 미만 |
|
| M5. 운용 주체(적/아군/민간) 성급한 단정 방지를 위한 불확실성 지표 및 신뢰도 엔진 개발 |
중급~고급 |
|
| 3시간 |
오경보율 감축 40% 이상(예시 61.2% -> 25.0%, 59.2% 감축) |
|
| M6. 드론 비행 궤적 시각화 및 이상 패턴 하이라이트 분석 대시보드 구현 |
중급 |
|
| 2.5시간 |
데이터 갱신 평균 100ms 이내(예시 3.8ms), 렌더링 1초 이내 |
|
| M7. 운용 주체 최종 판정을 위한 정보분석관 심층 검토(HITL) 워크플로우 설계 |
고급 |
|
| 3시간 |
자동 채택 0건, 규칙 위반 4건 차단(자동 결정·무결성 전 채택·허용 외 조치·1인 채택) |
|
| M8. 장거리 전술 비행 대량 로그 주입 시뮬레이션 및 이상 탐지 처리 성능 테스트 |
고급 |
|
| 3.5시간 |
모든 상황 다운 0건, 유실률 0%(손상 로그 11건은 격리) |
|
| M9. AAR 기반 비행 이상 오탐·미탐 사례 분석 및 이상 탐지 임계치 최적화 |
고급 |
|
| 3시간 |
원인별 오류 분류 완료, 종합 정확도 +10%p 이상(예시 0.865 -> 0.980) |
|
| M10. 드론 비행로그 이상 탐지 시스템 통합 검증 및 ISR 정보판단 브리핑 패키지 완성 |
최고급 |
|
| 3.5시간 |
자체 점검 10/10 통과, 기능 커버리지 100%(12/12) |
|
미션 1. 상용 및 군용 드론 비행로그(GPS, 속도, 고도, RC제어) 데이터 스키마 및 수집 환경 분석
| 진행 순서 | 1) M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다.
2) 오류 주입 결과 5종과 추가로 잡힌 해시 불일치가 어떤 규칙에 걸렸는지 표로 정리한다.
| 3) attribution.status가 'unassessed'만 허용되는 이유(수집 단계 단정 방지)를 명세서에 적는다. |
|
| 확인할 결과 | 정상 샘플 오류 0건, 주입 오류 5종 + 해시 불일치 검출
| 필드 19개 명세, 운용 주체는 수집 단계에서 'unassessed'만 허용 |
|
| 도전 과제 |
SCHEMA의 record에 배터리 잔량(battery_pct, 0~100) 필드를 추가하고, 범위를 벗어난 값을 넣어 검출되는지 확인해 본다. |
| 제출물 |
스키마 정의 코드, 데이터 명세서(필드·규칙·수집 경위·귀속 상태 정의) |
미션 2. 비행로그 내 GPS 스푸핑 왜곡값 보정 및 시계열 텔레메트리 전처리 모듈 구현
| 진행 순서 | 1) M2 코드를 실행해 처리 속도, 전처리 오류율, 보정 전후 위치 오차를 확인한다.
2) 스푸핑 구간을 추측항법으로 대체하는 원리를 그림(빨간 점 대 파란 선)으로 설명한다.
3) 기상별 임계값 표에서 강우·강풍 조건의 오표시율이 줄어든 이유를 정리한다.
| 4) 단위 테스트 5종의 통과 여부를 기록한다. |
|
| 확인할 결과 | 처리 속도 1,000건/초 이상, 오류율 0%, 단위 테스트 5/5 통과
| 위치 오차 평균 81.8m -> 3.3m, 스푸핑 구간 검출 재현율 100% |
|
| 도전 과제 |
SPOOF_THR의 rain 값을 12로 바꾸면 강우 조건 오표시율이 어떻게 변하는지 확인하고, 주간·야간·악천후별 권장 임계값표를 만든다. |
| 제출물 |
전처리 코드, 전처리 전후 비교표, 단위 테스트 결과, 보정 전후 그림 |
미션 3. 드론 통상 비행 패턴 정의 및 규칙 기반 이상 비행(급선회·호버링) 탐지 Baseline 구현
| 진행 순서 | 1) M3 코드를 실행해 통상 비행 기준과 기본 데이터셋 정확도를 확인한다.
2) 유형별 탐지율 표에서 측량(survey) 비행이 오탐되는 이유를 적는다.
3) 선회율 임계값 표에서 정확도와 오탐이 바뀌는 구간을 찾는다.
| 4) 복합 이상 5종 탐지율이 낮은 이유를 규칙의 한계로 설명한다. |
|
| 확인할 결과 | 기본 데이터셋 정확도 75% 이상(예시 91.0%)
| 복합 이상(침투·저고도·신호 두절 등) 탐지율 0~17%로 한계 확인 |
|
| 도전 과제 |
RULES의 xtrack_m을 150으로 줄이면 정상 비행 오탐과 경로 이탈 탐지가 어떻게 바뀌는지 확인하고, 가장 적절한 값을 근거와 함께 제안한다. |
| 제출물 |
Baseline 코드, 기본 추론 결과 보고서(유형별 탐지율, 임계값 민감도) |
미션 4. 비행 패턴 클러스터링 및 머신러닝 기반 은밀 침투 드론 이상 궤적 탐지 모델 고도화
| 진행 순서 | 1) M4 코드를 실행해 규칙·ML·규칙+ML의 재현율과 오경보율을 비교한다.
2) 시나리오 10종별 재현율 표에서 규칙이 놓친 유형을 ML이 잡았는지 확인한다.
| 3) 정상 비행 오경보의 원인 특징(z값)을 보고 오경보 유발 패턴을 정리한다. |
|
| 확인할 결과 | 복합 위협 탐지 재현율 85% 이상(예시 100%), 창당 1ms 미만
| 시나리오 10종 통과, 오경보 원인(강풍 하강·측량 U턴) 식별 |
|
| 도전 과제 |
FlightAnomalyModel(q=0.995)로 바꿔 실행하면 재현율과 정상 비행 오경보율이 어떻게 변하는지 기록하고, 오경보를 줄이는 특징 재설계 방안을 제시한다. |
| 제출물 |
고도화 모델 코드, 시나리오 10종 탐지 시험 결과, 오경보 원인 분석 |
미션 5. 운용 주체(적/아군/민간) 성급한 단정 방지를 위한 불확실성 지표 및 신뢰도 엔진 개발
| 진행 순서 | 1) M5 코드를 실행해 단정형 규칙과 신뢰도 엔진의 오경보율을 비교한다.
2) 실제 운용 주체별 등급 분포에서 아군·민간이 High를 받은 사례와 적대가 Low로 밀린 사례를 확인한다.
| 3) 분석 의견 문구 예시가 확률·불확실성·근거·검토 필요를 모두 담고 있는지 점검한다. |
|
| 확인할 결과 | 오경보율 감축 40% 이상(예시 61.2% -> 25.0%, 59.2% 감축)
| 등급 일관성 90% 이상(예시 99.1%), ROC-AUC 0.803, '확정' 표현 0건 |
|
| 도전 과제 |
P_HIGH를 0.8로 올리면 High 수, 오경보율, 적대 포착률이 어떻게 바뀌는지 표로 정리하고, Low로 밀린 적대 비행을 놓치지 않기 위한 운용 방안을 토의한다. |
| 제출물 |
신뢰도 엔진 코드, 오경보 비교표, 등급 기준표, 분석 의견 문구 예시 |
미션 6. 드론 비행 궤적 시각화 및 이상 패턴 하이라이트 분석 대시보드 구현
| 진행 순서 | 1) M6 코드를 실행해 데이터 갱신 처리시간과 이상 현황표를 확인한다.
2) 대시보드 4개 구성요소(3D 궤적, 지도, 조종신호 시계열, 체류 시간)를 확인한다.
| 3) '긴급'으로 표시된 비행의 공통 조건을 정리하고, 이것이 운용 주체 판단이 아닌 이유를 적는다. |
|
| 확인할 결과 | 데이터 갱신 평균 100ms 이내(예시 3.8ms), 렌더링 1초 이내
| 시각화 구성요소 4종, 긴급 2건(저고도·신호 두절, 비인가 구역 진입) |
|
| 도전 과제 |
dwell_seconds의 radius를 150으로 줄이면 체류 판정이 어떻게 바뀌는지 확인하고, 분석관이 긴급 항목을 더 빨리 찾게 하는 화면 개선안을 제시한다. |
| 제출물 |
대시보드 코드, 대시보드 화면, 이상 현황표, 가독성 개선안 |
미션 7. 운용 주체 최종 판정을 위한 정보분석관 심층 검토(HITL) 워크플로우 설계
| 진행 순서 | 1) M7 코드를 실행해 검토 순서와 차단된 규칙 위반 사례를 확인한다.
2) 무결성 검증 실패(FL0112)가 채택이 아닌 보류로 처리된 흐름을 확인한다.
3) 2인 교차 검토가 동작하는지, 보류 기한 초과 시 상신되는지 확인한다.
| 4) 감사 로그 변조 후 검증 결과가 어떻게 바뀌는지 본다. |
|
| 확인할 결과 | 자동 채택 0건, 규칙 위반 4건 차단(자동 결정·무결성 전 채택·허용 외 조치·1인 채택)
| 로깅 성공률 100%, 변조 위치(7번째 기록) 검출 |
|
| 도전 과제 |
HOLD_LIMIT_S를 600초로 줄여 상신 결과를 확인하고, 지휘관 피드백을 검토 우선순위에 반영하는 방법(예: 피드백이 있는 건 우선 정렬)을 설계해 본다. |
| 제출물 |
심층 검토 워크플로우 코드, HITL 절차 요약(채택·보류·반려 기준, 2인 교차 검토, 근거 기록 요건) |
미션 8. 장거리 전술 비행 대량 로그 주입 시뮬레이션 및 이상 탐지 처리 성능 테스트
| 진행 순서 | 1) M8 코드를 실행해 상황별 수신·처리·격리·유실·다운을 확인한다.
2) 메모리 반복 측정 결과로 누수 여부를 판단한다.
3) 병목 구간 비율을 보고 우선 최적화할 단계를 정한다.
| 4) 처리 예산 부족 시 성능저하 모드(ML 지연처리)가 표시되는지 확인한다. |
|
| 확인할 결과 | 모든 상황 다운 0건, 유실률 0%(손상 로그 11건은 격리)
| 메모리 증가 5MB 이내, 병목은 전처리 단계, 성능저하 모드 표시 |
|
| 도전 과제 |
처리 예산 부족 상황의 budget 값을 3000으로 바꾸면 성능저하 모드가 해제되는지 확인하고, 1만 비행시간 처리 시간을 1시간 안으로 줄이기 위한 병렬화 계획을 세운다. |
| 제출물 |
스트레스 시험 코드, 시험 결과표, 병목 분석과 개선 방안 |
미션 9. AAR 기반 비행 이상 오탐·미탐 사례 분석 및 이상 탐지 임계치 최적화
| 진행 순서 | 1) M9 코드를 실행해 초기 설정의 AAR 일지(오탐 원인별 건수)를 확인한다.
2) 평시 학습 자료 보강(측량·강풍 로그) 후 격자 탐색 상위 조합과 재보정값을 확인한다.
| 3) 재보정 전후 정확도와 회귀 시험 결과, 반복 오류를 비교한다. |
|
| 확인할 결과 | 원인별 오류 분류 완료, 종합 정확도 +10%p 이상(예시 0.865 -> 0.980)
| 회귀 시험 정확도 0.850 -> 0.980, 반복 오류 2건과 대책 제시 |
|
| 도전 과제 |
재현율 제약을 0.99로 올리면 어떤 조합이 선택되고 정확도가 얼마나 달라지는지 확인한다. 반복 오류 2건(측량 비행)을 줄이기 위한 추가 특징을 제안한다. |
| 제출물 |
AAR 보고서(계획·결과·원인·개선), 재보정 파라미터, 회귀 시험 결과 |
미션 10. 드론 비행로그 이상 탐지 시스템 통합 검증 및 ISR 정보판단 브리핑 패키지 완성
| 진행 순서 | 1) M10 코드를 실행해 자체 점검 10개 항목이 모두 PASS인지 확인한다.
2) 손상 로그 차단과 기능 커버리지 결과를 확인한다.
| 3) 출력된 브리핑 요약을 바탕으로 5분 분량 ISR 정보판단 브리핑 자료를 만든다(운용 주체 판단의 한계 포함). |
|
| 확인할 결과 | 자체 점검 10/10 통과, 기능 커버리지 100%(12/12)
| 정확도 96.0%, 재현율 98.0%, 검토 대기 52건, 자동 채택 0건 |
|
| 도전 과제 |
CONFIG를 초기 설정(turn_rate 30, dive_m 30, ml_threshold 1.0)으로 바꿔 실행하고, 재보정값과의 차이를 브리핑에 추가한다. 인접 체계와 연동할 때 넘겨줄 필드 목록(API 초안)을 작성해 본다. |
| 제출물 |
통합 코드, ISR 정보판단 브리핑 자료, 최종 결과 보고서, 사용자 가이드 |
4. 최종 점검표
| 점검 항목 |
확인 |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 |
( ) |
| 각 미션의 확인할 결과를 기록했다 |
( ) |
| 도전 과제 결과와 이유를 기록했다 |
( ) |
| 브리핑 수치가 실행 결과와 일치한다 |
( ) |
| 실제 노획 장비 로그·좌표·부대 정보를 사용하지 않았다 |
( ) |
| 운용 주체 관련 결과를 '확정'이 아닌 가능성·불확실성·검토 필요로 표현했다 |
( ) |