산출물: 바로 쓰는 양식과 레시피

가이드 본문과 함께 제공하는 네 가지 실무 산출물을 모은다. 자가점검 워크북, 정책·절차 템플릿, 감사 증적 목록, 도구 구축 레시피다.

이 가이드는 본문과 함께 바로 쓸 수 있는 네 가지 산출물을 제공한다. 본문이 “무엇을 왜 하는지"를 설명한다면, 산출물은 “그것을 어떤 양식으로 남기는지"를 채워 준다. 각 산출물은 조직 상황에 맞게 고쳐 쓰는 것을 전제로 한다.

산출물쓰임
자가점검 워크북점검 항목, ISO 입증자료, 충족 상태·담당자·기한을 한 시트로 묶어 자사 체계의 빈 곳을 찾는다
정책·절차 템플릿금융 변형 정책, 반입 절차, 사용 승인 양식, 망분리 예외 자체 위험평가서의 골격을 제공한다
감사 증적 목록내외부감사와 감독 검사에서 요구되는 증적과 보관 위치를 체크리스트로 정리한다
도구 구축 레시피폐쇄망 온프레미스 SBOM·취약점 도구를 docker-compose로 구축·연동하는 예제를 제공한다

최종 검토일: 2026-06-10. 이 페이지는 규제 변화 시, 그리고 연 1회 정기적으로 재검토한다.

1 - 자가점검 워크북

다섯 분류의 점검 항목을 충족 여부, 근거 문서, 담당자, 목표 기한과 함께 기록하는 워크북 양식이다. 자가점검 페이지의 항목을 개선 계획으로 옮길 때 쓴다.

이 워크북은 자가점검 페이지의 점검 항목을 기록용 양식으로 옮긴 것이다. 점검만 하고 끝내지 않고, 부족한 부분의 담당자와 기한을 적어 개선 계획으로 잇기 위한 것이다.

쓰는 방법

각 항목의 충족 상태를 세 단계로 표시한다.

  • 미충족: 관련 활동이나 문서가 없다.
  • 부분 충족: 활동은 있으나 문서나 기록이 부족하다.
  • 충족: 활동과 근거 문서를 모두 갖췄다.

부분 충족이나 미충족 항목에는 근거 문서가 무엇이어야 하는지, 누가 언제까지 갖출지를 적는다. 충족 항목에는 근거 문서의 이름과 위치를 적어, 그대로 ISO 자가 인증의 입증자료로 쓸 수 있게 한다.

아래 표를 복사해 조직의 점검 기록으로 채운다. 상태 칸에는 미충족·부분·충족 중 하나를 적는다.

식별

점검 항목ISO 입증자료상태근거 문서·위치담당자목표 기한
오픈소스 관리의 적용 범위가 문서로 정의돼 있다5230 3.1.4.1
새로 도입하는 오픈소스와 그 의존성을 빠짐없이 파악한다5230 3.3.1.1
전이 의존성까지 펼쳐 식별한다5230 3.3.1.1
이미 운영 중인 시스템의 레거시 오픈소스를 식별한다5230 3.3.1.1
식별 결과를 표준 형식 SBOM으로 기록한다5230 3.3.1.2
외주·전자금융보조업자 산출물의 오픈소스를 식별한다5230 3.3.1.1 준용

이슈 파악 및 해결

점검 항목ISO 입증자료상태근거 문서·위치담당자목표 기한
각 컴포넌트의 알려진 취약점을 점검한다18974 4.3.2.1
위험 점수를 매기고 대응 기한을 정한다18974 4.3.2.1
취약점 조치 결과를 기록한다18974 4.3.2.2
라이선스 의무를 확인하고 충돌을 해결한다5230 3.3.2.1
배포 시 GPL 계열 소스 공개 정책을 갖춘다5230 3.3.2.1

승인

점검 항목ISO 입증자료상태근거 문서·위치담당자목표 기한
사용 승인 절차와 검토 주체가 정해져 있다5230 3.1.5.1
승인 결정과 근거를 기록한다5230 3.1.5.1
망분리 예외 시 자체 위험평가서를 남긴다(전자금융감독규정)
외주 계약에 오픈소스 요구사항을 넣는다(권리 귀속은 전자금융감독규정 제21조, 그 외는 본 가이드 권고)

관리

점검 항목ISO 입증자료상태근거 문서·위치담당자목표 기한
운영 시스템 SBOM을 등록해 지속 감시한다18974 4.3.2
신규 취약점 공개 시 영향 시스템을 역추적한다18974 4.3.2
정기 재평가 주기가 정해져 있다18974 4.1.2.5
점검 기록을 감사 증적으로 보관한다5230 3.4.1.2

기타

점검 항목ISO 입증자료상태근거 문서·위치담당자목표 기한
선택 기준과 예외 승인 절차가 있다5230 3.1.1.1
역할과 책임이 문서화돼 있다5230 3.1.2.1, 18974 4.1.2.3
담당 인력과 예산이 확보돼 있다5230 3.2.2.2
정책이 구성원에게 전파된다5230 3.1.1.2
법률 자문 접근 경로가 있다5230 3.2.2.3

각 점검 항목을 자세히 다루는 가이드 섹션은 자가점검 페이지의 표에서 링크로 연결돼 있다.


최종 검토일: 2026-06-10. 이 페이지는 규제 변화 시, 그리고 연 1회 정기적으로 재검토한다.

2 - 정책·절차 템플릿

금융 변형 오픈소스 정책, 반입 절차서, 사용 승인 양식, 망분리 예외 자체 위험평가서의 골격을 제공한다. 조직에 맞게 채워 쓴다.

여기 담은 양식은 금융권 고유 항목을 보강한 골격이다. 일반 오픈소스 정책과 프로세스 양식은 기존 정책·절차 템플릿 가이드를 쓰고, 금융권에서 추가로 필요한 반입 통제, 망분리 예외 위험평가, 외주 SBOM 요구는 아래 양식으로 채운다.

금융 오픈소스 정책 (보강 항목)

기존 오픈소스 정책에 금융권 고유 항목을 더한다. 아래는 정책에 포함할 항목의 골격이다.

1. 목적과 적용 범위
   - 배포 소프트웨어와 사내 운영 시스템을 모두 포함한다.
   - 폐쇄망과 망분리 예외 구간을 구분해 적용한다.

2. 식별
   - 신규·레거시·외주 산출물의 오픈소스를 SBOM으로 식별한다.

3. 이슈 파악 및 해결
   - 취약점 심각도별 대응 기한: [조직이 정한 기한].
   - 외부 배포 시 GPL 계열 소스 공개 정책: [정책 내용].

4. 사용 승인
   - 승인 주체(오픈소스 검토 위원회) 구성과 권한.
   - 위험 수준별 승인 단계(자동 승인 기준과 위원회 상정 기준).

5. 관리
   - 운영 시스템 지속 모니터링과 정기 재평가 주기: [분기/반기 등].
   - 감사 증적 보관 기간: [조직이 정한 기간].

6. 망분리 예외
   - 자체 위험평가 의무와 재평가 주기.

7. 역할과 책임, 예산, 법률 자문 접근, 정책 전파

오픈소스 반입 절차서 (폐쇄망)

폐쇄망에 오픈소스를 들여오는 절차의 골격이다. 자세한 설명은 폐쇄망 운영을 참고한다.

반입 신청
  - 신청자, 대상 오픈소스와 버전, 용도, 반입 사유

외부 구간 검증
  - 공식 배포처 확인, 체크섬 대조(무결성)
  - 악성코드 검사
  - SBOM 생성
  - 취약점 사전 점검

반입 승인
  - 검증 결과 검토, 승인 여부 결정
  - 승인자, 승인 일시 기록

내부 이관
  - 망간 자료전송, 내부망에서 해시 재확인
  - 사내 미러 등록(SBOM 함께 등록)

기록 보관
  - 위 전 과정을 감사 증적으로 보관

사용 승인 신청·검토 양식

[신청]
  - 신청자 / 소속 / 신청일
  - 대상 오픈소스 / 버전 / 라이선스
  - 사용 용도 / 배포 여부(대외 배포 / 사내 운영)
  - 첨부: SBOM, 취약점 점검 결과

[검토] (오픈소스 검토 위원회)
  - 법무: 라이선스 의무·계약·권리 귀속 검토 의견
  - 보안: 취약점·공급망·유지보수 상태 검토 의견
  - 기술: 적합성·대체 가능성 검토 의견

[결정]
  - 승인 / 조건부 승인(조건: ___) / 반려
  - 결정자 / 결정일 / 근거
[신청]
  - 신청자: 김OO / 디지털채널개발팀 / 2026-05-12
  - 대상 오픈소스: Apache Kafka / 3.9.x / Apache-2.0
  - 사용 용도: 사내 이벤트 스트리밍(거래 알림 적재) / 사내 운영(비배포)
  - 첨부: kafka-3.9.sbom.json, 취약점 점검 결과(심각 0, 높음 0)

[검토] (오픈소스 검토 위원회, 2026-05-19)
  - 법무: Apache-2.0, 비배포 사용으로 고지 의무 없음. 이상 없음.
  - 보안: 알려진 심각 취약점 없음. 사내 미러 경유 반입 확인. 이상 없음.
  - 기술: 기존 메시징 표준과 부합. 운영팀 운영 역량 확보 확인.

[결정]
  - 조건부 승인 (조건: 운영 시스템 SBOM을 Dependency-Track에 등록해 지속 모니터링 대상에 포함)
  - 결정자: 오픈소스 검토 위원회 / 2026-05-19 / 검토 의견 3건 종합

망분리 예외 자체 위험평가서

전자금융감독규정 개정(2025-02-05 시행)에 따라 고유식별정보와 개인신용정보를 처리하지 않는 연구·개발 목적 업무에 망분리 예외를 적용할 때 작성한다. 자세한 설명은 폐쇄망 운영의 자체 위험평가를 참고한다.

1. 대상 업무
   - 업무명 / 시스템명
   - 연구·개발 목적 해당 여부와 판단 근거
   - 고유식별정보·개인신용정보 미처리 확인

2. 사용 오픈소스
   - SBOM(대상 구간에서 쓰는 오픈소스 목록)
   - 취약점·라이선스 위험 평가

3. 추가 위험과 통제
   - 인터넷 연결로 추가되는 위험
   - 망분리 대체 정보보호통제 적용 내역
   - 반입 검증을 대신할 보안 통제

4. 이행 확인과 재평가
   - 통제 이행 확인 방법
   - 재평가 주기: [조직이 정한 주기, 통상 연 1회 이상]

5. 검토와 승인
   - 작성자 / 작성일
   - 검토: 정보보호 부서, 오픈소스 관리 조직(위험 정보 확인)
   - 승인: 정보보호위원회 또는 정보보호최고책임자(CISO) / 승인일
1. 대상 업무
   - 업무명: 사기거래 탐지 모델 연구 / 시스템명: FDS 연구 검증 환경
   - 연구·개발 목적 해당: 예 — 운영 서비스와 분리된 모델 연구·검증 전용 환경
   - 고유식별정보·개인신용정보 미처리: 확인 — 비식별 처리된 표본 데이터만 사용

2. 사용 오픈소스
   - SBOM: fds-research-env.sbom.json (Python 계열 187개 컴포넌트)
   - 위험 평가: 심각 취약점 0건, 카피레프트 라이선스 0건(전부 Apache-2.0·BSD·MIT)

3. 추가 위험과 통제
   - 추가 위험: 외부 패키지 저장소 직접 접근으로 인한 미검증 컴포넌트 유입
   - 대체 정보보호통제: 망분리 대체 정보보호통제 기준에 따른 단말 통제·접근 기록
   - 보안 통제: 사내 미러 우선 사용, 주 1회 환경 전체 취약점 스캔

4. 이행 확인과 재평가
   - 이행 확인: 분기별 통제 운영 점검(정보보호 부서)
   - 재평가 주기: 연 1회 및 환경 구성 변경 시

5. 검토와 승인
   - 작성자: 박OO(FDS연구팀) / 2026-04-02
   - 검토: 정보보호 부서(2026-04-09), 오픈소스 관리 조직(SBOM·위험 평가 확인)
   - 승인: 정보보호위원회 / 2026-04-16

이 평가서는 사용 승인의 승인 근거가 되고, 관리에서 정기적으로 갱신한다.


최종 검토일: 2026-06-10. 이 페이지는 규제 변화 시, 그리고 연 1회 정기적으로 재검토한다.

3 - 감사 증적 목록

내외부감사와 금융감독원 정보기술 검사에서 요구되는 오픈소스 관리 증적을 체크리스트로 정리하고, 각 증적이 어느 활동에서 생성되고 어디에 보관되는지 명세한다.

금융권은 내외부감사와 금융감독원의 정보기술(IT) 검사에 대비해 오픈소스 관리 활동의 증적을 보관해야 한다. 관리 단계의 점검 기록이 그대로 증적이 되므로, 따로 만들지 말고 평소 활동에서 나오는 기록을 체계적으로 모은다. 자세한 맥락은 관리를 참고한다.

증적 체크리스트

아래 증적은 ISO/IEC 5230·18974의 입증자료와 겹친다. ISO 자가 인증을 준비하며 만든 문서가 그대로 감사 증적이 된다. 보관 위치와 기간은 조직 규정에 맞게 정한다.

증적생성 활동관련 ISO 입증자료보관 위치(예시)비고
오픈소스 정책 문서와 개정 이력거버넌스5230 3.1.1.1문서 관리 시스템버전 이력 포함
역할·책임 문서, 담당자 지정 기록거버넌스5230 3.1.2.1, 3.2.2.1문서 관리 시스템
SBOM과 갱신 이력식별5230 3.3.1.1, 3.3.1.2SBOM 관리 도구시스템별
취약점 점검 결과이슈 파악·해결18974 4.3.2.1, 4.3.2.2취약점 관리 도구날짜별
취약점 조치 기록(조치 불필요 판단 포함)이슈 파악·해결18974 4.3.2.2취약점 관리 도구VEX 포함
라이선스 검토 기록이슈 파악·해결5230 3.3.2.1문서 관리 시스템
사용 승인 신청·검토·결정 기록사용 승인5230 3.1.5.1승인 관리 도구위원회 결정 근거
망분리 예외 자체 위험평가서사용 승인(전자금융감독규정)문서 관리 시스템정보보호위원회(CISO) 승인 이력, 재평가 이력
반입 승인 기록폐쇄망 운영문서 관리 시스템검증 결과 포함
정기 재평가 결과관리18974 4.1.2.5문서 관리 시스템주기별
컴플라이언스 산출물(고지문 등)관리5230 3.4.1.1, 3.4.1.2배포 산출물 저장소배포 소프트웨어
외주 계약의 오픈소스 요구 조항과 제출 SBOM사용 승인(전자금융감독규정 제21조 내부통제)계약 관리 시스템전자금융보조업자

보관·관리 원칙

증적은 만드는 것만큼 지키는 것이 중요하다.

  • 보관 기간을 정한다. 감사 주기와 규정 요구를 고려해 정하고, 전자금융거래 기록 보존 기간 등 규정상 보존 기간과 어긋나지 않는지 확인한 뒤, 산출물 보관 절차(ISO/IEC 5230 3.4.1.2)에 명시한다.
  • 위변조를 막는다. 기록을 나중에 고칠 수 없는 방식(추가만 가능한 로그, 접근 통제)으로 남긴다.
  • 추적할 수 있게 한다. 누가 언제 무엇을 했는지 알 수 있도록 기록에 행위자와 시각을 남긴다.
  • 검사 대응을 미리 점검한다. 정기 재평가 때 증적이 빠짐없이 보관되는지 함께 확인한다.

최종 검토일: 2026-06-10. 이 페이지는 규제 변화 시, 그리고 연 1회 정기적으로 재검토한다.

4 - 도구 구축 레시피

폐쇄망 온프레미스 환경에서 SBOM 생성과 지속 취약점 감시를 구축하는 docker-compose 예제와 연동 절차다. cdxgen으로 SBOM을 만들어 Dependency-Track에 등록하는 흐름을 보여 준다.

이 레시피는 폐쇄망에서 SBOM(Software Bill of Materials) 생성과 지속 취약점 감시를 구축하는 예제다. 빠른 출발점으로 기존 cdxgen과 Dependency-Track 파이프라인 튜토리얼을 금융권 기준으로 정리했다. 특정 제품을 권하기보다, 오픈소스·온프레미스 도구로 구축하는 방법을 보여 주는 것이 목적이다.

Dependency-Track 구축

Dependency-Track은 SBOM을 등록해 두면 취약점 데이터베이스가 갱신될 때마다 영향받는 컴포넌트를 자동으로 다시 평가한다. 운영 시스템의 지속 모니터링에 쓴다. 아래는 API 서버와 프런트엔드를 함께 띄우는 docker-compose 예제다.

# docker-compose.yml
volumes:
  dependency-track:

services:
  dtrack-apiserver:
    image: dependencytrack/apiserver:latest
    deploy:
      resources:
        limits:
          memory: 12288m
        reservations:
          memory: 8192m
    ports:
      - "8081:8080"
    volumes:
      - "dependency-track:/data"
    restart: unless-stopped

  dtrack-frontend:
    image: dependencytrack/frontend:latest
    depends_on:
      - dtrack-apiserver
    environment:
      - API_BASE_URL=http://localhost:8081
    ports:
      - "8080:8080"
    restart: unless-stopped

폐쇄망에서는 image 값을 사내 레지스트리 주소로 바꾼다. 예를 들어 dependencytrack/apiserver:latest 대신 registry.internal/dependencytrack/apiserver:4.x처럼 사내에 미러링한 이미지를 가리킨다. 버전 태그는 latest 대신 검증한 고정 버전을 쓰는 것이 안전하다.

API_BASE_URL은 사용자의 브라우저가 API 서버를 호출할 때 쓰는 주소이므로, 사내 서버에 올릴 때는 localhost 대신 그 서버의 호스트명으로 바꾼다(예: http://dtrack.internal:8081).

띄운 뒤 접속해 첫 관리자 비밀번호를 바꾸고, SBOM 업로드에 쓸 API 키를 발급한다.

# 서비스를 올린다
docker compose up -d

# 상태를 확인한다
docker compose ps

환경에 따라 docker compose(플러그인) 대신 docker-compose(하이픈) 명령을 써야 할 수 있다. 하이픈 명령(구버전 v1)은 예제의 deploy.resources 메모리 제한을 무시하므로, 제한을 적용하려면 --compatibility 옵션을 함께 준다.

구축 후 Dependency-Track 대시보드 화면

그림: 구축을 마치고 SBOM을 등록하면 보게 되는 Dependency-Track 대시보드. 화면은 cdxgen·Dependency-Track 튜토리얼의 캡처를 재사용했다. 계정 설정과 API 키 발급의 단계별 화면도 그 튜토리얼에 있다.

SBOM 생성과 등록 연동

cdxgen으로 프로젝트의 SBOM을 만들고, 그 결과를 Dependency-Track에 업로드한다. 업로드된 SBOM은 이후 취약점 데이터베이스가 갱신될 때마다 자동으로 재평가된다. cdxgen은 언어 생태계에 따라 의존성을 해석하면서 빌드 도구와 패키지 저장소에 접근하므로, 폐쇄망에서는 npm·Maven 등의 저장소 설정이 사내 미러를 가리키도록 해 둔 상태에서 실행한다.

# 1) cdxgen으로 CycloneDX 형식 SBOM을 생성한다
#    -r 은 하위 디렉터리의 여러 매니페스트를 재귀로 수집한다
cdxgen --spec-version 1.6 -r -o sbom.json /path/to/project

# 2) Dependency-Track 프로젝트에 SBOM을 업로드한다
curl -X POST "http://localhost:8081/api/v1/bom" \
  -H "X-Api-Key: ${DT_API_KEY}" \
  -F "projectName=my-service" \
  -F "projectVersion=1.0.0" \
  -F "autoCreate=true" \
  -F "bom=@sbom.json"

cdxgen 최신 버전은 CycloneDX 1.7을 기본으로 생성하는데, Dependency-Track 버전에 따라 1.6까지만 받는 경우가 있다. 업로드가 거부되면 위처럼 --spec-version 1.6을 지정해 형식을 맞춘다. autoCreate=true는 같은 이름·버전의 프로젝트가 없으면 새로 만든다. 운영 시스템마다 프로젝트를 두고 SBOM을 등록하면, 신규 취약점이 공개될 때 영향받는 시스템을 한곳에서 파악할 수 있다. 이 흐름은 관리에서 다룬 지속 모니터링을 구현한 것이다.

오프라인 취약점 데이터베이스

폐쇄망에서는 Dependency-Track이 참조하는 취약점 데이터 소스의 주소를 관리 화면에서 내부 미러로 바꿔 구성한다. 데이터 소스별 미러 구성의 난도와 사전 검증, 명령줄 점검 도구(Grype, Trivy)의 캐시 반입 방식은 폐쇄망 운영의 오프라인 취약점 관리에서 다룬다.

도구 선택 기준

이 레시피는 cdxgen과 Dependency-Track을 예로 들었으나, 같은 일을 하는 다른 오픈소스 도구로 바꿔도 된다. 도구를 고를 때는 폐쇄망 운영에서 제시한 기준(온프레미스 설치, 오프라인 데이터베이스 갱신, 표준 형식 입출력, 도구 자체의 라이선스)을 따른다. 도구별 설치와 사용법은 도구 페이지에 정리돼 있다.


최종 검토일: 2026-06-10. 이 페이지는 규제 변화 시, 그리고 연 1회 정기적으로 재검토한다.