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
UE4.14で入る新機能の一部を 駆け足でご紹介!
UE4.14で入る新機能の一部を 駆け足でご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
KLab Inc. / Tech
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
これからはじめるインフラエンジニア
これからはじめるインフラエンジニア
外道 父
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
IPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
KLab Inc. / Tech
Recommended
UE4.14で入る新機能の一部を 駆け足でご紹介!
UE4.14で入る新機能の一部を 駆け足でご紹介!
エピック・ゲームズ・ジャパン Epic Games Japan
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
KLab Inc. / Tech
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
MorioImai
これからはじめるインフラエンジニア
これからはじめるインフラエンジニア
外道 父
一般的なチートの手法と対策について
一般的なチートの手法と対策について
優介 黒河
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
IPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い
富士通クラウドテクノロジーズ株式会社
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
KLab Inc. / Tech
Process Monitor の使い方
Process Monitor の使い方
彰 村地
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
Tokoroten Nakayama
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
mao999
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
historia_Inc
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
モノビット エンジン
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
Unity Technologies Japan K.K.
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4
Gerke Max Preussner
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
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
Process Monitor の使い方
Process Monitor の使い方
彰 村地
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
Tokoroten Nakayama
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
mao999
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
KLab Inc. / Tech
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
historia_Inc
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
モノビット エンジン
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
Unity Technologies Japan K.K.
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
Unity Technologies Japan K.K.
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Kuniyasu Suzaki
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4
Gerke Max Preussner
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
富士通クラウドテクノロジーズ株式会社
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
Shingo Fukui
What's hot
(20)
Process Monitor の使い方
Process Monitor の使い方
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
難易度ボラタリティグラフという分析手法
難易度ボラタリティグラフという分析手法
4章 Linuxカーネル - 割り込み・例外 3
4章 Linuxカーネル - 割り込み・例外 3
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
「Helix Core」導入事例紹介 『小~中規模事例 "Unreal Engine 4 × Helix Core ヒストリア運用レギュレーション紹介"』
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
【CEDEC2013】20対20リアルタイム通信対戦オンラインゲームのサーバ開発&運営技法
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
【CEDEC2018】CPUを使い切れ! Entity Component System(通称ECS) が切り開く新しいプログラミング
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
UE4×Switchで60FPSの(ネットワーク)対戦アクションをなんとかして作る! | UNREAL FEST EXTREME 2020 WINTER
【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
仮想化技術によるマルウェア対策とその問題点
仮想化技術によるマルウェア対策とその問題点
Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4
自宅vSphereからニフクラに引っ越ししてみた
自宅vSphereからニフクラに引っ越ししてみた
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
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