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