科技愛好者週刊(第 219 期):如何防止帳號被黑

阮一峰發表於2022-08-19

這裡記錄每週值得分享的科技內容,週五釋出。

本雜誌開源(GitHub: ruanyf/weekly),歡迎提交 issue,投稿或推薦科技內容。

週刊討論區的帖子《誰在招人?》,提供大量程式設計師就業資訊,歡迎訪問或釋出工作/實習崗位。

封面圖

"武漢超算中心"使用集裝箱搭建,是國內最大的集裝箱超算中心,8月15日正式接入"中國算力網"。(via

本週話題:如何防止帳號被黑

上週有一起安全事件。兩家著名的美國網際網路公司----TwilloCloudflare----被攻擊了,前者還被攻破了。

這兩家都不是普通公司,技術很強,都採用了"雙因素認證",但還是被有效攻擊了。它們事後披露了一些細節,我覺得值得談一下,聊聊怎麼保護帳號安全。

首先,有一點應該是共識:密碼是不安全的,一定要啟用雙因素認證。

大部分的網際網路密碼都已經洩漏了。地下的黑產出售很全的資料庫,一查郵箱或手機號,密碼就出來了。你不妨認定,自己的密碼已經洩漏了。如果為每個網站設定不一樣的密碼,情況可能會好一點,但也無法保證某個賬號就是安全的。

任何一個重要賬號,都應該開啟"雙因素認證"(two factor authentication,簡寫 2FA),即除了密碼,再多一種認證。即使如此,也必須非常小心,因為 "雙因素認證"也可能被破解

一種常見的"雙因素認證"就是密碼 + 簡訊。每次登入時,除了密碼,還會發一個簡訊驗證碼。它的風險在於簡訊是不加密的,而且國內有過不少案例,罪犯拿著偽造的身份證去掛失,辦了一個相同號碼的 SIM 卡,順利收到驗證碼。

另一種新興的"雙因素認證"是密碼 + 人臉識別。它的風險在於,國內的很多方案採用身份證照片與人臉比對,這很不安全。已經有新聞報導,銀行的人臉識別被破解,儲戶的存款被轉走。

公認較安全的"雙因素認證"是密碼 + TOTP 時間碼。你在手機安裝一個專門 App(比如 Google Authenticator 或 Authy),輸入網站提供的金鑰,就會每30秒生成一個6位時間碼。

但是,上週的安全事件,恰恰就是 TOTP 時間碼被攻破了。下面就來說說,這是怎麼發生的。

事情的起因是,Twilio 和 Cloudflare 的員工,在下班後或者休息日收到了一條手機簡訊。下面就是兩家公司公佈的簡訊截圖。

大意是,公司日程有調整或者你的登入資訊過期了,請點選連結,到後臺檢視。它給出了一個公司名稱加"sso"或者"okta"這樣的釣魚域名,警惕性不高的員工就會點選。

讀者可能會問,攻擊者如何得知員工的手機號碼。這在美國不是難事,LinkedIn 網站上就往往可以查到。

員工點選連結以後,就會進入釣魚網站(下圖),跟真正的登陸頁一模一樣。只要填入使用者名稱和密碼,它們就立刻洩漏,指令碼自動把它們傳送到伺服器。

但是,這兩家公司都開通了"雙因素認證",光有密碼還進不去後臺,所以釣魚網站會把你引導到 TOTP 時間碼的頁面。

這時,只要你輸入了時間碼,它就自動傳送給攻擊者。由於時間碼的有效期只有30秒,這次攻擊最絕的地方在於,攻擊者是實時攻擊,只要一拿到時間碼,就立刻在真正的登入頁輸入,從而進入後臺。

可以這樣說,大部分公司的雙因素認證,都會被這種方式攻破。但是,Cloudflare 這一次沒有被攻破,原因是他們的後臺沒有采用時間碼,而是採用了物理金鑰(下圖)。只有把物理金鑰插入計算機,才能登陸後臺。攻擊者拿不到物理金鑰,自然就無法攻破。

所以,這個事件的教訓就是,目前最安全的認證方法應該是密碼 + 物理金鑰。事實上,從很早以前,銀行就給客戶發物理金鑰,進行大額轉賬。如果你有條件,可以考慮使用,很多大網站都已經支援物理密碼,比如 GitHub(下圖)。

問題在於,物理金鑰的價格較高,便宜的也要一兩百元人民幣,普通使用者不可能購買。好在 Web Authentication 技術正在推廣,它允許把手機當作物理金鑰,或者網站可以呼叫本機的指紋識別(或人臉識別)進行認證。

對於大多數人來說,目前階段如果沒有物理金鑰,保護賬戶安全的最佳實踐無非就是這麼幾點:堅持使用雙因素認證,不同網站使用不同密碼,不在可疑網址輸入密碼。

微服務框架 CloudWeGo

大家知道嗎,位元組系應用的後臺框架是開源的。去年9月,位元組開源了微服務框架 CloudWeGo,包含了主要的一些自研工具,用來搭建企業級雲原生微服務。

這個框架現在支援了10萬+的位元組內部微服務,以及1000萬的容器例項。而且,開源框架跟內部使用的是同一套程式碼,統一迭代,在 GitHub 得到了9000+顆星。

開源一週年之際,CloudWeGo 團隊將在位元組跳動技術沙龍,分享位元組的後臺架構(比如飛書的架構),以及如何快速搭建企業級微服務。

時間是8月27日(下週六)下午2點,採用線上直播形式。感興趣的同學,點選這裡或者掃描二維碼,瞭解活動詳情並報名。會務組還準備了海量福利,給大家抽獎。

科技動態

1、手術機器人

美國機器人公司 Intuitive Surgical 推出的手術機器人,已經進入了美國所有頂級醫院。

這種機器人有四條機器手臂,合作完成一臺手術:有的手臂用來切開傷口和縫合,有的用來體內操作,還有一條專門用作攝像頭。

當它進行手術時,實習醫生就坐在一旁當觀眾,看著它完成手術。

2、手機保管盒

很多人覺得,手機的出現使得大家越來越難集中注意力。於是,市場上就誕生了手機保管箱、手機定時盒、手機定時鎖這樣的產品。

它們被稱為"自律神器",手機放在裡面,設好定時,就無法取出了,只有時間到了,才能取出。

有人認為,這種產品只是心理安慰,如果做不到自律,它不會有太大幫助。但是,另一些使用者認為,確實有助於克服手機上癮。

3、人造角膜

大約5%的盲人因為角膜疾病而喪失視力,只要角膜移植就可以恢復視力。但是,角膜只有遺體捐贈才能獲得,從而使得很多盲人無法做角膜手術。

最近,瑞典林雪平大學發表論文,他們從豬皮提取了膠原蛋白,製造了人造角膜,已經在印度和伊朗植入了20名盲人。

24個月後評估,14個人恢復了視力,剩下6個人從嚴重視力障礙轉變為中度或輕度視力障礙。

研究團隊的下一個目標,是得到歐洲和美國的批准,在那裡進行100人的臨床試驗。如果人造角膜最終成功,對很多失明者將是極大的好訊息。

4、集中供冷

北方有集中供暖,廣州的珠江新城正在嘗試集中供冷。每戶人家不用裝空調,小區的供冷中心統一提供冷氣。

這樣不僅節省能源,而且還可以降低供冷費用。它採用冰蓄冷,夜間用電低谷期進行蓄電製冰,相當於儲能;白天的用電高峰期,再把夜間製成的冰塊轉化為冷凍水輸送進管道,向使用者輸送冷量。

但是,它要佔用一塊麵積不小的土地,在大都市會有高昂的土地費用,導致供冷價格實際上並不低,這是推廣的最大難點。

5、沙子電池

芬蘭建造了世界第一個商業化的沙基熱能儲存系統,俗稱"沙子電池",使用加熱的沙子儲存能量。

它是一個 4 × 7 米的鋼筒,裡面放了數百噸沙子,平時不用的時候,可以加熱到 500-600 攝氏度的溫度,並保持不變。

等到當地開始供熱,這些沙子就用來提供熱量。據說這個筒儲存的能量,相當於8000度電的加熱效果。它的最大優點就是便宜,成本低廉,而且容易製造。

文章

1、無人駕駛安全員的一天(中文)

去年,百度獲得許可,在首鋼園開始運營無人駕駛計程車。每輛車配備一個安全員,坐在駕駛位或副駕駛位,監督車輛行駛。

本文是對一位安全員的採訪,他整天坐在車上,看著車自動開是什麼感受。有一段很有趣,他說坐慣了無人駕駛以後,回到自己車上,就很難適應了。這篇是節選的中文翻譯,內容很少,可以參考英文原版

2、中國的木拱橋(中文)

中國古代除了石拱橋,還有木拱橋,也就是用木頭做的拱橋。前不久燒燬的福建萬安橋,就是一座木拱橋。

3、靈隱寺"智慧寺院管理系統"(中文)

杭州靈隱寺"智慧寺院管理系統"近期正式上線,網上流傳一張照片,一位僧人正在講解該系統。

4、Bun:Node.js 的替代品(英文)

Bun 是 Zig 語言寫的 JavaScript 伺服器執行環境,目標是相容 Node.js,並且將打包器、轉碼器、包管理都包含在內。本文是對它的測評,最終評價很不錯。

5、停止在程式碼註釋中使用 TODO(英文)

很多程式設計師習慣在程式碼註釋寫 TODO,表示待完成的任務。作者建議不要再寫 TODO,而用具體的任務替代,比如需要新增文件寫"DOCME",需要新增測試寫"TESTME"。

6、小米 12s Ultra 與 iPhone 13 Pro Max 的攝像頭對比(英文)

小米最新發布的 12s Ultra 手機,有著1英寸感測器,比 iPhone 13 Pro Max 大了許多。XDA 論壇對兩者的拍照和影片能力,進行了對比。

7、OpenSSL 與 OpenSSH 的區別(中文)

OpenSSL 與 OpenSSH 都是開源軟體,它們的區別是:前者是 C 語言函式庫,實現了 SSL 加密協議;後者是加密 Shell 的開源實現,提供了加密登入的客戶端和服務端,它依賴於 OpenSSL。

8、使用人工智慧解釋程式碼(英文)

作者將程式碼提交給人工智慧模型 GPT-3,讓模型說出這段程式碼是什麼意思,結果令人震驚。

工具

1、Maccy

一個 MacOS 系統的開源軟體,可以儲存系統剪貼版的歷史,檢視每一次複製貼上的內容。

2、Nude UI

著名前端開發者 Lea Verou 做的 Web Component 元件庫,目前只有五六個表單元件,都是輕量級元件,非常易用,效果不錯。

3、卡通貓生成器

一個網頁小工具,可以生成卡通貓圖片,貓的每個部分都可以定製。

4、Glances

一個 Python 寫的系統監控工具,最大特點就是跨平臺,Linux/Windows/Mac 都能用。

5、XLite

這個工具可以將 Excel 表格檔案匯入 SQLite,使用 SQL 進行查詢。

6、Jina

一個基於 Python 的框架,用於構建神經搜尋系統,針對影像、音訊、影片等進行搜尋,比如口紅搜尋(尋找適合某張人臉照片的口紅)。(@Guanngxu 投稿)

7、ITraffic-monitor-for-mac

實時顯示 MacOS 每個程式的網路速率,適配明暗兩個主題。(@foamzou 投稿)

8、diskusage

一個顯示磁碟佔用情況的命令列工具。雖然 Linux 已經有了 ncdu,但是這個工具是用 Go 寫的,可以跨平臺(Linux、Mac & Windows)。(@chenquan 投稿)

9、GitJournal

一個手機的筆記 App,支援用 Markdown 做筆記,推送到遠端 Git 倉庫。它的安卓 App 是免費的,iOS App 是收費的。

10、Unpaywall

一個瀏覽器外掛,在各種論文資料庫的頁面上,新增下載按鈕。週刊此前介紹過同類外掛,這個看上去更正規一些。

另有一個論文資料庫 OA.mg,用來查詢論文。

活動

1、掘金會員

稀土掘金社群一直是國內非常受歡迎的技術社群,背後有位元組的支援,網站上有大量學習資源,尤其是前端內容。

最近,他們整合了資源,推出了"掘金會員",加入就能解鎖90%的課程和小冊,享受簡歷最佳化和麵試指導,還有專屬的會員群和客服。

現在有優惠活動,限時五折就能加入,愛學習的同學可以考慮,充分使用掘金社群,提升自己的競爭力。已經參加預購的同學,別忘了補款。

資源

1、透過構建部落格生成器學習 Haskell

一本免費閱讀的 Haskell 英文教程,從零教起,對初學者很友好。

2、oPhysics

這個網站收集可以網頁互動的物理學演示,有幾十個作品。實時調節引數,就能看到結果。(@meq1986 投稿)

3、treevis.net

這個網站收集了300種資料視覺化案例,可以當作自己選擇視覺化形式時的靈感。

4、Unix 視窗管理器清單

這個網站收集近200種 Unix/Linux 系統的視窗管理器。如果你不喜歡桌面環境自帶的視窗管理器,可以換一個。

5、理解量子技術(Understanding Quantum Technologies,2021版)

一本免費的英文電子書,向初學者介紹量子計算各方面的基礎知識,帶有彩色插圖,厚達800多頁。

圖片

1、飢餓石

今年夏天,歐洲發生了極端高溫,很多河道都水位大降。

流經德國和捷克的易北河,水位下降以後,露出了河底的"飢餓石"。

所謂"飢餓石",就是15世紀到19世紀發生乾旱時,當時的人們在這些石頭上刻了字,提醒後人,如果再看到這些石頭露出水面,就意味著會發生飢餓。

2、畫素動物

一個日本藝術家貼出了,他繪製的大量畫素動物,非常有趣。

3、松鼠散熱

遊客最近在紐約公園裡面,拍到松鼠貼著地面趴著的照片。

公園解釋,這並不是松鼠失常或受傷,而是紐約天氣太熱,松鼠在樹蔭下的地面上伸展身體,擴大表面積,有利於散熱。

紐約托馬斯街33號

原文網址:theintercept.com

上個世紀60年代,美國國家安全域性決定在紐約市中心建造一座能夠承受原子彈爆炸的摩天大樓。

這座樓高達170米,有29層和三層地下室,但沒有一扇窗戶。如果發生災難,它儲存的食物足夠1500人維持兩週。

它的主要目的,並不是在核戰爭中保護人類免受核輻射,而是保護計算機和通訊系統在核爆後還能正常工作。

建成後,它成了美國最重要的電信樞紐之一,也是世界上最大的長途電話處理中心,現在交給 AT&T 的子公司紐約電話公司運營,至少表面上如此。它的內部情況和運營細節從來沒有曝光過。

它在1969年開工建設,1974年竣工,位於曼哈頓下城的心臟地帶,地址是托馬斯街33號。

它是一座巨大的灰色混凝土塔,沒有窗戶,也沒有外部的燈光照明。到了晚上,就變成一個巨大的黑影,只有碩大的方形通風口發出獨特而沉悶的嗡嗡聲。

上圖中間不亮燈的大樓,就是托馬斯街33號。

除了通風口,大樓唯一的口子就是底層的出入口。這就是外界知道的關於這棟樓的一切。

言論

1、

一個好的領導(或者產品經理),應該具備五項技能:SQL、Excel、簡潔寫作、講故事、區分優先順序。

-- 《前5位的產品和管理技能》

2、

SSR(服務端渲染)是一個新名詞,但是30年前,人們就在服務端使用 PHP 進行"SSR"了,並且積累了這方面的很多知識。

可是 PHP 的這種做法不再時髦了,哪怕它跟現在的做法並沒有本質區別,主要原因大概是它不是在最近36個月內發明的。

-- Hacker News 讀者

3、

Arch Linux 的優點和缺點都是它的滾動更新機制。一方面,你總是能讓系統保持最新版本,另一方面,你無法輕易地讓某個軟體保持特定版本,所以不適合用作生產環境伺服器。

--《Arch Linux 為何存在》

4、

如果你是一個工程師,那麼在成為資深工程師之前,永遠不要擔任管理職務。

-- 《工程師/經理的鐘擺焦慮》

5、

Windows 95 安裝檔案的體積是 19 MB,到了現在,一張網頁可能就不止這個大小。

-- 《不同的 Windows 體積有多大?》

歷史上的本週

2021年(第 171 期):雲服務流量有多貴?

2020年(第 120 期):只有開放才能打敗封鎖

2019年(第 69 期):做得好 vs 做得快

2018年(第 18 期):無人機攻擊,難以防範

鳴謝

國產軟體 FlowUs 提供個人專欄服務(檢視週刊專欄),整合了"文件+表格+網盤",適合知識庫、資料管理、檔案儲存多種用途。

(完)

相關文章