版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、測試應用程序的安全性,姚礪 東華大學計算機學院,軟件測試是一項非常復雜的、創(chuàng)造性的和需要高度智慧的挑戰(zhàn)性任務。,我測故我在,軟件測試的現狀,軟件測試在軟件生命周期中占據重要的地位,軟件測試慢慢的獨立發(fā)展成為一個行業(yè),并且在迅猛發(fā)展。 對美國大量軟件項目的觀察結果表明,軟件項目的成功在很大程度上依賴于軟件測試的成功。軟件測試在軟件企業(yè)中擔當的角色是“質量管理”,即及時糾錯及時更正,為產品推向市場貼上“質量合格”的標簽。 開發(fā)與測試 進攻與防守:好看靠進攻,冠軍靠防守,軟件測試的現狀,對國際著名IT企業(yè)的統計數據表明,軟件測試在整個軟件項目中所占的比例為 40% 以上,占整個項目費用的 50% 以
2、上,軟件測試人員與開發(fā)人員的人數比例接近1:1。 國內軟件企業(yè)在軟件測試上的投入一般在 5% 以下,測試人員所占比例很小(軟件測試人員與開發(fā)人員之比僅為1:8),經常處于從屬地位。中國軟件工業(yè)要健康發(fā)展,必須正視和努力縮小這個差距。,微軟的測試,“很多人都認為微軟是一家軟件開發(fā)公司,而事實上,我們是一家軟件測試公司” 比爾蓋子 在微軟內部,軟件測試人員與軟件開發(fā)人員的比率一般為1.5-2.5左右,軟件測試的作用,軟件質量與軟件質量保證 教學考試與教學質量保證 軟件開發(fā)的每個階段都要測試,測試人員應該參與設計階段:評審安全性設計 傳說中的微軟測試部門的格言:沒有最BT,只有更BT。,軟件測試之獨
3、孤九劍,全程測試,測試先行 劍走偏鋒 不走尋常路 完全測試程序是不可能的 軟件測試是有風險的行為 程序中的大部分錯誤往往是在一小部分模塊中發(fā)現的-帕雷托定律 設計周密的測試用例 先求開展,后求緊湊,乃可縝密矣-九陰真經 框起你的測試來 剛中帶柔,柔中帶剛,如海中波濤,剛柔并濟。 排云掌第五式“云海波濤 ” 具有良好的計算機編程基礎 優(yōu)秀的安全測試人員格言:給我一個socket,我能破壞任何軟件。,一次轉身最遠能產生多遠的距離 從傳統軟件測試轉向安全性測試,如果不付出相當大的努力去消除,每個復雜的軟件程序都會有代價高昂的安全漏洞。這些漏洞會造成病毒和蠕蟲的橫行,也會使得罪犯能夠攫取用戶的個人財務
4、數據,而這些用戶已如驚弓之鳥,并且本來就很不愿意把他們的個人數據放在Internet上。 2005年,CardSystems成為數字化攻擊的犧牲品,由于對信用卡數據在未加密情況下存儲,有4000多萬張借記卡和信用卡泄密,4個月后,這家公司倒閉出售。 安全性測試:不是驗證軟件的正確性,而是挖掘軟件的漏洞(軟件中的“不應該”和“不允許”部分,例如:代碼中的緩沖區(qū)溢出漏洞,電子秤中的作弊后門等)。- 越崩潰越快樂! RFC2828將漏洞定義為“系統設計、實現或操作和管理中存在的缺陷或弱點,能被利用而違背系統的安全策略” 例如:對于一個web輸入界面的測試,其上有個字段【銀行賬號】(正確輸入是12個數
5、字),對該字段的測試包括: 正確輸入驗證:正好12個數字(分該賬號存在和不存在兩種情況驗證) 異常輸入驗證:(模仿用戶的一些無意錯誤操作)輸入不滿12個數字,超過12個數字,有非數字字符,空,等等。 安全測試:SQL注入攻擊(用web代理來輸入,繞過客戶端的檢驗檢查)、跨站點腳本輸出、整數溢出等。 安全測試的出發(fā)點:像攻擊者一樣思考,一些攻擊模式的范例,驗證用戶輸入不會提供機會讓攻擊者通過已知的SQL注入攻擊來操縱后臺數據庫; 驗證不存在跨站點執(zhí)行腳本的可能性; 驗證在向服務器發(fā)送一個它不能正確處理的非法數據包的情況下,服務器不會崩潰; 驗證用戶輸入不會導致數據處理溢出; 驗證程序對錯誤的處理
6、是恰當的; 驗證數據在網絡傳輸中或存儲時是經過了保護的 驗證不會出現信息泄露 驗證訪問控制 。,建立安全性測試計劃- 基于風險的安全測試,威脅/風險建模:排定安全測試的優(yōu)先級。在對應用程序的設計和應用流程加以理解的基礎上,可假定潛在的安全風險并對其進行評價。然后,根據易于攻擊和攻擊的影響嚴重性,將這些威脅進行分級并依次消除。然后安全測試人員就可以將其注意力集中于那些攻擊難度最低而影響最大的領域。 流程: 信息搜集:需要測試哪個應用程序和應用程序中的哪些模塊(組件),對每一個模塊(組件)做哪些安全假設,每個組件的哪些安全因素需要測試,預期的結果是什么。 登錄頁面:(見后) 識別威脅 將與威脅相關
7、的風險進行分級 潛在的破壞程度 再現性和可利用性:探測并利用這個漏洞所做的努力 受影響的用戶,登錄頁面的威脅分析,猜測口令:設計時應設計登錄試探次數,例如:只許試探三次,然后鎖定ip地址。 利用password文件系統地猜測口令:加密文件(密碼強弱,文件存放是否安全) 分析協議和濾出口令:不能明文傳輸,密碼的強弱 重放攻擊:加時間戳 木馬監(jiān)視登錄/口令:系統安全,一次性口令 盜鏈: SQL注入漏洞 異常輸入破壞:,安全測試技術之七種武器,一個完整的WEB安全性測試可以從以下幾個方面入手: 1.安全體系測試 網絡是否提供了安全的通信 部署拓撲結構是否包括內部的防火墻 部署拓撲結構中是否包括遠程應
8、用程序服務器 操作系統是否存在漏洞,例如Unix上的緩沖區(qū)溢出漏洞、Windows上的RPC漏洞、緩沖區(qū)溢出漏洞、安全機制漏洞等; 2. 輸入驗證 如何驗證輸入 是否清楚入口點 是否驗證Web頁輸入 是否對傳遞到組件或Web服務的參數進行驗證 是否驗證從數據庫中檢索的數據 是否依賴客戶端的驗證 應用程序是否易受SQL注入攻擊 應用程序是否易受XSS攻擊 如何處理輸入,3.身份驗證和授權 是否區(qū)分公共訪問和受限訪問 如何驗證調用者身份 如何驗證數據庫的身份 如何向最終用戶授權 4. 敏感數據 是否存儲機密信息 如何存儲敏感數據 是否在網絡中傳遞敏感數據 5. 加密 為何使用特定的算法 如何確保加
9、密密鑰的安全性 6.參數操作 是否驗證所有的輸入參數 是否在參數過程中傳遞敏感數據 是否為了安全問題而使用HTTP頭數據 7.審核和日志記錄 是否明確了要審核的活動 是否考慮如何流動原始調用這身份,應用服務器的安全性測試技術,一、應用服務器的安全性測試內容 基于應用服務器的安全性測試內容主要包括:驗證隱私系統是否受到保護、數據是否加密,檢測系統是否有安全保密的漏洞,檢驗系統及其所在的網絡是否能夠承受各種類型的惡意攻擊。對于Web 服務器而言,具體測試內容還有測試用戶登錄與注冊、是否有超時限制、服務器腳本語言、日志文件、目錄安全、SSL 安全傳輸測試等。 二、應用服務器的安全性測試方法與技術 (
10、一)全面搜集與應用服務器安全相關的各種信息,分析其可能出現的安全隱患應用服務器被使用的企業(yè)單位基本信息、管理中薄弱環(huán)節(jié)、應用服務器配置信息、系統可訪問的主機IP 地址及對應的主機名、服務器所在網絡的拓樸結構等,這些信息可能成為被利用的安全隱患,有的可能在互聯網上搜索得到,要對其進行分析和安全隱患檢查。,應用服務器的安全性測試技術,(二)應用服務器的漏洞探測和掃描 1、利用搜索引擎搜索已公布的漏洞。可利用Google 等工具搜索資源,研究系統漏洞??稍L問CVE(公共漏洞和暴露)數據庫,查找漏洞。Packet Storm 組織是由一些致力于提供必要信息以安全化全球網絡的安全專業(yè)人士組成的非盈利組織
11、,在其網站上可以找到許多安全信息,如Windows 中緩沖區(qū)溢出漏洞、Unix主機中遠程過程調用(RPC)的安全隱患、FTP漏洞,Sendmail郵件服務軟件的漏洞等。 2、利用掃描工具進行漏洞探測。服務器漏洞掃描的工具很多,基于Linux的掃描工具有Namp、Netcat、Nessus?;赪indows的端口掃描器有NeWT 等。還有很多掃描工具,如:著名的COPS、Tiger、 Fluxay5(流光)、X-scan、N-Stealth、Metasploit Framework(:55555/)等。其中,很多工具可以在網上免費下載??梢岳蒙鲜龉ぞ咛綔y系統漏洞,查看系統是否打了補丁。,應用
12、服務器的安全性測試技術,(三)模擬攻擊測試 采用拒絕服務、緩沖區(qū)溢出攻擊、密碼破解攻擊等方法進行測試。 1、Web 服務器利用測試。針對Windows IIS5.0 Web 服務器中的目錄遍歷漏洞(CVE-2001-0333),可采用如下方法測試。若主機IP 為:02,則在IE 的地址欄中輸入: 02/scripts/.%255c./winnt/system32/cmd.exe?c+dir 若在瀏覽器中看到目錄C:inetpubscripts 中的內容,則說明存在漏洞。 2、拒絕服務攻擊測試。Land 攻擊:判斷網絡數據包的源地址和目
13、標地址是否相同。 Ping Of Death 攻擊:判斷數據包的大小是否大于65535 個字節(jié)。如果操作系統接收 到長度大于65535 字節(jié)的數據包時,就會造成內存溢出、系統崩潰等后果。 Teardrop 攻擊:對接收到的分片數據包進行分析,計算數據包的片偏移量(Offset)是否有誤。某些操作系統收到含有重疊偏移的偽造分片數據包時將會出現系統崩潰、重啟等現象。 SYN Flood 攻擊:從隨機的或欺騙來的IP 地址產生大量的SYN數據包,導致合法請求被拒絕。 SMBDie 攻擊:利用SMB(服務器消息塊)中代號為CVE-CAN-2002-0274 的緩沖區(qū)溢出漏洞攻擊,可能導致Windows
14、 計算機死亡藍屏。,應用服務器的安全性測試技術,3、E-mail 炸彈攻擊測試。郵件炸彈不僅能造成收件人信箱爆滿而無法再接收其他的郵件,而且還會加重網絡的流量負荷,甚至會導致整個郵件系統癱瘓。常見的郵件炸彈軟件有KaBoom!、Avalanche 等。 4、密碼破解和特權提升測試。采用窮舉法、漏洞利用和字典法等方法破解系統用戶密碼,常用工具有:L0phtcrack 、Crackerjack、John the Ripper 等,在試著破解前用pwdump5來獲取密碼的哈希,可參考網站: SQL Server 弱口令測試:用scansql.exe 工具測試SQL Server 數據庫應用系統是否有默認用戶SA 及弱口令。 擊鍵記錄測試:采用擊鍵記錄工具(如keylog5.exe)進行測試。檢查能否記錄管理員的用戶名和口令。 登錄測試:對用戶名和匹配的密碼進行校驗,以阻止非法用戶登錄??蓽y試輸入的密碼是否對大小寫敏感、是否有長度和條件限制、最多可以嘗試多少次登錄等情況。 測試時可以將上述多種方法混合使用,進行暴力攻擊測試。,應用服務器的安全性測試技術,(四)使用計算機病毒及木馬測試系統的防護能力 最典型的計算機病毒和木馬有“木馬代理”、“網游大盜”、“艾妮”、“熊貓燒香”、 “QQ 木馬”、“灰鴿子”等。有的木馬能繞過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天津市和平區(qū)教育系統事業(yè)單位進駐東北師范大學公開招聘教師70人備考題庫完整答案詳解
- 2026年1月招聘森林消防護林員備考題庫及參考答案詳解1套
- 2026年懷化市教育局直屬學校公開招聘教職工備考題庫及一套答案詳解
- 2025年紹興市上虞區(qū)中醫(yī)醫(yī)院醫(yī)共體公開招聘編外人員備考題庫(三)含答案詳解
- 2026年東北林業(yè)大學計算機與控制工程學院實驗技術派遣人才公開招聘備考題庫及完整答案詳解一套
- 2026年義烏市社會治理中心、義烏市訴調銜接人民調解委員會關于人民調解員招聘備考題庫及答案詳解一套
- 2026年成都市溫江區(qū)涌泉街道社區(qū)衛(wèi)生服務中心編外人員招聘備考題庫及參考答案詳解一套
- 2026年南寧市第四十三中學關于公開招聘高中英語頂崗教師的備考題庫及一套完整答案詳解
- 2026年佛山市高明區(qū)富灣湖實驗中學公開招聘臨聘教師備考題庫及一套完整答案詳解
- 2026年南方醫(yī)科大學珠江醫(yī)院三水醫(yī)院公開招聘4名高層次人才備考題庫有答案詳解
- 2026貴州鹽業(yè)集團秋招面筆試題及答案
- 四川省成都市天府新區(qū)2024-2025學年七上期末數學試卷(原卷版)
- 慢性病患者健康管理工作方案
- 2026年寧夏賀蘭工業(yè)園區(qū)管委會工作人員社會化公開招聘備考題庫有答案詳解
- 安全防范設計評估師基礎理論復習試題
- 2024年中儲糧集團江蘇分公司招聘真題
- 期末模擬試卷三(試卷)2025-2026學年六年級語文上冊(統編版)
- 附錄 表E.10 防火卷簾系統調試、檢測、驗收記錄(續(xù)表16)
- DL∕T 5610-2021 輸電網規(guī)劃設計規(guī)程
- 第二章世界貿易組織的基本架構
- 噸每天啤酒廢水處理工藝設計
評論
0/150
提交評論