一、前言
智慧型手機軟、硬體技術一日千里,便利民眾日常生活的應用服務愈趨多元化;然而,其便利性卻潛藏不同資安風險,例如智慧型手機軟、硬體、韌體等威脅來源,軟體包括系統內建軟體,內建行動應用APP,外加行動應用AP;近年來系統內建軟體與APP未經使用者同意,啟用手機功能,存取內存資料,或是回傳至手機製造商、服務供應商、第三方之情形時有所聞,例如:
( 一) 2014年,F-Secure分析小米手機發現未經使用者同意傳送個資至中國北京伺服器1 ;
( 二) 2018年,Kryptowire發表25款Android手機出廠的韌體或預設程式含有安全漏洞,讓駭客取得裝置最高權限,進而執行任意程式,取得數據與系統日誌、移除使用者資料、讀取或變更裝置組態等2 。
由於智慧型手機之硬體、軟體及韌體都可能資料外洩或回傳至特定伺服器,但手機系統內建軟體無法被刪除、停用,且防毒軟體並不會標記為有害軟體,且以無圖示方式保持隱藏,往往讓人忽略其潛藏的資安風險。有鑑於此,國家通訊傳播委員會( 下稱通傳會) 爰參考國際標準及歐美等國作法,逐步推動智慧型手機系統內建軟體資通安全標準,同時建立資安認驗證體系。
二、認驗證體系與實行現況
103年6月24日,行政院國家資通安全會報第26次會議決議:「手機與電腦之應用軟體( 包含LINE) 基本資安規範由經濟部主管,惟因手機屬電信法第42條規定之電信終端設備,其出廠時已內建之軟體仍併同硬體由通傳會主管。」3 ,分工如圖1說明。
圖1 智慧型手機安全檢測分工
資料來源:通傳會網站
( 一) 現行認驗證體系
106年3月3日,通傳會公告「智慧型手機系統內建軟體資通安全檢測技術規範」( 下稱原規範) 4 ,並規劃智慧型手機系統內建軟體資安認驗證體系,包括由財團法人全國認證基金會( Taiwan Accreditation Foundation,TAF) 負責認證檢測實驗室是否具備智慧型手機系統內建軟體資通安全檢測能力、資安檢測實驗室,以及中華民國資訊安全學會擔任驗證機構,同年4月20日「智慧型手機系統內建軟體資通安全等級標章」( Embedded SystemSecurity, ESS) 認證服務正式啟動。鑑於目前國際標準組織與歐美先進國家提出的行動裝置資安規範多屬指引或風險評估,並未要求經檢測合格始得販售,為避免技術性貿易障礙,現行的智慧型手機資安檢測機制並非強制性,而是由手機製造商自主或委託送測。
1.取得TAF認證之「智慧型手機系統內建軟體資通安全檢測」實驗室
現階段取得TAF認證的「智慧型手機系統內建軟體資通安全檢測」實驗室共有5間,如表1所示。依檢測資通安全等級能力,資安檢測實驗室分為第一型及第二型,負責受理智慧型手機系統內建軟體資通安全檢測,出具檢測報告,目前僅財團法人電信技術中心( Telecom Technology Center, TTC) 取得第二型檢測實驗室資格,可以檢測高級測試項目。
表1 通過TAF認證智慧型手機系統內建軟體資通安全檢測實驗室列表
序號
機構名稱
實驗室名稱
實驗室型別
認證有效期間
1
財團法人臺灣電子檢驗中心
資通訊檢測實驗室
第一型
2017/04/25 ~ 2020/04/24
2
中華電信股份有限公司電信研究院
測試中心
第一型
2019/08/14 ~ 2022/08/13
3
安華聯網科技股份有限公司
資安檢測實驗室
第一型
2019/03/29 ~ 2022/03/28
4
財團法人電信技術中心
資通安全檢測實驗室
第二型
2017/12/15 ~ 2020/12/14
5
香港商立德國際商品試驗有限公司桃園分公司
行動通訊實驗室
第一型
2019/07/29 ~ 2022/07/28
資料來源:ESS網站
2.得ESS標章之手機 自認證服務啟動至今,取得ESS認證合格手機共計11款,如表2所示。當中有1款取得中級標章。
表2 取得標章手機列表
序號
申請者
製造商
型號/名稱
等級
審定日期
作業系統
1
臺灣三星電子股份有限公司
臺灣三星電子 股份有限公司
Galaxy S6 edge
中級
106/08/01
G9250ZTU2DPL2
2
HMD Global Oy
HMD Global Oy
TA-1062/N7 Plus
初級
107/04/18
Android One
3
薩摩亞商新茂環球有限公司 臺灣分公司
OPPO廣東移動通訊有限公司
CPH1831/R15 Pro
初級
107/08/17
Android 8.1
4
富可達科技股份有限公司
深圳市良研科技有限公司
IF9031/M7s
初級
107/08/28
Android 7.0
5
訊崴技術有限公司
華為技術有限公司
EML-L29/P20
初級
107/09/14
EML-L29 8.1.0.130(C636)
6
Sony Mobile Communications International AB Taiwan Branch
Sony Mobile Communications Inc.
Xperia XZ2
初級
108/02/11
Android 8.0.0
7
宏達國際電子股份有限公司
宏達國際電子股份有限公司
HTC_2Q55100/U12+
初級
108/03/05
Android 8.0.0
8
臺灣糖果通訊科技有限公司
四川糖果通訊科技有限公司
C13/SUGAR C13
初級
108/06/17
Android 8.1.0
9
薩摩亞商新茂環球有限公司 臺灣分公司
薩摩亞商新茂環球有限公司 臺灣分公司
CPH1979/RenoZ
初級
108/08/21
Android 9.0
10
Sony Mobile Communications Inc.
Sony Mobile Communications Inc.
Xperia J9110
初級
108/11/25
Android 9.0
11
香港商維沃電子有限公司 臺灣分公司
維沃移動通信有限公司
1806/V11i
初級
108/12/13
Android 9.0
資料來源:ESS網站
三、智慧型手機系統內建軟體資安產業標準化程序
手機功能日新月異,相關應用也更為多元化,意謂著資安威脅也可能不同,其資安要求更應與時俱進,為此通傳會於108年7月委請TTC於臺灣資通產業標準協會標準制定平臺展開「智慧型手機系統內建軟體資安標準與測試規範」( 下稱產業標準) 5 制定作業,考量近年來國際間發生的智慧型手機內建軟體資安事件與應用程式常見弱點與漏洞,例如:偽造eSIM設定檔與未經授權存取行動網路等,持續修訂相關安全要求與測試項目。期盼藉由產業標準制定過程,邀集產業、相關領域專家、主管機關、學者,共同研議一致性可供產業遵循,實驗室檢測依據,軟體開發商參據之參考標準。
( 一) 產業標準適用範圍
智慧型手機系統內建軟體資訊安全要求,適用範圍為手機製造商於出廠時安裝在手機上的軟體,包含系統內具圖示與無圖示軟體。使用者於初次開機後,自行下載之應用程式、附加服務或內容,例如:登入Google Play或App Store帳號後自行下載應用程式,自行上網下載之第三方應用程式,插入SIM卡自動安裝之電信服務或相關應用程式等,則不在適用範圍內。如圖2說明。
圖2 適用範圍
資料來源:本研究整理
其中安全構面係參照國際智慧型手機資安標準、規範或指引而訂定,包括Smartphone Secure Development Guidelines、Mobile Security Testing Guide與GSMA SGP.25等,區分4項安全構面:
應用程式層
通訊協定層
作業系統層
硬體層
( 二) 新舊標準差異比較
1.安全等級表示 產業標準與原規範在安全等級表示方式並不相同,產業標準安全等級則區分1、2、3級,分別對應至原規範安全等級的初、中、高級。
2.新增與修訂測項 產業標準主要的新增測項係考量 eSIM 服務所衍生的 eSIM 設定檔偽造與未經授權存取行動網路,故在作業系統層中新增 eSIM 測項;其次,考量近年來與智慧型手機系統內建軟體的常見弱點與漏洞(Common Vulnerabilities and Exposures, CVE),於應用程式層中納入敏感性資料儲存於系統日誌等相關測項。新增、修訂測項與原規範,對應說明如表3。
表3 新舊版本測試項目對照表
安全構面
安全要求分項
安全 等級
新版測試項目
對應舊版規範
修正內容
6.1 應用程式層安全要求
5.1.2 程式資料儲存保護
1
5.1.2.1 內建軟體應將帳號、通行碼或金鑰儲存於作業系統保護區內或以加密方式儲存。
D.2.1.B 手機系統內建軟體應將帳號之密碼儲存於作業系統保護區內或以加密方式儲存。
加入金鑰檢查。
2
5.1.2.3 內建軟體之帳號、通行碼或金鑰不應以明文方式存在於執行檔中。
D.2.3.M 手機系統內建軟體與遠端伺服器溝通之帳號及密碼不應以明文方式存在於執行檔中,以避免遭不正當的方式存取。
加入金鑰檢查。
5.1.3 資料遺失保護
1
5.1.3.1 手機系統應提供資料保護與備份功能。
D.3.3.B 手機系統應提供資料備份功能。
受測系統已被遠端鎖定。測試資料已被遠端刪除。受測系統提供資料備份功能且可實際備份成功。
5.1.4 程式身分辨識
1
5.1.4.1 內建軟體在初次存取使用者帳戶時,應告知使用者存取帳戶相關之敏感性資料。
A.1.1.B 手機系統內建軟體在初次存取使用者已綁定裝置之帳戶時,應先行認證使用者身分與其權限,以確保內建軟體具備該帳戶使用權限。
受測內建軟體是否自動存取帳號。 受測軟體於存取使用者帳戶時,有提示使用者認證與敏感性資料授權之機制。
5.1.5 程式信任來源
1
5.1.5.1 內建軟體具備付費功能時,應使用有效期間之伺服器憑證。
A.2.1.B 手機系統內建軟體具備付費功能時, 應使用有效期間之伺服器憑證,以確保付費交易之安全。
判定標準加入,驗證伺服器憑證為可信任憑證機構所簽發。 若是受測軟體與伺服器使用TLS v1.3以上或最新版本進行傳輸,以「附錄D」之「資料連結伺服器之IP/DN/公司名稱及伺服器類型」,提供之主機名稱,以情資蒐集方式驗證憑證。
5.1.6 程式執行授權
2
5.1.5.4 內建軟體於使用者設定應用程式關閉時,應停止該內建軟體程序。
A.3.5. M手機系統內建軟體於使用者設定關閉時,應停止該內建軟體所有相關程序。
判定標準修正為,比對關閉內建軟體前後,軟體執行清單是否相同。
5.1.7 程式執行安全
2
5.1.7.2 內建軟體是否具備防護注入攻擊之設計。
A.4.2. M手機系統內建軟體應具備資料隱碼攻擊字串的處理能力。
驗證內建軟體是否具備SQL隱碼攻擊、本地文件包含漏洞、JavaScript注入攻擊、格式化字串與指令注入攻擊的保護,確保內建軟體注入防護機制。
2
5.1.7.5 內建軟體是否在執行期間將敏感性資料儲存於系統日誌檔案中。
N/A
除檢查使用者拒絕存取敏感性資料後是否儲存,額外檢查執行期間將敏感性資料儲存於系統日誌。
3
5.1.7.6 內建軟體是否具備完整性確保判斷機制
N/A
5.2 通訊協定層安全要求
5.2.1 協定使用授權
1
5.2.1.1 手機系統應預設關閉近場通訊功能。
P.1.4.B 手機應提供使用者可開啟及關閉近場通訊技術功能之介面。
修正為預設關閉。
5.2.2 協定傳輸保護
2
5.2.2.2 內建軟體應避免交談識別碼遭重送攻擊。
P.2.2. M手機系統內建軟體應避免交談識別碼遭重送攻擊。
修正判定標準,交談識別碼執行重送攻擊,回傳內容不應包含敏感性資料。
5.2.3 協定執行安全
2
5.2.3.1 手機系統應具備通訊協定內容的錯誤處理能力。
P.3.1.M 手機系統應具備通訊協定內容的錯誤處理能力。
在受測的無線傳輸環境下,於通訊連線交涉(Negotiation)起,採用模糊測試方法,針對使用的通訊協定逐一發送不同錯誤封包達一萬次,或最少8小時的異常輸入測試。
5.3.2 系統身分辨識
3
5.3.2.4 手機系統之金鑰、螢幕鎖定解鎖資料應存放於信任執行環境並加密。
N/A
5.3.4 eSIM傳輸保護
1
5.3.4.1 手機系統eSIM透過遠端系統進行配置及管理,應使用TLS v1.2(含)版本以上建立加密通道與使用安全之加密演算法進行加密傳輸eSIM設定檔。
N/A
>2
5.3.4.2 手機系統儲存eSIM設定檔時應提供加密功能,以避免遭不正當方式取得eSIM設定檔所儲存之敏感性資料。
N/A
5.4 硬體層安全要求
5.4.1 實體安全
1
5.4.1.1 手機系統連接實體介面傳輸資料前,應取得使用者同意。
N/A
5.4.2 金鑰管理保護
3
5.4.2.1 手機之金鑰管理,包含加密及通訊密鑰之產生、交換、合併與銷毀,應符合國際標準組織所公布具安全性之金鑰使用及管理標準。
H.1.1.H 手機之金鑰管理,包含加密及通訊密鑰之產生、交換、合併與銷毀,應符合NIST、ANSI或IEEE發布之金鑰使用及管理標準。
不表列NIST、ANSI 或IEEE,改為國際標準組織所公布具安全性之金鑰使用及管理標準。
3
5.4.2.3 金鑰不得以明文方式存放於記憶體。
H.1.3.H 金鑰不得以明文方式存放於非揮發性之記憶體,且不得以明文型態用任何方式匯出或直接對外傳輸。
修正不得已明文方式存放於記憶體。
5.4.3 演算法強度要求
3
5.4.3.1 手機實作之加密、解密及簽章演算法,應符合國際標準組織所公布具安全性之金鑰演算法標準。
H.2.1.H 手機實作之加密、解密及簽章演算法,應符合NIST、ANSI或IEEE發布之金鑰演算法標準。
不表列NIST、ANSI或IEEE,改為國際標準組織所公布具安全性之金鑰使用及管理標準。
3
5.4.3.2 手機實作之演算法,應依據各模式要求,產生啟始向量,並應符合國際標準組織所發布之啟始向量要求。
H.2.2.H 手機實作之演算法,應依據各模式要求,產生初始化向量,並符合NIST發布之初始化向量要求。
不表列NIST、ANSI或IEEE,改為國際標準組織所公布具安全性之金鑰使用及管理標準。
3
5.4.3.3 金鑰使用之隨機數,應符合國際標準組織所公布具安全性之隨機位元產生規範要求。
H.2.3.H 金鑰使用之亂數,應符合NIST或ANSI發布之隨機位元產生規範要求。
不表列NIST、ANSI或IEEE,改為國際標準組織所公布具安全性之金鑰使用及管理標準。
資料來源:本研究整理
3.測試項目移除說明 依據2019年,Google公告的Android 9相容性定義(Android 9 Compatibility Definition),由於原規範部分要求已納入該定義的基本要求,故產業標準並未納入以下原規範的測試項目:
(1)D.3.1.B手機系統應提供使用者遠端鎖定功能及相關安全設定,以確保手機在遺失或遭竊的情況下,可讓使用者在遠端啟動鎖定。
(2)D.3.2.B手機系統應提供使用者遠端刪除資料功能及相關安全設定,以確保手機在遺失或遭竊的情況下,可讓使用者在遠端刪除資料。
(3)P.1.1.B手機應提供使用者可開啟及關閉無線傳輸技術功能之介面。
(4)P.1.2.B手機以無線傳輸技術功能與其他設備進行第一次連接時,須經使用者同意後才可建立連線。
(5)O.2.2.B手機系統應支援螢幕解鎖錯誤之強制鎖定保護機制,以保護個人資訊,避免遭未經授權的使用。
四、抽測規劃與執行結果
為保障消費者權益,提升消費者資安意識及帶動智慧型手機製造商重視內建軟體資通安全,通傳會於108年進一步採取智慧型手機內建軟體資安抽測,委請TTC針對第1季銷售量較高,且未取得認證之10款不同品牌智慧型手機執行手機抽測事宜,期盼藉由發布抽測結果,提升輿論及廣大消費者之資通安全意識及素養。
抽測項目則是以2016年OWASP Mobile Top 10為依據,自「智慧型手機系統內建軟體資通安全檢測技術規範」挑選較相關之檢測項目,如表4所示。
表4 抽測項目與OWASP Mobile TOP 10關聯面項
項次
「智慧型手機系統內建軟體資通安全檢測技術規範」
OWASP Mobile TOP 10
1
參考D.2.1.B手機系統內建軟體應將敏感性資料儲存於作業系統保護區內或以加密方式儲存
M1 平臺使用不當
M2 不安全的數據儲存
2
P.2.1.B手機系統內建軟體透過無線傳輸技術功能傳輸敏感性資料時,應使用加密傳輸,以確保敏感性資料安全
M3 不安全的通訊
3
P.2.2.M手機系統內建軟體應避免交談識別碼遭重送攻擊
M4 不安全的身分驗證
4
P.2.3.M手機系統內建軟體與付費功能伺服器間之加密傳輸,應使用安全之加密演算法
M5 加密強度不足
5
A1.1.B手機系統內建軟體在初次存取使用者已綁定裝置之帳戶時,應先行認證使用者身分與其權限,以確保內建軟體具備該帳戶使用權限
M6 不安全授權
6
參考A.4.2.M手機系統內建軟體應具備資料隱碼攻擊字串的處理能力
M7 客戶端程式碼品質問題
7
A.4.3.M手機系統內建軟體應具備延伸標記語言攻擊字串的處理能力
M8 程式碼竄改
8
D.2.3.M(+)手機系統內建軟體與遠端伺服器溝通之帳號、密碼及金鑰不應以明文方式存在於執行檔中,以避免遭不正當的方式存取
M9 逆向工程
9
參考A.3.2.B內建軟體未預設開啟不必要之權限
M10 無關的功能
參考A.3.3.M手機系統未預設開啟不必要之網路連接埠
10
參考O.1.1.B手機系統更新時不應以明文傳輸
資料來源:本研究整理
108年10月初次測試評分結果,僅APPLE iPhone XR,10個抽測項目皆符合要求,手機廠商或代理商收到初測報告後有45天修正期限。109年2月進行第1次複測:HTC U12、三星GALAXY A7 2018、NOKIA 8.1、SONY XPERIA L2、ASUS ZENFONE MAX M1、SUGAR P1、華為Y9 2019等7款通過。109年4月進行第二次複測,OPPO AX5通過,尚有1款手機因內建軟體存在漏洞未通過,考量若公布漏洞反而會讓駭客有機可乘,故不公布該款手機廠牌與型號,目前已請廠商修補該漏洞。
五、未來規劃
臺灣資通產業標準協會於109年7月10日正式公告「智慧型手機系統內建軟體資安標準與測試規範」,該產業標準將取代原「智慧型手機系統內建軟體資通安全檢測技術規範」,做為實驗室檢測依據,未來也將作為推動智慧型手機系統內建軟體資通安全抽測之檢測依據。目前TTC正配合通傳會109年度智慧型手機系統內建軟體資通安全抽測規劃,持續辦理抽測作業;初步抽測項目構想,將參考2020年3月OWASP出版的行動應用資訊安全驗證標準1.2版( Mobile Application Security Verification Standard) 安全構面,優先挑選產業標準對應的新增測項,同時加入108年度容易不符合測項。
6 預期透過智慧型手機資安抽測措施,適時增加主要品牌/型號之抽測次數及數量,能誘導製造商自主參與檢測及認證,促成認證與販售之良性循環,同時也能提高民眾對智慧型手機資安風險意識及警覺性,達到保護消費者的目的。
(本文作者為財團法人電信技術中心工程師)