1. 組件安全檢測(cè)
| 漏洞名稱 | Activity 組件暴露檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 風(fēng)險(xiǎn)描述 | Activity 組件的屬性 exported 被設(shè)置為 true 或是未設(shè)置 exported 值 但 IntentFilter 不為空時(shí),activity 被認(rèn)為是導(dǎo)出的,可通過(guò)設(shè)置相 應(yīng)的 Intent 喚起 activity。黑客可能構(gòu)造惡意數(shù)據(jù)針對(duì)導(dǎo)出 activity 組件實(shí)施越權(quán)攻擊。 |
參考鏈接
https://developer.android.com/guide/components/activities.html
| 漏洞名稱 | Service 組件暴露檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | Service 組件的屬性 exported 被設(shè)置為 true 或是未設(shè)置 exported 值 但 IntentFilter 不為空時(shí),Service 被認(rèn)為是導(dǎo)出的,可通過(guò)設(shè)置相 應(yīng)的 Intent 喚起 Service。黑客可能構(gòu)造惡意數(shù)據(jù)針對(duì)導(dǎo)出 Service 組件實(shí)施越權(quán)攻擊。 |
參考鏈接
https://developer.android.com/guide/components/services.html
| 漏洞名稱 | BroadcastReceiver 組件暴露檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | BroadcastReceiver 組件的屬性 exported 被設(shè)置為 true 或是未設(shè)置 exported 值但 IntentFilter 不為空時(shí),BroadcastReceiver 被認(rèn)為是導(dǎo) 出的。導(dǎo)出的廣播可以導(dǎo)致數(shù)據(jù)泄漏或者是越權(quán)。 |
參考鏈接
https://developer.android.com/guide/topics/manifest/receiver-ele- ment.html
2. APP 漏洞檢測(cè)
| 漏洞名稱 | SSL 通信服務(wù)端檢測(cè)信任 任意證書漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 漏洞危害 | 自定義 SSL x509 TrustManager,重寫 checkServerTrusted 方法,方法內(nèi)不 做任何服務(wù)端的證書校驗(yàn)。黑客可以使用中間人攻擊獲取加密內(nèi)容。 |
參考鏈接
https://developer.android.com/reference/javax/net/ssl/X509TrustManag- er.html
| 漏洞名稱 | HTTPS 關(guān)閉主機(jī)名驗(yàn)證漏 洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 構(gòu)造 HttpClient 時(shí),設(shè)置 HostnameVerifier 時(shí)參數(shù)使用 ALLOW_ALL_HOSTNAME_VERIFIER 或空的 HostnameVerifier。關(guān)閉主機(jī) 名校驗(yàn)可以導(dǎo)致黑客使用中間人攻擊獲取加密內(nèi)容。 |
[參考鏈接](https://developer.android.com/reference/javax/net/ssl/HostnameVerifi- er.html)
| 漏洞名稱 | 隱式意圖調(diào)用漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 封裝 Intent 時(shí)采用隱式設(shè)置,只設(shè)定 action,未限定具體的接收對(duì)象,導(dǎo) 致 Intent 可被其他應(yīng)用獲取并讀取其中數(shù)據(jù)。Intent 隱式調(diào)用發(fā)送的意圖 可能被第三方劫持,可能導(dǎo)致內(nèi)部隱私數(shù)據(jù)泄露。 |
參考鏈接
[https://developer.android.com/guide/components/intents-filters.html]
| 漏洞名稱 | 程序數(shù)據(jù)任意備份漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | 安卓 AndroidManifest.xml 文件中 android: allowBackup 為 true。app 數(shù)據(jù)可 以被備份導(dǎo)出。 |
參考鏈接
https://developer.android.com/guide/topics/manifest/application-elemen- t.html#allowbackup
| 漏洞名稱 | 程序可被任意調(diào)試漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 安卓 AndroidManifest.xml 文件中 android:debuggable 為 true。app 可以被 任意調(diào)試,攻擊者可以發(fā)起動(dòng)態(tài)調(diào)試攻擊。 |
參考鏈接
https://developer.android.com/guide/topics/manifest/application-elemen- t.html#debug
| 漏洞名稱 | Webview 存在本地 Java 接口 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | android 的 webView 組件有一個(gè)非常特殊的接口函數(shù) addJavascriptInter- face,能實(shí)現(xiàn)本地 java 與 js 之間交互。在 targetSdkVersion 小于 17 時(shí), 攻擊者利用 addJavascriptInterface 這個(gè)接口添加的函數(shù),可以遠(yuǎn)程執(zhí)行 任意代碼。 |
參考鏈接
https://developer.android.com/reference/android/webkit/WebView.html
| 漏洞名稱 | WebView 忽略 SSL 證 書錯(cuò)誤漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 漏洞危害 | WebView 調(diào)用 onReceivedSslError 方法時(shí),直接執(zhí)行 handler.pro- ceed()來(lái)忽略該證書錯(cuò)誤。忽略 SSL 證書錯(cuò)誤可能引起中間人攻 擊。 |
參考鏈接
https://developer.android.com/reference/android/webkit/WebView- Client.html
| 漏洞名稱 | Intent Scheme URLs 攻擊 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低 |
| 檢測(cè)方法 | 在 AndroidManifast.xml 設(shè)置 Scheme 協(xié)議之后,可以通過(guò)瀏覽器打開(kāi) 對(duì)應(yīng)的 Activity。攻擊者通過(guò)訪問(wèn)瀏覽器構(gòu)造 Intent 語(yǔ)法喚起 app 相應(yīng) 組件,輕則引起拒絕服務(wù),重則可能演變?yōu)樘釞?quán)漏洞。 |
參考鏈接
https://developer.android.com/guide/components/intents-filters.html
| 漏洞名稱 | 全局文件可讀寫漏洞檢 測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | APP 在創(chuàng)建內(nèi)部存儲(chǔ)文件時(shí),將文件設(shè)置了全局的可讀權(quán)限。攻擊者 惡意讀取文件內(nèi)容,獲取敏感信息。 |
參考鏈接
https://developer.android.com/ reference/android/content/Context.html#MODE_WORLD_READABLE
| 漏洞名稱 | 全局文件可讀寫漏洞檢 測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | APP 在創(chuàng)建內(nèi)部存儲(chǔ)文件時(shí),將文件設(shè)置了全局的可寫權(quán)限。攻擊者 惡意寫文件內(nèi)容,破壞 APP 的完整性。 |
參考鏈接
https://developer.android.com/ reference/android/content/Context.html#MODE_WORLD_WRITEABLE
| 漏洞名稱 | 配置文件可讀可寫漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 使用 getSharedPreferences 打開(kāi)文件時(shí),如果將第二個(gè)參數(shù)設(shè)置為 MODE_WORLD_READABLE。當(dāng)前文件可以被其他應(yīng)用讀取導(dǎo)致信息泄 漏。 |
參考鏈接
https://developer.android.com/reference/android/content/Context.html#g etSharedPreferences(java.lang.String, int) https://developer.android.com/reference/android/content/Context.html# MODE_WORLD_READABLE
| 漏洞名稱 | 配置文件可讀可寫漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | 使用 getSharedPreferences 打開(kāi)文件時(shí),如果將第二個(gè)參數(shù)設(shè)置為 MODE_WORLD_WRITEABLE。當(dāng)前文件可以被其他應(yīng)用寫入,導(dǎo)致文件 內(nèi)容被篡改,影響應(yīng)用程序的正常運(yùn)行或更嚴(yán)重的問(wèn)題。 |
參考鏈接
https://developer.android.com/reference/android/content/Context.html#g etSharedPreferences(java.lang.String, int) https://developer.android.com/reference/android/content/Context.html# MODE_WORLD_WRITEABLE
| 漏洞名稱 | DEX 文件動(dòng)態(tài)加載漏 洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 使用 DexClassLoader 加載外部的 apk、jar 或 dex 文件,當(dāng)外部文 件的來(lái)源無(wú)法控制時(shí)或是被篡改,此時(shí)無(wú)法保證加載的文件是否 安全。加載惡意的 dex 文件將會(huì)導(dǎo)致任意命令的執(zhí)行。 |
參考鏈接
https://developer.android.com/reference/dalvik/system/DexClass- Loader.html
| 漏洞名稱 | AES 弱加密漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 在 AES 加密時(shí),使用“AES/ECB/NoPadding”或“AES/ECB/PKCS5padding”的 模式。ECB 是將文件分塊后對(duì)文件塊做同一加密,破解加密只需要針 對(duì)一個(gè)文件塊進(jìn)行解密,降低了破解難度和文件安全性。 |
參考鏈接
https://developer.android.com/reference/javax/crypto/Cipher.html
| 漏洞名稱 | Provider 文件目 錄遍歷漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 漏洞危害 | 當(dāng) Provider 被導(dǎo)出且覆寫了 openFile 方法時(shí),沒(méi)有對(duì) Content Query Uri 進(jìn)行有效判斷或過(guò)濾。攻擊者可以利用 openFile()接口進(jìn)行文件目錄遍 歷以達(dá)到訪問(wèn)任意可讀文件的目的。 |
參考鏈接
https://developer.android.com/reference/android/content/Content- Provider.html#openFile(android.net.Uri, java.lang.String)
| 漏洞名稱 | activity 綁定 browserable 與 自定義協(xié)議漏洞 檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | activity 設(shè)置“android.intent.category.BROWSABLE”屬性并同時(shí)設(shè)置了自 定義的協(xié)議 android:scheme 意味著可以通過(guò)瀏覽器使用自定義協(xié)議打 開(kāi)此 activity??赡芡ㄟ^(guò)瀏覽器對(duì) app 進(jìn)行越權(quán)調(diào)用。 |
參考鏈接
https://developer.android.com/reference/android/content/Intent.html#CA TEGORY_BROWSABLE
| 漏洞名稱 | 動(dòng)態(tài)注冊(cè)廣播漏 洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 中危 |
| 檢測(cè)方法 | 使用 registerReceiver 動(dòng)態(tài)注冊(cè)的廣播在組件的生命周期里是默認(rèn)導(dǎo)出 的。導(dǎo)出的廣播可以導(dǎo)致拒絕服務(wù)、數(shù)據(jù)泄漏或是越權(quán)調(diào)用。 |
參考鏈接
https://developer.android.com/reference/android/content/Context.html#r egisterReceiver(android.content.BroadcastReceiver, android.content.In- tentFilter, java.lang.String, android.os.Handler)
| 漏洞名稱 | 開(kāi)放 socket 端口 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | app 綁定端口進(jìn)行監(jiān)聽(tīng),建立連接后可接收外部發(fā)送的數(shù)據(jù)。攻擊者 可構(gòu)造惡意數(shù)據(jù)對(duì)端口進(jìn)行測(cè)試,對(duì)于綁定了 IP 0.0.0.0 的 app 可發(fā)起 遠(yuǎn)程攻擊。 |
參考鏈接
https://developer.android.com/reference/java/net/Socket.html#Socket(ja- va.net.InetAddress, int)
| 漏洞名稱 | Fragment 注入漏 洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | 通過(guò)導(dǎo)出的 PreferenceActivity 的子類,沒(méi)有正確處理 Intent 的 extra 值。攻擊者可繞過(guò)限制訪問(wèn)未授權(quán)的界面。 |
參考鏈接
https://developer.android.com/reference/android/preference/Preference- Activity.html#isValidFragment(java.lang.String)
| 漏洞名稱 | Webview 啟用訪 問(wèn)文件數(shù)據(jù)漏洞 檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 漏洞危害 | Webview 中使用 setAllowFileAccess(true),App 可通過(guò) webview 訪問(wèn)私 有目錄下的文件數(shù)據(jù)。在 Android 中,mWebView.setAllowFileAccess(true)為默認(rèn)設(shè)置。當(dāng) setAllowFileAccess(true)時(shí),在 File 域下,可執(zhí)行任意的 JavaScript 代 碼,如果繞過(guò)同源策略能夠?qū)λ接心夸浳募M(jìn)行訪問(wèn),導(dǎo)致用戶隱私 泄漏。 |
參考鏈接
https://developer.android.com/reference/android/webkit/WebSettings.ht ml#setAllowFileAccess(boolean)
| 漏洞名稱 | unzip 解壓縮(Zip- perDown)漏洞檢 測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | 解壓 zip 文件,使用 getName()獲取壓縮文件名后未對(duì)名稱進(jìn)行校驗(yàn)。 攻擊者可構(gòu)造惡意 zip 文件,被解壓的文件將會(huì)進(jìn)行目錄跳轉(zhuǎn)被解壓 到其他目錄,覆蓋相應(yīng)文件導(dǎo)致任意代碼執(zhí)行。 |
參考鏈接
https://developer.android.com/reference/java/util/zip/ZipEntry.html#get- Name()
| 漏洞名稱 | 未使用編譯器堆棧保護(hù)技術(shù)漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | 為了檢測(cè)棧中的溢出,引入了 Stack Canaries 漏洞緩解技術(shù)。在所有函 數(shù)調(diào)用發(fā)生時(shí),向棧幀內(nèi)壓入一個(gè)額外的被稱作 canary 的隨機(jī)數(shù),當(dāng) 棧中發(fā)生溢出時(shí),canary 將被首先覆蓋,之后才是 EBP 和返回地址。 在函數(shù)返回之前,系統(tǒng)將執(zhí)行一個(gè)額外的安全驗(yàn)證操作,將棧幀中原 先存放的 canary 和.data 中副本的值進(jìn)行比較,如果兩者不吻合,說(shuō)明發(fā)生了棧溢出。不使用 Stack Canaries 棧保護(hù)技術(shù),發(fā)生棧溢出時(shí)系統(tǒng) 并不會(huì)對(duì)程序進(jìn)行保護(hù)。 |
| 修復(fù)意見(jiàn) | 使用 NDK 編譯 so 時(shí),在 Android.mk 文件中添加:LOCAL_CFLAGS := -Wall -O2 -U_FORTIFY_SOURCE -fstack-protector-all |
參考鏈接
https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries
| 漏洞名稱 | 未使用地址空間隨機(jī)技術(shù)漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | PIE 全稱 Position Independent Executables,是一種地址空間隨機(jī)化技 術(shù)。當(dāng) so 被加載時(shí),在內(nèi)存里的地址是隨機(jī)分配的。不使用 PIE,將 會(huì)使得 shellcode 的執(zhí)行難度降低,攻擊成功率增加。 |
參考鏈接
https://en.wikipedia.org/wiki/Position-independent_code#Position-inde- pendent_executables
| 漏洞名稱 | 動(dòng)態(tài)鏈接庫(kù)中包含執(zhí)行命令函數(shù)漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | |
| 在 native 程序中,有時(shí)需要執(zhí)行系統(tǒng)命令,在接收外部傳入的參數(shù)執(zhí) 行命令時(shí)沒(méi)有做過(guò)濾或檢驗(yàn)。攻擊者傳入任意命令,導(dǎo)致惡意命令的 執(zhí)行。 |
參考鏈接
http://baike.baidu.com/subview/627587/14965930.htm#2
| 漏洞名稱 | 隨機(jī)數(shù)不安全使用漏洞 |
|---|---|
| 威脅等級(jí) | 低低危 |
| 漏洞危害 | 調(diào)用 SecureRandom 類中的 setSeed 方法。生成的隨機(jī)數(shù)具有確定性, 存在被破解的可能性。 |
參考鏈接
https://developer.android.com/reference/java/security/SecureRan- dom.html#setSeed(long)
| 漏洞名稱 | FFmpeg 文件讀取漏 洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | 使用了低版本的 FFmpeg 庫(kù)進(jìn)行視頻解碼。在 FFmpeg 的某些版本 中可能存在本地文件讀取漏洞,可以通過(guò)構(gòu)造惡意文件獲取本地 文件內(nèi)容。 |
參考鏈接
http://ffmpeg.org/
| 漏洞名稱 | libupnp 棧溢出漏洞 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 低危 |
| 檢測(cè)方法 | 使用了低于 1.6.18 版本的的 libupnp 庫(kù)文件。構(gòu)造惡意數(shù)據(jù)包可造 成緩沖區(qū)溢出,造成代碼執(zhí)行。 |
參考鏈接
https://sourceforge.net/projects/pupnp/files/pupnp/libUPnP %201.6.18/
| 漏洞名稱 | Webview 組件遠(yuǎn)程代 碼執(zhí)行(調(diào)用 get- ClassLoader)漏洞檢 |
|---|---|
| 威脅等級(jí) | 中危 |
| 漏洞危害 | 使用低于 17 的 targetSDKVersion,并且在 Context 子類中使用 add- JavascriptInterface 綁定 this 對(duì)象。通過(guò)調(diào)用 getClassLoader 可以繞 過(guò) google 底層對(duì) getClass 方法的限制。 |
參考鏈接
https://developer.android.com/reference/android/content/Contex- t.html#getClassLoader()
| 漏洞名稱 | AES/DES 硬編碼密鑰 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | 使用 AES 或 DES 加解密時(shí),采用硬編碼在程序中的密鑰。通過(guò)反 編譯拿到密鑰可以輕易解密 APP 通信數(shù)據(jù)。 |
參考鏈接
https://developer.android.com/reference/javax/crypto/spec/Se- cretKeySpec.html#SecretKeySpec(byte[], java.lang.String)
| 漏洞名稱 | Android 應(yīng)用克隆 漏洞檢測(cè) |
|---|---|
| 威脅等級(jí) | 高危 |
| 檢測(cè)方法 | 該漏洞影響使用 WebView 控件,開(kāi)啟 file 域訪問(wèn)并且未按安全策略開(kāi) 發(fā)的 Android 應(yīng)用 APP。檢測(cè)方法為:1.檢測(cè) WebView 中是否setAllowFileAccessFromFileURLs****setAllowUniversalAccessFromFileURLs配置為 true;2.檢測(cè) WebView 是否可以直接被外部調(diào)用,并能夠加載外部可控的 HTML 文件 |
參考鏈接
http://www.cnvd.org.cn/webinfo/show/4365
移動(dòng)安全架構(gòu)設(shè)計(jì)基本原則
在應(yīng)用系統(tǒng)軟件開(kāi)發(fā)設(shè)計(jì)的過(guò)程中,對(duì)應(yīng)用系統(tǒng)的總體設(shè)計(jì)應(yīng)當(dāng)滿足如下
安全原則:
| 原則 | 說(shuō)明 |
|---|---|
| 最小權(quán)限原則Least Privilege | 應(yīng)用軟件的每個(gè)模塊如進(jìn)程、用戶只能訪問(wèn)當(dāng)所必需的信息或者資源。賦予每一個(gè)合法動(dòng)作最小的權(quán)限,以保護(hù)數(shù)據(jù)以及功能避免受到錯(cuò)誤或者惡意行為的破壞。 |
| 權(quán)限分離原則Separation of Duties | 對(duì)業(yè)務(wù)的操作、管理和審計(jì)權(quán)限應(yīng)該由軟件中的不同角色的用戶分別承擔(dān);普通用戶和管理員用戶信息應(yīng)該存放在不同的數(shù)據(jù)表中。 |
| 深度防御原則Defense in Depth | 在應(yīng)用程序?qū)I(yè)務(wù)數(shù)據(jù)進(jìn)行處理的每個(gè)階段都要考慮安全性問(wèn)題,不能僅在某個(gè)階段做安全防御,這樣單點(diǎn)防御一旦被突破將造成安全風(fēng)險(xiǎn)。 |
| 容錯(cuò)保護(hù)原則Fail Secure | 當(dāng)程序出現(xiàn)故障時(shí)或系統(tǒng)異常當(dāng)系統(tǒng)失敗時(shí),可以進(jìn)入到一個(gè)失敗保護(hù)的狀態(tài)。如果用戶請(qǐng)求失敗,系統(tǒng)仍可保障安全。 |
| 單點(diǎn)異常終止原則Single Point of Failure | 當(dāng)用戶提交數(shù)據(jù)超出預(yù)期時(shí),應(yīng)立即終止程序的執(zhí)行,不要試圖加以修正并繼續(xù)執(zhí)行下去。 |
| 外來(lái)代碼安全原則Least Third Party Compo-nents | 嚴(yán)格控制第三方函數(shù)與插件的使用,對(duì)外來(lái)代碼必須進(jìn)行詳細(xì)的安全測(cè)試。 |
| 代碼重用原則Leveraging Existing Com- ponents | 盡可能的重用軟件已有的模塊,這樣可以降低引入新的漏洞和攻擊界面的可能性。 |
| 數(shù)據(jù)保護(hù)原則Data Protection | 對(duì)用戶數(shù)據(jù)的保護(hù)功能應(yīng)涵蓋用戶數(shù)據(jù)存儲(chǔ)的完整性、用戶數(shù)據(jù)傳輸保密性、數(shù)據(jù)傳輸?shù)脑L問(wèn)控制、剩余信息的保護(hù)、數(shù)據(jù)反轉(zhuǎn)操作等內(nèi)容;應(yīng)對(duì)系統(tǒng)中關(guān)鍵數(shù)據(jù)(如用戶密碼等)的存儲(chǔ)和網(wǎng)絡(luò)傳輸時(shí)應(yīng)采用加密保護(hù),實(shí)用加密加密算法應(yīng)該符合國(guó)際標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)和業(yè)界標(biāo)準(zhǔn)。 |
| 可審計(jì)原則Auditing | 在應(yīng)用系統(tǒng)中設(shè)計(jì)審計(jì)日志記錄的功能,并對(duì)應(yīng)用系統(tǒng)產(chǎn)生的日志增加完備的審計(jì)功能 |
| 開(kāi)放設(shè)計(jì)原則Open Design | 開(kāi)放設(shè)計(jì)與“不開(kāi)放即安全”的原則相對(duì)而 言,認(rèn)為設(shè)計(jì)本身不應(yīng)具有神秘感。這一原則的 具體表現(xiàn)可以參見(jiàn)應(yīng)用于加密設(shè)計(jì)的 Kerchoff 定 律,“系統(tǒng)不應(yīng)單純依賴私密性,若落入敵人手 中則毫無(wú)優(yōu)勢(shì)可言”;開(kāi)放設(shè)計(jì)以提高系統(tǒng)兼容 性和可擴(kuò)展性。 |
| 抗抵賴原則Anti Repudiation | 對(duì)于涉及支付交易等重要的業(yè)務(wù)場(chǎng)景,系統(tǒng)設(shè)計(jì)應(yīng)有效地防止通信雙方抵賴,如采用電子證書簽名等方式。 |
| 規(guī)范性Standardization | 系統(tǒng)設(shè)計(jì)所采用的安全技術(shù)和安全產(chǎn)品應(yīng)符合國(guó)際標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)和業(yè)界標(biāo)準(zhǔn),為系統(tǒng)的擴(kuò)展升級(jí)、與其他系統(tǒng)的互聯(lián)提供良好的基礎(chǔ)。 |
| 可擴(kuò)展性Scalability | 以當(dāng)前業(yè)務(wù)安全需求為基礎(chǔ),充分考慮發(fā)展的需要,安全功能模塊子系統(tǒng)以插件或接口方式以方便未來(lái)的擴(kuò)展。 |
| 實(shí)用性Practicable | 安全功能設(shè)計(jì)需要盡可能的考慮投入產(chǎn)出比,同時(shí)盡量控制對(duì)用戶體驗(yàn)的影響。 |
| 符合性Regulatory Compliance | 安全功能的設(shè)計(jì)盡可能的要符合國(guó)家規(guī)范、行業(yè)規(guī)范以及業(yè)界的通用標(biāo)準(zhǔn),如等級(jí)保護(hù)等規(guī)范。 |