[发明专利]一种基于Linux内核的嵌入式固件的外设移植方法有效
申请号: | 202110097929.0 | 申请日: | 2021-01-25 |
公开(公告)号: | CN112905233B | 公开(公告)日: | 2023-09-12 |
发明(设计)人: | 周亚金;姜木慧;马麟;刘强;吴磊;罗夏朴;任奎 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F8/76 | 分类号: | G06F8/76 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 贾玉霞 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 内核 嵌入式 外设 移植 方法 | ||
本发明公开一种基于Linux内核的嵌入式固件的外设移植方法,该方法接收嵌入式固件为输入,自动的将嵌入式固件解压,抽取出所需的内核。同时通过外设移植,将开发者指定的外设移植到所解压抽取出的Linux内核中,从而成功的模拟启动Linux内核,进行相对应的安全分析。该方法可以将指定的外设移植到待分析的嵌入式固件的Linux内核中,从而减少了动态分析Linux内核时所需的依赖。通过该发明,开发者可以模拟运行嵌入式固件中的Linux内核,从而构建基于Linux内核的嵌入式固件分析平台。
技术领域
本发明属于信息安全技术领域,具体涉及一种基于Linux内核的嵌入式固件的外设移植方法。
背景技术
近年来,嵌入式设备变的越来越流行。他们中的许多都跑在基于Linux的操作系统中。Linux的内核每年都有数百个漏洞被挖掘出来。因此,一旦基于Linux操作系统的嵌入式固件被攻破,攻击者会控制整个机器,造成巨大的损失。因此,嵌入式固件的内核安全问题值得研究。
研究嵌入式固件的内核,需要静态或者动态的分析方法。静态方法不够准确,动态的方法则需要对应的模拟器。而因为嵌入式设备中的外设繁多,目前最流行的模拟器(QEMU),也没有办法支持所有的外设。而想要进行动态分析,就必须要将嵌入式设备中的Linux内核成功地启动,这里就需要解决众多外设的依赖问题。
发明内容
针对现有技术的不足,本发明提供一种基于Linux内核的嵌入式固件的外设移植方法,该方法解决了模拟执行嵌入式设备过程中的外设依赖问题。具体技术方案如下:
一种基于Linux内核的嵌入式固件的外设移植方法,所述的外设移植包括硬件模型移植以及软件驱动移植;
所述的硬件模型移植为通过QEMU提供的固定接口进行特定的描述;
所述的软件驱动移植包括如下步骤:
(1)分析提供的基于Linux内核的嵌入式固件,从中提取Linux内核;
(2)通过模拟运行,解压缩预提取出来的Linux内核,得到解压缩后的Linux内核;
(3)静态分析解压缩后的Linux内核,识别出前向函数指针和后向函数指针;
(4)根据解压缩后的Linux内核提供的版本信息,生成适配于待移植的硬件模型的软件驱动;将所述的后向函数指针重写到适配于待移植的硬件模型的软件驱动中,得到待移植的软件驱动,并将待移植的软件驱动放置在Linux内核的不透明内存中;Linux内核利用前向函数指针间接调用存放于不透明内存中的驱动函数,待移植的软件驱动利用后向函数指针间接调用存放于内核中的特定函数;所述的不透明内存为Linux内核无法知晓的内存空间;
(5)进行移植操作,具体为:所述的Linux内核初始化软件驱动,初始化过程中,前向函数指针初始化存放于不透明内存中的待移植的软件驱动,待移植的软件驱动通过后向函数指针调用外设相关接口,与待移植的硬件模型进行交流,完成软件驱动移植;
当同时完成硬件模型移植和软件驱动移植,则成功模拟执行嵌入式固件,得到启动界面。
进一步地,所述步骤(5)的整个移植操作过程中,QEMU通过页表翻译模块将虚拟地址翻译为物理地址时,检测虚拟地址是否属于不透明内存,若为是,则使用用户修改的页表进行翻译;若为否,则使用内核原来的页表进行翻译;从而不影响Linux内核本身的内存分配机制。
进一步地,所述步骤(3)中,静态分析解压缩后的Linux内核,生成对应的指令集以及函数边界,通过三种不同的策略识别出前向函数指针和后向函数指针;所述的三种策略具体为:
策略一:当函数中含有特定的字符串或者警告信息,则唯一确定该函数;
策略二:通过函数与函数之间的关系,间接地确定函数指针;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110097929.0/2.html,转载请声明来源钻瓜专利网。