Skip to main content

MDFS 사이버보안 체크리스트

개요

  • Title: 의료기기의 사이버보안 허가·심사 가이드라인 (민원인 안내서)
  • Organization: 식품의약품안전처 식품의약품안전평가원 의료기기심사부
  • Release date: 2025.01.10

의료기기 사이버보안 요구사항

항목요구사항 번호요구사항
식별 및 인증(IA)IA-01

사용자 식별 및 인증

  • 사용자(사람, 소프트웨어, 기기)가 접근할 수 있는 모든 인터페이스마다 사용자를 식별하고 인증할 수 있는 기능이 있어야 한다. 이 기능은 상위 시스템의 식별 및 인증 시스템에서 제공하거나 의료기기에 자체적으로 구현할 수도 있다.

    • 접근할 수 있는 인터페이스 예: LAN, USB, WiFi 등
    • 사용자 식별 및 인증은 다중 접속 금지 기능을 포함함
  • 환자의 생명에 직접적인 영향을 미치는 의료기기와 통신하는 제품* 및 소프트웨어 의료기기(SaMD)의 경우 의료기기 자체적으로 사용자의 식별 및 인증 기능을 구현하는 것을 우선 고려하여야 한다.

    • 예) 체외용인슐린주입기 등 약물을 주입하는 의료기기와 통신하는 모바일 의료용 앱, 이식형심장박동기·이식형심장충격기 등과 통신하는 심장박동기 분석기 및 모바일 의료용 앱 등
IA-02

계정 관리

  • 의료기기는 모든 계정을 관리할 수 있는 기능이 있거나, 계정을 관리하는 상위 시스템의 기능을 이용할 수 있어야 한다.

  • 인가된 사용자에 의해 모든 계정을 관리하는 기능(계정 추가, 활성, 수정, 비활성화 및 삭제 등)이 있어야 한다.

IA-03

식별정보 관리

  • 의료기기는 식별정보 관리 기능이 있는 시스템을 이용할 수 있거나, 직접적으로 식별정보를 관리할 수 있는 기능이 있어야 한다

  • 계정 관리(IA-02)에 의해 생성된 계정은 각 계정을 명확하게 식별하기 위해 하나 이상의 유일한 식별정보를 사용한다.

    • 예) 식별정보 예: 계정 이름, 유닉스 사용자 ID, MS윈도우 계정 GUID(Globally unique identifiers), X.509 인증서 등
IA-04

인증정보 관리

  • 초기 인증정보 방식을 사용할 수 있어야 한다.

    • 예) 토큰, 대칭키, 개인키(공개키/개인키 쌍의 부분), 생체 인식, 암호, 물리적 키 및 키 카드, 비밀번호 등
  • 설치 후 디폴트 인증정보를 강제로 변경하거나, 디폴트 인증정보가 변경되지 않았을 경우 이를 알 수 있도록 기능이 있어야 한다.

  • 주기적으로 인증정보를 변경할 수 있는 기능이 있어야 한다.

  • 인증정보는 저장, 사용 및 전송 중에 공개되거나 변경되지 않아야 한다.

  • 비밀번호 기반 의료기기인 경우 예시

    • 관리자는 모든 신규 계정에 초기 비밀번호를 설정한다. 초기 비밀번호 설정은 공격자가 계정 생성과 처음 계정 사용(계정 소유자에 의한 신규 비밀번호 설정을 포함) 사이에 비밀번호 추측을 더 어렵게 만든다
    • 설치 후 디폴트 비밀번호를 변경하도록 한다.
    • 주기적으로 비밀번호를 변경하거나 새로고침을 하도록 한다. 이때, 변경 주기를 명시해야 한다.
    • 비밀번호 전송을 요구하지 않는 핸드쉐이크 프로토콜 또는 암호화나 해싱 같은 암호 기반 기능을 적용한다.
IA-05

비밀번호 강도 설정

  • 비밀번호 기반 인증 기능이 있는 의료기기의 경우, 비밀번호 강도를 비밀번호 설정 지침에 따라 강제로 설정하는 기능이 있거나, 설정 기능이 있는 시스템을 이용할 수 있다.

IA-06

인증정보에 대한 피드백

  • 의료기기의 인증 기능이 있는 경우 인증 과정에서 인증정보에 대한 피드백은 명확하지 않아야 한다

IA-07

연속적인 로그인 시도 실패 시 로그인 제한

  • 의료기기의 인증 기능이 있는 경우 다음과 같은 기능이 있어야 한다.

    • 설정한 시간 동안 모든 사용자(사람, 소프트웨어, 기기)가 연속적으로 잘못된 접근을 시도하는 경우 로그인 시도 횟수를 제한해야 한다
    • 이러한 횟수 제한에 도달했을 때 정해진 시간 동안 또는 관리자가 잠금 해제할 때까지 접근을 거부해야 한다. 관리자는 타임아웃이 만료되기 전에 계정을 잠금 해제할 수도 있다.
IA-08

시스템 사용 알림 메시지

  • 사용자(사람)가 의료기기의 사용자 인터페이스를 직접 조작할 수 있는 경우, 인증 과정에서 시스템 사용 알림 메시지를 보여주는 기능이 있어야 하며, 시스템 사용 알림 메시지는 인가된 직원에 의해 설정 가능해야 한다.

  • 시스템 사용 알림 메시지 예.
    시스템 사용 알림 메시지는 개인이 의료기기에 로그인할 때 보이는 경고 배너 형식으로 구현될 수 있다. 다만, 원격 로그인 시 물리적으로 부착된 경고 배너는 적용할 수 없다. 시스템 사용 알림 메시지 예는 다음과 같다.

    • 개인 자산 소유자가 소유한 시스템에 접근함
    • 시스템 사용은 모니터링, 기록 및 감사 대상이 될 수 있음
    • 인가되지 않는 시스템 사용은 금지되고 민‧형사 상의 처벌대상임
    • 시스템의 사용은 모니터링과 기록에 동의함을 의미함
사용 통제(UC)UC-01

권한 부여

  • 의료기기는 부여된 책임(responsibility)에 따라 식별 및 인증된 모든 사용자에게 권한을 부여하는 기능이 있어야 한다.

UC-02

모바일 코드 사용 통제

  • 의료기기가 모바일 코드 기술을 활용할 경우 의료기기는 모바일 코드 기술 사용에 관하여 최소한 다음과 같은 사용 통제 기능이 있어야 한다.

    • 모바일 코드 실행 통제
    • 사용자(사람, 소프트웨어, 기기)가 모바일 코드 송수신 허용 통제
    • 모바일 코드 실행 전에 무결성 점검의 결과를 기반으로 모바일 코드 실행 통제
  • 모바일 코드

    • 수신자가 명시적으로 설치하지 않아도 실행되는 자산들 사이에 전송되는 프로그램
    • JavaScript, VBScript, Java Applets, ActiveX 컨트롤, Flash 애니메이션, Shockwave 동영상 및 마이크로소프트 오피스 매크로 등이 있으며, 사용자의 별도 상호작용 없이 자동으로 다운로드 받은 환경에서 단독 실행되는 코드를 포함한다.
UC-03

세션 잠금

  • 로컬 또는 네트워크를 통해 의료기기에 사용자(사람)가 접속하는 경우, 의료기기는 다음과 같은 기능이 있어야 한다.

    • 설정 시간 동안 사용하지 않거나 사용자(사람, 소프트웨어, 기기)가 수동으로 시작하지 않으면 세션 잠금을 시작하여 추가 접근 방지
    • 세션 잠금이 되면, 해당 세션을 사용하던 사용자(사람)이나 권한이 있는 다른 사용자(사람)가 적절한 로그인 절차를 통해 다시 접근하기 전까지 잠금 상태 유지
UC-04

감사기록 생성

  • 의료기기는 ‘접근통제, 요청 오류, 의료기기 이벤트, 백업 및 복구 이벤트, 설정 변경, 감사로그 이벤트’와 같은 보안 유형과 관련된 감사기록을 생성하는 기능이 있어야 한다.

  • 개별 감사기록은 타임스탬프, 출처, 카테고리, 유형, 이벤트 ID, 이벤트 결과와 같은 사항을 포함해야 한다.

UC-05

감사 처리 실패 대응

  • 감사 처리 실패 이벤트(소프트웨어/하드웨어 오류, 감사 추출 기능의 실패 및 감사 저장 용량 초과 등) 시 필수 서비스와 기능 손실에 대비하기 위한 기능이 있어야 한다.

  • 감사 처리 실패에 대응하여 적절한 작업을 지원하는 기능(예. 직원에게 알람, 메시지 등과 같은 수단을 통해 경고)이 있어야 한다.

UC-06

타임스탬프

  • 의료기기는 감사기록에서 사용하는 타임스탬프(날짜 및 시간 포함) 생성 기능이 있어야 한다.

UC-07

부인 방지

  • 의료기기에 사용자(사람) 인터페이스가 있는 경우, 해당 사용자(사람)가 특정 행동을 했는지 여부를 판단하는 기능이 있어야 한다.

  • 사용자의 특정 행동의 예시

    • 사용자(사람) 작업 수행, 의료기기 설정 변경, 정보 생성, 메시지 전송, 정보 승인(동의 표시 같은) 및 메시지 수신 등
  • 부인 방지 서비스를 위한 기술 및 기능 예시

    • 사용자 식별 및 인가, 전자서명, 디지털 메시지 수신 및 타임스탬프
시스템 무결성(SI)SI-01

통신에 대한 무결성 보장

  • 의료기기는 전송된 정보의 무결성을 보호하는 기능이 있어야 한다.

SI-02

악성코드로부터 보호

  • 소프트웨어 의료기기(SaMD)에 적용: 소프트웨어 의료기기(SaMD) 제조자는 해당 의료기기(SaMD 포함)와 호환되는 악성코드 방지 기능을 확인하고 문서화하며, 악성코드 방지를 위해 필요한 설정이나 조건이 있는 경우 이를 기록해야 한다.

    • 악성코드로부터의 보호는 외부 서비스, 애플리케이션에 의해 제공될 수도 있다.
  • SaMD 이외 의료기기에 적용: 의료기기는 인가되지 않은 소프트웨어(악성코드를 포함할 수 있음)의 설치 및 실행으로부터 보호하는 기능이 있어야 한다.

    • 악성코드의 예시: 바이러스, 웜, 트로이 목마, 스파이웨어 등.
SI-03

보안 기능 검증

  • 의료기기는 보안 기능의 의도된 작동을 검증하는 기능이 있어야 한다.

  • 보안 기능 검증의 예시

    • 유럽 컴퓨터 백신 연구소(EICAR, European Institute for Computer Antivirus Research)에서 제공하는 테스트 파일을 의료기기 파일 시스템에서 검사하여 백신 프로그램이 이 테스트 파일을 탐지하고, 적절한 사고 대응 절차가 실행되는지 확인해야 한다.
    • 무단 계정으로 접근 시도를 통해 식별, 인증 및 사용 제어 방어책이 제대로 작동하는지 확인해야 한다. 일부 기능은 자동화하여 시험할 수 있다.
    • 침입탐지시스템(IDS, Intrusion Detection System)에 알려진 비악성 트래픽에 대한 규칙을 추가하여, 이 규칙에 따라 트래픽이 발생할 때 IDS가 이를 감지하고 적절한 모니터링 및 사고 대응 절차가 실행되는지 확인해야 한다.
    • 보안 정책과 절차에 따라 감사 로그가 기록되고 있으며, 내부 또는 외부 요인에 의해 비활성화되지 않았는지 확인해야 한다.
SI-04

소프트웨어 및 정보에 대한 무결성 점검

  • 의료기기는 소프트웨어, 정보에 대한 무결성 점검 기능(무결성 점검 수행 또는 지원, 점검 결과 기록)이 있거나, 무결성 점검을 수행 또는 지원할 수 있는 시스템 기능을 이용할 수 있어야 한다.

SI-05

입력값 검증

  • 의료기기는 의료기기의 동작에 직접 영향을 미치는 외부 인터페이스를 통한 입력이나, 의료기기 제어 입력으로 사용된 모든 입력 데이터의 구문, 길이 및 내용을 검증해야 한다.

  • 입력값 검증 예시

    • 정의된 필드 유형에 범위를 벗어난 값의 유효성을 검증한다.
    • 데이터 필드에 유효하지 않은 문자를 검증한다.
    • 누락되거나 불완전한 데이터 및 버퍼 오버플로를 검증한다.
    • SQL 삽입 공격을 검증한다.
    • 크로스사이트스크립트를 검증한다.
    • 잘못된(malformed) 패킷을 검증한다.
SI-06

오류 시 사전 결정된 상태로 출력

  • 자동화 프로세스와 연결된 의료기기는 제조자가 정의한 정상 작업을 유지할 수 없다면 사전 결정된 상태로 출력하는 기능이 있어야 한다.

  • 자동화 프로세스와 연결된 의료기기 예시

    • 생체신호를 실시간으로 모니터링하고 이상 징후 감지 시 알람을 출력하는 환자감시장치
    • 약물을 일정한 속도로 주입하는 체외용인슐린주입기
  • 사전 결정된 상태 예시

    • 의료기기에 오류 발생으로 정상 동작을 할 수 없는 경우 어떻게 동작할지에 대해 미리 정해놓은 설정 상태
    • 예. 체외용인슐린주입기의 사전 결정된 상태로 ‘인슐린 주입 중단 및 사용자 알람 발생’으로 설정한 경우, 제품 오류 발생 시 즉시 인슐린 주입을 중단하고 사용자에게 알람을 울리도록 하여 사용자가 수동으로 인슐린을 주입할 수 있게 조치함.
SI-07

오류 처리

  • 의료기기는 의료기기 또는 의료용 IT네트워크를 공격하는 공격자에 의해 악용될 수 있는 정보를 제공하지 않는 방식으로 오류 조건을 식별하고 처리해야 한다.

  • 공격자에게 도움을 줄 수 있는 오류 메시지의 예시

    • 인증의 실패 원인에 대한 상세 정보를 제공하는 것으로, 올바르지 않은 사용자 ID나 올바르지 않은 비밀번호를 제시하는 피드백은 공격자가 의료기기를 공격하는데 도움을 줄 수 있다.
SI-08

업데이트

  • 의료기기는 업데이트 또는 업그레이드 기능이 있어야 한다.

SI-09

업데이트에 대한 진본성 및 무결성 검증

  • 의료기기는 설치 전에 소프트웨어 업데이트 또는 업그레이드의 진본성과 무결성을 검증해야 한다.

SI-10

물리적 변조 방지

  • 의료기기는 인가되지 않은 물리적 접근을 방지하기 위해 물리적 변조 방지 기능(예. 잠금장치, 캡슐화, 보안 나사(비표준 헤드 유형))이 있어야 한다.

SI-11

부트 프로세스 무결성 검증

  • 의료기기는 사용하기 전에 의료기기의 부트와 런타임 프로세스에 필요한 펌웨어, 소프트웨어 및 설정 데이터의 무결성을 검증해야 한다.

  • 부트 프로세스 무결성 보충 설명

    • 악의적인 공격자가 의료기기, 자산 또는 데이터에 접근할 수 있는 안전하지 않거나 유효하지 않은 운영 상태로 부트되지 않음을 보장하기 위해, 의료기기는 부트 프로세스 동안 의료기기의 펌웨어, 소프트웨어 및 설정 데이터의 무결성 검증을 수행해야 한다.
데이터 기밀성(DC)DC-01

정보에 대한 기밀성 보장

  • 의료기기는 읽기 권한이 지원되는 저장 정보의 기밀성 보호 기능과 전송 중 정보의 기밀성 보호 기능이 있어야 한다.

DC-02

보건의료정보 비식별화

  • 의료기기에 저장된 보건의료정보를 통해 권한이 없는 사람이 환자를 식별할 수 있는 경우, 해당 정보를 비식별화할 수 있는 기능(예. 애플리케이션 소프트웨어, 추가 도구 등)이 있어야 한다.

  • 참고사항

    • 승인된 사용자만 접근할 수 있는 가명화 및 환자 식별 키를 사용하면, 승인된 사용자만 보건의료정보를 재식별할 수 있다.
DC-03

안전한 암호화 사용

  • 암호화가 필요한 경우, 의료기기는 국내·외에서 권고하는 암호학적 보안 기능을 사용해야 하며, 사용하는 암호화 키는 안전하게 관리하여야 한다.

  • 보충 설명
    암호학적 보호 적용 대상은 저장 정보나 전송 중 정보, 또는 양쪽 모두를 포함할 수 있다. 의료기기 공급자는 암호키 설정 및 관리와 관련된 사례와 절차를 문서화해야 한다.

    • AES, SHA 같은 검증된 암호 및 해시 알고리즘을 사용해야 한다.
    • 비밀번호는 Salt 값을 갖는 일방향 해시 알고리즘 적용 권고
    • 표준 기반 키 길이(key size)를 활용해야 한다.
    • 키 생성은 효율적인 난수 생성기를 사용하여 수행해야 한다
    • 키 관리의 보안 정책 및 절차는 정의된 표준에 따라 주기적인 키 변경, 키 폐기, 키 배포 및 암호키 백업을 다룰 필요가 있다.
이벤트 적시 대응 (TRE)TRE-01

감사로그에 대한 비인가된 접근 제한

  • 의료기기는 인가된 사용자만 읽기 전용으로 감사로그에 접근할 수 있다.

자원 가용성(RA)RA-01

감사로그에 대한 비인가된 접근 제한

  • 의료기기는 DoS 이벤트 중에도 필수 기능을 유지하는 기능이 있어야 한다.

  • DDoS의 경우 공용 네트워크망에 접속하여 의료기기를 실시간으로 제어 또는 환자 생명과 직접적으로 연관될 수 있는 정보를 실시간으로 송수신하는 장비에 적용하고, DDoS 공격에 대한 대응책이 수립되어야 한다.

RA-02

의료기기 백업

  • 의료기기는 백업 기능이 있어야 하며, 백업 프로세스는 정상적인 의료기기 작동에 영향을 미치지 않아야 한다.

RA-03

의료기기 복구 및 재구

  • 의료기기는 중단 또는 장애 상황 발생 후 안전한 상태로 복구 및 재구성하는 기능이 있어야 한다.

RA-04

네트워크 및 보안 구성 설정

  • 의료기기는 사용자 설명서에서 권고하는 네트워크와 보안 구성에 따른 설정 기능과 인터페이스가 있어야 하며, 구성 설정 변경을 모니터링하고 통제할 수 있어야 한다.

RA-05

불필요한 기능 비활성화

  • 의료기기는 불필요한 기능, 포트, 프로토콜, 서비스의 사용을 제한하는 기능(기본 구성 설정 이외의 기능은 비활성화)이 있어야 한다.