跟隨

開一串來筆記一下對於Mastadon資訊安全的了解。我還沒有深入研究Mastodon及ActivityPub,以下都是基於粗淺了解的想法,很可能有謬誤的地方。

首先,Mastodon的核心概念以及強項是去中心化,而不是資訊安全。任何人只要有一些資訊能力以及一些預算,都可以自己架設站點。沒有任何公司、國家可以完整的下架或控制Mastodon。比方說Twitter可以封禁川普,但如果川普選擇請人自架Mastodon的話是很難被封禁的。

然而,Mastodon單純在資訊安全方面我認為是不如Twitter、Facebook等由大公司營運的中心化群網站。這可以分成幾點討論
1. 系統安全
2. 資料安全(站點及管理者可獲取的資料權限)
3. (點對點)加密
4. 敏感內容過濾(嚴格上不算資訊安全)

此外應該還有很多方面可以討論...

1. 系統安全

Mastodon是由許多志願者架設站點所組成的聯邦。許多站點可能都是由數個或一個志願者維護。這些志願者可能有優秀的資訊安全長才(也可能沒有)。但簡單來說,數個志願者對於系統安全的關注很難與FB或Twitter可以砸上百個(或更多)SWE/SRE人員去盯安全及營運匹敵,盯好從作業系統, web server, 各種components的漏洞以及zero day attack

這個可以落落長的討論,但我先在此打住。然而,這個問題會被下一個問題(資料安全)所放大

2. 資料安全

當你試著用Mastodon傳私訊時一定看過「Mastodon 上的嘟文並未端到端加密。請不要透過 Mastodon 分享任何敏感資訊。」的警告訊息

當alice@a.party傳訊給bob@b.party時,訊息是以明碼送到a.party,再轉到b.party,然後bob可以在b.party的站點看到

這表是除了alice以及bob以外a.party以及b.party的管理者都有看的到這則訊息(尤其是直接查詢資料庫時)。如果有任何駭客取得的a.party或b.party的權限他們有看得到。

這個安全模型坦白說比Twitter, Facebook或大多數的即時通訊軟體脆弱的多。在Mastodon上就算發私訊或「限追蹤者」嘟,我大概還是會假設全世界都有可能會看到。

忘了先講,這些嘟的用意不是反對Mastodon或說他不好,而是試著做合理的安全分析。

我的理解很有限,甚至還沒花時間深入研究ActivityPub,如果有錯請指教。

3. (點對點)加密

那麼,有沒有可能以Mastodon為基礎強化私訊的安全性呢?

我稍微搜尋了一下,看到了幾個嘗試

github.com/soatok/mastodon-e2e

感覺是往對的方向發展 -- 在用戶端進行加解密。然而,這些設計有多少可以套用/相容到ActivityPub目前還不明朗。如果ActivityPub相容的其他軟體無法讀取,我不確定從Mastodon開始改善是否真的優於從頭設計一個系統。

github.com/mastodon/mastodon/p

前篇直接說這篇是往錯誤的方向發展 -- 在伺服器加解密。我完全同意這看起來沒有解決任何威脅模型

(這個可以討論更多,分到下一則)

真的要做嚴格的點對點加密(除了收發人,不管是管理員或營運公司都無法解密),易用性以及安全性絕對是一個tradeoff

用戶需要妥善管理自己的私鑰(不管用什麼形式),比方說如果私鑰不見,資料不管如何也無法回覆。

或許有更聰明的設計可以降低這個問題,但基本上仍然會回到信任模型以及複雜的系統設計挑戰

4. 敏感內容過濾

有別於Facebook, Twitter等中心化社群網站,Mastodon基本上把內容過濾(色情、暴力、兒童色情等)全權交給了站點管理員。基本上這更增添了敏感內容過濾的複雜度。

看起來使用機器學習幫助內容過濾是很合理的作法,但我還沒有仔細研究Mastodon目前慣用的實作(乍看之下好像純靠管理員?)

如果要加上點對點加密,情境就更困難了 -- 唯一抵抗惡意的防線剩下在用戶端的機器學習。

@mrbigcat 所以現在有一片新田(而且它的開放性本來就比 Twitter 低——不是誰都會用,不是誰都能申請任何一個服務器等等),從一開始就要系統化地考慮「敏感內容過濾」了,這是目前人們普遍的期待嗎?

@lawrencelry 我不確定大家對Mastodon有沒有「普遍期待」,尤其是在Twitter逃難人群大量湧入的時候,很多人大概是不熟系統就來了。

我覺得「開放性本來就比 Twitter 低」應該不是Mastodon的設計意圖而是實作限制就是了

@mrbigcat 很豐富,也幫助我這個剛進Mastodon的用戶對於Mastodon 有更深一層的認識。

@sunmoonstars @mrbigcat

嚴格加密就像是要進入 web3 了吧,可以利用區塊鏈錢包的助記詞作為個人私鑰,進而註冊成為任一實體的會員,就像是現在 matters.news 在做的事情一樣。

也許最近的加密貨幣風波會讓更多人瞭解如何正確地保管這串堪比生命還重要的十幾個單字,後續也讓許多服務提供者接受以私鑰註冊帳號。

不過何謂「正確地」保管私鑰,我覺得可以寫一大篇論文了….

或是乾脆就引用指紋解鎖或是面容解鎖等生物特徵。

@abf09172

助記詞與私鑰:是的,對點對加密需要非對稱金鑰。我們可以想出一些簡單的設計:使用註記詞產生金鑰,或系統自動產生金鑰但允許使用者自行備份。這些技術遠早於區塊鏈存在(雖然使用註記詞為種子應該是隨區塊鏈而普及)

指紋解鎖或是面容解鎖:使用生物特徵解鎖一直不是精確的方法,需要有一定程度的容錯率。比方說,你無法把一個人的臉部特徵穩定地對應到一個256 bits的hash value並滿足不可逆性。這使得生物特徵可以作為本機解鎖的手段之一,但無法獨立成為保管(確保安全性+降低丟絲可能性)方法。

@sunmoonstars 這是一個工程師在沒有仔細研究Mastodon時粗略的筆記和理解,被轉嘟那麼多次有點驚慌 XD

不要盲目相信我說的都是對的啊啊啊 XD

登入以加入討論
g0v.social

去中心化社群架設的去中心化社群網站。宇宙小酒館