安全性测试

安全性测试(Security testing)是一种特别的软件测试,其目的为了要检测资讯系统的安全机制是否有缺陷,并且确认安全机制是否可以如正常动作,如预期方式保护资料,维持系统功能[1]。由于安全性测试在逻辑上的限制,通过安全性测试不代表系统没有缺陷,也不一定表示系统已满足安全需求。

典型的安全需求会包括具有机密性完整性身份验证可用性授权不可否认特性的需求[2][3]。实际的安全需求会依系统所实现的安全需求来进行测试。安全性测试这个词有许多不同的含意,也可以有许多不同方式来完成。因此需透过安全区分(Security Taxonomy)来了解这些不同的作法及意义,才能有基础知识,进行安全性测试的工作。

术语

安全性测试过程中,常见的术语如下:

  • 探索(Discovery):此阶段的目的是识别系统、范围以及使用的服务。此阶段不是要探索漏洞,但版本侦测可能会强调一些已不使用的软件或固件版本,也可能会指出潜在的漏洞。
  • 漏洞扫描(Vulnerability Scan):在探索阶段之后,会用自动化工具和已知漏洞的条件比对,以找出已知安全问题。这个报告会用工具自动产生,不需测试者介入或是确认。这也可以用以credential为基础的扫描来补充,提供credential来认证某一服务(例如local的Windows账号),以排除一些伪阳性的结果。
  • 漏洞评估英语Vulnerability assessment (computing)(Vulnerability Assessment):用探索以及漏洞扫描的结果来识别安全漏洞,并且将所发现的事和待测试系统的情形连结。像是删除报告中常见伪阳性的结果,并且决定每一个发现漏洞的风险等级,以提升这份报告在商业情境下的理解。
  • 安全评估(Security Assessment):以漏洞评估的结果加上人工的验证,以确认其风险,不过不包括利用此漏洞取得更多的权限。验证可以是取得授权存取该系统,以确认系统设定,也包括检查系统记录、系统响应、错误讯息,错误码等。安全评估是设计将待测试系统的漏洞有较大的覆盖率,但不深入评估特定漏洞可能会造成的结果。
  • 渗透测试(Penetration Test):这是模拟恶意者进行的攻击。以之前阶段的结果为基础,并且利用此漏洞取得更多的权限。用这个方式会知道攻击者要有什么能力才能存取机密资讯、影响资料完整性或是服务的可用度,并且知道其对应的影响。每个测试都是用一致且完整的方法论,让测试者利用其问题解决的能力、许多工具的输出,以及其对系统及网络的知识,来找到一些自动化工具不一定找得到的漏洞。此作法着重在攻击的深度,和安全评估时着重广度及覆盖率的作法不同。
  • 安全稽核(Security Audit):是由稽核单位或风险管理单位主导,确认特定安全措施或是法规合格性议题。其特点是范围较窄,稽核时会用到之前各阶段(探索、漏洞扫描、漏洞评估、安全评估及渗透测试)的产出。
  • 安全审查(Security Review):确认已在系统元件或是产品中实现了公司内的安全标准,或是产业的安全标准。这会透过差距分析(gap analysis)来进行,也会用到build审查、程式码审查,同时审查设计文件以及架构图。此活动不会用到之前各阶段(探索、漏洞扫描、漏洞评估、安全评估、渗透测试及安全稽核)的产出。

工具

相关条目

参考资料

  1. ^ M Martellini, & Malizia, A. (2017). Cyber and chemical, biological, radiological, nuclear, explosives challenges : threats and counter efforts. Springer.
  2. ^ "Introduction to Information Security" US-CERT https://www.us-cert.gov/security-publications/introduction-information-security页面存档备份,存于互联网档案馆
  3. ^ A, Madhu. The Six Principles of Security Testing | Trigent Vantage. 2017-12-04 [2022-08-28]. (原始内容存档于2023-11-09) (美国英语). 
  4. ^ Container Security Verification Standard. GitHub. 20 July 2022 [2023-11-10]. (原始内容存档于2023-11-10). 
  5. ^ Infrastructure as Code Security - OWASP Cheat Sheet Series. [2023-11-10]. (原始内容存档于2023-12-24). 
  6. ^ OWASP DevSecOps Guideline - v-0.2 | OWASP Foundation. [2023-11-10]. (原始内容存档于2023-05-31). 
  7. ^ Component Analysis | OWASP Foundation. [2023-11-10]. (原始内容存档于2023-12-20).