未找到结果

没有与搜索匹配的结果

安全性分析和测试

概述

Oracle 的安全性测试通过功能性和非功能性测试来验证产品的特性和质量。尽管这些类型的测试通常针对重叠的产品特性,但他们的目标互不相关,并且测试由不同的团队执行。功能性和非功能性安全测试互为补充,提供全面覆盖 Oracle 产品的安全性。

功能性安全测试

功能性安全测试通常由常规的产品 QA 团队执行,该测试为普通产品测试周期的一部分。在此测试期间,QA 工程师会验证所实施的安全特性是否符合之前在架构和检查清单审核过程中就功能规范达成的协议。

安全性保证分析和测试

安全性保证分析和测试将验证 Oracle 产品在对抗各类攻击方面的安全性质量。有两大类测试可用于测试 Oracle 产品:静态和动态分析 — 将在下文中详细介绍。这些测试分别适合不同的产品开发生命周期,旨在发现不同类别的问题,供 Oracle 产品团队综合运用。

静态分析

源代码静态安全性分析是产品开发周期的头道防御线。Oracle 使用 Fortify Software 和 HP 的静态代码分析程序以及内部开发的各种工具,在编写代码的同时捕捉问题。将对使用现代编程语言(如C/C++、Java、C#)和平台(J2EE、.NET)开发的产品进行扫描,以识别可能的安全性问题。此类检查非常适用于识别 C/C++ 代码中的缓冲区溢出和内存泄露、J2EE 和 .NET 中的资源处理问题,找出不正确的凭证处理、各种注入、不正确的系统配置等。这种分析的一个缺点就是误报率高,也就是说,报告的很多项目并不构成真正的问题。通常,对这些扫描报告的分析需要产品团队的高级工程师参与,他们熟悉产品代码,从实际问题中甄别出误报,从而减少误报数量。

动态分析

动态分析活动均在产品开发的后期阶段完成:至少要保证产品或组件能够正常运行。尽管这可能在不同 Oracle 组织中有所不同,但通常此活动由安全 QA 团队(或类似的专项小组)负责,并且可能由多个产品团队共同参与。动态分析针对外部可见的产品界面和 API,且通常依赖专门的测试工具。Oracle 的内部测试既使用手动工具也使用自动工具。自动工具采用模糊测试技术来测试网络可访问的产品接口和协议,手动工具则需要手动进行修改,不过准确度和精密度更高。