MLOps 자동화 파이프라인으로 의료 IoT 장치 보호

광고 스마트 주입 펌프 및 연결된 심장 모니터와 같은 의료 기기는 매일 환자를 안전하게 보호합니다. 그러나 연결된 의료 기기가 많아지면 병원 네트워크 전반에 걸쳐 공격 표면이 넓어질 수도 있습니다. 

이렇게 연결된 의료기기가 표적이 되면 환자의 생명이 위험해질 수 있습니다. 누구나 사이버 공격을 포착하기 위해 기계 학습 모델을 훈련할 수 있습니다. 바쁜 병원 네트워크 내에서 해당 모델을 생생하게 유지하고 올바르게 행동하도록 하시겠습니까? 완전히 다른 이야기입니다. 

MosChip에서 우리가 한 일은 다음과 같습니다. 우리는 프로덕션에 즉시 사용 가능한 MLOps 파이프라인을 구성하고 캐나다 사이버 보안 연구소의 CIC-IoMT-2024 벤치마크 데이터를 사용하여 테스트했습니다 bldc 모터. 

아이디어를 제공하자면 이 데이터 세트는 40가지 다양한 IoMT(의료 사물 인터넷) 장치의 디지털 펄스를 시뮬레이션합니다. 포트 스캔, 갑작스러운 DDoS 적중, ARP 스푸핑 등 18가지 잔혹한 사이버 위협과 함께 표준 동작을 표시할 수 있도록 네트워크 트래픽을 매핑합니다. 

Apache Airflow, Great Expectations, DVC, MLflow, GitLab, Scikit learn, KServe, Grafana 및 Evidently AI와 같은 도구를 사용하여 프로덕션 기계 학습 솔루션의 가장 어려운 부분을 극복하는 방법은 다음과 같습니다.

 

이 아키텍처를 구현하기 위해 당사의 엔드투엔드 MLOps 솔루션은 최신 의료 환경을 보호하기 위해 구축된 자동화된 보안 엔진 역할을 했습니다. 이 솔루션은 안정적인 다단계 파이프라인을 통해 전체 기계 학습 수명 주기를 구성합니다. 원시 네트워크 데이터는 Apache Airflow로 원활하게 흘러 들어가 구조화된 데이터 수집, 엄격한 검증, 변환, DVC를 통한 버전 제어 저장소 추적 및 자동화된 모델 교육을 거칩니다.  

그런 다음 훈련된 아티팩트와 추적 측정항목이 MLflow에 등록되어 최고 성능의 모델을 선택합니다. 여기에서 GitLab CI/CD 파이프라인이 엄격한 모델 평가를 실행하고, 배포를 처리하고, 의료진을 위한 실시간 예측 서비스를 지원하고, 고급 드리프트 감지를 사용하여 실시간 트래픽과 함께 인프라를 지속적으로 모니터링합니다. 데이터 또는 개념 드리프트가 몰래 들어오면 파이프라인은 해당 사례에 플래그를 지정하고 직접 수동 주석으로 라우팅합니다. 라벨이 지정되면 바로 훈련 주기로 돌아갑니다. 

병원의 경우 이는 문자 그대로 연중무휴 감시자가 있다는 의미입니다. 네트워크 트래픽을 감시하고 중요한 IoMT 의료 기기에서 나오는 데이터를 추적하며 트래픽이 안전한지 아니면 18가지 특정 사이버 위협 중 하나와 관련되어 있는지 파악합니다. 

모델은 이러한 공격 예측을 실시간으로 내보냅니다. 이를 통해 병원 보안팀은 악성 IP를 차단하거나 손상된 기기를 즉시 격리하는 등 신속하게 조치를 취할 수 있습니다. 그 사이에 MLOps 파이프라인은 백그라운드에서 어려운 작업을 처리하고 모델을 지속적으로 평가하고 조정하므로 환자 진료가 단 한 순간도 놓치지 않습니다.

원시 네트워크 로그를 실시간 위협 예측으로 전환하는 것은 이론상으로는 훌륭하지만 위험도가 높은 의료 환경에서 파이프라인을 원활하게 실행하도록 유지하는 것은 말처럼 쉽지 않습니다.

Homepage

중요한 IoMT 장치를 모니터링하는 실시간 병원 환경에서는 인프라를 예측할 수 없습니다. 네트워크 연결이 끊어지고, 클라우드 저장소에 연결 오류가 발생하고, 수신되는 원시 네트워크 데이터 로그가 손상되거나 완전히 누락된 상태로 도착합니다. 자동화된 파이프라인이 데이터 수집 또는 교육 도중에 중단되면 보안 팀은 잠재적인 사이버 위협을 인식하지 못하게 되고 엔지니어는 문제가 발생한 위치를 파악하기 위해 서둘러야 합니다.

데이터 엔지니어링 및 머신러닝 워크플로는 지저분합니다. 적절한 조정이 없으면 단일 무작위 네트워크 문제로 인해 여러 시간에 걸친 파이프라인을 완전히 처음부터 다시 실행해야 한다는 의미입니다. 이는 비용이 많이 드는 클라우드 컴퓨팅을 소모하고 모델 업데이트를 지연시킬 뿐만 아니라 늦은 밤까지 실패한 작업을 돌봐야 하는 엔지니어를 태울 수 있는 좋은 방법이기도 합니다.

무거운 작업을 처리하기 위해 Apache Airflow를 연결하여 이 문제를 해결했습니다. 수동으로 감독하는 대신 Airflow는 작업 종속성을 매핑하고 문제가 발생하면 자동으로 재시도를 처리하며 실제로 주의가 필요한 항목이 있으면 핑을 보냅니다. 

원시 네트워크 로그 또는 기기 프로파일링 데이터가 IoMT 설정에서 롤인되어 안전한 폴더에 저장되면 Airflow는 해당 데이터를 수집부터 검증 및 변환까지 전달합니다. 저장소가 비어 있어 작업이 실패하면 Airflow는 오류를 포착하고 잠시 기다린 후 이전 진행 상황을 삭제하지 않고 안전하게 재시도합니다. 

또한 Airflow를 DVC(데이터 버전 제어)와 결합하여 소스 코드와 같은 데이터 세트를 추적했습니다. DVC는 기가바이트의 네트워크 트래픽 파일로 Git 저장소를 부풀리는 대신 작은 포인터 파일을 저장합니다. 데이터 등록이 성공적으로 완료되면 Airflow는 모델 학습을 시작합니다. 파이프라인이 충돌하거나 데이터 세트가 손상되면 우리 팀은 시계를 즉시 롤백하고 과거 모델 실행에 사용된 정확한 데이터 조각을 가져올 수 있습니다.

모델이 완전히 배포될 때까지 기다렸다가 성능이 좋지 않다는 사실을 확인하는 것은 재앙을 불러일으키는 방법입니다. 잘못된 예측이 사용자에게 영향을 미칠 때쯤에는 이미 피해가 발생한 것입니다.

기존 소프트웨어는 단위 테스트를 사용하지만 기계 학습 팀은 데이터 및 모델 아티팩트를 실시간으로 푸시하기 전에 테스트를 건너뛰는 경우가 많습니다. 훈련 루프에 가비지 데이터를 입력하면 모델이 가비지 패턴을 학습합니다. 게임 후반부에 이러한 문제를 발견하면 비용이 많이 드는 롤백, 가동 중지 시간 및 비즈니스 신뢰가 무너집니다.

우리는 ‘왼쪽 이동’ 접근 방식을 사용했습니다. 즉, 프로덕션 서버에 영향을 미치기 전에 가능한 한 빨리 모든 것을 테스트했습니다.

두 번째 원시 데이터는 파이프라인에 저장됩니다. 우리는 Great Expectations를 Airflow에 바로 연결합니다. Header_Length, Rate, TCP 플래그와 같은 데이터세트 열을 엄격하게 검사하여 값이 실제로 적합한지 확인합니다. 센서 데이터에서 판독이 불가능하거나 누락된 값이 임계값을 초과한다고 보고하면 Airflow는 파이프라인을 즉시 종료하고 핑을 보냅니다. 

우리는 모델 훈련에도 동일한 엄격한 규칙을 적용합니다. 베이지안 초매개변수 조정을 위해 Optuna를 사용하여 다양한 분류 알고리즘을 자동으로 테스트합니다. 모델 훈련이 완료되면 GitLab CI/CD 파이프라인이 자체 호스팅 실행기를 대신합니다. 깨끗한 환경을 가동하고 종속성을 캐시하며 자동화된 Scikit-Learn 벤치마크 테스트를 실행합니다. 모델이 홀드아웃 테스트 세트에서 엄격한 품질 점수를 달성하지 못하면 파이프라인은 해당 모델을 그 자리에서 거부합니다. 나쁜 모델은 이 관문을 통과하지 못합니다.

원시 정확도와 같은 표준 지표는 전체 내용을 말해주지는 않습니다. 특히 40가지 의료 기기에 걸친 사이버 보안 위협과 같은 복잡한 다중 클래스 문제를 처리할 때 더욱 그렇습니다.

단일 정확도 백분율을 보면 주요 사각지대를 숨길 수 있습니다. 모델이 전반적으로 잘 작동하는 것처럼 보이지만 위험한 잘못된 데이터 공격이나 일반적인 병원 네트워크 트래픽 내에 숨겨진 ARP 스푸핑 시도와 같은 중요한 소수 클래스를 포착하는 데 완전히 실패할 수 있습니다.

기본적인 수치를 훨씬 뛰어넘는 철저한 평가 단계를 구축했습니다. 이 단계에서 사용자 정의 하위 프로세스 애플리케이션은 테스트 입력을 실행하고 Scikit-Learn을 사용하여 18개 공격 범주 전체에 걸쳐 정밀도, 재현율, 정확성 및 자세한 혼동 행렬을 계산합니다. 

이해관계자가 원시 로그를 파헤치지 않고도 결과를 쉽게 소화할 수 있도록 통합했습니다. Groq를 통한 라마. 평가 스크립트는 성능 측정항목을 Llama에 직접 제공하여 사람이 읽을 수 있는 자동화된 성능 요약을 생성합니다. 모든 내용을 깔끔하고 대화형 HTML 보고서로 컴파일합니다. 

모델이 모든 품질 검사를 통과하면 시스템은 훈련된 .pkl 모델 파일과 경량 FastAPI 앱을 Docker 컨테이너로 래핑하고 이를 Docker Hub에 푸시한 다음 로컬 KIND Kubernetes 클러스터에서 KServe를 사용하여 출시합니다. KServe는 scale-to-zero 기능도 제공합니다. 즉, 트래픽이 조용할 때 클라우드 비용이 0으로 떨어집니다.

오늘 훌륭하게 작동하는 모델은 내일 천천히 실패할 수 있습니다. 실제 데이터는 시간이 지남에 따라 변하며, 사용자 행동이나 네트워크 패턴이 변하면 모델 정확도가 자동으로 떨어집니다.

사이버 보안 및 의료 IoT에서 해커는 끊임없이 전술을 바꾸고 의료 장치는 네트워크 트래픽 패턴을 변경하는 펌웨어 업데이트를 받습니다. 이로 인해 공변량 드리프트와 개념 드리프트가 생성됩니다. 적극적인 모니터링이 없으면 모델은 계속해서 확실한 환각이나 완전히 잘못된 예측을 제공할 것입니다.

우리는 실시간 관찰 가능성을 위해 Prometheus와 Grafana를 설정하여 인프라 지표, 대기 시간 및 신뢰도 점수에 대한 즉각적인 가시성을 제공함으로써 이 문제를 해결했습니다. 

이 특정 IoMT 데모에서는 예측 신뢰도 임계값을 기반으로 새로운 훈련되지 않은 사이버 위협을 포착하도록 설계된 “알 수 없는” 공격 클래스라는 영리한 보호 장치를 추가했습니다. 이 “알 수 없는” 버킷에 속하는 예측의 양이 10%를 초과하면 Grafana는 자동 경고를 발생시킵니다. 

해당 경고가 트리거됩니다. 분명히 AI, 원래 교육 기준을 기준으로 실시간 프로덕션 트래픽을 즉시 분석합니다. 공변량과 개념 드리프트를 모두 확인하고, 결과를 자세한 진단 보고서로 패키징하고, 이를 엔지니어링 팀에 직접 이메일로 보냅니다. 

What You Want To Know About Onerous Tail Yoga Pants

데이터 드리프트로 인해 모델이 그 영향력을 잃기 시작하면 해당 사례를 라벨링을 위한 검토 대기열로 라우팅합니다. 태그가 지정되면 DVC 데이터 세트 저장소로 바로 돌아가 Airflow에서 자동으로 재교육 실행이 시작됩니다.

로컬 노트북 단계를 넘어 기계 학습을 진행하는 것은 매우 어렵습니다. 그럼에도 불구하고 실제 자동화, 강력한 테스트 및 사전 추적을 위해 수동 추측을 거래하면 게임이 바뀌고 모델은 달걀 껍질 위를 걷는 대신 신뢰할 수 있는 소프트웨어처럼 작동하기 시작합니다.