一种计算机系统安全性评估方法与系统技术方案

技术编号:27209317 阅读:22 留言:0更新日期:2021-01-31 12:41
本发明专利技术涉及USB设备安全领域,尤其为一种计算机系统安全性评估方法与系统,将BadUSB插入计算机后,Arduino通过串口1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信,首先增加串口协议,用于arduino对sd卡进行操作并和ESP8266进行数据通信,其次修改Arduino的固件,增加通过SPI接口操作sd卡功能,并把获取的结果通过字符串发送到串口2供ESP8266使用,修改WiFi芯片ESP8266固件,增加web界面管理sd卡,并通过串口2来解析sd卡相关数据,通过扩展sd卡读、写操作,增加了BadUSB存储空间,扩展了使用方式,既可以用于保存文件用于信息收集,也可以用于存储脚本、程序,再通过指令从sd卡加载,扩展了使用方式,增加了灵活性和便利性。活性和便利性。活性和便利性。

【技术实现步骤摘要】
一种计算机系统安全性评估方法与系统


[0001]本专利技术涉及USB设备安全领域,具体为一种计算机系统安全性评估方法与系统。

技术介绍

[0002]目前USB总线广泛应用于计算机设备中,用户可以使用USB总线方便的为计算机设备接入各种各样的外接设备:鼠标、键盘、移动硬盘等等。在方便用户的同时,也存在着相应的安全风险,比如:恶意的HID设备——BadUSB。HID类设备属于人机交互操作设备,用于控制计算机操作,比如USB鼠标、USB键盘等。所以BadSUB一旦插入计算机,就可以模拟鼠标、键盘对电脑进行操作,通过对BadUSB进行编程刷入固件,即可在插入计算机时自动执行特定操作。如果计算机系统USB端口没有任何安全防护,通过BadUSB可以对计算机执行文件读写、运行指定程序等,通过这种方式可以用于计算机系统安全性评估。
[0003]目前市面上有下面几种类型的BadUSB:
[0004]1.传统的BadUSB。只支持键盘、鼠标操作,每次只能执行固定脚本,要更改脚本必须重新编写脚本并刷入固件。
[0005]2.带sd卡扩展槽的BadUSB。sd卡扩展槽可以插入sd卡作为存储使用,使用更方便,既可以用于把BadUSB收集到的计算机信息保存到sd卡,也可以从sd卡加载预置脚本来执行。
[0006]3.带WiFi芯片的BadUSB。由于自带WiFi芯片,当BadUSB插入计算机后,可以连接指定WiFi,也可以自动创建WiFi热点,这样在WiFi信号范围内,可以利用其它计算机或手机接入热点,对BadUSB实现远程控制,动态下发脚本,使用方式更灵活。刷入开源固件后,可以通过web界面或app进行远程操作。
[0007]4.带WiFi芯片且带sd卡扩展槽的BadUSB。这种设备结合了WiFi可以远程下发脚本的优点,也具有sd卡很大的存储空间,但目前没有可以使用的固件,但可以使用带WiFi芯片的BadUSB的开源固件,该固件没有对sd卡进行支持,sd卡无法发挥作用。
[0008]目前市面上功能最强大的是带WiFi芯片且带sd卡扩展槽的BadUSB,但在使用过程中存在开源固件没有支持sd卡扩展槽,插上sd卡也无法使用和目前的BadUSB受限于单片机系统空间,可以编写的脚本有代码量限制,代码量太大则会超过单片机系统内存,导致无法运行。因此无法将体积较大的可执行程序内置到代码中,只能通过网络下载,一旦目标计算机没有联网,则无法实施测试的问题,因此,针对上述问题提出一种计算机系统安全性评估方法与系统。

技术实现思路

[0009]本专利技术的目的在于提供一种计算机系统安全性评估方法与系统,以解决上述
技术介绍
中提出的问题。
[0010]为实现上述目的,本专利技术提供如下技术方案:
[0011]一种计算机系统安全性评估方法与系统,BadUSB插入计算机后,Arduino通过串口
1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信。
[0012]优选的,包括以下步骤:
[0013]步骤一:增加串口协议,用于arduino对sd卡进行操作并和ESP8266进行数据通信,协议定义为操作命令+命令分隔符+参数1+参数分隔符+参数2+结束符;
[0014]步骤二:在Arduino固件增加操作协议,协议为ListFileFromSd时,文件夹路径\n,表示读取指定文件夹路径中的文件和文件夹信息,以字符串形式通过串口输出;协议为ReadFileFromSd时,文件名\n,表示读取sd卡指定文件名,并通过串口输出文件内容;协议为WriteFileToSd时,文件名|文件内容\n,表示通过串口写入文件内容到sd卡指定文件名。如果文件不存在则自动创建,文件存在则把文件内容追加到文件末尾;协议同时支持串口1和串口2;
[0015]步骤三:修改Arduino的固件,增加通过SPI接口操作sd卡功能,并把获取的结果通过字符串发送到串口2供ESP8266使用,具体代码在Arduino的loop函数中编写,当串口1/串口2接收到数据时(ESP8266发送过来的数据)时,先读取串口1/串口2数据,直到读到结束符,这样得到一个完整的串口操作协议数据data,然后对data进行解析,得到操作命令和参数,其次对不同的操作命令进行处理;
[0016]步骤四:在ESP8266固件增加操作协议,协议SdFilesList为文件和文件夹信息字符串\n,当ListFileFromSd执行完成后,得到文件和文件夹信息的字符串,然后拼接在“SdFilesList:”之后,发送给ESP8266,ESP8266接收到“SdFilesList”命令后,通过解析参数字符串,得到文件和文件夹列表信息,协议SdFileContent为文件名|文件内容\n,当ReadFileFromSd执行完成后,得到文件内容,然后拼接在“SdFileContent:”之后,发送给ESP8266,ESP8266接收到“SdFileContent”命令后,通过解析参数字符串,得到文件名和文件内容;
[0017]步骤五:修改WiFi芯片ESP8266固件,增加web界面管理sd卡,并通过串口2来解析sd卡相关数据,增加sd卡管理web界面,在原始web界面上增加超链接“SD卡管理”功能,当点击该超链接后,浏览器请求“/sdcardmanager”接口,进入sd卡管理web页面,进入sd卡管理页面后,ESP8266向串口2发送读取sd卡根目录文件指令:“ListFileFromSd:/\n”.并提示用户等5秒后再次访问页面即可显示结果。然后读取全局变量sd_file_list,该变量保存了“SdFilesList”操作命令的参数字符串,即sd卡文件和文件夹信息。如果该变量为空则返回,如果不为空则从该字符串解析出文件名称、文件大小、文件夹名称等信息,然后将这些信息拼接成html的表格代码,表格中有3列,分别为文件名、文件大小、获取文件内容,如果是文件夹则在文件大小列显示为“directory”,在获取文件内容列不显示,如果是文件则在获取文件内容列中显示一个按钮,点击按钮则浏览器请求“/getfile?payload=”接口(payload后面拼接当前行的文件名),进入sd卡文件获取界面,把这些html表格代码返回到页面上,即可展示出sd卡文件和文件夹列表信息,当进入sd卡文件获取界面,先解析出“payload”参数得到要操作的文件名,例如1.txt,然后ESP8266向串口2发送读取sd卡文件内容的指令,“ReadFileFromSd:1.txt\n”,并提示用户检查web服务器接收数据,如果需要通过web界面向sd卡写入文件,点击sd卡管理界面的超链接“写入文件到sd卡”,进入sd卡写入界面,sd卡写入界面提供两个文本框,一个是待写入文件名,例如输入2.txt,另一个是待写入文件内容,例如输入“abcdef”,点击“写入sd卡”按钮,则ESP8266通过串口2发送写入文
件指令:"WriteFileToSd:2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机系统安全性评估方法与系统,其特征在于:BadUSB插入计算机后,Arduino通过串口1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信。2.根据权利要求1所述的一种计算机系统安全性评估方法与系统,其特征在于,包括以下步骤:步骤一:增加串口协议,用于arduino对sd卡进行操作并和ESP8266进行数据通信,协议定义为操作命令+命令分隔符+参数1+参数分隔符+参数2+结束符;步骤二:在Arduino固件增加操作协议,协议为ListFileFromSd时,文件夹路径\n,表示读取指定文件夹路径中的文件和文件夹信息,以字符串形式通过串口输出;协议为ReadFileFromSd时,文件名\n,表示读取sd卡指定文件名,并通过串口输出文件内容;协议为WriteFileToSd时,文件名|文件内容\n,表示通过串口写入文件内容到sd卡指定文件名。如果文件不存在则自动创建,文件存在则把文件内容追加到文件末尾;协议同时支持串口1和串口2;步骤三:修改Arduino的固件,增加通过SPI接口操作sd卡功能,并把获取的结果通过字符串发送到串口2供ESP8266使用,具体代码在Arduino的loop函数中编写,当串口1/串口2接收到数据时(ESP8266发送过来的数据)时,先读取串口1/串口2数据,直到读到结束符,这样得到一个完整的串口操作协议数据data,然后对data进行解析,得到操作命令和参数,其次对不同的操作命令进行处理;步骤四:在ESP8266固件增加操作协议,协议SdFilesList为文件和文件夹信息字符串\n,当ListFileFromSd执行完成后,得到文件和文件夹信息的字符串,然后拼接在“SdFilesList:”之后,发送给ESP8266,ESP8266接收到“SdFilesList”命令后,通过解析参数字符串,得到文件和文件夹列表信息,协议SdFileContent为文件名|文件内容\n,当ReadFileFromSd执行完成后,得到文件内容,然后拼接在“SdFileContent:”之后,发送给ESP8266,ESP8266接收到“SdFileContent”命令后,通过解析参数字符串,得到文件名和文件内容;步骤五:修改WiFi芯片ESP8266固件,增加web界面管理sd卡,并通过串口2来解析sd卡相关数据,增加sd卡管理web界面,在原始web界面上增加超链接“SD卡管理”功能,当点击该超链接后,浏览器请求“/sdcardmanager”接口,进入sd卡管理web页面,进入sd卡管理页面后,ESP8266向串口2发送读取sd卡根目录文件指令:“ListFileFromSd:/\n”.并提示用户等5秒后再次访问页面即可显示结果。然后读取全局变量sd_file_list,该变量保存了“SdFilesList”操作命令的参数字符串,即sd卡文件和文件夹信息。如果该变量为空则返回,如果不为空则从该字符串解析出文件名称、文件大小、文件夹名称等信息,然后将这些信息拼接成html的表格代码,表格中有3列,分别为文件名、文件大小、获取文件内容,如果是文件夹则在文件大小列显示为“文件夹”,在获取文件内容列不显示,如果是文件则在获取文件内容列中显示一个按钮,点击按钮则浏览器请求“/getfile?payload=”接口(payload后面拼接当前行的文件名),进入sd卡文件获取界面,把这些html表格代码返回到页面上,即可展示出sd卡文件和文件夹列表信息,当进入sd卡文件获取界面,先解析出“payload”参数得到要操作的文件名,例如1.txt,然后ESP8266向串口2发送读取sd卡文件内容...

【专利技术属性】
技术研发人员:余俊峰罗铭羡田铭赵培源
申请(专利权)人:西安四叶草信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1