首頁 > APP的度量衡─資安檢測標準的剖析
:::

APP的度量衡─資安檢測標準的剖析

行動裝置上的APP在當今生活的各方面幾乎都占有一席之地,
 使得APP的安全性成為資訊安全的重要課題之一。 
因此,國內針對APP已訂定了資安檢測標準,其資安範疇共分為6個面向。
 
 

資安檢測標準的剖析

隨著智慧型手機的普及,全球也步入了智慧型手機時代,台灣當然不能例外。根據Newzoo於2017年4月的全球手機市場報告,台灣的智慧型手機滲透率已高達70.4%,使用人數接近一千六百六十萬人,人手一機的時代似乎已相去不遠。

 

智慧型手機的使用率為何如此之高?觀之智慧型手機與傳統手機最大的差別,就在於智慧型手機可以安裝許多應用程式,提供使用者各式各樣的擴充功能:諸如把玩各式手遊以消磨時間、透過訂票APP購買火車票、從社群軟體得知親朋好友發生的趣事、或以行動支付節省購物時須掏錢包的動作等。

 

除此之外,金融科技(FinTech)、工業4.0、物聯網、雲端應用等新興科技所帶來的業務模式改變,使得手機應用程式的使用更為蓬勃發展。但在這麼多的應用程式中,有哪些APP是「安全」的?

 

國內APP的資安檢測

 

隨著手機應用層面的拓展,行動裝置與我們的生活更加息息相關,APP資安的重要性日趨受到重視。在APP安全檢測方面,除了國際上的通用規範以及各國訂定的法規外,我國在這方面也另制定有「行動應用APP基本資安規範」。其最初的版本是經濟部工業局於民國103年6月決議制定的,以供行動應用APP的開發業者遵循。目前最新版本則是資訊工業策進會協同中華民國資訊安全學會共同修訂的「行動應用APP基本資安檢測基準V3.0」(以下簡稱「檢測基準」),已於107年5月完成修訂。

 

由於行動應用程式開發時程較短,且多採取委外開發模式,因此程式開發人員在功能優先的導向下,常忽略許多程式開發安全管控的要求,造成行動應用程式使用者資料外洩或財務損失的風險。由於APP的種類繁多,且各有不同的作用及目的,為了讓檢測基準中的檢測項目能夠對應到不同種類的應用程式,檢測基準把APP分為3種類別。

 

甲類─不需要使用者身分鑑別的應用程式,例如計算機、手電筒、字典等不需得知使用者身分的APP。

 

乙類─需要使用者身分鑑別的應用程式,例如社群軟體、通訊軟體等需要知道使用者身分的APP。

 

丙類─含有交易行為的應用程式,例如購票軟體、含有儲值功能的手機遊戲等可以藉由花費金錢而得到功能或商品的APP。

 

這3種類型的應用程式在檢測基準中會分別對應到不同的檢測項目,而這些檢測項目的內容會針對所對應種類的APP做出資安方面的技術檢查。

 

APP安全範疇分類

 

APP的安全性看似只需要針對開發商開發APP的程式碼把關,實際上卻是一個更為複雜的問題:你所儲存的資料是否有洩漏的疑慮?你的帳號密碼真的只有你知道?你在連接網路時會不會有人正從中竊取你的資訊?這些問題都還只是APP資安所需考量的冰山一角。雖然這些問題大多跟開發商的開發過程有關,但剩下的絕大部分還是無法從表面觀察到或想到的。

 

檢測基準把APP的資安範疇分為6大面向:行動應用程式發布安全、安全敏感性資料保護、交易資源控管安全、行動應用程式使用者身分鑑別及授權與連線管理安全、行動應用程式碼安全、伺服器端安全檢測。

 

面向一:行動應用程式發布安全 對APP而言,除了程式本身的完整性外,發布給使用者使用是APP本身要達到的目的及使命,也是一個重要的課題。不論是Android或是iOS,面對更新頻繁的作業系統版本,許多在舊版作業系統產生的漏洞會在新版作業系統發布時填補及修正。若因為作業系統版本的更新而造成APP無法使用,該怎麼辦?如果使用者沒有主動更新作業系統而造成APP的漏洞,又該怎麼辦?這些都是APP在發布或更新時可能遇到的問題。

 

這一面向主要是對於發布行動應用程式的相關資訊,包括發布、更新,以及問題回報做出檢測,像是APP開發商應該在發布及更新時讓使用者得知它會使用到的權限或資料。畢竟權限以及個人資訊對於使用者而言是重要的敏感資料,檢測標準對APP做這方面的檢查,一方面是為了保障使用者的權益,另一方面是確保APP對於作業系統版本可能產生的漏洞有足夠的填補機制。

 

面向二:安全敏感性資料保護 在現在網路發達的年代,資料的取得固是較為容易,但對資料的保護也要給予同等的重視。「個人資料保護法」明確定義了個人敏感性資料的內容,以及那些資料應當如何保護而不會侵犯到人民的利益。在APP的世界中,不是只有「個人資料保護法」裡面所定義的個人資料需要保護,還包括了照片、通訊錄、通話紀錄等以數位形式儲存的資料。

 

這面向主要是對APP在個人敏感性資料進行操作時的檢測,包括針對敏感性資料的蒐集、利用、儲存、傳輸、分享、刪除等。在進行上述動作時,必須檢查APP是否有先取得使用者同意,或者提供使用者拒絕對個人敏感性資料操作的機制。若經過使用者同意後,APP必須保障使用者的敏感性資料不會遭到竊取或洩漏。

 

面向三:交易資源控管安全 現在APP提供的功能越來越多,甚至利用APP購票購物都已是稀鬆平常的事。但也因為利用APP購物牽涉到金錢往來,APP對於「交易」這件事才更需要嚴格把關,以防止使用者在不知情的情況下造成財物損失。

 

這個面向主要控管的就是交易資源。什麼是「交易資源」?「交易資源」是指透過行動應用程式內所提供的購買功能,讓消費者取得的額外功能或者內容。不單單是購買,其實只要牽涉到金錢流通所取得的東西就算是交易資源。舉凡用APP訂購火車票、在遊戲中買裝備,甚至是花錢移除APP中的廣告,這些獲得的物品或功能都可稱為「交易資源」。

 

而這面向的檢測基準主要專注在APP是否對於使用者使用上述的交易資源時有適當的通知或警示,以保障消費者的權益。檢測基準的條文內容包括「行動應用程式是否在使用交易資源前主動通知使用者」、「是否提供使用者拒絕使用交易資源的權利」、「在使用交易資源前,行動應用程式必須對使用者做身分鑑別及記錄交易時間」等。這些對APP要求的動作,都是用以確保所有交易資源的行為都出自使用者本人。

 

面向四:行動APP使用者身分鑑別及授權與連線管理安全 現今許多類型的行動應用程式都有「帳戶」或「帳號」的概念,而這種概念的出現無非是想防止行動應用程式使用者身分遭到冒用。有鑑於此,這面向的檢測基準主要專注於行動應用程式是否對使用者進行身分鑑別,以保護使用者在使用行動應用程式時的帳戶安全性。

 

除此之外,行動應用程式也有與遠端伺服器連線和傳輸資料的可能性,而在連線或傳輸資料前,必須確保與行動應用程式溝通的遠端伺服器是可以信任的,避免使用者傳輸敏感性資料到不知名的遠端而遭受損失。至於要怎麼確認呢?那就得檢查伺服器憑證了,因此連線管理安全的面向主要專注在憑證的檢查上。

 

面向五:行動應用程式碼安全 如文章前段提及,由於行動應用程式開發時程較短,且多採取委外開發模式,程式開發人員在以功能為優先的導向下,時常會忽略許多程式安全開發管控的要求,因此在開發過程中可能會誤用有已知漏洞的函式庫或惡意程式碼等。

 

為避免這種情況,這面向主要檢查在行動應用程式的程式內部,是否有已知的惡意程式碼,或使用了已知資訊安全漏洞的函式庫等。另外,APP也須對使用者的輸入做驗證檢查,以避免惡意使用者在輸入時注入了相關的惡意程式碼,而導致APP洩漏資料等風險。

 

面向六:伺服器端安全檢測 行動應用程式所搭配的行動應用平台伺服器端,由於提供的存取介面是行動應用程式,而非使用者直接存取的介面,因此開發商容易忽略伺服器端安全的防護措施。行動應用平台伺服器端本質其實就是網站及Web Service伺服器,若無適當的安全設計與開發,同樣有傳統網頁應用程式的弱點。

 

以往對於APP伺服器端的安全檢測以建議與宣導為主,對於實際檢測並無強制規定,主要原因是實際對伺服器端做檢測有一定的難度。但隨著APP的應用情境逐漸擴增,考慮到連線到伺服器的狀況越來越頻繁,不得不對伺服器端做一些基本的檢測。其中檢測基準的條文內容包括「檢查所連線的伺服端網域是否是特定安全網域」、「連線時是否進行憑證綁定」、「是否使用HTTPS連線」、「是否對伺服器做定期弱點掃描」等檢測方式,以確保APP對於伺服器的連線安全。

 

APP檢測基準的現在與未來

 

行政院國家資通安全會報早在民國103年就認知到行動APP在資安防護上的重要性。到目前為止,台灣在行動應用APP基本資安檢測制度的推動算是走在世界的前端,導致目前難以找到一個完善的制度移植過來使用,因此必須發展屬於自己的檢測制度及檢測技術。

 

對於APP檢測基準的強化勢在必行,我國的檢測基準除了參考國際標準外,也與很多廠商、專家以及使用者會商研討,目的就是希望制定出完善的APP資安檢測基準,以促進民眾使用APP的安全,同時增進相關產業的發展。

 
推薦文章