Tag Archives: 網絡安全

淺談各種聊天應用軟件

淺談各種聊天應用軟件
文:薯伯伯

近日遷離 WhatsApp 的移民潮已成,勢不可擋,可喜可賀 🎉

我分享一下手機聊天應用的使用場景,希望對大家適應新環境會有幫助。

我的手機目前有以下聊天軟件:

一,Signal:

最主要的聊天應用,只對朋友開放。已經 99.9% 取代了我以前在 WhatsApp 的使用場。有些群眾平均年齡達 50 歲左右的長輩群組,都成功轉至 Signal。這一點確是很有阻力,但努力一點便成功。(其中一個努力的方法,是一定要退出陳舊的 WhatsApp 小組,不要抱著不設實際的甚麼「重要事情才去 Signal 聊」這種想法,其實甚麼事情也應該改去 Signal 聊。)

二,Telegram:

大多情況只用作公海,類似公眾討論區,因為可以隱藏電話及更改用戶名字。不過 Telegram 的討論區沒有提供點對點加密,這點在公眾討論小組,問題其實不大,因為別人不用有特殊破解技術,只需直接加入小組,已能看到討論內容,即使內容沒有加密,也非太大考慮。更應考慮的是要提醒用戶,小組是公眾可進,就像在巴士上不應大聲說話,小心言行。

但私人的聊天情況,如果介意對方看到電話號碼,才用 Telegram。如果不介意對方知道我的電話號碼,就用 Signal,但要強調一點,Signal 不適合做公海。

三,WhatsApp:

如果對方完全沒有 Signal,完全沒有 Telegram,卻只有 WhatsApp,否則要用直線電話或 SMS 聯絡,基於「有加密總比沒有好」的原則,在此情況下用這個過時兼侵犯私隱的軟件作為節衷,也未嘗不可。

但我目前留在 WhatsApp 的其中一個主要原因,是幫其他還未轉用的朋友轉場,自己的 status 已改為:「我仍在使用WhatsApp,因為想叫你轉用Signal。」而頭像亦改為 Signal 的標誌。

另外有些人問為何會離開 WhatsApp 生態圈、改用 MeWe,卻又沒有完全離開 Facebook。不同人有不同原因,我的原因是,我本身已完全停止更新 Facebook 的個人檔案(profile),但保留 Facebook Page,純粹作為訊息傳播之用。而且有甚麼地方是最適合提醒用家注意 Facebook 的霸王私隱政策?沒錯,就是在 Facebook。正如你在 Signal 上叫人用 Signal,其實是無謂的,因為對方已經轉用 Signal 了。你在 WhatsApp 上叫人轉用 Signal 或離開 WhatsApp,才有實質意義。

有些人又問如果把 WhatsApp 及 Facebook 的登記改為不同的電話號碼,能否防止兩者之間互換用家數據,侵犯用家私隱。我自己其實正是這樣做,即 WhatsApp 及 Facebook 使用不同的電話號碼,但 Facebook 似乎仍然能取得我的一些用戶數據。

最簡單是完全停用 WhatsApp,轉用 Signal,一了百了。

四,其他聊天應用:

微信: 🥶🥶🥶

是的,我在一部廢而不用的手機上,仍然裝有微信,因為有些朋友仍然使用微信(主要是西藏),所以間中仍然會開微信看看有甚麼最新消息。不過微信是安裝在一部廢機上,所有私隱權限都放到最低,這部手機與主要手機儘量沒有關連。

Line:

這個軟件其實同樣侵犯不少私隱,廣告多,可免則免,但有時跟台灣朋友聊天也是必須要用。不過因為使用頻率低,已暫時刪除。如果開關後再去台灣旅行,也會考慮重新安裝。

Wickr、Wire、Threema 等

也是小眾談論的加密聊天軟件,各有各好亦各有各壞,例如有一些可以隱藏電話號碼,但卻沒有二步認證(我覺得 2FA 比起隱藏電話更重要)。不過使用聊天軟件,極度關鍵的考慮是其採用率(adoption rate),如果 Signal 已經取得明顯的優勢(極度超越的 adoption rate,完勝!),那就用 Signal。

而且在推介任何軟件的時候,推介一個叫推介,推介十個就是擾亂。我是 2014 年開始用 Signal,但一直到 2019 年才算是較多核心小組轉至 Signal,既然 Signal 在加密及保安上已達至我滿意的程度,那我目前就叫大家用 Signal,不會打算推動用家轉用其他聊天軟件。

如果你當是小眾測試當時沒有問題,但肯定不會今天叫人移民 Signal,明天叫人移至 Wire 或 Wickr 軟件,否則大家過度疲累,很可能最終只願停留在舒適區,不作任何改進。

推介 Signal 的原因,在其團隊背景、運作方式、技術應用以及公眾採用率等等,很多人在談論時忽略了最後這一點。

https://www.patreon.com/posts/46148281

iPhone 手機的密碼應該要長,但要多長?

iPhone 手機的密碼應該要長,但要多長?
文:薯伯伯

這篇文章只談 iPhone 手機的密碼,至於 Android 手機,情況雖然有異,但大方向還是接近。

iPhone 手機的密碼應該要長,但要多長?先說答案,起碼十一個位。

iPhone 手機的密碼,可以用數字或數字加密碼,理論上用數字加密碼會比較安全,但輸入起來較為麻煩。不過如果單用數字密碼,其實也有一個方法增加其強度,就是加得越長越好,輸入十一個位或以上,最為合適。

要解釋為何必須設置 *起碼十一個位* 的數字密碼,必先解釋一下 iPhone 的解鎖機制。iPhone 解鎖時不是只靠輸入密碼,而是必須糾纏(entangle)機身 UID(Unique ID)才能解鎖。這個 UID 嶔入於硬件之中,所以如果有賊人想破解手機,必須於該手機的硬件上進行密碼破解。

每次嘗試驗證密碼,需要的時間,根據蘋果公司在 2020 年春季發佈的官方數字:解鎖的時間是 0.08 秒,也就是一秒鐘最多可以試 12.5 組密碼。

那麼我們可以做個簡單的計算,先假設一點,賊人能夠無限次輸入密碼,而輸入密碼之間沒有時間限制,那麼使用蠻力(brute force)去破解數字密碼,需要多少時間?

計算一下:

六位數字密碼,從 000000 – 999999,合共有 1,000,000 個組合,每秒可以測試 12.5 組密碼,一百萬組密碼需時 80000 秒,即 22.2 小時。所以破解六位數字密碼,如果不限次數去試,不需一天!(計算:1000000/12.5/60/60=22.22小時)

我們又看一看,不同的密碼長度,蠻力破解之所需時間。

四位數字:0000 – 9999,合共 10,000 個組合,蠻力破解時間 800 秒!

五位數字:00000 – 99999,合共 100,000 個組合,蠻力破解時間 2.22 小時

六位數字:000000 – 999999,合共 1,000,000 個組合,蠻力破解時間 22.22 小時

七位數字:0000000 – 9999999,合共有 10,000,000 個組合,蠻力破解時間 222 小時,9.3 天

看到嗎?當你增加一個位的數字密碼,破解的時間就幾何級數上升。

那麼我們再試試其他密碼長度:

八位數字:00000000 – 99999999,合共有 100000000 個組合,蠻力破解時間 3 個月

九位數字:000000000 – 999999999,合共有 1000000000 個組合,蠻力破解時間 2.6 年

十位數字:0000000000 – 9999999999,合共有 10000000000 個組合,蠻力破解時間 25.4 年

十一位數字:00000000000 – 99999999999,合共有 100000000000 個組合,蠻力破解時間 253 年 *

密碼長度 11 個位,破解時間為 253 年。

還嫌不夠長嗎?

那麼看看增加兩個位,需要的時間一下子變成:

十二位數字:000000000000 – 999999999999,合共有 1000000000000 個組合,蠻力破解時間 2536 年

十三位數字:0000000000000 – 9999999999999,合共有 10000000000000 個組合,蠻力破解時間 2536 世紀

當然,以上的假設,是數字碼密是隨機選取,而賊人可以無限次嘗試密碼,中間又沒有延時。

不過如果你有 Touch ID 或 Face ID,就算密碼再長,只要綁匪能強逼你開機,大概也難以拒絕。

Android 手機的情況雖然有差別,但長位數的密碼,始終是王道。

設置的方法:

在密碼設置裡選擇「自訂數字密碼」,便能使用任意長度的密碼。

這篇文章就只有兩個重點,讀完文章只用做兩點就夠:

👉 一,停用 Touch ID 或 Face ID。

👉 二,開機密碼應該起碼要有 11 個位。

Photo: Pixabay

參考文件:https://support.apple.com/en-hk/guide/security/sec20230a10d/1/web/1

https://www.patreon.com/posts/46188614

再次給大家一個理由,應避免安裝 Facebook 程式

再次給大家一個理由,應避免安裝 Facebook 程式
文:薯伯伯

最近蘋果電腦公司更新系統(iOS 14.3),其中一個最重要的更新功能,是要求程式開發商,必須披露該 app 向用家獲取甚麼個人資訊,包括涉及私隱的資料,一清二楚,無所遁形,很多 app 取得的資料,你已經不用看內容,單看其列出的長度,就已經令人極其不安。

一般的 app,通常需要的拿取的資料,如果是與你有關,大概就是電郵地址、機身編號或身份識別碼等,但 Facebook 的程式隱私權要求,長得嚇死人。我截了一個圖給大家看,截圖日期是 2020 年 12 月 17 日,軟件版本為 300.0,美國版 App Store。由於截圖長到嚇死人,所以提供一個 PDF 檔案 (請看附件,相關的文字翻譯,會附在文末)。

所以我在這裡呼籲各位用家,如果要在手機裡使用 Facebook,應該儘量避免安裝 Facebook 的 app,建議使用手機的瀏覽器去觀看 Facebook,我尤其推介 Firefox 瀏覽器。

iPhone 上的 Firefox 雖然內核也是採用 Safari,但在界面及使用體驗上,遠勝 Safari,而且不知為何,對 Facebook 網站會相對較為兼容。

iPhone: https://apps.apple.com/app/firefox-private-safe-browser/id989804926

Android: https://play.google.com/store/apps/details?id=org.mozilla.firefox

Facebook 的相關連結:

Facebook 主畫面: https://m.facebook.com/home.php

Facebook Messenger: https://m.facebook.com/messages/?entrypoint=jewel&no_hist=1 (如果瀏覽有問題,嘗試用手機版的 Firefox 打開)

如果你本身要管理 Facebook 專頁,不必使用 Facebook 那個不太 creative 的 Creative Studio,改用 Firefox 到以下網址: https://m.facebook.com/[用戶名字]/posts/?__nodl&_rdr ,例如 https://m.facebook.com/pazukong/posts/?__nodl&_rdr

用瀏覽器去瀏覽 Facebook 網站,跟 app 其實大同小異,但 Facebook 取得你私隱資料會大大減少。要留意的是,使用網頁版的 Facebook,看 Live 可能受到影響。

除了 Facebook app 外,Instagram 也可以用 Firefox 去看,直接打開 https://www.instagram.com/ 即可,極少量功能不支援,例如在信箱裡有時打不開照片,但影響不大。

好了,說回這篇文章的引發點,大家可以看看,到底 Facebook 這家公司,說服你在手機裡安裝了 app 之後,會使用你多少的資料。你不禁要問,我真的想告訴他們那麼多?

如下文字,使用 Google 翻譯,不分行或做排版了,排來也覺浪費時間:

應用隱私

開發者Facebook,Inc.指出,該應用程序的隱私慣例可能包括如下所述的數據處理。此信息尚未由Apple驗證。有關更多信息,請參見開發人員的隱私政策。

為了幫助您更好地了解開發人員的響應,請參閱隱私權定義和示例。

隱私慣例可能會有所不同,例如,取決於您使用的功能或您的年齡。學到更多

用於跟踪您的數據

以下數據可用於跨其他公司擁有的應用和網站跟踪您:

第三方廣告聯繫信息

實際地址電子郵件地址名稱

電話號碼

標識符用戶ID

設備編號

其他資料

其他數據類型

開發者的廣告或營銷聯繫信息

實際地址電子郵件地址名稱

電話號碼

標識符用戶ID

設備編號

其他資料

其他數據類型

產品個性化聯繫方式

實際地址電子郵件地址名稱

電話號碼

標識符用戶ID

設備編號

其他資料

其他數據類型

其他目的

聯絡資料

實際地址

電郵地址名稱

電話號碼

標識符用戶ID

設備編號

其他資料

其他數據類型

數據鏈接到您

可能收集並鏈接到您的身份的以下數據可用於以下目的:

第三方廣告

採購

購買記錄

財務信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

聯絡人

聯絡人

用戶內容

照片或視頻遊戲內容其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

開發商的廣告或營銷£購買

購買記錄

財務信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

聯絡人

聯絡人

用戶內容

照片或視頻遊戲內容其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

分析工具

健康與健身

健康與健身

採購

購買記錄

財務信息

付款信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

聯絡人

聯絡人

用戶內容

照片或視頻音頻數據遊戲性內容客戶支持其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

敏感信息

敏感信息

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

產品個性化£購買

購買記錄

財務信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

聯絡人

聯絡人

用戶內容

照片或視頻遊戲內容其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

敏感信息

敏感信息

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

應用功能健康與健身

健康與健身

採購

購買記錄

財務信息

付款信息信用信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

聯絡人

聯絡人

用戶內容

電子郵件或短信照片或視頻

音頻數據

遊戲內容客戶支持

其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

敏感信息

敏感信息

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

其他用途£購買

購買記錄

財務信息

其他財務信息

位置

精確位置粗略位置

聯絡資料

實際地址

電子郵件地址

名稱

電話號碼

其他用戶聯繫信息

(X)聯絡人

聯絡人

用戶內容

照片或視頻遊戲內容客戶支持其他用戶內容

搜索歷史記錄

搜索歷史記錄

瀏覽記錄

瀏覽記錄

標識符用戶ID

設備編號

使用數據

產品互動廣告數據其他使用情況數據

診斷程序

崩潰數據性能數據其他診斷數據

其他資料

其他數據類型

以下為英文原文,一堆文字出,不加排版分段了,反正怎樣看,也覺累人。

App Privacy

The developer, Facebook, Inc., indicated that the app’s privacy practices may include handling of data as described below. This information has not been verified by Apple. For more information, see the developer’s privacy policy.

To help you better understand the developer’s responses, see Privacy Definitions and Examples.

Privacy practices may vary, for example, based on the features you use or your age. Learn More

Data Used to Track You

The following data may be used to track you across apps and websites owned by other companies:

Third-Party Advertising Contact Info

Physical Address Email Address Name

Phone Number

Identifiers User ID

Device ID

Other Data

Other Data Types

Developer’s Advertising or Marketing Contact Info

Physical Address Email Address Name

Phone Number

Identifiers User ID

Device ID

Other Data

Other Data Types

Product Personalization Contact Info

Physical Address Email Address Name

Phone Number

Identifiers User ID

Device ID

Other Data

Other Data Types

Other Purposes

Contact Info

Physical Address

Email Address Name

Phone Number

Identifiers User ID

Device ID

Other Data

Other Data Types

Data Linked to You

The following data, which may be collected and linked to your identity, may be used for the following purposes:

Third-Party Advertising

Purchases

Purchase History

Financial Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

Contacts

Contacts

User Content

Photos or Videos Gameplay Content Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

Developer’s Advertising or Marketing £ Purchases

Purchase History

Financial Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

Contacts

Contacts

User Content

Photos or Videos Gameplay Content Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

Analytics

Health & Fitness

Health Fitness

Purchases

Purchase History

Financial Info

Payment Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

Contacts

Contacts

User Content

Photos or Videos Audio Data Gameplay Content Customer Support Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Sensitive Info

Sensitive Info

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

Product Personalization £ Purchases

Purchase History

Financial Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

Contacts

Contacts

User Content

Photos or Videos Gameplay Content Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Sensitive Info

Sensitive Info

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

App Functionality Health & Fitness

Health Fitness

Purchases

Purchase History

Financial Info

Payment Info Credit Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

Contacts

Contacts

User Content

Emails or Text Messages Photos or Videos

Audio Data

Gameplay Content Customer Support

Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Sensitive Info

Sensitive Info

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

Other Purposes £ Purchases

Purchase History

Financial Info

Other Financial Info

Location

Precise Location Coarse Location

Contact Info

Physical Address

Email Address

Name

Phone Number

Other User Contact Info

(X) Contacts

Contacts

User Content

Photos or Videos Gameplay Content Customer Support Other User Content

Search History

Search History

Browsing History

Browsing History

Identifiers User ID

Device ID

Usage Data

Product Interaction Advertising Data Other Usage Data

Diagnostics

Crash Data Performance Data Other Diagnostic Data

Other Data

Other Data Types

看到這裡,大家不如問問自己,是否真的有必要向一家公司提供這一大抽的私隱數據?

https://www.patreon.com/posts/45139168

Facebook 騙局 —— Is it you in the video?

Facebook 騙局 —— Is it you in the video?
文:薯伯伯

號稱演算法及人工篩選機制都很厲害的 Facebook,卻對無日無之的詐騙總是束手無策,令人費解。評語區裡充斥著一大堆 WhatsApp 炒股群組邀請,不論如何封鎖,卻老是常出現。

近日香港不少用戶,還會經常收到朋友發來的釣魚私訊,寫著一句:「Is it you in the video?」點擊後會打開一個仿冒的 Facebook 頁面,叫你輸入電郵及密碼,帳號登入資料就此被盜,之後再用你的戶口把同一訊息發放給其他人,別人中招,又再傳播開去。

如果你收到類似訊息(Is it you in the video?),請立即建議朋友做以下四件事:

一,提醒對方馬上更換帳號密碼,如果不能登入戶口,就使用重設密碼的功能。

二,開啟二步認證(2FA,2-factor authentication),這是極為基本的保安措施。在 Facebook 設置二步認證的方法在這裡:https://www.facebook.com/security/2fac/settings ,我本身不是太建議用香港手機號碼做二步認證,但時間緊迫,情況特殊,這裡就建議受害者先用自己常用的手機號碼做二步認證。

三,考慮到中招的人,很大機會是在不同的網絡服務也用上同一密碼,所以要馬上重設其他帳號的密碼,以免受到連坐式入侵,尤其 Google Gmail、Twitter、Instagram 的密碼,並要開啟二步認證。(通常選擇在設定 – 保安 – 密碼,就能看到二步認證的設定。

四,通知身邊朋友不要打開該連結,叫他們小心電腦保安,不要隨便打開任何連結。

有關二步認證的詳細介紹:https://www.patreon.com/posts/38049149

另外長遠而言,建議要習慣使用密碼管理器: https://www.patreon.com/posts/38002570

切勿以為資訊保安與己無關,你之所以收到類似釣魚詐騙訊息,是因為其他人沒有注意好自身的保安。好好掌握資訊保安,讓自己成為詐騙手段的終結者。

(注:此帖文為公開文章,連結為 https://www.patreon.com/posts/45091766/ ,歡迎轉發此連結給親友參考。)

無字天書

無字天書
文:薯伯伯

中國北京市人大常委會在 2020 年 9 月通過《北京市突發公共衛生事件應急條例》,聲稱個人有權向監察機關舉報遲報、謊報、瞞報、漏報的突發公共衛生事件等,並強調是「對非惡意的不實報告不予追究責任」,要保護吹哨人,被中國網民稱之為「李文亮條款」。李文亮因在武漢肺炎爆發初期在微信上披露疫情而被要求簽下《不實消息外傳的反思與自我批評》,後來自身染疫死亡。

為了貫徹中華人民共和國首都人大常委會通過保護吹哨人條款的精神,這篇文章就談談吹哨人要注意的地方,談之前先跟大家做一個小測試。

以下有兩個網址:

一) https://pazukong.wordpress.com/

二) https://pazukong.‌‌‌​​‌​‌⁠‌​​​​​​‌⁠‌​​​‌​​‌⁠‌‌‌​​‌​‌⁠‌​‌​​‌​​⁠‌​‌​​‌‌‌⁠‌‌‌​‌​​​⁠‌​‌​​​​‌⁠‌​​​‌‌​​⁠‌‌‌​​‌​‌⁠‌​​​‌​‌‌⁠‌​​‌​‌​‌⁠‌‌‌​​‌​‌⁠‌​​‌​​‌​⁠‌​​​‌‌​​⁠‌‌‌​​‌‌​⁠‌​​​​​​​⁠‌​​‌‌‌​‌⁠‌‌‌​​‌‌​⁠‌​​​​​‌‌⁠‌​‌‌​​‌‌⁠‌‌‌​‌‌‌‌⁠‌​‌‌‌‌​​⁠‌​​​‌‌​​⁠‌‌‌​‌​​‌⁠‌​​​​​‌‌⁠‌​‌‌‌‌​‌⁠‌‌‌​​‌‌‌⁠‌​​‌​‌​​⁠‌​‌‌​​​‌⁠‌‌‌​​‌​‌⁠‌​‌‌‌‌‌​⁠‌​‌​‌‌‌​⁠‌‌‌​​‌​​⁠‌​‌‌‌​​​⁠‌​​​‌‌​‌⁠‌‌‌​‌​​​⁠‌​‌‌​‌‌​⁠‌​‌‌​​‌‌⁠‌‌‌​‌​​‌⁠‌​​​​​​‌⁠‌​​‌​​‌‌⁠‌‌‌​​‌​​⁠‌​‌‌‌‌​‌⁠‌​​‌‌‌​​⁠‌‌‌​‌​​‌⁠‌​​‌​‌‌​⁠‌​​​‌​‌‌⁠‌‌‌​​‌‌‌⁠‌​‌​‌​‌‌⁠‌​‌​‌‌‌‌⁠‌‌‌​​​‌‌⁠‌​​​​​​​⁠‌​​​​​‌​wordpress.com/

看得出以上地址有甚麼分別嗎?把第一個網址放到瀏覽器,可以打開 Google,但第二個則不能(又或按瀏覽器的設定,會輸入了搜尋引擎)。為甚麼呢?

這涉及到 Unicode 的編碼設計,當中一類字符屬於「零寬幅」(zero-width)。所謂「零寬幅」,即存在但又不能打印或顯示的文字,好像是無字天書,但有實際用途。例如這句中文:「在國安法實施後叫光復香港時代革命隨時可以犯法所以大家千萬不要隨便叫光復香港時代革命。」

如果想在分行的時候儘量選擇在「香港」之後分行,而不是在「香」「港」中間分行,那麼可以在「香港」之後加一個「零寬幅單語結合子」(zero-width word joiner,簡稱 ZWWJ,代碼 U+2060),程式在分行時,就會知道在「香港」後分行,而不會在「香」與「港」之間分裂。

以上只是大概說一下「零寬幅」字符的用處,重點是有心人可以把文字隱藏在這些「無寬幅」的字符之間,例如 Hong Kong 之間,可以變成 Hong(零寬幅隱藏文字) Kong,顯示起來還是 Hong Kong,但實際上就會有分別。

上面兩個地址雖然看似一樣,但下面那個正是隱藏了訊號,肉眼雖然看不見,但電腦知道有差別,所以就無法登錄 Google。

趕快入正題,即時示範實際應用。

大家先到這個網址: https://neatnik.net/steganographr/

在 Public message 寫下:

「誠徵作業員一名,無經驗、已婚可。」

在 Private message 則寫下:

「長夜將至,從今守望,至死方休。」

點擊 Steganographize。

之後會出現以下這句話 *** 誠徵作業‌‌‌​‌​​‌⁠‌​​‌​‌​‌⁠‌​‌‌​‌‌‌⁠‌‌‌​​‌​‌⁠‌​‌​​‌​​⁠‌​​‌‌‌​​⁠‌‌‌​​‌​‌⁠‌​‌‌​​​​⁠‌​​​​‌‌‌⁠‌‌‌​‌​​​⁠‌​​​​‌‌‌⁠‌​‌‌​​‌‌⁠‌‌‌​‌‌‌‌⁠‌​‌‌‌‌​​⁠‌​​​‌‌​​⁠‌‌‌​​‌​‌⁠‌​‌‌‌‌‌​⁠‌​​‌‌‌‌​⁠‌‌‌​​‌​​⁠‌​‌‌‌​‌‌⁠‌​​​‌​‌​⁠‌‌‌​​‌​‌⁠‌​‌​‌‌‌​⁠‌​​​‌​​​⁠‌‌‌​​‌‌​⁠‌​​‌‌‌​​⁠‌​​‌‌​‌‌⁠‌‌‌​‌‌‌‌⁠‌​‌‌‌‌​​⁠‌​​​‌‌​​⁠‌‌‌​‌​​​⁠‌​​​​‌‌‌⁠‌​‌‌​​‌‌⁠‌‌‌​​‌‌​⁠‌​‌​‌‌​‌⁠‌​‌‌‌​‌‌⁠‌‌‌​​‌‌​⁠‌​​‌​‌‌​⁠‌​‌‌‌​​‌⁠‌‌‌​​‌​​⁠‌​‌‌‌‌​​⁠‌​​‌​​​‌⁠‌‌‌​​​‌‌⁠‌​​​​​​​⁠‌​​​​​‌​員一名 ***(顯示訊息沒有星號)。

把 *** 誠徵作業‌‌‌​‌​​‌⁠‌​​‌​‌​‌⁠‌​‌‌​‌‌‌⁠‌‌‌​​‌​‌⁠‌​‌​​‌​​⁠‌​​‌‌‌​​⁠‌‌‌​​‌​‌⁠‌​‌‌​​​​⁠‌​​​​‌‌‌⁠‌‌‌​‌​​​⁠‌​​​​‌‌‌⁠‌​‌‌​​‌‌⁠‌‌‌​‌‌‌‌⁠‌​‌‌‌‌​​⁠‌​​​‌‌​​⁠‌‌‌​​‌​‌⁠‌​‌‌‌‌‌​⁠‌​​‌‌‌‌​⁠‌‌‌​​‌​​⁠‌​‌‌‌​‌‌⁠‌​​​‌​‌​⁠‌‌‌​​‌​‌⁠‌​‌​‌‌‌​⁠‌​​​‌​​​⁠‌‌‌​​‌‌​⁠‌​​‌‌‌​​⁠‌​​‌‌​‌‌⁠‌‌‌​‌‌‌‌⁠‌​‌‌‌‌​​⁠‌​​​‌‌​​⁠‌‌‌​‌​​​⁠‌​​​​‌‌‌⁠‌​‌‌​​‌‌⁠‌‌‌​​‌‌​⁠‌​‌​‌‌​‌⁠‌​‌‌‌​‌‌⁠‌‌‌​​‌‌​⁠‌​​‌​‌‌​⁠‌​‌‌‌​​‌⁠‌‌‌​​‌​​⁠‌​‌‌‌‌​​⁠‌​​‌​​​‌⁠‌‌‌​​​‌‌⁠‌​​​​​​​⁠‌​​​​​‌​員一名 *** 這句話,放回網站的 Reveal,Public message。

點擊 Desteganographize。

有沒有看到隱藏訊息?

* * *

這種隱藏訊息可以很有廣泛的用途,例如我在某購物網站留下「零寬幅」的隱藏訊息,有心人只要直接複製文字,就能得知箇中秘密。但這種溝通方式其實極不安全,一來無法加密,二來較易偵測,如果條件許可,應用更為安全的加密方式溝通,例如 Signal,有端對端加密。

但我還是有必要花時間寫這篇文章,因為「吹哨人」必須知道這種隱藏訊息的方法。舉個例子,假如你在醫院工作,收到與社稷利益相關的重大醫療機密,想學習李文亮醫生那樣吹哨,你就要注意,收到的文件,到底會否有釣魚式的隱藏訊息。

萬一你用純粹的文字複制方式,把文章對外公開,有心抓內鬼的人卻早把訊息隱藏,那麼你的身份就隨便會被公開。

所以收到機密文件,要學習北京人大保護吹哨人的立法精神,在公開文件的過程,就不要直接靠複製文字 copy and paste,而要用其他方式,諸如用 OCR 文字識別方式來獲取文字,又或者單純概括文字內容撮要。有必要時,也可以把獲取的純文字以翻譯機來回翻譯,去掉原有的文字風格,儘量不被當局追查到原有文字的出處。

這些小技巧,早晚會是生活常識。

https://www.patreon.com/posts/42477490