分類
Android Google Play Dev Console 小鴨幹線

「小鴨幹線」(又再)被下架

「小鴨幹線」已於9月8日,因被指不符有關「惡意軟件」政策而遭 Google Play 下架,同日作者被吊銷開發者戶口。Google Play 中亦顯示小鴨App存在風險。作者已於同日按機制提出了上訴要求及要求澄清。作者相信這是 Google 的惡意軟件偵測,因小鴨作為背景攔截軟件,可能與某類型惡意軟件有相似的權限要求及運作模式,而出現假陽性的錯誤。以下交代詳情。

“Headuck Call Blocker” was removed from Google Play on 8th September for allegedly violating the “malware” policy.  The App author’s developer account was also terminated on the same day. Google Play Protect now shows that the App is harmful and recommends users to uninstall it.  On the same day the author has filed an appeal and requested clarification under Google’s appeal mechanism. The auther believes that this is a false positive case of Google’s malware detection AI, considering that the background call blocker might, by its nature, share some patterns of permissions and usages with some categories of malware.

常見問題及建議請参閱另文。

Please refer to this article for FAQs and recommended actions.

Google 的電郵

「小鴨幹線」於9月8日上午,在事前沒有任何警告下,收到來自 Google Play Support 的 2 個 email,第一個表示因小鴨觸犯 「惡意軟件」(malware) 政策,已把「小鴨幹線」程式移除 (用戶安裝數及評語等全部刪除,即永久下架)。

Hi Developers at Headuck,

After a recent review, 小鴨幹線 DEV (香港廣告及詐騙來電攔截App – 免費無廣告) (com.headuck.headuckblocker.dev) has been removed from Google Play.

 

Publishing Status
Publishing status: Suspended
Your app has been suspended and removed due to a policy violation.
Reasons of violation
Eligibility Issue by versions
Version(s) Eligibility Issue
APK:26 MALWARE
Your app is not compliant with the Malware policy. We don’t allow apps with any code that could put a user, a user’s data, or a device at risk.

一如以往小鴨及其他開發者收到的下架通知,email 中除了 “not compliant with policy” 外,沒有任何違規詳情。

第二封 email 進一步表示,吊銷小鴨的開發者戶口,更指出不要試圖登記新的戶口,亦不會重啟原有戶口,換句話說是無限期封禁。

Hi Developers at Headuck,

This is a notification that your Google Play Developer account has been terminated.
Reason for termination: Violations of the Developer Program Policies and Developer Distribution Agreement.

As explained in our Enforcement Process, repeated or serious violations of our policies may result in the termination of your Google Play Developer account and related Google Play Developer accounts.

You can visit the Developer Policy Center to better understand how we enforce Developer Program Policies. If you’ve reviewed the policy and feel this termination may have been in error, please reach out to our policy support team.

Please do not attempt to register a new developer account. We will not be restoring your account at this time.

The Google Play Team

第二封 email 亦沒有任何詳情,不過時間上顯然與小鴨被指違反 malware 政策有關,亦有可能與之前下架累積了的紀錄有關。

究竟小鴨為什麼被指含有惡意軟件呢,又犯下什麼大罪,要在沒有警告下永久從 Google Play 封禁?

Google 的惡意軟件政策

先看被指違反的 Google 惡意軟件政策,當中惡意軟件包含十多大類﹕

  • 後門 – 程式碼讓攻擊者以遙控方式在裝置上執行不必要且可能有害的操作。
  • 帳單欺詐 – 程式碼有意以欺詐方式自動向使用者收費。
  • 商業間諜軟件 – 程式碼未經充分通知或同意,即將裝置上的個人資料傳送至其他裝置,並且不會持續顯示相關通知。
  • 拒絕服務 (DoS) – 執行拒絕服務 (DoS) 攻擊。
  • 惡意的下載程式 – 下載其他惡意程式。
  • 非 Android 威脅 – 對其他平台有害。
  • 仿冒詐騙 – 泛指會偽裝來自可信的來源,要求取得使用者驗證憑證或帳單資料。
  • 進階權限濫用行為 – 程式碼會破壞應用程式沙箱、取得進階權限,或者變更或停用核心安全性功能的存取權,藉此影響系統的完整性。
  • 勒索軟件
  • 有 root 權限 – 有 root 權限的非惡意與惡意程式碼之間有分別 … 有 root 權限的惡意應用程式不會通知使用者將在裝置上進行 root 權限操作,或者在預先通知使用者將進行 root 權限操作時,同時執行適用於其他 PHA 類別的其他操作。
  • 垃圾內容 – 向使用者的聯絡人傳送垃圾訊息,或使用裝置轉發垃圾電郵。
  • 間諜軟件 – 未充分告知使用者或徵求同意的情況下,傳送裝置上的個人資料 … 舉例來說,程式碼會在未披露相關資料或使用者不知情的情況下傳送 通訊錄  … 通話記錄。
  • 木馬程式 – 看起來無害 (例如聲稱純粹是遊戲的遊戲),但會對使用者執行不當動作。
:此部份下筆時,作者手頭只有上述郵件,其後才從用戶據 Google Play Protect 建議刪 App 的訊息中,知悉「小鴨幹線」是被指涉及
「帳單欺詐」。見下文補充部份。

由於「小鴨幹線」並無包括任何第三方的非開源軟件,作者很肯定不會錯誤地把不當軟件(如有後門的廣告程式庫)納入 App 內。小鴨沒有收費或要求任何認證,當然亦沒有勒索、攻擊或發垃圾訊息(這些相當易驗證),而且網絡存取亦相當有限(從hkjunkcall 下載名單,回報垃圾電話,及小鴨 server 下載防騙訊息,更新小鴨顯示訊息及一響收線IDD字頭等),與惡意行為毫不相干。單從 Google 惡意軟件政策,實在找不出頭緒。

小鴨如何成為「惡意軟件」

當然, Google 事實上不會用真人逐隻 App 檢查是否「惡意軟件」,而應是自動掃描並按一些不透明的準則( 俗稱 AI )決定 App 是否有害。此「AI」顯然沒有真正理解 App 功能以及藉上述政策分析 App 內容的能力( AI 還未發展到這地步)。Google 最有可能採用的方法,是收集以往被審核為「惡意軟件」的 App 與其他非惡意軟件為樣本,透過抽取最能分辨兩者的特徵,例如權限,使用什麼API,以至程式外的特徵如有否收費,作者背景(是否大公司?),下載數量,用戶評語,以至 icon,screenshot,甚至 Google Search 取得的網上連結數之類,去訓練 AI 模型,以將 App 區分是否「惡意軟件」。

從這個角度,推測「小鴨幹線」可能與上述「惡意軟件」有一些共通元素:

進階權限:小鴨為顯示彈出通知﹐有使用其他程式上繪製權限,亦使用存取通知以作靜音及(若其他方法失效)模擬藍芽耳機掛線。例如「惡意軟件」可以用繪製權限,假扮其他App功能以騙取用戶。雖然較新版 Android 已要求明確授權,但舊版 Android (如 5.1 以下)仍受影響。

root 權限:以往部份機種要 root 權限才能掛線,以及通話中將新來電掛線。(root方法須使用者明確選擇掛線方式及授權,方可使用,但作為攔截程式當然不會每次取 root 掛線前彈出通知徵求同意。)

使用通訊錄及通話記錄:或許與「間諜軟件」相似,在背景(非用戶操作中的程式)讀取這些記錄。

此外,小鴨亦有使用 native code(包括 LMDB 資料庫引擎及用以核對下載資料數碼簽名以確保完整性的加密程式庫,兩者都是開源的,亦已在 App 內列出),而「惡意軟件」亦可能使用 native code 以增加反編繹難度,作隱藏之用。

當然其他攔截軟件或許同樣有相關權限,但未必與小鴨有同樣的特徵及功能(例如小熊早已移走 root 功能),也許小鴨一些程式外的特徵,如安裝數字等,亦與「惡意軟件」的樣本較刎合。

不過上述「特徵」,並非新增,例如 root 權限,native code等,自小鴨推出已經一直存在,而自去年 3 月經人工批核獲准繼續使用電話權限以來,小鴨只在本年 6 月更新一次(即第一封電郵所指,內部版本編號為 26 的 0.2.17 版),而且沒有加入新功能,只做了符合 64-bit 要求的修訂及小量 bug fix

因此,有理由相信,這種 AI 模型的分類「準則」,會隨模型更新或訓練樣本不同,而隨時間改變。小鴨在 6 月的更新,雖然沒有大幅改變本身的原有特徵,但可能因而觸發了 Google 以新的「準則」掃描舊有的特徵,得到不同的結果(當然亦可能與更新沒有直接關係,Google 都會定期對 App 進行掃描)。

補充:感謝 Ken 留言及 hkepc 討論區 davidleehk 張貼的資料, 指 Google Play 顯示的問題是「帳單欺詐」中的「收費欺詐」。 看政策全文,「帳單欺詐」分為三類

  • 短訊欺詐 – 小鴨沒有讀寫短訊權限,應可排除。
  • 通話欺詐 – 解釋為:程式碼在未經使用者同意致電收費號碼後,向使用者收費。
  • 收費欺詐 – (按 google play彈出的內容,應是指小鴨違反此項)解釋為:程式碼誘使使用者透過流動電話帳單訂閱或購買內容。收費欺詐包括任何類型的帳單,但不包括收費短訊和收費通話。這種欺詐的例子包括流動網絡供應商直接結帳、無線存取點 (WAP) 和流動通話時間轉移。WAP 欺詐是收費欺詐中最常見的一種。WAP 詐騙包括誘使使用者點擊自動載入的透明 WebView 按鈕。執行該操作即會開始定期訂閱,但確認短訊或電郵通常會被截取,讓使用者不會注意到該金錢交易。

小鴨沒有使用 WebView,但如上文所指,「其他程式上繪製」權限可能被這類收費欺詐使用,加上存取通知權的使用(可用作攔截通知),或者增加了小鴨與「帳單欺詐」的相似度。有關 WAP 欺詐手法可參考https://blog.trendmicro.com.tw/?p=62312 ,但當中最重要的 WebView 功能及讀取短訊權限,根本不存在於小鴨程式內。[註:WAP 應是指 Wireless Application Protocol 而不是 Google 中文版政策所繹的 Wireless Access Point,WAP 已是「遠古」年代的產物,很懷疑香港有沒有電訊商仍(或曾)支援 WAP 計費網頁。]

另外小鴨有撥出電話權限,或許被視為有「通話欺詐」的特徵,但是程式內只供用戶回撥已攔截電話。另外撥出防護亦會使用此權限,可設定在使用者確認後繼續撥號,以免錯撥IDD。兩者都必須要使用者按鍵才會撥出。

球證,旁證,足協 … 全部都係 AI

以「AI」輔助找出「惡意軟件」未身並必有問題,但 Google Play 一直為人詬病的,是這類對開發者很大影響的決定(如主要靠 App 在 Google Play 賺錢的公司,取消戶口已可以執笠),似乎沒有經人手審核,便自動作出。甚至連開發者上訴等機制,由於提出問題往往只獲空泛的官方回覆,亦被指可能是全自動進行,待遇據稱與 Apple 以至同是 Google 的其他產品,有相當分別。

可參考以下於 2008 年尾一間小型開發公司講述其被取消戶口遭遇,並列出一系列類似個案。該文得到相當迥響。

https://android.jlelse.eu/google-just-terminated-our-start-up-google-play-publisher-account-on-christmas-day-5cb69a454da0

(特別一提的該文提及的封禁連坐法,一人戶口被封,可能會牽連相關僱主,同事的戶口都被封,並可以連還引伸。以 Google 擁有的資料來說,取得這些關係資料以作 enforcement 並不困難。)

跟進

作者會在本文跟進上訴進展,目前請在此頁下載完整版。

 

在〈「小鴨幹線」(又再)被下架〉中有 51 則留言

google play 顯示的問題是這個:

帳單欺詐 – 程式碼有意以欺詐方式自動向使用者收費。

從 hkjunkcall 下載,是需要API key,因此要作為Open source App 放上 f-droid,先要移除這部份,才可給f-droid自行編繹,確保源碼與APK相同。沒有 hkjunkcall 下載的功能,就算可下載亦意義不大。

其實 F-Droid 係支援自訂軟件庫嘅,你可以 host 個軟件庫畀我哋下載。雖然未 root 嘅機冇得自動更新,但點都方便過下載 apk。

如果唔係為跟 f-droid 官方個軟件庫,其實由 App 自己提供 UI,自行檢查有更新時,給用戶 download apk,再自行安裝更方便。當然Google Play App不能提供此模式。

Anyway,假如可以嘅話我都希望你能夠提供個 F-Droid 軟件庫畀我哋用。咁嘅話有用 F-Droid 嘅人就可以統一喺嗰度更新。 😁

有無人跟我一樣,我兩部手機都已自動解除安裝小鴨,開頭以為不小心揩到訊息欄的解除安裝鍵,但馬上看第二部手機,一樣已解除安裝。我是 android 機的,謝謝。

Google Play顯示小鴨為惡意軟件要求解取安裝,但是沒有按Uninstall小鴨就消失了。是要手動安裝才可以重新啟動嗎?

我部機冇自動 uninstall,只係喺 home screen 自動移除咗,喺 app list 重見到,play store 嗰道都係咁提示我 uninstall

Attachment

小熊賣左俾人後,都已經一直是你們擁躉,是否你們被惡毒商家投訴變左下架?邪可勝正的是荒謬的,怎麼可以在google支持你們啊?

原因不明,但相信是google protect scan出來的,目前似乎要先等上訴結果。

一樣!都係小熊被賣後就開始用小鴨!跪求你地堅持,因為我唔想用其他中資滲雜來電App!如果有任何方法可以支持你地,請公告大家,我地一起加油!

支持小鴨,今朝喺 play store 見到警告叫我 uninstall HeaDuck,上嚟睇下發生咩事,睇返你啲 post 見到你為咗迎合 google 做咗好多功夫,亦都見到 google 欠資訊透明度霸權一面,小本經營好難同啲大財團成支開發團隊比,希望你搞得掂上返架啦,如果有需要願意用其他方法支持呢個 app

1. 我哋作為用戶有無方法可以幫你哋上訴?
2. 如果 keep 住被下架,以後有更新會經 app push 通知嗎?
加油呀!

1. 謝謝支持,現時已經上訴緊,未有回應 2. 現時不會,可以日後才加入。

Attachment

Google play話咩can add unauthorized charges to your mobile bills by registering for recurring charges.

我懷疑係google收錢要封殺你,為咗保住班cold call狗嘅飯碗🤔

其實 google 自己已另有一套 spam blocker,佢應該想你回報到佢系統(收集更多資料)多過保 cold call 飯碗
不過 Don’t Attribute to Malice What Can be Explained by Incompetence.

如果 Google spam blocker 做得好,自然 third party app無市場啦… 使咩咁ban

黃標事件, 街景模糊系統, Google已半跪, 作者之前又幫蘋果平反, 強力部門已做野

加油!堅持到底!我都係由小熊被土匪搶左之後就一直用到宜家!有咩可以幫手,請告知!
多謝你哋嘅努力!

剛轉華為P40 pro+,沒有GMS 阻攔問題,家人部手機都關掉了Google play protect 繼續使用。謝謝你。

Attachment

Support 香港人香港app。支持上訴。用家可以寫比 Play store complaint?

光復google,play store 革命

支持小鴨!
小弟都係隻熊買了後就一直用小鴨
又正又順,請努力及繼續堅持,若當中有什麼出點綿力或能幫助的地方, 請坦誠告知大家。
謝謝來一路努力。
我會讓小鴨繼續留在我手機內,期待申訴成功再上架的一刻。
再次謝謝小鴨團隊一路的努力, 加油

我從小熊開始就一直使用,效果很好,減少很多麻煩電話。自從Google發出提示後,雖然沒有將此App自動uninstall,但係似乎已經不能使用了,這幾天接廣告和行騙電話多了很多,最多一天(辦公時間)接了四個。希望能夠重新使用。

我都希望小鴨來電,可以早日平反, 重新上架.
小鴨好好用,多年來幫我阻截咗好多junk call,令我 避免受到煩擾或電話欺騙,所以我支持小鴨, 加油!

多了垃圾電話, 原來小鴨被停用。
理由是: This app can add unathorized charges to your mobile bill by registering for recurring charges.

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *