Files
2026-10-08 16:43:48 +09:00

274 lines
16 KiB
Markdown

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