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