详细设计说明书.docx
- 文档编号:3316179
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:14
- 大小:128.66KB
详细设计说明书.docx
《详细设计说明书.docx》由会员分享,可在线阅读,更多相关《详细设计说明书.docx(14页珍藏版)》请在冰豆网上搜索。
详细设计说明书
文档编号
版本
密级
项目名称
USB安全隔离装置NetVineNV-S100
项目来源
USB安全隔离装置
详细设计文档
一、引言
1.1编写目的和范围
本概要设计说明书编写的目的是说明程序模块的设计考虑,包括程序描述、输入/输出、算法和流程逻辑等,为软件编程和系统维护提供基础。
本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。
1.2运行环境
(1)硬件环境
Intel®CeleronN2930导轨式无风扇系统,板载4G内存,120G工业级SSD固态硬盘
(2)开发环境
操作系统:
Windows7及以上版本。
数据库:
Mysql5.1。
开发环境:
Python2.7。
1.3需求概述
具体数据需求如下:
1)软件功能要求
●杀毒隔离
威胁隔离:
支持自动对染毒和可疑文件采取隔离操作
隔离还原:
支持用户还原被隔离文件;
离线分析:
支持用户下载被隔离文件进行威胁分析。
●身份鉴别
以针对各个角色设定不同的访问权限。
在用户请求访问受保护资源前必须进行身份鉴别,由系统对请求者身份进行确认。
授权用户能够根据预定义的策略访问相应资源
●权限控制
系统可划分不同的安全管理角色进行合理的权限分配;确保在授权管理员执行与访问控制产品安全相关的任何操作之前,必须经过身份鉴别。
系统可针对IP进行锁定设置,非合法IP段内访问都将被禁止操作。
●日志管理
对管理员和用户的登录和操作进行记录,包括发生的日期和时间、事件主体身份、事件描述,成功或失败的标志,并可按条件进行查询。
●一机多杀
平台支持多台工作站同时使用,同时支持多U盘同时查杀。
●日志检索
日志分类有:
全部,病毒库升级,网藤病毒库升级,清除日志,日志操作,系统设置,修改管理IP开关,尝试登陆,文件上传,文件下载,删除文件,添加文件,复制文件,移动文件,重命名文件,新建用户,编辑用户,U盘操作,U盘拔出,FTP操作,发现病毒,加入白名单,删除白名单。
●三引擎威胁处理
平台具备网藤基础库,网藤高级库,网藤白名单三引擎威胁处理能力
●白名单管理
平台内置白名单库,支持自动、手动方式生成白名单检查规则;可以根据白名单类型,对白名单进行分类管理。
1.4总体设计
系统总体框架设计
USB安全隔离装置是USB存储设备和计算机之间数据安全交互的桥梁,创新性的采用外设杀毒技术,对USB移动存储设备数据传输过程进行病毒查杀隔离,可有效减少通过USB移动存储设备携带病毒对内网计算机的安全性造成威胁,保证数据快速、安全地传输到内网计算机。
USB安全隔离装置架构设计图如下图:
二、详细设计
2.1定义:
·Mysql:
数据库管理软件
·Linux:
运行环境
·Python:
软件开发语言
·Nginx:
Web代理服务器
2.2软件结构
USB安全隔离装置分为八大模块:
资源库模块,登录模块,用户模块,日志管理模块,白名单模块,隔离区模块,u盘管理模块,系统设置模块。
三、程序描述
3.1登录模块
模块名称
登录模块
模块代号
login
模块功能
成功登录系统后方能使用别的模块功能
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
无
输入
通过正确的账号和密码登录进入
输出
登入成功后会跳到资源库模块,失败则还在当前模块中
算法逻辑
1.输入账号和密码时点击登录时,通过/login接口链接后台的mysql数据库中的user表中对比账号和密码,和login_check表中有无用户连续登录错误超过5次记录,如账号和密码正确并无登录错误超过5次则跳入资源库模块并可以访问其他模块,错误则还在登录模块,并且给出错误提示。
2.如连续输入5次错误密码则会在mysql数据库中的login_check中记录记录用户连续错误5次,并且不让用户登录,24小时后会清除登录错误用户记录.
3.登录时会检测mysql数据库中settings表中system_state字段的是否开启,0为关闭1则开启,如开启则检测control_ip字段的ip是否和登录机子ip在指定网段,如符合则可登录,否则提示网段不正确
相关对象及接口
本程序为登录接界面,通过输入https打开窗口,实现本程序的调用,登录成功后会跳转到资源库模块
备注
3.2资源库模块
模块名称
资源库模块
模块代号
resource_lib
模块功能
显示上传后或者查杀过usb里的文件,并可以对文件上传、下载、新建、移动、复制、删除、重命名、全选
性能要求
对精度性、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.文件上传最大不能超过1gb
3.移动文件时不能移动到文件名相同的文件夹内
4.只显示当前/ssd/当前用户下的文件
5.当前用户有必要权限
输入
1.可新建文件夹
2.修改文件名称
输出
1.显示新建的文件夹
2.显示上传的文件
3.显示经过查杀后usb里的文件
4.文件最多显示10个多余文件要点击下一页
算法逻辑
1.上传:
通过点击上传选择要上传的文件提交接口/resource_lib/upload会吧文件上传到/ssd/用户名的文件夹内或查杀过usb的文件夹内
2.下载:
通过点击要下载的文件点击下载后调用接口/resource_lib/download会把/ssd/用户名的文件夹内的文件或查杀过usb里的文件下载出来
3.新建文件夹:
通过点击新建文件夹输入名称提交后调用接口/resource_lib/newdir接口在linux系统/tmp目录下创建文件夹
4.移动:
可单点或多选文件前的按钮选项,点击移动然后选择要移动的文件夹提交后调用接口/resource_lib/copy接口,确定是1是移动还是2.是复制,在linux系统后进行文件或者文件夹移动;移动时注意不能吧相同的文件移动到一起,会报错.
5.复制:
可单点或多选文件前的按钮选项,点击复制然后选择要复制的文件夹提交后调用接口/resource_lib/copy接口,确定是1是移动还是2.是复制,在linux系统后进行文件或者文件夹复制;文件名相同的文件放到一起则会后者覆盖前者。
6.删除:
可单点或多选文件前的按钮选项,点击要删除的文件会调用接口/resource_lib/delete,对其文件进行删除
7.重命名:
可单点文件前按钮选项,点击重命名后链接/resource_lib/rename接口,对其文件进行重命名。
8.全选:
直接在页面全选,不调用后台接口。
9显示文件:
调用/resource显示/ssd/当前登录用户名下所有文件和经过查杀的usb下的文件,显示算法是根据:
文件页面总数=所有文件/10+1,显示页面按切片模式
每页显示10个,不足10个则为余下全部。
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
用户模块,日志管理模块,白名单模块,隔离区模块,系统设置模块
备注
3.3日志管理模块
模块名称
日志管理模块
模块代号
log
模块功能
显示用户操作动作行为日志,并且可以导出日志内容
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.按查询用户名查询
2.按时间查询
3.按查询动作条查
4.以上三个可以混合使用
5.导出用户日志。
输出
1.查询时会调用接口/log/list查询mysql数据库sys_log表中的根据输入得到所要的数据日志
2.导出时会调用接口/log/export从mysql数据库sys_log表中把要查询的数据导出到txt文件内,然后下载到本机
算法逻辑
显示算法是根据:
页面总数=查询的所有数据/10+1,显示页面按切片模式
每页显示10个,不足10个则为余下全部。
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
用户模块,资源库模块,白名单模块,隔离区模块,系统设置模块,u盘管理模块
备注
3.4白名单模块
模块名称
白名单模块
模块代号
whitelist
模块功能
当U盘挂载后,USB安全隔离装置不会对白名单内的文件进行杀毒处理,可加快杀毒速度并较少误报率。
U盘内的文件杀毒过后会自动添加到白名单中。
本模块功能只是显示白名单文件和增加、查询、删除、清空。
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.根据文件名查询
2.根据文件名删除
3.直接清空所有白名单
4.从本机增加白名单文件
输出
1.根据文件名查询:
查询时会调用接口/whitelist/list查询mysql数据库whitelist表中的根据查询文件所返回的白名单信息
2.根据文件名删除:
会调用接口/whitelist/remove删除mysql数据库whitelist表中的单个文件或多个信息
3.直接清空所有白名单:
会调用接口/whitelist/delete_auto清空mysql数据库witelist所有的内容
4.从本机增加白名单文件:
会调用接口/whitelist/upload/,计算该文件的md5码,加入时间、文件名称、是否手动、文件名,添加到whitelist数据库中
5.显示白名单文件:
默认直接会调用接口/whitelist/list、查询mysql数据库中whitelis表中的所有数据内容,或1~4的操作的最终结果显示出页面
算法逻辑
从本机增加白名单:
上传文件通过md5算法进行计算,然后添加到数据库
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
用户模块,资源库模块,日志管理模块,隔离区模块,系统设置模块,u盘管理模块
备注
3.5隔离区模块
模块名称
隔离区模块
模块代号
isolation
模块功能
隔离区的文件会记录文件来源,由于文件为非安全性质,仅可进行下载、删除操作。
为防止通过U盘感染其他正常的设备,用户应慎用下载功能。
U盘内文件若确认为安全文件,用户可以选择还原文件并加入到白名单中,或只还原文件,还原文件将会把文件放回U盘原目录。
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.隔离区文件下载
2.隔离区文件删除
3.隔离区白名单还原
输出
1.隔离区文件下载:
调用/isolation/download接口把选择的文件通过压缩成zip格式然后通过response下载下来
2.隔离区文件删除:
调用/isolation/delete接口linux下的/tmp文件夹下的隔离文件删除掉
3.隔离区白名单还原:
调用/isolation/restore接口吧计算该文件的md5码,加入时间、文件名称、是否手动、文件名,添加到whitelist数据库中,并且把隔离区的文件返还u盘源目录
4.显示隔离区所有内容:
调用/isolation/files接口,显示linux下/tmp文件夹下隔离的所有文件。
算法逻辑
隔离区白名单还原:
对文件用md5算法进行计算
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
用户模块,资源库模块,日志管理模块,白名单模块,系统设置模块,u盘管理模块
备注
3.6U盘管理模块
模块名称
U盘管理模块
模块代号
disk
模块功能
当U盘授权后可在页面显示其查杀的进度条内容。
当U盘插入时可以对u盘进行用户授权,u盘查杀过程中能够停止,u盘查杀完毕后可以删除。
资源库有系统残留文件时可以重置查杀环境。
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.U盘授权
2.U盘停止查杀
3.U盘删除
4.重置杀毒环境
5.查询用户名
输出
1.U盘授权查杀:
U盘开始查杀的显示查杀进度条内容
2.U盘停止查杀:
点击停止查杀,则查杀进度条清0
3.U盘删除:
清除资源库建立好的u盘用户名文件夹
4.重置杀毒环境:
等待30秒左右,清空系统内部残留文件
算法逻辑
1.U盘授权查杀:
Disk模块中/disk/alert接口每5秒中扫描一次查看usb安全隔离装置是否插入u盘,如过插入u盘则调用/disk/add_allow_disk这个接口对其进行授权,把u盘名称和授权的用户添加到mysql数据中allow_disk数据库中,通过c语言进行病毒查杀,并调用/disk/allow_disk_doing对其杀毒进度做个预估计算,通过/disk/scan吧预估的杀毒速度返回页面,等到杀毒完成则调用/disk/virus_end并在linux下创建/ssd/当前用户的文件,并吧u盘内的文件挂载到/ssd/当前用户的文件里,把mysql数据库allow_disk状态更改.
2.U盘停止查杀:
调用接口/disk/cancel_scan修改mysql数据库allow_disk的is_cancel=yes
3.U盘删除:
调用/disk/delete_allow_disk删除mysql数据库/disk/delete_allow_disk的u盘授权时的用户信息,并且取消查杀完毕后在linux系统下/ssd/u盘用户名文件夹下挂载并删除u盘用户文件夹
4.重置杀毒环境:
当有系统文件残留时使用/disk/restart_scan在linux下使用umount清除文件挂载残留
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
用户模块,资源库模块,日志管理模块,白名单模块,系统设置模块,隔离区模块
备注
3.7用户设置模块
模块名称
用户设置
模块代号
user
模块功能
可用超级用户对新建、修改、删除一般用户的账号的密码,状态,权限,登录IP等操作。
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.新增用户:
添加用户名、密码、登录IP、用户角色、权限等
2删除用户:
3修改用户:
编辑,修改用户状态,修改密码
输出
页面显示其用户和状态.
算法逻辑
通过user模块对mysql数据库下的user表内数据进行增删改查操作
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
u盘管理模块,资源库模块,日志管理模块,白名单模块,系统设置模块,隔离区模块
备注
3.8系统设置模块
模块名称
系统设置模块
模块代号
settings
模块功能
Usb安全装置的附加功能,使usb系统功能更全面
性能要求
对精度、灵活性、容错性、时间特性等的要求
限制条件
1.成功登录系统后,方能使用本模块
2.当前用户有必要权限
输入
1.管理IP开关:
可对IP进行设置,非法IP段内都禁止操作。
2.系统IP地址设置:
可设置2个网卡的访问地址、子网掩码、网关.
3.基本设置:
可以输入设备的信息
4.多引擎配置:
5.SYSLOG设置:
6.恢复出厂设置:
清空一切数据,还原到最初的状态
7.网络限流:
8.用户设置:
9.时间同步服务器设置:
USB安全隔离装置的时间会保持与时间服务器IP一致。
输出
1.管理IP开关:
显示禁用的ip网段,显示有无关闭凯西。
2.系统IP地址设置:
读取2个网卡的ip、子网、网关
3.基本设置:
显示输入设备信息
4.多引擎配置:
分为白名单,网藤基本病毒库,网藤高级病毒库三种查杀选项,也可分别组合选取或单选
5.SYSLOG设置:
用来设置syslog服务器的ip与端口号
6.恢复出厂设置:
清空一切数据,还原到最初的状态
7.网络限流:
配置不限速、低速、中速、高速四个档位
8.用户设置:
临时用户可设置存活时间,到期自动失效,临时用户失效时间单位为小时。
9.时间同步服务器设置:
和服务器的时间一致
算法逻辑
1.管理IP开关:
修改mysql数据库setting表的control_ip字段的ip和system_state字段的状态,0为关闭1则开启。
2.系统IP地址设置:
运用/settings/system_ip_setting接口读取linux下/etc/sysconfig/network-scripts的ifcfg-eth0和ifcfg-eth1,也可以对其进行修改
3.基本设置:
修改mysql数据库中setting的部分信息
4.多引擎配置:
分为网藤高级病毒库,网藤基础病毒库,网藤白名单,在setting表中的killing_level字段中,默认值为7,转换二进制为111代表三个全选,为2时转换成二进制就为010代表只选中间
5.SYSLOG设置:
python只是设置吧syslog服务器ip和端口好存入setting表中,具体功能实现的配合c语言
6.恢复出厂设置:
运用的/settings/restore_settings接口,清空/ssd/所有用户,清空/tmp下隔离的所有隔离文件,清空mysql数据库中allow_disk和whitelist表,删除user内除admin以外的所有用户,修改linux下2个网卡的ip,从原设置文件中读取数据更新settings表内的所有数据。
7.网络限流:
调用/settings/bandwidth_limit_setting接口在Linux运行C语言方才能限速
8.用户设置:
调用/settings/user_timeout_settin接口更改数据库/settings中字段setting_value的值设置时间。
相关对象及接口
本程序只有登录正确后才可调用:
通过窗口可链接其他模块,如:
u盘管理模块,资源库模块,日志管理模块,白名单模块,用户模块,隔离区模块,登录模块。
备注
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 详细 设计 说明书