APP檢測
24.Jun.2021

安華聯網揭露臺灣App資安常見3大風險 不安全的資料儲存與傳輸 是開發人員最容易疏忽的問題

分享:
行動App應用廣泛,但企業機關自行或委外開發的App,在資安防護上做的如何?今年上半有業者公布自家檢測實驗室經驗,指出國內有3大App資安風險
隨著手機應用的普及,行動App的重要性早已不言而喻,因此App的安全性也同樣受到高度重視,然而,經歷多年的發展,臺灣還是有很多企業組織與軟體開發人員,一開始就沒有把安全納入考量。這樣的情形,最近兩三年仍時常發生嗎?今年4月,安華聯網公布自家「行動應用App基本資安檢測基準」(MAS)的檢測經驗,技術長劉作仁表示,他們的資安檢測實驗室觀察到國內有3大常見的App資安問題。

從App資安檢測經驗,看國內App開發3大常見問題

對於臺灣行動App的開發,有哪些常見安全問題?安華聯網在他們檢測過的國內400支左右App中,當中包含4成是金融領域App,2成是政府單位,其他還包括行動支付、教育、醫療與運動產業,發現3類常見風險最容易發生。若對應OWASP Mobile Top 10的風險類別,分別是不安全的資料儲存(Insecure Data Storage)、不安全的傳輸行為(Insecure Communication)、用戶端程式碼品質問題(Client Code Quality)。其中又以前兩種最嚴重,都有近50%比例有此狀況存在。不論企業自行開發或是委外,都應該要及早注意。
 

App資安-資料儲存不安全

簡單來說,就是儲存在手機的資料,沒有妥善保護,這是他們最常發現到的問題。以社交App為例,當用戶下載安裝後,可以拍照並分享,但若這張照片放在所有App都可存取的目錄,此時,一旦有駭客打造惡意的App,將可取得這些照片。另外,像是用戶使用醫院App掛號,該程式貼心地將姓名、身分證字號與年齡等資料,儲存在手機之內,之後每次民眾掛號時,可以不用再重新輸入資料,看似方便,之後經檢查卻發現,民眾資料被直接存放手機的目錄底下,沒有套用任何加密。

關於這樣的情形,也就是用戶端裝置未適當保護敏感性資料,劉作仁表示,其實這在OWASP或MAS標章都有規範,禁止將使用者個人資料用明文方式存放於手機。不論是存放在共享目錄,或是應用程式的目錄,都不能用未加密的方法將敏感資訊儲存在手機,包括個人資料或手機SIM卡相關資訊等。
還有那些狀況要特別留意?例如,將敏感資料(User ID)記錄於記憶體參數中,或是儲存於日誌檔案。

他解釋,有些開發人員可能需要知道程式是否寫錯,留下很多Log記錄,但完成Debug後並未刪除或關閉,因此,他們檢測時就常在日誌檔案發現這些敏感資料,當中不只有電話號碼、暱稱,甚至還有密碼與身分證字號。此外,還有客戶誤以為Base 64是加密的狀況,但實際上這只是編碼方式,只要有一點技術能力,都能夠還原。

劉作仁強調,App開發者應該要知道:敏感性資料並非不能儲存,但要讓用戶知道儲存了那些資料,以及要用安全的方法儲存。
對此,他列出三個原則,包括:敏感資料勿使用不安全的加密方式儲存,包括勿以明文方式儲存,要用合格的加密演算法去儲存;敏感資料勿儲存於不安全路徑或檔案,像是日誌檔與SD卡的目錄;建立ROOT偵測機制以提升App安全性,降低敏感資料洩漏的風險。
(圖1)臺灣App開發常見風險安華聯網
關於用戶端裝置未適當保護敏感資料的情況,劉作仁表示,不應以明文方式存放於手機,包括放在手機共享或應用程式的目錄。根據他們的經驗,有時在日誌檔案與記憶體中,也會發現明文資料的內容,這樣的狀況同樣要注意。

App資安-資料傳輸不安全

大多數App都有網路通訊能力,需要與雲端伺服器應用程式去取得對應的資料,但在連線過程當中,很多開發人員往往會忽略相關安全。此時可能會有3個狀況,包括:未以加密方式(HTTPS)傳輸敏感性資料,未檢查憑證來源,以及使用過舊的TLS版本。他解釋,部分開發人員不知道要採用HTTPS加密連線傳輸,僅用明文HTTP傳送資料,如此一來,經由這種方式傳輸的帳號密碼資料,都很容易被看光。

而他更要提醒的是,雖然現在大家開始知道要採用HTTPS,但還是有些地方要注意。例如,一旦App未檢查連線安全性,此時,駭客可以運用中間人攻擊,讓App以為跟伺服器連線,實際卻是跟駭客電腦連線,這將導致訊息被竄改、資料遭竊,以及被植入惡意程式等風險。探究其原因,在於開發者疏於檢查憑證,導致App無法識別伺服器的真假,因此在實驗室檢測的過程中,還是可以看到傳輸的資料內容。不僅如此,他觀察到有客戶對於HTTPS認知甚少,因為開發者使用了老舊且不安全的TLS 1.0,並在TLS採用了RC4演算法。

該如何改善?劉作仁表示,使用安全的加密傳輸協定(HTTPS)傳輸敏感性資料是必要的,但也要注意TLS 版本需1.1版以上,才符合MAS標章基本要求,而有的國外標準更是要求1.2版以上,甚至是1.3版,才能通過安全測試。同時,TLS採用的演算法也應採指定的AES、3DES演算法,以及2,048位元以上的RSA,或是224位元以上的ECC加密演算法。

同時,App需加入憑證綁定的安全機制。安華在這方面執行的檢查項目,包括:憑證須為開發人員所指定,以及憑證是否仍在有效期限,並且未被註銷,還有憑證包含連線的伺服器網域名稱。還有哪些要注意的地方?例如,駭客利用假的憑證,像是憑證名稱一樣,但簽發單位不同,以及檢查是否為合格ROOT CA簽發,還有發現憑證被指向其他目的時,App需有阻斷連線的能力。
(圖2)臺灣App開發常見風險安華聯網_攝影羅正漢-修
關於資料傳輸不安全的情況,劉作仁表示,除了使用安全的加密傳輸協定(HTTPS)傳輸敏感性資料,也要注意App連線時應檢查是否連線至正確的伺服器,否則也很容易發生中間人攻擊,使得攻擊者可取得用戶登入帳號與密碼。

App資安-資料輸入的內容未經完整驗證

這是用戶端程式碼安全性方面的問題,例如,在使用者操作介面上,沒有過濾使用者輸入的內容,一廂情願地認為使用者都會輸入正確的資料,是App開發者必須注意的心態。這樣的問題不僅出現在網站開發,也包含手機應用程式。若未針對輸入的資料進行完整性驗證,就會有SQL Injection、緩衝區溢位、格式化字串、XSS攻擊,以及Local File Inclusion等風險。

為了避免這樣的情形發生,劉作仁建議,App在前端與後端都要採取相關防範機制。例如,針對應用程式內所有欄位,在前端就要做到限制輸入型別或輸入格式,像是電話欄位僅能輸入數字,以及限制字串長度,像是電話欄位僅能輸入10碼;後端也需要針對使用者輸入特殊字元過濾,或對不安全的字元進行編碼。
(圖3)臺灣App開發常見風險安華聯網_攝影羅正漢-修
對於資料輸入的內容未經完整驗證,安華聯網提醒需實作驗證使用者輸入字串資料類型與長度的正確性,並免惡意輸入導致App損毀、緩衝區溢位,以及各式注入攻擊的發生,並提供前端與後端改進的建議。

及早訂定App資安需求、予以因應,勝於事後補救

基於上述App安全檢測經驗而言,我們注意到,這其實透露出一個危險的狀況,那就是:很多企業在App開發完成後,即便到了送驗的階段,卻還有很多基本安全問題沒有妥善處理,等於到了應用程式開發後期階段,又要花額外時間去修正,而這當中,又有很多是OWASP Mobile Top 10已列出的常見問題。為了解決這些弱點,可能會導致App推出時程受到影響。

看起來,國內App開發人員的安全認知,以及後續在安全方面軟體測試,或是委外開發的資安驗收,都還有很大進步空間。企業該如何改進這些問題?對此問題,劉作仁認為,雖然現今的軟體開發過程,已有軟體測試(QA)工程師負責功能測試,但資安方面的測試,一般QA較難以切入,再加上App自動化檢測工具並不普及,很難在內部測試階段就發現這些問題。因此,他認為,還是需要仰賴開發人員的教育訓練,以及在開發前,專案經理就要明確訂立資安需求,才可以有效減少App安全風險。
 

MSTG相關App資安檢測規範將成新重點

除了揭露近年國內App開發在MAS標章驗證現況,劉作仁在說明上述3類App常見風險時,在分享實際案例,以及說明修補建議之餘,同時他還提供了相關參考規範。舉例來說,以「不安全的用戶端資料儲存」而言,在經濟部工業局行動資安檢測標準(MAS)中,有一個敏感性資料保護類別,包含行動應用程式敏感性資料傳輸檢測,針對資料儲存限制、保護與控管的三個安全要求;而在TAICS智慧機系統內建軟體資安檢測標準中,主要針對手機出廠預載的App做檢測,也有4個相關安全要求,例如,內建軟體應將帳號、通行碼或金鑰儲存於作業系統保護區內,或以加密方式儲存等,就是其一。

而在國內的App資安檢測標準之外,劉作仁也舉出兩項國際標準,像是近年新興的ioXt聯盟,今年發布了Mobile App Profile,針對手機應用程式也有這方面的要求,另一個則是越來越多人討論的OWASP Mobile Security Testing Guide(MSTG),更受矚目。此指引提供檢核表Mobile App Security Checklist,主要是基於MSTG與OWASP行動應用安全驗證標準(MASVS)而成,劉作仁並指出,目前MASVS包含了最豐富的測試項目。值得關注的是,現在臺灣已有金融單位開始重視,將MSTG相關列為App檢測的必要條件之一。
(圖6)臺灣App開發常見風險安華聯網
針對這次3大常見風險,劉作仁同時也提供了相關規範作為參考,舉例來說,以「不安全的傳輸行為」(Insecure Communication)的問題類型來看,包括國內的經濟部工業局行動資安檢測標準(MAS)、TAICS智慧機系統內建軟體資安檢測標準,以及國際上的OWASP Mobile Security Testing Guide與ioXt Mobile,都有對應的檢測項目。
(圖5)MAS行動應用資安聯盟
關於經濟部工業局公告的「行動應用App基本資安檢測基準」,這是在2015年推出。希望國內App的開發,至少做到基本的資安防護水準。如今,在國內的行動應用資安(MAS)聯盟中,App檢測認可實驗室已有13間。 目前,這項標準非強制性要求,主要還是透過相關產業主管機關的力量,自行決定是否要求,不過,近年國內金融機關已受到主管機關要求,而政府也在推動所有單位都需要取得MAS標章,因此,這兩類產業對於App檢測較為積極。
媒體報導

詢問

聯絡我們
感謝您的造訪,請留下您的聯絡方式,後續會有專人回覆您的需求。
  • 安華聯網致力於保護您的隱私。 您的資料不會與第三方共享,您將不定期收到資安相關訊息和活動。 您可以隨時退訂。 欲了解更多,請閱讀我們的隱私權政策。 左方請勾選是否同意安華聯網隱私權政策,以便提供您相關內容。

為何選擇安華聯網

深度資安檢測技術+

  • 已發現40+全球首發安全弱點(CVE)
  • 已發掘3000+物聯網安全弱點

深耕物聯網產品安全+

  • 執行150+物聯網產業相關資安專案
  • 測試超過700+連網產品安全

全球合規與認驗證能力+

  • 協助全球10+國家與300+客戶通過認驗證
  • 具工控、金融、醫療、車載等產業合規經驗
WeChat
本網站使用cookies以改善您的使用體驗,並提供更優質的客製化內容。若您未改變cookies設定並繼續瀏覽我們的網站(點擊隱私權政策以獲得更多資訊),或點擊繼續瀏覽按鈕,代表您同意我們的隱私權政策及cookies的使用。