大家在測(cè)試功能的時(shí)候,很少和安全聯(lián)系起來,覺得安全測(cè)試是由專業(yè)的安全團(tuán)隊(duì)、運(yùn)維等部門負(fù)責(zé)的,其實(shí)并沒有我們想象中這么高深,能熟練理解接口和掌握接口測(cè)試,就可以在功能測(cè)試中融合安全測(cè)試,但是首先要培養(yǎng)安全測(cè)試思維。
一、為什么說安全測(cè)試很重要
互聯(lián)網(wǎng)的發(fā)展給我們的生活提供了便捷,但是我們知道網(wǎng)絡(luò)是一把雙刃劍,在方便我們的同時(shí)也帶來了一些風(fēng)險(xiǎn),比如數(shù)據(jù)泄露、對(duì)電力和通信等系統(tǒng)的攻擊、網(wǎng)站篡改、勒索攻擊、木馬病毒等安全問題頻發(fā),國(guó)家對(duì)網(wǎng)絡(luò)安全也是特別重視,特別是金融行業(yè)來說。幾個(gè)月前國(guó)家金融監(jiān)督管理總局湖北監(jiān)管局公布了一張罰單,湖北銀行股份有限公司被罰款290萬元,多項(xiàng)違規(guī)行為中包含了數(shù)據(jù)安全管理方面的不足。還有年初國(guó)家金融監(jiān)管總局對(duì)中國(guó)銀行和中信銀行的行政處罰,違法違規(guī)事實(shí)中也包括了安全問題。除了會(huì)被罰款,安全問題對(duì)業(yè)務(wù)也會(huì)造成影響,假設(shè)用戶利用漏洞1分錢下單購買了價(jià)格昂貴的商品,或者繞過某些校驗(yàn)或限制,不僅直接造成資金損失,還會(huì)影響聲譽(yù),降低信任度,導(dǎo)致更大的業(yè)務(wù)損失。所以作為開發(fā)和測(cè)試人員要重視信息安全,而不是把他當(dāng)成只是安全或運(yùn)維部門要關(guān)注的事情。安全問題的重要性包括但不限于:
- 減少數(shù)據(jù)泄露風(fēng)險(xiǎn),保護(hù)用戶隱私;
- 防止經(jīng)濟(jì)損失;
- 提升系統(tǒng)穩(wěn)定性和可靠性,確保業(yè)務(wù)連續(xù)性和穩(wěn)定性;
- 提升用戶信任,維護(hù)企業(yè)聲譽(yù),增強(qiáng)合作伙伴和投資者的信心,擴(kuò)大市場(chǎng)份額;
- 遵守行業(yè)法規(guī)和標(biāo)準(zhǔn),滿足合規(guī)性要求;
我們作為銀行的信息系統(tǒng),涉及眾多敏感信息,比如證件信息、賬戶信息、交易記錄、資產(chǎn)信息、信貸記錄、聯(lián)系方式、社會(huì)關(guān)系、經(jīng)營(yíng)信息和工作信息等,更應(yīng)該提高安全開發(fā)水平和能力,保護(hù)數(shù)據(jù)安全。但是當(dāng)前安全形勢(shì)也比較嚴(yán)峻,比如:
- 攻擊手段不斷升級(jí),比如供應(yīng)鏈攻擊;
- 新興技術(shù)帶來的挑戰(zhàn),比如量子計(jì)算的快速發(fā)展可能對(duì)加密技術(shù)構(gòu)成威脅;
- 安全意識(shí)淡薄,企業(yè)和個(gè)人缺乏足夠的安全意識(shí),安全文化缺失;
- 安全領(lǐng)域?qū)I(yè)人才短缺,人才短缺和培訓(xùn)不足,導(dǎo)致在面對(duì)安全威脅時(shí)缺乏足夠的應(yīng)對(duì)能力;
- 安全標(biāo)準(zhǔn)規(guī)范之后,一些新的安全威脅和攻擊手段可能超出現(xiàn)有標(biāo)準(zhǔn)的覆蓋范圍;
二、功能測(cè)試和安全測(cè)試的關(guān)系
我們知道了安全測(cè)試很重要,但是功能測(cè)試和安全測(cè)試有什么關(guān)系呢。
首先我們看看它們之間的區(qū)別。功能測(cè)試關(guān)注于驗(yàn)證業(yè)務(wù)邏輯以及系統(tǒng)能否按預(yù)期執(zhí)行功能,安全測(cè)試主要關(guān)注于識(shí)別系統(tǒng)中的安全漏洞和弱點(diǎn),防止?jié)撛诘膼阂夤艉蛿?shù)據(jù)泄露。在進(jìn)行功能測(cè)試的時(shí)候,發(fā)現(xiàn)的缺陷就是真的缺陷,不符合需求說明、業(yè)務(wù)場(chǎng)景、使用習(xí)慣等,而安全漏洞并不是指已經(jīng)對(duì)系統(tǒng)造成了實(shí)際損害,而是有可能威脅到系統(tǒng),需要修復(fù)從而避免對(duì)系統(tǒng)造成損害的隱患,所以才稱之為安全漏洞。雖然有洞但是不一定已經(jīng)漏水,但要及時(shí)補(bǔ)上防止日后漏水。功能思維是用戶和產(chǎn)品思維,是合法用戶對(duì)系統(tǒng)執(zhí)行的正常和異常操作,而安全思維是黑客思維,是非法用戶發(fā)起的惡意行為。
從前面看來功能測(cè)試和安全測(cè)試好像沒有什么關(guān)系,但是我們回憶一下最簡(jiǎn)單的登錄框:當(dāng)我們輸入系統(tǒng)不存在的用戶名進(jìn)行登錄,系統(tǒng)提示用戶名錯(cuò)誤,或者短信驗(yàn)證方式,輸入系統(tǒng)不存在的手機(jī)號(hào)時(shí),系統(tǒng)提示手機(jī)號(hào)不存在,大家覺得這有問題嗎。從功能角度來說,這好像沒什么問題,提示也很準(zhǔn)確,但是從安全的角度,這就是敏感信息泄露,暴露了哪些是系統(tǒng)用戶,哪些不是,可以暴力破解。所以功能測(cè)試和安全測(cè)試是有聯(lián)系的。安全測(cè)試也可以通過手工測(cè)試的方式,針對(duì)系統(tǒng)的各功能和組件,進(jìn)行一些黑盒或者灰盒測(cè)試。在實(shí)現(xiàn)功能的時(shí)候往往容易留下安全隱患,這就是功能安全,比如對(duì)文件上傳和下載的處理、表單處理等等。
所以我們要站在防護(hù)者的角度,結(jié)合系統(tǒng)功能和業(yè)務(wù)流程,盡量發(fā)現(xiàn)可能被攻擊者利用的安全隱患,在功能測(cè)試中融入安全測(cè)試思維,可以
- 增強(qiáng)系統(tǒng)的整體安全性,提升系統(tǒng)的防御能力;
- 提高測(cè)試的全面性,減少潛在的安全風(fēng)險(xiǎn);
- 促進(jìn)早期發(fā)現(xiàn)和修復(fù)漏洞,降低修復(fù)成本,提高軟件質(zhì)量和可靠性;
- 提升開發(fā)團(tuán)隊(duì)的安全意識(shí)和安全開發(fā)能力;
- 滿徐合規(guī)性要求,降低法律風(fēng)險(xiǎn);
- 提升用戶體驗(yàn),為用戶提供安全、穩(wěn)定、可靠的產(chǎn)品;
安全漏洞和普通的漏洞一樣,越到后期修復(fù)成本越高。因此在功能穩(wěn)定的情況下,盡早開展安全測(cè)試,才能得到更好的投入產(chǎn)出比。
三、功能安全測(cè)試點(diǎn)
下面我們具體看下在功能測(cè)試中怎么融入安全測(cè)試。
1 登錄/會(huì)話管理
- 是否明確透露賬戶有效性
- 登錄失敗次數(shù)過多,是否有鎖定賬戶
- 是否有限制不可以在多客戶端同時(shí)登錄
- 超時(shí)是否自動(dòng)登出,超時(shí)后token/cookie是否銷毀
- 賬號(hào)失效,是否無法操作系統(tǒng)(失效賬號(hào)的憑證操作系統(tǒng),而不只是測(cè)試失效賬號(hào)能否登錄)
- 測(cè)試賬戶是否有銷毀
- 弱密碼弱口令,比如admin/123456
- 找回密碼是否可以通過繞過某些步驟/填寫其他手機(jī)號(hào)從而修改他人密碼
- 密碼復(fù)雜度要求
- 定期更換密碼
- 新密碼和原密碼一致性校驗(yàn)
2 加密與數(shù)據(jù)保護(hù)
- 敏感信息顯示屏蔽,脫敏導(dǎo)出
- 敏感信息加密傳輸
- 數(shù)據(jù)庫、日志存儲(chǔ)敏感信息需要加密
- 最小化收集信息
- 數(shù)據(jù)分級(jí)分類
3 權(quán)限管理
- 最小授權(quán):每個(gè)角色是否按照最小權(quán)限進(jìn)行配置
- 未授權(quán)訪問:用戶在沒有通過認(rèn)證授權(quán)的情況下是否能直接訪問需要通過認(rèn)證才能訪問的頁面或者信息
- 水平越權(quán):當(dāng)系統(tǒng)存在多個(gè)相同權(quán)限的用戶時(shí),A用戶越權(quán)訪問或操作B用戶的資源
- 垂直越權(quán):當(dāng)系統(tǒng)存在不同權(quán)限的用戶時(shí),低權(quán)限用戶越權(quán)訪問或操作高權(quán)限用戶的資源
4 業(yè)務(wù)邏輯
- 金額數(shù)據(jù)、商品數(shù)量、最大數(shù)限制是否可通過接口篡改
- 流水號(hào)、業(yè)務(wù)號(hào)是否有規(guī)律可循
- 流程是否可跳過中間某些步驟
- 短信轟炸
5 文件上傳
- 文件類型、大小、上傳次數(shù)限制
- 上傳文件內(nèi)容包含惡意語句是否會(huì)執(zhí)行
- 抓包修改上傳文件類型和后綴
6 文件下載
- 修改文件名/ID,越權(quán)下載文件
- 跳過登錄直接下載文件
- 通過../../跳轉(zhuǎn)其它目錄獲取重要文件
7 SQL注入
針對(duì)url、搜索框、文本框、登錄注冊(cè)等表單處測(cè)試
admin' or '1'='1
8、XSS測(cè)試
針對(duì)搜索框、留言板或評(píng)論框、url、cookie、http請(qǐng)求頭、富文本編輯器、文件上傳、第三方庫和插件處測(cè)試

9、安全審計(jì)
- 安全配置
- 日志記錄
- 系統(tǒng)相關(guān)文檔
四、最佳實(shí)踐
在實(shí)際應(yīng)用中,最佳實(shí)踐是在流水線中集成安全測(cè)試工具進(jìn)行自動(dòng)化掃描,然后在功能測(cè)試階段注意功能安全,在功能測(cè)試完成后再由專業(yè)的安全測(cè)試團(tuán)隊(duì)進(jìn)行滲透測(cè)試。
總結(jié):早期發(fā)現(xiàn)潛在的安全漏洞,可以節(jié)省修復(fù)時(shí)間和成本,避免造成損失;同時(shí)通過形成安全測(cè)試文化,有助于提升團(tuán)隊(duì)安全開發(fā)能力。但是最重要的是不管開發(fā)和測(cè)試都要培養(yǎng)安全意識(shí),在工作中融入安全思維指導(dǎo)開發(fā)和測(cè)試工作。
我們暢想一下,AI在安全測(cè)試中有什么應(yīng)用,比如自動(dòng)化滲透測(cè)試、用戶異常行為自動(dòng)化分析、流量數(shù)據(jù)自動(dòng)化分析、自動(dòng)化響應(yīng)和處置、惡意代碼智能分析檢測(cè)等,也是可以深入去學(xué)習(xí)和探索的。