版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DoS是一種常見的網(wǎng)絡(luò),有人也稱其為“洪水”。最常見的表現(xiàn)是,利用大量機我認為,從Java語言的角度,更加需要重視的是程序級別的,也就是利用Java、JVM或應(yīng)用程序的瑕疵,進行低成本的DoS,這也是想要寫出安全的Java代碼所必須考如果使用的是早期的JDK和Applet等技術(shù),者構(gòu)建合法但惡劣的程序就相對類似技術(shù)已經(jīng)逐步退出歷史舞臺,在JDK9以后,相關(guān)模塊就已經(jīng)被移除。上一講中提到的哈希碰撞,就是個典型的例子,對方可以輕易消耗系統(tǒng)有限的CPU被,以免者通過直接調(diào)用或者間接觸發(fā)方式,消耗系統(tǒng)資源。利用Jaa構(gòu)建類似上傳文件或者其他接受輸入的服務(wù),需要對消耗系統(tǒng)內(nèi)存或的上限有所控制,因為我們不能將系統(tǒng)安全依賴于用戶的合理使用。其中特別注意的是涉及解壓縮功能時,就需要防范Zipbomb等特定。另外,Java程序中需要明確釋放的資源有很多種,比如文件描述符、數(shù)據(jù)庫連接,甚至是再入鎖,任何情況下都應(yīng)該保證資源釋放成功,否則即使平時能夠正常運行,也可能被者利用而耗盡某類資源,這也算是可能的DoS來源。Java關(guān)于今天的問題,以典型的DoS作為切入點,將問題聚焦在Java開發(fā)中,我介紹其實安全問題實際就是軟件的缺陷,軟件安全并不存在一勞永逸的秘籍,既離不開設(shè)計、架構(gòu)中的風(fēng)險分析,也離不開編碼、測試等階段的安全實踐。對于面試官來說,安全問題,除了對特定安全領(lǐng)域知識的,是要看面試者的Jaa編程基本功和知識的積累。所以,我會在后面會循序漸進探討Java安全編程,這里面沒有什么黑科技,只有規(guī)范的開問題頻發(fā)的熱點場景,如Java序列化和反序列化。//a,b,c都是intif(a+b<c)//}從語言特性來說Java和JVM提供了很多基礎(chǔ)性的改進,相比于傳統(tǒng)的C、C++等語言,對于數(shù)組越界等處理要完善的多,原生的避免了緩沖區(qū)溢出等方式,提高了軟件的安全性。但這并不代表完全杜絕了問題,Java程序可能調(diào)用本地代碼,也就是JNI技術(shù),錯誤的數(shù)值可能導(dǎo)致C/C++層面的數(shù)據(jù)越界等問題,這是很的。if(a<c–try//}catch(Exceptione)thrownewRuntimeException(hostname+port+“doesn’t}這段代碼將敏感信息包含在異常消息中,試想,如果是一個Web應(yīng)用,異常也沒有良好的包裝起來,很有可能就把內(nèi)部信息給終端客戶。古人曾經(jīng)告誡我們“言多必失”是很有道理的,雖然其本意不是指軟件安全,但盡量少信息,也是保證安全的基本原則之一。即使我們并不認為某個信息有安全風(fēng)險,我的建議也是如果沒有必要,不要出來。這種還可能通過其他方式發(fā)生,比如某著名的編程技術(shù),就被過所有用戶名和。這些信息都是明文,傳輸過程也未必進行加密,類似這種情況,只是個時間對于安全標準特別高的系統(tǒng),甚至可能要求敏感信息被使用后,要立即明確在內(nèi)存中銷毀,以免被探測;或者避免在發(fā)生coreump時,意外。第三,Java提供了序列化等創(chuàng)新的特性,廣泛使用在調(diào)用等方面,但也帶來了復(fù)雜的敏感信息不要被序列化!在編碼中,建議使用transient關(guān)鍵字將其保護起來。反序列化中,建議在readObject另外,在JDK9中,Java引入了過濾器機制,以保證反序列化過程中數(shù)據(jù)都要經(jīng)過基本驗證才可以使用。其原理是通過和白,限定安全或者不安全的類型,并且你可以進行定制,然后通過環(huán)境變量靈活進行配置,更加具體的使用你可以參考通過前面的介紹,你可能注意到,很多安全問題都是源于非常基本的編程細節(jié),類似mmuale、封裝等設(shè)計,都存在著安全性的考慮。從實踐的角度,讓每個人都了解和掌握這些原則,有必要但并不太現(xiàn)實,有沒有什么工程實踐,可以幫助我們排查安全隱患呢?去從頭實現(xiàn),盡量使用廣泛驗證過的工具、類庫,不管是來自于JDK自身,還是Apache等第組織,都在社區(qū)的反饋下持續(xù)地完善代碼安全。開發(fā)過程中應(yīng)用代碼規(guī)約標準,是避免安全問題的有效。我特別推薦來自孤盡的《阿里巴巴Java開發(fā)手冊》,以及其配套工具,充分總結(jié)了業(yè)界在Java等領(lǐng)域的實踐經(jīng)驗,將到實際開發(fā)流程中,以O(shè)penJDK團隊為例,我們應(yīng)用了幾個不同角度的實踐:開發(fā)過程中,尤其是codereview階段,應(yīng)用OpenJDK利用多種靜態(tài)分析工具如FinBus、Parfai等,幫助早期發(fā)現(xiàn)潛在安全風(fēng)險,并對相應(yīng)問題采取態(tài)度,強制要求解決。甚至OpenJDK會默認將任何(編譯等)警告,都當(dāng)作錯誤對待,并體現(xiàn)在CIcheck-inhook不能進入OpenJDK代碼庫。關(guān)于靜態(tài)分析工具的選擇,我們選取的原則是“足夠好”。沒有什么工具能夠發(fā)現(xiàn)所有問題,所以在保證功能的前提下,影響更大的是分析效率,換句話說是代碼分析的噪音高低。不管分析有完備,如果太多誤報,就會導(dǎo)致有用信息被噪音覆蓋,也不利于后續(xù)其他程序化的處理,反倒不利于排查問題。JDKJDK自身的也是個軟件,難免會存在實現(xiàn)瑕疵,我們平時看到JDK更新的安全補丁,其實就是在修補這些。我最近還注意到,某大廠被曝出了使用的JDK版本存在序列化相關(guān)的。類似這種情況,大多數(shù)都是因為使用的JDK是較低版本,算是可以通過如果是安全敏感型產(chǎn)品,建議關(guān)注JDK在加方面的路線圖,同樣的標準也應(yīng)用于其他和防守是不對稱的,只要有一個嚴重,對于者就足夠了,所以,不能對黑盒形式的部署心存僥幸,這并不能保證系統(tǒng)的安全,者可以利用對軟件設(shè)計的猜測,結(jié)合一系列,探測出。今天我以DoS等典型方式為例,分析了其在Java平臺上的特定表現(xiàn),并從安全Java8LiveJava間”App內(nèi)點擊“極客Live”即可加入,今晚我們不見不散。你的朋友是不是也在準備面試呢?你可以“請朋友讀”,把今天的題目給好友,或許你 不得售賣。頁面已增加防盜追蹤,將依法其上一 第31講|你了解Java應(yīng)用開發(fā)中的注入嗎下一 第33講|服務(wù)出現(xiàn)明顯“變慢”,談?wù)勀愕脑\斷思路 37我使用char[]數(shù)組和驗證,并在使用結(jié)束后,通過隨機的字符覆蓋掉char[]。 三木 3新版中 老師,能否就sp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東酒店管理職業(yè)技術(shù)學(xué)院《食品微生物綜合實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東金融學(xué)院《公司金融含實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東建設(shè)職業(yè)技術(shù)學(xué)院《技術(shù)及應(yīng)用實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東金融學(xué)院《小動物影像學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 網(wǎng)絡(luò)文明培訓(xùn)課件
- 《能源互聯(lián)網(wǎng)》課件
- 小班安全課件《狗狗來了》
- 廚具銷售培訓(xùn)課件
- 共青科技職業(yè)學(xué)院《現(xiàn)代基礎(chǔ)化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛州師范高等專科學(xué)?!督鹑诜ā?023-2024學(xué)年第一學(xué)期期末試卷
- 2025年初級會計職稱《經(jīng)濟法基礎(chǔ)》全真模擬及答案(解析3套)
- 2024年八年級班主任德育工作個人總結(jié)
- 《健康社區(qū)評價標準》
- 戶外市場研究報告-魔鏡洞察-202412
- 浙江省金華市金東區(qū)2023-2024學(xué)年九年級上學(xué)期語文期末試卷
- 【7地星球期末】安徽省合肥市包河區(qū)智育聯(lián)盟校2023-2024學(xué)年七年級上學(xué)期期末地理試題(含解析)
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之2:“1至3章:范圍、術(shù)語和定義”(雷澤佳編制-2025B0)
- (2021)最高法民申5114號凱某建設(shè)工程合同糾紛案 指導(dǎo)
- 期末復(fù)習(xí)試題(試題)-2024-2025學(xué)年五年級上冊數(shù)學(xué)蘇教版
- 尊重學(xué)術(shù)道德遵守學(xué)術(shù)規(guī)范學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 河北省石家莊市2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試題(含答案)
評論
0/150
提交評論