通常来说,当IT从业人员谈论工具时,是站在工程或项目的视角去界定工具的。在PMBOOK理论中,工具包含系统、平台、软件,也包含表单、模板、指导规范,在这里API安全工具的界定范围也是如此。笔者根据工具使用方式或效果的不同,将工具划分为两类: 赋能型工具和操作型工具 。
1.赋能型工具
赋能型工具本身不提升效能,它强调的是基础知识和体系,能让读者系统地了解相关知识的来龙去脉,掌握其技术细节。基于其内容的相关性,将它为以下两类。
■ 规范指南类: 主要是指 各类官方文档、操作指南、checklist 等,典型的如OpenAPI官方文档、微软Azure WEB API设计规范、GraphQL规范、OWASP API安全文档等。
■ 知识学习类: 主要是指 培训材料、学习平台、演示环境 等,典型的如各个API开放平台公开的培训材料、DEMO源码程序、Inon Shkedy在GitHub公开的API安全小贴士、GraphQL漏洞练习程序vulnerable-graphql-api等。
2.操作型工具
与赋能型工具不同,操作型工具更符合软件研发人员对传统工具的定义和认知,一如人类在石器时期学会使用石刀、石斧来征服自然,API从业人员使用此类工具来改进工作环境,更有利于开发出包含API功能的相关产品。依据其功能的不同,笔者将此类工具作如下划分。
■ 辅助类工具: 主要是指各类规范的符合度,比如OpenAPI规范检测工具、安全编码规范检测工具、API格式转换工具等。
■ 手工类工具: 主要是指用来辅助人工测试的工具,比如常见的SoapUI、Postman、Burp Suite均属于此类。
■ 自动化工具: 此类工具主要提供自动化扫描功能,在这里重点是指安全漏洞扫描,比如用于代码安全的Fortify、用于API漏洞扫描的Astra。
■ 综合类工具: 此类工具以平台系统为主,对线上运维的API进行多种监控和管理,比如API生命周期的管理、API入侵检测的监控等。