測試應(yīng)用程序的安全性.ppt
《測試應(yīng)用程序的安全性.ppt》由會員分享,可在線閱讀,更多相關(guān)《測試應(yīng)用程序的安全性.ppt(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。
測試應(yīng)用程序的安全性,姚礪東華大學(xué)計算機學(xué)院,軟件測試是一項非常復(fù)雜的、創(chuàng)造性的和需要高度智慧的挑戰(zhàn)性任務(wù)。,我測故我在,軟件測試的現(xiàn)狀,軟件測試在軟件生命周期中占據(jù)重要的地位,軟件測試慢慢的獨立發(fā)展成為一個行業(yè),并且在迅猛發(fā)展。對美國大量軟件項目的觀察結(jié)果表明,軟件項目的成功在很大程度上依賴于軟件測試的成功。軟件測試在軟件企業(yè)中擔(dān)當(dāng)?shù)慕巧恰百|(zhì)量管理”,即及時糾錯及時更正,為產(chǎn)品推向市場貼上“質(zhì)量合格”的標(biāo)簽。開發(fā)與測試進(jìn)攻與防守:好看靠進(jìn)攻,冠軍靠防守,軟件測試的現(xiàn)狀,對國際著名IT企業(yè)的統(tǒng)計數(shù)據(jù)表明,軟件測試在整個軟件項目中所占的比例為40%以上,占整個項目費用的50%以上,軟件測試人員與開發(fā)人員的人數(shù)比例接近1:1。國內(nèi)軟件企業(yè)在軟件測試上的投入一般在5%以下,測試人員所占比例很小(軟件測試人員與開發(fā)人員之比僅為1:8),經(jīng)常處于從屬地位。中國軟件工業(yè)要健康發(fā)展,必須正視和努力縮小這個差距。,微軟的測試,“很多人都認(rèn)為微軟是一家軟件開發(fā)公司,而事實上,我們是一家軟件測試公司”-比爾蓋子在微軟內(nèi)部,軟件測試人員與軟件開發(fā)人員的比率一般為1.5-2.5左右,軟件測試的作用,軟件質(zhì)量與軟件質(zhì)量保證教學(xué)考試與教學(xué)質(zhì)量保證軟件開發(fā)的每個階段都要測試,測試人員應(yīng)該參與設(shè)計階段:評審安全性設(shè)計傳說中的微軟測試部門的格言:沒有最BT,只有更BT。,軟件測試之獨孤九劍,全程測試,測試先行劍走偏鋒—不走尋常路完全測試程序是不可能的軟件測試是有風(fēng)險的行為程序中的大部分錯誤往往是在一小部分模塊中發(fā)現(xiàn)的--帕雷托定律設(shè)計周密的測試用例先求開展,后求緊湊,乃可縝密矣----《九陰真經(jīng)》框起你的測試來剛中帶柔,柔中帶剛,如海中波濤,剛?cè)岵??!旁普频谖迨健霸坪2本哂辛己玫挠嬎銠C編程基礎(chǔ)優(yōu)秀的安全測試人員格言:給我一個socket,我能破壞任何軟件。,一次轉(zhuǎn)身最遠(yuǎn)能產(chǎn)生多遠(yuǎn)的距離—從傳統(tǒng)軟件測試轉(zhuǎn)向安全性測試,如果不付出相當(dāng)大的努力去消除,每個復(fù)雜的軟件程序都會有代價高昂的安全漏洞。這些漏洞會造成病毒和蠕蟲的橫行,也會使得罪犯能夠攫取用戶的個人財務(wù)數(shù)據(jù),而這些用戶已如驚弓之鳥,并且本來就很不愿意把他們的個人數(shù)據(jù)放在Internet上。2005年,CardSystems成為數(shù)字化攻擊的犧牲品,由于對信用卡數(shù)據(jù)在未加密情況下存儲,有4000多萬張借記卡和信用卡泄密,4個月后,這家公司倒閉出售。安全性測試:不是驗證軟件的正確性,而是挖掘軟件的漏洞(軟件中的“不應(yīng)該”和“不允許”部分,例如:代碼中的緩沖區(qū)溢出漏洞,電子秤中的作弊后門等)。---越崩潰越快樂!RFC2828將漏洞定義為“系統(tǒng)設(shè)計、實現(xiàn)或操作和管理中存在的缺陷或弱點,能被利用而違背系統(tǒng)的安全策略”例如:對于一個web輸入界面的測試,其上有個字段【銀行賬號】(正確輸入是12個數(shù)字),對該字段的測試包括:正確輸入驗證:正好12個數(shù)字(分該賬號存在和不存在兩種情況驗證)異常輸入驗證:(模仿用戶的一些無意錯誤操作)輸入不滿12個數(shù)字,超過12個數(shù)字,有非數(shù)字字符,空,等等。安全測試:SQL注入攻擊(用web代理來輸入,繞過客戶端的檢驗檢查)、跨站點腳本輸出、整數(shù)溢出等。安全測試的出發(fā)點:像攻擊者一樣思考,一些攻擊模式的范例,驗證用戶輸入不會提供機會讓攻擊者通過已知的SQL注入攻擊來操縱后臺數(shù)據(jù)庫;驗證不存在跨站點執(zhí)行腳本的可能性;驗證在向服務(wù)器發(fā)送一個它不能正確處理的非法數(shù)據(jù)包的情況下,服務(wù)器不會崩潰;驗證用戶輸入不會導(dǎo)致數(shù)據(jù)處理溢出;驗證程序?qū)﹀e誤的處理是恰當(dāng)?shù)?;驗證數(shù)據(jù)在網(wǎng)絡(luò)傳輸中或存儲時是經(jīng)過了保護(hù)的驗證不會出現(xiàn)信息泄露驗證訪問控制。。。。。,建立安全性測試計劃---基于風(fēng)險的安全測試,威脅/風(fēng)險建模:排定安全測試的優(yōu)先級。在對應(yīng)用程序的設(shè)計和應(yīng)用流程加以理解的基礎(chǔ)上,可假定潛在的安全風(fēng)險并對其進(jìn)行評價。然后,根據(jù)易于攻擊和攻擊的影響嚴(yán)重性,將這些威脅進(jìn)行分級并依次消除。然后安全測試人員就可以將其注意力集中于那些攻擊難度最低而影響最大的領(lǐng)域。流程:信息搜集:需要測試哪個應(yīng)用程序和應(yīng)用程序中的哪些模塊(組件),對每一個模塊(組件)做哪些安全假設(shè),每個組件的哪些安全因素需要測試,預(yù)期的結(jié)果是什么。登錄頁面:(見后)識別威脅將與威脅相關(guān)的風(fēng)險進(jìn)行分級潛在的破壞程度再現(xiàn)性和可利用性:探測并利用這個漏洞所做的努力受影響的用戶,登錄頁面的威脅分析,猜測口令:設(shè)計時應(yīng)設(shè)計登錄試探次數(shù),例如:只許試探三次,然后鎖定ip地址。利用password文件系統(tǒng)地猜測口令:加密文件(密碼強弱,文件存放是否安全)分析協(xié)議和濾出口令:不能明文傳輸,密碼的強弱重放攻擊:加時間戳木馬監(jiān)視登錄/口令:系統(tǒng)安全,一次性口令盜鏈:SQL注入漏洞異常輸入破壞:,安全測試技術(shù)之七種武器,一個完整的WEB安全性測試可以從以下幾個方面入手:1.安全體系測試網(wǎng)絡(luò)是否提供了安全的通信部署拓?fù)浣Y(jié)構(gòu)是否包括內(nèi)部的防火墻部署拓?fù)浣Y(jié)構(gòu)中是否包括遠(yuǎn)程應(yīng)用程序服務(wù)器操作系統(tǒng)是否存在漏洞,例如Unix上的緩沖區(qū)溢出漏洞、Windows上的RPC漏洞、緩沖區(qū)溢出漏洞、安全機制漏洞等;2.輸入驗證如何驗證輸入是否清楚入口點是否驗證Web頁輸入是否對傳遞到組件或Web服務(wù)的參數(shù)進(jìn)行驗證是否驗證從數(shù)據(jù)庫中檢索的數(shù)據(jù)是否依賴客戶端的驗證應(yīng)用程序是否易受SQL注入攻擊應(yīng)用程序是否易受XSS攻擊如何處理輸入,3.身份驗證和授權(quán)是否區(qū)分公共訪問和受限訪問如何驗證調(diào)用者身份如何驗證數(shù)據(jù)庫的身份如何向最終用戶授權(quán)4.敏感數(shù)據(jù)是否存儲機密信息如何存儲敏感數(shù)據(jù)是否在網(wǎng)絡(luò)中傳遞敏感數(shù)據(jù)5.加密為何使用特定的算法如何確保加密密鑰的安全性6.參數(shù)操作是否驗證所有的輸入?yún)?shù)是否在參數(shù)過程中傳遞敏感數(shù)據(jù)是否為了安全問題而使用HTTP頭數(shù)據(jù)7.審核和日志記錄是否明確了要審核的活動是否考慮如何流動原始調(diào)用這身份,應(yīng)用服務(wù)器的安全性測試技術(shù),一、應(yīng)用服務(wù)器的安全性測試內(nèi)容基于應(yīng)用服務(wù)器的安全性測試內(nèi)容主要包括:驗證隱私系統(tǒng)是否受到保護(hù)、數(shù)據(jù)是否加密,檢測系統(tǒng)是否有安全保密的漏洞,檢驗系統(tǒng)及其所在的網(wǎng)絡(luò)是否能夠承受各種類型的惡意攻擊。對于Web服務(wù)器而言,具體測試內(nèi)容還有測試用戶登錄與注冊、是否有超時限制、服務(wù)器腳本語言、日志文件、目錄安全、SSL安全傳輸測試等。二、應(yīng)用服務(wù)器的安全性測試方法與技術(shù)(一)全面搜集與應(yīng)用服務(wù)器安全相關(guān)的各種信息,分析其可能出現(xiàn)的安全隱患應(yīng)用服務(wù)器被使用的企業(yè)單位基本信息、管理中薄弱環(huán)節(jié)、應(yīng)用服務(wù)器配置信息、系統(tǒng)可訪問的主機IP地址及對應(yīng)的主機名、服務(wù)器所在網(wǎng)絡(luò)的拓樸結(jié)構(gòu)等,這些信息可能成為被利用的安全隱患,有的可能在互聯(lián)網(wǎng)上搜索得到,要對其進(jìn)行分析和安全隱患檢查。,應(yīng)用服務(wù)器的安全性測試技術(shù),(二)應(yīng)用服務(wù)器的漏洞探測和掃描1、利用搜索引擎搜索已公布的漏洞??衫肎oogle等工具搜索資源,研究系統(tǒng)漏洞??稍L問CVE(公共漏洞和暴露)數(shù)據(jù)庫,查找漏洞。PacketStorm組織是由一些致力于提供必要信息以安全化全球網(wǎng)絡(luò)的安全專業(yè)人士組成的非盈利組織,在其網(wǎng)站上可以找到許多安全信息,如Windows中緩沖區(qū)溢出漏洞、Unix主機中遠(yuǎn)程過程調(diào)用(RPC)的安全隱患、FTP漏洞,Sendmail郵件服務(wù)軟件的漏洞等。2、利用掃描工具進(jìn)行漏洞探測。服務(wù)器漏洞掃描的工具很多,基于Linux的掃描工具有Namp、Netcat、Nessus。基于Windows的端口掃描器有NeWT等。還有很多掃描工具,如:著名的COPS、Tiger、Fluxay5(流光)、X-scan、N-Stealth、MetasploitFramework(:55555/)等。其中,很多工具可以在網(wǎng)上免費下載。可以利用上述工具探測系統(tǒng)漏洞,查看系統(tǒng)是否打了補丁。,應(yīng)用服務(wù)器的安全性測試技術(shù),(三)模擬攻擊測試采用拒絕服務(wù)、緩沖區(qū)溢出攻擊、密碼破解攻擊等方法進(jìn)行測試。1、Web服務(wù)器利用測試。針對WindowsIIS5.0Web服務(wù)器中的目錄遍歷漏洞(CVE-2001-0333),可采用如下方法測試。若主機IP為:67.168.100.102,則在IE的地址欄中輸入:http://67.168.100.102/scripts/..%255c..//winnt/system32/cmd.exe?c+dir若在瀏覽器中看到目錄C:\inetpub\scripts中的內(nèi)容,則說明存在漏洞。2、拒絕服務(wù)攻擊測試。Land攻擊:判斷網(wǎng)絡(luò)數(shù)據(jù)包的源地址和目標(biāo)地址是否相同。PingOfDeath攻擊:判斷數(shù)據(jù)包的大小是否大于65535個字節(jié)。如果操作系統(tǒng)接收到長度大于65535字節(jié)的數(shù)據(jù)包時,就會造成內(nèi)存溢出、系統(tǒng)崩潰等后果。Teardrop攻擊:對接收到的分片數(shù)據(jù)包進(jìn)行分析,計算數(shù)據(jù)包的片偏移量(Offset)是否有誤。某些操作系統(tǒng)收到含有重疊偏移的偽造分片數(shù)據(jù)包時將會出現(xiàn)系統(tǒng)崩潰、重啟等現(xiàn)象。SYNFlood攻擊:從隨機的或欺騙來的IP地址產(chǎn)生大量的SYN數(shù)據(jù)包,導(dǎo)致合法請求被拒絕。SMBDie攻擊:利用SMB(服務(wù)器消息塊)中代號為CVE-CAN-2002-0274的緩沖區(qū)溢出漏洞攻擊,可能導(dǎo)致Windows計算機死亡藍(lán)屏。,應(yīng)用服務(wù)器的安全性測試技術(shù),3、E-mail炸彈攻擊測試。郵件炸彈不僅能造成收件人信箱爆滿而無法再接收其他的郵件,而且還會加重網(wǎng)絡(luò)的流量負(fù)荷,甚至?xí)?dǎo)致整個郵件系統(tǒng)癱瘓。常見的郵件炸彈軟件有KaBoom!、Avalanche等。4、密碼破解和特權(quán)提升測試。采用窮舉法、漏洞利用和字典法等方法破解系統(tǒng)用戶密碼,常用工具有:L0phtcrack、Crackerjack、JohntheRipper等,在試著破解前用pwdump5來獲取密碼的哈希,可參考網(wǎng)站:SQLServer弱口令測試:用scansql.exe工具測試SQLServer數(shù)據(jù)庫應(yīng)用系統(tǒng)是否有默認(rèn)用戶SA及弱口令。擊鍵記錄測試:采用擊鍵記錄工具(如keylog5.exe)進(jìn)行測試。檢查能否記錄管理員的用戶名和口令。登錄測試:對用戶名和匹配的密碼進(jìn)行校驗,以阻止非法用戶登錄。可測試輸入的密碼是否對大小寫敏感、是否有長度和條件限制、最多可以嘗試多少次登錄等情況。測試時可以將上述多種方法混合使用,進(jìn)行暴力攻擊測試。,應(yīng)用服務(wù)器的安全性測試技術(shù),(四)使用計算機病毒及木馬測試系統(tǒng)的防護(hù)能力最典型的計算機病毒和木馬有“木馬代理”、“網(wǎng)游大盜”、“艾妮”、“熊貓燒香”、“QQ木馬”、“灰鴿子”等。有的木馬能繞過天網(wǎng)等大多數(shù)防火墻的攔截。可以利用這些典型病毒和木馬測試應(yīng)用服務(wù)器系統(tǒng)的防護(hù)能力,驗證服務(wù)器檢測到病毒時的應(yīng)急能力。許多病毒和木馬在網(wǎng)上很容易下載到??梢允褂镁W(wǎng)頁木馬生成器方便地生成木馬。也可以利用操作系統(tǒng)的Shell編程技術(shù)和Socket編程技術(shù)嘗試編寫新的攻擊程序,用于系統(tǒng)安全性測試。(五)數(shù)字取證測試?yán)孟到y(tǒng)中的日志、審計、Cookies、歷史記錄等功能,驗證應(yīng)用服務(wù)器遭到攻擊后是否留下痕跡,便于取證。,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 測試 應(yīng)用程序 安全性
鏈接地址:http://ioszen.com/p-3411297.html