偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

軟件開發(fā):安全編碼的九個最佳方法(三)

安全
程序員可以使用攻擊模式來確認(rèn)相關(guān)攻擊所針對的特定編碼缺陷,并確保這些缺陷不會出現(xiàn)在其代碼中。首先,程序員在考慮軟件的架構(gòu)和執(zhí)行環(huán)境后,需要決定哪些攻擊模式可行,哪些技術(shù)可用于實施攻擊該軟件。

充分利用攻擊模式

程序員可以使用攻擊模式來確認(rèn)相關(guān)攻擊所針對的特定編碼缺陷,并確保這些缺陷不會出現(xiàn)在其代碼中。首先,程序員在考慮軟件的架構(gòu)和執(zhí)行環(huán)境后,需要決定哪些攻擊模式可行,哪些技術(shù)可用于實施攻擊該軟件。例如,對于一個運行在本地Linux上的C或 C++程序而言,緩沖區(qū)溢出攻擊模式就具備相關(guān)性,而對于一個運行在.NET平臺上的C#程序而言,緩沖區(qū)溢出攻擊模式就與之無關(guān)。根據(jù)需要避免的攻擊模式,程序員應(yīng)當(dāng)決定哪些構(gòu)造不應(yīng)當(dāng)出現(xiàn)在其代碼中。

下面的例子展示了程序員如何利用攻擊模式:

攻擊模式:簡單的腳本注入

用于:避免跨站腳本漏洞

此模式有可能針對的代碼部分:即將輸出的數(shù)據(jù)發(fā)送到一個來自不可信源的用戶的代碼部分。

如何保護(hù)代碼避免遭受攻擊模式:如果沒有提前采取相應(yīng)的反制措施(即,根據(jù)架構(gòu)師的決策,在服務(wù)器和客戶端之間的聯(lián)結(jié)處,包括一個自包含的輸入驗證器/輸出過濾器),就應(yīng)當(dāng)實施類似于下面的反制措施:

1、將潛在的危險字符轉(zhuǎn)換成其HTML的對等物,以防止客戶端顯示有可能包含非法數(shù)據(jù)或臆造數(shù)據(jù)的不可信輸出,如由攻擊者插入的<script>標(biāo)簽。這種轉(zhuǎn)換的例子包括“<”變成“<”,或者“>”變成“>”;自動執(zhí)行這種轉(zhuǎn)換的第三方Java庫;JavaScript的escape()函數(shù)也可以執(zhí)行類似的轉(zhuǎn)換。注意,需要謹(jǐn)慎管理這種轉(zhuǎn)換,以避免由更長的字符串替換單個字符成造成的潛在的緩沖區(qū)溢出漏洞。

2、實施一種輸入驗證過濾器,使其可以根據(jù)允許輸入的字符白名單對輸入進(jìn)行過濾。

實施加密和哈希

程序員需要加密敏感數(shù)據(jù)(例如,密碼和會話ID),尤其是在不受信任的渠道(如互聯(lián)網(wǎng))更要如此。無法保護(hù)敏感數(shù)據(jù)可能會導(dǎo)致攻擊(例如,會話劫持和跨站腳本攻擊),導(dǎo)致對應(yīng)用程序和數(shù)據(jù)的未授權(quán)訪問。

加密功能在許多軟件中是一種重要的工具,這會確保保密性和完整性。有許多程序可以創(chuàng)建自己的加密功能,如果程序被破解,就會使軟件不安全。對程序員來說,沒有任何理由和借口允許加密功能發(fā)生故障,因為所有的主流語言都有其安全的、經(jīng)審核的加密函數(shù)庫。使用這些庫比用戶自己開發(fā)這些功能要簡單得多。下面是關(guān)于算法的一些建議:

對Web應(yīng)用程序使用傳輸層安全(TLS);

不使用MD5和安全哈希算法(SHA-1),而應(yīng)當(dāng)使用SHA-256/512 and SHA-3哈希;

不要使用DES(數(shù)據(jù)加密標(biāo)準(zhǔn)),而應(yīng)使用AES(高級加密標(biāo)準(zhǔn))或Triple DES;

程序員所開發(fā)的程序還應(yīng)當(dāng)允許在算法被破解時,能夠輕易地切換到另一種哈希和加密算法。

在部署之前禁用調(diào)試工具

核心轉(zhuǎn)儲僅能夠在測試期間才可作為一種診斷工具使用。應(yīng)當(dāng)在部署應(yīng)用程序之前對應(yīng)用程序進(jìn)行配置,在應(yīng)用程序的實際使用期間如果發(fā)生故障,能夠關(guān)閉其生成核心轉(zhuǎn)儲的能力。在程序發(fā)生故障時,不能使用核心轉(zhuǎn)儲功能,而應(yīng)該在程序退出之前,由“例外事件處理程序”來將適當(dāng)?shù)臄?shù)據(jù)發(fā)送到安全日志中。此外,如果有可能,應(yīng)當(dāng)將核心文件的大小配置為零(0)(例如,在UNIX中使用setrlimit或ulimit);這樣做可以進(jìn)一步防止生成核心文件。

顯然,上述所謂的九大最佳方法,并非程序員編制健壯軟件的靈丹妙藥,但是只要其遵循這些方法,就可以極大減少程序遭受攻擊或數(shù)據(jù)泄露的可能性。

責(zé)任編輯:Oo小孩兒 來源: TechTarget中國
相關(guān)推薦

2012-07-16 14:35:19

2010-08-30 12:08:05

2022-11-07 16:42:35

KPI軟件開發(fā)團(tuán)隊

2023-06-09 19:01:03

軟件開發(fā)

2024-11-07 12:14:36

2012-04-20 10:10:35

2023-11-06 08:55:31

2012-08-06 11:08:14

2013-03-01 09:53:40

軟件開發(fā)

2016-09-28 19:16:36

軟件開發(fā)安全CISSPSDLC

2016-09-28 19:26:31

2022-12-09 11:46:20

2023-06-08 16:47:09

軟件開發(fā)工具

2024-09-23 15:02:40

2012-03-06 09:02:41

軟件開發(fā)

2013-11-21 09:17:06

2024-02-23 11:13:35

2015-09-24 16:09:45

軟件開發(fā)項目原因

2014-10-29 11:12:46

數(shù)據(jù)安全虹安

2012-12-18 09:24:18

軟件開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號