l |W App uQ t Ç u ú · 4 , d¹W &ÂE UÔ d D E U Ï Ô ¡ Ü .App Àº ¡ ÜE U ; §úApp Àº...

Post on 20-May-2020

4 views 0 download

transcript

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