Submit Search
Upload
Mobile 開發常見資安議題
•
17 likes
•
3,450 views
JunAn Lai
Follow
主要介紹Mobile開發時常見資訊安全議題
Read less
Read more
Mobile
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
怎樣在 Flutter app 中使用 Google Maps
怎樣在 Flutter app 中使用 Google Maps
Weizhong Yang
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
Weizhong Yang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
Recommended
怎樣在 Flutter app 中使用 Google Maps
怎樣在 Flutter app 中使用 Google Maps
Weizhong Yang
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
ssuser070fa9
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
JustSystems Corporation
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
Weizhong Yang
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
富士通クラウドテクノロジーズ株式会社
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活
Drecom Co., Ltd.
Secure your app with keycloak
Secure your app with keycloak
Guy Marom
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Dai Matsui
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
Eiji Sasahara, Ph.D., MBA 笹原英司
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
Google Cloud Platform - Japan
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせ
Takahiro Miyaura
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Ryosuke Uchitate
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Takeshi Fukuhara
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
apkiban
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
Satoshi Takami
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
apkiban
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
tamtam180
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全
Net Tuesday Taiwan
【HITCON FreeTalk】Supply Chain Attack
【HITCON FreeTalk】Supply Chain Attack
Hacks in Taiwan (HITCON)
More Related Content
What's hot
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活
Drecom Co., Ltd.
Secure your app with keycloak
Secure your app with keycloak
Guy Marom
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Dai Matsui
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
Eiji Sasahara, Ph.D., MBA 笹原英司
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
Google Cloud Platform - Japan
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせ
Takahiro Miyaura
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Ryosuke Uchitate
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Takeshi Fukuhara
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
apkiban
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
Satoshi Takami
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
apkiban
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
tamtam180
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
What's hot
(20)
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
コンテナで始める柔軟な AWS Lambda 生活
コンテナで始める柔軟な AWS Lambda 生活
Secure your app with keycloak
Secure your app with keycloak
モバイルアプリケーション管理(MAM)自社アプリ開発手法
モバイルアプリケーション管理(MAM)自社アプリ開発手法
Android カスタムROMの作り方
Android カスタムROMの作り方
マイクロサービスのセキュリティ概説
マイクロサービスのセキュリティ概説
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
Google Cloud Platform で実現するプロダクションレディ マイクロサービス
ARマーカーを利用したHoloLens同士の位置合わせ
ARマーカーを利用したHoloLens同士の位置合わせ
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Amazon Cognito使って認証したい?それならSpring Security使いましょう!
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
Part 1: IoT 基盤 (製造リファレンス・アーキテクチャ勉強会)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
Similar to Mobile 開發常見資安議題
20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全
Net Tuesday Taiwan
【HITCON FreeTalk】Supply Chain Attack
【HITCON FreeTalk】Supply Chain Attack
Hacks in Taiwan (HITCON)
手機可以埋藏秘密,但是 App 不行 - 淺談 App 安全檢測與實作
手機可以埋藏秘密,但是 App 不行 - 淺談 App 安全檢測與實作
Hong-Ting Zhou
Twitter Wanghongyang Backup Security 20090402 0713
Twitter Wanghongyang Backup Security 20090402 0713
Hongyang Wang
雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取
openblue
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
Orange Tsai
雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取
OFMKT
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS
08
08
chanlung wu
安博士Asec 2010年9月安全报告
安博士Asec 2010年9月安全报告
ahnlabchina
99 第六屆國際健康資訊管理研討會簡報botnet
99 第六屆國際健康資訊管理研討會簡報botnet
Shi-Hwao Wang
黑站騎士
黑站騎士
openblue
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
ahnlabchina
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
ahnlabchina
SYMANTEC CODE SIGNING 為您的軟體增加至關重要的安全功能
SYMANTEC CODE SIGNING 為您的軟體增加至關重要的安全功能
Symantec
雲端生活面面觀
雲端生活面面觀
Vista Cheng
Security threatsandtrends michaelsentonas
Security threatsandtrends michaelsentonas
ITband
Session1(更新20230205).pdf
Session1(更新20230205).pdf
ssuser9026c8
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Bill Hagestad II
安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告
ahnlabchina
Similar to Mobile 開發常見資安議題
(20)
20140610 net tuesday - 行動裝置安全
20140610 net tuesday - 行動裝置安全
【HITCON FreeTalk】Supply Chain Attack
【HITCON FreeTalk】Supply Chain Attack
手機可以埋藏秘密,但是 App 不行 - 淺談 App 安全檢測與實作
手機可以埋藏秘密,但是 App 不行 - 淺談 App 安全檢測與實作
Twitter Wanghongyang Backup Security 20090402 0713
Twitter Wanghongyang Backup Security 20090402 0713
雲端入侵:郵件攻擊與密碼竊取
雲端入侵:郵件攻擊與密碼竊取
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
雲端入侵 – 郵件攻擊與密碼竊取
雲端入侵 – 郵件攻擊與密碼竊取
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
08
08
安博士Asec 2010年9月安全报告
安博士Asec 2010年9月安全报告
99 第六屆國際健康資訊管理研討會簡報botnet
99 第六屆國際健康資訊管理研討會簡報botnet
黑站騎士
黑站騎士
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
安博士Asec 2010年1月安全报告
SYMANTEC CODE SIGNING 為您的軟體增加至關重要的安全功能
SYMANTEC CODE SIGNING 為您的軟體增加至關重要的安全功能
雲端生活面面觀
雲端生活面面觀
Security threatsandtrends michaelsentonas
Security threatsandtrends michaelsentonas
Session1(更新20230205).pdf
Session1(更新20230205).pdf
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告
Mobile 開發常見資安議題
1.
Mobile 開發 常⾒見見資訊安全介紹 賴俊安(Joey Lai)
2.
. . . .
. . () 2 2
3.
第三⽅方Pokemon暗藏⽊木⾺馬 發現有惡惡意軟體開發者將遠端存取⽊木⾺馬 (Android.Sandorat)偽裝成Pokémon Go應⽤用 程式,散佈在多個下載網站和遊戲論壇供玩家下載。⼀一旦玩家安裝了了有⽊木⾺馬病毒的 Pokémon
Go之後,攻擊者就獲得使⽤用者⼿手機的完全存取權限甚⾄至是信⽤用卡資料。
4.
官⽅方APP 資安風險 reference http://news.ltn.com.tw/news/politics/paper/1100473
5.
Gogoro APP 遭破解 reference http://www.setn.com/News.aspx?NewsID=166617 http://www.techbang.com/posts/44967-gogoro-three-funding-risk-inside-be-careful-all-internet- products
6.
OWASP • 開放網路路軟體安全計畫,簡稱OWASP(Open Web Application
Security Project) • 開放社群、非營利利性組織,全球⽬目前有82分會,主要⽬目標 是研議協助解決網路路軟體安全之標準、⼯工具與技術⽂文件, 長期致⼒力力於協助政府或企業瞭解並改善應⽤用程式的安全性 • 美國聯聯邦貿易易委員會(FTC)強烈建議所有企業務必遵循 OWASP所發佈的⼗十⼤大網路路弱點防護守則,美國國防部亦 將此守則列列為最佳實務,連國際信⽤用卡資料安技術(PCI) 標準更更將其列列為必要元件
7.
OWASP Mobile Top
10 • M1不當使⽤用⾏行行動作業平台(M1 - Improper Platform Usage) • M2不安全資料儲存(M2 - Insecure Data Storage) • M3不安全通訊(M3 - Insecure Communication) • M4不安全⾝身分認證(M4 - Insecure Authentication) • M5不⾜足夠的加密(M5 - Insufficient Cryptography)
8.
OWASP Mobile Top
10 • M6不安全授權(M6 - Insecure Authorization) • M7⽤用⼾戶端程式碼品質(M7 - Client Code Quality ) • M8程式碼竄改(M8 -Code Tampering) • M9逆向⼯工程(M9 - Reverse Engineering) • M10多餘的功能(M10 - Extraneous Functionality)
9.
M1不當使⽤用⾏行行動作業平台(M1 - Improper
Platform Usage) • 誤⽤用平台功能或平台安全控制使⽤用失敗(如 Android intents, permissions, Touch ID或 Keychain 誤⽤用)
10.
M1不當使⽤用⾏行行動作業平台(M1 - Improper
Platform Usage) • iOS • iOS7以上螢幕在背景時快取縮圖 • 被存在(App Folder) /Library/Caches/ Snapshots/com.bundle.id.of.your.app/ • 使⽤用applicationWillResignActive來來蓋⼀一張圖或是清除機敏資訊 • applicationDidBecomeActive時還原 • Android • 在登入畫⾯面避免被截圖 • getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
11.
M1不當使⽤用⾏行行動作業平台(M1 - Improper
Platform Usage) • iOS • Networking Cache Policies • HTTP或HTTPS的 request的URLCache • (App Folder)/Library/Caches/com.bundle.id.of.your.app/Cache.db • 清除Cache • [[NSURLCache sharedURLCache] removeAllCachedResponses]; • [[NSURLCache sharedURLCache] setDiskCapacity:0]; • [[NSURLCache sharedURLCache] setMemoryCapacity:0];
12.
M1不當使⽤用⾏行行動作業平台(M1 - Improper
Platform Usage) • Android • 在正式環境的App應將android:debuggable=“false” • allowBackup 設為false • Intents 限制使⽤用 • 如service使⽤用android:exported=“false” • 應只取⽤用需要之permission
13.
M2不安全資料儲存(M2 - Insecure
Data Storage) • ⽤用⼾戶端裝置未適當保護機敏資料,例例如:機敏資 料(帳號、密碼等)未加密或誤認資料”編碼”即已 加密,因⽽而可能導致機敏資料外洩
14.
M2不安全資料儲存(M2 - Insecure
Data Storage) • iOS • NSUserDefaults儲存機敏資料在JB⼿手機可輕易易存取 • 鑰匙串串(Keychain)功能使⽤用iOS 7以上的版本時,若若惡惡意第三⽅方有機會存取到有 加密的iTunes備份,Keychain就有可能被破解 • 因為當iTunes備份被啟⽤用時,iOS會重新對Keychain進⾏行行加密,所以這時如果 惡惡意第三⽅方可以知道備份的加密密碼,那麼Keychain就有可能部分被解密。 • 此外,Keychain在有進⾏行行越獄( jailbreak)的設備上,其存取控管也可能會失 效。在有越獄的⼿手機上,任何的應⽤用程式都可能存取到別隻程式的Keychain內 容。⽽而對於那些本⾝身就含有Bootrom漏洞洞(Bootrom exploit)的舊設備(例例如 iPhone4),攻擊者可以藉由實體存取⽽而破解Keychain。 (Reference ⾏行行動應⽤用資安聯聯盟)
15.
M2不安全資料儲存(M2 - Insecure
Data Storage) • • 當有使⽤用Keychain儲存資料時,開發⼈人員應使⽤用最嚴格的防護類別(可參參考 kSecAttrAccessible屬性),⽽而且使⽤用該種類別(class)完全不會影響到App本⾝身的 運作流暢度。例例如,若若你的應⽤用程式並不是設計於背景 (background)執⾏行行的,可 使⽤用kSecAttrAccessibleWhenUnlocked或 kSecAttrAccessibleWhenUnlockedThisDeviceOnly • 若若要避免因iTunes備份讓Keychain曝光,可以使⽤用「ThisDeviceOnly」保護類別 • 對於⾼高度敏感的資料,可考慮使⽤用Keychain所提供的另⼀一種更更安全的保護機 制,即應⽤用程式層的加密機制。 例例如在進入應⽤用程式時,使⽤用者會輸入通⾏行行密碼 (passphrase)以進⾏行行認證,並在資料儲存到Keychain前,⽤用此通⾏行行密碼對資料進 ⾏行行加密 (Reference ⾏行行動應⽤用資安聯聯盟)
16.
M2不安全資料儲存(M2 - Insecure
Data Storage) • Android • SharedPreference 儲存機敏資料在root⼿手機可 輕易易存取修改 • 使⽤用NDK儲存機密資訊
17.
M3不安全通訊(M3 - Insecure
Communication) • 未以加密⽅方式傳輸機敏資料如HTTPS,或是SSL版 本不正確,SSL handshake不正確,可能導致的 攻擊有中間⼈人攻擊(Man-in-the-middle attack)導致 機敏資料外洩或遭竄改
18.
pay.taipei 未使⽤用 HTTPS Reference http://www.techbang.com/posts/52151-pay-taipei-just-online-offline- because-of-alert-data-is-not-encrypted
19.
未使⽤用HTTPS • 使⽤用者機敏資料暴暴露在⾼高度風險下(帳號、密碼) • 中間⼈人攻擊(Man-in-the-middle
attack)竄改傳輸資 料,造成個資外流、盜刷
20.
未使⽤用HTTPS • Apple 要求所有提交app
store 的app必須使⽤用HTTPS連線
21.
中間⼈人攻擊(MITM) • reference • https://www.incapsula.com/web-application-security/man-in-the-middle- mitm.html
22.
Certificate Pinning • 把需要進⾏行行比對的憑證存在應⽤用程式,並且在進 ⾏行行SSL
Handshake時與伺服器憑證做比對 • 實作可參參考 http://devco.re/blog/2014/08/15/ssl- mishandling-on-mobile-app-development/
23.
M4不安全⾝身分認證 (M4 -
Insecure Authentication) • 使⽤用者驗證失敗、session處理理不正確等問題
24.
M4不安全⾝身分認證 (M4 -
Insecure Authentication) • App應先進⾏行行驗證如Regular Expression • 不只前端驗證,後端⼀一定要再進⾏行行驗證 • 若若使⽤用OAuth的token需要具有時效性,並且token 需要加密保存 • Session id長度在128bit以上確保不會遭暴暴⼒力力破解
25.
M5不⾜足夠的加密(M5 - Insufficient
Cryptography) • 加密的⽅方式不正確或加密程度不⾜足導致破解之可 能 • 使⽤用不安全的演算法如RC2.MD4.MD5.SHA1 • 避免hardcode key在app裡
26.
M6不安全授權(M6 - Insecure
Authorization) • 建議使⽤用TLS1.1以上的SSL協議 • 應由後端進⾏行行授權
27.
M7⽤用⼾戶端程式碼品質(M7 - Client
Code Quality ) • App程式碼品質不佳造成的問題,如buffer overflow. format string等 • 緩衝區溢位(buffer overflow),是針對程式設計缺陷,向程 式輸入緩衝區寫入使之溢位的內容(通常是超過緩衝區能儲存 的最⼤大數據量量的資料),從⽽而破壞程式執⾏行行、趁著中斷之際並 取得程式乃⾄至系統的控制權。 • 使⽤用靜態分析⼯工具如Xcode static analyze. Android Lint進⾏行行 分析並且改善 • 市⾯面上⼯工具如fortify. checkmarx
28.
M8程式碼竄改(M8 -Code Tampering) •
透過以下⼿手法對程式進⾏行行竄改 • binary patching, local resource modification, method hooking, method swizzling, and dynamic memory modification • 進⾏行行JB. root偵測並且混淆,若若偵測JB. root進⾏行行 相應動作
29.
JB偵測 Reference ⾏行行動應⽤用資安聯聯盟
30.
拒絕Debug模式執⾏行行 Reference ⾏行行動應⽤用資安聯聯盟
31.
M9逆向⼯工程(M9 - Reverse
Engineering) • 透過逆向⼯工程將可了了解程式式如何運作以及進⾏行行 分析造成風險 • iOS • 透過⼯工具如 IDA Pro, Hopper, otool, 對binary檔案 進⾏行行 decompile等進⾏行行反組譯,class-dump查看 class. category. protocol等
32.
M9逆向⼯工程(M9 - Reverse
Engineering) • Android • 透過⼯工具如apktool是拿來來把 apk 拆開,反編譯 apk 之後,看到smali檔案跟resource • dex2jar 可以把 apk 轉成 jar再⽤用jd-gui檢視 java code • 可進⾏行行竄改程式並且重新產⽣生apk檔
33.
M9逆向⼯工程(M9 - Reverse
Engineering) • 可使⽤用obfuscate進⾏行行程式碼混淆 • Android 本⾝身內建基本proguard⼯工具 • iOS 可⽤用open source https://github.com/ obfuscator-llvm/obfuscator/wiki • 可⽤用 obfuscate進階⼯工具,如DexGuard. Arxan. AppGuard等⼯工具除了了混淆之外也有些是加殼或是 靜態、動態防護
34.
M10多餘的功能(M10 - Extraneous
Functionality) • 額外功能,如開發時常常會使⽤用後⾨門或是在側 是環境為了了⽅方便便直接輸入密碼等功能容易易造成 不⼩小⼼心上線到正式環境的風險
35.
M10多餘的功能(M10 - Extraneous
Functionality) • 在程式開發階段,應進⾏行行⼈人⼯工code review避免此狀狀況發⽣生,可配 合如pull request機制來來進⾏行行merge前的關卡 • 檢查Log資訊是否不包含機敏資訊 • 使⽤用proxy⼯工具如charles. MITM proxy來來檢查app連線 • iOS • 可以使⽤用不同target或debug flag來來分開環境 • Android • ⽤用debug flag分開環境
36.
其他常⾒見見問題 • ⾏行行動應⽤用App使⽤用第三⽅方函式庫前,需先確認其是來來⾃自 可靠來來源、有持續更更新並經測試沒有漏 洞洞、後端⽊木⾺馬及 不明傳送⽬目的地。 •
對使⽤用者輸入驗證,避免SQL injection等問題 • iOS 使⽤用 ARC開發 • iOS使⽤用ATS(HTTPS)設定 • JB. Root已弊⼤大於利利
37.
安全軟體開發 • 設計階段:清楚定義資訊安全政策 • 開發階段:針對原始碼進⾏行行安全漏洞洞掃描,並且針 對漏洞洞等級分類追蹤與修復,及早發現問題並調整 •
測試階段:模擬駭客進⾏行行滲透測試(Penetration Test) • 上線階段:監控並追蹤攻擊,避免造成風險
38.
⿊黑⽩白箱測試 • iOS • Santoku.
Snoop-it. MobSF • Android • Santoku. MobSF
39.
Zero Day 平台 •
ZeroDay • 烏雲
40.
Q&A
Download now