欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

防追踪溯源识别联网工控设备的方法

来源:本站整理 作者:佚名 时间:2019-07-10 TAG: 我要投稿

一、概述
本文章结合作者在平时工作中真实经历,首先介绍了现有扫描联网工控设备技术存在的缺陷,基于现有技术提出了一种防追踪溯源扫描工控设备的解决方法,并在工控安全态势感知系统、工控应急风险评估和远程渗透实际场景中应用。其次在解决方案中给出了具体的实施步骤和过程,最后通过多种方案比较,选定在国外购买的VPS上,自己搭建一套稳定、可靠和高效的vpn代理服务应用,并进行了防追踪溯源技术的验证。
二、现有技术缺陷
伴随中国智能制造2025、两化融合以及工业互联网等背景下,越来越多的工业控制系统暴露在网络空间里,为了掌握互联网上有多少工控设备,以及这些工控设备的型号和存在的风险,市面上大多采用工控态势感知系统、nmap以及plcscan等工具对联网的工控设备进行不间断扫描探测。这些系统或工具的流量出口大多经过公司内部机房或者国内云服务器上,现有技术存在如下缺陷和问题。
1)部署在公司内部机房,一旦触发扫描目标的入侵检测系统检测到发起扫描的源IP,则可以根据该IP进行反渗透或者反攻击,导致公司内部其它服务器遭受影响;
2)部署在国内云服务器上,一旦扫描目标的检测系统检测到发起扫描的源IP,则可以根据购买云服务器备案的客户信息进行溯源,并追究导致安全事故的责任人;
3)目前市面扫描探测联网工控设备(态势感知系统、nmap工具和plcscan等工具)均采用TCP或者UDP方式进行工控设备探测,扫描探测指纹未经过加密保护,容易被第三方截取并分析出采用的关键技术方法。
4)目前主流的代理服务器如shadowsocks只能对http或https应用进行代理,不能对ICMP、Telnet、原生tcp、udp socket 服务进行代理传输,达到隐蔽扫描的效果;
5)国内的VPN或者免费的VPN不稳定、已掉线,易被中国防火墙封锁。
三、解决方案
本文章提出了一种基于防追踪溯源技术识别联网工控设备的应用方法,解决了传统技术中出现的未对扫描服务器进行追踪溯源的保护、未对扫描探测技术方法进行保护等问题。此方法主要分为扫描代理客户端、代理服务器和扫描目标组成。方法实现主要包含以下步骤:
步骤1:部署代理服务器,国外vultr官网购买一台VPS服务器,在部署上linux操作系统后,并部署OPENVPN代理服务器应用,并启动代理服务,监听代理客户端的请求。
步骤2:本地部署扫描服务器(如态势感知系统、nmap工具和plcscan扫描工具等),并在扫描服务器上安装部署OPENVPN代理客户端,设置代理客户端的代理配置文件,主要是配置代理服务器的IP地址、端口、通信方式及证书等信息。
步骤3:通过扫描服务器执行相关的工控扫描任务对联网工控设备进行扫描识别。所有的扫描行为均会通过VPN代理服务器转发到扫描目标设备。目标设备返回信息到VPN代理服务器,代理服务再将信息转发给扫描客户端,扫描客户端根据返回的报文与工控指纹库进行匹配,来进行工控资产识别。 基于防追踪溯源识别联网工控设备的业务模型如下图所示:

扫描代理客户端:扫描客户端首先对代理服务器相关信息进行配置,主要配置代理服务的IP、端口及认证信息。并开始对目标IP设备进行扫描,此时由于配置了代理客户端,所有扫描请求数据不会直接发送到目标IP设备,而会通过VPN私有通道加密发送到VPN代理服务器上。
代理服务器:代理服务器获取的扫描客户端的扫描,会将数据无缝转发给真实的目标IP设备。
目标工控设备:目标工控设备收到来自VPN代理服务器扫描请求,会对VPN代理服务器进行响应,代理服务器会将此响应加密转发给原始扫描客户端。
数据加解密过程:扫描客户端会对扫描数据进行加密并传输给VPN代理服务器,代理服务器也会对响应扫描客户端的数据进行加密,扫描客户端收到数据会进行解密。
四、实施过程与验证方式
实施过程:搭建openvpn环境
1)购买服务器
由于国内如阿里云购买服务器均要实名认证,国外购买服务器价格昂贵等特点,所以决定采用在vultr.com购买VPS服务器,服务稳定、价格低廉、服务器地理区域可任意切换,购买的VPS如下图所示:

2)利用docker在VPS上快速搭建openvpn代理应用
首先在linux上安装docker应用,安装成功后安装以下步骤进行openvpn代理服务器安装部署:
1.打开terminal终端,配置环境变量,输入如下命令:
export OVPN_DATA=openvpn_data
2.创建一个数据卷存储配置文件和证书等文件,输入如下命令:
docker volume create --name $OVPN_DATA
3.初始化配置文件到数据卷中,输入如下命令:
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://140.82.*.*
140.82.*.* 需替换为购买vps虚拟服务主机IP地址
4.初始化配置,并保存授权密码,输入如下命令:
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
5.开启openvpn容器,输入如下命令:
docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN --name=openvpn kylemanna/openvpn
6. 生成用户证书,如果需要生成多个用户证书可以执行多次该命令,输入如下命令:
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full tencent nopass
7. 将用户证书导出到本地文件,输入如下命令:
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient tencent > tencent.ovpn
远程登录代理服务器如下图所示:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载