- 互聯網企業安全高級指南
- 趙彥 江虎 胡乾威
- 3302字
- 2019-01-03 20:53:00
1.1 切入“企業安全”的視角
目前安全行業中“二進制”和“腳本”流派廣為人知,雖然他們是安全行業的主力軍,但除了微觀對抗之外,安全是一個很大的工程,比如企業安全管理,實際上并不屬于上述兩類。確切來說,應歸入另外一個群體:CSOs,加了s表示他們是一個群體,這個群體從生態鏈的頂端聯接著絕大多數從業者和安全廠商。在這個描述中我并沒有發明新的名詞,沒有新建一個諸如氣宗劍、宗這樣的詞,只是在知識結構和職業背景上做一定的區分,用于后續對這本書的擴展。
企業安全是不是發現漏洞然后修復漏洞,再設置一下防火墻之類的工作?假如你的公司只有一個產品、兩臺服務器、3個程序員,我認為這個說法不能算錯。不過在絕大多數情況下,企業安全遠不止于此。滲透性測試和對抗能不能算企業安全?在一個過于紙上談兵的企業我覺得這是不錯的切入點,不過局部對抗發生于企業安全的各個場景中,它只能算是縮影,不是全貌。企業安全是什么?對傳統乙方安全公司,對新興的業務安全公司、移動安全公司,對甲方的互聯網公司,對甲方的傳統公司,對咨詢顧問,對漏洞研究者,對活躍于各大SRC上的白帽子們來說,詮釋肯定都不一樣。
先說一下筆者的經歷,以便了解是從什么角度來闡述這一問題的。學生時代跟現在的很多白帽子一樣玩玩滲透,玩玩二進制,在過去叫幻影(Ph4nt0m)的組織里認識了很多大V,大學畢業后即進了綠盟做滲透測試、安全服務和咨詢,這是乙方中離甲方安全最近的職位,接受了綠盟對傳統安全體系和方法論的教育,有些10年前的東西放到今天看都還會覺得完全不過時。
現在的安全行業里除了顯得有些務虛的安全理論之外,要么就是一邊倒的攻防,要么就是過于超前、浮在表面沒有落地方案的新概念,這些聲音對企業安全實操都缺乏積極的意義。有些方法論是有實操意義的,并不像攻防研究者聲稱的是純務虛的東西,純粹是位置決定想法的問題。還有些流行的概念在解決實際問題上的效果有待驗證,并不像市場鼓吹的那么好。技術很重要,但攻防只解決了一半問題,安全的工程化以及體系化的安全架構設計能力是業內普遍的軟肋,多數人不擅此道。對市場上的各種觀點,我認為可能需要一個相對客觀的評價:即某項技術或管理在全生命周期的各個環節中,在不同的行業、不同的場景下有什么樣的價值,而不是很隨意地貼標簽。很多概念10多年前就有了,發明一個新概念講與過去一樣的事情,再給自己貼一個發明者的標簽對行業沒有積極的意義。縱深防御之類的概念在ISS沒被IBM收購之前就有了,為什么現在有的人覺得這個詞很新?因為過去沒重視,或者說缺少實踐。
在綠盟最大的便利并不是下班路上隨便都能找到能聊exploit技術的大牛,而是視野:從金字塔視角看到安全的整體解決方案,囊括組織、管理和技術3方面的東西,覆蓋全行業全價值鏈過程的技術方案,算上第三方的話幾乎涵蓋市面上所有的安全產品和解決方案。有人看到這些會問:這不是傳統安全那一套嗎?且不急,本書后面講的都是圍繞互聯網企業安全的,并不打算在傳統安全上花很多篇幅,只是需要區分一下企業安全實際的狀況和某些廠商為了兜售自己的產品而宣揚的概念是有所不同的,大多數廠商都會避開自己的弱項而在市場活動及軟文上專注地強調自己擅長的概念。
離開綠盟后我去了甲方,一家大型網游公司,2008年將近萬臺的物理服務器分布于三十多個IDC的規模似乎比當時搜狐全站的IDC規模還要大一些。跟現在一樣,那時候也是普遍缺少安全負責人的時代,我也有幸組建了一支屬于自己的安全團隊,成為當時極少數的安全總監之一。團隊中的人現在遍布互聯網行業的半壁江山,且都是安全部門獨當一面的骨干。在這段時間我親身經歷了從乙方到甲方視角的過渡,從零開始建立安全體系,真正把乙方玩的東西在一家甲方公司落地了。我的方法思路過程跟某些互聯網公司不太一樣,因為那時候BAT的安全人員大多是畢業后直接去的甲方,一開始就做甲方安全,而我是從乙方到甲方,所以實踐上更多是參考了乙方的方法論,再自己摸石頭過河,除了攻防之外,多線并行,直接建立較完整的安全體系。
后來在安全行業不太景氣的那個年代我好像碰到了安全行業的天花板。之后跟在“信息安全的職業生涯”一文中所述的那樣,我實踐了里面所說的最后一跳,做了一家網游公司的技術負責人,社會俗名CTO,由安全轉向全線技術管理。說實話,在這段時間里我并不是特別重視安全,一方面跟自己是安全出身有關,另一方面這確實是位置決定想法的事情,不是安全不重要,而是有很多事情比安全更重要。老實說,安全這個事情跟金錢關系密切,當你有100萬元的時候拿出2萬元買個保險箱裝它們你覺得值,但你只有2萬元的時候要拿出8千元買保險箱,大多數人都會不愿意。可參見我在知乎上回答的那個問題:“為什么做安全一定要去大公司”。我竊以為很多公司的CEO、CTO對安全的認識,翻譯過來應該是:被黑是一件很負面的事情,所以找個人籌建團隊打包了,只要不出事就行。他們不是真的認為安全非常重要,也不會把安全當成一種競爭力。現在說這句話并不是在影射過去,當下國內很多企業的觀念仍然停留在這個水平上。
之后我去360經歷了短暫的時光,再次以乙方的身份拜訪了企業級客戶,很偶然地發現大多數乙方安全公司的顧問或工程師其實都沒有企業安全管理的真正經驗。雖不能把這些直接等價于紙上談兵,不過確實是乙方的軟肋。在甲方企業高層的眼中,攻防這檔子事可以等價于我花點錢讓安全公司派幾個工程師給我做滲透測試然后修復漏洞,不像大型互聯網公司那樣上升為系統化和工程化的日常性活動。離開數字公司后,我到了全球化的公司(華為)從事產品線安全,負責兩朵云:公有云和終端云。產品線安全屬于甲方安全,又跟很多甲方安全不太一樣,比傳統意義上的甲方安全介入得更深,覆蓋率更高的SDLC,直接導向產品設計的源頭。對絕大多數甲方而言,你也許在用OS的Dep&ASLR,也許在用各種容器,但你很少會自己去發明輪子,你也許會自己造一個WAF這樣的工具,但你可能很少會像微軟那樣要自己去搞一個EMET這種涉及安全機制層面的東西。但在產品線安全里,這一切都會更進一步,不只是像互聯網企業那樣關注入侵檢測、漏洞掃描等,而是從設計和威脅建模的角度去看整體和細節的安全。這又拓展了我從R&D的視角看待以及分析安全問題的眼界。因此,我可以站在一個較全面、客觀、中立的立場來說安全,我不會說某些方式屬于紙上談兵,也不會把攻防捧得至高無上。
接下來,切入本章正題,企業安全是什么?我認為它可以概括為:從廣義的信息安全或狹義的網絡安全出發,根據企業自身所處的產業地位、IT總投入能力、商業模式和業務需求為目標,而建立的安全解決方案以及為保證方案實踐的有效性而進行的一系列系統化、工程化的日常安全活動的集合。怎么感覺有點咬文嚼字?實際上,這里面的每一個項都會決定你的安全整體方案是什么,哪怕同是中國互聯網TOP10中的公司,安全需求也完全不一樣。
有人也許會覺得CSO干的活有點虛,但凡偏管理都是紙上談兵。我不直接回答這個問題,我只舉一個例子。大多數身在這個行業的人都知道社工庫遍地都是,入侵者甚至站在了大數據的維度,國內的數據庫絕大多數除了password字段加鹽值存儲之外,其余信息都以明文保存。而在歐美等地隱私保護是有明確的法律規定的,映射到數據持久化這個細節,就是需要滿足一定強度以上的加密算法加密存儲。CSO就是需要制定這些策略的人,難道說這些都是形而上學無用的安全措施嗎?在互聯網公司,安全負責人會較多地介入到日常技術性活動中,但隨著組織規模的擴大和行政體系的加深,CSO不再可能像白帽子一樣專注于攻防對抗的細節,這也是一個無法回避的現實問題。是不是一定要說出諸如CSRF時IE和其他瀏覽器的區別,才算是合格的CSO?我覺得這要看具體場景,對于國內排名TOP10以后的互聯網企業,我覺得這個要求也許勉強算合理范疇,但對于規模非常龐大的企業而言,這個要求顯然太苛刻了,比如我所在公司,CSO屬于法務類職位而不是技術類職位。
不想當將軍的士兵不是好士兵,雖然有人想走純技術路線,但是仍有很多人想過要當CSO。CSO這個職位跟某些大牛表達的不完全一致,所以下面的篇幅會繼續寫,至少在技術層面,CSO不會只停留在微觀對抗上,而是會關注系統性建設更多一點。至于跟董事會建立溝通橋梁,雖然也重要,不過關注的人就更少了,本書將不會涉及。