融入遊戲元素不僅可以激勵開發人員優先考慮安全性,而且要以一種引人入勝、有益的方式做到這一點。
翻譯自 Level Up: Gamify Your Software Security by **Iram Shmueli 是 JIT 的聯合創始人,目前擔任首席研究和創新官。 IRAM是一名軟體工程師和安全研究員。 他在工程領域擁有超過20年的實踐經驗,並擔任過高階管理職位。 軟體開發的挑戰不僅僅是編寫,而是確保整個軟體開發生命週期的安全性。
與其他工程領域一樣,我們理解遊戲化提供了應對這一挑戰的創新方法--無論是通過Wilco等平台提高技能,還是通過Secure Code Warrior學習安全最佳實踐。 遊戲化使整個生態系統得以發展和發展技能。 遊戲化不僅僅是練習和提高你的技能。 將類似遊戲的元素融入實際工程和生產系統的安全實踐中,不僅鼓勵開發人員優先考慮安全性,而且以更有趣和更有價值的方式做到這一點。 這聽起來可能有點可怕,就像玩生產系統一樣,但事實並非如此。 為了確保我們勾選了正確的安全框,這裡有一些通過遊戲化嵌入安全性的新方法,這對開發人員來說可能是一項乏味的任務。
遊戲化並不是安全領域的新趨勢。 通過CTF(奪旗)挑戰賽和紅藍隊模擬,我們獲得了一些最重要的學習和知識,為實踐學習增添了競爭元素。
遊戲化已成為提公升行業技能的重要方式,隨著競爭對手變得越來越複雜,強大的安全性對業務連續性至關重要。 以下是一些有趣的想法,用於將遊戲化嵌入到工程工作流程中,以提高開發人員在進行軟體安全實踐時的樂趣。
首先是互動挑戰。 這些挑戰源於現實世界的安全問題。 引入與安全相關的日常小挑戰,例如識別程式碼段中的潛在風險,以鼓勵開發人員在了解不斷變化的威脅時快速思考並應用最佳實踐,以應對實際生產系統中的威脅。
通過以快速、日常參與的形式引入安全挑戰,遊戲化將安全置於開發人員的首要考慮位置,讓他們了解新出現的威脅。
與引入個人挑戰的方式相同,您可以通過團隊競賽鼓勵協作解決問題和點對點學習。
您可以在特定時間段內執行團隊衝刺或其他類似挑戰,以嵌入安全性。
共同解決安全挑戰可以培養協作文化,並增加一些健康和有趣的競爭精神。
我們都喜歡外部激勵因素,無論是 GitHub 上的星星、論壇和群組中的徽章和貼紙。 那麼,為什麼不建立乙個安全獎勵系統呢?
這使得開發人員可以通過成功地將安全措施整合到他們的**中來獲得積分、徽章或地位,並認可他們的成就。
淺色還是深色模式? 每個人都有自己的個人偏好,這就是為什麼今天大多數使用者介面都提供這兩種體驗的原因。
Visual Studio Code 和其他應用提供了無數的主題和可自定義性,開發人員喜歡能夠控制他們花費大部分時間的環境。 提供主題和可定製的介面是保持培訓在視覺上引人入勝和個性化的絕佳方式。 引人入勝的視覺化儀表板可跟蹤和顯示安全指標,從而建立更加個性化的體驗,使進度和成就可見且有益。 就像那些讓玩家不斷回來解鎖下乙個成就的遊戲一樣,它是任何遊戲化專案的基礎和支柱。
實施學習系統和計畫,參與者可以在完成任務後公升級,對自己的成就和技能水平感到成就感。 每個級別都將為學習者提供上公升通道和梯度體驗,以跟蹤和欣賞他們的進步。
與支援工程師通常因解決問題的速度和數量而獲得獎勵的方式類似,也可以採用類似的想法來推進組織中的安全實踐和衛生標準。 使用排行榜來鼓勵健康的競爭精神,並表彰個人或團隊對安全做出的傑出貢獻。 這些排行榜可以在整個組織內共享,例如每天在專用的 Slack 頻道上共享。
這是除上述徽章和其他獎勵之外的另一種形式。 我見過組織對其他戰略舉措的認可計畫,例如“最佳部落格”或“最佳演講者”,甚至向獲得這些頭銜的人頒發特殊的連帽衫或紀念品,賦予他們獨特性和聲望。
這可以為公司比外部活動更具戰略意義的領域帶來巨大價值:我們系統和產品的安全性。 獎勵和認可在告知團隊他們的貢獻受到重視方面大有幫助。
當我們長大後,花了很長時間才上公升到不同的空手道樂隊級別。 從那時起,競技體育也發生了變化,今天有“中間”雙色樂隊,讓兒童和青少年看到進步,並希望繼續投資於健身和技能發展。
學習安全也是如此。 通過確保遊戲化元素適應各種技能水平,從初學者到經驗豐富的開發人員,您可以讓所有人都能訪問和參與安全實踐,並更容易保持對學習的承諾,因為更容易實現成就之間的里程碑。
毋庸置疑,為了讓這些想法真正適用於您的團隊,遊戲化元素應該無縫整合到日常開發人員工作流程中。 如果您不努力使安全實踐成為開發過程中自然且常規的一部分,它們就不會被採用。
如果您選擇其中一些或一些想法,請確保它們與您現有的流程和工作流程緊密整合,以便您可以獲得最大的回報和收益。
歸根結底,我們希望提高開發人員的技能,以應對日益增長的威脅和攻擊面,這是安全工程團隊無法獨自完成的任務。 因此,保持內容新鮮度、挑戰和場景與最新的安全趨勢保持同步至關重要。
確保引入新的挑戰和場景以保持參與並確保持續學習,以幫助防止生產系統中的下乙個重大事件。
歸根結底,如果開發人員不採用遊戲化,他們就錯過了目標。 與任何新產品、流程、功能或計畫一樣,為開發人員建立乙個反饋迴圈以提供有關遊戲化元素的意見非常重要。
這將有助於確保平台根據他們的需求和挑戰進行發展,與現實世界的工作流程保持一致,令人滿意地參與,並使結果足夠有價值。
最終,將遊戲化整合到軟體安全實踐中為提公升軟體開發團隊的安全防禦態勢提供了乙個令人興奮的機會。
通過提高安全性的互動性、吸引力和回報性,開發人員更有可能將安全性視為其工作流程的基本組成部分,從而產生更強大、更安全的軟體產品。
這些只是如何將這些原則應用於開發人員日常工作流程的幾個示例,以嘗試以開發人員喜歡的方式提公升組織中的安全技能。