安全編碼原則之程序內(nèi)部安全二
2018-04-08 20:13:21 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)
3)最小化反饋:最小化反饋是指在程序內(nèi)部處理時,盡量將少的信息反饋到運行界面來,即避免給予不可靠用戶過多的信息,防止不可靠用戶據(jù)此猜測軟件程序的運行處理機制。最小化反饋可以用在成功的流程,也可以用在發(fā)生錯誤的流程中。典型的例子如用戶名和口令認證程序,不管用戶是用戶名輸入錯誤還是口令輸入錯誤,認證端都只反饋統(tǒng)一的“用戶名/口令錯誤”,而不是分別告知“用戶名錯誤”和“口令錯誤”,這樣可以避免讓攻擊者猜測已經(jīng)存在的用戶名,并根據(jù)用戶名來猜測口令。當然,作為軟件程序的跟蹤檢查日志,可以記錄較為詳細的程序運行信息,而這些信息是只允許有權(quán)限的人員查看。
4)避免競爭條件:競爭條件一般涉及一個或多個進程訪問某個共享資源(如某個文件或變量),這些進程在訪問共享資源時沒有適當?shù)乜刂疲绻浖绦蚴芾в诨ハ嗟却龑Ψ结尫刨Y源時,死鎖就發(fā)生了。例如,如果進程l鎖定了資源A并等待資源B,而進程2鎖定了資源B并等待資源A,死鎖就發(fā)生了。一種簡單的死鎖解決方案是要求所有進程按相同順序鎖定資源。
5)安全使用臨時文件:很多安全漏洞發(fā)生在訪問已知文件名或可猜測的臨時文件時。常見的情況是,程序在一個臨時目錄中打開一個文件,然后就將數(shù)據(jù)寫到文件中,然而,如果攻擊者預(yù)先創(chuàng)建一個符號鏈接,將這個臨時文件指向其他文件,就有可能將數(shù)據(jù)寫到那些文件中。安全使用臨時文件辦法包括:不在/tmp建立臨時文件,使用隨機名建立臨時文件,在往文件中寫人數(shù)據(jù)之前檢查文件是否已經(jīng)存在,使用系統(tǒng)接口來建立臨時文件等。
標簽:
最小化反饋