선박용 소프트웨어 및 장비 제조업체를 위한 사이버 보안
선박은 이제 수십 개 공급업체의 소프트웨어로 운항하며, 선급 규칙과 EU 법은 각 공급업체가 자사 소프트웨어에 무엇이 들어 있는지 파악하고 이를 안전하게 유지하기를 기대합니다. CRACI는 GitHub Actions 빌드를 실행하고 각 릴리스에 들어가는 모든 구성 요소를 기록합니다.
어떤 선박용 제품에 어떤 규칙이 적용되는가
선박용 장비 공급업체는 서로 겹치지만 일치하지는 않는 세 가지 체계에 대응합니다. EU 제품법, 신조선의 선급 규칙, 그리고 선박 운항사를 위한 IMO 지침입니다. 증거를 계획하기 전에 제품별로 어떤 체계가 적용되는지 정리하세요.
CRA는 선박용 장비 지침의 적용 대상 장비를 제외합니다
Cyber Resilience Act, 규정 (EU) 2024/2847의 제2조(4)는 "이 규정은 지침 2014/90/EU의 적용 범위에 속하는 장비에는 적용되지 않는다"고 명시합니다. 이 지침, 즉 선박용 장비 지침(Marine Equipment Directive, MED)은 EU 선박에 탑재되었거나 탑재될 장비 중 IMO 협약에 따라 기국 당국의 승인이 필요한 장비, 곧 wheel mark(휠 마크)가 붙은 장비를 대상으로 합니다. 레이더, ECDIS, AIS, 항해기록장치 같은 항해 장비, 무선통신 장비, 방화 설비, 구명 설비가 그 예입니다. 자사 품목은 최신 MED 이행 목록에서 확인하세요.
CRA 적용 대상으로 남는 것
EU 시장에 출시되는, MED 장비가 아닌 디지털 요소를 포함한 제품입니다. 설치형 또는 다운로드형 제품으로 판매되는 선박 및 육상 소프트웨어, 선박 운항, 거주 구역, 케이터링, 호텔 관리 시스템, 승무원 및 승객 서비스 시스템, 선단 및 항해 관리 소프트웨어, 선상 IoT 센서와 게이트웨이, 기국 승인이 필요 없는 모니터링 및 자동화 장비가 해당합니다. 서비스형 소프트웨어 단독으로는 제품의 원격 데이터 처리가 아닌 한 CRA 적용 대상이 아니지만, 그 제공자에게는 NIS2가 적용될 수 있습니다.
규칙이 아니라 법적 판단이 필요한 경우도 있습니다. EU 국기를 게양하지 않은 선박용으로 판매되는 wheel mark 형식의 장비, 그리고 MED 장비와 MED 대상이 아닌 소프트웨어 모듈을 결합한 제품입니다.
IACS UR E26 및 E27
국제선급연합회(IACS)의 통일 규칙은 EU 법이 아니라 선급을 통해 적용됩니다. 두 규칙의 Rev.1은 2024년 7월 1일 이후 건조 계약된 선박에 적용됩니다. 국제 항해에 종사하는 여객선과 고속선, 국제 항해에 종사하는 500 GT 이상의 화물선, 이동식 해양 시추 설비, 일부 자항식 해양 설비에는 필수이며, 그 밖의 선박에는 지침으로 쓰입니다. MED 때문에 CRA 적용 대상이 아닌 제품도 E26과 E27의 적용 대상일 수 있으며, 그 반대도 마찬가지입니다.
IMO
결의 MSC.428(98)은 선박 운항사가 2021년 1월 1일 이후 회사 적합서류(Document of Compliance)의 첫 연차 검증까지 안전관리체제에서 사이버 위험을 다루도록 요구합니다. 해사 사이버 위험 관리에 관한 IMO 지침은 운항사를 위한 비강제적인 고수준 지침입니다. 2026년 5월의 최신 개정판은 사이버 위험 관리에서 서드파티 공급업체, 임베디드 시스템, 소프트웨어 및 하드웨어 공급망을 고려해야 한다고 하며, 중요 시스템에 대해 소프트웨어 및 하드웨어 공급망 보안 정책을 수립하도록 운항사에 요구합니다. 운항사가 이 질문을 공급업체에 넘기는 이유입니다.
| 제품 예시 | wheel mark 대상(MED)? | Cyber Resilience Act | IACS UR E26 및 E27 | 공급업체가 보여 줘야 하는 것 |
|---|---|---|---|---|
| ECDIS | 예 | 제외(제2조(4)) | 예, 적용 대상 신조선의 경우 | MED 승인, E27 문서와 소프트웨어 인벤토리 |
| 신조 화물선의 기관 자동화 시스템 | 확인 필요 | 예, MED 장비가 아닌 경우 | 예: 추진은 적용 대상 시스템 | E27 문서, 인벤토리, 보안 개발 수명 주기, CRA 기술 문서와 SBOM |
| 호텔 및 케이터링 관리 소프트웨어 | 아니요 | 예, 제품으로 판매되는 경우 | 확인 필요: E26은 적용 대상 시스템과의 네트워크 인터페이스를 다룸 | CRA를 위한 SBOM과 취약점 처리 |
| 승무원 복지 네트워크 장비 | 아니요 | 예 | 확인 필요: E26은 적용 대상 시스템과의 인터페이스를 다룸 | CRA를 위한 SBOM과 취약점 처리 |
| 서비스형 선단 관리 소프트웨어 | 아니요 | 적용 대상 아님, 제품의 원격 데이터 처리인 경우 제외 | 아니요: 육상에서 실행 | 운항사의 공급업체 설문에 대한 답변, 제공자에게 NIS2 적용 가능 |
| 선상 상태 모니터링 센서 | 확인 필요 | 예, MED 장비가 아닌 경우 | 확인 필요: 적용 대상 시스템의 일부이면 대상 | CRA SBOM, 적용 대상 시스템의 일부이면 E27 문서 |
경험칙: 제품에 wheel mark가 필요하다면 CRA는 적용되지 않습니다. 2024년 7월 이후 계약된 선박에 탑재된다면 E27이 적용될 가능성이 높습니다. EU에서 소프트웨어나 커넥티드 제품을 판매한다면 CRA가 적용된다고 보세요.
E26과 E27이 공급업체에 요구하는 것
E27은 장비 공급업체에 직접 적용되는 요건입니다. 3.1절은 공급업체가 컴퓨터 기반 시스템에 대해 선급에 제출하는 문서를 나열하며, 그중에는 다음이 있습니다.
- 자산 인벤토리(3.1.1): 하드웨어 구성 요소와 운영 체제, 펌웨어 같은 시스템 소프트웨어의 이름, 버전, 패치 수준, 그리고 소프트웨어 구성 요소와 각각이 설치된 하드웨어, 제조사, 모델 또는 유형, 용도, 소프트웨어 버전.
- 보안 기능 설명(3.1.3)과 그 시험 절차, 보안 구성 지침, 유지 보수, 사고 대응, 복구, 변경 관리 계획.
- 보안 개발 수명 주기 문서(3.1.6)로, 소프트웨어 업데이트와 패치 적용을 어떻게 처리하는지도 설명합니다.
4절은 인증, 악성 코드로부터의 보호 등 IEC 62443-3-3에서 선택한 시스템 요건을 바탕으로 필요한 보안 기능을 정합니다. 이는 제품의 기능입니다.
5절은 요건, 설계, 구현, 검증, 릴리스, 유지 보수, 수명 종료를 포괄하고 선급이 검토하는 문서에 기록된 보안 개발 수명 주기를 요구합니다. 여기에는 IEC 62443-4-1에서 가져온 통제가 포함되어야 합니다. 코드 서명 키 보호(SM-8), 사용자를 위한 보안 업데이트 문서화(SUM-2), 종속 구성 요소 또는 운영 체제 보안 업데이트 문서화(SUM-3), 업데이트의 진본 전달(SUM-4), 심층 방어 및 강화 지침(SG-1~SG-3)입니다.
E26은 선박 수준에서 고리를 완성합니다. 각 공급업체의 E27 인벤토리 필드를 갖춘 하드웨어 및 소프트웨어 선박 자산 인벤토리를 선박의 수명 내내 최신으로 유지하고, 새로운 취약점을 초래할 수 있는 소프트웨어 및 하드웨어 변경을 그 안에 기록합니다.
E27이 말하지 않는 것: SBOM은 언급하지 않습니다. 릴리스별 SBOM은 인벤토리용 소프트웨어 버전과 종속 구성 요소에 관한 SUM-3 정보를 만드는 가장 정확한 방법이지만, 이는 그 요건을 뒷받침하는 것이지 요건 자체는 아닙니다.
| E26 또는 E27 요건 | 선급이나 조선소가 기대하는 것 | 빌드에서 나오는 증거 | 자사에 남는 것 |
|---|---|---|---|
| E27 자산 인벤토리(3.1.1) | 모든 소프트웨어 구성 요소와 그 용도 및 버전, 각 하드웨어 구성 요소의 시스템 소프트웨어 | 모든 구성 요소와 그 버전을 포함한 릴리스별 SBOM | 각 구성 요소가 설치된 하드웨어, 제조사 및 모델 세부 정보 |
| SUM-2 및 SUM-3 업데이트 문서 | 종속 구성 요소와 운영 체제를 포함해 문서화된 보안 업데이트 | 각 릴리스 구성 요소의 취약점 기록과 빌드 기록 | 사용자에게 보내는 업데이트 노트와 보안 권고 |
| SM-8 및 SUM-4 | 보호된 코드 서명 키와 업데이트의 진본 전달 | 없음: CRACI는 소프트웨어에 서명하지 않습니다 | 자사의 서명 프로세스와 키 저장소 |
| 4절 보안 기능 | 인증, 악성 코드 보호, 기타 제품 기능 | 없음: 이는 제품 기능입니다 | 제품 설계와 그 시험 |
| 5절 수명 주기 문서 | 각 단계에서 보안을 어떻게 다루는지 설명하고 검토를 거친 문서 | 릴리스 단계가 통제된다는 기록: 각 빌드에 무엇이 들어 있었고 어디에 접근할 수 있었는지 | 문서 작성과 프로세스 운영 |
| E26 선박 자산 인벤토리 | 선박의 수명 내내 최신으로 유지되는 선박 인벤토리 | 통합업체에 넘기는 SBOM 내보내기 | 어떤 버전이 어떤 선박에 설치되어 있는지, 조선소나 통합업체로의 인계 |
선박용 소프트웨어를 추적하기 어려운 이유
선박은 프로젝트보다 오래갑니다. 선박은 수십 년간 운항하며, 선상 소프트웨어의 지원 부담은 이를 납품한 프로젝트, 이를 빌드한 팀, 그리고 종종 공급업체 자체의 제품 라인보다 오래 남습니다.
수많은 소규모 공급업체와 통합업체. 한 척의 선박에는 수십 개 공급업체의 소프트웨어가 탑재되고 통합업체가 이를 조립하며, 인계할 때마다 각 릴리스에 무엇이 들어 있는지 놓칠 수 있습니다.
선상 시스템은 마음대로 업데이트할 수 없습니다. 업데이트는 기항, 선급 승인, 유지 보수 기간을 기다려야 하므로, 수정이 나온 뒤에도 오래된 버전이 오랫동안 사용됩니다. 어떤 선박이 아직 어떤 버전을 쓰는지 알아야 합니다.
원격지, 제한된 연결. 항해 중인 선박과 원격 설비에는 접근하기 어렵기 때문에, 무엇이 설치되었는지에 대한 기록은 선박 스캔이 아니라 빌드에서 만들어져 육상에 있어야 합니다.
기록 시스템이 된 스프레드시트. 선박용 소프트웨어 제조업체들에게 듣기로는, SBOM과 관련 기록이 수작업으로 관리되는 여러 스프레드시트에 흩어져 있습니다. 릴리스가 나올 때마다 이 기록은 낡아 갑니다.
단계별 준비 방법
인증 같은 보안 기능은 제품 설계에 속합니다. 아래 단계는 그 안에 들어가는 소프트웨어에 관한 증거를 다룹니다.
- 제품별로 적용 체계 정리. 모든 제품에 대해 MED 장비인지, CRA 제품인지, E26 및 E27 적용 대상인지, 또는 그중 여럿에 해당하는지 판단하세요. 증거 계획은 이 정리에서 나옵니다.
- 모든 릴리스에 대해 SBOM 생성. 전이적 종속성을 포함해, 빌드하는 모든 제품의 각 릴리스에 무엇이 들어가는지 기록하세요. 그러면 소프트웨어 인벤토리가 기억이 아니라 빌드에서 나옵니다.
- 설치처별 인벤토리 유지. 어떤 버전이 어떤 선박에 설치되어 있고 언제 바뀌었는지 추적하세요. 이는 E27 자산 인벤토리와, 선박의 수명 내내 변경을 기록하는 통합업체의 E26 선박 자산 인벤토리에 반영됩니다.
- 취약점 모니터링과 보고. 새로운 취약점이 공개될 때마다 출시된 릴리스를 다시 확인하세요. CRA 적용 대상 제품의 경우 적극적으로 악용되는 취약점과 심각한 사고에 대한 보고 의무가 2026년 9월 11일부터 적용되고 있습니다.
- 알려진 취약 패키지의 빌드 유입 차단. 알려진 취약점을 출시하게 될 빌드를 차단해, 종속성 업데이트를 통해 다시 들어오지 않게 하세요.
- 고객과 통합업체를 위한 보안 업데이트 문서화. SUM-2와 SUM-3가 요구하는 대로, 종속 구성 요소와 운영 체제의 수정을 포함해 각 보안 업데이트가 무엇을 수정하는지 고객과 통합업체에 알리세요.
CRACI의 역할
CRACI는 GitHub Actions 빌드를 자체 러너에서 실행하고 각 릴리스에 무엇이 들어가는지 기록합니다. 이 기록이 CRA, E27 문서, 고객의 질문에 공통으로 쓰이는 증거가 됩니다.
모든 릴리스를 기록
빌드는 runs-on: craci로 CRACI의 GitHub Actions 러너에서 실행되며, 실행 내역은 계속 GitHub에 표시됩니다. 각 빌드가 실행되는 동안 CRACI는 npm과 PyPI를 포함해, 어떤 잠금 파일에도 없는 숨은 종속성과 함께 빌드가 가져오는 모든 패키지를 기록하고 작업별로 완전성 상태를 표시합니다. SBOM은 전이적 종속성, 선언된 라이선스, 구성 요소에서 발견된 취약점을 포함해 CycloneDX 또는 SPDX로 내보낼 수 있으며, E27 자산 인벤토리의 소프트웨어 부분을 위한 원자료가 됩니다. 빌드 시점 SBOM을 자세히 알아보세요.
취약한 패키지 차단
정책 게이트는 특정 CVE를 포함한 빌드를 차단할 수 있으며, 라이선스 정책 규칙은 라이선스를 기준으로 빌드를 차단할 수 있습니다. 알려진 문제는 릴리스가 선박에 도달하기 전에 CI에서 걸러집니다.
시크릿을 유출할 수 없는 빌드
각 작업은 기본 거부로 설정할 수 있는 이그레스 정책 아래에서 자체 격리된 가상 머신으로 실행되며, 정책은 작업 시작 전에 검증되고 실패 시 차단됩니다. 기본 거부 정책에서는 빌드에 필요 없는 호스트로의 연결이 차단되고 알림이 발생합니다.
CRACI가 답이 아닌 경우
CRACI는 소프트웨어를 빌드하는 팀을 위한 것입니다. 다음 경우에는 맞지 않습니다.
- 선상 네트워크 모니터링, 침입 탐지, 선박 수준의 E26 준수, 안전관리체제 문서를 찾는 선박 운항사와 선주에게는 맞지 않습니다. CRACI는 소프트웨어를 빌드하는 사람들을 위한 것이며, 이를 운용하는 선단을 위한 것이 아닙니다.
- MED 장비 제조업체를 위한 CRA 프로그램이 아닙니다. wheel mark 장비는 CRA 적용 대상이 아닙니다. 그래도 GitHub Actions에서 실행된다면, CRACI는 그 뒤에 있는 소프트웨어 빌드를 E27과 고객 요청을 위해 기록할 수 있습니다.
- GitHub Actions에서 빌드하지 않는 공급업체, Windows 또는 macOS 빌드 머신이 필요한 공급업체, 자사 클라우드 계정 안의 러너가 필요한 공급업체에는 맞지 않습니다. CRACI는 현재 유럽 인프라에서 관리형 Linux 러너를 운영합니다. 다른 CI 시스템, Windows 및 macOS 러너, 고객 호스팅 러너는 로드맵에 있습니다.
- 하드웨어 자재 명세서용이 아닙니다. CRACI는 소프트웨어를 기록하며, 하드웨어 BOM은 관리하지 않습니다.
- E27 보안 기능이나 선급 승인이 아닙니다. CRACI는 인증, 악성 코드 방지, 기타 제품 기능을 구현하지 않고, 소프트웨어에 서명하지 않으며, 보안 개발 수명 주기 문서를 작성하지 않고, 고객을 대신해 선급을 상대하지도 않습니다.
- 조치 지표 도구가 아닙니다. CRACI는 평균 조치 시간이나 조치 기한을 보고하지 않습니다.
해사 사이버 보안 해설
선박용 장비 공급업체를 위한 CRA, IACS UR E26 및 E27, IMO 지침에 관해 자주 묻는 질문
Cyber Resilience Act는 선박용 장비에 적용됩니까?
선박용 장비 지침 2014/90/EU의 적용 범위에 속하는 장비에는 적용되지 않습니다. CRA 제2조(4)가 이를 명시적으로 제외합니다. 이는 IMO 협약에 따라 기국 승인이 필요한 wheel mark 장비를 가리킵니다. 호텔 시스템, 승무원 네트워크, 센서, 선상에 설치되는 선단 소프트웨어처럼 선박용으로 판매되는 그 밖의 커넥티드 제품과 소프트웨어는 여전히 CRA 적용 대상일 수 있습니다.
CRA에서 제외되는 선박용 제품은 무엇입니까?
선박용 장비 지침의 적용 범위에 속하는 장비입니다. 즉 EU 선박에 탑재되는 장비 중 IMO 협약에 따라 기국 승인이 필요한 장비로, 레이더, ECDIS, AIS, 항해기록장치, 무선통신, 방화 및 구명 장비 등입니다. 자사 품목은 최신 MED 이행 목록에서 확인하고, 혼합 제품이나 다른 국기를 단 선박에 대해서는 법적 판단을 받으세요.
IACS UR E27이란 무엇이며, 누가 준수해야 합니까?
UR E27은 선상 시스템과 장비의 사이버 복원력에 관한 국제선급연합회의 통일 규칙입니다. Rev.1은 2024년 7월 1일 이후 건조 계약된 선박에 적용되며, 국제 항해에 종사하는 여객선, 고속선, 500 GT 이상의 화물선, 그리고 일부 해양 설비에 필수입니다. 적용 대상 시스템의 공급업체는 선급을 통해 준수합니다.
E26과 E27은 장비 공급업체에 무엇을 요구합니까?
E27은 공급업체에 문서를 요구합니다. 각 소프트웨어 구성 요소를 버전과 함께 나열한 자산 인벤토리, IEC 62443-3-3에서 가져온 보안 기능, 그리고 보안 업데이트 문서화 같은 IEC 62443-4-1의 통제를 포함한 보안 개발 수명 주기입니다. E26은 선박 수준의 요건으로, 선박 자산 인벤토리는 같은 필드를 사용하며 선박의 수명 내내 최신으로 유지됩니다.
UR E27은 SBOM을 요구합니까?
아니요. E27은 SBOM을 언급하지 않습니다. 요구하는 것은 각 소프트웨어 구성 요소를 버전과 함께 나열한 자산 인벤토리와, 종속 구성 요소 및 운영 체제 보안 업데이트에 대한 문서화입니다. 릴리스별 SBOM은 그 정보를 만드는 가장 정확한 방법이지만, E27의 요건은 아닙니다.
IMO 사이버 위험 관리 지침은 강제 사항입니까?
아니요. 해사 사이버 위험 관리에 관한 IMO 지침은 선박 운항사를 위한 비강제적 지침이며, 2026년 5월에 개정되었습니다. 운항사에 기대되는 사항은 결의 MSC.428(98)에서 나오며, 이 결의는 안전관리체제에서 사이버 위험을 다루도록 요구합니다. 그리고 지침은 이제 소프트웨어 및 하드웨어 공급망 보안 정책을 수립하도록 운항사에 요구합니다.
해운 회사에 판매하는 소프트웨어에 CRA가 적용됩니까?
설치형 또는 다운로드형의 디지털 요소를 포함한 제품으로 EU 시장에서 판매되고 MED 장비가 아니라면, 대개 적용됩니다. 순수하게 서비스로 제공되는 소프트웨어는 제품의 원격 데이터 처리가 아닌 한 CRA 적용 대상이 아니지만, 그 제공자에게는 NIS2가 적용될 수 있습니다. 제품별로 분류를 확인하세요.