文档详情

实验8-嵌入式系统内核Rootkit设计.doc

发布:2018-01-24约1.23千字共5页下载文档
文本预览下载声明
实验报告 学院(系)名称:计算机科学与工程学院 姓名 学号 专业 信息安全 班级 4班 实验 项目 嵌入式系统内核Rootkit设计 课程名称 嵌入式安全系统综合设计0682053 实验时间 2018年1月9日 实验 地点 计算机软件实验室 考核标 准 实验准备(实验目的/工具熟悉情况)10分 实验过程(实验方案可行性及步骤完整性)40分 实验报告(实验内容丰富度与格式清晰度) 30分 实验结果(结论正确性以及分析合理性)20分 成绩 教师签字: 考核内容 评价实验目的是否明确,实验工具是否清晰了解以及熟悉情况 ○可行,不完整 ○不可行,不完整 ○丰富,清晰 ○较丰富, ○丰富,不清晰 ○不丰富, ○结论正确,分析合理 ○结论正确,分析不充分 ○结论不,分析不合理 1.实验目的 编写一个Rootkit模块 2.实验工具 bbb板子 3.实验 发现什么都没有发生,然后利用dmesg命令查看printk输出的消息,如下图所示,为了方便起见这里只显示了最后一条信息,也就是LKM中初始化函数所输出的信息。 输入lsmod命令查看加载的内核模块如下图: 其中lkm是模块名称,904则代表的是模块大小,0表示模块的被使用次数。 对LKM进行卸载,卸载LKM的命令是rmmod,键入rmmod后查看下系统日志,可以看出清除函数中的信息也成功输出 2.从lsmod命令中隐藏模块 将list_del_init(__this_module.list);加入到初始化函数中,保存,编译,装载模块, 再输入lsmod,这时你会发现,输出中模块已经找不到了,在lsmod命令中成功的隐藏了编写的模块! 从sysfs中隐藏我们的模块 管理人员还可以在sysfs中通过查看/sys/module/目录来发现现有的模块 初始化函数中添加一行代码kobject_del(THIS_MODULE-mkobj.kobj);来实现模块在sysfs中的隐藏: C编程控制GPIO 1、读写led.c输出函数实验:点亮和关闭指示灯 执行后,接在端口上的二极管指示灯一定点亮了。然后修改程序,输出低电平0,指示灯就关掉了。 因为程序打开端口较复杂,这里只是进行简单的输出测试。函数测试如下图所示: 2、LED灯每秒闪亮1次共5次实验 三、设计一个能够三秒开关一次的内核级ookit 每三秒闪一次,既是在上例中的输出0后休眠三秒再输出1,让灯亮 所以只要把sleep(1)改为sleep(3)即可。 5.实验结论与分析 通过本次实验,发现这个嵌入式的系统,或者说得更加具体一点的话,Linux系统。能够直接接触到内核层面的东西,所以也能够实现一些比较高级的功能。这一点,比windows更加的有趣。同时,由此联想到了一些工控安全,有一些漏洞就与这rootkit有关。 第5页 共5页
显示全部
相似文档