主?題 |
內(nèi)?容 |
培訓(xùn)開始 |
講師與學(xué)員自我介紹 |
課程目標(biāo)介紹 |
課程內(nèi)容介紹 |
信息安全 |
注入攻擊原理和防范 |
跨站攻擊注入攻擊原理和防范 |
網(wǎng)絡(luò)傳輸攻擊原理及防范 |
社會工程攻擊原理及防范 |
安全開發(fā)流程 |
安全開發(fā)工作流程 |
安全開發(fā)生命周期 |
威脅建模 |
SDL角色分工 |
安全軟件開發(fā)框架 |
安全軟件開發(fā)框架介紹 |
保護(hù)軟件 |
生產(chǎn)安全可靠的軟件 |
驗(yàn)證第三方軟件符合安全要求 |
應(yīng)對漏洞 |
面向?qū)ο蟀踩?/td>
| 在返回引用之前,防御性復(fù)制私有的可變的類成員 |
小心處理構(gòu)造函數(shù)拋出異常的情況 |
聲明數(shù)據(jù)成員為私有并提供可訪問的封裝器方法 |
比較類而不是進(jìn)行類名稱 |
不允許敏感類復(fù)制其自身 |
不要在嵌套類中暴露外部類的私有字段 |
不要使用公有靜態(tài)的非final變量 |
不要使用棄用的或過時的類和方法 |
不要在clone()中調(diào)用可覆寫的方法 |
不要使用析構(gòu)函數(shù) |
不要使用wrap()或duplicate()創(chuàng)建緩存,并將這些緩存暴露給非受信代碼 |
不要使用斷言驗(yàn)證方法參數(shù) |
進(jìn)行安全檢測的方法必須聲明為private或final |
不要增加被覆寫方法和被隱藏方法的可訪問性 |
不要在受信邊界之外記錄敏感信息 |
數(shù)據(jù)成員聲明為私有,提供可訪問的包裝方法 |
敏感類不允許復(fù)制 |
比較類的正確做法 |
不要硬編碼敏感信息 |
避免數(shù)組引用問題 |
驗(yàn)證方法參數(shù) |
異常處理 |
不要忽略捕獲的異常 |
不允許暴露異常的敏感信息 |
不允許拋出RuntimeException, Exception,Throwable |
不要捕獲NullPointerException或其他父類異常 |
對象聲明過程中安全陷阱與防范 |
避免多層嵌套循環(huán) |
不要重復(fù)使用Java標(biāo)準(zhǔn)庫中的公開標(biāo)識符 |
循環(huán)相關(guān)變量聲明注意事項(xiàng) |
類和方法操作 |
輸入輸出安全 |
ZipInputStream與Runtime安全注意事項(xiàng) |
檢測和處理文件相關(guān)的錯誤 |
及時釋放資源 |
在終止前移除臨時文件 |
發(fā)現(xiàn)并處理與文件相關(guān)的錯誤 |
文件操作相關(guān)的其他安全問題 |
表達(dá)式安全注意事項(xiàng) |
不要忽略方法的返回值 |
不要引用空指針 |
使用Arrays.equals()來比較數(shù)組的內(nèi)容 |
數(shù)字類型與操作安全 |
數(shù)字類型和操作 |
防止整數(shù)溢出 |
避免除法和取模運(yùn)算分母為零 |
線程安全 |
確保共享變量的操作是原子的 |
確保共享變量的可見性 |
確保執(zhí)行阻塞操作的線程可以終止 |
其他線程安全 |
序列化過程中安全 |
不要序列化未加密的敏感數(shù)據(jù) |
在序列化過程中避免內(nèi)存和資源泄漏 |
devsecops |
從Devops到DevSecOps |
DevSecOps原則 |
DevSecOps 的優(yōu)勢 |
DevSecOps 框架 |
DevSecOps的關(guān)鍵能力 |
DevSecOps案例分析 |