功能測(cè)試中的安全測(cè)試思維

大家在測(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è)試


image.png

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í)和探索的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容