我們在前文《芯片設計環(huán)境的安全體系概述》提出了“一個平臺、三層隔離,、五層控制”的安全框架,,將重要的安全要點以如下的框架形式呈現(xiàn)出來。以此基礎就可以系統(tǒng)和計劃性地架構安全方案,,并結合安全技術和流程手段將安全風險控制在企業(yè)期望達到的目標之中,。
圖1. 推薦的芯片行業(yè)的安全框架圖
實現(xiàn)企業(yè)預定的安全風控目標,評判業(yè)務IT環(huán)境的安全風險需要做定期的評估,,評估的依據(jù)之一是從安全要素出發(fā)。作為安全控制重要手段之一的安全策略也是基于安全要素的,,因此對安全要素的深入理解,,對安全方案和控制的實施有著及其重要的意義。今天,,我們針對芯片行業(yè),,對幾個重要安全要素做一個全面的概述。
上篇:
核心安全三要素 - 金字塔“CIA”
信息安全的安全屬性最初由三個屬性組成,,即:著名的 “CIA”金字塔安全模型,,見下圖2所示。
圖2. CIA金字塔模型
“CIA”其實是三個英文單詞的縮寫,,C-Confidentiality 機密性,、I – integrity 完整性和A – availability 可用性。它從三個維度指導安全策略的制定和控制手段的實施,。
第1個要素: C-機密性
“機密性”也稱“保密性”,,這個要素從如何保護數(shù)據(jù)和信息角度出發(fā),避免外部入侵和防止內(nèi)部威脅,,通過安全控制手段保證信息不泄露給未經(jīng)授權的進程,、應用或主體。
針對“機密性”的安全控制:
其一,、需要建立有效的授權機制和策略,,其基本原則之一是權限分配要基于“最小權限原則”和“按需知密”,。那么如何通過技術和流程做到“按需知密”呢?企業(yè)的信息和數(shù)據(jù)量如此龐大,,有機密的,、有可以公開的、有不合適公開而只適用于在公司內(nèi)部交流和訪問的,,因此只有對所有業(yè)務數(shù)據(jù)(安全對象)進行合理分類,,劃分出例如:極為敏感、一般敏感和非敏感的不同安全級別類別,,通過對這些歸類的對象進行不同安全域的 “三層”隔離,,并施以 “五層”安全控制,“按需知密”原則就能最大程度地得到實現(xiàn),。
其二,、要分層、分級做好訪問控制和監(jiān)控,,訪問控制策略可以是自主訪問控制,、強制訪問控制,及其在身份鑒別基礎上實施的“基于角色”的訪問控制,。作為和權限控制緊密相連的身份鑒別要素,,其重要性與日俱增,我們會在后面小節(jié)中著重介紹,。
其三,、采用加密手段,防止數(shù)據(jù)被竊取或破壞,。
圖3. 安全對象
對于企業(yè)重點保護的IP和數(shù)據(jù),,甚至可以采取加密手段,比如用加密指紋保護IP,;而在郵件和數(shù)據(jù)傳輸過程中,,使用密文加密已經(jīng)是推薦的必要安全手段。在安全加固實踐中,,實際上有的芯片企業(yè)已經(jīng)全方位的禁用明文類的密碼和協(xié)議了(比如http, ftp, telnet等),,而配置和使用更為安全的TLS協(xié)議來保證傳輸過程的數(shù)據(jù)隱秘和安全性。
芯片設計環(huán)境主要工作在Linux系統(tǒng)上,,我們在前文《研發(fā)環(huán)境的分層安全定制》介紹過如何對操作系統(tǒng)進行定制化,,此外也要注意及時發(fā)現(xiàn)和消除常用工具的安全隱患。比如,,我們經(jīng)常用到openSSH來進行遠程登錄,,使用Samba實現(xiàn)文件共享。而低版本的這些工具有嚴重的安全漏洞,,為了提高安全性,,要制定版本更新策略,,比如:禁用smb 1.0, ssl 2.x, ssl 3.x, 而采用smb 2.x和tls 1.2以上協(xié)議等。
第2個要素: I –完整性
信息安全的完整性指,,要保證系統(tǒng)和數(shù)據(jù)不受未授權者修改或不因為系統(tǒng)故障而遭受數(shù)據(jù)丟失的能力,;信息和數(shù)據(jù)只能由有權限的人進行修改;值得強調(diào)的是,,這個要素不僅僅針對數(shù)據(jù),,也包括了系統(tǒng)環(huán)境中所有的硬件、操作系統(tǒng)和應用程序,。在實現(xiàn)自動化的系統(tǒng)中,,可以用CRC方法來校驗數(shù)據(jù)的完整性,不過CRC一般用于非故意行為引起的數(shù)據(jù)錯誤,,對于惡意的篡改的數(shù)據(jù),,特別是敏感且需要保密的數(shù)據(jù),需要采用密碼校驗法來驗證,。
為了保證完整性,,對數(shù)據(jù)的安全控制可以是:
●加密,以防止數(shù)據(jù)因為攻擊或被破壞造成數(shù)據(jù)不能完整讀取
●做好分級,、分層的用戶訪問控制,,以防止非授權用戶的非法訪問導致完整性的破壞
●版本控制,以防止數(shù)據(jù)因為誤操作被刪除而得不到及時恢復造成的研發(fā)計劃耽誤或重要信息丟失的損失
●對于EDA環(huán)境,,建立工具,、庫和項目數(shù)據(jù)的生命周期管理機制和流程
●分優(yōu)先級的備份和恢復策略,以防止由于數(shù)據(jù)丟失并且得不到及時恢復而造成重大業(yè)務損失
此外,,做好日志記錄、監(jiān)控和審計,,能夠判別信息是否已被篡改過,,如果發(fā)現(xiàn)有篡改行為,比如密碼校驗出現(xiàn)錯誤,,則需要結合以上或其他的安全控制使得數(shù)據(jù)立即恢復或修復,。
第3個要素:A –可用性
可用性指授權人員在工作和項目開發(fā)中,能順利訪問和使用相關的業(yè)務和項目數(shù)據(jù),,正常使用系統(tǒng)和應用程序,。其業(yè)務環(huán)境和系統(tǒng)對于未授權的人員一律拒絕訪問。
可用性也針對系統(tǒng)和物理環(huán)境的高可用性而言,。因為物理環(huán)境,、信息系統(tǒng)環(huán)境和管理方法的不完善都會引起數(shù)據(jù)破壞、系統(tǒng)無法登錄,、應用程序不能使用的情況,,造成業(yè)務開發(fā)和運維的停滯,、不可用,如下圖四所示例子,。
圖4. 影響可用性的物理環(huán)境,、業(yè)務場景
為了保證高可用性,我們可以考慮的安全措施和策略有:
●對業(yè)務環(huán)境和IT系統(tǒng)做完善的冗余架構設計
●制定詳細的災備方案
●建立失效,、故障轉(zhuǎn)移機制
●部署物理和機房環(huán)境監(jiān)控
●提高虛擬化力程度
●對于系統(tǒng)環(huán)境配置集群
這些措施,,相信大多企業(yè)在部署基礎設施的時候都已經(jīng)考慮,從安全風險控制角度,,圍繞可用性安全要素,,冗余和備份還要做的更精細化些,在基礎設施基礎上進一步深入做應用層的數(shù)據(jù)冗余和備份部署,。
例如,,在圖1中,針對芯片研發(fā)環(huán)境安全架構中,,我們從基礎架構: 網(wǎng)絡,、主機、存儲,,虛擬化平臺到應用,、EDA研發(fā)環(huán)境,每一層都考慮了冗余設計和數(shù)據(jù)備份策略,,不僅能避免軟,、硬件的單獨故障的出現(xiàn),還從業(yè)務安全角度,,保證了EDA環(huán)境中業(yè)務數(shù)據(jù)的高度可用性,。
下篇:
拓展的其它三個重要安全要素
隨著信息化技術的不斷發(fā)展,企業(yè)的業(yè)務系統(tǒng)趨于更加復雜而多樣,,因此帶來了更大的安全風險和隱患,。CIA模型顯然不能滿足多樣的安全需求,特別是它不能表述出業(yè)務方面的安全需求,。因此,,信息安全又衍生出其它安全要素,即我們在下篇提及的可認證性,、不可抵賴性和實用性,。
第4個要素: Authenticity-可認證性
數(shù)據(jù)和信息的訪問、傳輸和交換必須經(jīng)過身份鑒別和申明,??烧J證性可以認為是完整性的擴展,并和可用性緊密結合。
“完整性”元素不會鑒別對方的身份,,而當今的黑客,,技術手段更為先進、隱蔽而更具有組織,、攻擊和欺騙性,,往往能通過各種手段竊取用戶有效身份后進入系統(tǒng),因此鑒別信息來源的身份變得尤為重要,,“可認證性”已經(jīng)成為企業(yè)信息安全中不可缺少的重要安全要素之一,。
信息和數(shù)據(jù)的來源可信性保證后,再結合訪問授權控制來保證信息的可用性,。
“可認證性”要素的安全增強措施之一是實現(xiàn)身份和密碼的統(tǒng)一管理,。
小型芯片研發(fā)公司可以配置Linux的SSO服務和AD域賬號和密碼同步,不僅為用戶提供了方便,,比如:不用設置兩套甚至多套密碼分別用于不同系統(tǒng)和應用程序,,例如:office、Linux和VNC的登錄,;而且也簡化了密碼管理,,更重要的是能通過統(tǒng)一集中的密碼策略,更有效地避免用戶因為設置弱密碼而發(fā)生泄露和被盜取的安全事件,。
圖5. 對不同身份用戶
統(tǒng)一設置不同密碼長度策略
規(guī)模比較大的企業(yè)可以考慮實施統(tǒng)一身份管理的IAM方案,,為用戶提供統(tǒng)一登錄界面,并實現(xiàn)更高安全密碼+SMS或者密碼+token等的多種身份驗證機制,。在線下環(huán)境中,,主流的IAM產(chǎn)品有:SolarWinds, Sailpoint, Oracle OUD, 微軟的Azure Active Directory 等;我們使用過Sailpoint, SolarWinds和微軟的Azure AD,, 比較推薦微軟的Azure AD,,因為企業(yè)IT賬號一般都是首先在windows的AD域生成,對于本家的IAM產(chǎn)品自然無縫集成,;加上Azure是云產(chǎn)品,,用戶可以不同地區(qū)無障礙訪問,集成性極高,,非常穩(wěn)定;微軟在安全方面一直在努力的開發(fā)和改進,,在行業(yè)中處于領先地位,,從下圖可用看出,微軟在2020年,,Gartner的訪問管理的魔術象限中被評為領導者,。
圖6. Gartner魔法象限—訪問管理
選比較成熟的身份統(tǒng)一認證產(chǎn)品,企業(yè)可以在安全起點比較高的基礎上進一步做業(yè)務和數(shù)據(jù)方面的安全。
運行在復雜環(huán)境互聯(lián)網(wǎng)上的系統(tǒng),,圍繞可認證要素的安全控制尤其重要,。對此,各云服務商都提供了相應的IAM服務,。比如:微軟Azure云的Azure AD, 亞馬遜的IAM,、阿里云的RAM等。他們都基于自己的平臺提供了豐富的基于權限的身份驗證機制,。
第5個要素:Non-repudiation – 不可抵賴性
“不可抵賴性”在網(wǎng)絡環(huán)境中指信息交換的雙方不能否認其在交換過程中發(fā)送或接受信息的行為和發(fā)生時間,。這個安全要素保證了信息在傳輸中不被復制或篡改?!?/p>
”不可抵賴性“通過”身份驗證“+”數(shù)字簽名“來實現(xiàn),。數(shù)字簽名,顧名思義是通過技術手段在計算機或服務器上對數(shù)據(jù)文件進行簽名,,用于鑒別數(shù)字信息,,驗證數(shù)據(jù)發(fā)送方的身份,從而保證數(shù)據(jù)的完整性和不可抵賴性,。
數(shù)字簽名是通過非對稱加密算法和哈希算法來實現(xiàn)的,。但是哈希算法太簡單的話,還是可以被”中間人“,、”釣魚“等黑客技術攻破,,從而使數(shù)據(jù)的完整性得到破壞。因此,,哈希函數(shù)的安全性直接關系到了數(shù)字簽名的有效性,。
圖7. 通過”數(shù)字簽名“增強
信息和數(shù)據(jù)的不可抵賴性
應用到芯片行業(yè)中,針對該要素采用的安全手段包括:
●禁用明文密碼傳輸,,
●采用數(shù)字簽名方法
●…
比如,,如果是web類應用程序,要啟用https (TLS),,而非明文的http,;類同,網(wǎng)絡服務的連接方式要禁用明文telnet , 而使用較安全的SSL方式,; 數(shù)據(jù)的傳輸啟用sftp,,特別是較高安全級別的數(shù)據(jù)最好是加密(密鑰+數(shù)字簽名)來保護。
我們再來舉一個例子,,在以Linux為主的EDA環(huán)境中,,訪問服務器時,管理員經(jīng)常用OpenSSH來登錄,。SSH的開發(fā)本身就是一個安全工具,,因為它的協(xié)議能加密客戶端和服務器端之間的通訊,但是由于它的普及性,極易受到攻擊和破解,。因此,,除了要升級版本外,我們還要對這個工具做安全加固:SSH提供了多種認證方式,,key認證是其中一種公認比密碼認證更為安全的方法,,但是由于它基于不同的算法,因此為了保證不可抵賴性,,我們可以如圖8配置sshd_config文件,,通過提高算法的安全性更大限度地保證傳輸安全性。
圖8. 通過配置sshd_config中
key相關參數(shù)來保證通訊連接安全
第6個要素:Utility -實用性
實用性,,指的是訪問資源是可用的,,可用的資源才是有價值的。很明顯,,這是一個體現(xiàn)業(yè)務特性的安全要素,,因為只有數(shù)據(jù)和信息還在有價值期間,對它的安全保護才是最有意思的,。
我們舉個例子,,企業(yè)花了很多錢買了加密產(chǎn)品,并且付出了很多的努力用該產(chǎn)品對IP和機密類的業(yè)務數(shù)據(jù)進行了保護,,可是由于安全保障措施,、備份方案的缺失或者人為的疏忽,導致了密鑰的丟失,,數(shù)據(jù)雖然還完整的存在,,但是因為不能解密,它也失去了該有的商用價值,。一般加密保護的數(shù)據(jù)都是企業(yè)比較重要的數(shù)據(jù),,因此這些數(shù)據(jù)不可用產(chǎn)生的后果可能會給企業(yè)帶來比較重大的損失。所以現(xiàn)在我們做安全方案,,也考慮如何保證數(shù)據(jù)有效性,,即:實用性。
針對”實用性“安全要素的安全控制要點在于:
●合理的數(shù)據(jù)分類,,區(qū)分出要重點保護的數(shù)據(jù)和IP
●加強數(shù)據(jù)生命周期的管理
●制定有效的數(shù)據(jù)備份和舊數(shù)據(jù)的歸檔策略
●對加密保護的數(shù)據(jù),,必須建立一套有效的密鑰機制和方案,包括對該方案的測試和驗證,。
總結:
相互關聯(lián)的六大安全要素
我們在上文給大家介紹了傳統(tǒng)經(jīng)典的金字塔三大安全要素:機密性,、完整性和可用性,又展開解釋了可訪問性,、不可抵賴性和實用性,,這六個安全元素構成的六角集合模型較之前者,更為穩(wěn)固,,并能結合業(yè)務需求,,因此更能全面地指導安全控制措施的部署。
從闡述中可以看出,,這六個安全要素不是孤立存在,,而是相互關聯(lián)的。為了體現(xiàn)它們之間的關聯(lián)性,,我們通過芯片開發(fā)場景來將它們貫穿起來,。
工程師每天需要登錄EDA環(huán)境訪問項目數(shù)據(jù)進行研發(fā)工作,特別是流片之前,,系統(tǒng)要24小時服務不中斷,,以保證項目數(shù)據(jù)的高可用。為此我們設計了冗余系統(tǒng),,單點故障恢復機制,,并且盡可能地將系統(tǒng)服務和重要應用程序通過虛擬化平臺(比如: VMware的vCenter部署),并通過監(jiān)控和報警機制來預警并采取必要的措施,。
而另一方面,,為了保證數(shù)據(jù)因丟失、刪除或破壞而得到盡可能地迅速恢復,,建議根據(jù)項目的生命周期配置來制定和實施不同的備份和恢復策略,。對處于項目開發(fā)期的數(shù)據(jù),通過存儲的快照策略保證數(shù)據(jù)的及時恢復可用,,從而保證開發(fā)階段的數(shù)據(jù)高可用性,;項目結束后歸入維護運維,幾年后,,老項目數(shù)據(jù)進入歸檔保存,。這就是我們結合可訪問和實用性,根據(jù)項目數(shù)據(jù)的有效性而采用的安全控制手段,,可以看到,,這里的大部分措施和IT架構和運維部署相似,實際上是建在IT基礎架構之上的,,但是從兩個安全要素維度,,它更側(cè)重對數(shù)據(jù)的保護,并強調(diào)了保障業(yè)務數(shù)據(jù)的有效性,。
項目數(shù)據(jù)的訪問得到有效保護后,,我們再結合可認證性和完整性兩個安全要素來考慮對他們的訪問控制采取必要的安全手段。
首先當然是賬號的集中管理,,為了增加安全性,,同時也為了統(tǒng)一監(jiān)控并簡化用戶的登錄過程,,我們將各個系統(tǒng)用戶賬號集成起來,通過統(tǒng)一的登錄門戶來管理,,包括制定嚴謹?shù)拿艽a管理策略,,比如:通過策略強制用戶設置一定長度的復雜密碼,在高風險,、低安全區(qū)(公共區(qū)域)登錄須通過多種因素認證等,。從OA 辦公網(wǎng)絡到EDA環(huán)境,每一層,,對系統(tǒng)和應用程序的訪問都通過訪問策略,、最小權限原則來分配權限,以保證項目數(shù)據(jù)的訪問只給授權人員使用,;同時重要的EDA工具根據(jù)生命周期流程來管理,,所有的項目數(shù)據(jù)通過配置工具進行版本管理,從而使得數(shù)據(jù)的完整性得到保證,。
對于芯片設計公司來說,,設計數(shù)據(jù)和IP是公司的”命脈“,如何有效,、最大程度的保護數(shù)據(jù)的安全存儲和傳輸,,不發(fā)生被竊取、丟失等安全事件,;如何保證其高度機密性,,我們就要根據(jù)機密性+不可抵賴兩大安全要素來部署我們的安全策略和實施安全控制。芯片設計中,,可能需要和外包設計公司合作,,設計完成后產(chǎn)生的gds2文件需要傳送到晶圓廠;設計過程中遇到問題,,需要將日志傳到EDA廠商進行排錯…這些場景都需要數(shù)據(jù)通過傳輸工具經(jīng)過互聯(lián)網(wǎng)傳到外部,,從而引發(fā)數(shù)據(jù)泄露等安全事故。
為此,,我們通過加密工具,,用高安全的算法和長度生成密鑰和簽名,對數(shù)據(jù)進行加密保護,,并用安全的傳輸工具來保證傳輸過程安全,,比如,摩爾精英開發(fā)的安全數(shù)據(jù)傳輸工具---”摩爾云舟“就能很好的保證數(shù)據(jù)傳輸安全,;而密鑰管理則通過搭建專門的密鑰服務器來進行管理和維護,。
對于更為機密的IP和項目數(shù)據(jù),我們甚至通過加密產(chǎn)品對數(shù)據(jù)的存放和訪問采用加密手段,,只有在授權和許可的條件下,,才能解密并獲取訪問,。
我們通過以上完整的研發(fā)環(huán)境的安全控制來體現(xiàn)安全六要素的作用,它不僅會引領我們識別安全風險,,并且會使我們系統(tǒng)地部署安全舉措,。同時也會讓我們捋出安全控制的優(yōu)先級,將投資和人力運用到最需要做安全控制的地方,。
我們希望,通過本文對安全六要素的介紹,,給讀者提供一些安全控制方面的啟示,!