測試人員可以在Appsec中提供多少幫助?

2021-10-07 05:40:18 字數 2110 閱讀 3812

因為大多數開發人員不會得到它; 即使他們確實獲得了安全性,他們也沒有時間擔心安全性; 而且大多數開發團隊的人員流動率過高,因此,如果您對他們進行培訓,他們的任職時間可能不會足夠長,以至於無法發揮很大作用。

從安全掃瞄或筆測試開始。 讓安全專家檢查結果,並確定找到的1個或2個最高風險型別的漏洞,例如sql注入或xss之類的問題 。

然後請該安全專家對測試人員進行培訓,使其了解這些錯誤的內容以及如何查詢它們,並幫助他們向開發人員解釋這些錯誤。 開發人員還將通過解決這些錯誤來學習有關安全性的知識。 修復所有優先順序最高的錯誤後,請對測試團隊進行接下來的兩個重要漏洞的培訓,然後繼續進行下去。

這種方法在幾個重要方面存在缺陷。

首先,它沒有解決軟體安全問題的根本原因:開發人員在設計和編寫軟體時犯了安全錯誤。 這是短期的繃帶。

在短期內,要求質量保證團隊在應用程式安全性中扮演領導角色存在乙個基本問題:即使在接受培訓後,大多數測試人員也不了解安全性。

將qa納入軟體安全性並非易事……即使是「簡單的」黑匣子web測試工具也很難使用。

為了擴充套件規模以解決我們為自己建立的龐大的軟體安全問題,質量保證部門必須成為解決方案的一部分。 挑戰在於使質量檢查人員了解安全性和最重要的攻擊者的觀點。 解決此問題的乙個狡猾技巧是將攻擊者的觀點封裝在可由qa使用的自動化工具中。 我們了解到的是,即使是今天的web應用程式測試工具(一階缺陷度量儀 )對於花費大量時間來驗證功能需求的測試人員來說仍然難以使用。

軟體[安全性]:軟體安全性十大驚喜

大多數測試人員花費大量時間來驗證正確性:遍歷測試矩陣和手動清單,編寫自動功能測試,專注於測試範圍並確保**符合規範,或者在**更改時留意回歸。 其中很多是cya驗證。 這是必須完成的,但是它很昂貴,而且對人員和時間的使用很差。 除非程式設計師做得草率,否則您不會以這種方式發現很多嚴重的錯誤。 隨著越來越多的開發團隊採用tdd之類的做法(開發人員負責測試他們自己的**),讓測試人員進行這種手動驗證和回歸將變得越來越無用且越來越普遍。

除了驗證安全功能之外,這種測試對安全性根本沒有用。 您無法通過執行一些肯定的測試來證明系統是安全的,不容易受到注入攻擊,特權提公升或其他攻擊。 你需要做

負面測試,直到您對成功利用漏洞的風險感到滿意為止。 您仍然不會知道該系統是安全的,只是它看起來「足夠安全」。

這種qa測試人員能夠了解域和系統的工作狀況,比短期測試中的筆測試人員可以更好地完成這種測試。 只要他們願意做一點黑客。

要使測試人員在應用程式的高風險區域中進行一些探索性和負面的測試,就不需要太多的培訓,也不必增加測試成本。 通過這種方法可以發現許多重要的安全性缺陷(以及功能性缺陷和可用性問題),這些缺陷是無法通過遍歷測試清單或執行漏洞掃瞄程式和動態分析工具而發現的。 應用程式安全培訓應加強對測試人員以及開發人員和管理人員的重視,進行這種測試非常重要,並且以這種方式發現的錯誤對於修復很重要。

根據cigital的「 成熟度構建安全性模型」,從質量功能的功能測試到邊緣和邊界條件測試以及「對抗性測試」,是質量檢查團隊在應用程式安全中發揮作用所需要採取的第一步。質量檢查團隊可能會繼續整合黑盒安全測試工具,並可能整合其他更高階的安全測試工具和實踐。

但是,即使您可以將一些安全測試提供給質量檢查人員,您仍然需要依靠安全專家。 您需要真正了解工具和技術問題,花費大量時間進行黑客攻擊,了解安全風險並有報酬以跟上不斷變化的威脅態勢的人。 至少比您期望攻擊的人好或更好的人。

這可能意味著要依靠您自己組織中的專職安全專家,或與外部顧問簽約以進行筆測試和其他審核,或者利用whitehat , qualys , veracode ,hp和ibm。

重要的是要獲取所有測試的結果(無論是由質量檢查人員還是筆測試人員來完成,還是由第三方測試服務來完成)並對其採取行動。

開發人員和管理人員需要了解這些錯誤的含義以及為什麼需要修復它們以及如何正確修復它們,更重要的是,如何防止它們在未來發生。 測試的真正目的是向開發和管理,風險,設計看起來薄弱的地方或sdlc中需要填補漏洞的地方提供資訊。 直到我們能夠通過測試然後修復然後再測試然後再修復...來預先阻止安全問題之前,我們沒有完成任何重要的事情。 這意味著測試人員,開發人員和管理人員都必須比今天更好地了解安全性。 因此,請教開發人員安全性。 和測試人員。 還有經理。

參考: 來自jcg合作夥伴 jim bird在building real software部落格上的介紹。

測試人員可以借鑑的9條除錯規則

1.理解系統 解決乙個具體問題,很多時候需要在整體上理解系統。重現乙個缺陷也要求測試人員在巨集觀上和細節上都能把握軟體。在專案全程,測試人員需要積極的學習被測軟體的領域知識 產品架構 實現 技術平台 除錯工具等。只有較全面的理解軟體,才能有效的分析資訊 設計實驗 快速測試。軟體開發與測試沒有捷徑,持...

程式設計師可以自己寫測試?還需要測試人員嗎?

在向開發人員介紹單元測試或tdd等工程實踐時,往往可以聽到這樣的疑問。比如 自己寫的程式,自己無法從另乙個角度測出問題。寫bug的時間都不夠了,哪有時間來寫測試?開發來寫測試了,測試幹什麼?除了核心的 沒有什麼值得測試的。本篇想要通過 這些問題背後的困難,來說明程式設計師怎樣通過編寫自測 更有效率的...

簡單說一下測試人員在開發中的作用

1單純進行測試,發現系統問題此階段測試人員的素質差別比較大,主要依賴於他們的工作內容和工具的使用能力 2可以通過各種技術手段,進一步確認問題產生的原因,此階段的開發人員具備開發人員的素質 3通過在開發前期介入,可以推動開發人員在早期發現問題 這些問題在 還沒有編寫的時候就可以發現 此階段的開發人員已...