OWASP代码安全审查指南

需积分: 10 27 下载量 155 浏览量 更新于2024-07-18 1 收藏 2.31MB PDF 举报
"《代码安全审查》是一本详细介绍如何在企业开发过程中集成代码安全审查的书籍,涵盖了代码审查流程、安全漏洞成因分析,并提供了一系列实用的指导原则、检查清单和威胁建模示例。该书是OWASP(开放式网络应用安全项目)的成果,遵循CC Attribution的创作共享协议,由Larry Conklin和Gary Robinson领导的团队编撰。书中不仅讨论了代码审查的执行方法,还涉及了多种类型的常见安全漏洞,并提供了技术参考,包括HTML5的安全特性、同源策略、日志审查、错误处理以及针对主动防御的审查等内容。" 本书的核心内容可以分为以下几个方面: 1. **代码审查流程**:书中详细阐述了如何在软件开发过程中实施有效的代码审查,包括审查的时机、参与人员的角色、审查的深度和广度,以及如何确保审查的质量和效率。 2. **代码审查的注意事项**:作者列出了代码审查时应遵循的“做与不做”原则,强调了审查的目的不仅仅是找错,更在于提升代码质量和安全性。 3. **代码审查检查清单**:提供了一份详尽的检查清单,帮助审查者系统地检查代码中可能存在的安全问题,涵盖各种安全漏洞类型,如注入攻击(A1)、身份验证与会话管理缺陷(A2)、跨站脚本(XSS,A3)等。 4. **威胁建模示例**:通过实例解析如何进行威胁建模,以便在设计阶段识别潜在的安全风险,并提前采取预防措施。 5. **技术参考**:这部分深入探讨了特定的技术主题,如HTML5的安全特性,对同源策略的理解,以及审查日志、错误处理、客户端JavaScript等环节的安全考虑,帮助开发者从各个层面增强代码的安全性。 6. **应对特定安全漏洞**:针对A1到A10列出的十大常见安全漏洞,书中提供了详细的解释和防范策略,帮助开发者理解和避免这些常见的安全陷阱。 7. **审查主动防御**:讨论了如何在代码审查中查找并审查用于主动防御的安全机制,以提升系统的整体安全性。 《代码安全审查》是一本全面且实用的指南,它旨在帮助企业和开发者构建更安全的软件,通过严谨的代码审查流程和策略,降低安全风险,提高软件质量。无论是新手还是经验丰富的开发者,都能从中获益,提升其在安全编码和审查方面的专业素养。
2019-09-06 上传
fortify扫描工具的说明手册,对实际工作有指导作用,讲的比较清晰。 Fortify SCA分析原理 Front-End 3rd party IDE Java Pug-In C/C++ MicrOsoL NET IBM.eclipse Audit workbench PLSQL XML Analysis Engine Semantic fdi/ fpr Gobal Data flow N Control Flow Configuration Structural Fortify Manager NST Rules builder Custom Pre-Packaged FORTIFY Fortify SCA分析过程 SCA Engine Intermediate Scan phase fles Using Analyzers Tt transation (NST) .Rules Analysis Result File -b build id 阶段一:转换阶段( Translation) 阶段二:分析阶段(Scan o sourceanalyzer-b <build-id>-clean o sourceanalyzer -b <build-id> sourceanalyzer-b <build-id> -Xmx1250m-scan-f results fpr FORTIFY Fortify SCA扫描的工作 Visual studio Eclipse, IBM RAD 面 Audit Workbench Java,. Net Fortify Global Build Tool C, C/C++ Analysis JSP Touchless Build Fortify PL/SQL IDE Intermediate FPR TSOL Model Cold Command Line Interface Fusion 运己 Fortify I m Manager Secure Coding Rules Fortify Customized Rules Rules FORTIFY Fortify SCA扫描的五种方式 插件方式: Plug-In(Eclipse, vs WsAd,rad) 命令行方式 Command line ●扫描目录方式: Audit workbench scan Folder 与其他工具集成: Scan with ANt, Makefile ●编译监控器方式: Fortify SCA Build Monitor FORTIFY Fortify SCA扫描的四个步骤 Fortify SCA扫描总共可以分为四个步骤: ●1. Clean:清除阶段: sourceanalyzer -b proName -clean 2. Translation:转换阶段 3.ShoW-fe:查看阶段 sourceanalyzer -b proName -show-files 4.scan:扫描阶段 sourceanalyzer-b proName -Xmx1250m -scan -f proName. fpr FORTIFY Fortify SCA命令行参数说明 查看SCA扫描命令及参数→> sourceanalyzer ca\ C:\VIRDoS\syste32\cd. exe 川 icrosoft Windows XP[版不5.1268g Kc版权所有1985-2 061 Microsoft Gorp :Documents and settings anming >sourceanalyzer --he lp Fortify Source Code Analyze4..日.回153 Copyright (c>2003-2006 Fortify Software Usage Bu⊥1d Java: sourceanalyzer -b <buildid> <files> sourceanalyzer -b <buildid> javac <compiler opts> <files> G/C++: sourceanalyzer -b <buildid> <compiler> <compiler opts> <files> NET: sourceanalyzer -b <buildin> <exe file> scan〓 sourceanalyzer -b <buildid> -scan -f results. fpr Output opt ions -format <fmt> Controls the output format. Valid options are auto, fpr. fvdl, and text. Default is auto for which type will be determined automatically based on file extension 一£<fi1e> The file to which results are written Default is stdout build-pro ject <name> The name of the project being scanned. Will be inc luded in the output bu⊥1d-1abe1<labe1> The1abe1 of the project being scanned.W主工1 be inc luded in the output build-version <version> The version of the project being scanned. wil1RTIFY. e uale OFTWARE Fortify SCA转换源代码 转换Java代码 Java程序命令行语法 JaVa命令行语法例子 转换J2EE应用程序 使用 Find bugs 转换NET源代码 o. NET Versions 1.1 and 2.0 Visual studio. net version 2003 o Visual studio.net version 2005 转换CC++代码 ●转换 PL/SQLITSQL FORTIFY SCA转换JAVA源代码命令 sourceanalyzer -b <build-id> -cp <classpath> <file-list> ●附注参数:-Xmx;- encoding-jdk;- appserver- appserver- veron -appserver-home Table 1: File specifiers File specifier Description darna盈e All files found under the named directory or any subdirectories dx己盈e/古古 Any file named Example. java found under the named Example java directory or any subdirectories dx22盈e/,ava Any file with the extension. j ava found in the named directory dxna盈e吉/古,java Any file wth the extension j ava found under the named directory or any subdirectories d工22a盈e/方/吉 All files found under the named directory or ary subdirectories (same as dirname FORTIFY