首页 > 其他分享 >2023-2024-1 信安课程设计 主机安全检测工具设计方案

2023-2024-1 信安课程设计 主机安全检测工具设计方案

时间:2023-11-15 18:00:10浏览次数:42  
标签:课程设计 信安 检测 py 漏洞 模块 主机 ---------- 检测工具

主机安全检测工具设计方案

  • 开发平台和工具
  • 程序架构设计
  • 开发路线
  • 目前存在的困难

开发平台和工具

  • 使用Linux平台。
  • 选择Python作为主要编程语言。
  • 使用第三方库如socketplatform等来简化开发。

程序架构设计

模块划分

1.用户界面模块:

  • 处理用户输入,向其他模块传递参数。(初步实现计划)
  • 使用tkinter库实现图形用户界面(GUI)。(后期改进预期)

2.系统信息模块:

  • 使用platform模块获取主机的操作系统信息,如操作系统版本、IP地址、操作时间等。
  • 调用系统命令获取更详细的系统信息(后期改进计划)。

3.端口扫描模块:

  • 使用socket模块进行端口扫描。
  • 实现多线程或异步操作以提高效率。(具体实现正进一步研究)

4.漏洞检测模块:

  • 利用漏洞库或API检测主机上的常见漏洞。
  • 自行编写检测逻辑,整合CVE等漏洞数据库。(具体实现正进一步研究)

5.日志记录模块:

  • 使用logging模块实现日志记录功能。
  • 记录每次检测的结果和操作。

组件交互

1.用户界面与其他模块的交互:

  • 用户界面接收用户输入,将输入参数传递给系统信息模块、端口扫描模块和漏洞检测模块。
  • 显示检测结果,并将结果传递给日志记录模块。

2.系统信息模块与其他模块的交互:

  • 将获取到的系统信息传递给用户界面模块显示。

3.端口扫描模块与其他模块的交互:

  • 接收用户输入的主机信息,执行端口扫描,将结果传递给用户界面模块和日志记录模块。

4.漏洞检测模块与其他模块的交互:

  • 接收用户输入的主机信息,执行漏洞检测,将结果传递给用户界面模块和日志记录模块。

数据流程

  • 用户界面模块负责接收用户输入和展示检测结果。
  • 系统信息模块、端口扫描模块和漏洞检测模块分别负责处理特定的任务,并将结果返回给用户界面模块。
  • 日志记录模块负责记录每次检测的结果和操作。

架构优势

  • 模块化设计: 每个功能都被封装在一个模块中,提高了代码的可维护性。
  • 可扩展性: 新功能可通过添加新的模块来扩展系统。
  • 易测试: 模块化的设计使得单元测试和集成测试更容易进行。

开发路线

确定工具的基本架构

1.选择开发平台、参考程序和编程工具:

  • 编辑器/IDE: VSCode, PyCharm,Vim
  • 版本发布: GitHub
  • 参考工具:GScan、lynis等

2.制定项目目录结构:

(初步规划)
Host Security Tool
----main.py #主程序
----log #日志和结果记录
----lib #模块库文件
-------core #调用库文件
----------common.py #公共库模块
----------globalvar.py #全局参数管理模块
----------option.py #参数管理模块
----------ip ##ip地址定位库
-------malware #恶意特征库
-------plugins #检测插件模块库
----------port_scanner.py #端口检测模块库
----------Host_Info.py #主机信息获取
----------File_Analysis.py #文件类安全检测
----------History_Analysis.py #用户历史操作类
----------Proc_Analysis.py #进程类安全检测
----------Network_Analysis.py #网络类安全检测
----------Backdoor_Analysis.py #后门类检测
----------User_Analysis.py #账户类安全排查

实现基本功能

1主机操作系统的探测(Host_Info.py):

  • 使用Python的platform库或其他系统调用获取主机的操作系统信息。
  • 输出操作系统类型和版本信息。

2 主机端口开放情况的检测(port_scanner.py):

  • 使用Python的socket库实现端口扫描功能。
  • 提供用户输入或配置文件指定的目标主机,扫描常见端口。
  • 输出开放端口的信息。

3.主机常见漏洞扫描:

  • 基于linux系统,常见漏洞包括:文件类、进程类、网络类、安全配置类、用户历史操作类、后门类、账户类等大类。
  • 文件类安全分析:
    系统重要文件完整行扫描
    系统可执行文件安全扫描
    临时目录文件安全扫描
    用户目录文件扫描
    可疑隐藏文件扫描
  • 安全配置类分析:
    DNS配置检测
    Iptables防火墙配置检测
    hosts配置检测
  • 日志类安全分析
    secure登陆日志
    wtmp登陆日志
    utmp登陆日志
    lastlog登陆日志

项目初步计划实现以上三类漏洞检测分析,由于网络类、后门类等漏洞涉及范围广泛,在项目推进过程中还需进一步研究,积极争取在有余力的情况下涉及更多大类。

人机交互界面

Linux系统不同于Windows系统,程序执行大多采用终端操作,故我们小组前期主要研究方向在“功能实现+终端操作运行”,后期会尝试采用GUI,设计友好的交互界面。

实现高级功能(预期)

扩大主机常见漏洞情况的检查:

  • 扩大初期设定范围,使用已有的漏洞数据库或API,检测目标主机是否存在已知漏洞。输出漏洞信息和建议的修复措施。

2.漏洞分析解决能力实现:

  • 根据已排查出的漏洞请款,给出排查建议,并根据异常风险生成初步的处理方案,同时提供多样化的排查选择。

测试和优化

1.编写单元测试:

  • 使用pytest等工具编写测试用例,确保各个模块的功能正常。

2.进行测试:

  • 对工具进行系统测试,确保在各种情况下都能正常工作。

3.优化性能:

  • 考虑并发执行、优化算法、减小资源占用等方面对工具进行性能优化。

报告文档和发布

1.撰写文档和报告:

  • 编写清晰的项目文档,包括使用说明、代码注释和技术文档。
  • 撰写完善全面的项目总结报告。

2.发布版本:

  • 将工具打包为可执行文件或发布到代码托管平台GitHub。

目前存在的困难

1.知识体系与研究路线:

  • 初次接触此类工具的开发,在研究路线与架构设计方面需要进一步摸索
  • 相关知识储备仍有很大欠缺,对于基本和现行的系统漏洞检测和安全问题需要进一步扩充知识储备。

2.编程能力基础:

  • 编程能力是程序开发基础,但目前我们的编程能力有很大不足,需要加大训练强度,尽快熟练起来
  • C++与python都未进行系统性学习,需要在有限的时间内极大扩充程序语言知识储备。

标签:课程设计,信安,检测,py,漏洞,模块,主机,----------,检测工具
From: https://www.cnblogs.com/shen-jianxiang/p/17834433.html

相关文章

  • 三坐标测量机&激光干涉仪:平行度测量的方法及检测工具
    平行度是评估物体是否保持平行状态的重要指标,对于机械加工和装配过程中的许多环节都具有重要意义。所以平行度的测量方法及检测工具在工业制造领域中起着至关重要的作用。三坐标测量机作为一种高精度的测量设备,也可以用于平行度的测量。三坐标测量机测量平行度操作步骤:将被测工件......
  • 流式数据库引擎备受关注,亚信安慧AntDB数据库受邀参加“2023中国PostgreSQL数据库生态
    11月3日至5日,2023中国PostgreSQL数据库生态大会在北京中科院软件所大报告厅盛大召开,大会现场百余位专家学者、企业、用户代表及线上数千位观众,就近年来国产数据库技术与市场变革进行深入探讨。湖南亚信安慧科技有限公司(简称:亚信安慧)受邀参与主论坛发表了重要演讲,并荣膺“2023最佳......
  • 2011年春季-C语言课程设计-指导书
    C语言课程设计指导书注:请各班学习委员按学号顺序对本班同学进行分组(不允许同学自行组合),把后面所列的题目分割开交给各组保留,并组织同学按时上机。1.总体要求1)       按照名单上的顺序分配PC,按照学号的顺序每3人一组(如果剩余2人,则选择任务11;如果剩余1人,则分散到前面的组中......
  • 2011年春季-C语言课程设计-报告格式
    以下内容根据教务处最新要求制定,请严格遵守。附件:课程设计报告的内容及其文本格式1、课程设计报告要求用16k纸排版,单面打印,并装订成册,内容包括:除封面外,其他每页的页脚需要有页码。①封面(包括题目、院系、专业班级、学生学号、学生姓名、指导教师姓名、职称、起止时间等)②设计任务及......
  • 课程设计报告:三层电梯控制电路
    课程设计报告:三层电梯控制电路封面(在此省略)课程设计任务书课题名称:三层电梯控制电路设计要求:每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。电梯每秒升(降)一层楼。电梯到达有停......
  • TDBC回顾 | 亚信安慧张桦:AntDB数据库通信全域系统实践与创新思考 【附PPT+回放】
    2023年7月5日上午,由中国通信标准化协会和中国信息通信研究院主办,大数据技术标准推进委员会承办,联合主办的“2023可信数据库发展大会”电信行业数据库应用创新分论坛在北京国际会议中心隆重召开。会上,湖南亚信安慧科技有限公司副总裁张桦发表题为“AntDB数据库通信全域系统实践与创......
  • 三层电梯控制电路课程设计报告
    三层电梯控制电路课程设计报告设计要求本次课程设计要求我们设计一个三层电梯的控制和显示电路,具体设计要求如下:每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。电梯每秒升(降)一层楼......
  • 串口占用检测工具
    串口占用检测工具平时需要检测哪个程序占用了串口,下面介绍一款非常方便的工具,它的工具箱里包含一个串口占用检测工具,可以非常方便的检测出来哪个程序占用了串口,并给出程序名和PID。官网下载地址:http://www.redisant.cn/mse......
  • Https 安全协议版本支持检测工具
    需求:帮朋友做了一个小工具,主要目的是检查局域网(在线检查网站无法访问内网)的https站点配置的安全协议版本,方便给第三方提供接口文档,描述https站点所使用的安全协议。相信大家在开发过程中,可能会遇到“Therequestwasaborted:CouldnotcreateSSL/TLSsecurechannel”异常,......
  • Android Launcher apk 授信安装
    对安装的apk进行校验,除了系统应用市场中下载的,其它渠道的apk都进行安装拦截,并且弹框提示。首先需要把验证的证书保存在数据库本地,后面需要用到然后注册系统广播,用于接收apk安装时的监听,这个广播由系统发出新装时的action‘android.intent.action.PACKAGE_ADDED替换时的actionan......