如何防止帳號被黑

兩家著名的美國互聯網公司——Twillo[4] 和 Cloudflare[5]——被攻擊了,前者還被攻破了。這兩家都不是普通公司,技術很強,都採用了“雙因素認證”,但還是被有效攻擊了。它們事後披露了一些細節,我覺得值得談一下,聊聊怎麼保護帳號安全。首先,有一點應該是共識:密碼是不安全的,一定要啓用雙因素認證。大部分的互聯網密碼都已經泄漏了。地下的黑產出售很全的數據庫,一查郵箱或手機號,密碼就出來了。你不妨認定,自己的密碼已經泄漏了。如果爲每個網站設置不一樣的密碼,情況可能會好一點,但也無法保證某個賬號就是安全的。任何一個重要賬號,都應該打開“雙因素認證”(two factor authentication,簡寫 2FA),即除了密碼,再多一種認證。即使如此,也必須非常小心,因爲 “雙因素認證”也可能被破解。一種常見的“雙因素認證”就是密碼 + 短信。每次登錄時,除了密碼,還會發一個短信驗證碼。它的風險在於短信是不加密的,而且國內有過不少案例,罪犯拿着僞造的身份證去掛失,辦了一個相同號碼的 SIM 卡,順利收到驗證碼。另一種新興的“雙因素認證”是密碼 + 人臉識別。它的風險在於,國內的很多方案採用身份證照片與人臉比對,這很不安全。已經有新聞報道,銀行的人臉識別被破解[6],儲戶的存款被轉走。公認較安全的“雙因素認證”是密碼 + TOTP 時間碼[7]。你在手機安裝一個專門 App(比如 Google Authenticator 或 Authy),輸入網站提供的密鑰,就會每30秒生成一個6位時間碼。但是,上週的安全事件,恰恰就是 TOTP 時間碼被攻破了。下面就來說說,這是怎麼發生的。事情的起因是,Twilio 和 Cloudflare 的員工,在下班後或者休息日收到了一條手機短信。下面就是兩家公司公佈的短信截圖。大意是,公司日程有調整或者你的登錄信息過期了,請點擊鏈接,到後臺查看。它給出了一個公司名稱加“sso”或者“okta”這樣的釣魚域名,警惕性不高的員工就會點擊。讀者可能會問,攻擊者如何得知員工的手機號碼。這在美國不是難事,LinkedIn 網站上就往往可以查到。員工點擊鏈接以後,就會進入釣魚網站(下圖),跟真正的登陸頁一模一樣。只要填入用戶名和密碼,它們就立刻泄漏,腳本自動把它們發送到服務器。但是,這兩家公司都開通了“雙因素認證”,光有密碼還進不去後臺,所以釣魚網站會把你引導到 TOTP 時間碼的頁面。這時,只要你輸入了時間碼,它就自動發送給攻擊者。由於時間碼的有效期只有30秒,這次攻擊最絕的地方在於,攻擊者是實時攻擊,只要一拿到時間碼,就立刻在真正的登錄頁輸入,從而進入後臺。可以這樣說,大部分公司的雙因素認證,都會被這種方式攻破。但是,Cloudflare 這一次沒有被攻破,原因是他們的後臺沒有采用時間碼,而是採用了物理密鑰(下圖)。只有把物理密鑰插入計算機,才能登陸後臺。攻擊者拿不到物理密鑰,自然就無法攻破。所以,這個事件的教訓就是,目前最安全的認證方法應該是密碼 + 物理密鑰。事實上,從很早以前,銀行就給客戶發物理密鑰,進行大額轉賬。如果你有條件,可以考慮使用,很多大網站都已經支持物理密碼,比如 GitHub(下圖)。問題在於,物理密鑰的價格較高,便宜的也要一兩百元人民幣,普通用戶不可能購買。好在 Web Authentication 技術正在推廣,它允許把手機當作物理密鑰,或者網站可以調用本機的指紋識別(或人臉識別)進行認證。對於大多數人來說,目前階段如果沒有物理密鑰,保護賬戶安全的最佳實踐無非就是這麼幾點:堅持使用雙因素認證,不同網站使用不同密碼,不在可疑網址輸入密碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章