Java安全編碼:糟糕的在線建議和令人困惑的APIs

對于程序員和軟件開發(fā)人員來說进统,網絡論壇提供了一個交流知識和尋找具體編碼難題答案的好地方。遺憾的是峰档,他們并不總是準確信息的來源。

弗吉尼亞理工大學的一組研究人員分析了數(shù)百篇關于Stack Overflow的文章羹奉,(Stack Overflow是一個很受歡迎的開發(fā)者論壇或者說Q&A網站)發(fā)現(xiàn)許多提供答案的開發(fā)人員并沒有意識到編碼選項的安全含義,并顯示出了缺乏網絡安全培訓雨饺。

他們發(fā)現(xiàn)的另一件事是荐吉,有時,最熱門的帖子或答案包含了一些不安全的建議蝗拿,這些建議會在軟件中引入安全漏洞晾捏,而正確的修復程序不那么受歡迎,也不容易看到哀托,因為它們是用戶提供的惦辛,其信譽分數(shù)較低。

因此仓手,提問者和回答者之間的社會動態(tài)肯定會對人們的安全選擇產生影響胖齐。

獲得正確的安全性

研究人員集中研究與Java安全性相關的帖子,從軟件工程和安全角度考慮嗽冒,針對的是Spring Security的問題上發(fā)表的文章呀伙,Spring Security是一個第三方Java框架,為企業(yè)應用程序提供身份驗證添坊、授權和其他安全特性剿另。

Spring Security旨在促進安全編碼,但很明顯贬蛙,許多程序員發(fā)現(xiàn)它的APIs過于復雜雨女,文檔記錄不足,運行時系統(tǒng)的錯誤報告令人困惑阳准。

“此外氛堕,多語言支持獲取數(shù)據(jù)的能力相當弱。在安全應用程序中野蝇,多語言的情況是很常見的讼稚,因為通常數(shù)據(jù)是用一種編程語言加密的(比如:Python)并在另一個編程語言解密(例如:Java)位喂。這些問題會嚴重阻礙開發(fā)人員的生產力÷伊椋”

開發(fā)人員在花太多時間解決APIs的正確用法時常感到沮喪塑崖,并且常常選擇了完全不安全的修補程序,比如使用過時的加密哈希函數(shù)痛倚,禁用了跨站點請求偽造保護规婆,信任了HTTPS驗證中的所有證書,或者使用了過時的通信協(xié)議蝉稳。

研究人員指出:“這些糟糕的編碼實踐抒蚜,如果在生產代碼中使用,將嚴重損害軟件產品的安全性耘戚∥怂瑁”

建議每個人都參與

“這項工作的意義在于,我們?yōu)榇罅苛钊藫鷳n的安全編碼問題提供了經驗證據(jù)收津,而這些問題之前并沒有被報道過饿这。這些問題是由于各種原因,包括企業(yè)安全應用的快速增長撞秋,軟件開發(fā)人員缺乏安全培訓长捧,以及設計了糟糕的安全庫,”研究人員指出吻贿。

他們建議設計人員刪除或棄用弱安全性的APIs,設計簡化的APIs肌割,并在默認情況下實現(xiàn)強大的安全性防御帐要,并設計干凈且有幫助的錯誤報告接口,其中還包括可能的根本原因和解決方案先巴。

另一方面冒冬,開發(fā)人員絕對應該需要安全檢查简烤,并進行安全測試,以檢查實現(xiàn)的功能是否如預期的那樣工作挥萌。在Stack Overflow和其他類似的社區(qū)網站和論壇上流行和接受的答案應該像一粒鹽,如果可能的話狂芋,它們的準確性應該是獨立的帜矾。

最近的相關研究顯示屑柔,排名靠前但不夠充分的編程Web教程也將漏洞引入了軟件。

最后死陆,工具生成器應該考慮使它們能夠自動診斷安全錯誤唧瘾,并建議安全補丁或解決方案。

“構建漏洞防御技術劈愚,比較同級應用程序使用相同系列的APIs來推斷和警告潛在的錯誤使用闻妓。探索檢查和加強安全性相關注釋、代碼和配置之間的語義一致性的方法注祖。構建新的方法來轉換聲明性安全性和編程式安全性的實現(xiàn)均唉,”研究人員總結道。

小編總結:當程序員或者軟件開發(fā)者在編碼遇到難題時罩缴,找網絡論壇层扶,或尋大神求助镜会,或自己探索都是可行的戳表,但一定要意識到編碼選項的安全性昼伴,選擇了錯誤的編碼圃郊,將嚴重影響企業(yè)軟件產品女蜈,因此鞭光,安全編碼吏廉,人人有責席覆。

歡迎加入學習交流群569772982,大家一起學習交流汹买。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市晦毙,隨后出現(xiàn)的幾起案子生巡,更是在濱河造成了極大的恐慌见妒,老刑警劉巖孤荣,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件须揣,死亡現(xiàn)場離奇詭異盐股,居然都是意外死亡,警方通過查閱死者的電腦和手機耻卡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門疯汁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卵酪,你說我怎么就攤上這事±?ǎ” “怎么了塑煎?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長垮兑。 經常有香客問我漱挎,道長系枪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任膊夹,我火速辦了婚禮衬浑,結果婚禮上,老公的妹妹穿的比我還像新娘放刨。我一直安慰自己工秩,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布进统。 她就那樣靜靜地躺著助币,像睡著了一般。 火紅的嫁衣襯著肌膚如雪螟碎。 梳的紋絲不亂的頭發(fā)上眉菱,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音掉分,去河邊找鬼俭缓。 笑死,一個胖子當著我的面吹牛叉抡,可吹牛的內容都是我干的尔崔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼褥民,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了洗搂?” 一聲冷哼從身側響起消返,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎耘拇,沒想到半個月后撵颊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡惫叛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年倡勇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘉涌。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡妻熊,死狀恐怖夸浅,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情扔役,我是刑警寧澤帆喇,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站亿胸,受9級特大地震影響坯钦,放射性物質發(fā)生泄漏。R本人自食惡果不足惜侈玄,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一婉刀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧序仙,春花似錦路星、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挥等,卻和暖如春友绝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背肝劲。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工迁客, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人辞槐。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓掷漱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親榄檬。 傳聞我的和親對象是個殘疾皇子卜范,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,303評論 25 707
  • 在保證視頻圖像質量的前提下,HEVC通過增加一定的計算復雜度鹿榜,可以實現(xiàn)碼流在H.264/AVC的基礎上降低50%海雪。...
    加劉景長閱讀 7,889評論 0 6
  • 編碼問題一直困擾著開發(fā)人員,尤其在 Java 中更加明顯舱殿,因為 Java 是跨平臺語言奥裸,不同平臺之間編碼之間的切換...
    x360閱讀 2,483評論 1 20
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法沪袭,內部類的語法湾宙,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,664評論 18 399
  • 如果資源是唯一的侠鳄,那么共產主義不可能實現(xiàn)埠啃,因為人們要爭奪這些,比如一個人畦攘、土地霸妹、石油、名譽知押。 但是計算機科技正在綻...
    gochild閱讀 752評論 0 0