二进制文件注释管理与库函数标注系统

来源 :山东大学 | 被引量 : 0次 | 上传用户:jia_oracle
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络对抗的持续升级,各类恶意软件推陈出新,近年来平均每年发现各类恶意软件近3000个版本。但是各类恶意软件版本变化通常具有延续性,只是部分代码和结构调整,大部分二进制函数形式上有所变化但功能并没有明显变化。可以根据函数的特征及其调用关系进行对比发现新增和变更的函数代码。如果能够把以往的分析结果或其他人的分析结果直接沿用到当前正在分析的软件上,会极大提高分析人员的工作效率。此外,研究发现在恶意软件中存在大量的库函数,这些库函数功能复杂而且数量巨大,为逆向人员的工作造成了极大的麻烦。因此如果能够识别出恶意软件中大量的库函数,并标注出他们的名称将大大减少逆向人员的工作量。本文的项目目标主要着眼于两点,第一是已有分析成果的延续,逆向分析人员在对恶意软件进行人工分析的时候会对软件的关键函数进行标注,由于恶意软件版本的延续性,这些关键函数往往只是形式上进行变化,功能上不变,因此旧版本的函数注释在新版本中也有了意义。合理管理标注以及有效利用这些注释成了一件重要的工作,第二是对未知恶意二进制文件分析,为了简化分析过程,减少逆向分析人员的工作量,需要标注已知为库函数的部分,为库函数标注上有意义的名字,逆向工作人员可以直接忽略这部分函数,从而大大提高了工作效率。本系统为一个web应用,开发语言采用的是python,使用Django框架,选择MongoDB数据库,其中python选用2.7.10版本,Django版本为1.8.13,为了能提高MongoDB使用效率,我们使用pymongo与数据库进行交互。系统分为前端与后端,前端为网页界面用于和用户进行交互,后端是功能性服务器能够处理前端的请求并作出响应,系统实现了用户管理,用户权限管理,通过充分利用python的灵活性使该系统成功实现了注释管理功能,可以将idb文件、udd文件中的注释提取到数据库,也可以在系统中展示提取到的注释信息,并且为用户提供了迁移已有注释到新版软件中并且下载注释的功能。本系统还完成了库函数识别、标注的功能,可以将软件中库函数识别出来,并且以函数注释的形式将库函数标注到软件中,标注文件可以在系统页面展示,也可以供用户下载,系统有效地帮助逆向分析人员减少了工作量,提高了工作效率。本系统成功地完成了开发任务,达到了预期目标。
其他文献
伴随互联网的不断发展,各行各业与互联网的联系日益紧密,对于汽车行业来说,加强互联网营销也是当前学术研究的重要课题,更是汽车企业十分关注的焦点话题。这是因为传统的营销
近年来,随着“数字航道”建设的推进,我国主要内河包括长江、西江及黑龙江等航道管理部门已经掌握和积累了大量的电子航道图、航标和水位等多方面的航道感知数据成果,并且通过网站、APP和微信等形式向社会公众提供航道信息服务。然而目前服务的大多数航道信息只是经过简单分析和处理的实时动态或历史数据,对数字航道感知到的海量数据的挖掘还不够深入,难以提供能更好反映航道要素关联关系及演变趋势的智能服务。本文针对这一
【相濡以沫】世界上最动人的情话,不是“我爱你”,而是在我需要的时候,你说“I’ll be there”。    【幸福的定义】爸妈疼你;被人背过;得过第一名;笑到肚子痛;有人为你哭过;买到喜欢的衣服;半夜有人短信给你;和密友煲电话粥;生病有过人照顾你;生日凌晨有人发短信祝福;在车站有过人接;和心爱的一起走路到腿疼;有好事就有人第一想到你。    【室友】1.从大学第一晚开始,每天陪你睡;2.不想起
目的:构建seipin基因全身性敲除小鼠,观察seipin基因缺失对小鼠生存状态及血糖水平的影响,明确seipin基因在小鼠脑内各部位的表达情况,为进一步研究中枢神经系统seipin基因缺
当初大家第一次接触电脑的时候大概都会对键盘上的“QWERT”式键位感到好奇,这种排列顺序是依据什么做的?