CN112287356B - 一种计算机系统安全性评估方法与系统 - Google Patents
一种计算机系统安全性评估方法与系统 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 210000001072 colon Anatomy 0.000 claims description 2
- 238000013515 script Methods 0.000 abstract description 15
- 230000006870 function Effects 0.000 description 17
- 241000699666 Mus <mouse, genus> Species 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing 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函数打开该文件名,如果文件存在则把文件内容追加到末尾,然后关闭文件;如果文件不存在,则创建该文件,然后把文件内容写入文件,最后关闭文件。
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)
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)
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 |
-
2020
- 2020-11-11 CN CN202011250849.6A patent/CN112287356B/zh active Active
Patent Citations (8)
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)
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 |