i
� App
V3.0( )
107� 05
ii
App
App
104 8 App V1.0
105 2 App V2.0
106 3 App V2.1
107 5 App V3.0
i
1. .......................................................................................................................... 1
2. .................................................................................................................. 2
3. .............................................................................................................. 3
3.1. Mobile Application ....................................................... 3
3.2. Application Store .................................................. 3
3.3. Personal Data ........................................................................ 3
3.4. Secure Sensitive Data ............................................... 3
3.5. Password ................................................................................... 3
3.6. Transaction Resource ............................................................ 3
3.7. Session Identification, Session ID .................................... 4
3.8. Server Certificate .............................................................. 4
3.9. Certification Authority .......................................................... 4
3.10. Malicious Code ............................................................... 4
3.11. Vulnerability ................................................................ 4
3.12. Library ..................................................................................... 4
3.13. Code Injection ..................................................................... 4
3.14. Mobile Operating System ........................................... 4
3.15. Mobile Resource ......................................................... 4
3.16. In-App Update ............................................ 5
3.17. Common Vulnerabilities and Exposures ................. 5
3.18. Weak Cryptographic Algorithm .............................. 5
3.19. 。 Known Vulnerabilities ............................................ 5
3.20. Authentication ..................................................................... 5
3.21. Advanced Encryption Standard .............................. 5
3.22. Triple Data Encryption Standard .................... 5
3.23. Elliptic Curve Cryptography ................................... 5
ii
3.24. Certificate Pinning .............................................................. 5
3.25. Hash ............................................................................................ 6
3.26. Obfuscation ................................................................................. 6
3.27. Using Secure Sensitive Data ........................... 6
3.28. 乙 Log File ............................................................................. 6
3.29. Device Identifier ........................................................... 6
3.30. 乙 (Cache Files or Temporary Files) .............................................. 6
3.31. 乙 Configuration File ................................................................... 6
3.32. Encode ......................................................................................... 6
3.33. Decode ........................................................................................ 7
3.34. Payload ........................................................................................ 7
3.35. Collecting Secure Sensitive Data .................... 7
3.36. Storing Secure Sensitive Data ......................... 7
3.37. Common Vulnerability Scoring System ............. 7
3.38. (Secure Random Number Generator) ....................... 7
3.39. (Secure Domain) ....................................................................... 7
3.40. (Secure Encryption Function) ........................................... 7
4. .................................................................................................. 8
4.1. ............................................................... 9
4.1.1. .................................................................. 11
4.1.2. ...................................................................... 15
4.1.3. .......................................................................... 36
4.1.4. .............. 40
4.1.5. ...................................................................... 46
4.2. ..................................................................... 53
4.2.1. .......................................................................... 53
4.2.2. .......................................................................... 53
iii
5. ................................................................................................................ 56
5.1. Automatic ........................................................................ 56
5.2. Manual ................................................................................ 56
5.2.1. Static Analysis .......................................................... 56
5.2.2. Dynamic Analysis .................................................... 57
5.3. Code Analysis ................................................................. 57
5.4. Binary Code Analysis ................................................. 57
6. ................................................................................................................ 58
7. .................................................................................................... 59
8. ................................................................................................................ 60
9. ........................................................................................................................ 61
App ................................................................. 61
App : ..................................................... 62
App : ............................................. 70
App ......................................... 73
App ......................................................... 75
4.1.1. .................................................................. 76
4.1.2. ...................................................................... 79
4.1.5. ...................................................................... 85
4.2.2. .......................................................................... 86
iv
: : 1 小 ............................................................................................ 10
1
1.
� � , � Mobile
Application, App
� 103� 6 24 �
26 土
� App �
App
107 � 5
App V3.0
App
OWASP Web Mobile App
Security Checklist CSA MAST Cloud Security Alliance - Mobile Application
Security Testing NIST Special Publication 800-
163 Vetting the Security of Mobile Applications
凡
2
2.
� App
土 土
3
3.
� App V1.2
� App
3.1. Mobile Application
上 App
3.2. Application Store
三
3.3. Personal Data
、
「 入
3.4. Secure Sensitive Data
� � �
3.3 �
乙 」 上
� 土 力
3.5. Password
乙
3.6. Transaction Resource
、
一
App �
QRcode , App, 已 App , )
4
, AppApp App 一
3.7. Session Identification, Session ID
3.8. Server Certificate
3.9. Certification Authority
土
3.10. Malicious Code
3.11. Vulnerability
3.12. Library
人 FunctionObject Binary code
3.13. Code Injection
Command Injection 力 SQL Injection
3.14. Mobile Operating System
,
3.15. Mobile Resource
5
3.16. In-App Update
,
3.17. Common Vulnerabilities and Exposures
上 CVE
3.18. Weak Cryptographic Algorithm
CVE
3.19. 。 Known Vulnerabilities
CVE
3.20. Authentication
3.21. Advanced Encryption Standard
National Institute of Standards and Technology, NIST 2001 AES Advanced Encryption Standard
FIPS PUB 197 2002 AES128 Data Block 128 192 256Key Size AES, , Round
Number
3.22. Triple Data Encryption Standard
Triple Data Encryption Standard 64 ,
3.23. Elliptic Curve Cryptography
,
, 1985 Neal Koblitz Victor Miller ,
3.24. Certificate Pinning
6
3.25. Hash
, 乙
乙
3.26. Obfuscation
工 , 已
3.27. Using Secure Sensitive Data
3.28. 乙 Log File
乙
3.29. Device Identifier
International Mobile Equipment Identity, IMEI Mobile Equipment Identifier, MEID International Mobile Subscriber Identity, IMSI Integrated Circuit Card Identifier, ICCID
Media Access Control Address, MAC address Android Identifier, Android ID Android
Advertising ID, AIDiOS IFAID Identifier for Advertisers Identifier, IFAIDWindows Phone Device ID
3.30. 乙 (Cache Files or Temporary Files)
) 土,乙
乙 工
, : 乙 乙
乙 乙 乙
3.31. 乙 Configuration File
土 ,乙 工
,:
3.32. Encode
7
,
3.33. Decode
), ,
3.34. Payload
,
3.35. Collecting Secure Sensitive Data
3.36. Storing Secure Sensitive Data
乙
3.37. Common Vulnerability Scoring System
上 CVSS IT , 工 下
National Infrastructure Advisory Council, NIAC Forum of Incident Response and Security Teams,
FIRST 3
3.38. (Secure Random Number Generator)
ANSI X9.17
3.39. (Secure Domain)
。 。
Facebook Google Twitter OAuth 2.0
3.40. (Secure Encryption Function)
FIPS 140-2 Annex A
8
4.
App App
4.
:
root jailbreak
4.1.
� 土 、 工
�
�
App
� App
15
26
31
(
土 土
App
App
:
9
土
4.1.
4.1.1. 4.1.2.4.1.3. 4.1.4.
4.1.5.
小 : 1
10
:1� 小 小 小
� App 4. 5 4.1.x.y.z 4.1. :
x.y.z
� App 4.
上
小 :
� App 4.
� App 4.
11
4.1.1.
土
4.1.1.1.
4.1.1.1.2.
4.1.1.1.1.
App
12
4.1.1.1.2.
4.1.1.1.2
App 4.1.1.1
:
: App
:
App
REF-1
13
4.1.1.2.
4.1.1.2.1.
App
4.1.1.2.2.
App
4.1.1.2.3.
App
14
4.1.1.3.
4.1.1.3.1.
4.1.1.3.1.
4.1.1.3.1
App 4.1.1.3.
入
入 入
:
入
App
REF-1
4.1.1.3.2.
App
15
4.1.2.
土
4.1.2.1.
4.1.2.1.1.
4.1.2.1.2.
16
4.1.2.1.1.
4.1.2.1.1
App 4.1.2.1.
:
App
REF-1
17
4.1.2.1.2.
4.1.2.1.2
App 4.1.2.1.
(1)
(2) ,
4.1.2.1.1
4.1.2.1.1
18
4.1.2.2.
4.1.2.2.1.
App
4.1.2.2.2.
App
4.1.2.2.3.
App
4.1.2.2.4.
App
19
4.1.2.3.
4.1.2.3.4. 土 )
乙 乙 4.1.2.3.6.
4.1.2.3.7.
4.1.2.3.8.
4.1.2.3.1.
4.1.2.3.2.
4.1.2.3.5.
乙 乙 4.1.2.3.9.
十 子
20
4.1.2.3.1.
4.1.2.3.1
App 4.1.2.3.
(1)
(2)
(3) :
( ) (1) (2)
( ) (3)
( )
App
REF-1
21
22
4.1.2.3.2.
4.1.2.3.2
App 4.1.2.3.
(1)
(2) ,
4.1.2.3.1
4.1.2.3.1
4.1.2.3.3.
App
23
4.1.2.3.4. 土 )
乙 乙
4.1.2.3.4
App 4.1.2.3.
土 )
乙 乙
(1) 土 )
乙
(2) 土 )
乙
24
4.1.2.3.5. 乙
乙
4.1.2.3.5
App 4.1.2.3.
乙 乙
(1) 乙
(2) 乙
(3) 乙
乙
(1) (2) (3)
(1) (2) (3)
25
4.1.2.3.6.
4.1.2.3.6
App 4.1.2.3.
(1) 乙 乙
128
AES
(2) 乙 乙
Triple DES
(3) ,
(1) (2) (3)
(1) (2) (3)
26
4.1.2.3.7.
4.1.2.3.7
App 4.1.2.3.
4.1.2.3.4
4.1.2.3.4
27
4.1.2.3.8.
4.1.2.3.8
Hard Code
App 4.1.2.3.
乙 乙
CWE Hard code CWE-259 CWE-
321 CWE-798
28
4.1.2.3.9. 十 子
4.1.2.3.9
十 子
App 4.1.2.3.
十 子
十 子
29
4.1.2.4.
4.1.2.4.1.
4.1.2.4.1.
4.1.2.4.1
App 4.1.2.4.
(1) TLS 1.1
(2) 2048RSA 224
Elliptic Curve Cryptography
(3) 128AES Triple
DES
Payment Card Industry Security
Standards Council, PCI SSC 2015 12 TLS 1.0https://blog.pcisecuritystandards.org/migrating-from-ssl-and-early-tls
30
2018 6 30 TLS 1.1 TLS 1.0 SSL v3.0
TLS 1.0 2018 7 1 )
2018 7 1 TLS 1.1 TLS 1.0
土
31
4.1.2.5.
4.1.2.5.3.
4.1.2.5.1.
4.1.2.5.2.
32
4.1.2.5.1.
4.1.2.5.1
App 4.1.2.5.
(1)
(2)
App
REF-1
33
4.1.2.5.2.
4.1.2.5.2
App 4.1.2.5.
(1)
(2) ,
34
4.1.2.5.3.
4.1.2.5.3
App 4.1.2.5.
35
4.1.2.6.
4.1.2.6.1.
App
36
4.1.3.
土
4.1.3.1.
4.1.3.1.1.
。 4.1.3.1.2.
4.1.3.1.1. 。
4.1.3.1.1
App 4.1.3.1.
。
。
。
37
4.1.3.1.2.
4.1.3.1.2
App 4.1.3.1.
(1)
(2) ,
38
4.1.3.2.
4.1.3.2.1.
4.1.3.2.2.
4.1.3.2.1.
4.1.3.2.1
App 4.1.3.2.
),
39
4.1.3.2.2.
4.1.3.2.2
」
App 4.1.3.2.
) 」
」
40
4.1.4.
土
4.1.4.1.
4.1.4.1.1.
4.1.4.1.2.
4.1.4.1.1.
4.1.4.1.1
App 4.1.4.1.
土
土
土 ,
41
4.1.4.1.2.
4.1.4.1.2
App 4.1.4.1.
土
土
土 ,
42
4.1.4.2.
4.1.4.2.2.
4.1.4.2.3.
4.1.4.2.4.
4.1.4.2.1.
4.1.4.2.1.
4.1.4.2.1
App 4.1.4.2.
(1) 128
(2) 、 土入
(3)
)
43
4.1.4.2.2.
4.1.4.2.2
App 4.1.4.2.
(1)
Revoke
(2) Certificate Pinning
( )
44
4.1.4.2.3.
4.1.4.2.3
App 4.1.4.2.
45
4.1.4.2.4.
4.1.4.2.4
App 4.1.4.2.
(1) 4.1.4.2.2
(2) 4.1.4.2.2
( )
46
4.1.5.
土
4.1.5.1.
4.1.5.1.1.
4.1.5.1.2.
4.1.5.1.1.
4.1.5.1.1
App 4.1.5.1.
(1) 乙
(2)
土
47
4.1.5.1.2. 4.1.5.1.2
App 4.1.5.1.
。
。 CVE CVSS
v3.0 7 (大 High Critical ) TLS 1.0 土 2018 6 30 ( )
48
4.1.5.2.
4.1.5.2.1.
App
49
4.1.5.3.
4.1.5.3.1.
4.1.1.
4.1.5.3.1.
4.1.1.
4.1.5.3.1
App 4.1.5.3.
4.1.1.
(1) 。
(2)
子
。 CVE CVSS
v3.0 7(大 High Critical )
: ( App
:)
50
4.1.5.4.
4.1.5.4.1.
4.1.5.4.2. 土
4.1.5.4.1.
4.1.5.4.1
App 4.1.5.4.
(1)
小 ,
(2)
51
4.1.5.4.2. 土
4.1.5.4.2
App 4.1.5.4.
土
(1) SQL Injection
(2) JavaScript Injection
(3) Command Injection
(4) Local File Inclusion
(5) XML Injection
(6) Format String Injection
(7) IPC (Inter process
communication) Injection
52
Injection
,
二
;
53
4.2.
App 4.2
4.2.2.1. Webview
4.2.2
4.2.1.
, ,)
IDC 一
土 ISO ,
ISO/IEC 27001 入 Cloud Security Alliance, CSA , STARSecurity, Trust & Assurance Registry 入
EuroCloud Star Audit, ECSA
4.2.2.
、
, Web Service
, ,
,
,
� OWASP Open Web Application Security Project , OWASPOWASP Testing Guide
https://www.owasp.org/index.php/Category:OWASP_Testing_Project
� ISECOM the Institute for Security and Open Methodologies ,
Open Source Security Testing Methodology Manual, OSSTMM
http://www.isecom.org/research/osstmm.html
54
� SANS System Administration, Networking, and Security Institute ,
土 http://pen-testing.sans.org/
4.2.2.1. Webview
Webview
4.2.2.1.2. Webview
4.2.2.1.1. Webview
App
55
4.2.2.1.2. Webview
4.2.2.1.2
Webview
App 4.2.2.1 Webview
Webview
(1) Webview
:
(2) Webview
(3) Webview
HTTPS
(4) Webview
Webview
Webview
土 6. ( )
56
5.
) )
,
5.1. Automatic
�
� , 小 ,
5.2. Manual
man-in-the-middle
5.2.1. Static Analysis
凡
,
AndroidManifest.xml iOS Entitlements WMAppManifest.xml 乙
App: , ,
, 。 , 三
,
)
乙 乙
,
57
5.2.2. Dynamic Analysis
, , ,
, ,
, 一
,
Log
) SD
5.3. Code Analysis
)
5.4. Binary Code Analysis
byte-code machine code 一
58
6.
( ) 4.2.2.1.2
,
。
了
,
1.
59
7.
, 」 4
,
� ,
�
�
�
�
�
� 」
60
8.
[1] App 104 4 20
[2] 104 12 30
[3] Vetting the Security of Mobile Applications, NIST Special Publication 800-163, http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-163.pdf, 2015
[4] Technical Guide to Information Security Testing and Assessment, NIST Special Publication 800-115, http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf, 2008
[5] Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, NIST Special Publication 800-131A, http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf, 2011
[6] Cryptographic Algorithm Validation Program CAVP , http://csrc.nist.gov/groups/STM/cavp/, NIST
[7] Cryptographic Module Validation Program CMVP , http://csrc.nist.gov/groups/STM/cmvp/, NIST
[8] , YD/T 2407-2013, 2013
[9] , YD/T 2408-2013, 2013
[10] Common Vulnerabilities and Exposures CVE , https://cve.mitre.org/
[11] Common Weakness Enumeration CWE , https://cwe.mitre.org/
[12] Device Administration - Minimum password length, http://developer.android.com/guide/topics/admin/device-admin.html
[13] Mobile App Security Checklist 0.9.3, https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide#tab=Main
61
9.
App :
, :
15
26
31
62
; App �
;
4.1.1. ;
4.1.1.1. ;
4.1.1.1.1. ; ; ;
� � 4.1.1.1.2. ; ;
4.1.1.2. ;
4.1.1.2.1. ; ; ;
4.1.1.2.2. ; ; ,
4.1.1.2.3. ; ;
63
;
4.1.1.3. ;
� � 4.1.1.3.1. ; ;
4.1.1.3.2. ; ;
4.1.2.
4.1.2.1.
� � 4.1.2.1.1. ; ;
� � 4.1.2.1.2. ; ;
4.1.2.2.
4.1.2.2.1. ; ;
4.1.2.2.2. ; ;
64
;
4.1.2.2.3. ; ; 。
4.1.2.2.4. ; ; 。
4.1.2.3.
� � 4.1.2.3.1. ; ;
� � 4.1.2.3.2. ; ;
4.1.2.3.3. ; ;
� � 4.1.2.3.4. ; ;
65
;
� 4.1.2.3.5. ; ;
� � � 4.1.2.3.6. ;
� � � 4.1.2.3.7. ;
;
� � � 4.1.2.3.8. ; ;
� 4.1.2.3.9. ; ;
4.1.2.4.
、 � � �
4.1.2.4.1. ; 、 ;
66
;
4.1.2.5.
� � 4.1.2.5.1. ; ;
� � 4.1.2.5.2. ; ;
� � � 4.1.2.5.3. ; ;
;
4.1.2.6.
4.1.2.6.1. ;
;
4.1.3.
4.1.3.1.
� 4.1.3.1.1. ; ;
� 4.1.3.1.2. ; ;
67
;
4.1.3.2.
� 4.1.3.2.1. ; ;
� 4.1.3.2.2. ; ;
4.1.4. ;
4.1.4.1.
� � 4.1.4.1.1. ; ; ,
� � 4.1.4.1.2. ; ;
4.1.4.2.
,
� � 4.1.4.2.1. ; ;
� � � 4.1.4.2.2. ; ;
� � � 4.1.4.2.3. ; ;
,
68
;
� � � 4.1.4.2.4. ; ;
、
4.1.5. ;
4.1.5.1.
� � � 4.1.5.1.1. ; ;
� � � 4.1.5.1.2. ; ;
4.1.5.2. ;
4.1.5.2.1 . ; ;
,
4.1.5.3.
� � �
4.1.5.3.1. ; ;
; 4.1.1. ;
69
;
4.1.5.4.
、
� � � 4.1.5.4.1. ; ; 、
� � � 4.1.5.4.2. ; ; : ,
4.2.2.
4.2.2.1.
Webview
4.2.2.1.1. ; ; Webview
� � �4.2.2.1.2. ; Webview
;
70
App
App
�
1.
2.
3.
4.
5.
App
MD5 SHA1 SHA256
MD5 : : : : : : : : : : : : :
: :
SHA1: : : : : : : : : : : : : :
: : : : : :
SHA256 : : : : : : : : : : : :
: : : : : : : : : : : : :
: : : : : :
6.
、 �Android _______________________
�iOS ___________________________
�Windows ______________________
� _________________________________
7.
8.
APP , APP
�
�
�
71
9.
�
�
� _________
� 、
� Apple App Store URL_____________________________________________
� Google Play URL_____________________________________________
� Microsoft Marketplace URL_____________________________________________
� URL_____________________________________________
�
_____________________________________________
�
_____________________________________________
10. 」
< XX 」 > < OO > < >
、 )
11.
< XX > < OO > < >
android.permission.ACCESS_FINE_LOCATION
GPS
12. � �
� ________________________
72
� ________________________
� ____________________________
� ____________________________
13. 、
< / / >
webkit / 534.30 / 、
14. � ______________ TLS 1.2
� __________________
15.
< XX > < OO >
16. App � �
17.
Webview � _____________________________ www.moeaidb.gov.tw
�
18.
、
73
App
○○○○○ ○○○○○
App
、
74
,
/ , /
4.1.1.
4.1.1.1.1.
4.1.1.1.2.」
4.1.1.3.1.
��� ���
(
、 …
App
75
App
4.1.1. 4.1.2. 」
4.1.5.
� App 4.
4 。 REF-.x REF-.
App x
� App 4.
� App 4.
76
4.1.1.
4.1.1.1.
4.1.1.1.1.
REF-1.
App 4.1.1.1
、
NIST SP 800-163 3.1.6 Testing App Updates
4.1.1.2.
4.1.1.2.1
REF-2.
App 4.1.1.2
、
NIST SP 800-163 3.1.6 Testing App Updates
77
4.1.1.2.2
REF-3.
App 4.1.1.2.
NIST SP 800-163 3.1.5 Securing App Code Dependencies
4.1.1.2.3
REF-4.
App 4.1.1.2.
、
NIST SP 800-64 3.4 SDLC Phase: Operations and Maintenance
78
4.1.1.3.
4.1.1.3.2.
REF-5.
App 4.1.1.3.
NIST SP 800-64 3.1.3.5 Ensure Use of Secure Information System
79
4.1.2. 」
4.1.2.2. 」
4.1.2.2.1. 」 「
REF-6.
App 4.1.2.2. 」
」 「
」
(1) 」
、
(2) 」
、
「
NIST SP 800-163 3.1.4 Protecting Sensitive Data
80
4.1.2.2.2. 」
REF-7.
App 4.1.2.2. 」
」
」
」
NIST SP 800-163 3.1.4 Protecting Sensitive Data
81
4.1.2.2.3. :
REF-8.
App 4.1.2.2. 」
:
(1) : 6
(2) :
(3) :
OWASP Mobile App Security Checklist 0.9.3 V2.1: Verify that system credential storage facilities are used appropriately to store sensitive data, such as user credentials or cryptographic keys
82
4.1.2.2.4.
REF-9.
App 4.1.2.2. 」
: 90
OWASP Mobile App Security Checklist 0.9.3 V2.1: Verify that system
credential storage facilities are used appropriately to store sensitive
data, such as user credentials or cryptographic keys
83
4.1.2.3. 」
4.1.2.3.3. 」
REF-10.
App 4.1.2.3. 」
」
」
」
NIST SP 800-163 3.1.4 Protecting Sensitive Data
84
4.1.2.6. 」
4.1.2.6.1. 」
REF-11.
App 4.1.2.6. 」
」
」
」
」
NIST SP 800-163 3.1.4 Protecting Sensitive Data
85
4.1.5.
4.1.5.2.
4.1.5.2.1.
REF-12.
App 4.1.5.2.
(1) Hash
(2) Obfuscation
OWASP Mobile App Security Checklist 0.9.3 V7.2: Verify that the app
has been built in release mode, with settings appropriate for a release
build (e.g. non-debuggable)
86
4.2.2.
4.2.2.1. Webview
4.2.2.1.1. Webview
REF-13.
App 4.2.2.1. Webview
Webview
App( 「 )
Webview