Secure Coding: Principles and Practices
暫譯: 安全編碼:原則與實踐

Mark G. Graff, Kenneth R. van Wyk

  • 出版商: O'Reilly
  • 售價: $1,260
  • 貴賓價: 9.5$1,197
  • 語言: 英文
  • 頁數: 200
  • 裝訂: Paperback
  • ISBN: 0596002424
  • ISBN-13: 9780596002428
  • 已過版

買這商品的人也買了...

相關主題

商品描述

Practically every day, we read about a new type of attack on computer systems and networks. Viruses, worms, denials of service, and password sniffers are attacking all types of systems -- from banks to major e-commerce sites to seemingly impregnable government and military computers --at an alarming rate.

Despite their myriad manifestations and different targets, nearly all attacks have one fundamental cause: the code used to run far too many systems today is not secure. Flaws in its design, implementation, testing, and operations allow attackers all-too-easy access.

Secure Coding, by Mark G. Graff and Ken vanWyk, looks at the problem of bad code in a new way. Packed with advice based on the authors' decades of experience in the computer security field, this concise and highly readable book explains why so much code today is filled with vulnerabilities, and tells readers what they must do to avoid writing code that can be exploited by attackers. Writing secure code isn't easy, and there are no quick fixes to bad code. To build code that repels attack, readers need to be vigilant through each stage of the entire code lifecycle:


  • Architecture: during this stage, applying security principles such as "least privilege" will help limit even the impact of successful attempts to subvert software.
     
  • Design: during this stage, designers must determine how programs will behave when confronted with fatally flawed input data. The book also offers advice about performing security retrofitting when you don't have the source code -- ways of protecting software from being exploited even if bugs can't be fixed.
     
  • Implementation: during this stage, programmers must sanitize all program input (the character streams representing a programs' entire interface with its environment -- not just the command lines and environment variables that are the focus of most security
    analysis).
     
  • Testing: during this stage, programs must be checked using both static code checkers and runtime testing methods -- for example, the fault injection systems now available to check for the presence of such flaws as buffer overflow.
     
  • Operations: during this stage, patch updates must be installed in a timely fashion. In early 2003, sites that had diligently applied Microsoft SQL Server updates were spared the impact of the Slammer worm that did serious damage to thousands of systems.



Beyond the technical, Secure Coding sheds new light on the economic, psychological, and sheer practical reasons why security vulnerabilities are so ubiquitous today. It presents a new way of thinking about these vulnerabilities and ways that developers can compensate for the factors that have produced such unsecured software in the past. It issues a challenge to all those concerned about computer security to finally make a commitment to building code the right way.

Table of Contents


 

Preface

1. No Straight Thing

2. Architecture

3. Design

4. Implementation

5. Operations

6. Automation and Testing

Appendix:. Resources

Index

商品描述(中文翻譯)

幾乎每天,我們都會讀到有關電腦系統和網路的新型攻擊。病毒、蠕蟲、拒絕服務攻擊和密碼嗅探器正在以驚人的速度攻擊各類系統——從銀行到主要的電子商務網站,再到看似堅不可摧的政府和軍事電腦。

儘管這些攻擊有著各種不同的表現形式和目標,但幾乎所有攻擊都有一個根本原因:目前運行的許多系統所使用的程式碼並不安全。其設計、實現、測試和操作中的缺陷使攻擊者能夠輕易地獲得訪問權限。

《Secure Coding》由 Mark G. Graff 和 Ken vanWyk 共同撰寫,從一個新的角度探討了不良程式碼的問題。這本簡明且易讀的書籍充滿了基於作者在電腦安全領域數十年經驗的建議,解釋了為什麼當今如此多的程式碼充滿了漏洞,並告訴讀者必須做什麼以避免編寫可被攻擊者利用的程式碼。編寫安全的程式碼並不容易,對於不良程式碼也沒有快速的修復方法。為了構建能夠抵禦攻擊的程式碼,讀者需要在整個程式碼生命週期的每個階段保持警惕:

- 架構:在這個階段,應用「最小特權」等安全原則將有助於限制成功破壞軟體的影響。

- 設計:在這個階段,設計者必須確定當面對致命缺陷的輸入數據時,程式將如何行為。這本書還提供了在沒有源代碼的情況下進行安全改造的建議——即使無法修復錯誤,也能保護軟體不被利用的方法。

- 實現:在這個階段,程式設計師必須清理所有程式輸入(代表程式與其環境整個介面的字符流——不僅僅是大多數安全分析所關注的命令行和環境變數)。

- 測試:在這個階段,必須使用靜態程式碼檢查器和運行時測試方法檢查程式——例如,現在可用的故障注入系統可以檢查如緩衝區溢出等缺陷的存在。

- 操作:在這個階段,必須及時安裝補丁更新。在2003年初,勤奮應用 Microsoft SQL Server 更新的網站避免了 Slammer 蠕蟲對數千個系統造成的嚴重損害。

除了技術層面,《Secure Coding》還揭示了安全漏洞如此普遍的經濟、心理和實際原因。它提供了一種新的思考方式,幫助開發者彌補過去導致如此不安全軟體的因素。它向所有關心電腦安全的人發出挑戰,最終承諾以正確的方式編寫程式碼。

目錄

前言

1. 沒有直線的事物

2. 架構

3. 設計

4. 實現

5. 操作

6. 自動化與測試

附錄:資源

索引