网络安全中接口测试的解决方案

时间:2022-12-06 16:09:24

一、接口测试

1、接口

接口即API:Application Programming Interface,即应用程序编程接口。接口就是一个位于复杂系统之上并且能简化你的任务,它就像一个中间人让你不需要了解详细的所有细节。像谷歌搜索系统,它提供了搜索接口,简化了你的搜索任务。再像用户登录页面,我们只需要调用我们的登录接口,我们就可以达到登录系统的目的。

2、接口测试

接口测试是测试系统组件间的接口,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。
网络安全中接口测试的解决方案

二、网络安全中的接口测试,具体场景

1、接口安全测试

网络安全中对于接口的测试主要是保证接口在运行中的质量、功能安全。
API接口安全测试是通过用API检测的方法测试系统组件间接口的一种测试。接口安全测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

网络安全接口测试主要针对WEB接口、TCP接口、其他特定接口的测试。2017年,OWASP 组织根据近几年安全攻击趋势,发布了OWASP top 10(2017),其中**【A10-未受到充分保护的API】**为新增的最新十大安全威胁之一。以下是网络安全中常见的接口测试分类
网络安全中接口测试的解决方案

2、传统测试工具

在传统的接口安全测试时针对Web API、和TCP/UDP Socket API使用的工具如下。

  • Web API测试
    Web API 测试主要参考常规web测试,使用burpsuite、fiddler、Firefox-hackbar插件等集成安全测试工具对API接口进行分析、测试。

  • TCP/UDP Socket API测试
    Sockket API测试使用SocketTool等socket数据包测试工具,以及开发接口的公司使用的专用测试工具或者自己编写的测试脚本进行分析、测试。使用wireshark进行数据包流量分析。

  • 其他接口
    其他接口测试,主要使用wireshark、SocketTool、自主编写的测试(FUZZ)脚本等进行测试。

对于Web API、和TCP/UDP Socket API的测试就要使用至少3种工具才能完成接口测试工作,这样一来大大的拉低了测试效率。最近在发现了一款宝藏接口测试工具,他能支持各种协议下的API测试,在不同的场景下能更好的适应。咱们先把网络安全背景下的具体测试场景介绍完,然后再来看看这款工具到底强大在哪里。

3、具体测试场景

接口滥用测试
测试对外提供服务接口是否有防滥用机制,例如查询相关信息接口,一方面如果未对接口进行查询次数控制,则会导致大量信息泄露,另一方面,频繁的查询会对服务器性能造成影响如对方频繁恶意进行接口调用,则会导致接口性能下降,影响业务(基于业务的DDOS攻击)。建议进行接口设计时设计接口阈值,对接口访问频率设置阈值,超出设定的访问频率时返回错误码,对超过阈值的请求进行屏蔽及预警,可以一定程度上防止CC攻击。
测试步骤
检查接口是否有接口滥用限制,主要为接口查询频率、参数遍历查询等。
网络安全中接口测试的解决方案
风险分析
WebAPI接口在互联网上如果被恶意利用则会导致攻击者使用该接口大量遍历获取敏感信息以及对服务进行拒绝服务攻击。

接口数据重放测试
测试对外提供服务接口进行交易时,是否防具备防重放措施,防止关键交易被重放,导致业务风险。
测试步骤
测试时使用一个交易报文,进行多次重放,检查服务端是否正常返回请求(建议特别关注可能会导致交易风险的报文)。

第一次交易
网络安全中接口测试的解决方案
重放交易
网络安全中接口测试的解决方案
风险分析
数据重放交易主要测试针对重要的交易,比如转账,购物,支付等具备唯一性的交易。如果没有防止重放的控制,则会导致业务进行多次交易,导致业务逻辑问题。

三、Eolink的解决方案

1、解决传统测试的痛点

传统的接口安全测试中对于每种协议使用的工具参差不齐,每测试一种协议工具就要变换,这样一来工作就变得繁琐、效率低下。甚至测试其他接口的时候要自主编写的测试(FUZZ)脚本等进行测试。新一代API测试工具Eolink 支持 HTTP(S)、Websocket、TCP、UDP 等主流协议的测试,解决了网络安全要求下传统接口安全测试的各种问题,对于不同协议的API测试就不用自己编写脚本,Eolink 节省了测试成本和时间。对于接口的安全测试完全够用。
网络安全中接口测试的解决方案
宝藏接口测试工具

上手使用
Eolink支持在多种系统上运行,也可以直接在Web端进行测试,注册账号,下载安装登录运行。
网络安全中接口测试的解决方案

2、Eolink 测试接口

添加项目
进入API管理界面,添加项目-李白你好API测试点击添加按钮添加项目,输入项目名称、项目类型以及备注信息,点击确认完成添加。
网络安全中接口测试的解决方案
添加API或者导入API
可以自己添加新的API也可以讲以前测试的API导入到Eolink 中,这个导入功能是真的便捷。
网络安全中接口测试的解决方案

进行测试
创建好API之后就可以进行测试了,如果是夜间的话我们还可以把工具的背景转换成“护眼模式”黑色,这一点真的是细节。
网络安全中接口测试的解决方案
测试报告
测试结束之后可以出测试报告,报告中显示了测试结果是否通过还有测试历史记录。
网络安全中接口测试的解决方案
不同协议下的API测试
添加子分组,分组名称“不同协议下的API测试”
网络安全中接口测试的解决方案
新建API,在请求协议出发现HTTP、HTTPS、Websocket等协议下的API测试
网络安全中接口测试的解决方案
HTTP协议下的API测试
新建API选择请求协议,然后填写API名称,点击保存就可以进行API测试了。
网络安全中接口测试的解决方案
HTTPS、Websocket等协议下的API测试的过程也跟上述类似。

不同协议下批量测试
批量测试,添加用例,不同协议下HTTP、HTTPS也可以进行批量测试
网络安全中接口测试的解决方案
网络安全中接口测试的解决方案

四、Eolink的使用体验

经过Eolink工具的使用,该神器的有点如下:

  • Eolink界面简洁,容易上手(各个功能点布局简单,一目了然)
    网络安全中接口测试的解决方案
  • 接口数据一键迁移(支持Postman、Swagger、Apifox等多款产品中的数据迁移到Eolink)
    网络安全中接口测试的解决方案
  • 批量测试,执行速度快
    网络安全中接口测试的解决方案
    网络安全中接口测试的解决方案
  • 支持团队协作提高工作效率(可以与团队成员一起进行API测试)
    网络安全中接口测试的解决方案
  • API测试统计分析,结果一目了然
    网络安全中接口测试的解决方案

五、Eolink评价

1、网络安全行业内

这款测试工具使用的行业众多,其中网络安全行业中的龙头企业奇安信和深信服也用Eolink来管理API,实力强悍基本上是接口测试的天花板。
网络安全中接口测试的解决方案

2、就我来说

在网络安全背景在对接口的安全测试工作越来越多,想要高效、完美的交付API测试工作,必须得有一款得心应手得测试工具,就我而言Eolink必是接口测试的首选。

宝藏接口测试工具