工業控制系統包括很多種,根據應用環境的不同,大致可以分為設備級、現場級和系統級。設備級和現場級系統大多采用嵌入式結構,使用專用的實時操作系統和實時數據庫。由於其計算資源有限,為了保證實時性和可用性,系統在設計時往往不能過多考慮信息安全的要求,從關鍵芯片到文件系統、進程調度、內存分配等都可能存在安全漏洞。隨著設備和現場級系統越來越智能化、網絡化,成為重點目標。類似“震網”病毒對PLC的入侵攻擊,目的性和專業性都很強,壹旦掌握了系統的安全漏洞,後果和損失往往是巨大的。在系統層面,出於人機交互和與其他生產管理系統、信息系統互聯互通的考慮,越來越多地采用通用操作系統。比如操作員站壹般采用WINDOWS平臺。然而,為了系統的穩定運行,現場工程師通常在系統投入運行後不會在系統平臺上安裝任何補丁,從而暴露了壹般操作系統的安全漏洞。
在網絡方面,隨著TCP/IP協議、OPC協議等通用協議在工業控制網絡中的應用越來越廣泛,通信協議漏洞問題也日益突出。例如,OPC通信使用不固定的端口號,這使得使用傳統的IT防火墻來確保其安全性幾乎是不可能的。
對於應用軟件來說,壹方面,隨著功能需求越來越多,工業軟件的規模和復雜程度越來越高,廣泛使用中斷和優先級來滿足系統的實時性要求,帶來了軟件過程的不確定性,增加了軟件測試的難度。另壹方面,由於缺乏統壹的安全防護標準,工業軟件普遍存在安全設計缺陷,應用軟件產生的漏洞最容易被攻擊者利用,獲取被控設備的控制權,從而造成嚴重後果。