2018年3月21日,我受邀參加了一個神秘的安全會議。
一間20來平的會議室,40多号人擠在一起。
現場為了保密,沒有攝像,更沒有直播。
商業上的競争對手,學術界與工業界,大家因為一個共同的問題,罕見地坐到一張桌子上。
“中國的安全研究太鑽高級漏洞的牛角尖,反而大家都把影響力巨大的簡單漏洞忽略了”,杭特說。
(阿裡安全的資深安全專家“杭特”,聊到行業現狀,他顯得有點激動。)
“杭特”接着解釋。
中國的網絡安全研究員,太多人一頭紮進了0day這樣技術含量很高的漏洞裡。
但是在真實的網絡安全世界,攻擊者沒時間搞這些技術性很強的東西,怎麼用最簡單的方法更快的撈錢,才是黑産關心的事。
于是我們看到,心髒滴血、破殼,這些漏洞出現後,安全圈都在聊:“這麼簡單的漏洞,稍微有點安全知識的人都能操作。”
實際上是,因為簡單所以被忽視,而忽視本身就成了最大的漏洞。
随即,杭特抛出了會議的主題:
“軟件供應鍊安全”,我們忽視了太多這方面的風險,我們在這方面的防守能力很差,這是整個安全圈的事。
1、越簡單的越容易被忽視
杭特首先給出了“軟件供應鍊”的定義。
“無論是在辦公還是生産中,隻要不是自己編程的軟件,都屬于軟件供應鍊”
比如office、以及各種影音軟件,甚至浏覽器,總之你用的軟件不是自己編程的,那麼都屬于軟件供應鍊。
按照這個定義,多數人的賽博世界都被籠罩在軟件供應鍊這張巨網裡。
正因為這張巨網滿布整個網絡空間,一些看似簡單的攻擊方法,會帶來核爆式的安全風險。
我們可以舉一個簡單的例子。
假設你是一個五星級飯店的大廚,有人想要陷害你。那麼,他隻需要把你的糖罐子和鹽罐子互換一下,從此你的職業生涯就完蛋了。
這個例子其實是在解釋,軟件供應鍊涉及的是各種軟件工具,而一旦工具本身被攻破,損失就會無法估量。
真實的攻擊方式有多簡單?影響又有多大?
不便透露來曆的某業内安全人員做了一個小實驗,略施手段表演了一出“狸貓換太子”的好戲。
介紹一下實驗道具:一個免費郵箱以及Python編程語言(程序員基本會用)。可以說這項實驗的成本基本為0。
故事中的主角,狸貓名為“zlib”,太子名為“zlib3”。
聽起來太子的名字倒像是一個複制品。
故事始于一串代碼,一串常用代碼:“Pip install zlib3”。代碼的意思是“命令安裝一個名為’zlib3的資源包”。
程序員在編寫代碼時,經常犯這樣的錯誤,手一抖把“zlib3”寫成了“zlib”。
雖然隻是少了一個數字,但電腦很單純,它隻認“zlib3”。所以正常情況下,電腦會提示這段代碼無效。
就在這時,“邪惡”的研究員出現了。
正如你所想,實驗研究員真的造了一個名為“zlib”的資源包,把“假狸貓”包裝成了“真太子”。
電腦按照這段錯誤的命令執行後,會安裝一個來自私人郵箱的假資源包,而這個資源包裡還被注入了信息讀取模塊(這腦洞真的很賤,很讓人喜歡)。
(作者作,實驗簡易圖解)
結果可想而知,大把的程序員都誤把狸貓當作太子,渾然不覺已是引狼入室。
實驗的結果是:漏洞存在了100天,期間取得了全球X0000台服務器的控制權。
這其中包括GX、WX、XXX……等等等等,總之國内外的各大企業、某國所有的高校、某國的重要部門都在長長的受害者名單裡。
當然,這隻是一個實驗,隻是為了便于統計,順手獲取了這些服務器的帳戶名和主機名。
那麼假如不是實驗呢?假如是黑産呢?這次小小的實驗足夠證明,軟件供應鍊中存在巨大的安全風險。
講到這裡,杭特拿到場嘉賓打趣。
他戳了戳旁邊的某企業安全負責人。
“在場的**代表,作為受害者之一,談談你的感想”
“我沒啥感想,早知道是這樣,我就不來參加這個會了”
“哈哈哈哈”
現場一片歡笑聲。
杭特繼續解釋。
實際上,這種攻擊方式完全可以再做一下升級,直接黑掉正牌的“zlib3”資源庫,把真太子幹掉,連名字都改成一樣的,更難被發現。如此一來,攻擊将變得更加隐蔽,存在時間會更長,中招的服務器也會更多。
當然,實驗主要還是要檢測最簡單的手法會引發什麼連鎖反應,事實證明,方法十分簡單、“成績異常斐然”。
值得慶幸,做實驗的人不是搞黑産的。
2、最大的威脅來自于信任
“我們日常使用的軟件,最多能确認是否是官方的,至于軟件有什麼其他的功能,其中有什麼貓膩,我們不清楚,反正大家都這麼用。”杭特說。
杭特這句話這讓我想起另一個故事。
把時間狠狠往前拉一下。
1984年圖靈獎的獲得者Ken Thompson發表了一次演講,“反思對信任的信任”,演講中Ken展示了一種駭人聽聞的攻擊方法。
解釋這種攻擊方法前,有必要科普一下:
程序員在制作軟件時需要一個名為編譯器的工具,簡單來說,編譯器的功能是将程序員的高級計算機語言翻譯成機器語言(計算機可直接解讀、運行的語言)。
Ken發明的這種攻擊方式正是瞄準了編譯器。
簡單來說,他在編譯器中開了一個後門,當程序員使用編譯器時,Ken可以通過後門注入自己編寫的惡意程序。
你會發現,這個攻擊瞄準的是最底層的目标,試想,就連軟件編寫都已經被攻破,那麼利用這種編譯器編寫出的軟件,有什麼安全可言呢?
而之所以說這種攻擊是駭人聽聞的,原因是:大多數人壓根不會懷疑編譯器的安全屬性。
結果可想而知,程序員用這種編譯器所編寫的所有程序都會受到感染。
由此,Ken幫我們得出一個結論:隻有當你的電腦裡運行的每一個程序都完全是自己寫的時,才能保障安全。
問題在于,這是不現實的,于是我們隻能處在這樣的一個環境裡:
大家用的軟件是開發人員編寫的,而開發人員編寫程序時用的是别人編寫的開發工具。
結果,開發人員自己都無法保證編寫的軟件是安全的,而使用者竟然堅信軟件是安全的。
驚不驚悚?不驚悚。。。
可不可怕?不可怕。。。
那什麼才驚悚,什麼才可怕?
真正可怕的是:“即便如此,也沒有解決的方法,至少目前我們隻能選擇信任這些軟件”
3、構築防線,需要戰略能力
"目前來說,根治是不可能根治的,想要改善,單靠某一個人某一個組織發力也是不夠的。我們需要的是,每個行業、每個領域都能掌握基本的檢測能力。"杭特說。
上文的例子都在說明一個現象,軟件供應鍊安全的攻擊成本極低,收益卻很巨大。
但如果談到解決,首先你要知道風險的存在形式才行。于是研究人員掃描這些風險時又發現了一個極其讓人頭疼的問題:威脅存在于軟件供應的各個環節中,檢測起來非常困難。
我們可以做一下理論假設:既然軟件供應鍊是一條巨長、巨複雜的鍊條,做防守隻要構築一條更長、更複雜的防線就可以了。
顯然,這是對人對技術的一項巨大挑戰。唯一可以确定的是,“這不是一人之力可以完成的,或者說不是僅憑人力能夠做到的”。
相比較起來,美國很早就有所部署。
NIST.SP.800-161.是美國施行的軟件供應鍊風險管理标準。
該項标準中加高了軟件投入使用的門檻,這的确能夠阻擋大部分的假冒僞劣産品,但也給正經企業帶來了痛苦,因為他們要準備大量材料,十分影響效率。
于是美國又做了一個VET計劃,投了6000w美金,準備用四年時間專攻軟件供應鍊,計劃用最前沿的科技掃描出具有潛在威脅的漏洞。
這是由被動防守到主動防禦邁出的一大步,當然這也是基于美國有相應的安全掃描技術,而不得不承認,目前中國不具備這樣的技術手段。
明白了兩方之間的差距,問題反而變得簡單了,那就學習吧、鍛煉吧,盡快培育出自己的檢測技術吧!
阿裡安全首先提供了他們的解決思路。
杭特為我們舉了一個例子:
“比如我們将“訪問敏感數據”作為檢測标準,放到之前提到的實驗中做個逆向分析。
很容易發現,如果以此為标準,系統可以對假冒的“zlip”數據包提高警惕,至少能夠發出警報,這樣總不至于讓數據在眼皮底下被偷走。”
當然這隻是針對某一特定漏洞定制的解決方案。面對複雜的“軟件供應鍊安全”,擺在行業面前的問題是:檢測标準怎麼才能更全面。
不難發現,檢測标準的劃定尤為關鍵,太過寬泛就是大海撈針效率底,太過細分又會漏掉某些漏洞達不到效果。
為了解決這個問題,阿裡決定舉辦一個軟件供應鍊安全比賽。
比賽分為兩撥,一撥是出題人,負責定義惡意行為、制定劃分标準。另一撥是參賽者,需要自己摸索一套檢測标準,從而掃描出題目惡意行為。
我微微揣測了一下用意,看起來隻要參賽人員足夠多,阿裡安全就能統計到一波數據,什麼樣的檢測标準更有效就能被篩選出來。
當然主辦方阿裡安全也付出了足夠誘人的獎金。
隻是,比賽中還是在進行有目的的掃描,這并不能真的應付實際場景中出現的威脅。
但杭特覺得比賽有更特殊的意義:
“我們辦比賽的目的是為了攻克‘軟件供應鍊安全’這個難題,但并不指望一次比賽就能解決。
因為阿裡一家公司解決不了那麼多的安全風險,三個臭皮匠能頂諸葛亮,大家群策群力。
安全圈需要通過交流來完成能力積澱,這種交流會提升整個安全行業對常規風險的自動檢測能力,畢竟大環境變得安全了,企業才能更安全”
4、“軟件供應鍊安全應該升級為社區意識”
針對軟件供應鍊安全問題,騰訊也為我們提供了他們的解決思路。
騰訊玄武實驗室正在做一個名為“Project A'Tuin”的全網軟件檢索工具,這聽起來就是一項浩大的工程。
從原理上來說,它瞄準下載環節,在軟件供應鍊中,下載是一個安全漏洞的集中爆發點。
因為很多網站中的盜版下載鍊接都會摻雜漏洞和病毒,使用者甚至難以分清哪些是正版軟件哪些是盜版軟件。
玄武實驗室希望能夠通過收集到全網中的軟件信息,通過對比軟件代碼的哈希值以及數字簽名信息來确認軟件是否存在風險。
另一知名安全企業,知道創宇,聊了聊一些切實可行的舉措。
比如定期更換密碼、加強流量監控審計,雖然聽起來耗時耗力,但是在自動化檢測水平不高的情況下,想必這也是大多數安全企業都在實行的方法。
無論如何,軟件供應鍊安全的确值得關注。而相比起技術,普通人更需要培養的還是安全意識。
另外,我還在會議中看到了一些可喜的現象。
昔日商業上互相搏鬥的競争對手坐到了一張桌子上,共同探讨如何解決整個安全行業的問題。
“在這裡沒有過多的交鋒,更多的是技術思考和共同語言。”
本文作者高甯@淺黑科技,講故事是他的主業,如果你對故事有興趣,建議加他微信“gn9343”
完。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!