基于智能门锁云端系统渗透测试的防火墙绕过风险探究

2021-11-18 07:30林永明
日用电器 2021年10期
关键词:门锁数据包云端

林永明 段 斌

(威凯检测技术有限公司 广州 510663)

前言

智能门锁所采用的技术越来越先进,用户体验也越来越丰富,但人们在享受科技感的同时,也要注意技术的双刃剑性,而使用不当会埋下财产安全、信息安全隐患。支持远程数字认证的网络型智能门锁解锁技术基于手机软件客户端分发密码和密钥,实现远程云端认证开锁。

当用户使用手机软件客户端进行远程云端认证开锁时,用户端会更容易受到来自黑客的攻击,例如中间人攻击、认证篡改攻击等。因此,渗透测试在网络型智能门锁开发与使用周期中起着相当重要的作用,将渗透测试纳入门锁生命周期的一部分有助于厂商构建可避免黑客攻击或者在用户端与服务端出现数据泄漏的门锁安防系统。

1 渗透测试的类型

1.1 内部渗透测试

顾名思义,内部渗透测试是通过局域网在资产系统内部实施的渗透测试,针对的对象是在内网中托管的Web应用程序。这可以帮助开发人员与维护人员发现防火墙内系统可能存在的安全问题。因为,人们会出现一种误解,认为信息安全问题与漏洞只会发生在系统的外部,因此开发人员与维护人员通常不重视系统内部可能存在的安全问题[1]。

渗透测试就是为了通过没有有效认证凭据的情况进行访问,查看内部系统是否存在安全问题。

1.2 外部渗透测试

外部渗透测试是指渗透测试人员没有有关系统内部实现安全性的先验信息。仅仅依靠目标系统的IP地址即可模拟外部渗透攻击。由于没有其他先验信息,因此测试人员需要在其他网络环境中搜寻有关目标系统所处的主机与子网服务器的信息,例如端口信息等敏感信息。然后对目标系统所处主机进行渗透攻击和破坏。外部渗透测试的目标包括测试目标系统部署所需的服务器和防火墙,以及内网环境所使用的DNS服务器。

1.3 区别

与内部渗透测试不同,外部渗透测试主要是从系统所处局域网的网络边界外(通常为防火墙)发起攻击,测试在因特网上托管的Web应用程序的主机是否存在安全问题。在这个环节中外部渗透测试第一个要面对的“关卡”就是保护内部系统的防火墙,如何从防火墙上获取内部的敏感信息是外部渗透测试做前期信息侦察需要面对的问题。

2 防火墙

2.1 防火墙的定义

防火墙就是在两个信任程度不同的网络之间设置的、用于加强访问控制的软硬件保护措施。防火墙能够强化安全策略,同时能够记录因特网上对防火墙边界后的主机的访问记录,在限制暴露用户点的同时对频繁访问的对象加以限制,属于安全策略检查站的一种。

除去上面的优点防火墙也具有一定的局限性。防火墙防外而不防内;管理和配置复杂度较高,如果配置不当容易导致安全漏洞;并且很难为用户在防火墙内外提供相同的安全策略;是一种粗粒度的访问控制。

2.2 防火墙的关键技术

防火墙普遍采用的包过滤技术,包过滤技术检查数据包的报头信息,依照过滤规则进行过滤,其检查的典型报头信息内容如下:

1)IP 数据报的源 IP 地址、目的 IP 地址、协议类型,选项字段等。

2)TCP 数据包的源端口、目标端口、标志段等。

3)UDP 数据包的源端口、目标端口。

4)ICMP 类型。

包过滤技术不需要内部网络用户做任何配置,对用户来说是完全透明的,过滤速度快,效率高。但不能进行数据内容级别的访问控制,一些应用协议也并不适合用数据报过滤,并且过滤规则的配置比较复杂,容易产生冲突和漏洞。

3 绕过防火墙实验

本文首先使用Wireshark软件在智能门锁手机软件客户端远程开锁时抓取数据包,从数据包中获取云端服务器IP,通过使用基于Kali平台的Nmap(7.8)对其IP进行主动信息搜寻,获取该网站服务器的端口信息以及服务器系统类型以及版本,实验拓扑图如图1。

图1 实验拓扑图

Nmap对服务器扫描过程会执行五种不同的测试,每种测试由一个或者多个数据包组成,目标系统对每个数据包作出的响应有助于确定操作系统的类型。五种不同的测试是:

1)序列生成(Sequence Generation)序列生成测试由六个数据包组成,这六个包是每隔 100 ms分开发送的,且都是 TCP SYN 包。每个 TCP SYN 包的结果将有助于 NMAP 确定操作系统的类型。

2)ICMP 回显,两个有着不同设置的 ICMP 请求包被送到目标系统,由此产生的反应将有助于实现验证操作系统类型。

3)TCP 显式拥塞通知(Explicit Congestion Notification),当生成许多包通过路由器时会导致其负载变大,这称之为拥塞。其结果就是系统会变慢以降低拥堵,以便路由器不会发生丢包。这个包仅为了得到目标系统的响应而发送。因为不同的操作系统以不同的方式处理这个包,所以返回的特定值可以用来判断操作系统。

4)TCP,在这个测试中会发送六个数据包。一些带有特定的包设置的包被发送用来到打开的或关闭的端口。结果也将会因为操作系统的不同而不同。所有 TCP 包都是以如下不同的标志被发送:

①无标志

②SYN、FIN、URG 和 PSH

③ACK

④SYN

⑤ACK

⑥FIN、PSH 和 URG

5)UDP,这个测试由一个被发送给一个关闭的端口的数据包组成。如果目标系统上的这个端口是关闭的,而且返回一条 ICMP 端口不可达的信息,那么就说明没有防火墙。

首先使用Nmap对云端服务器IP进行常规扫描,见图2。

图2 常规扫描

通过返回信息可知,该扫描被防火墙阻碍,且大概率是因为ICMP请求包被防火墙识别并拦截后续的包,因此将该次扫描改为不发送ICMP包,而是执行 TCP SYN 扫描,得到图3结果。

图3 服务器系统版本与端口

可以看到显示了该云端服务器IP为Windows系统以及20个开放端口,并且得到了这些端口的用途。本次扫描成功绕过了防火墙,获得了系统的端口信息

4 安全风险改善方案

面对以上安全风险,我们可以利用一些技术或者管理的方法改善和避免这些安全风险,从而增加安全性。

将开放端口号设置为其他端口号,例如将ssh端口号(22)更改为其他端口,并将端口与端口号的信息记录在管理文档中。

使用状态检测技术的防火墙,状态检测技术是指从收到的数据包中提取状态信息,并根据状态表进行判断,如果该包属于已建立的连接状态,则跳过包过滤的规则检测直接交由内网主机,如果不是已建立的连接状态则对其进行包过滤,依照规则进行操作。

使用代理服务技术的防火墙,代理服务技术是指代理端当接收到来自客户端的连接请求后,从数据包中源和目的IP地址,同时使用维护人员制定的过滤规则判断是否允许接受该连接请求。如果该连接请求被接受,则进行用户身份识别。否则,则阻断该连接请求。通过身份识别后,应用代理应该通过数据包中源和目的IP地址建立对应协议的连接,并且通过过滤规则传输和过滤该连接之间的数据包。当连接关闭后,应用代理关闭另一方连接,并且在代理服务器日志内记录本次连接[2]。

5 结论

本文从内部渗透测试与外部渗透测试的区别出发,对智能门锁云端系统防火墙绕过进行了探究,针对包过滤技术的防火墙进行绕过处理,获取了该防火墙保护的服务器的端口信息以及该服务器的系统版本,达到了绕过该防火墙的目的,并且提出了该安全风险的改善方案。

猜你喜欢
门锁数据包云端
2011款别克凯越车中控门锁失灵
四海心连·云端汇聚
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
一种简易气门锁夹安装设备
云端之城
6款热门智能门锁推荐
C#串口高效可靠的接收方案设计
云端创意
在云端