IEC 62304, I Framework software (Spring / JEE / Angular / React) sono considerati SOUP?

3

Sto lavorando all'implementazione di un processo di sviluppo conforme allo standard IEC 62304 nella nostra azienda e ho una domanda riguardante il SOUP (Software of Unknown Provenance).

Il nostro obiettivo è sviluppare un'applicazione web in futuro.

Per questa applicazione useremo diverse librerie open-source sul back-end e sul frontend.

Per la maggior parte di queste librerie è nota la nostra procedura di documentazione SOUP.

  1. Identifica la libreria, il numero di versione, la licenza ecc.
  2. Elenca i requisiti che abbiamo per la libreria.
  3. Verifica questi requisiti in forma di test di unità / integrazione.

Per queste librerie è anche possibile separare il loro codice dal nostro codice con interfacce chiare e documentare questa separazione.

Ora passiamo al problema. Cosa dovremmo fare con Framework come Spring / JEE sul backend o Angular / React sul frontend. Il codice di queste librerie non è separabile dal nostro codice. Usiamo anche questi framework per strutturare il nostro codice. Possiamo generare requisiti per questi framework, ma non sono sicuro di come verificare che questi requisiti siano soddisfatti. Le due opzioni in considerazione sono:

  1. Ci sono diversi test di integrazione e di sistema che verificano che il il sistema software generale, che viene costruito utilizzando i framework, viene eseguito come dovrebbe. Questi test sono sufficienti anche se non sono esplicitamente testare la funzionalità del framework?
  2. Scrivi molti e molti test di framework che testano le dipendenze sono iniettati o che endpoint Rest sono disponibili o che html modello di iniezione funziona e così via.

Personalmente tendo all'opzione 1. Ciò che non mi piace dell'opzione 2 è che l'unità che testa un framework è uno sforzo completamente ridondante. Questi framework hanno già una quantità enorme di test che coprono già tutte le funzionalità che hanno. Inoltre, in alcuni casi, ho bisogno di utilizzare parti del framework stesso per testare il framework. (ad esempio, Spring MockMVC per testare i controller).

Quindi le mie domande sono:

  1. I framework software (Spring / JEE / Angular / React) sono considerati SOUP?
  2. Se sì, come documentare e testare questi Framework per diventare IEC 62304 conforme?
posta TardigradeX 14.05.2018 - 14:11
fonte

1 risposta

4

Tieni presente che non sono familiare esplicitamente con IEC 62304 (è per software di dispositivi medici e non ho mai lavorato con dispositivi medici), ho familiarità con standard simili, come ISO 9001 e vari standard aerospaziali che servono un obiettivo simile a IEC 62304.

Are Software Frameworks (Spring/JEE/Angular/React) considered SOUP?

A meno che il software non sia stato adeguatamente certificato, qualsiasi software è considerato SOUP. Dubito che i processi di sviluppo utilizzati per creare questi framework siano stati certificati per essere conformi alla norma IEC 62304. I processi richiesti aggiungerebbero un sovraccarico significativo ai progetti open source che vengono principalmente gestiti da organizzazioni esterne a un ambiente regolamentato.

If yes, how to document and test these Frameworks to become IEC 62304 compliant?

Standard come IEC 62304 riguardano la riduzione del rischio. Quindi, la domanda diventa come si può ridurre sufficientemente il rischio di utilizzare software di terze parti in modo che sia accettabile per le parti interessate.

Questo dipende molto dal tipo di prodotto che si sta facendo, dalla sua classificazione di sicurezza e da come i componenti che utilizzano questi framework interagiscono con il prodotto.

C'è un vantaggio nei progetti open source: puoi analizzarli. Puoi leggere il codice sorgente (e qualsiasi tipo di test). Puoi scrivere test aggiuntivi. È possibile eseguire uno strumento di analisi del codice statico contro di loro. Se ha bisogno di essere compilato, puoi compilarlo da solo con una toolchain conosciuta e accertarti che l'eseguibile sia sicuro. A seconda del progetto, si può anche avere pieno accesso alla cronologia dei commit, al tracciamento dei difetti e ottenere informazioni sulla reattività della comunità di sviluppo in bug e CVE. Tutti questi possono aiutare a dipingere un quadro del livello di rischio associato all'uso di un determinato prodotto.

Se riesci a eseguire una valutazione del rischio del framework e poi a costruire il tuo prodotto secondo gli standard IEC 62304, allora forse starai bene. Tuttavia, dovrai convincere auditor e stakeholder. Se stai costruendo un nuovo prodotto, dovresti coinvolgere tempestivamente i tuoi stakeholder per comunicare quali sono i tuoi piani di sviluppo per ridurre il rischio di SOUP e ottenere il buy-in.

    
risposta data 14.05.2018 - 15:12
fonte

Leggi altre domande sui tag