剛過去的這個周末,程序員們忙壞了。
所有人都在加班加點修補同一個漏洞。
Apache Log4j是一個基于Java的日志記錄組件。Apache Log4j2是Log4j的升級版本,通過重寫Log4j引入了豐富的功能特性。該日志組件被廣泛應用于業務系統開發,用以記錄程序輸入輸出日志信息。2021年11月24日,阿里云安全團隊向Apache官方報告了Apache Log4j2遠程代碼執行漏洞。由于Log4j2組件在處理程序日志記錄時存在JNDI注入缺陷,未經授權的攻擊者利用該漏洞,可向目標服務器發送精心構造的惡意數據,觸發Log4j2組件解析缺陷,實現目標服務器的任意代碼執行,獲得目標服務器權限。CNVD對該漏洞的綜合評級為“高危”。
這是國家互聯網應急中心對這個漏洞的介紹。
也許這個描述對非程序員的人群來說,仍顯復雜。若簡單“翻譯”,就是這個漏洞意味著只需要一個字符串,無需密碼或認證,就可以訪問任何使用Log4j2這個Java庫的服務器,甚至直接在里面運行自己的代碼。
某種程度上就相當于任何人都可以拿到一個萬能鑰匙,進入使用Log4j2的任意一戶“人家”,然后想做什么能做什么就全看“小偷”的發揮了。
問題的嚴重性已經很明顯。這個漏洞很快被冠以“核彈級漏洞“、“現代計算機史上最大漏洞”等稱號,原因就在于,Log4j2這個Java庫實在太流行。
“幾乎所有你能想到的互聯網公司,都有在使用它”。
而且,這個漏洞還是一個“零日漏洞”。也就是說發現漏洞的同時,利用這個漏洞的攻擊就已經在發生了。與那些漏洞已經有了補丁后才出現的黑客攻擊相比,這種零日漏洞帶來的攻擊的手法和帶來的危害的可能性都是未知的,這讓防御者處在明處,而攻擊者卻在暗處且看得清你的一舉一動。
如應急中心所說,漏洞最早在11月底就已經提交給官方。但修補尚未出現時,事情先變得嚴重起來——《我的世界》這款最流行的游戲之一,在12月9日遭受了利用這個漏洞的大規模攻擊,這款微軟旗下的游戲,不少服務器直接關閉。
更多的開發者意識到問題嚴重:蘋果、亞馬遜、Steam、騰訊,Github上60644個開源項目的321094個軟件包,都在這個名單里。
而且據Apache方面表示,Log4j2作為一個開源組件被用在不同的系統中,使它根本無法追蹤到底有多少代碼里使用了它。
所有互聯網公司都慌了。上周五開始,“幾乎所有程序員都在修Log4j2”。
而根據漏洞相關信息開始進行的“攻擊”也瞬間猛增。有互聯網安全機構記錄到12月10日當天開始的海量攻擊,其中除了惡意的黑客行為,也有很多是來自試圖進一步了解這個漏洞對自己以及一些知名公司安全性影響的“研究”。不少人在百度、谷歌等最基礎的服務的登陸或搜索框里輸入相關的漏洞字符希望一窺究竟。
這個漏洞的特性意味著,它就像一個夾子,你可以用它掀起一些公司平日遮蔽的較為嚴實的蓋頭,看看里面——于是,在更加影響惡劣的數據泄露事件尚未發生時,一些意想不到的“次生災害”卻更早到來。
就在安全圈為之沸騰,討論如何快速修復,以及不停測試哪些公司在受到影響時,一次針對特斯拉的測試卻帶出了意想不到的新問題。
12月13日,一名互聯網安全人士在微博上公布了幾張截圖。并配上文字:
特斯拉還是把數據傳回美國了嘛。
根據這些截圖,這名發布者對這個漏洞在特斯拉移動端App上進行了測試,而特斯拉服務器的IP地址很快被暴露出來,拿著這些IP地址一查,結果顯示這些服務器歸屬美國。
“所有中國業務所產生的所有數據完全存儲在中國境內”——特斯拉CEO伊隆· 馬斯克今年9月曾經言之鑿鑿,但似乎被這個漏洞掀起的一角將了一軍。
那么這幾張截圖說明了什么呢?
讓我們把這個測試簡化到大部分人都可以理解的程度。(這其中可能會喪失一些嚴謹性——比如下面會提到的“打開網頁”,其實是對于dns解析的簡單化解釋——但能夠更直觀的理解這個操作的過程)。
要做這個測試,首先需要一個dnslog.cn或ceye.io這樣的網站。這個網站提供兩個功能,一是生成二級域名,也就是網址。二是當你把這個網址發給別人,對方用手機或電腦等設備打開了這個網址,你都能在這個網站上得到反饋,最基本的信息包括了打開時間以及IP地址。
理論上,這個“別人”可以是你隔壁領居,也可以是特斯拉,但是一般來說特斯拉的服務器是沒道理點開你發的地址的,除非你能讓他不得不點開。而Log4j2的漏洞正是危險在此。當把這個特定的測試語句加進網址,在代碼里使用了Log4j2組件的特斯拉軟件系統,就會“不由自主”自動打開它,然后這些痕跡會回到發送者這里。
通過這個辦法,同樣可以測試蘋果或者亞馬遜以及其他任何網站有沒有漏洞。做個比喻:
我面前有3個小孩(即三家不同公司),分別標記為 A、B、C,每人手里有一根火柴,有兩根火柴受潮了不能使用,有一根是正常的可以被點燃(可燃即代表有漏洞)。為了驗證誰的火柴是可燃的(即為了驗證哪個公司有漏洞),我找了3枚鞭炮,分別標記為a、b、c 。
a給小孩A,b給B,c給C,讓他們去點鞭炮。
過了一會,鞭炮響了,湊近一看,殘渣碎屑上看出是b鞭炮,那么就證明小朋友B手中的火柴是可燃的(有漏洞的)。
如前所述,在這個漏洞得到廣泛重視后,大量這樣的放鞭炮行為開始發生。而這個微博所記錄的也是一次類似的測試。但這個測試不僅顯示特斯拉存在漏洞,真的打開了一個這樣的“釣魚”網址,而且它因此暴露的服務器地址,也揭露了更多信息:
當這名測試者把自己在中國境內登陸特斯拉系統而得到的IP地址,放在whatsmyip(一個IP查詢網站)上一搜,IP地址顯示的ASN歸屬地卻在美國境內。包括華盛頓、新澤西和愛荷華。
其中一個IP地址顯示關聯到華盛頓。
頓時一片嘩然。
特斯拉App對于這款智能電動汽車的重要性不言而喻。
特斯拉車主很多時候就是在依靠移動端App管理自己的用車。去年5月,國內曾有多位車主表示由于特斯拉App出現大面積宕機,導致手機無法關聯上車輛,進而導致手機鑰匙失效,車輛信息無法獲取,車內的中控屏和儀表盤因此無法激活的狀態。
包括行駛和購買行為在內,中國特斯拉車主的個人信息幾乎都被錄入在移動端的App上。在今年10月升級了哨兵模式后,手機端已經可以實時查看汽車攝像頭內容。特斯拉當時對此的聲明是,實時攝像頭將會是端對端加密的,特斯拉無法訪問。
集成了包括實時車內內容在內的移動端App無疑是一個越發敏感的零件。大量中國車主的敏感信息積累在移動端App中。而現在,這些截圖顯示,App所連接的服務器卻指向了美國。
不過,就在這個微博下面,許多不同的解讀也在出現。這個信息能說明的數據安全的嚴重性并沒有達到“共識”。尤其作為聰明人聚集的經常針鋒相對的計算機安全領域,對于這個結論,不同人給出不同的理解。
有人稱,這只是一種常規操作。“不一定是傳輸數據,可能是調了某個接口。”有人評論。
一位數據安全人士舉了個更通俗的例子:
“比如,騰訊要統計全球有多少QQ用戶同時在線,這時候,也會統計到美國用戶的對嗎?但這時候從美國傳到中國的,其實只是個統計的在線人數,不涉及用戶個人信息。此時你說中國的騰訊公司是在收集美國數據嗎,你說是也行,說不是也沒錯。”
具體到特斯拉,或者蘋果以及其他相似狀況的公司,他是僅僅調用了一下美國服務器上的服務接口,還是真的有用戶個人信息的傳輸,也成了判斷這些信息流動行為是否合適的關鍵。
“這不能證明其他個人信息,比如通訊錄、短信、照片等,也傳到了美國。并且對方采集個人信息是否是加密傳輸及存儲,是否符合相關法規的數據安全生命周期處置規范,這些都不是依據當前信息可以判斷的。”有安全從業者表示。
除此之外,服務器地址和數據庫地址并不一定在同地。
由于跨海溝通會增加延時,公司一般不會這么做,但如果沒有即時通信需求——比如數據備份——服務器和數據庫被放置在兩個國家的可能性是存在的,另一位開發者表示。
顯然,大家對此十分謹慎。不過,一個事實是,從這些截圖和操作來看,一個包含域名的漏洞測試語句,的確從中國傳回了美國服務器。一名認證為螞蟻高級安全專家的博主表示,從這個截圖來看,別的數據不知道,但車輛的名稱數據是肯定傳回了美國。
不遠萬里把車主的車名數據傳回美國,這背后不知道是出于什么考慮。
這顯然又讓特斯拉中國陷入一個十分敏感又令人困惑的境遇。一次針對漏洞的測試卻再次讓人們意識到,特斯拉和特斯拉中國所宣稱的數據留存在中國究竟執行的如何、究竟哪些數據依然需要去美國轉一圈、以及它們會以什么形式轉一圈?可能至今就連特斯拉中國車主們也不清楚。
在2021年11月已經正式生效的個人信息保護法里,這樣規定:
第三十九條 個人信息處理者向中華人民共和國境外提供個人信息的,應當向個人告知境外接收方的名稱或者姓名、聯系方式、處理目的、處理方式、個人信息的種類以及個人向境外接收方行使本法規定權利的方式和程序等事項,并取得個人的單獨同意。
除此之外,也有不少開發者表示,這個在12月13日發布的測試也說明,在全世界都在10日就開始加班加點急著補上這個漏洞的時候,特斯拉似乎直到13日也還沒開始處理這個漏洞。有國外媒體引述知名機構Fortress Information Security相關負責人稱,整個互聯網對于這個漏洞的修復工作遠未結束。
“但看看日歷表,兩周后是什么,圣誕假期”。
12月14日,馬斯克帶著他的兒子參加《時代》舉辦的慶祝活動。此前他被《時代》選為今年的年度人物。
“由于Apache Log4j2在框架組件和軟硬件產品二次開發中應用較為廣泛,CNVD平臺建議各廠商單位對開發的軟硬件產品和服務進行積極自查,重點檢查對Apache Apache Log4j2組件的引用情況,若發現受此漏洞影響的請立即修復,并通知產品用戶及時更新。”12月13日,國家互聯網應急中心也發布公告,建議廠商及時自查并通知用戶。
這個漏洞帶來的混亂還會持續一段時間。可能會有更多的“次生”信息因它而披露。而在此需要提醒的是,有互聯網安全相關人士表示,不建議大家拿著這段漏洞代碼去各大網站上隨便嘗試,因為這可能帶來不必要的糟糕的影響,進而讓操作者自己也惹上風險。
本文來自微信公眾號 “品玩”(ID:pinwancool),作者:油醋,36氪經授權發布。