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

安全編碼有章可循(二)

安全
在《安全編碼有章可循(一)》一文中為大家講述了在做好安全軟件開(kāi)發(fā)的準(zhǔn)備之后,開(kāi)發(fā)團(tuán)隊(duì)還需要清楚安全編碼的原則的一部分,例如:保持代碼清潔,確??梢韵蚯昂拖蚝笞匪菰创a等。本文中將繼續(xù)為您介紹更多安全編碼原則,讓我們一起來(lái)看看吧。

《安全編碼有章可循(一)》一文中為大家講述了在做好安全軟件開(kāi)發(fā)的準(zhǔn)備之后,開(kāi)發(fā)團(tuán)隊(duì)還需要清楚安全編碼的原則的一部分,例如:保持代碼清潔,確??梢韵蚯昂拖蚝笞匪菰创a等。本文中將繼續(xù)為您介紹更多安全編碼原則,讓我們一起來(lái)看看吧。

避免本地和非本地代碼、被動(dòng)代碼和動(dòng)態(tài)代碼之間的安全沖突

應(yīng)用程序常常依賴(lài)于用另一種編程語(yǔ)言編寫(xiě)的代碼,或者在應(yīng)用程序初期開(kāi)發(fā)完成之后,還要使用另外一種編程語(yǔ)言進(jìn)行后期處理。例如,有些非本地的JAVA應(yīng)用程序可能會(huì)依賴(lài)本地的C代碼來(lái)處理與硬件的接口。這是一個(gè)潛在的漏洞,因?yàn)榧词笿AVA代碼部分并不易于遭受攻擊,攻擊者也有可能會(huì)對(duì)本地代碼執(zhí)行緩沖區(qū)的溢出攻擊。

再舉另一個(gè)例子,AJAX應(yīng)用程序?yàn)榱藞?zhí)行某項(xiàng)操作,有可能支持Web瀏覽器動(dòng)態(tài)生成的JavaScript。因而,動(dòng)態(tài)生成的代碼有可能在原始的應(yīng)用程序開(kāi)發(fā)完成之后,再開(kāi)發(fā)動(dòng)態(tài)生成的代碼。此時(shí),如果動(dòng)態(tài)生成的代碼做出了關(guān)于應(yīng)用程序環(huán)境和狀態(tài)的不同假設(shè),這就會(huì)導(dǎo)致AJAX應(yīng)用程序的非法輸入驗(yàn)證。

在這兩種情形中,應(yīng)用程序?qū)⒈镜卮a和動(dòng)態(tài)代碼當(dāng)作是潛在的不可信的實(shí)體,這一點(diǎn)是很關(guān)鍵的。另外,開(kāi)發(fā)人員對(duì)發(fā)送給不可信代碼、來(lái)自不可信代碼的數(shù)據(jù)進(jìn)行驗(yàn)證也是至關(guān)重要的。

編碼期間和日后的檢查

安全代碼檢查的主要目的是發(fā)現(xiàn)安全缺陷并確認(rèn)可能的修復(fù)手段。測(cè)試報(bào)告應(yīng)當(dāng)提供關(guān)于軟件可能的漏洞點(diǎn)的足夠詳細(xì)信息,使其開(kāi)發(fā)者能夠根據(jù)這些漏洞被黑客利用的可能性進(jìn)行分類(lèi),并區(qū)分其優(yōu)先順序。應(yīng)用指南應(yīng)當(dāng)包含在檢查代碼時(shí)應(yīng)當(dāng)考慮的問(wèn)題清單。這會(huì)確保被檢查的代碼符合確定的標(biāo)準(zhǔn),而不會(huì)受到檢查者偏好的影響。

代碼的安全檢查的一些技巧:

何時(shí)檢查:應(yīng)當(dāng)在軟件的單元或模塊水平上就進(jìn)行代碼的安全檢查。在將軟件的不同單元或模塊提交進(jìn)行編譯和鏈接之前,程序員還應(yīng)當(dāng)檢查軟件單元或模塊之間的接口缺陷。應(yīng)當(dāng)盡早并經(jīng)常地在軟件的生命周期進(jìn)行源代碼的分析和白盒測(cè)試。最有效的白盒測(cè)試是在個(gè)別模塊或在功能性的進(jìn)程單元水平上進(jìn)行的,這種測(cè)試可以在將模塊添加到更大的代碼庫(kù)之前相對(duì)輕松、快速地糾正發(fā)現(xiàn)的問(wèn)題。全面的系統(tǒng)代碼檢查應(yīng)當(dāng)著重于不同組件之間的關(guān)系和接口上。

同行檢查:程序員應(yīng)當(dāng)樂(lè)于請(qǐng)其它程序員檢查自己的代碼,因?yàn)槌绦騿T容易遺漏自己所犯的錯(cuò)誤。

工具的使用:可以用靜態(tài)、動(dòng)態(tài)、二進(jìn)制分析工具來(lái)發(fā)現(xiàn)常見(jiàn)的漏洞。例如微軟就提供了FxCop的免費(fèi)下載,這是一個(gè)靜態(tài)的分析工具。此外,還有 BinScope Binary Analyzer、Mini-Fuzz File Fuzzer 。不過(guò),這些工具可以產(chǎn)生大量的似是而非的信息,因而應(yīng)當(dāng)結(jié)合人工檢查使用,切不可用它完全替代人工檢查。

代碼檢查者的能力:只有檢查者洞悉安全問(wèn)題時(shí),人工檢查才會(huì)有用。至少代碼檢查者應(yīng)當(dāng)清楚軟件編碼所用語(yǔ)言的漏洞及解決漏洞的方法,還要熟悉數(shù)據(jù)庫(kù)、Web應(yīng)用程序、加密技術(shù)等。

充分利用測(cè)試案例:程序員應(yīng)當(dāng)創(chuàng)建一些一般的測(cè)試案例。測(cè)試應(yīng)當(dāng)有助于指出明顯的程序漏洞,它還應(yīng)當(dāng)是一個(gè)測(cè)試誤用情況的機(jī)會(huì)。

威脅模型的檢查:安全代碼的檢查應(yīng)當(dāng)包括檢查威脅模型的文檔,確保所識(shí)別的威脅在發(fā)布代碼前能夠被正確地處理。

遵循標(biāo)準(zhǔn):安全的編碼檢查應(yīng)當(dāng)確保遵循所有的編碼標(biāo)準(zhǔn),其中包括使用安全的函數(shù)庫(kù),并排除被廢止的函數(shù)。

此外,在安全的編碼檢查期間應(yīng)當(dāng)關(guān)注如下問(wèn)題:

1、所有的組件都應(yīng)當(dāng)遵循同樣的框架和確定的編碼風(fēng)格。

2、查找開(kāi)發(fā)者在代碼中的后門(mén)、調(diào)試命令、硬編碼憑證、敏感評(píng)論、過(guò)于詳細(xì)的錯(cuò)誤消息等。這些增加到源代碼中的要素可以使開(kāi)發(fā)人員在測(cè)試時(shí)更易于調(diào)整軟件的狀態(tài)。在軟件被編譯并部署之后,這些元素也容易被利用。開(kāi)發(fā)者應(yīng)當(dāng)從一開(kāi)始就避免使用這些元素,除非絕對(duì)必要。

3、在軟件系統(tǒng)的執(zhí)行期間,要查找任何沒(méi)有用到的調(diào)用和沒(méi)有完成任何功能的代碼。因?yàn)檫@些代碼有可能包括會(huì)激發(fā)環(huán)境級(jí)別或中間件級(jí)別的進(jìn)程調(diào)用,而系統(tǒng)并不要求在目標(biāo)環(huán)境中出現(xiàn)這些進(jìn)程。

4、還要查找惡意代碼的線索和指示。例如,如果該代碼是用C語(yǔ)言編碼的,那么,檢查者就有可能尋找可以指明漏洞特性的注釋或復(fù)雜的、難以跟蹤的代碼部分,或者查找包含嵌入的匯編語(yǔ)言代碼的源代碼。檢查人員應(yīng)當(dāng)檢查所有已發(fā)現(xiàn)的漏洞,看其是否存在潛在的被利用的機(jī)會(huì)??赡鼙焕玫穆┒捶Q(chēng)為安全漏洞,應(yīng)當(dāng)在代碼發(fā)布之前就解決這些漏洞。

責(zé)任編輯:Oo小孩兒 來(lái)源: TT安全
相關(guān)推薦

2012-06-28 09:45:58

2009-04-15 09:12:49

子網(wǎng)安全劃分

2021-11-25 12:52:03

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

2022-11-11 08:16:02

java性能技術(shù)

2009-10-20 11:58:16

信息化容災(zāi)備份

2020-08-19 15:30:04

PHP網(wǎng)絡(luò)安全代碼

2022-05-17 08:53:26

TPS性能測(cè)試

2020-11-05 10:20:54

前端編碼規(guī)范安全漏洞

2012-02-09 18:54:22

2019-10-29 16:10:55

死鎖Java并發(fā)

2023-08-28 16:22:06

2010-07-28 10:28:24

路由器選購(gòu)

2023-11-09 19:12:43

AIoTel視頻編碼

2015-09-15 10:04:24

高效數(shù)據(jù)中心施耐德電氣

2011-05-04 12:16:25

打印機(jī)耗材

2015-08-17 15:17:37

數(shù)據(jù)中心數(shù)據(jù)中心效率

2009-06-22 10:09:18

LinuxADSL撥號(hào)

2025-03-11 00:00:00

2011-09-14 10:38:39

2015-07-31 09:27:56

安全編碼代碼審計(jì)Python
點(diǎn)贊
收藏

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