OPPO安全:全心分享,滿腔情懷

撰稿 | 狗哥
編輯 | 圖圖



街頭算命,大概許多人不會陌生。實際上,他們大多通過一些小伎倆,在不知不覺中獲知了你的一些基本信息,所以許多方面讓你覺得很準。


但在不遠的未來,某些“算命大師”完全可以在人群中看了你一眼,就能對你知根知底。這並非是科幻想象,而是已經存在、並極有可能繼續深入研發的黑產技術。


隱私洩露+大數據+人臉識別+智能眼鏡+高速網絡……只需要充分將這些技術整合起來,“算命大師”戴上智能人臉識別眼鏡,通過實時同步的黑產大數據,即可在人群中識別出你的面部信息,繼而你的姓名、身份證號、手機號碼、家庭住址、工作信息、社交關係……都將一一顯示在鏡片之上。


早在2012年上映的電影《碟中諜4》中,就已經向我們演示過這個場景。


OPPO安全:全心分享,滿腔情懷

《碟中諜4》電影截圖


細思極恐是不是?確實,在大數據時代,在人手都有一部手機的時代,每一個人的隱私信息,都能成為被黑灰產挖掘出金礦的數據。


眼下隱私洩露問題已然氾濫成災,騷擾電話、垃圾短信無處不在。沒人能夠預料到未來隱私洩露會演變到何等惡劣的地步,故而保護隱私成為國家、社會、互聯網勢在必行之事,更是成為安全行業大有可為之事。


如今,國家已然出臺針對網絡安全與個人信息保護的相關法律法規,互聯網包括安全行業也在積極響應國家安全建設大業。其中,OPPO安全即是其中典範之一。


OPPO安全:全心分享,滿腔情懷


11月29日,OPPO技術開放日第六期活動在成都1906創意工廠拉開序幕。OPPO技術開放日是OPPO開放平臺打造的技術類品牌活動,旨在為廣大開發者提供一個專業分享和開放交流的空間。


OPPO技術開放日活動已經進行到了第六期,本期以“應用與數據安全防護”為主題,圍繞雲密碼本、密鑰白盒、惡意行為檢測能力、動態檢測方法、SDK安全檢測、應用安全等OPPO安全的多項前沿技術能力、安全防護經驗進行分享,增加OPPO與安全從業者、高校圈的互動交流,共同打造OPPO安全生態體系,並致力於提升整個行業的安全水位。


由此可見,OPPO安全能力相當深厚,自無法一一詳細介紹。故我們擇取OPPO安全新技術“雲密碼本”以及應用安全極為重要的技術“SDK安全檢測”進行深入淺出的解讀。


多重安全驗證技術護持雲密碼本


密碼無處不在,萬物互聯的時代,誰手頭沒有十個八個密碼?但是,我們放在電腦上、手機端的密碼真的安全嗎?


你想象一下,你在設備上輸入密碼登錄帳號的時候,手機有沒有木馬記錄你的密碼,數據傳輸過程中有沒有被黑客攔截數據進而解密,你的密碼和數據在服務端會不會被惡意攻擊者滲透攻擊、數據提取,甚至業務託管方有沒有內鬼竊取解密你的帳號密碼和數據?


當然,隨著技術的提升,通過通信信道、服務器端竊取解密數據,已經變得比較困難。但安全緯度往往是多方面的,如果能在用戶端也構建一套有效的安全圍欄,會不會讓安全水位更上一層呢?OPPO安全團隊認真思考過這個問題,並且也付出了行之有效的努力,研發出了“雲密碼本”技術和產品。


OPPO安全:全心分享,滿腔情懷


OPPO雲密碼本有什麼用呢?從安全角度來看,每一個APP代表不同的業務,每個業務有不同的安全屬性,我們對不同安全應用的APP通常會設置不同的密碼。因此,密碼會越來越多,時間久了非常容易遺忘,所以OPPO雲密碼本技術就是專門解決用戶密碼維護的難題。


密碼可以說是用戶的核心數據資產,安全自然要擺在第一位,那麼OPPO雲密碼本如何保障用戶密碼安全呢?


整體而言,OPPO雲密碼本使用了端雲協同安全密鑰技術實現安全能力,實現了託管方也無法解密隱私安全數據,讓用戶隱私真正屬於用戶自己。


OPPO安全:全心分享,滿腔情懷


據瞭解,端雲協同安全密鑰是專門解決用戶數據上雲,用戶數據跨平臺同步安全保護而產生、研發的。基本思路是通過安全的密鑰管理體系,進而實現保護用戶數據的目的。


OPPO在設計上重點考慮了四個方面:


一、能夠安全地跨平臺同步,支持跨平臺、多設備、自動地進行密鑰同步;

二、每一個應用具備完全相互隔離且獨立的密鑰體系,它可以根據應用的分組,開發者的分組,開發者的組織機構來使用這個密鑰;

三、一定要實現OPPO無法解密,即除了用戶自己以外的任何人,都沒有辦法解密用戶的數據;

四、實現攻擊者無法窺探,即採用基於硬件安全芯片或硬件加密機的安全技術,極大提升攻擊成本,直至放棄攻擊。


其中,整個密鑰管理體系在端側和雲側可能面臨的攻擊形態主要有以下四種:即移動端端側暴力破解、雲側暴力破解、側信道分析、滲透攻擊等。


一、移動端端側暴力破解。攻擊者可能在移動端利用惡意軟件進行滲透攻擊,甚至暴力嘗試破解用戶安全密碼。但移動端本地沒有密文數據,用戶數據從服務端加密機集群拉取到本地的TEE環境中處理,得到TEE環境的保護。所以本地滲透攻擊轉而需要嘗試滲透TEE環境,而TEE環境是足夠安全的,難以攻擊。


二、雲側暴力破解。OPPO安全硬件加密機集群,對用戶的錯誤次數進行檢測,超過限制次數以後,嘗試的密碼還是出錯,密鑰會被立刻刪除,用戶只能重置賬戶。這種機制雖然嚴苛,但這是從用戶數據安全角度上防止暴力破解。


三、中間人攻擊或者側信道分析。OPPO安全採用了具備完全前向安全性的雙層加密通信信道,建立移動端TEE和加密機集群的E2E安全信道,數據傳輸得到足夠的安全防護。


四、滲透攻擊。OPPO安全綜合採用了TEE、加密機集群等防護技術,硬件安全芯片或硬件加密機的安全技術的加入,極大的提升攻擊成本。


知攻而後知防。密鑰全生命週期安全,不同的教科書有不同的定義,但是基本是類似生成、分發、使用、撤消、歸檔、備份、更新、存儲等。


OPPO安全為了達成全生命週期的安全,使用了諸多安全工具,如計算層面端側使用TEE;雲端使用硬件加密機機群;認證方面使用了很多因子保護,包括帳號密碼、安全密碼、短信安全碼、可信設備等。


如何驗證可信設備呢?則是通過業界標準的PKI/x509數字證書機制,構建了一整套信任體系。


密鑰體系最基礎的就是用戶所掌控的因子,比如安全碼、安全手機、安全密碼,其他任何人都不知道。由用戶側掌控的這些因子派生出主密鑰(MK),MK臨時使用,需要進行身份驗證,驗證之後MK就會被銷燬掉,MK來保護CMK,CMK保護WK,這些密鑰構建了符合密碼安全業界標準化的多層密鑰體系。


OPPO安全:全心分享,滿腔情懷


安全密鑰通過設備信任鏈來管理所有參與設備。只有加入到設備信任鏈裡的設備,才能夠參與到密鑰管理協議裡來。根據規則,要求在Normal World中,由用戶輸入帳號密碼、雲服務安全密碼、安全手機短信驗證碼等因子,在Secure World中,通過安全認證協議綜合以上因子,再額外增加設備認證因子,通過雙層加密信道與雲端硬件加密機集群進行認證。


OPPO安全:全心分享,滿腔情懷


如果有人請求加入設備信任鏈,設備信任鏈如何校驗這個人的身份呢?OPPO安全後臺有一堆加密機機群,通過加密機機群來校驗收到請求因子的正確性,並且這個因子不會發送到後臺,而是要通過SRP協議認證,保證用戶密碼的安全性。並且校驗次數也會被統計,如果試錯過高,則會限制登錄,甚至銷燬既有密鑰。


由此可見,OPPO安全採用了多重嵌套式的技術,環環相扣,層層把關,讓用戶能夠放心安心地使用雲密碼本產品。


端雲協同的安全密鑰技術應用場景相當豐富,比如帳號密碼,醫療類、健康類數據,密鑰類數據,密鑰類數據擴展起來就是藍牙、WiFi設備配對,甚至是文件加密、全盤加密等等;再就是家庭設備數據,帳號設備數據,這也是很敏感的信息;還有行為特徵類數據,以及財務、購物、交易數據,這些自始至終都是非常敏感的。


另外,該技術可以實現真正端到端的安全通信,這種通信可以基於文本的消息,也可以基於視頻語音通話,甚至可以是基於端到端的敏感會議、遠程協助。


OPPO安全:全心分享,滿腔情懷


SDK安全檢測理念與經驗


眾所周知,軟件開發工具包(Software Development Kit)簡稱SDK, 集成在APP中為用戶提供了豐富的功能,因為使用量大,所以SDK的安全問題往往影響更為廣泛和深遠。


SDK多以JAR, AAR或者so的形式存在,可以共享APP申請的權限; 開發者對於SDK的內部實現,如用戶隱私信息的採集、對外通信等,屬於黑盒,集成SDK後的APP被引入更多攻擊面,而且三方SDK往往成為整個APP中的安全短板;某些SDK的裝機量數以億計,那麼其中的安全問題可能會影響數億的終端設備和用戶。


OPPO安全在實際測試過程中,發現三方SDK共有八大常見的安全威脅:

第一、私鑰或對稱密鑰硬編碼;

第二、違規採集用戶的個人隱私信息;

第三、敏感數據明文傳輸沒有做保護;

第四、不安全的證書校驗;

第五、WebView不規範使用;

第六、繞過沙盒限制,訪問應用私有組件;第七、下載並安裝惡意使用;

第八、權限濫用。


那麼,OPPO安全對於三方SDK安全檢測採取什麼辦法呢?據悉,OPPO安全檢測內容主要分三個方面:隱私合規檢測、漏洞檢測、惡意行為檢測。


OPPO安全採用靜態汙點分析的方法進行安全掃描。汙點分析分三個階段:第一是標記source點,source點就是敏感數據;第二是跟蹤,採用特定的安全規則跟蹤汙點信息在程序中的傳播過程;第三在關鍵的程序點(Sink點)檢測關鍵的操作是否會受到汙點信息的影響,最後記錄數據傳輸路徑,從而識別程序是否存在安全風險。


OPPO安全在三方SDK檢測流程上,總結出四個重要步驟:第一、結合攻防團隊的實戰經驗,整理安全檢測的checklist;第二、檢測反射調用敏感API(如用戶個人隱私信息採集);第三、通過指紋生成及識別技術,對三方SDK代碼及具體版本進行準確識別,維護SDK黑名單庫;第四、安全檢測報告內容儘量詳盡,通常覆蓋多個緯度,比如:安全風險評級、安全場景與細節描述、風險代碼示例、安全緩解建議、安全事故案例和安全測試方法。


OPPO安全:全心分享,滿腔情懷


對於OPPO手機終端安全測試人員來說,SDK的檢測的難度,可能重點體現在以下兩個點:第一、需要檢測的SDK本來就很多,再加上迭代頻繁,造成工作量劇增;第二、安全人員要怎樣儘量做好投入產出比的計算。


那麼,有了技術維度的方法論統籌,OPPO安全的SDK安全檢測如何與SDL(安全開發生命週期)融合呢?據瞭解,SDL一共有七個方面:安全培訓、需求評估、產品設計、實施、驗證、上線發佈、應急響應。


OPPO安全:全心分享,滿腔情懷


如上圖所示,藍綠黃三色分別對應三大類,其中最複雜的是第二類綠色部分。OPPO安全做需求評估時,需要設定安全門欄,分析安全與隱私風險;產品設計階段要分析攻擊面,建立威脅建模,實施狀態可以進行靜態安全掃描,摒棄不安全的實現。驗證過程對APP做動態掃描,模糊測試。上線發佈階段進行終版安全評析,發佈存檔,同時需要制定響應計劃。


OPPO結合工作實踐與SDL實施經驗,從隱私合規檢測、漏洞檢測、惡意行為檢測三個維度出發,落地了一套移動三方SDK安全質量保障方案,保障移動終端應用安全, 可以從四個方面做到閉環:



第一、安全評審。OPPO安全直接在設計或SDK引入階段,即對SDK的安全能力做一個評估,做一個威脅建模,從最初就要去做減少安全和隱私風險的嘗試;


第二、黑名單檢測。使用黑名單庫快速掃描SDK,如果是在黑名單以內,則流程直接打回。確保APP接入的SDK始終是最新版本,確保漏洞補丁及時打上;


第三、安全掃描。安全檢測平臺化和自動化,OPPO安全團隊發現大部分的典型安全問題具有同質化的特點,OPPO安全使用安全掃描工具可以提前發現並通過自動的掃描報告,幫助業務方自行解決大約70%左右的典型的安全問題,避免在終版審核之前,業務方大量的修復和升級工作;同時掃描結果儘量詳細,如此一來,業務方一看掃描報告就知道問題出在哪裡,不需要相同的問題老是找安全部門確認,這樣就可以把安全團隊的人員從冗餘工作當中解放出來,研究更好地技術,為用戶帶來更多的安全體驗;


第四、人工審計。對於重要的或者首次引入的SDK,OPPO安全會安排專家專門分析, 彌補掃描工具的不足;同時開發和複用安全編碼庫,提高業務線典型場景的安全編碼一致性和工作效率。



OPPO安全:全心分享,滿腔情懷


有人會疑問,第三方SDK本身提供的一般都屬於成品,一個SDK的文件,是沒有源代碼的,那OPPO安全是怎麼去分析它的權限、一些數據的行為?


實際上,如上問題並非無計可施。如果三方SDK是有混淆的,那OPPO安全的安全工具可以對混淆代碼進行掃描,同時對於經驗豐富的安全人員來說,代碼混淆只是增加了一些工作量而已;如果是加固的SDK,可以先嚐試脫殼再分析,在靜態無法分析的情況下可以將SDK集成到APP後使用動態工具來檢測,當然也可以對SDK的歷史版本和當前版本做一個差分分析,看看其新增了一些什麼功能。


OPPO安全的“與之為取”


一直以來,OPPO都是用最大努力創造、創新極致技術,來保障用戶的隱私安全。如上所述,不過是OPPO安全大樹上的一根枝椏。但OPPO安全人從不因其只是一根分支,就生輕怠之心。因為,每一個分支做到極致,都能成長為粗壯的枝幹,接受到更多太陽的光輝,讓整棵大樹更為生機盎然。


《後漢書·桓譚傳》有言:“天下皆知取之為取,而莫知與之為取。” 意為人們都只知道取得為取得,而不知道給予別人或付出代價也是取得。


OPPO安全深知“與之為取”的道理,閉門造車必將固步自封,一家繁榮不是安全行業的健康生態。所以,OPPO安全在此次的OPPO技術開放日活動上,毫不吝嗇地對行業展示自家最新的安全理念與安全產品。同時,也誠邀業界數據專家、安全專家加入OPPO安全團隊,一起為用戶隱私安全而努力。


此外,OPPO安全雖是以技術為主,但確實是一個有擔當、有情懷、有理想的安全團隊,他們始終抱著開放共享的態度,加強產學聯合共建,為行業培養更多優秀的網絡安全人才,也為用戶提供更安全的手機服務和互聯網應用服務,以推動網絡安全行業的健康持久發展。


OPPO安全的開放與分享理念,不但引領安全行業一部分領域快步奔跑,同時也促進自身不斷攀登。


站在高處手舉明燈的人,對於長夜攀行者而言就是星辰。願OPPO安全成為安全峰頂一顆耀眼之星,同時也願整個安全領域——星辰漫天!


分享到:


相關文章: