今天小編分享的科技經驗:iPhone今天這個大漏洞,讓人打開App就被盜刷一萬五。。。,歡迎閲讀。
眾所周知,蘋果一直在宣傳自己的安全、隐私、可控。
而且在過去,它也足夠的安全。
但世界上也沒有絕對堅固的牆,大家也别因為這樣,就徹底放松警惕。
因為今天,它就翻車了。。。
事情是這樣的,一個網友的丈母娘被 App Store 應用商店裏的 " 騙子 App" 騙走了一萬五千元。
直到目前,他們被盜刷的錢都沒能追回。
而我在復盤完事情的完整經過之後發現,其中兩個重要環節,都是蘋果出現了問題。
但凡蘋果在這兩個環節中的任何一個環節有安全措施,也不至于讓騙子得逞。
先跟大家聊聊大概發生了什麼事吧,大家可以先看看原博主 airycanon 描述的事情經過 ~
上下滑動可以查看完整長圖
但是這個 App 本身有問題,打開 App 之後,首先會彈出一個 Apple 賬号登錄界面。
用過 iPhone 的小夥伴都知道,不少 App 都支持使用蘋果賬号一鍵注冊登錄,就像微信小程式一鍵登錄一樣。
所以這一步看起來是合理的。
但其實,真正的蘋果一鍵登錄界面,是這個樣子的:
大家可以上下對比看看
菜譜 App 彈出的那個 " 假登錄界面 ",其實也是有用的,它在後台已經完成了一次蘋果賬号登錄。
至于有什麼用途,我們放到後面再説。
登錄彈窗之後,這個 App 又彈出一個仿照系統界面設計的密碼輸入界面。
因為長得和安裝應用時候的密碼驗證界面很像,手機用的不那麼靈光的老人還是很容易中招的。
App"L"eID。。。
自此,騙子就搞到了受害者 iPhone 的賬号和密碼。
假如用户給蘋果賬号綁定了支付方式 —— 就比如 airycanon 的丈母娘綁定了微信免密支付。。。
那騙子就可以開始盜号刷刷刷了。
u1s1,這個騙子絕對是個慣犯。他為了避免受害人收到短信交易提醒,盜刷之前甚至還利用查找 iPhone 遠程把受害者的手機給重置恢復出廠設定了。。。
這要是沒用 iCloud 備份相冊的人,不得氣瘋了。。。
真 · 砂仁豬心。
OK,事情大概就是這麼一回事,講道理,看完之後我整個人就是一個大寫的懵。
首先,我倒是理解這種騙人 App 能堂而皇之在蘋果官方 App Store 上架。。。
因為騙過蘋果商店審核的操作在業内根本不算什麼秘密。
馬甲包、同 ID 雙版本、幸運按鈕。。。黑產總有辦法。
而是一個個關不掉的強制彈窗," 幫 " 我開各種彩鈴包、權益合約包。。。
難得遇到了一個正經菜譜 App,結果剛看了兩個菜,就要收我 28。。。
不對,是每周 28 塊錢。。。
我估計正經廚房類 App 的產品經理們都得看傻了:同行們黑心錢都這麼好賺的嗎?
" 非強制消費 "
但是,就算 App 能通過釣魚的方式騙到受害者蘋果賬户的密碼,但是蘋果本身是有 " 兩步驗證 " 機制的呀?
在登錄新設備或者浏覽器的時候,除了輸入密碼,蘋果還會要求輸入一個短信驗證碼。
而且 airycanon 也在帖子裏説明了,他丈母娘的 Apple ID 已經開啓了兩步驗證。
但是他們自始至終沒有收到蘋果的驗證碼。
這時候他發現,丈母娘賬号的兩步驗證設定裏,多出來了一個從來沒見過的境外号碼。
怪不得自己手機上沒有驗證碼了,因為接收驗證碼的手機已經變成騙子的手機了。。。
考慮到設定兩步驗證是一個挺復雜的操作、即使手把手跟丈母娘説都不一定能設定成功。
那這個号碼只能是騙子偷偷添加進來的了。。。
這就很離譜了好吧,因為雖然 " 菜譜騙子 " 們騙過了蘋果的 App 審核,但它們最多也只是詐騙,是在玩弄社會工程學,而不是病毒。
理論上來説,它們根本沒有辦法繞過蘋果最根本的安全措施,在不彈任何驗證碼的情況下往蘋果的雙證驗證系統裏加入能收驗證碼的新手機号。。。
這一點是我和編輯部小夥伴們都感覺非常詫異的,也是今天關注到這件事的網友們讨論最激烈的。
不過在一段讨論之後,研究蘋果開發的 BugOS 技術組提到了一種可能的思路:
上面截圖裏的内容大家看不懂沒關系,簡單來説,蘋果浏覽器框架的安全策略出了問題。
事情大概是這麼回事:我們都知道,不管是 iPhone,還是安卓手機,系統裏都會有一個預裝的默認網頁浏覽器對不對。
比如 iPhone 上就是 Safiri,安卓這邊則是各家的自帶浏覽器。
但這其實只是表面上的浏覽器。
但其實,再往系統底層找,還有一個 " 沒有圖示 " 的浏覽器框架:WebView。
這個 " 浏覽器框架 " 不能被普通用户在手機裏直接點開,它存在的意義,是供其他 App 調用的。
我們舉個例子,就比方説美團、滴滴他們經常在 App 裏搞領券的活動,對于這種臨時的活動頁面一般就是寫個網頁。
這些 " App 内的網頁 ",實際上都不是 App 本身在渲染,而是美團和滴滴拉起了系統裏的 WebView 組件來進行渲染的。
這個組件其實幫了開發者很大的忙,假如沒有 WebView 浏覽器框架的話,包括美團和滴滴在内的所有 App 開發者,都得往 App 裏再額外集成一個獨立的浏覽器内核。
本身現在的 App 們就已經很占存儲空間了,要是一人再背一個 Chrome。。。
畫面太美了,我不敢想!
另外,作為網絡世界的視窗,浏覽器漏洞本身也是很多黑客行為的突破口。
系統本身提供一個全局自動更新的浏覽器框架,也可以避免一些 App 不更新内置的浏覽器内核,導致黑客趁虛而入。
這次的問題,恰恰就出在這個 " 為了不出問題 " 而設計的系統級浏覽器框架上。
不知道大家有沒有體驗過系統浏覽器的 "便捷單點登錄" 功能。
就比方説,假如你在 Windows 電腦上使用自帶的 Edge 浏覽器打開微軟賬户官網,Edge 浏覽器不會讓你輸入微軟賬户的賬号密碼。
而是會自動讀取當前電腦裏登錄的微軟賬户,然後幫你在浏覽器網站裏完成登錄。
假如你在登錄了谷歌賬号的安卓手機上使用谷歌 Chrome 浏覽器,它也會自動幫你完成登錄操作。
蘋果也是如此,假如你在 Safari 浏覽器裏打開 Apple ID 官網,并點擊登錄。
浏覽器也不會讓你輸入密碼,而是直接彈出來一個登陸操作的确認框。
假如你點了 " 繼續 ",得益于高性能的蘋果 A16 處理器,系統會光速彈出 Face ID 驗證。
一個眨眼的功夫,就登錄成功了。
诶,等會兒。。。
這個登陸框,怎麼有點兒眼熟啊???
為什麼 " 菜譜大全 " 會請求登錄 Apple ID 官網啊???
説真的,假如沒有對比的話,菜譜大全的操作很容易會被大家當成是普通的 " 一鍵注冊賬号 " ——
包括發帖的 airycanon 也沒反應過來,以為是丈母娘沒有選蘋果的隐私郵箱登錄選項才暴露了 Apple ID,讓黑客掌握了信息。
真正的一鍵注冊環節會要求選擇是否隐藏郵件地址
實際上,當這個确認窗驗證完畢之後,騙子都已經準備好往賬号裏加料了。。。
" 菜譜大全 " 之所以能夠一鍵登錄,恰恰就是利用了 WebView 這個系統級浏覽器框架的 " 便捷登錄 " 特性。
表面上,是一個菜譜 App,而在它的内部,隐藏了一個正在訪問 Apple ID 官網、并準備篡改用户接收驗證短信手機号的浏覽器界面。
我後來看 BugOS 技術組又發了一個微博,他們已經用自己寫的代碼還原完整個攻擊過程了。
按照蘋果 Apple ID 官網目前的安全邏輯,只有一開始的賬号登錄環節需要下發驗證碼做雙重驗證。
而這最開始的一步,騙子已經通過 WebKit 的便捷登錄繞過去了。
已經處于登錄狀态的情況下,只要輸固定的賬号密碼,就可以直接添加新的驗證手機了。
現在相信大家已經徹底搞明白背後是怎麼一回事兒了,這時候我們再重新回看故事的全貌:
" 菜譜大全 " 先是在表層界面的下面,隐藏了一個 WebView 浏覽器組件,然後利用它系統級的 " 便捷登錄 " 能力,進入了 Apple ID 官網。
接着,它給用户彈出了一個密碼輸入框,用來搞定添加驗證手機的最後一步障礙。
拿到密碼之後,App 就會偷偷跑起添加新驗證手機的自動腳本,這時候受害者的蘋果賬号就已經不屬于自己了。
什麼時候發起攻擊,全看黑客心情了。
OK,復盤完畢,這麼一看好像還是受害者太傻,平白無故把密碼交出來了對不對 —— 假如受害者打死不填密碼,黑客也沒招。
我們不應該罵蘋果對不對?
emmmm,在下這個結論之前,我想先帶大家看一看蘋果的老對手 —— 谷歌是怎麼做的。
和蘋果 Apple ID 一樣,只要已經處于登錄狀态了,谷歌這邊的賬号系統要想添加新的驗證手機,也只是輸一下固定密碼的事。
但是和蘋果不同,谷歌根本不允許系統的 WebView 組件使用 " 便捷登錄 " 技術。
我在自己的安卓手機上做了個小測試,分别使用谷歌 Chrome 浏覽器和 Via 浏覽器( 一款直接調用系統 WebView 框架的極簡浏覽器 App )訪問谷歌賬号官網。
Chrome 浏覽器因為已經獲取了系統裏的賬号登錄狀态,因此直接就登錄了。
Via 浏覽器則沒有這個能力,需要一步步重新輸入賬号、密碼、驗證碼。
換句話説,假如有騙子想在安卓手機上做一個同樣套路的事,第一步就卡住了。。。
但是在蘋果系統裏,不管是調用 WebView 的 Via,還是真正的自帶浏覽器 Safari,都能調用便捷登錄。
再搭配上 App Store 的審核漏洞,一鍋好菜就出爐了。。。
嚴格來説,這對于 iOS 系統來説也算是一個漏洞 —— 它不是代碼漏洞,而是一個邏輯漏洞。
騙子利用蘋果開放的便捷登錄能力,偽裝了自己一波,再利用一點點社工技巧,就把錢騙到手了。
由于系統邏輯漏洞造成的問題,正确的解決方式應該是着手準備 OTA 補丁,同時幫着受騙的用户追回損失。
不過蘋果給這個受害者帶來的感知,并不是很好。。。
可能現在時間還比較短,希望蘋果後續可以幫這個受害者妥善解決。
不瞞大家説,本來我今天是沒打算寫這篇文章的。
因為真要細究的話,安卓這邊雖然把 WebView 的洞補上了,但是其他的漏洞更多、騙人的方式根本數不過來。
蘋果生态總體來説都還是更安全的、讓人用着更放心的,但是大家不要因為它 " 安全 " 的标籤就變得麻木、不重視安全了。
就像大家都説沃爾沃安全,但你不能因為這點就不握着方向盤了。。。
相信很多給家長買 iPhone 的小夥伴,都是希望家長盡可能不被騙。
但我覺得,我們還是要告訴他們即便是 iPhone,即便是 App Store,也不能保證絕對安全。
不随便輸密碼、不給所有 App 用一模一樣的密碼是最後的底線。
千萬記得叮囑他們,免密支付能不開就不開。如果開了的話,免密支付的卡裏面也不要放太多的錢。