梅強(qiáng)
(江西工程學(xué)院,江西 新余 338029)
基于敏感信息分類的網(wǎng)絡(luò)信息安全編程方法優(yōu)化研究
梅強(qiáng)
(江西工程學(xué)院,江西 新余 338029)
敏感信息指的是容易丟失或容易被他人竊取的信息,而網(wǎng)絡(luò)安全指的是網(wǎng)絡(luò)系統(tǒng)的硬件及軟件系統(tǒng)中對(duì)數(shù)據(jù)的保護(hù),使得數(shù)據(jù)不會(huì)因意外或蓄意因素而遭到泄漏、更改、毀壞等情況。網(wǎng)絡(luò)信息安全編程一般要經(jīng)過(guò)安全設(shè)計(jì)、安全編程和安全測(cè)試三個(gè)階段,而基于敏感信息分類的網(wǎng)絡(luò)安全編程則是以基本網(wǎng)絡(luò)安全編程為基礎(chǔ)的復(fù)雜編程手段。在設(shè)計(jì)并優(yōu)化了基于敏感信息分類的網(wǎng)絡(luò)安全編程之后,還應(yīng)設(shè)計(jì)接近實(shí)際情況的仿真實(shí)驗(yàn),測(cè)試軟件的實(shí)用效果。
敏感信息分類;網(wǎng)絡(luò)信息安全;編程方法
隨著網(wǎng)絡(luò)信息安全問(wèn)題日益嚴(yán)重,安全編程技術(shù)隨之受到了廣泛的重視。安全編程技術(shù)能夠有效降低甚至消除網(wǎng)絡(luò)安全風(fēng)險(xiǎn),避免信息尤其是敏感信息遭到竊取或破壞。
目前,市場(chǎng)上對(duì)軟件的需求日益加強(qiáng),為了提高軟件編程的速度,很多軟件開發(fā)公司已經(jīng)開始聘請(qǐng)大量沒(méi)有軟件安全經(jīng)驗(yàn)的編程人員參與到軟件的制作當(dāng)中。安全的程序編程非常重要,因此必須對(duì)安全編程的方法進(jìn)行優(yōu)化。
容易丟失被不法分子竊取的、具有一定價(jià)值的信息被稱之為敏感信息,根據(jù)我國(guó)工業(yè)與信息化部的要求,個(gè)人信息只有在個(gè)人主體知情并同意的前提下,他人或組織才有權(quán)對(duì)其使用。并且,處理敏感信息時(shí)必須遵循以下八項(xiàng)基本原則:明確目標(biāo)、最少夠用、公開告知、達(dá)到質(zhì)量要求、獲準(zhǔn)同意、保證安全、履行誠(chéng)信以及明確責(zé)任。
網(wǎng)絡(luò)安全指的是網(wǎng)絡(luò)系統(tǒng)的硬件、軟件以及系統(tǒng)中的數(shù)據(jù)會(huì)受到保護(hù),不會(huì)因?yàn)橥话l(fā)狀況括蓄意因素而導(dǎo)致數(shù)據(jù)信息遭到泄漏、更改甚至破壞[1]。網(wǎng)絡(luò)安全是保障系統(tǒng)能夠持續(xù)正常運(yùn)行的關(guān)鍵因素,是確保網(wǎng)絡(luò)服務(wù)不會(huì)中斷的最主要措施。網(wǎng)絡(luò)安全主要具有保密性、完整性、可控性以及可審查性。
建立安全威脅的模型是應(yīng)對(duì)并解決軟件安全問(wèn)題的有效方法之一,其基本理論為,只有明確了應(yīng)用程序所受到的威脅以及需要減少風(fēng)險(xiǎn)的目標(biāo)數(shù)量才能夠建立起有效的安全系統(tǒng)。因此,應(yīng)首先分析軟件的安全環(huán)境等情況明確軟件可能受到威脅的種類、頻率以及程度,然后根據(jù)這些信息和要求建立起軟件安全的基礎(chǔ)點(diǎn),將模型中創(chuàng)造出來(lái)的威脅關(guān)聯(lián)到相應(yīng)解決方案的組件上,對(duì)所有威脅的安全代價(jià)進(jìn)行計(jì)算,最后根據(jù)風(fēng)險(xiǎn)的級(jí)別對(duì)威脅進(jìn)行消除或減輕。
3.1 基本網(wǎng)絡(luò)安全編程
(1)安全設(shè)計(jì)。對(duì)編程的代碼安全性問(wèn)題應(yīng)在設(shè)計(jì)階段就提出,并針對(duì)相應(yīng)的安全性問(wèn)題設(shè)計(jì)解決的方案。軟件的安全性在設(shè)計(jì)時(shí)就應(yīng)被當(dāng)做是程序的基礎(chǔ)功能之一,如果僅僅在設(shè)計(jì)結(jié)束后補(bǔ)充安全措施,那僅僅是在已有功能的基礎(chǔ)上添加安全模塊而已,從預(yù)防風(fēng)險(xiǎn)的效果和效率上來(lái)看都不會(huì)達(dá)到理想狀態(tài)。而且事后增添安全模塊還有可能改變程序的接口,使得那些依賴此接口的所有代碼都無(wú)法運(yùn)行,給軟件本身帶來(lái)更大的安全問(wèn)題。
(2)安全編程。安全編程的原則在于保證數(shù)據(jù)的秘密性和完整性以及數(shù)據(jù)的有效性,避免使用非安全的C函數(shù)為例,很多緩沖區(qū)溢出的問(wèn)題都能夠最終追溯到標(biāo)準(zhǔn)C庫(kù)的幾個(gè)函數(shù)當(dāng)中,特別是對(duì)于未經(jīng)安全檢查的字符串操作來(lái)說(shuō)。并且,類似于C+或C++這種基于C語(yǔ)言的計(jì)算機(jī)編程語(yǔ)言中,非安全函數(shù)的問(wèn)題還是會(huì)出現(xiàn),但這些危險(xiǎn)的函數(shù)可以在本語(yǔ)言中找到安全的替代函數(shù)[2],只要盡量避免使用這樣的函數(shù),就可以有效降低漏洞的出現(xiàn)率,而這也是軟件安全編程的基本要求之一。
(3)安全測(cè)試。主要方法有五種:第一,以網(wǎng)絡(luò)駭客的思維特征測(cè)定程序安全性;第二,對(duì)軟件中的所有緩沖區(qū)進(jìn)行檢測(cè);第三,對(duì)所有命令行的參數(shù)輸入進(jìn)行測(cè)試;第四,確保所有測(cè)試人員均為該程序編程的內(nèi)部工程師,絕對(duì)禁止外部人員參與到安全測(cè)試當(dāng)中;第五,使用檢測(cè)工具。關(guān)于軟件安全測(cè)試的檢測(cè)工具,一般分為靜態(tài)工具和動(dòng)態(tài)工具兩種,靜態(tài)工具只負(fù)責(zé)對(duì)代碼進(jìn)行檢測(cè),但不運(yùn)行程序;而動(dòng)態(tài)工具要通過(guò)運(yùn)行程序的方式,使程序隨機(jī)產(chǎn)生出一些緩沖區(qū),對(duì)這些緩沖區(qū)進(jìn)行安全監(jiān)測(cè)。
3.2 基于敏感信息分類的網(wǎng)絡(luò)安全編程
TN915.08
A
1671-0711(2016)10(下)-0096-02