班級(jí)規(guī)模及環(huán)境--熱線:4008699035 手機(jī):15921673576( 微信同號(hào)) |
每期人數(shù)限3到5人。 |
上課時(shí)間和地點(diǎn) |
上課地點(diǎn):【上海】:同濟(jì)大學(xué)(滬西)/新城金郡商務(wù)樓(11號(hào)線白銀路站) 【深圳分部】:電影大廈(地鐵一號(hào)線大劇院站)/深圳大學(xué)成教院 【北京分部】:北京中山學(xué)院/福鑫大樓 【南京分部】:金港大廈(和燕路) 【武漢分部】:佳源大廈(高新二路) 【成都分部】:領(lǐng)館區(qū)1號(hào)(中和大道) 【沈陽分部】:沈陽理工大學(xué)/六宅臻品 【鄭州分部】:鄭州大學(xué)/錦華大廈 【石家莊分部】:河北科技大學(xué)/瑞景大廈 【廣州分部】:廣糧大廈 【西安分部】:協(xié)同大廈
最近開課時(shí)間(周末班/連續(xù)班/晚班):2020年3月16日 |
實(shí)驗(yàn)設(shè)備 |
☆資深工程師授課
☆注重質(zhì)量
☆邊講邊練
☆合格學(xué)員免費(fèi)推薦工作
★實(shí)驗(yàn)設(shè)備請(qǐng)點(diǎn)擊這兒查看★ |
質(zhì)量保障 |
1、培訓(xùn)過程中,如有部分內(nèi)容理解不透或消化不好,可免費(fèi)在以后培訓(xùn)班中重聽;
2、培訓(xùn)結(jié)束后,授課老師留給學(xué)員聯(lián)系方式,保障培訓(xùn)效果,免費(fèi)提供課后技術(shù)支持。
3、培訓(xùn)合格學(xué)員可享受免費(fèi)推薦就業(yè)機(jī)會(huì)。 |
課程大綱 |
|
Java安全開發(fā)課程培訓(xùn)
?
培訓(xùn)介紹:
可以全方位了解Java開發(fā)過程中遇到的各種容易忽視的安全問題,及其防范方法。可以在今后的開發(fā)過程中有意識(shí)的避免各種安全問題,提高代碼質(zhì)量。
主?題
內(nèi)?容
培?訓(xùn)?目?標(biāo)
培訓(xùn)開始
講師與學(xué)員自我介紹
課程目標(biāo)介紹
課程內(nèi)容介紹
使學(xué)員了解培訓(xùn)的目標(biāo)和內(nèi)容
數(shù)據(jù)輸入驗(yàn)證與數(shù)據(jù)清理
1、SQL注入,XML注入,regex注入攻擊原理與防范
了解系統(tǒng)輸入數(shù)據(jù)驗(yàn)證過程中的安全注意事項(xiàng),以及轉(zhuǎn)換和傳輸過程中的安全注意事項(xiàng)
2、字符串驗(yàn)證,路徑名驗(yàn)證以及日志記錄中的安全漏洞與防范
3、ZipInputStream與Runtime安全注意事項(xiàng)
4、字符串在編碼轉(zhuǎn)換,網(wǎng)絡(luò)傳輸中的安全注意事項(xiàng)
對(duì)象聲明與初始化過程中安全陷阱與防范
1、防范類初始化的嵌套循環(huán)
了解對(duì)象聲明與初始化過程中安全陷阱與防范方法
2、不要重復(fù)使用Java標(biāo)準(zhǔn)庫中的公開標(biāo)識(shí)符
3、循環(huán)相關(guān)變量聲明注意事項(xiàng)
表達(dá)式安全注意事項(xiàng)
1、不要忽略方法的返回值
了解表達(dá)式安全注意事項(xiàng)
2、不要引用空指針
3、數(shù)組內(nèi)容比較安全注意事項(xiàng)
4、‘==’和equals方法中的安全注意事項(xiàng)
5、原始數(shù)據(jù)封裝與運(yùn)算中的安全注意事項(xiàng)
數(shù)字類型與操作安全
1、防范整數(shù)溢出
了解數(shù)字類型變量聲明和操作中的各種安全問題及其防范方法
2、單精度浮點(diǎn)數(shù)運(yùn)算相關(guān)安全問題
3、strictfp的使用
面向?qū)ο蟀踩?br>
1、防范類與方法的惡意擴(kuò)展
了解對(duì)象聲明,繼承,傳遞過程中的各種安全問題及其防范方法
2、更新父類引發(fā)的安全問題
3、傳遞對(duì)象時(shí)使用copy功能
4、防范嵌套類暴露外層類的敏感信息
類方法安全
1、類方法參數(shù)的驗(yàn)證
了解類方法實(shí)現(xiàn)過程中的各種安全問題及避免方法
2、Assert相關(guān)安全注意事項(xiàng)
3、用private和final修飾執(zhí)行安全檢查的方法
4、降低被覆蓋方法與隱藏方法的可見性
5、其他類方法相關(guān)的安全注意事項(xiàng)
異常處理中的安全問題
1、?壓抑或忽視異常情況導(dǎo)致的安全問題
了解異常處理中的安全問題及防范方法
2、異常暴露敏感信息
3、防范日志記錄過程中的異常
4、finally相關(guān)安全問題
5、不要拋出RuntimeException,Exception,或者Throwable異常
可見性與原子性
1、共享變量復(fù)合操作的原子性
了解共享變量訪問和復(fù)合操作原子性相關(guān)的安全問題及其防范方法
2、保證一連串的方法調(diào)用具有原子性
3、不要假定對(duì)一組相互獨(dú)立的方法的調(diào)用具有原子性
4、當(dāng)讀寫64位數(shù)據(jù)時(shí)確保原子性
5、保證共享原始變量的可見性
輸入輸出安全
1、操作共享目錄的風(fēng)險(xiǎn)
了解輸入輸出中安全問題及其防范方法
2、應(yīng)用程序結(jié)束前刪除所有臨時(shí)文件
3、檢測和處理文件相關(guān)的錯(cuò)誤
4、文件操作相關(guān)的其他安全問題
序列化過程中安全
1、在class升級(jí)進(jìn)化過程中,維護(hù)序列化過程的兼容性
了解序列化過程中的安全問題及防范方法
2、使用正確的序列化方法聲明方式
3、不要序列化非加密的敏感數(shù)據(jù)
4、在序列化過程中避免內(nèi)存和資源泄露
5、序列化過程中其他安全相關(guān)問題
線程安全
1、不要對(duì)一個(gè)可能重用的對(duì)象加鎖
了解線程安全相關(guān)問題及其防范方法
?
2、不要對(duì)getClass()方法返回的class對(duì)象進(jìn)行加鎖
?
?
3、線程API(run,ThreadGroup,stop)相關(guān)安全問題
?
?
4、在一個(gè)線程池內(nèi)不要執(zhí)行相互依賴的任務(wù)
?
?
5、當(dāng)使用線程池時(shí),確保ThreadLocal變量重新初始化
?
平臺(tái)安全
1、不要允許特權(quán)模塊泄露敏感信息到受信區(qū)域之外
了解Java平臺(tái)相關(guān)的安全問題及其防范方法
2、不允許特權(quán)模塊有受污染變量
3、不要使用反射機(jī)制增加類,方法和成員變量的可訪問性
4、不要在非受信區(qū)域執(zhí)行安全檢查
運(yùn)行時(shí)環(huán)境安全
1、只執(zhí)行非特權(quán)操作的代碼不要進(jìn)行代碼簽名
了解Java運(yùn)行時(shí)環(huán)境安全相關(guān)問題及其防范方法
2、把所有安全敏感相關(guān)的代碼放在一個(gè)單一的jar包中,進(jìn)行簽名封裝
3、不要進(jìn)行危險(xiǎn)的聯(lián)合授權(quán)
4、不要廢除二進(jìn)制碼的驗(yàn)證機(jī)制
培訓(xùn)結(jié)束
培訓(xùn)結(jié)束
培訓(xùn)總結(jié)及疑問解答
?
?
?
·
?
?
?
?
?
?
?
?
?
?
?
?
?
?
|