總瀏覽量

2011年4月28日星期四

【筆記】撰寫安全的程式碼

在 iThome 看到一系列 【撰寫安全的程式碼】的文章,順手整理下來的內容,這系列的文章看起來是從『Web 應用程式』來看的,一開始就先強調安全程式碼有多重要;討論的內容依序是
  1. 密碼的認證、授權:這裡強調幾個部份密碼輸入的時候要防止側錄(例如:網路ATM軟體使用的動態鍵盤)、資料傳輸要防止資料被竊取(使用 SSL, VPN …等方式保護要傳送的資料)、Server端的密碼不能直接以明碼方式儲取,必須使用 Hash 方式(MD5, SHA-1…等)加密,以防Server資料被竊取時密碼外洩。
  2. 緩衝區溢位:緩衝區溢位是程式撰寫時經常會犯的錯誤,常發生在 strcpy, printf 這類的輸入字串的函數,在這些函數中塞入過長的字串造成緩衝區溢位,會造成不可預期的後果。
    *不是所有程式語言都有這個問題, java 在這部份做了很多檢查問題相對於 C/C++ 就少許多。 C/C++ 新的 Compiler 也有對部份緩衝區溢位的部份做了檢查&限制。
  3. SQL Injection:SQL Injection 主要的攻擊對像是使用到 SQL 的應用程式(例如:網站中常用的資料查詢)要避免這種情況必須防止直接回傳錯誤的 SQL 訊息避免有心人士測出SQL 的正確 Command & 另外對於使用者輸入的資料也必須先做過濾檢查。
    *處理方法:確實管制系統錯誤資訊的出現位置, 善用防火牆來阻擋非必要的連線, 關閉系統預設的某些Stored Procedure。
  4. 資料庫的安全性:儘量避免直接輸入 SQL Command, 確認要輸入的資料內容由 SQL 使用會較安全。
  5. 通用的原則:絕不相信使用者所提供的資料。

為什麼找不到第8回的內容????


作者:王建興.連結:iThome
  1. 提升程式碼安全的重要性.2011-02-18
  2. 如何強化使用者密碼管理的安全性.2011-03-02
  3. 史上最惡劣的程式瑕疵安全性問題.2011-03-04
  4. 威脅資料存取的SQL Injection.2011-03-15
  5. 提升資料庫安全性的基本措施.2011-03-23
  6. 如何徹底杜絕資料隱碼攻擊.2011-03-30
  7. 提升資料庫安全性的基本措施.2011-04-07
  8. 掌握程式開發共通的安全性原則.2011-04-21

0 意見:

張貼意見

文章列表

追蹤者