tencent編碼安全規(guī)范

tencent編碼安全規(guī)范

ID:19490511

大?。?33.34 KB

頁數(shù):18頁

時(shí)間:2018-10-02

tencent編碼安全規(guī)范_第1頁
tencent編碼安全規(guī)范_第2頁
tencent編碼安全規(guī)范_第3頁
tencent編碼安全規(guī)范_第4頁
tencent編碼安全規(guī)范_第5頁
資源描述:

《tencent編碼安全規(guī)范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、編碼安全規(guī)范V1.0擬制:安全中心關(guān)鍵字:安全,編碼規(guī)范內(nèi)容范疇:信息安全文檔類別:開發(fā)技術(shù)文檔保密級(jí)別:保密文件名:編碼安全規(guī)范.doc范圍:全體員工版本:1.0文檔歷史日期作者版本號(hào)備注wolfliuV0.1applelinV0.22007-02-19Tony,CoolcyangV0.3分割了一下原來的V0.2的文檔,抽出一個(gè)單列的格式,以便后續(xù)修改。2007-2-28applelinV0.4根據(jù)新的格式整理并補(bǔ)充2007-3-8stevezhengV0.52007-3-12DumapplelinV0.6補(bǔ)充示例第一篇防止堆棧

2、溢出類漏洞51.1對任何用戶輸入數(shù)據(jù)必須首先校驗(yàn)其長度,避免由于長度越界引起的緩沖區(qū)溢出。51.2C++和MFC程序字符串處理,選擇現(xiàn)有的處理類庫,禁止自己編寫類庫。51.3編碼中禁止使用危險(xiǎn)函數(shù)。51.4Unicode和ANSI緩沖區(qū)大小不匹配問題,必須注意大小計(jì)算的單位。61.5不將用戶輸入串拼接到任何格式字符串內(nèi)。避免字符格式化漏洞。71.6多個(gè)字符串存儲(chǔ)在一個(gè)數(shù)據(jù)區(qū)時(shí),盡量不依靠分隔符區(qū)分邊界。用戶數(shù)據(jù)需要轉(zhuǎn)義后傳輸,存儲(chǔ)。81.7CC++中數(shù)組大小應(yīng)該是sizeof(pArray)/sizof(pArray[0])81

3、.8其他可能出現(xiàn)緩沖區(qū)溢出的函數(shù)8第二篇防止SQL惡意構(gòu)造性漏洞92.1防止SQL惡意構(gòu)造漏洞。不直接使用外部輸入的數(shù)字、字符串拼接SQL語句。92.2web編程對于用戶的任何輸入必須做關(guān)鍵字過濾10第三篇防止目錄,文件名惡意構(gòu)造性漏洞103.1必須:禁止使用外部輸入字串作為下列函數(shù)的參數(shù)的一部分,確保用戶不能欺騙系統(tǒng)從而執(zhí)行任意命令。如果必須傳遞參數(shù),從數(shù)據(jù)庫、文件、管道、套接字等IPC通信方式傳遞。103.4驗(yàn)證所有可能的數(shù)據(jù),甚至包括數(shù)據(jù)庫中的數(shù)據(jù),本地文件。113.5不將用戶輸入串直接加入html文件、js腳本、xml文件

4、、配置文件、模板文件。123.6避免使用有安全風(fēng)險(xiǎn)的windowsAPI。12第四篇防止內(nèi)存堆溢出漏洞134.1分配內(nèi)存,要判斷返回值。134.2內(nèi)存操作,特別是內(nèi)存拷貝,必須檢查長度是否超出分配內(nèi)存的大小134.3對于無效指針,一定要置NULL,同時(shí)數(shù)組不要保存無效指針144.4時(shí)刻注意表達(dá)式是否會(huì)上溢、下溢144.5過程/函數(shù)中分配的資源(包括內(nèi)存、文件等),在過程/函數(shù)退出之前要釋放。154.6MFC中使用CArray刪除數(shù)據(jù),需要倒后遍歷.15第五篇其他一些注意事項(xiàng)155.1檢查所有與安全相關(guān)的函數(shù)的返回值155.2調(diào)用可

5、能被預(yù)測的函數(shù)前,引入隨機(jī)量165.3在代碼中添加安全性注釋16關(guān)鍵詞:摘要:為了提高公司軟件安全質(zhì)量,公司對安全編程作出統(tǒng)一的規(guī)范約束。本規(guī)范由安全中心負(fù)責(zé)維護(hù)更新。本規(guī)范是一個(gè)最初級(jí)的基本規(guī)范。所有的開發(fā)者均應(yīng)熟練掌握。本規(guī)范的示例多以CC++為背景??s略語清單:必須:強(qiáng)制必須遵守的原則。建議:可以加以考慮的原則。禁止:必須加以避免的原則。示例:對此規(guī)則或建議從正、反兩個(gè)方面給出例子。本規(guī)范從屬于編碼層面,不包含應(yīng)用安全架構(gòu)設(shè)計(jì),不包含應(yīng)用安全部署以及應(yīng)用安全運(yùn)營等方面的內(nèi)容。開發(fā)者除了本規(guī)范以外,還必須熟悉App設(shè)計(jì)方面的

6、安全規(guī)范,協(xié)議接口設(shè)計(jì)規(guī)范,熟悉部署層面安全規(guī)范,以及熟悉運(yùn)營層面的安全規(guī)范。在編碼層面,我們主要關(guān)心以下內(nèi)容:(1)防止堆棧溢出類漏洞(*)防止緩沖區(qū)溢出漏洞(2)防止惡意SQL構(gòu)造性漏洞(3)防止文件名,路徑惡意構(gòu)造漏洞(4)防止內(nèi)存堆溢出類漏洞,防止進(jìn)程CoreDump的漏洞第一篇防止堆棧溢出類漏洞1.1對任何用戶輸入數(shù)據(jù)必須首先校驗(yàn)其長度,避免由于長度越界引起的緩沖區(qū)溢出。字符串長度計(jì)算。盡量使用單獨(dú)保存的長度變量或read等輸入函數(shù)返回的長度來計(jì)算字符串,不能完全相信strlen()。示例:main(intargc,ch

7、ar*argv[]){charbuff[128]={0};strcpy(buff,argv[1])//可能溢出}1.2C++和MFC程序字符串處理,選擇現(xiàn)有的處理類庫,禁止自己編寫類庫。建議:使用MFC的Cstring類、ATL的CComBSTR類或者STL的string類等等。1.3編碼中禁止使用危險(xiǎn)函數(shù)。禁止:禁止使用替換函數(shù)strcpy,wcscpy,lstrcpy,strcpy,_tcscpy,_ftcscpy,_mbscpystrncpy,wcsncpy,lstrcpyn,_tcsncpy,_ftcsncpy,_mbsn

8、cpystrcat,wcscat,lstrcat,strcat,_tcscat,_ftcscat,_mbscatstrncatvsprintf,vswprintf,wvsprintf,wvnsprintf,_vstprintf_vsnprintf,

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。