LabHub
배우기 러닝패스 코스

폐쇄망 현장 — 방산·국방 도메인 · 감사에 낼 자료를 미리 만들어 두기 · 실습

요구 한 줄과 파일 한 곳을 잇는 표 만들기

LabHub 에서 이어서 보기

목표

요구사항마다 어떤 파일이 근거인지를 묶은 증거 색인을 만들고, 해시로 봉인하고, 검증기로 끊어진 곳을 세고, 반출 심사를 거친 사본으로 감사 대응 꾸러미를 닫습니다.

왜 중요한가

감사에서 떨어지는 항목은 대개 하지 않은 일이 아니라 보이지 못한 일입니다. 요구 한 줄과 파일 한 곳 사이에 길이 놓여 있지 않으면 그 자리에서 답할 수 없고, 답하지 못한 항목은 하지 않은 것과 같게 기록됩니다. 그 길은 감사 전날 놓을 수 없습니다 — 근거 파일은 시간이 지나면 덮이고 사라지기 때문입니다. 그래서 색인에는 경로만이 아니라 그때 그 파일의 해시가 들어가고, 내보낼 때 값을 가리면 해시도 함께 바뀝니다. 이 실습에서 어려운 부분은 규칙이 아니라 이 일관성입니다.

단계

1. python3/root/audit/data 에 요구사항·근거 파일 14개·정책·지난 색인을 만듭니다. 생성 스크립트를 그대로 쓰세요.
2. 근거 파일의 머리말을 읽어 요구별 근거 목록을 /root/audit/index.json 에 적습니다.
3. 근거마다 SHA-256 을 붙여 /root/audit/index-sealed.json 으로 봉인합니다.
4. 지난 점검 때 낸 /root/audit/data/snapshot.json 을 검증해 결과를 /root/audit/verify.json 에 적습니다.
5. 근거를 설계와 운영으로 나눠 요구별 판정을 /root/audit/strength.csv 에 적습니다.
6. 같은 수집을 다시 돌려 /root/audit/index-rerun.json 을 만들고 결정성을 /root/audit/determinism.json 에 적습니다.
7. 반출 심사 규칙으로 가린 사본을 /root/audit/submit/evidence/ 에 만들고 /root/audit/redaction.csv 를 남깁니다.
8. 가린 사본의 해시로 /root/audit/submit/index.json 을 봉인하고 /root/audit/submit/verify.json/root/audit/submit/INDEX.md 로 꾸러미를 닫습니다.

참고

단계 8개

  1. 요구사항과 근거 파일 만들기
  2. 요구마다 근거를 잇는 색인 만들기
  3. 근거의 해시를 색인에 못박기
  4. 지난 점검 때 낸 색인을 검증기로 걸러 보기
  5. 근거의 세기를 나눠 부족한 자리 찾기
  6. 다시 수집해도 같은 색인이 나오는지 보기
  7. 반출 심사로 가린 사본 만들기
  8. 꾸러미를 닫고 검증기로 스스로 확인하기