More Related Content Similar to 淡江大學 - 產品測試+安全性測試+壓力測試 Similar to 淡江大學 - 產品測試+安全性測試+壓力測試 (20) More from Taien Wang (15) 淡江大學 - 產品測試+安全性測試+壓力測試7. 軟體產品品質要求與評估
•
Software product Quality Requirements and Evaluation
– 簡稱SQuaRE
•
為解決軟體產品品質暨產品評估2標準系列(ISO/IEC 9126與ISO/IEC
14598)已發生之問題,1999年間,負責軟體產品測量與評估(Software
Product Measurement and Evaluation)標準制定工作的ISO/IEC
JTC1/SC7 WG6提案要求處理,並經ISO/IEC JTC1/SC7調整後成立軟體
產品品質要求與評估(Software product Quality Requirements and
Evaluation,簡稱SQuaRE)計畫。
資料來源:
樊國楨, 970331.ppt © CCISA(KJF), p29-33
8. SQuaRE標準系列框架示意
企業系統(Business system)
資訊系統(Information system)
軟體產品(Software product)
過程標的
(Target of Process)
內部軟體品質(Internal software
quality)
外部軟體品質(External software quality)
使用品質(Quality in use)
過程
(Procress)
需求規格
(Requirements
Specification)
評估
(Evaluation)
25030
25022
25023
25024
執行
(Execution)
25041
25042
25043
25044
25021
特用指引
(Particular Guidance)
25001
25020
25010
通用指引
(General Guidance)
資料來源: ISO/IEC 25000:2005-08-01, Figure 2, Page 13。
資料來源:
樊國楨, 970331.ppt © CCISA(KJF), p34
25000
25040
25001
10. 其他測試細節 (1/2)
•
單元測試(Unit Test)
•
自動化測試(Automated Testing)
•
系統整合測試(System Integration Testing)
•
效能測試(Performance testing)
– 負載測試(Loading Testing)
• 負載測試確保在系統在超出最大預期工作量下仍可正常運作
• 有時又稱容量測試(Volume Testing)
– 但也人有以邏輯與硬體區分負載與壓力測試
– 壓力測試(Stress Testing)
• 透過對系統不斷的加壓,找到一個系統頻頸或無法負荷的性能點
注意:
效能測試,負載測試幾個定義的爭議較大
22. 常用弱點
非官方網頁應用程式安全組織 OWASP
OWASP 2007 10大弱點
OWASP 2010 10大弱點
1
跨站腳本攻擊 (XSS)
注入攻擊
2
注入攻擊
跨站腳本攻擊(XSS)
3
惡意程式執行
身分驗證功能缺失
4
不安全的物件參考
不安全的物件參考
5
跨站請求偽造(CSRF)
跨站請求偽造(CSRF)
6
程式碼錯誤訊息外漏
安全性設定疏失
7
身分驗證功能缺失
未加密的儲存設備
8
未加密的儲存設備
無權限的URL控制
9
不安全的網路連練
不安全的傳輸防護
10
無權限的URL控制
未驗證的導向
23. Web Vulnerability Scanner
•
OWASP Zed Attack Proxy Project(new 2012.07)
•
Paros
•
Burp Suite
•
Shadow Security Scanner
•
Acunetix Web Vulnerability Scanner
•
XScan
32. OWASP Mobile Top Ten Mobile Risks (1/2)
•
M1. 不安全的資料儲存(Insecure Data Storage) – 對應案例
– SQLite, Log, Plist, XML, Manifest
– 二進位檔, Cookie, SD卡, 雲端同步
•
M2. 弱伺服器端的控制(Weak Server Side Controls) – 對應案例
– OWASP Cloud Top 10 Risks, OWASP Web Top 10 Risk
•
M3. 傳輸層保護不足(Insufficient Transport Layer Protection) – 對應案例
– 傳輸介面: Wi-Fi, NFC, Ethernet, 藍芽…
– 傳輸加密(SSL, 客製化加密, WS-Security)
•
M4. 客戶端注入(Client Side Injection)
– 本地端注入: SQLite Injection, XSS, Fuzzing
•
M5. 粗糙的授權與認證(Poor Authorization and Authentication) – 對應案例
– 部分可攜式行動裝置的網頁應用程式僅採用永不變的數值來執行身分驗證與授權階段
– IMEI, IMSI, UUID, Device ID, MAC
33. OWASP Mobile Top Ten Mobile Risks (2/2)
•
M6. 不適當的會話處理(Improper Session Handling) – 對應案例
– Session, Cookie, Token…
•
M7. 經由不受信任輸入的安全決策(Security Decisions Via Untrusted Inputs)
– 透過客戶端注入方式來消耗可攜式裝置硬體資源或提權
•
M8. 通道端資料洩漏(Side Channel Data Leakage)
– 應用網頁快取, 記錄檔, 暫存檔洩漏
•
M9. 加密失效(Broken Cryptography) – 對應案例
– 演算法遭破解
– 常見名詞
• 編碼, 混淆, 序列化, 雜湊
•
M10. 敏感資訊洩漏(Sensitive Informaiton Disclosure) – 對應案例
– 機敏訊息如程式碼中或在設備內
35. Android Package Kit
•
Android Packge Kit(APK) 基本上就是個 ZIP
•
內容包含 DEX, 資源檔, AndroidManifest.xml…
資料來源:
Building and Running, Android Developers
39. 分析 APK
•
方法一: 較適合於軟體邏輯分析
– dex2jar
• 將 dex 轉為 jar
– jd-gui, DJ Java Decompiler
• 使用 jd-gui 觀察架構
• DJ Java Decompiler 解回 .class 與 .java
•
方法二: 較適合於暴力破解
– Apktool
• 解回所有資源檔, 並產出 smali 檔
•
方法三:
– IDA Pro(6.1以後支援 Android)
46. Live Demo2: 網路序號驗證
•
問題
– 網路驗證
– 驗證太簡易
•
對應 OWASP Mobile 風險
– M3. 傳輸層保護不足
– M5. 粗糙的授權與認證
– M6. 不適當的會話處理
•
破解方式
– 網路通訊分析
– 攔截竄改
54. 效能測試基本流程
•
明確效能測試需求
•
制定效能測試計畫
– 測試環境平均併發數 = (最大在線人數 * 10%) / n
– n = 公倍數((正式Web伺服器數/測試Web伺服器數),(正式App伺服器
數/測試App伺服器數))*(正式伺服器記憶體/測試伺服器記憶體)
• 一般算下來 n = 4
•
編寫效能測試案例
•
執行效能測試案例
•
分析效能測試結果
•
生成效能測試報告
資料來源:
溫素劍, 零成本實現Web性能測試 - 基於 Apache JMeter
56. JMeter 與 LoadRunner 比較
對比
安裝
JMeter
簡單, 下載解壓縮即可
錄製/回放機制
測試協定
分散式大規模壓力測試
IP欺騙功能
測試邏輯控制
監控伺服器資源(CPU,
記憶體)
功能測試
支援
偏少, 用戶可自擴充
支援
不支援
支援
支援
LoadRunner
複雜, 安裝包大於1GB, 在
一台CPU 3.0 Memory
1G PC安裝時間超過1小
時
支援
較多, 用戶不可自行擴展
支援
支援(很強)
支援
支援
支援
不支援
資料來源:
溫素劍, 零成本實現Web性能測試 - 基於 Apache JMeter, p26