「SMS 認證」被電信商 (以及第三方) 拿來套利的市場

Hacker News 上看到「Twitter Lost $60M a Year Because 390 Telcos Used Bot Accounts to Pump A2P SMS (commsrisk.com)」這篇,內文報導是這裡:「Elon Musk Says Twitter Lost $60mn a Year Because 390 Telcos Used Bot Accounts to Pump A2P SMS」。

簡訊的實際成本極低,但利潤超級高,發送方與接收方都有極大的獲利空間。

而這邊提到的 SMS pumping 的方式就是電信商自己做,或是電信商與第三方合作,利用各種發簡訊的方式 (內容不重要),讓 app 端要付出大量的簡訊成本,進而產生出大量的利潤。

Twilio 的「SMS Traffic Pumping Fraud」這頁就有這張圖:

簡訊的特點是很好 scale,你無法同時間接大量的電話,但可以同時間收大量的簡訊。在「SMS Fraud is costing you more than you realize」這邊也有提到這個問題。

這個問題在去年年底在我們自家的服務上就有看到跡象 (東南亞市場頗明顯),當時搜尋有一些討論,而現在看起來 Elon Musk 這次吵應該又會有更多熱度...

話說這樣演化下去,SMS 認證的退場又多了一個理由,除了 SS7 在資安上的安全問題外,看起來成本問題也會跑進來。

iPhone 5S 又拿到安全性更新了:iOS 12.5.7 (2023/01/23)

Apple 又針對 iOS 12 釋出安全性更新了:「About the security content of iOS 12.5.7」。

Available for: iPhone 5s, iPhone 6, iPhone 6 Plus, iPad Air, iPad mini 2, iPad mini 3, and iPod touch (6th generation)

Impact: Processing maliciously crafted web content may lead to arbitrary code execution. Apple is aware of a report that this issue may have been actively exploited against versions of iOS released before iOS 15.1.

Description: A type confusion issue was addressed with improved state handling.

這次的更新是 backport 去年十二月在 Safari 16.2 上修正的 CVE-2022-42856

A type confusion issue was addressed with improved state handling. This issue is fixed in Safari 16.2, tvOS 16.2, macOS Ventura 13.1, iOS 15.7.2 and iPadOS 15.7.2, iOS 16.1.2. Processing maliciously crafted web content may lead to arbitrary code execution.

所以這包跟上次一樣 (參考先前寫的 「iOS 12.5.6」這篇),也是在修正 RCE 類的漏洞,這樣對於 iPhone 5S 等於是進入第九年的支援了。

之前在網路上有看到有人在猜是因為海外有很多異議人士拿這隻手機,所以美國政府「希望」Apple 能夠針對一些高危險性的安全漏洞提供更新?

讓使用者可以自己選擇 Push notification service 的 UnifiedPush

前幾天 Hacker News Daily 上看到的,F-Droid 寫了一篇文章介紹可以讓使用者自己選擇 Push notification service 的 UnifiedPush:「UnifiedPush: A decentralized, open-source push notification protocol (f-droid.org)」。

一般在 Android 平台上是透過 Google 自家提供的 FCM 傳遞 push notification 訊息:

A modern Android smartphone relies on a lot of services, from app stores and calendars to messaging and push notifications. Most of them have open alternatives, but until now, the only option for push notifications was Google’s proprietary service, Firebase Cloud Messaging (FCM).

但這樣很明顯會遇到隱私問題 (i.e. Google 可以知道所有的 push notification),所以一直都有要怎麼解決的討論。

而看起來 UnifiedPush 給了一個方案:使用者在 Android 手機上安裝一隻程式 (ntfy),這隻程式可以連到使用者指定的伺服器接收 push notification (可以是自架或是用現有的服務),另外一方面,當然也會跟 app 說要把 push notification 送到哪邊。

另外也考慮到使用者如果極度在意電池的問題,還是可以 fallback 回去使用 Google 的 FCM,也就是不影響現有使用者的體驗。

這樣就可以做到還是單一連線 (降低電力使用),但是是分散式的架構,而且使用者有一定的控制權。

目前支援的 app 看起來不多,但可以以預期後續 F-Droid 上面的 app 應該會有不少 app 會支援:「Apps using UnifiedPush」。

iPhone 14 的 Emergency SOS via satellite (衛星求救服務) 在北美開通

iPhone 14 的 Emergency SOS via satellite 先在北美開通了,包括美國與加拿大地區:「Emergency SOS via satellite available today on the iPhone 14 lineup in the US and Canada」,另外也有提到歐洲的一些區域預定在十二月開通:

iPhone 14 users can now connect with emergency services when cellular and Wi-Fi coverage are not available; the service extends to France, Germany, Ireland, and the UK in December

然後有一些 screenshot 出來了,在沒有 WiFi 與電信訊號的時候打 911 (美國與加拿大的緊急號碼) 會出現透過衛星聯絡的選項:

然後用選擇的方式快速先分類,然後手機要對天空:

這些資訊會先被傳遞,後面緊急聯絡中心可能會再問一些資訊:

另外有提供 satellite demo,可以讓使用者不去打擾緊急聯絡中心的前提下熟悉這套流程:

Using the built-in Emergency SOS via satellite demo, users can test satellite connectivity on their iPhone by connecting to a real satellite in range without calling emergency services, allowing them to experience the process and familiarize themselves with the service.

台灣從五家電信業者的 coverage 資料看起來,五家都沒有覆蓋的地區主要是山區:

目前在台灣類似的功能 (要求救的話) 應該是 Garmin inReach 這個產品線,先前在 YouTube 上有看到開箱...

在南極洲收銀行 OTP 簡訊的方式

看到「SMS Multifactor Authentication in Antarctica」這篇,講在南極洲收銀行 OTP 簡訊的方式 (one-time password,常見的形式是六碼或是七碼數字)。

很明顯的,南極洲沒有什麼電信商可以讓你漫遊 XD

一開始是試著用 Verizon Messages Plus,這個服務可以在電信商直接把簡訊改成 e-mail 寄出來,但作者發現所有的簡訊都會轉送,就是銀行的不會轉送 XDDD

接著是試著用 Google Voice 的號碼,但銀行會判定為 VoIP 電話而不送。

另外的方式是「Wifi Calling」,看起來應該是 VoWiFi 這個台灣更常見的詞,透過 internet 連到電信商的網路掛進去,而不需要透過電信商的基地台。

McMurdo 的網路目前還是有很多不一樣的限制與問題:

At McMurdo, phones have access to a wifi network only for wifi calling and texting, not for general Internet access. It’s just a prototype at this time. It doesn’t work in all cases or in all areas, and for one reason or another it doesn’t work for some people, even if they’ve followed all the steps for enabling wifi calling.

看起來作者遇到的問題是 latency 過高以及頻寬不穩定的問題:

Also, the protocol assumes terrestrial broadband with reasonable latency and bandwidth. At McMurdo, as of this writing, latency to terrestrial locations is in excess of 700 milliseconds. Usable bandwidth for any given end user can vary widely, down to a few dozen kilobits per second.

然後也很難 troubleshooting:

The protocol also doesn’t expose any useful diagnostic info to the end user in order to troubleshoot. You just have to cross your fingers that the magic “wifi calling” icon lights up.

接下來作者嘗試的是 Voice MFA,但不存在這樣的電話號碼可以轉接之類的:

Direct inward dialing to US Antarctic stations isn’t generally available, so you probably can’t configure your cell phone number to forward to a number you can directly answer on-station. (I’m aware of some exceptions to this.)

作者最後提了兩個方法,第一個是想辦法找一個銀行不會擋的虛擬號碼註冊,但這個方法基本上是個貓抓老鼠的遊戲。第二個是作者實做的方法,自己搞 relay,透過 IFTTT 或是其他類似的工具來轉:

轉出來像是這樣:

也許等基礎建設好一點之後,VoWiFi 應該就有機會通?

Starlink 想要在太空直接提供 5G 網路訊號讓地面手機使用

Hacker News 上看到 Starlink 打算跟 T-Mobile 合作,直接用衛星提供 5G 訊號讓地面手機使用:「SpaceX, T-Mobile to connect satellites to cellphones in remote areas (wsj.com)」,原報導在 WSJ 的「SpaceX, T-Mobile to Connect Satellites to Cellphones in Remote Areas」這邊,另外因為 paywall 的關係,可以在這邊讀。

會用二代衛星:

Mr. Musk said the service would use second-generation Starlink satellites that would be outfitted with large antennas that cover swaths of land that have no service. SpaceX has a pending application before the FCC to launch around 30,000 of the second-generation satellites over time.

在另外一篇報導「SpaceX and T-Mobile team up to use Starlink satellites to ‘end mobile dead zones’」裡面有提到更細一點,不是衛星電話,是目前一般的手機:

The service won’t require mobile users to get a new phone. Musk said in or after a natural disaster, even if all the cell towers are taken out, the planned service should work.

不過可以預期只會有很基本的服務 (大概確保通話與簡訊會通),針對緊急危難狀況會特別有幫助:

Mr. Musk said that the bandwidth would be limited and that the new satellite service wouldn’t supplant existing ground-based cellular services. “This is meant to provide basic coverage to areas that are completely dead,” he said.

翻了翻 wiki,目前 Starlink 第一代衛星的軌道高度是 340km 左右,好像還不確定二代衛星會在哪個高度...

Hacker News 上有蠻多人在算技術上的可行性,除了訊號強度外,衛星與地面相對速度比目前地面上的交通工具都快,都卜勒效應 (Doppler effect) 看起來也是個會影響很多的主題...

不過討論裡面有提到 2021 年就已經有其他商用公司在幹類似的事情,所以看起來不只是講講而已?應該是有些可能性:「Lynk demos global satellite connection for ordinary phones and prepares for commercial launch」。

從 Android (AOSP) fork 出來的 /e/

上個禮拜在 Hacker News 看到的「Review of /e/ – An Android Alternative For Mobile Phones」,在講 /e/ 這個從 AOSP 改出來的作業系統,主力在於「unGoogled」這件事情,避免任何資料傳回給 Google。Hacker News 上對應的討論在「Review of /e/ – Android-based alternative for mobile phones (thenewleafjournal.com)」這邊。

先看了一下運作方式,/e/ 的後面是 e Foundation,以非營利組織的方式經營。

LineageOS 的經驗來看,看起來有蠻多東西預先包好了,像是預掛了 microG 來模擬 Google Play Services 的服務與 API,這樣可以讓一些需要 Google Play Services 的服務可以跑 (但可以預期不會是完全相容)。

另外也有一些商業合作,所以市場上可以買到出廠就已經安裝 /e/ 的手機,讓一般使用者更容易上手。另外一條可以預期的路是自己刷 /e/,從「Smartphone Selector」這邊可以看到 /e/ 支援很多型號。

文章裡另外題到了其他的 AOSP fork,走不同的路線:

In addition to LineageOS, there are two forks focused primarily on security – GrapheneOS and CalyxOS. There is also Replicant, which appears to mostly support older devices at this time.

看起來弄個 Pixel 5a 或是舊一點的 Pixel 4a 應該是個還可以的方向,Google 自家牌的手機通常都是這些 distribution 優先支援的機種...

台灣 5G 網路偵測「分享」的方式

Twitter 上看到 zmx 分享的 tweet:

原始文章在「[教學]讓5G網路分享不被限速 —— 更改TTL」這邊,目前已經自刪,但已經有人在 Internet Archive 上面先 archive 起來了:「[教學]讓5G網路分享不被限速 —— 更改TTL」。

技術上是偵測 TTL 的數字來決定要怎麼擋 (一般機器的預設是 64),而 TTL 在過 router (像是分享器) 時會自動減一,所以可以用這點來偵測。另外找了一下資料,看起來這個方式應該很久前就有在傳:「[問題] 5G熱點分享問題 (USB分享算不算?) (2020)」、「[問題] 5G熱點分享限制有可能破解嗎? (2021)」。

另外 Nahcoroyk 有提到要關掉 IPv6:

如果你5G是C/F/T家的記得把電腦的ipv6關掉,因為ipv6還是可以分辨你是不是有做分享,剛實測某家ipv6下載一樣會扣 但ipv4就列入行動網路了XD (我用iphone13pro分享給電腦)

在猜之前有些手機不限流,但分享只有 1GB 的海外 SIM 卡應該也是類似的方法在偵測?之後能出國的時候可以研究看看...

Pixel 3 無法撥打 911 的問題

Hacker News 首頁上看到「Pixel prevented me from calling 911」這則 Reddit 上的發文,提到 Pixel 3 無法撥打 911 的問題,另外 Hacker News 上的討論在這邊可以看到:「Pixel prevented me from calling 911 (reddit.com)」。

hnrvsr1 這則 comment 可以看到,目前 Google 確認了這個軟體 bug,在 Anrdoid 10 上有安裝 Microsoft Teams,並且是在沒有登入的情況下,就會中這個 bug:

Based on our investigation we have been able to reproduce the issue under a limited set of circumstances. We believe the issue is only present on a small number of devices with the Microsoft Teams app installed when the user is not logged in, and we are currently only aware of one user report related to the occurrence of this bug. We determined that the issue was being caused by unintended interaction between the Microsoft Teams app and the underlying Android operating system. Because this issue impacts emergency calling, both Google and Microsoft are heavily prioritizing the issue, and we expect a Microsoft Teams app update to be rolled out soon – as always we suggest users keep an eye out for app updates to ensure they are running the latest version.

這個 bug 聽起來像是有什麼東西在 sandbox 裡沒擋好,被 app 干擾到緊急撥號的流程... 所以 Google 也承諾 Android 的部份也會有對應的更新:

We will also be providing an Android platform update to the Android ecosystem on January 4.

不確定台灣的 110、112 與 119 會不會有類似的問題...

Google 在南韓開放 app 裡面使用其他付款機制了

先前在「南韓對 Apple 與 Google 的 In-App 付款機制的提案」這邊提到南韓的法案將會強迫 AppleGoogle 開放 IAP 的通路,前幾天 Google 正式發出公告會支援其他通路了:「Enabling alternative billing systems for users in South Korea」。

不免俗的,還是會放話說一些 FUD

Alternative billing systems may not offer the same protections or payment options and features of Google Play's billing system—such as parental controls, family payment methods, subscription management, Google Play gift cards, and Play Points.

然後拖一下時間,說正在開發這些功能中:

In the coming weeks and months, we will share implementation details for developers, including instructions for submitting security and customer service verifications and a set of user experience guidelines so users can make an informed choice.

但這應該是第一個強制開放的市場?來等後續 payment gateway 給的數字...