隐私保护内容分类的制作方法

文档序号:24305682发布日期:2021-03-17 00:58阅读:119来源:国知局
隐私保护内容分类的制作方法
本发明涉及隐私保护内容分类,诸如例如恶意软件的检测。
背景技术
:随着软件、网络、无线通信和增强式感测能力的发展,在近几十年中,移动设备(诸如智能电话、可穿戴设备和便携式平板计算机)已被广泛使用。移动设备已经成为开放的软件平台,其可以运行不仅由移动设备制造商而且还由许多第三方开发的各种移动应用(称为app)。移动应用(诸如社交网络应用、移动支付平台、多媒体游戏和系统工具包)可以在移动设备中被单独地或并行地安装和执行。然而在同一时间,恶意软件发展迅速。恶意软件通常是以用户设备(例如移动用户设备)为目标的恶意程序。移动恶意软件具有与计算机恶意软件类似的目的,并且旨在向移动设备发起攻击以引发各种威胁(诸如系统资源占用、用户行为监视和用户隐私入侵)。技术实现要素:根据一些方面,提供了独立权利要求的主题。一些实施例在从属权利要求中被定义。根据本发明的第一方面,提供了一种装置,包括:至少一个处理核心,包括计算机程序代码的至少一个存储器,至少一个存储器和计算机程序代码被配置为利用至少一个处理核心一起使装置至少执行以下项:存储恶意软件模式集和非恶意软件模式集;从设备接收两个单向函数输出值集合;检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,以及两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中;并且根据检查,确定接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致。第一方面的各种实施例可以包括来自以下无序列表的至少一个条款。上一段在这些条款中被称为条款1。·条款2.根据条款1的装置,其中装置被配置为将恶意软件模式集存储在第一布隆过滤器中,并且将非恶意软件模式集存储在第二布隆过滤器中,并且其中装置被配置为通过运行第一布隆过滤器来检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,以及其中装置被配置为通过运行第二布隆过滤器来检查两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中。·条款3.根据条款1或2的装置,其中恶意软件模式集是包括与恶意软件相关联的单向函数输出值的向量集合,并且其中非恶意软件模式集是包括与非恶意软件相关联的单向函数输出值的向量集合。·条款4.根据条款1至3中的任一项的装置,其中两个单向函数输出值集合是两个哈希值集合。·条款5.根据条款2至4中的任一项的装置,其中利用第一布隆过滤器运行两个单向函数输出值集合中的第一个集合包括将恶意软件权重向量应用于第一布隆过滤器,以及其中利用第二布隆过滤器运行两个单向函数输出值集合中的第二个集合包括将非恶意软件权重向量应用于第二布隆过滤器。·条款6.根据条款1至5中的任一项的装置,其中装置被配置为向设备通知确定:接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致。·条款7.根据条款6的装置,其中装置被配置为建议设备如何处理与两个单向函数输出值集合相关联的应用。·条款8.根据条款2至7中的任一项的装置,其中装置被配置为基于在装置中从中央可信实体接收到的信息,定义第一布隆过滤器和第二布隆过滤器。根据本发明的第二方面,提供了一种装置,包括至少一个处理核心,包括计算机程序代码的至少一个存储器,至少一个存储器和计算机程序代码被配置为利用至少一个处理核心使装置至少执行以下项:存储第一单向函数集合和第二单向函数集合,第一单向函数集合包括恶意软件函数集,第二单向函数集合包括非恶意软件函数集;编译数据,该数据表征在装置中运行的应用的功能;将第一单向函数集合应用于数据以便获得第一单向函数输出值集合,并且将第二单向函数集合应用于数据以便获得第二单向函数输出值集合;并且将第一单向函数输出值集合和第二单向函数输出值集合提供给另一方。第二方面的各种实施例可以包括来自以下无序列表的至少一个条款。上一段在这些条款中被称为条款9。·条款10.根据条款9的装置,其中单向函数是模块化函数和哈希函数中的至少一项。·条款11.根据条款9或10的装置,其中数据包括应用的至少一个运行时模式。·条款12.根据条款11的装置,其中应用的至少一种运行时模式包括由应用进行的至少一种系统调用模式。·条款13.根据条款12的装置,其中至少一种系统调用模式包括以下至少一项:与文件访问有关的具有不同调用深度的顺序系统调用模式;与网络访问有关的具有不同调用深度的顺序系统调用模式;与额外于网络访问和文件访问的其他操作有关的具有不同调用深度的顺序系统调用模式。·条款14.根据条款9至13中的任一项的装置,还被配置为,基于从服务器接收到的响应于单向函数输出值集合的指示,删除或隔离应用。·条款15.根据条款9至14中任一项的装置,其中装置是移动设备。根据本发明的第三方面,提供了一种方法,包括:存储恶意软件模式集和非恶意软件模式集;从设备接收两个单向函数输出值集合;检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,以及两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中;并且基于检查,确定接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致。第三方面的各种实施例可以包括来自前面列出的有关第一方面的无序列表的至少一个条款。根据本发明的第四方面,提供了一种方法,包括:存储第一单向函数集合和第二单向函数集合,第一单向函数集合包括恶意软件函数集,第二单向函数集合包括非恶意软件函数集;编译数据,该数据表征在装置中运行的应用的功能;将第一单向函数集合应用于数据以便获得第一单向函数输出值集合,以及将第二单向函数集合应用于数据以便获得第二单向函数输出值集合;以及将第一单向函数输出值集合和第二单向函数输出值集合提供给另一方。第四方面的各种实施例可以包括来自前面列出的有关第二方面的无序列表的至少一个条款。根据本发明的第五方面,提供了一种装置,包括:用于存储恶意软件模式集和非恶意软件模式集的部件;用于从设备接收两个单向函数输出值集合的部件;用于检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,并且两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中的部件;以及用于基于检查,确定接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致的部件。根据本发明的第六方面,提供了一种装置,包括:用于存储第一单向函数集合和第二单向函数集合的部件,第一单向函数集合包括恶意软件函数集,并且第二单向函数集合包括非恶意软件函数集;用于编译数据的部件,该数据表征在装置中运行的应用的功能;用于将第一单向函数集合应用于数据以便获得第一单向函数输出值集合,以及将第二单向函数集合应用于数据以便获得第二单向函数输出值集合的部件;以及用于将第一单向函数输出值集合和第二单向函数输出值集合提供给另一方的部件。根据本发明的第七方面,提供了一种非瞬态计算机可读介质,具有存储在其上的计算机可读指令集合,当计算机可读指令由至少一个处理器执行时,使装置至少执行以下项:存储恶意软件模式集和非恶意软件模式集;从设备接收两个单向函数输出值集合;检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,以及两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中;以及基于检查,确定接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致。根据本发明的第八方面,提供了一种非瞬态计算机可读介质,具有存储在其上的计算机可读指令集合,当计算机可读指令由至少一个处理器执行时,使装置至少执行以下项:存储第一单向函数集合和第二单向函数集合,第一单向函数集合包括恶意软件函数集,第二单向函数集合包括非恶意软件函数集;编译数据,该数据表征在装置中运行的应用的功能;将第一单向函数集合应用于数据以便获得第一单向函数输出值集合,并且将第二单向函数集合应用于数据以便获得第二单向函数输出值集合;以及将第一单向函数输出值集合和第二单向函数输出值集合提供给另一方。附图说明图1图示了根据本发明的至少一些实施例的示例系统;图2图示了根据本发明的至少一些实施例的示例系统;图3图示了能够支持本发明的至少一些实施例的示例装置;图4图示了根据本发明的至少一些实施例的信令;图5是根据本发明的至少一些实施例的方法的流程图;并且图6是根据本发明的至少一些实施例的方法的流程图。具体实施方式定义:·在本公开中,表述“哈希函数”被用于表示单向函数。然而,尽管哈希函数经常被使用,但是它们不是本发明的实施例可使用的唯一的单向函数。相反,应理解的是,即使表达“哈希函数”在本公开中被使用,例如椭圆曲线、拉宾函数和离散指数可以与哈希函数一起或替代哈希函数而被使用。与本发明的至少一些实施例可使用的哈希函数的示例类别是加密哈希函数。·恶意软件是以未经授权的方式行动的软件,例如,它通过窃取用户信息或在用户不知情的情况下在用户设备上运行软件因而违背用户利益。例如,应用可以由授权方分类为恶意软件。·非恶意软件是不是恶意软件的软件。·在布隆过滤器中,哈希函数可以是模块化函数。通过使用多个哈希函数以便获得应用的行为模式的哈希值,用户的隐私可以在基于服务器的恶意软件检测中被保护。哈希值可以被提供给服务器,服务器可以检查哈希值是否匹配与恶意软件行为相关联的存在的哈希值模式。由于仅哈希值被提供给服务器,服务器不知道用户做过什么。服务器可以从中央可信实体得到与恶意软件行为相关联的哈希值模式,中央可信实体可以包括例如反病毒软件公司、操作系统零售商或政府机关。图1图示根据本发明的至少一些实施例的示例系统。移动设备110和115可以包括,例如,智能电话、平板计算机、膝上式计算机、台式计算机、腕部设备、智能珠宝或其他适合的电子设备。移动设备110和115不需要是同一种类型,并且移动设备的数目不限于两个,相反,为了清楚起见附图1中图示两个移动设备。移动设备经由无线链路111与基站120无线通信。无线链路111可以包括用于从移动设备向基站方向传送数据的上行链路,以及用于从基站向移动设备传送信息的下行链路。在无线链路上的通信可以使用适合的无线通信技术(诸如蜂窝或非蜂窝技术)来进行。蜂窝技术的示例包括长期演进(longtermevolution,lte)和全球移动通信系统(globalsystemformobilecommunication,gsm)。非蜂窝技术的示例包括,例如,无线局域网(wirelesslocalareanetwork,wlan)和全球互通微波存取(worldwideinteroperabilityformicrowaveaccess,wimax)。在非蜂窝技术的情况下,基站120可以被称为接入点,然而,为了简单和一致,在本文中使用表述“基站”。基站120与网络节点130通信,网络节点130可以包括,例如,基站控制器或核心网络节点。网络节点130可以直接或间接地接口到网络140,并且经由网络140接口到服务器150。例如,服务器150可以包括在服务器农场中的云服务器或计算服务器。服务器150继而与中央可信实体160接口。服务器150可以被配置为执行与在移动设备110和115中运行的应用有关的卸载恶意软件检测。中央可信实体160可以包括授权方(authorizedparty,ap),该授权方可以向服务器150提供与恶意软件相关联的指示。尽管本文在移动环境下进行了讨论,但是本公开还扩展到设备110和115经由有线通信链路与服务器150接口的实施例。在这种情况下,设备通常可以被视为用户设备。诸如移动设备110和120的设备可以被恶意软件感染。例如,攻击者可以经由空中接口入侵移动设备。移动设备恶意软件可以使用移动设备来发送高级短信(smsmessage),从而给用户带来费用和/或在不通知用户的情况下订阅付费的移动服务。近年来,增强了感测和联网能力的移动设备面临着新的威胁,新的威胁可以寻求超级特权来操纵用户信息,例如,通过获得对加速度计和陀螺仪的访问,和/或将用户隐私信息泄露给远程方。如今,恶意软件可以依靠伪装技术来产生自身的变形和异形版本,从而躲避反恶意软件程序的检测。恶意软件还使用其他躲避技术来规避常规检测。通过利用移动用户的好奇心和信任度,某些恶意软件可以使用基于社交工程攻击的社交网络进行自我广播。随着智能可穿戴设备和其他设备的出现,以移动设备为目标的安全威胁将会越来越多。通常,恶意软件可以使用静态和动态方法被检测。静态方法旨在于不执行应用的情况下查找恶意特征或可疑代码段,而动态方法则侧重于在应用的运行时期间收集应用的行为信息和行为特征。静态方法不能被用于检测尚未预先被标识给设备的新恶意软件。另一方面,动态方法可能会消耗大量系统资源。将动态恶意软件检测卸载到另一个计算基质(诸如服务器,诸如云计算服务器)节省了在设备本身中的计算资源,而它向执行计算的计算基质公开了有关在设备中运行的应用的信息,这形成了隐私威胁。以混合和通用的方式检测恶意软件的一种方法,特别是针对在安卓设备中的移动设备恶意软件,包括收集已知的恶意软件和非恶意软件应用的执行数据集合。因此,可能的是,针对已知的恶意软件和非恶意软件应用生成例如具有与文件和网络访问有关的不同调用深度的单独系统调用和/或顺序系统调用的模式。通过相互比较恶意软件和非恶意软件应用的单独和/或顺序系统调用的模式,可以被用于恶意软件和非恶意软件检测的恶意模式集与正常模式可以被构建。动态方法可以被使用以应用于分类已知应用,以便收集其在单独调用和/或顺序系统调用(诸如,例如具有不同深度的顺序系统调用)方面的运行时系统调用数据。系统调用的频率也可以被包括在这些数据中,这些数据表征应用的功能。例如,调用可以包括文件和/或网络访问。未知应用的目标模式(例如系统调用模式)可以从其运行时系统调用数据中被提取。通过将他们与恶意模式集以及正常模式集二者都进行比较,可以基于未知应用动态行为模式将未知应用分类为恶意软件或非恶意软件。本发明的至少一些实施例依靠这种逻辑来分类应用。恶意模式集与正常模式集可以基于新确认的恶意软件和非恶意软件应用的模式被进一步优化和扩展。由于收集的针对恶意软件检测的数据包含有关移动设备使用率行为和用户活动的敏感信息,因此与第三方分享可以入侵用户隐私。为了使能未知应用与恶意模式集以及正常模式集的比较行为,哈希函数可以被采用。具体的,表征应用功能的数据可以被收集,例如使用标准化方式采集例如上述系统调用数据。一旦数据被收集,两个哈希函数集合可以被应用到该数据。例如,一个哈希函数集合可以包括同一哈希函数族但是具有不同参数的哈希函数,使得该集合中的不同哈希函数对于相同输入产生不同的哈希输出值。表征应用的功能的数据因此在应用运行时表征应用的行为,而不是表征被存储的应用的静态软件代码。第一哈希函数集合可以与恶意软件相关联,和/或第二哈希函数集合可以与非恶意软件相关联。所以,利用数据运行第一哈希函数集合产生第一哈希输出值集合,和/或在数据上运行第二哈希函数集合产生第二哈希输出值集合。第一哈希输出值集合可以与恶意软件相关联,并且第二哈希输出值集合可以与非恶意软件相关联。这分别是恶意软件模式和非恶意软件模式。与恶意软件相关联的哈希函数可以仅由于与恶意软件一起使用而与恶意软件相关联,换句话说,哈希函数本身不具有恶意软件的方面。服务器可以存储与恶意软件和/或非恶意软件相关联的哈希输出值集合。与恶意软件相关联的哈希输出值(被称为恶意模式集),可以通过将数据进行杂凑而从观测已知恶意软件的行为而获得,数据利用与恶意软件相关联的哈希函数集合来表征已知恶意软件的功能。与非恶意软件相关联的哈希输出值(即,非恶意软件模式集)可以类似的使用已知非恶意软件而获得。因此,当设备将其从数据获得的哈希输出值集合发送到这样的服务器时,该服务器可以将从设备接收到的哈希输出值与其具有的哈希输出值相比较,以便确定在设备中非应用的行为是否与已知恶意软件和/或非恶意软件匹配。换句话说,服务器可以确定从设备接收到的哈希输出值是恶意软件模式还是非恶意软件模式。因此使用哈希函数而行动,可以获得技术效果和益处,其中基于行为的恶意软件检测可以被部分地执行卸载到服务器(诸如云服务器)中,以便使服务器不知道用户用其设备做了什么。换句话说,该解决方案提供了尊重用户隐私的基于行为的恶意软件检测。授权方(authorizedparty,ap)可以收集表征已知恶意软件和非恶意软件的功能的数据集合,以便生成用于恶意软件检测的恶意软件模式集和非恶意软件模式集。当布隆过滤器被使用时,由于实现布隆过滤器的最近的进展,布隆过滤器的使用节省了服务器中的存储器。一种以隐私保护的方式检测恶意软件的方法使用布隆过滤器,布隆过滤器可以可选地使用计数。对于每个恶意软件模式,ap可以针对与恶意软件相关联的哈希函数集合hm使用恶意软件布隆过滤器(malwarebloomfilter,mbf),以便计算其哈希输出值并且将哈希输出值发送给第三方(诸如服务器)。服务器可以利用计数将这些哈希输出值插入到布隆过滤器mbf的正确位置中,并且对应地、可选地,将模式的权重存储到名为malweight的表格中。因此,恶意软件布隆过滤器mbf可以利用恶意软件哈希输出值被构建,其权重可以进一步被记录在malweight中。类似的,针对非恶意软件应用模式,ap可以使用针对非恶意软件应用的另一个布隆过滤器(bloomfilterfornon-malwareapps,nbf)利用哈希函数hn计算哈希输出值,并且将它们发送到服务器。服务器可以将这些哈希输出值插入到布隆过滤器nbf的正确位置中,并且对应地,将模式的权重存储到名为norweight的表格中。通过这种方式,服务器可以将所有非恶意软件哈希值输出模式插入到nbf中来完成nbf的构建,并且可选地,将它们的权重记录在norweight中。当在用户设备中检测到未知应用时,表征其运行时行为的数据可以被收集,诸如包括具有不同深度的单独调用和/或顺序系统调用的系统调用数据。然后,用户设备可以将哈希函数集hm和hn用在收集到的运行时数据上,以便计算对应的哈希输出值,并且将它们发送到服务器,用于检查哈希输出值模式是否与mbf和nbf内部的模式匹配。基于哈希输出值匹配,相对应的权重可以分别在非恶意软件模式和恶意软件模式方面中被相加到一起。根据权重的总和以及预定义的阈值,服务器可以被判断测试的应用是恶意软件还是非恶意软件应用。当新的恶意软件和/或非恶意软件应用被ap收集时,ap可以利用它们来重新生成恶意软件模式集和非恶意软件模式集。例如,如果有新的模式要被添加到mbf和/或nbf中,ap可以将其哈希输出值集发送到服务器,服务器可以通过增加在布隆过滤器中的对应计数将哈希输出值集插入到mbf和/或nbf中,并且同时更新malweight和/或norweight。如果某些模式的权重需要被更新,则ap可以将其哈希输出值发送到服务器,服务器可以检查其在mbf和/或nbf中的位置,并且相应地更新malweight和/或norweight。如果一些模式需要从mbf或nbf中被移除,则ap可以将其哈希输出值发送到服务器,服务器通过减少在布隆过滤器中的对应的计数而将这些模式从mbf和/或nbf中移除,并且同时更新malweight和/或norweight。如果由于模式数目的增加,针对恶意软件检测的目的任何一个布隆过滤器的长度都不够,那么新的布隆过滤器可以利用新的过滤器参数和哈希函数集被重新构建。图2图示根据本发明的至少一些实施例的示例系统。授权方ap在该图的顶部,并且在其中图示了一些功能。在阶段210和220中,恶意软件和非恶意软件样本分别被收集,即,是已知恶意软件和不是已知恶意软件的应用被收集。例如,这些应用样本可以由运营商或执法机构提供。如上所述,表征恶意软件和非恶意软件样本的功能的数据分别在阶段230和240中被收集。例如,已知恶意软件可以在仿真器或虚拟机中被运行,以防止其传播。在阶段250中,通过将恶意软件哈希函数集和非恶意软件哈希函数集应用于在阶段230和240中收集的数据,恶意软件和非恶意软件哈希值模式被生成。在服务器srv中,在阶段260中,恶意软件哈希值模式被接收到布隆过滤器mbf中,而在阶段270中,非恶意软件哈希值模式被接收到布隆过滤器nbf中。在阶段280中,mbf权重被生成/调整,而在阶段290中,nbf权重被生成/调整。在阶段2100中,来自用户设备的哈希值模式被与在服务器中接收到的来自ap的哈希值模式进行比较(由对应的权重赋予权重),以便确定从用户设备接收到的哈希值模式是与从ap接收到的恶意软件还是与非恶意软件模式更相似。当在检测可靠度方面超过阈值时,决定阶段2110被启动。阈值可以与布隆过滤器的操作以及与权重有关。在设备中,阶段2140包括执行应用(可选地在虚拟机的情况下)并且收集表征应用的功能的数据。在阶段2120和2130中,恶意软件哈希函数集和非恶意软件哈希函数集分别被用来获得恶意软件哈希值模式和非恶意软件哈希值模式。这些被提供给服务器srv,用于在阶段2100中的比较。单独的反馈从用户设备被提供,例如,用户设备可以包括移动设备(诸如图1中的移动设备110)。例如,反馈可以被用来将应用样本提供给ap。哈希函数集hm和hn可以事先相符,并且在参与的实体(诸如ap、服务器和用户设备)中共享。现在将描述安全模型。由私人收益驱使并且考虑到个人声誉,所涉及的每种类型的参与方都不与其他方串通。假设通过应用合适的安全协议,在各方之间的通信是安全的。ap和服务器不能完全被信任。他们可以根据设计的协议和算法操作,但是它们可以对设备用户隐私或其他方的数据好奇。移动设备用户担心个人使用信息或其他私人信息对ap和/或服务器公开。在公开的方法中,设备在本地预处理收集的应用执行数据,并且设备提取应用行为模式。通过利用由布隆过滤器使用的哈希函数杂凑提取的数据模式,设备在向服务器发送提取的数据模式以便用于恶意软件检测时隐藏所提取的数据模式的真正普通信息。当ap通过收集已知恶意软件和正常应用生成两个模式集时,设备可以仅将应用安装包发送给ap,因此没有任何设备用户信息需要被公开给ap。因为服务器只能得到哈希输出值,所以在恶意软件检测和模式生成期间,服务器不能获取任何设备用户信息,它也不能得知普通行为数据或应用名称。在所提出的方法中,有大量的数据搜寻和匹配需要被完成。布隆过滤器(bloomfilter,bf)是空间有效的概率数据结构,由伯顿·霍华德·布鲁姆(burtonhowardbloom)在1970年提出。它被用于测试一个元素是否是一个集合的成员。假阳性匹配是可能的,但是假阴性是不可能的。换句话说,查询返回“可能在集合内”或“肯定不在集合内”。元素可以被添加到集合中,元素的移除也是可能的,其可以通过“计数”滤波器被解决。被添加到集合中的元素越多,假阳性的可能性就越大。假设集合k有n个元素k={k1,k2,…kn},则k被映射到具有长度l的位阵列v中,以便通过h个哈希函数h={h1,h2,…,hh}来被存储,其中hi(i=1,…,h)彼此独立。为了生成布隆过滤器,我们需要决定h和l,并且该决定依赖于k的大小,即n。bf构建是将元素插入k的过程,其中包含以下步骤:步骤1:通过将在v中的所有位设置为0来初始化bf;步骤2:针对任意,ki(i=1….,n),得到h个哈希码h1(k)、h2(k)、…、hh(k),以便决定ki映射到v中的位置。我们将对应的位置标记为bf[h1(ki)]、bf[h2(ki)]、…、bf[hh(ki)]。步骤3:将在被映射位置bf[h1(ki)]、bf[h2(ki)]、…、bf[hh(ki)]处的v的值设置为1。因此,v表示集合k的布隆过滤器。为了查询元素x是否在k内,一个直接的方法是比较x和k中的每一个元素以便得到结果,查询的准确度是100%。另一种方法是使用布隆过滤器bf。首先,我们计算x的h个哈希码,决定x在v中的被映射位置,即bf[h1(x)]、bf[h2(x)]、…、bf[hh(x)]。然后,我们检查是否以上所有被映射位置的值为1。如果有一位为0,则意味着x肯定不在k内部。如果所有上述被映射位置的值均为1,则意味着x可能在k内部。尽管基于bf的搜索或查询可能会导致假阳性,但它可以带来有关存储空间和搜索时间的优势。这对于大数据处理非常有用且有益。为了减少假阳性,可以通过选择适当的系统参数来设计合适的bf。通过这种方式,我们可以将错误检测降低至最小,并且尽可能提高检测准确度。原始的布隆过滤器仅可以支持将新元素插入到过滤器向量中并且进行搜索。可计数的布隆过滤器支持可逆地搜索和从向量中删除元素。由于布隆过滤器在大数据环境中在节省存储空间和进行快速搜索方面的先进特性,其可以被广泛使用在许多领域中。然而,可以支持数字操作的布隆过滤器应当被深入研究,以便满足新应用的需求。表格1:符号算法1:可计数的bf生成·输入:k={k1,k2,…kn}(i=1,…,n),将被插入到bf中的具有权重wi的元素ki,bf的h、v及其长度l,·初始化:将v中的所有位置的值设置为0;针对ki(i=1,…,n)执行计算h1(ki)、h2(ki)、…、hh(ki)得到bf中的位置h1(ki)、h2(ki)、…、hh(ki),即,bf[h1(ki)]、bf[h2(ki)]、…,bf[hh(ki)],并且将对应位置的值加1在由bf位置bf[h1(ki)],bf[h2(ki)],…,bf[hh(ki)]索引的表格(malweight或norweight)中设置wi;结束输出:在插入k之后的bf当检测到未知的应用a,动态方法被使用以收集其运行时模式pa(pa={pa,1,pa,2,…,pa,na})(例如,系统调用数据包括具有不同深度的单独调用和顺序系统调用)。然后移动设备使用hm和hn来计算它们的哈希码hm(pa)={hm(pa,1),hm(pa,2),…,hm(pa,na)}和hn(pa)={hn(pa,1),hn(pa,2),…,hn(pa,na)},并且将它们发送给服务器,用于检查是否一些模式与在mbf和nbf内的模式匹配。服务器在mbf中搜寻hm(pa)。如果mbf中hm(pa,i),的所有位置的值都大于0,那么将malweight中存储的该模式的权重加和。服务器在hm(pa)中搜寻所有模式的哈希函数并且得到mwa。此外,服务器在nbf中搜寻hn(pa)。如果在nbf中所有位置的值hn(pa,i)都大于0,则将存储在norweight中的模式的权重加和。服务器搜寻在hn(pa)中所有模式的哈希函数并且得到nwa。关于可计数bf搜寻,参考算法2。然后,服务器将mw和nwa与tm和tn相比较,以便决定应用a是正常的还是恶意的。图4示出了应用检测的过程。算法2:可计数bf搜寻·输入:将要在bf(mbf或nbf)中被搜寻的元素k,bf的h、v及其长度l,搜寻结果f(k)和w(k)·计算h1(k)、h2(k)、…、hh(k);·得到h1(k)、h2(k)、…、hh(k)在bf中的位置,即,bf[h1(k)]、bf[h2(k)]、…、bf[hh(k)];·如果存在上述位置中一个位置的值为0,那么k不在bf内,设置f(k)=0;·否则,如果所有上述位置的值大于0,那么k在bf内,设置f(k)=1;·在对应的权重表格(malweight或norweight)中检查k的权重,将w(k)设置为记录在表格中的权重;·输出:f(k)和w(k)算法3:可计数bf更新·输入:将要在bf(mbf或nbf)中被更新的具有权重wk的元素k、v及其长度l·计算h1(k)、h2(k)、…、hh(k);·得到h1(k)、h2(k)、…、hh(k)在bf中的位置,即,bf[h1(k)]、bf[h2(k)]、…、bf[hh(k)];如果存在上述位置中的一个位置的值为0,那么k不在bf内通过将对应位置的值加1,将k插入到bf中;在由bf位置bf[h1(ki)],bf[h2(ki)],…,bf[hh(ki)]索引的表格(malweight或norweight)中设置wk;·否则,如果所有上述位置的值大于0,那么k在bf内,在对应的由bf位置bf[h1(ki)]、bf[h2(ki)]、…、bf[hh(ki)]索引的表格(malweight或norweight)中查找k的权重,在表格中将该权重值更新为wk。·输出:新更新的bf和权重表格算法4:可计数bf删除·输入:将要从bf(mbf或nbf)中删除的具有权重wk的元素k,v及其长度l·计算h1(k)、h2(k)、…、hh(k);·得到h1(k)、h2(k)、…、hh(k)在bf中的位置,即,bf[h1(k)]、bf[h2(k)]、…、bf[hh(k)];·如果存在上述位置中的一个位置的值为0,那么k不在bf内,算法结束;·否则,如果所有上述位置的值大于0,那么k在bf内,从bf[h1(k)]、bf[h2(k)]、…、bf[hh(k)]的值减1;在对应的权重表格(malweight或norweight)中找到k的权重,在表格中将该权重项目删除。·输出:新更新的bf和权重表格图3图示了能够支持本发明的至少一些实施例的示例装置。图示了设备300,其可以例如在适用的部分中包括,例如,移动通信设备(诸如图1的移动设备110)或服务器设备。在设备300中包括处理器310,处理器310可以包括例如单核或多核处理器,其中单核处理器包括一个处理核心,而多核处理器包括多于一个的处理核心。处理器310通常可以包括控制设备。处理器310可以包括多于一个的处理器。处理器310可以是控制设备。处理核心可以包括例如由安谋控股(armholdings)制造的cortex-a8处理核心或由超威半导体公司(advancedmicrodevicescorporation)生产的压路机(steamroller)处理核心。处理器310可以包括至少一个高通骁龙(qualcommsnapdragon)和/或因特尔凌动(intelatom)处理器。处理器310可以包括至少一个专用集成电路(application-specificintegratedcircuit,asic)。处理器310可以包括至少一个现场可编程门阵列(field-programmablegatearray,fpga)。处理器310可以是用于执行设备300中的方法步骤的部件。处理器310可以至少部分地由计算机指令配置为执行动作。处理器可以包括电路系统,或者被构成为电路系统或电路,电路系统或电路被配置为执行根据本文描述的实施例的方法的阶段。如本申请中所使用的,术语“电路系统”可以指以下的一个或多个或全部:(a)仅硬件的电路实现方式,诸如仅在模拟和/或数字电路中的实现方式,以及(b)硬件电路和软件的组合,诸如,如适用:(i)(一个或多个)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)具有软件(包括(一个或多个)数字信号处理器)的(一个或多个)硬件处理器的任何部分、软件和(一个或多个)存储器,它们协同工作以便使得装置(诸如电话或服务器)执行各种功能,以及(c),诸如微处理器或微处理器的一部分的(一个或多个)硬件电路和/或(一个或多个)处理器,其需要软件(例如,固件)以便操作,但是当操作不需要软件时该软件可以不存在。电路系统的这种定义适用于本申请中的该术语的所有使用,包括在任何权利要求中。作为进一步的示例,如本申请中所使用的,术语“电路系统”也覆盖仅硬件电路或处理器(或多个处理器)或部分的硬件电路或处理器及其(或它们的)随附软件和/或固件的实现方式。术语“电路系统”还覆盖,例如并且如果适用于特定权利要求元素,用于移动设备的基带集成电路或处理器集成电路,或在服务器、蜂窝网络设备或其他计算或网络设备中的类似的集成电路。设备300可以包括存储器320。存储器320可以包括随机存取存储器和/或永久存储器。存储器320可包括至少一个ram芯片。例如,存储器320可以包括例如固态、磁性、光学和/或全息存储器。存储器320可以至少部分地对处理器310可访问。存储器320可以至少部分地被包括在处理器310中。存储器320可以是用于存储信息的部件。存储器320可以包括计算机指令,处理器310被配置为执行该计算机指令。当被配置为使处理器310执行某些动作的计算机指令被存储在存储器320中,并且设备300整体上被配置为使用来自存储器320的计算机指令在处理器310的指导下运行时,处理器310和/或其至少一个处理核心可以被认为被配置为执行某些动作。存储器320可以至少部分的被包括在处理器310中。存储器320可以至少部分地在设备300外部但是对设备300可以访问。设备300可以包括发射机330。设备300可以包括接收机340。发射机330和接收机340可以被配置为根据至少一种蜂窝或非蜂窝标准分别发射和接收信息。发射机330可包括多于一个的发射机。接收机340可以包括多于一个的接收机。发射机330和/或接收机340可以被配置为根据以下项操作:全球移动通信系统gsm、宽带码分多址wcdma、5g、长期演进lte、is-95、无线局域网wlan、以太网和/或全球互通微波存取wimax标准。设备300可以包括近场通信(near-fieldcommunication,nfc)收发机350。nfc收发机350可以支持至少一种nfc技术,例如nfc、蓝牙、超低功耗蓝牙(wibree)或类似技术。设备300可以包括用户接口(userinterface,ui)360。ui360可以包括以下至少一项:显示器、键盘、触摸屏、被布置为通过使设备300振动来向用户发信号的振动器、扬声器和麦克风。用户可以能够经由ui360操作设备300,例如配置恶意软件检测功能。设备300可以包括或被布置为接受用户身份模块370。用户身份模块370可以包括例如订户身份模块(subscriberidentitymodule,sim),以及可安装在设备300中的卡。用户身份模块370可以包括标识设备300的用户的订阅的信息。用户身份模块370可以包括密码信息,该密码信息可以用于验证设备300的用户的身份和/或有助于所传达的信息的加密,以及针对经由设备300所导致的通信对设备300的用户的计费。处理器310可以配备有发射机,该发射机被布置为经由设备300内部的电引线从处理器310向在设备300中被包括的其他设备输出信息。这种发射机可以包括串行总线发射机,该发射机被布置为,例如,通过至少一根电引线将信息输出到存储器320用于将信息存储其中。作为串行总线的备选方案,发射机可以包括并行总线发射机。类似地,处理器310可以包括接收机,该接收机被布置为经由设备300内部的电引线从包括在设备300中的其他设备在处理器310中接收信息。这样的接收机可以包括串行总线接收机,串行总线接收机被布置为,例如,经由至少一根电引线,从接收机340接收信息,用于处理器310中的处理。作为串行总线的备选方案,该接收机可以包括并行总线接收机。设备300可以包括图3中未图示的其他设备。例如,在设备300包括智能电话的情况下,其可以包括至少一个数字相机。一些设备300可以包括背面相机和正面相机,其中背面相机可以用于数字摄影,而正面相机用于视频电话。设备300可以包括指纹传感器,该指纹传感器被布置为至少部分地认证设备300的用户。在一些实施例中,设备300缺少至少一个上述设备。例如,某些设备300可能缺少nfc收发机350和/或用户身份模块370。处理器310、存储器320、发射机330、接收机340、nfc收发机350、ui360和/或用户身份模块370可以通过设备300内部的电引线以多种不同方式互连。例如,每个前述设备可以分别连接到设备300内部的主总线,以便允许设备交换信息。然而,如本领域技术人员将理解的,这仅是一个示例,并且,在不脱离本发明的范围的情况下,取决于实施例可以选择互连至少两个前述设备的各种方式。图4图示了根据本发明的至少一些实施例的信令。在纵轴上,左边设置了授权方ap,右边设置了服务器srv。这些实体对应于图1和图2中的实体。从顶部到底部时间增加。在阶段410中,ap需要在服务器中的恶意软件模式集中添加或修改特定的哈希输出值模式。模式更新请求被发送到服务器。在阶段420中,服务器通过将哈希值集hm共享给ap做出响应。更进一步,如果需要,服务器将重新初始化恶意软件布隆过滤器mbf并且设置malweight表格。在阶段430中,ap向服务器提供具有权重mwx的哈希输出值模式hm(x)。服务器将哈希输出值模式hm(x)插入到过滤器mbf中,并其更新malweight表格。如果hm(x)已经在mbf中,则服务器可以在malweight中更新其权重。这样的更新可以是权重增加mwx。阶段440-460图示了针对非恶意软件的类似过程。阶段440包括关于非恶意软件模式的模式更新请求。阶段450包括服务器向ap提供哈希函数集hn,并且阶段460包括ap向服务器提供具有权重nwy的哈希输出值集hn(y)。在阶段460,服务器将哈希输出值模式hn(y)插入到过滤器nbf中,并且更新norweight表格。如果hn(y)已经在nbf中,则服务器可以更新其在norweight中的权重。这样的更新可以是权重增加nwy。图5是根据本发明的至少一些实施例的方法的流程图。当被安装其中时,图示的方法的各个阶段可以例如在服务器中或者在被配置为控制其功能的控制设备中执行。阶段510包括存储恶意软件模式集与非恶意软件模式集。模式集可以分别包括恶意软件和非恶意软件应用的行为数据的单向函数输出值。阶段520包括从设备接收两个单向函数输出值集合。阶段530包括检查两个单向函数输出值集合中的第一个集合是否被包括在恶意软件模式集中,以及两个单向函数输出值集合中的第二个集合是否被包括在非恶意软件模式集中。最终,阶段540包括基于检查确定接收到的单向函数输出值集合是与恶意软件还是非恶意软件更加一致。图6是根据本发明的至少一些实施例的方法的流程图。当被安装其中时,所图示的方法的各个阶段可以例如在用户设备中或者在被配置为控制其功能的控制设备中执行。阶段610包括在装置中存储第一单向函数集合与第二单向函数集合,第一单向函数集合包括恶意软件函数集,第二单向函数集合包括非恶意软件函数集。阶段620包括编译数据,该数据表征在装置中运行的应用功能。阶段630包括将第一单向函数集合应用于数据以便获得第一单向函数输出值集合,以及将第二单向函数集合应用于数据以便获得第二单向函数输出值集合。最终,阶段640包括将第一单向函数输出值集合和第二单向函数输出值集合提供给服务器。应理解的是,所公开的本发明的实施例不限于本文所公开的特定的结构、过程步骤或材料,而是扩展至其等同物,如相关领域技术人员所认识到的。还应理解,本文采用的术语仅用于描述特定实施方案的目的,而并非旨在限制。在整个说明书中对一个实施例或一个实施例的引用意味着结合实施例描述的特定特性、结构或特征被包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”或“在实施例中”并不一定都指同一实施例。在使用诸如“大约”或“基本上”这样的术语来引用数值的情况下,确切的数值也被公开。如本文中使用的,为了方便,多个项目、结构要素、组成要素和/或材料可以为了方便被呈现在共同的列表中。然而,这些列表应当被解释为好像列表的每个成员都被单独的标识为单独的且唯一的成员。因此,在没有相反指示的情况下,仅基于它们在共同集合中的呈现,该列表的单独成员不应被解释为同一列表中任何其他成员的事实上的等同物。另外,本发明的各种实施例和示例可以与其各种组件的替换物在本文中一起被参考。应该理解的是,这样的实施例、示例和替换不应被解释为是彼此的实际上的等同物,而是应被认为是本发明的单独的和自主的表示。此外,在一个或多个实施例中,所描述的特性、结构或特征可以以任何合适的方式组合。在前面的描述中,提供了许多具体细节(诸如长度、宽度、形状等的示例)以便提供对本发明实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者在利用其他方法、部件、材料等的情况下实践本发明。在其他情况下,为了避免混淆本发明的方面,公知的结构、材料或操作,未被详细描述或示出。尽管前述示例在一个或多个特定应用中说明了本发明的原理,但是对于本领域的普通技术人员而言显而易见的是,在不发挥创造力以及在不背离本发明原理和概念的情况下,可以对形式、使用和细节进行多种修改。相应的,除了由下面提出的权利要求之外,无意限制本发明。动词“包含”和“包括”在本文中用作开放的限制,其既不排除也不要求还存在未叙述的特征。除非另有明确说明,否则从属权利要求中记载的特征可以相互自由组合。此外,应当理解,在整个文件中“一个”或“一种”的使用,即单数形式,并不排除复数。工业适用性本发明的至少一些实施例在恶意软件检测和隐私保护中发现了工业应用。附图标记列表110,115移动设备120基站130网络节点140网络150服务器160中央可信实体210–250图2(ap)中的阶段260–2110图2(srv)中的阶段2120–2140图2(device)中的阶段300–370图3中的设备的结构410–460图4中的信令的结构510–540图5中的方法的阶段610–640图6中的方法的阶段参考文献列表[1]zhengm,sunm,luij.droidtrace:aptracebasedandroiddynamicanalysissystemwithforwardexecutioncapability[c]//wirelesscommunicationsandmobilecomputingconference(iwcmc),2014international.ieee,2014:128-133.[2]liq,lix.androidmalwaredetectionbasedonstaticanalysisofcharacteristictree[c]//cyber-enableddistributedcomputingandknowledgediscovery(cyberc),2015internationalconferenceon.ieee,2015:84-91[3]moghaddamsh,abbaspourm.sensitivityanalysisofstaticfeaturesforandroidmalwaredetection[c]//electricalengineering(icee),201422ndiranianconferenceon.ieee,2014:920-924.[4]yerimasy,sezers,mcwilliamsg.analysisofbayesianclassification-basedapproachesforandroidmalwaredetection[j].ietinformationsecurity,2014,8(1):25-36.[5]t,batyukl,schmidtad,etal.anandroidapplicationsandboxsystemforsuspicioussoftwaredetection[c]//maliciousandunwantedsoftware(malware),20105thinternationalconferenceon.ieee,2010:55-62.[6]wudj,maoch,weite,etal.droidmat:androidmalwaredetectionthroughmanifestandapicallstracing[c]//informationsecurity(asiajcis),2012seventhasiajointconferenceon.ieee,2012:62-69.[7]lij,zhail,zhangx,etal.researchofandroidmalwaredetectionbasedonnetworktrafficmonitoring[c]//industrialelectronicsandapplications(iciea),2014ieee9thconferenceon.ieee,2014:1739-1744.[8]egelem,etal.(2012)asurveyonautomateddynamicmalwareanalysistechniquesandtools.acmcomputingsurveys.https://www.seclab.tuwien.ac.at/papers/malware_survey.pdf.[9]p.yan,z.yan*,“asurveyondynamicmobilemalwaredetection”,softwarequalityjournal,pp.1-29,may2017.doi:10.1007/s11219-017-9368-4[10]s.das,y.liu,w.zhang,m.chandramohan,semantics-basedonlinemalwaredetection:towardsefficientreal-timeprotectionagainstmalware,ieeetrans.informationforensicsandsecurity,11(2),pp.289-302,2016.[11]tong,z.yan*,“ahybridapproachofmobilemalwaredetectioninandroid”,journalofparallelanddistributedcomputing,vol.103,pp.22-31,may2017.[12]w.enck,“taintdroid:aninformation-flowtrackingsystemforreal-timeprivacymonitoringonsmartphones,”proc.9thusenixsymp.operatingsystemsdesignandimplementation(osdi10),usenix,2010;http://static.usenix.org/events/osdi10/tech/full_papers/enck.pdf.[13]t.blasingetal.,“anandroidapplicationsandboxsystemforsuspicioussoftwaredetection,”proc.5thint’lconf.maliciousandunwantedsoftware(malware10),acm,2010,pp.55-62.[14]zhengyan,feitong,ahybridapproachofmalwaredetection,patentapplicationno.pct/cn2016/077374,fileddate25-march-2016.[15]burtonh.bloom.spacetimetrade-offsinhashcodingwithallowableerrors.communicationsoftheacm,1970,13(7):422-426.当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1