运用ChatGPT实现长庆油田网络安全数据自动化提取的路径研究

2024-12-31 00:00:00王旭 窦敬 李晨琛
信息系统工程 2024年10期
关键词:网络安全

摘要:随着智慧油气田建设的不断深入,网络安全问题日益凸显。为了解决长庆网络安全态势感知平台无法直接提供数据接口的问题,采用Python编写数据接口,将部分数据提取、解析并写入网络安全可视监控平台数据库。通过ChatGPT的智能辅助,进行大规模的代码修正和优化,显著提高开发效率和代码质量。值得强调的是,在这一过程中,ChatGPT在代码修正和问题解决中发挥了至关重要的作用。成功实践了ChatGPT在代码修正中的技术路径。为智慧油气田建设中的网络安全保障提供了创新的技术思路和可靠的解决方案。

关键词:智慧油气田建设;网络安全;ChatGPT;API数据提取

一、前言

随着数字化油田发展和智慧油气田的大力推进[1],包括网络安全在内的油田六大数智化业务领域出现了大量信息化系统。为实现各项业务的集中统一监控、智能辅助决策,数智事业部建立了数智事业部信息资产监控平台(以下简称信息资产监控平台)[2]。平台建立的目的是对数智事业部的在线设备与业务服务实现自动化、智能化的实时监控、自动报警、故障信息推送、大屏监控等功能,需要与现有的各业务系统实现数据对接[3]。

长庆油田网络安全态势感知平台(以下简称感知平台)是长庆内网的安全分析大脑,平台上所分析研判出的各类网络安全相关数据,也需要与信息资产监控平台对接进行监控、展示[4]。由于感知平台自身安全性及完整性要求,所用的Mongo数据库存在一些保护措施,即便开启了通用API接口,相关安全数据也无法主动推送至信息资产监控平台PostgreSQL数据库中,要想展示相关数据,只有靠人工录入的方式,这违背了数智化发展的方向,也不符合信息资产监控平台建设的初衷[5]。如何打破系统间的不可能,让数据对接的自动化、智能化变为可能,便成了网络安全中心需要解决的问题[6]。

此外,ChatGPT在Python脚本编写中的应用也越来越广泛,通过利用ChatGPT编写和优化脚本,可以显著提高开发效率和代码质量。例如,ChatGPT可以帮助生成函数文档字符串、处理和转换数据,以及集成API接口等任务[7],为智慧油气田建设中的数据自动化传输和处理提供了新的技术手段和方法。

二、设计思路

以数字化转型、智能化发展为指导思想,结合迎难而上的拼搏理念,以自主学习和自主建设、锻炼队伍、培养技术力量为目的,合理利用ChatGPT等先进的技术手段(向ChatGPT输入的内容全部经过脱敏处理),打破感知平台接口限制,实现数据的自动化传输。

(一)核心思路

既然无法实现数据自动化传输,是因为感知平台Mongo数据库因保护无法主动推送数据,且信息资产监控平台FineReport无法主动拉取MongoDB数据,那么设想基于通用的API接口和统一的开发标准,建立一个中间PostgreSQL数据库作为“桥梁”,一方面主动拉取感知平台数据,一方面主动推送至信息资产监控平台,实现两个平台的数据对接,如图1所示。

(二)解决思路

通过其他途径获取感知平台的数据,并将数据解析后写入PostgreSQL数据库中,以便在FineReport大屏上进行展示。因此,需要考虑如何通过感知平台提供的API接口进行部分数据提取,以及如何将提取解析后的数据写入信息资产监控平台数据库中。

三、实验设计

由于专业领域不同,网络安全中心技术人员对API接口间的调用方法及流程等相关知识鲜有涉猎,从头学起将无法满足信息资产监控平台的上线时限,于是使用ChatGPT,询问相关技术关键点,运用到实验中,再将实验时的报错信息,反馈至ChatGPT,寻找解决方法,再运用到实验中,如此反复,直至运行成功。

(一) 感知平台数据的获取

在感知平台无法对外提供数据的情况下,依照ChatGPT指导,通过平台提供的API接口进行部分数据提取。具体方案如下:

1.认证和token获取

在ChatGPT编写API数据提取脚本之前,需要进行认证和token获取。认证通常需要提供用户名和密码,而token获取则需要提供认证后获得的token(token有有效期,到期后将失效,失效后需要重新获取token值)。这些信息可以通过Python编写的脚本进行自动化获取。

2.数据提取

通过API接口获取网络安全态势感知平台的数据,包括安全事件、分类、风险等级、发现、分析、研判、下发处置通报等数据。这些数据通常以JSON格式呈现。

(二)感知平台数据的解析

数据解析:通过Python编写的脚本对JSON格式的数据进行解析,将需要的数据提取,然后将它们写入中间的PostgreSQL数据库中。

(三)信息资产监控平台FineReport的数据写入

数据库调用:使用FineReport的数据库集数据调用功能,将PostgreSQL数据库中的数据集成到FineReport大屏中,这样就可以在FineReport大屏上实时监控网络安全状况。整体实验流程图如图2所示。

四、利用ChatGPT的Python脚本编写

(一) ChatGPT的脚本编写

Python编写API数据提取脚本的过程具体如下:

首先,需要编写代码获取用户名和密码,并通过API接口进行认证,获取token。这个过程可以通过Python的requests库实现。

其次,通过API接口获取感知平台的数据,以JSON格式呈现。这个过程也可以通过requests库实现。

再次,将获取的JSON格式数据解析为Python对象,然后提取需要的数据。在解析JSON数据时,使用Python内置的json库。

最后,将提取的数据写入PostgreSQL数据库中。在Python中,可以使用psycopg2库连接并操作PostgreSQL数据库。

(二)代码修正

ChatGPT是一种基于GPT-3.5架构的大型语言模型,具有强大的自然语言处理能力和智能的文本生成能力,但现阶段的AI编程水平有限,在编写Python API数据提取脚本的过程中难免会遇到一些问题,如API接口调用失败、数据解析错误等。针对这些问题,需要通过人工干预。

首先,在系统中运行生成的脚本,进行调试。在实际运行生成的脚本时,可能会遇到各种问题,如API接口调用失败或数据解析错误。记录这些错误信息非常重要,以便后续修正。

其次,将记录下的错误信息及有问题的代码段输入ChatGPT中,利用其强大的自然语言处理能力,生成修正后的代码。例如:

#将错误信息输入ChatGPT中,获取修正建议

error_info = \"Traceback (most recent call last):\nFile 'script.py', line 10, in

chatgpt_response = chatgpt_api.get_response(error_info)

print(chatgpt_response)

最后,根据ChatGPT提供的修正建议,修改脚本并再次运行。如此反复,直到脚本能够正常运行并正确提取和处理数据。

(三)具体实例

以下是一个具体实例,展示了如何通过ChatGPT生成和优化代码,实现从API提取数据并插入PostgreSQL数据库:

1.编写初始脚本,通过API接口进行认证和数据提取。

import requests

import json

import psycopg2

#API认证

auth_url = \"https://api.example.com/auth\"

auth_payload = {'username': 'user', 'password': 'pass'}

auth_response = requests.post(auth_url, json=auth_payloadBY

token = auth_response.json().get('token')

#获取数据

headers = {'Authorization': f'Bearer {token}'}

data_url = 'https://api.example.com/data'

data_response = requests.get(data_url, headers=headers)

data = data_response.json()

# 数据解析

required_data = data['key_of_interest']

#插入数据到PostgreSQL

conn = psycopg2.connect(

dbname='db',

user='user',

password='pass',

host='host',

port='port',

cursor = conn.cursor()

insert_query = 'INSERT INTO table (column1, column2) VALUES (%s, %s)

cursor.execute(insert_query,(required_data['fieldi'],required_data['field2']))

conn.commit()

cursor.close()

conn.close()

2.运行初始脚本,记录错误信息并通过ChatGPT进行修正。

如果API返回的数据格式不正确,导致json.decoder.JSONDecodeError错误:

try:

data = data_response.json()

except json.JSONDecodeError:

print(\"Error decoding JSON\")

根据ChatGPT建议进行修正

data = {}

3.通过ChatGPT的多次迭代和优化,最终实现了数据的自动化提取和处理,并将其成功写入PostgreSQL数据库中。

五、应用效果

通过ChatGPT的协助,得以快速了解API对接的关键技术点,并且更加高效地完成脚本编写及代码修正工作,在有效解决了数据对接问题的同时,节省了大量的时间和精力。经过多次运行试验,感知平台的数据与FineReport自动对接成功,并展示在信息资产监控平台 “网络安全可视化监控”界面。

六、效益分析与评价

随着数智事业部信息资产监控平台在六大数智化业务领域的深入应用与持续推广,将进一步对接更多的网络安全应用,实现油田网络多维度的安全数据监控。目前大多数网络安全系统为第三方厂商标品,存在数据保护情况,如果找厂家二次开发进行数据对接,将产生一笔庞大的开发费用。几乎所有的系统都开放了标准的API接口,此次利用ChatGPT将感知平台的数据拉取并推送至FineReport试验成功,说明该方法可行,后续可以沿用至其他系统与信息资产监控平台的数据对接。

一是提升对接效率。今后的系统对接可以参考本次经验,利用ChatGPT的分析能力,快速实现其他平台的数据对接(应用必须具备开放通用API接口且开放接口调用功能)。二是实现数据自动化传输。将需要提取的数据字段提交给ChatGPT,生成提取脚本后,所有需要的数据将自动被提取、解析、推送,告别传统的人工录入时代。三是输出可控,提升安全保障。可要求ChatGPT针对输出项进行筛选,过滤掉不方便展示的敏感数据。四是创造经济效益。前期经过咨询,单一系统对接的二次开发报价接近30万元,如果多个具有相同问题的应用系统运用此方法对接成功,将节省近百万元的成本。

七、结语

介绍了在智慧油气田建设中实现感知平台监控数据提取的需求和解决思路,利用ChatGPT编写API调用的Python脚本,成功地实现了两个平台的数据对接,并将网络安全事件处置闭环数据展示到FineReport大屏中。同时,通过ChatGPT的帮助,实现了自主学习、自主建设的练兵目的。

在未来的研究方向上,可以进一步优化API数据提取脚本的效率和稳定性,提高数据解析的准确性和速度,并且可以考虑利用机器学习等技术来进行数据分析和预测。同时,可以考虑将ChatGPT等大型语言模型应用到更多的领域和场景中,从而提高效率和准确性,推动智慧油气田建设的发展。

参考文献

[1]王伟.数字化转型下的油田智能化建设[J].中国石油学报,2020(12):4-6.

[2]李强.基于物联网的智慧油气田管理系统研究[J].计算机工程与应用,2019(08):10-12.

[3]刘建国,张立华.数字油田与智能油气田建设探讨[M].北京:石油工业出版社,2021(11):15-20.

[4]黄磊.智慧油气田中网络安全问题与对策[J].网络安全技术与应用,2019(10):38-40.

[5]李娜.物联网在智慧油气田建设中的应用[J].物联网技术,2020(06):15-16.

[6]张晓明.智慧油气田建设中的大数据应用[J].大数据技术与应用,2018(12):20-21.

[7]陈刚.基于区块链的油气田数据安全管理[J].信息安全技术,2020(08):33-35.

作者单位:长庆油田分公司数智化事业部

■ 责任编辑:张津平、尚丹

猜你喜欢
网络安全
网络安全知多少?
工会博览(2023年27期)2023-10-24 11:51:28
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
我国拟制定网络安全法
声屏世界(2015年7期)2015-02-28 15:20:13
“4.29首都网络安全日”特别报道
警察技术(2014年3期)2014-02-27 15:33:21