特殊的環境,需要配備特殊的安全作業系統
2017年2月20日,卡巴斯基正式推出了新的安全作業系統:Kaspersky OS。卡巴斯基CEO Eugene Kaspersky在部落格文章開頭就展示了一個黑盒子——一款三層交換機,這臺裝置就是採用了卡巴斯基的作業系統,其上赫然寫著:Powered by KasperskyOS卡巴斯基作業系統。這款系統是為那些對資料安全有特別需求的網路準備的。
據說在開發這套系統的前幾年,卡巴斯基並沒有急於寫程式碼,而是反覆開會,討論技術細節、架構,隨後才將開發團隊構建出來,整個過程相當緩慢。Kaspersky OS的優勢Kaspersky OS基於微核心架構(Microkernel Architecture):基於這種微核心架構的安全OS允許使用者定製自己的作業系統。
所以,根據使用者的特殊要求,可以對Kaspersky OS的作業系統使用不同的修改模組。
Kaspersky OS的作業系統想法的由來
所有安全作業系統的開發人員都在現有的安全原則下,來儘量實現系統的安全性,比如可以通過不斷地改進某些特性,或者從頭開發,一般情況下,前一種方法具有較低開發成本和與廣泛軟體相容性的明顯優勢。
不過作為關鍵基礎設施的一部分,真正的安全作業系統應該考慮兩個重要因素:
1.滿足特殊安全要求的能力,不僅要保護資訊的某些一般屬性(例如機密性),而且還要能跟蹤某些命令和資料流,對系統執行不會產生影響等等。
2.為系統安全工作提供保護。
基於流行作業系統構建的安全系統通常涉及實現訪問控制(例如基於強制訪問控制模型),加強認證,資料加密,安全事件審計和應用執行控制的附加機制。通常,這些是標準的安全措施,系統的特殊要求在應用層面處理。因此,特殊安全措施依賴於許多元件的實現,每個元件都可能被破壞。比如SELinux,RSBAC,AppArmor,TrustedBSD,МСВС和Astra Linux等。
為了提高安全性,可以將那些使其更難以利用某些漏洞的工具(包括由於其不安全的原始設計而在系統中固有的漏洞)嵌入系統中。比如Grsecurity,AppArmor,Hardened Gentoo,Atlix,YANUX和Astra Linux等。
以前一種常用的方法是基於掃描軟體程式碼來識別其中錯誤和漏洞,並通過比較校驗來檢查軟體的完整性,比如這種方法在Openwall Linux和一些俄羅斯開發人員開發的作業系統中經常使用。
雖然這些措施會讓一般的安全作業系統改進,但是這些方法根本不能滿足作為關鍵基礎設施安全系統的特殊要求。
與基於嘗試提高現有作業系統的安全性的舉措不同,KasperskyOS從一開始就基於可以確保其安全行為的架構原則進行設計,以滿足特殊用途系統的要求。
然而,一般的安全作業系統不會對某一環境實施特定的安全策略。因為一般的安全作業系統功能都相對多樣,不會實施特定的安全目標,以及對環境帶來的大量和多樣的威脅不會及時的反應。
就像卡巴斯基負責人所說的那樣:
目前流行的一些OS在設計的時候並沒有過多的考慮到安全,所以我們覺得從頭開始做一個新系統反而是更簡單和安全的方式。卡巴斯基OS最大的特點就是卡巴斯基獨立開發的無GUI作業系統,沒有借鑑任何一行Linux程式碼。
對於一般的作業系統,由於安全目標很寬泛,要實現像Kaspersky OS相同的安全保護就更加困難了。像Kaspersky OS這樣的特定系統,需要支援特定訪問控制型別,常規認證機制和其他管理不需要專業知識的保護工具所需的整類策略。這需要實現相對通用的安全機制。有時,如果OS在固定的硬體平臺(通常來自相同的供應商)上執行,則可以用足夠的置信度來保證這些機制與特定標準或文件安全的一致性。比如帶有可信擴充套件的Oracle Solaris,XTS-400和OpenVMS AS / 400。
最後,對於在任意硬體平臺上執行的通用作業系統,要實現高安全性保證甚至更困難,因為在這種情況下威脅模型根本形不成。
Kaspersky OS如何實現反黑客?
Kaspersky聲稱這款系統幾乎是不可能被黑的,因為一般入侵者要想未經授權訪問都需要破解使用者的數字簽名,據Kaspersky 的發言人表示:
在我們的系統中,這得需要一臺量子計算機才能實現了,為了入侵我們的平臺,黑客需要破解賬號數字簽名,以前這可能不是什麼大問題,不過現在可能就需要量子計算機才行,這個代價未免過於昂貴了。
如果用了Kaspersky OS,不管是SCADA、ICS還是IoT裝置,都可以得到保護。因為這些攻擊都是利用了Mirai殭屍網路來進行DDoS攻擊的,Kaspersky強調他們的OS會強制保護IoT和關鍵基礎設施免於威脅,像是工業、運輸和通訊等方面。
KasperskuOS作業系統高安全性的實現原理
KasperskuOS作業系統高安全性的實現原理是基於從小的可信部件構建模組化系統並且實現標準化介面的方法來解決的。以這種方式構建的安全系統的體系結構使得可以將相對少量的軟體程式碼移植到各種硬體平臺並且驗證它,同時保持頂層模組,使得它們可以被重新使用,這就為作業系統的每個特性提供了安全保證。
KasperskyOS的基本安全策略是使用配置語言組合成更復雜的規則。這些規則然後被編譯成充當安全伺服器和微核心之間的中介的元件,以便能夠以提供所需的業務邏輯的方式計算判定。
KasperskyOS和市場上其他的安全作業系統之間的主要架構區別是KasperskyOS會針對作業系統的每個特定部署實施安全策略,對不需要的那些策略的支援根本不包括在系統中。因此,在KasperskyOS作業系統的每個部署中,安全子系統僅能提供所需的功能,排除不需要的一切。
因此,KasperskyOS能夠提供整體安全策略引數(在安全伺服器級別的系統級配置)的配置以及將策略應用於系統中每個執行操作(通過判定計算的配置)的規則。
通過編譯配置獲得的可信程式碼會將應用軟體與系統中的安全模型連線,然後由程式執行的操作應由哪些安全策略控制。重要的是,程式碼不包括任何有關操作或策略的資訊,除非引用它們。
KasperskyOS的架構非常具有靈活性,會將安全策略應用於由不同型別的程序執行的各個操作(不會潛在地通過可能危及的配置而危及安全性)。
當然,具有類似Flask的架構的基於微核心的系統不是由KasperskyOS開發人員發明的。MILS多級安全架構就有一個成功的微核心開發的歷史(seL4,PikeOS,Feniks / Febos),包括具有正式驗證的安全屬性的微核心,這可以用於實現一個可以保證安全域隔離(提供“通過隔離的安全性”)的作業系統 。
但是,實現安全隔離,不光涉及微核心開發,而且還要考慮整個作業系統的完整功能,所以高效能的安全系統不僅要提供安全域的分離和不相容的資訊處理環境的隔離,而且還要控制這些域內的安全策略合規性。重要的是,微核心,基於它的作業系統的基礎設施和安全策略是由同一公司開發的,大家都知道,如果安全操作都是依靠第三方話,那即使再安全,也是被別人控制的。
從頭開始構建的作業系統的最大缺點是缺乏對現有軟體的支援,不過可以通過保持與常用程式設計介面的相容性來補償這個缺點,其中最著名的是可移植性作業系統介面(POSIX)。
就像Kaspersky表示的那樣:
我們也知道從頭開始建立安全的IoT或基礎設施存在多大的困難,但還是要去做,就像是我們建立Kaspersky OS的理念一樣。
這個缺點也可以通過使用虛擬化來解決。在不相容的環境中可以啟動用於虛擬化通用系統的管理程式的安全作業系統將能夠執行用於Kaspersky OS的軟體。 KasperskyOS與卡巴斯基安全管理程式一起提供了此功能。如果滿足這些相容的條件,則不安全的通用IS也可以繼承主機OS的安全屬性。
KasperskyOS為安全作業系統的開發和使用樹立了一個新的標杆,那就是實現高效,實用和安全的解決方案。
總而言之,KasperskyOS安全作業系統不是現有作業系統的擴充套件或改進,但這並不會影響其使用的程度。該系統可以用作開發具有特殊安全要求的解決方案的基礎,而提供靈活和有效的應用程式執行控制則是卡巴斯基作業系統架構中固有的。
目前,除了Kaspersky OS之外,卡巴斯基還配套推出了獨立的安全超級伺服器(KSH)和用於Kaspersky OS元件之間安全互動的系統(KSS )。
據Kaspersky OS產品說明顯示,該作業系統支援搭載X86/X64/ARM處理器的裝置,以下是最低執行配置:
Kaspersky OS for x86/x64 CPU
處理器:Pentium II或更高版本
記憶體:8MB或更高版本
網路裝置:Realtek RTL8139、Intel i82580
KasperskyOS for ARM CPU
處理器:ARMv7或更高版本
記憶體:8MB或更高版本
價格方面:Kaspersky OS並沒有一個固定價格,具體價格將視使用者對系統功能需求的程度而變化。