基于新的FDA網絡安全指南準備醫(yī)療設備軟件
隨著FDA在其新的軟件驗證指南中增加了更多的網絡安全要求,醫(yī)療設備制造商可以轉向靜態(tài)分析,這是解決安全性和安全性問題并交付可預測軟件的最有效方法。
正如我之前提到的那樣,今年在Embedded World,我們與醫(yī)療設備制造商的對話比以往任何時候都多得多。因此,我想我將解決許多此類對話的主題,圍繞網絡安全和靜態(tài)分析。顯然,醫(yī)療設備制造商正在集中精力改進其軟件開發(fā)流程,以(a)應對日益增長的安全威脅,并且(b)滿足FDA的要求,并且這一要求越來越精確。
FDA的新網絡安全指南
FDA過去一直專注于系統(tǒng)的功能安全方面,但是現(xiàn)在網絡安全已成為同等重要的主題。盡管安全性非常相似(并且您很容易就認為這兩者都是關于創(chuàng)建可預測的軟件),但FDA現(xiàn)在正在考慮將網絡安全視為需要專門關注和采取措施的事物。
即將有新的FDA標準。在“醫(yī)療設備網絡安全管理的上市前提交內容”草案中,我們可以閱讀:
“隨著無線、互聯(lián)網和網絡連接設備、便攜式媒體(例如USB或CD)的使用以及醫(yī)療設備的頻繁電子交換,對確保醫(yī)療設備功能和安全的有效網絡安全的需求變得越來越重要,相關的健康信息?!?/strong>
FDA的新要求是什么?
那么,對于典型的醫(yī)療設備開發(fā)軟件組織來說,新要求有什么變化?好吧,以前的醫(yī)學標準要求在測試建議方面不是很明確。即使我們仔細查看了流行的法規(guī)文件(例如IEC 62304或FDA通用軟件驗證原則),也不會發(fā)現(xiàn)必須在代碼覆蓋范圍內使用靜態(tài)分析或動態(tài)測試。使用新標準,這一點變得更加清晰,直接成為提交的一部分。
在“醫(yī)療設備網絡安全管理的上市前提交內容”的VII.B點中,我們可以找到有關可信賴設備風險管理報告內容的建議:
“4.為確保網絡安全風險控制的適當性而進行的測試的說明... c)靜態(tài)和動態(tài)代碼分析,包括對“硬編碼”、默認、容易被猜到和容易受到破壞的憑據的測試”
這是明確定義并遵循靜態(tài)分析過程的明確建議。怎么做?在很大程度上取決于組織中的現(xiàn)有流程以及用于開發(fā)的技術。
如何針對新的FDA軟件開發(fā)要求采用靜態(tài)分析
我們的許多醫(yī)療設備客戶從頭開始,都通過遵循以下步驟成功引入了針對C/C++的靜態(tài)分析:
- 查看組織中的現(xiàn)有準則,即使將其設計為手動執(zhí)行,也應將它們盡可能地映射到靜態(tài)分析工具隨附的檢查程序。一個成熟的靜態(tài)分析工具可能會涵蓋其中大多數,并且您可以考慮為無法立即映射到靜態(tài)分析檢查器的其余準則構建自定義檢查器。
- 查看流行的編碼標準,尤其是那些考慮到安全性而創(chuàng)建的編碼標準,并選擇一組準則供您的團隊遵循。選擇準則時,有必要遵循標準中的分類并選擇被歸類為最重要的準則。例如,對于CERT指南,您可能想從L1指南開始,而對于MISRA C 2012(修訂版1),您將要查看強制性指南。
- 定義靜態(tài)分析工具配置,并包括您的組織特定準則和選定準則(即CERT)。不要一次啟用所有檢查程序,而要從一小部分開始,以免開發(fā)人員遇到違規(guī)情況。
- 確保您的開發(fā)人員能夠在創(chuàng)建代碼后立即對其進行掃描。將靜態(tài)分析包括在CI/CD流程中也很有意義。
- 隨著開發(fā)人員不斷進步并清理源代碼,請確保逐步啟用列表中的更多檢查程序。最終,您想提供證據證明您遵守了所選的整套準則(不是中途停止)。為了更好地適應流程并了解當前的進度,您可以部署中央報告系統(tǒng),以幫助您匯總測試數據并監(jiān)視開發(fā)人員的工作。請參見下面的示例:
演示靜態(tài)分析工具的適用性(工具資格)
由于靜態(tài)分析報告已成為質量管理系統(tǒng)的一部分,因此您不能僅使用任何工具。FDA要求驗證用于軟件開發(fā)和驗證的所有工具。有多種方法可以證明該工具適用于安全關鍵型開發(fā)。根據設備的風險,它可能很簡單,例如重復使用合格證書或完成更長的工具鑒定過程。
使用TüVSüD認證
對于最終用戶,最方便的選擇是歸功于工具供應商所做的工作,并重新使用由外部認證機構(例如TüVSüD)為測試工具授予的認證。例如,Parasoft C/C++test獲得了TüVSüD認證,該認證可以重復用于證明其根據醫(yī)學標準(例如IEC 62304)開發(fā)軟件的適用性。
執(zhí)行工具鑒定
對于C類之類的高風險設備,您可能需要在開發(fā)環(huán)境中內部對工具進行實際驗證。目的是提供證據,證明該工具根據項目的開發(fā)環(huán)境中的操作要求進行操作。這是一個非常繁瑣且耗時的過程。
最好的情況是,如果您的工具供應商可以在此方面為您提供支持,并提供一個特殊的工具鑒定工具包,其中包含設計良好的測試用例,在項目開發(fā)環(huán)境中執(zhí)行它們的自動化框架,并自動生成可以用作文檔的工具驗證的證據。再次,Parasoft的旗艦產品C/C++test以自動化工具鑒定工具包的形式提供了很好的支持。
硬化醫(yī)療器械
當然,引入靜態(tài)分析是一項專門的工作,需要開發(fā)人員花費時間和成本。但這是一種增強系統(tǒng)抵抗惡意攻擊的可靠方法。部署具有深思熟慮的安全準則集的靜態(tài)分析,使您可以構建可以抵御無法預料的未來攻擊的系統(tǒng)。