亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

2020年用Java安全編程的五個原則

汽車玩家 ? 來源:開源中國 ? 作者:白開水不加糖 ? 2020-03-05 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一位名為Sam Bocetta的作者發(fā)表了一篇文章,針對在2020年使用Java進行編碼時應遵循的五個原則進行了研究。他在文中表示,盡管目前Java的安全性相較于一些舊的語言(特別是C和C ++)而言有所長進,但是使用Java編寫的代碼的漏洞級別還是取決于程序員遵循的最佳實踐。

在當今的開發(fā)環(huán)境中更是如此,各種新的安全性技術、黑客技術以及新穎的存儲和加密形式,意味著許多人都在質疑著Java的安全性。Java開發(fā)人員還面臨著包括云遷移的安全性問題在內的諸多挑戰(zhàn)。另一方面,新的安全審核技術(如混沌工程)也為開發(fā)人員提供了許多提高代碼安全性的機會。

五個原則的具體內容如下:

1. Audit your libraries

首先從基于Java的軟件最明顯的漏洞源開始:外部庫。

使用外部庫本身不是問題。在2020年,大多數開發(fā)人員的大部分時間確實都花在了與第三方庫的合作上。未來隨著客戶需求的發(fā)展,庫的類型也會也來越多。因此,重要的是在每次添加新的庫的時候,開發(fā)人員都要去仔細檢查其中的已知漏洞,不能掉以輕心。

審計您的庫不僅對安全性有好處。在審核的同時,您可能還會發(fā)現其他對性能產生不利影響的問題。并且,如果您要審核的庫是開源的,則可以借此機會報告錯誤并在整個開源社區(qū)中建立團隊的聲譽。

2. Manage Application Secrets

在管理應用程序的secrets時,Java開發(fā)人員也養(yǎng)成了一些壞習慣?;旧希鐓^(qū)可以分為兩個陣營:那些犧牲安全性以便為用戶提供盡可能流暢的軟件體驗的人,以及那些希望用戶花費4個小時為自己的利益輸入憑據的人。

實際上,2020年的編碼意味著要在安全性和可用性之間取得平衡。對可用性的過多關注通常會導致代碼不安全,對安全性的過多關注則意味著用戶將會花費大部分時間來嘗試規(guī)避你采取的安全措施,且他們最終也會成功找到方法。

而在管理應用程序的secrets時,Java開發(fā)人員可以從了解CMS平臺之間的差異中學到很多東西。因為大多數的CMS平臺都具有龐大的用戶基礎,這意味著其開發(fā)人員必須仔細考慮如何管理應用程序的secrets,同時還要保持普通用戶的可用性。

3. Use Mature Encryption Libraries

用于加密的庫應該比其他類型的庫進行審計和分析的頻率更高。過去,用于加密的Java庫極難使用,其API對普通開發(fā)人員的幫助不足。這也就導致了許多Java開發(fā)人員開始自己編寫加密庫。

在此過程中,一些人開始錯誤地對自己的加密技術產生濃重的自豪感,并對他人編寫的代碼產生懷疑。而此舉并不可取,畢竟一些開發(fā)人員一生都在致力于制作不可破解的加密庫,他們編寫的加密庫性能勢必要強于大部分人。

用Java進行加密的最好方法則是使用該語言提供的內置工具,重新發(fā)明輪子沒有任何意義(也存在重大弊端)。

4. Validate Your Inputs

如上所述,2020年的編程很大一部分是確保您的用戶不會破壞您精心設計的軟件。最簡單的方法之一是花費一些時間來驗證用戶輸入。此舉不僅能使您的應用程序更安全,也會使得它們更易于使用。

5. Don’t Reinvent the Wheel

最后,一種萬能的原則適用于所有語言的所有開發(fā)人員:不要自己制作易于使用的版本。

自己制作庫的問題在于,晦澀的代碼本質上并沒有比公開可用的代碼更安全。主要原因是開源庫在被眾人使用的同時,也在被成千上萬人檢查。因此,其中所存在的漏洞也會很快被發(fā)現。

總結

100%的安全是不可能的。確保Java開發(fā)中的安全性的關鍵是,擁有一個用于檢查安全漏洞并將其關閉的系統(tǒng)。最重要的是,Java開發(fā)人員應該意識到,確保代碼安全是一個過程,而不是一個事件。并且,所有地這些問題都需要通過在程序的整個生命周期中進行仔細的審核來解決。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    2996

    瀏覽量

    115409
  • API
    API
    +關注

    關注

    2

    文章

    2032

    瀏覽量

    65984
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Arm Neoverse CPU上大代碼量Java應用的性能測試

    Java 是互聯網領域廣泛使用的編程語言。Java 應用的一些特性使其性能表現與提前編譯的原生應用(例如 C 程序)大相徑庭。由于 Java 字節(jié)碼無法直接在 CPU 上執(zhí)行,因此通常
    的頭像 發(fā)表于 11-05 11:25 ?259次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應用的性能測試

    Java效率提升指南:5Java工具選型建議及Perforce JRebel和XRebel介紹

    企業(yè)級Java環(huán)境越來越復雜,真正的破局點,可能不在“人”,而在于“工具”。5實用建議,幫你理清Java工具的選型思路。
    的頭像 發(fā)表于 09-11 13:59 ?734次閱讀
    <b class='flag-5'>Java</b>效率提升指南:5<b class='flag-5'>個</b><b class='flag-5'>Java</b>工具選型建議及Perforce JRebel和XRebel介紹

    汽車軟件開發(fā)階段安全的意義與原則

    上海磐時PANSHI“磐時,做汽車企業(yè)的安全智庫”好書分享/《一本書讀懂智能汽車安全》汽車軟件開發(fā)階段安全的意義與原則本文節(jié)選自SASETECH汽車
    的頭像 發(fā)表于 09-05 16:16 ?587次閱讀
    汽車軟件開發(fā)階段<b class='flag-5'>安全</b>的意義與<b class='flag-5'>原則</b>

    隧道施工安全管理系統(tǒng):構筑隧道施工安全防線隧道大系統(tǒng)

    隧道施工安全管理系統(tǒng)隧道大系統(tǒng)建設隧道人員定位
    的頭像 發(fā)表于 08-12 12:05 ?460次閱讀
    隧道施工<b class='flag-5'>安全</b>管理系統(tǒng):構筑隧道施工<b class='flag-5'>安全</b>防線隧道<b class='flag-5'>五</b>大系統(tǒng)

    偉邦科技電梯無線方對講系統(tǒng):告別布線困擾,黑科技守護每一趟電梯安全!

    偉邦科技方對講系統(tǒng)將電梯轎廂內、電梯機房、電梯轎頂、電梯底坑以及物業(yè)管理中心(或監(jiān)控室)緊密相連,構建實時互聯的通信網絡。若一旦電梯發(fā)生故障有人被困,被困人員按下轎廂內的呼叫按鈕,求救信號便以毫秒級速度傳遞至方設備,最極致
    的頭像 發(fā)表于 08-01 10:29 ?701次閱讀

    高速PCB布局/布線的原則

    層三、網格中添加過孔避免熱點四、路由高速信號135°走線彎曲、增加瓶頸區(qū)域外的線距離六、增加菊花鏈路(避免長存根)七、差分布線原則八、正和負信號間的緊密延遲偏差
    的頭像 發(fā)表于 05-28 19:34 ?1778次閱讀
    高速PCB布局/布線的<b class='flag-5'>原則</b>

    Java 到 Go:面向對象的巨人與云原生的輕騎兵

    Go 語言在 2009 被 Google 推出,在創(chuàng)建之初便明確提出了“少即是多(Less is more)”的設計原則,強調“以工程效率為核心,極簡規(guī)則解決復雜問題”。它與 Java
    的頭像 發(fā)表于 04-25 11:13 ?457次閱讀

    如何維護i.MX6ULL的安全內核?

    。 5.15 內核系列將維護到 2026 12 月,這意味著將發(fā)布新版本,從而關閉已知漏洞。 不幸的是,據我所知,linux-imx 分支原則上不會使用較新的微版本進行更新;5.15.71 仍然是
    發(fā)表于 04-01 08:28

    大云計算平臺的建設原則,缺一不可!

    云計算平臺建設需遵循五大原則:可擴展性、高可用性、安全性、靈活性、合理的成本效益,以實現高效、可靠、安全、靈活且經濟的云服務。UU云小編認為云計算平臺的建設原則具體涵蓋以下幾個方面:
    的頭像 發(fā)表于 01-20 10:18 ?661次閱讀

    Java微服務中如何確保安全性?

    Java微服務架構中確保安全性,可以采取以下措施: 身份驗證與授權: 使用OAuth 2.0和OpenID Connect框架進行身份驗證和授權。OAuth2允許用戶在不分享憑證的情況下授權第三方
    的頭像 發(fā)表于 01-02 15:21 ?966次閱讀

    上汽大通eTerron 9斬獲歐洲Euro NCAP安全認證

    全球高品質鍛造“星大通”!近日,2024最新一期Euro NCAP(歐洲新車安全評鑒協(xié)會,以下簡稱Euro NCAP)安全碰撞測試結果
    的頭像 發(fā)表于 12-06 16:04 ?808次閱讀

    Java 23功能介紹

    Java 23 包含全新和更新的 Java 語言功能、核心 API 以及 JVM,同時適合新的 Java 開發(fā)者和高級開發(fā)者。從?IntelliJ IDEA 2024.2?開始已支持 Java
    的頭像 發(fā)表于 12-04 10:02 ?1399次閱讀
    <b class='flag-5'>Java</b> 23功能介紹

    詳解SMT工藝的原則

    SMT(表面貼裝技術)工藝中的原則,是工程師在選擇焊膏時的一重要指導原則,它確保了焊接的可靠性和質量。以下是對
    的頭像 發(fā)表于 12-04 09:11 ?903次閱讀
    詳解SMT工藝的<b class='flag-5'>五</b>球<b class='flag-5'>原則</b>

    深入了解Java泛型——從前世今生到PECS原則

    元素?”的問題,也會出現感嘆Java的泛型限制太多了很難用的情況。 為了更好的使用泛型,就需要更深地了解它,因此本文主要介紹泛型誕生的前世今生,特性,以及著名PECS原則的由來。 泛型的誕生 背景 在沒有泛型之前,必須使用Object編寫適用于多種類
    的頭像 發(fā)表于 11-21 11:45 ?748次閱讀
    深入了解<b class='flag-5'>Java</b>泛型——從前世今生到PECS<b class='flag-5'>原則</b>

    對比Python與Java編程語言

    Python與Java都是目前非常流行的編程語言,它們各有其獨特的優(yōu)勢和適用場景。以下是對這兩種編程語言的對比: 一、語法和易用性 Python 語法簡潔,代碼更易讀,非常適合初學者。 動態(tài)類型系統(tǒng)
    的頭像 發(fā)表于 11-15 09:31 ?1955次閱讀