安全編碼原則之程序內部安全
2018-04-08 20:12:40 | 來源:中培企業IT培訓網
3. 程序內部安全
軟件程序在編碼完成實際部署后,在實際運行過程中,會碰到各種情況,如每次運行時操作系統內存分配情況不同,系統資源分配情況不同,不同用戶的輸入不同,同時存在的其他進程不同,網絡連接情況不同等等。這些不同情況不可能在軟件測試過程中模擬得到,只有靠良好的軟件設計和編碼來保證軟件的正確運行,因此,軟件在代碼執行過程中,動態地檢查自身運行情況,確保軟件按照預期正確處理各種情況。
1)程序內部接口安全:軟件程序內部也存在多個組件、多個函數之間的互相調用,因此,組件或函數的調用過程也需要檢查能否調用成功,參數傳遞是否合理和安全。一個簡單的例子是,某個軟件內部需要將用戶的中文姓名由一個函數傳遞給另外一個函數,如果被調用函數想當然地只分配了8個字節的空間來接收該中文姓名,那么在碰到有五個漢字的中文姓名時就會出現問題。
2)異常安全處理:軟件程序在運行過程中可能會出現某種錯誤而導致中斷正常的控制流,這就是異常現象。對于異常,軟件程序應當提供異常安全處理代碼,使其能檢測出各種異常,并安全處理各種可能的運行路徑,保證程序總能“正確”的運行。不提供異常處理代碼的軟件程序可能會在異常發生的時候停止運行,嚴重的甚至可能引發安全問題。如某個銀行轉賬程序,如果在用戶試圖轉賬時發生運行時錯誤(比如要調用的某個動態庫加載不成功),沒有安全處理程序,則該軟件程序可能會導致用戶的資金已經轉出,同時接收方賬號尚未收到資金況。
標簽:
程序內部安全
- 上一篇:安全編碼原則之避免緩存溢出中的避免緩沖區溢出
- 下一篇:安全編碼原則之程序內部安全二