CN112287356B - 一种计算机系统安全性评估方法与系统 - Google Patents

一种计算机系统安全性评估方法与系统 Download PDF

Info

Publication number
CN112287356B
CN112287356B CN202011250849.6A CN202011250849A CN112287356B CN 112287356 B CN112287356 B CN 112287356B CN 202011250849 A CN202011250849 A CN 202011250849A CN 112287356 B CN112287356 B CN 112287356B
Authority
CN
China
Prior art keywords
file
serial port
card
folder
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011250849.6A
Other languages
English (en)
Other versions
CN112287356A (zh
Inventor
余俊峰
罗铭羡
田铭
赵培源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Clover Cyber Technology Co ltd
Original Assignee
Xi'an Clover Cyber Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xi'an Clover Cyber Technology Co ltd filed Critical Xi'an Clover Cyber Technology Co ltd
Priority to CN202011250849.6A priority Critical patent/CN112287356B/zh
Publication of CN112287356A publication Critical patent/CN112287356A/zh
Application granted granted Critical
Publication of CN112287356B publication Critical patent/CN112287356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及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卡加载,扩展了使用方式,增加了灵活性和便利性。

Description

一种计算机系统安全性评估方法与系统
技术领域
本发明涉及USB设备安全领域,具体为一种计算机系统安全性评估方法与系统。
背景技术
目前USB总线广泛应用于计算机设备中,用户可以使用USB总线方便的为计算机设备接入各种各样的外接设备:鼠标、键盘、移动硬盘等等。在方便用户的同时,也存在着相应的安全风险,比如:恶意的HID设备——BadUSB。HID类设备属于人机交互操作设备,用于控制计算机操作,比如USB鼠标、USB键盘等。所以BadSUB一旦插入计算机,就可以模拟鼠标、键盘对电脑进行操作,通过对BadUSB进行编程刷入固件,即可在插入计算机时自动执行特定操作。如果计算机系统USB端口没有任何安全防护,通过BadUSB可以对计算机执行文件读写、运行指定程序等,通过这种方式可以用于计算机系统安全性评估。
目前市面上有下面几种类型的BadUSB:
1.传统的BadUSB。只支持键盘、鼠标操作,每次只能执行固定脚本,要更改脚本必须重新编写脚本并刷入固件。
2.带sd卡扩展槽的BadUSB。sd卡扩展槽可以插入sd卡作为存储使用,使用更方便,既可以用于把BadUSB收集到的计算机信息保存到sd卡,也可以从sd卡加载预置脚本来执行。
3.带WiFi芯片的BadUSB。由于自带WiFi芯片,当BadUSB插入计算机后,可以连接指定WiFi,也可以自动创建WiFi热点,这样在WiFi信号范围内,可以利用其它计算机或手机接入热点,对BadUSB实现远程控制,动态下发脚本,使用方式更灵活。刷入开源固件后,可以通过web界面或app进行远程操作。
4.带WiFi芯片且带sd卡扩展槽的BadUSB。这种设备结合了WiFi可以远程下发脚本的优点,也具有sd卡很大的存储空间,但目前没有可以使用的固件,但可以使用带WiFi芯片的BadUSB的开源固件,该固件没有对sd卡进行支持,sd卡无法发挥作用。
目前市面上功能最强大的是带WiFi芯片且带sd卡扩展槽的BadUSB,但在使用过程中存在开源固件没有支持sd卡扩展槽,插上sd卡也无法使用和目前的BadUSB受限于单片机系统空间,可以编写的脚本有代码量限制,代码量太大则会超过单片机系统内存,导致无法运行。因此无法将体积较大的可执行程序内置到代码中,只能通过网络下载,一旦目标计算机没有联网,则无法实施测试的问题,因此,针对上述问题提出一种计算机系统安全性评估方法与系统。
发明内容
本发明的目的在于提供一种计算机系统安全性评估方法与系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种计算机系统安全性评估方法与系统,BadUSB插入计算机后,Arduino通过串口1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信。
优选的,包括以下步骤:
步骤一:增加串口协议,用于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列,分别为文件名、文件大小、获取文件内容,如果是文件夹则在文件大小列显示为“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.txt|abcdef\n",然后Arduino会接收到该指令完成写入文件操作,在ESP8266代码的loop函数中编写,当串口2接收到数据时,读取串口2数据,直到读到结束符,这样得到一个完整的串口操作协议数据data,然后对data进行解析,得到操作命令和参数,如果操作命令为SdFilesList,则先解析出sd卡文件名文件大小、和文件夹名称,保存到全局变量sd_file_list中,如果操作命令为SdFileContent,则先解析出sd卡文件名和文件内容,进行json格式封装后,然后使用http协议通过post发送到指定服务器,例如:192.168.1.10:8000/sdfilecontent。服务器地址可以在web界面进行修改;
步骤六:web服务器运行web解析程序,只提供一个“/sdfilecontent”后台接口,当服务器接收到post请求后,解析json格式后,得到文件名和文件内容,然后以文件名创建文件,把文件内容写入到该文件中。这样sd卡文件就通过串口在经过http协议发送到了服务器上。
优选的,所述在增加串口协议时,命令分隔符为英文半角冒号(:),参数分隔符为英文半角|,结束符为\n(\n表示回车符),如果只有一个参数则不需要参数分隔符和参数2。
优选的,所述在Arduino固件增加操作协议时,协议为ListFileFromSd时,文件夹路径\n,表示读取指定文件夹路径中的文件和文件夹信息,以字符串形式通过串口输出;协议为ReadFileFromSd时文件名\n,表示读取sd卡指定文件名,并通过串口输出文件内容;协议为WriteFileToSd时文件名|文件内容\n,表示通过串口写入文件内容到sd卡指定文件名。如果文件不存在则自动创建,文件存在则把文件内容追加到文件末尾。
优选的,所述在对不同的操作命令进行处理时,如果操作命令为ListFileFromSd,则先解析出要获取文件列表的文件夹路径,然后调用SD.open函数打开该文件夹路径,再遍历文件和文件夹,如果是文件则拼接成字符串:文件名绝对路径|文件大小#,如果是文件夹则拼接成:文件夹绝对路径#,把所有字符串拼接到一起,通过串口1/串口2发送。
优选的,所述在对不同的操作命令进行处理时,如果操作命令为ReadFileFromSd,则先解析出要读取的文件名,然后调用SD.open函数打开该文件名,再按行读取文件内容,再通过串口1/串口2发送。
优选的,所述在对不同的操作命令进行处理时,如果操作命令为WriteFileToSd,则先解析出文件名参数和文件内容参数,然后调用SD.open函数打开该文件名,如果文件存在则把文件内容追加到末尾,然后关闭文件;如果文件不存在,则创建该文件,然后把文件内容写入文件,最后关闭文件。
与现有技术相比,本发明的有益效果是:
1、本发明中,通过扩展sd卡读、写操作,增加了BadUSB存储空间,扩展了使用方式,既可以用于保存文件用于信息收集,也可以用于存储脚本、程序,再通过指令从sd卡加载,扩展了使用方式,增加了灵活性和便利性;
2、本发明中,通过增加sd卡web管理界面,可以通过WiFi远程对sd卡进行文件读、写,在实际使用过程中,可以动态向sd卡读、写文件,使用更灵活;
3、本发明中,可以通过串口对sd卡进行读写操作,也可以通过web界面对sd卡进行操作,高效利用了sd卡,增加了这些操作之后,可以把较大的可执行程序保存到sd卡,然后只需要通过BadUSB在目标计算机中运行powershell脚本,通过powershell脚本从串口把sd卡中的可执行程序加载到内存执行,或写入目标计算机并执行,这样就不受可执行程序大小限制,使用非常方便,还可以通过ESP8266提供的网络通过串口和http协议把sd卡文件发送到web服务器,极大的方便了团队远程协作
附图说明
图1为本发明的系统示意图;
图2为本发明显示sd卡文件和文件夹列表信息的示意图。
具体实施方式
实施例:
请参阅图1-2,本发明提供一种技术方案:
一种计算机系统安全性评估方法与系统,BadUSB插入计算机后,Arduino通过串口1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信。
包括以下步骤:
步骤一:增加串口协议,用于arduino对sd卡进行操作并和ESP8266进行数据通信,协议定义为操作命令+命令分隔符+参数1+参数分隔符+参数2+结束符,所述在增加串口协议时,命令分隔符为英文半角冒号(:),参数分隔符为英文半角|,结束符为\n(\n表示回车符),如果只有一个参数则不需要参数分隔符和参数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进行解析,得到操作命令和参数,其次对不同的操作命令进行处理,如果操作命令为ListFileFromSd,则先解析出要获取文件列表的文件夹路径,然后调用SD.open函数打开该文件夹路径,再遍历文件和文件夹,如果是文件则拼接成字符串:文件名绝对路径|文件大小#,如果是文件夹则拼接成:文件夹绝对路径#,把所有字符串拼接到一起,通过串口1/串口2发送,如果操作命令为ListFileFromSd,则先解析出要获取文件列表的文件夹路径,然后调用SD.open函数打开该文件夹路径,再遍历文件和文件夹,如果是文件则拼接成字符串:文件名绝对路径|文件大小#,如果是文件夹则拼接成:文件夹绝对路径#,把所有字符串拼接到一起,通过串口1/串口2发送,如果操作命令为ReadFileFromSd,则先解析出要读取的文件名,然后调用SD.open函数打开该文件名,再按行读取文件内容,再通过串口1/串口2发送。
所述在对不同的操作命令进行处理时,如果操作命令为WriteFileToSd,则先解析出文件名参数和文件内容参数,然后调用SD.open函数打开该文件名,如果文件存在则把文件内容追加到末尾,然后关闭文件;如果文件不存在,则创建该文件,然后把文件内容写入文件,最后关闭文件;
步骤四:在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列,分别为文件名、文件大小、获取文件内容,如果是文件夹则在文件大小列显示为“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.txt|abcdef\n",然后Arduino会接收到该指令完成写入文件操作,在ESP8266代码的loop函数中编写,当串口2接收到数据时,读取串口2数据,直到读到结束符,这样得到一个完整的串口操作协议数据data,然后对data进行解析,得到操作命令和参数,如果操作命令为SdFilesList,则先解析出sd卡文件名文件大小、和文件夹名称,保存到全局变量sd_file_list中,如果操作命令为SdFileContent,则先解析出sd卡文件名和文件内容,进行json格式封装后,然后使用http协议通过post发送到指定服务器,例如:192.168.1.10:8000/sdfilecontent。服务器地址可以在web界面进行修改;
步骤六:web服务器运行web解析程序,只提供一个“/sdfilecontent”后台接口,当服务器接收到post请求后,解析json格式后,得到文件名和文件内容,然后以文件名创建文件,把文件内容写入到该文件中。这样sd卡文件就通过串口在经过http协议发送到了服务器上。
本发明使用web界面对sd卡进行操作,支持:从sd卡读文件,往sd卡写入文件,可以把预先写好的脚本保存到sd卡,在需要使用时可以通过web界面直接调用相应文件即可,同时可以把较大的可执行程序保存到sd卡,然后只需要在目标计算机中运行powershell脚本,通过powershell脚本从串口把sd卡中的可执行程序加载到内存执行,或写入目标计算机并执行,这样就不受可执行程序大小限制。
增加串口协议时,分隔符、结束符也可以是其他符号,保持两边协议使用相同可以使用,同时协议中的操作命令也可以是其他英文单词组合或英文字母,只要两边协议使用相同即可使用。
工作流程:通过串口加载sd卡中程序并运行,测试人员将BadUSB插入目标计算机,BadUSB写入目标计算机一个powershell脚本A并执行,A脚本完成的功能是通过串口从sd卡读入较大的目标程序并写到目标计算机并执行;收集信息并发送到web服务器,测试人员创建WiFi热点A,预先在BadUSB的sd卡中保存好信息收集程序,配置好web服务器,然后将BadUSB插入目标计算机,BadUSB接入WiFi热点A,然后自动通过串口把sd卡中的信息收集程序写入目标计算机或通过powershell在内存中执行信息收集程序,当信息收集完成后,把收集的信息再通过串口保存到sd卡文件B中,试人员通过BadUSB web界面浏览sd卡文件列表,当发现文件B生成后,再通过web界面执行文件获取操作,BadUSB则会通过WiFi把收集到的文件B发送到web服务器。然后通过获取的文件B内容,分析目标计算机是否存在安全风险。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实例的说明只是用于帮助理解本发明的方法及其核心思想。以上所述仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其它场合的,均应视为本发明的保护范围。

Claims (6)

1.一种计算机系统安全性评估系统,其特征在于:BadUSB插入计算机后,Arduino通过串口1和计算机通信,BadUSB内部,arduino通过串口2和WiFi芯片固件通信;
包括以下步骤:
步骤一:增加串口协议,用于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接收到数据时时,先读取串口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=”接口,进入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.txt|abcdef\n",然后Arduino会接收到该指令完成写入文件操作,在ESP8266代码的loop函数中编写,当串口2接收到数据时,读取串口2数据,直到读到结束符,这样得到一个完整的串口操作协议数据data,然后对data进行解析,得到操作命令和参数,如果操作命令为SdFilesList,则先解析出sd卡文件名文件大小和文件夹名称,保存到全局变量sd_file_list中,如果操作命令为SdFileContent,则先解析出sd卡文件名和文件内容,进行json格式封装后,然后使用http协议通过post发送到指定服务器,服务器地址在web界面进行修改;
步骤六:web服务器运行web解析程序,只提供一个“/sdfilecontent”后台接口,当服务器接收到post请求后,解析json格式后,得到文件名和文件内容,然后以文件名创建文件,把文件内容写入到该文件中,这样sd卡文件就通过串口在经过http协议发送到了服务器上。
2.根据权利要求1所述的一种计算机系统安全性评估系统,其特征在于:在增加串口协议时,命令分隔符为英文半角冒号(:),参数分隔符为英文半角|,结束符为\n,如果只有一个参数则不需要参数分隔符和参数2。
3.根据权利要求1所述的一种计算机系统安全性评估系统,其特征在于:在所述Arduino固件增加操作协议时,协议为ListFileFromSd时,文件夹路径\n,表示读取指定文件夹路径中的文件和文件夹信息,以字符串形式通过串口输出;协议为ReadFileFromSd时文件名\n,表示读取sd卡指定文件名,并通过串口输出文件内容;协议为WriteFileToSd时文件名|文件内容\n,表示通过串口写入文件内容到sd卡指定文件名,如果文件不存在则自动创建,文件存在则把文件内容追加到文件末尾。
4.根据权利要求1所述的一种计算机系统安全性评估系统,其特征在于:在对不同的操作命令进行处理时,如果操作命令为ListFileFromSd,则先解析出要获取文件列表的文件夹路径,然后调用SD.open函数打开该文件夹路径,再遍历文件和文件夹,如果是文件则拼接成字符串:文件名绝对路径|文件大小#,如果是文件夹则拼接成:文件夹绝对路径#,把所有字符串拼接到一起,通过串口1/串口2发送。
5.根据权利要求1所述的一种计算机系统安全性评估系统,其特征在于:在对不同的操作命令进行处理时,如果操作命令为ReadFileFromSd,则先解析出要读取的文件名,然后调用SD.open函数打开该文件名,再按行读取文件内容,再通过串口1/串口2发送。
6.根据权利要求1所述的一种计算机系统安全性评估系统,其特征在于:在对不同的操作命令进行处理时,如果操作命令为WriteFileToSd,则先解析出文件名参数和文件内容参数,然后调用SD.open函数打开该文件名,如果文件存在则把文件内容追加到末尾,然后关闭文件;如果文件不存在,则创建该文件,然后把文件内容写入文件,最后关闭文件。
CN202011250849.6A 2020-11-11 2020-11-11 一种计算机系统安全性评估方法与系统 Active CN112287356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011250849.6A CN112287356B (zh) 2020-11-11 2020-11-11 一种计算机系统安全性评估方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011250849.6A CN112287356B (zh) 2020-11-11 2020-11-11 一种计算机系统安全性评估方法与系统

Publications (2)

Publication Number Publication Date
CN112287356A CN112287356A (zh) 2021-01-29
CN112287356B true CN112287356B (zh) 2023-12-22

Family

ID=74351952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011250849.6A Active CN112287356B (zh) 2020-11-11 2020-11-11 一种计算机系统安全性评估方法与系统

Country Status (1)

Country Link
CN (1) CN112287356B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403741A (zh) * 2011-02-21 2013-11-20 德国捷德有限公司 启动便携式数据存储介质
CN103914263A (zh) * 2013-01-05 2014-07-09 中国银联股份有限公司 Sd卡和访问sd卡的设备及方法
WO2017046789A1 (en) * 2015-09-15 2017-03-23 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
WO2017155522A1 (en) * 2016-03-09 2017-09-14 TROEN, Saul Apparatus providing wireless access to storage devices
US9785771B1 (en) * 2015-07-13 2017-10-10 Bromium, Inc. Preventing malicious attacks launched from or involving usb devices
WO2019130042A1 (en) * 2017-12-29 2019-07-04 Vandelay Integrity control of a secured peripheral device
CN110941946A (zh) * 2019-11-29 2020-03-31 西安四叶草信息技术有限公司 一种信息提取方法、装置、设备及存储介质
CN111756683A (zh) * 2019-03-29 2020-10-09 卡巴斯基实验室股份制公司 逐步增加技术系统的元件的it安全性的系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110213809A1 (en) * 2010-03-01 2011-09-01 Panda Security, S.L. Method, a system and a computer program product for protecting a data-storing device
US10268616B2 (en) * 2017-08-01 2019-04-23 Dell Products L.P. Systems and methods for selective disablement of protocols on a USB type-C port
US11568044B2 (en) * 2018-03-19 2023-01-31 University Of Florida Research Foundation, Incorporated Method and apparatus for vetting universal serial bus device firmware
WO2019204480A1 (en) * 2018-04-17 2019-10-24 Conocophillips Company Anti-virus device for industrial control systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103403741A (zh) * 2011-02-21 2013-11-20 德国捷德有限公司 启动便携式数据存储介质
CN103914263A (zh) * 2013-01-05 2014-07-09 中国银联股份有限公司 Sd卡和访问sd卡的设备及方法
US9785771B1 (en) * 2015-07-13 2017-10-10 Bromium, Inc. Preventing malicious attacks launched from or involving usb devices
WO2017046789A1 (en) * 2015-09-15 2017-03-23 Gatekeeper Ltd. System and method for securely connecting to a peripheral device
WO2017155522A1 (en) * 2016-03-09 2017-09-14 TROEN, Saul Apparatus providing wireless access to storage devices
WO2019130042A1 (en) * 2017-12-29 2019-07-04 Vandelay Integrity control of a secured peripheral device
CN111756683A (zh) * 2019-03-29 2020-10-09 卡巴斯基实验室股份制公司 逐步增加技术系统的元件的it安全性的系统和方法
CN110941946A (zh) * 2019-11-29 2020-03-31 西安四叶草信息技术有限公司 一种信息提取方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BadUSB攻击的实验与防范;秦玉海等;中国刑警学院学报(第4期);119-123 *
基于Arduino的Tennsy BadUSB改良型共享云盾的设计与研究;赵司琦;俞继伟;王广田;谢怡宁;;电脑知识与技术(第36期);36-38+45 *
高防护环境下的恶意USB设备攻防研究;唐文誉;王轶骏;薛质;;通信技术(第01期);144-150 *

Also Published As

Publication number Publication date
CN112287356A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
CN104536744B (zh) 一种自动化构建与部署代码的方法及服务器
CN111680253B (zh) 页面应用数据包生成方法、装置、计算机设备及存储介质
US6466240B1 (en) Method for visually writing programs or scripts that transform structured text presented as a tree
US9384005B2 (en) Systems and methods for dynamic configuration of client-side development environments through use of application servers
KR101908162B1 (ko) 통합 개발 환경에서의 라이브 브라우저 툴 제공 기법
US9690549B2 (en) Editing software products using text mapping files
US20140173454A1 (en) Method and system for designing, deploying and executing transactional multi-platform mobile applications
CN106844181B (zh) 用于记录用户行为的方法、系统及移动终端
CN110633219B (zh) 页面测试方法与装置、存储介质、电子设备
CN102272757A (zh) 经由标记语言的客户端浏览器状态的服务器端记录的方法
CN109308254B (zh) 一种测试方法、装置及测试设备
CN107015903B (zh) 一种界面测试程序的生成方法、装置及电子设备
US20120096148A1 (en) System and method for representing user interaction with a web service
CN106354483B (zh) 一种数据处理方法、装置及电子设备
CN110968305A (zh) 小程序可视化生成方法、装置、设备及存储介质
CN107368420A (zh) Api测试方法、装置及电子设备
CN103136100B (zh) 一种Android测试的方法和系统
CN105589959A (zh) 表单处理方法和表单系统
CN112988165A (zh) 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质
CN111736812A (zh) 文档代码执行方法、装置、计算机设备及存储介质
CN102521008A (zh) 程序编译装置和程序编译方法
CN112287356B (zh) 一种计算机系统安全性评估方法与系统
CN116166907B (zh) 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置
CN110888641B (zh) 一种脚本自动生成方法、装置、服务器及存储介质
CN113254040B (zh) 前端框架更新方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant