CN110100423A - 用于机器的应用许可列表的生成 - Google Patents

用于机器的应用许可列表的生成 Download PDF

Info

Publication number
CN110100423A
CN110100423A CN201780078317.9A CN201780078317A CN110100423A CN 110100423 A CN110100423 A CN 110100423A CN 201780078317 A CN201780078317 A CN 201780078317A CN 110100423 A CN110100423 A CN 110100423A
Authority
CN
China
Prior art keywords
machine
cluster
application
licence list
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780078317.9A
Other languages
English (en)
Other versions
CN110100423B (zh
Inventor
M·伊斯雷尔
R·亚里
B·克利格尔
Y·达甘
G·伊尔亚沙
M·沙拉拉
E·汉萨弗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110100423A publication Critical patent/CN110100423A/zh
Application granted granted Critical
Publication of CN110100423B publication Critical patent/CN110100423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

提供了一种用于为机器生成应用的许可列表的计算系统。系统针对每个机器标识由该机器执行的执行应用的集合。然后,系统基于执行应用的集合之间的相似性来对机器进行聚类,使得具有相似集合的机器位于同一集群中。然后,系统针对每个机器集群为集群创建应用的许可列表,应用的许可列表包括集群的机器的执行应用的集合中的应用。集群的许可列表指示只有许可列表中的应用被允许由集群中的机器执行。然后,系统将集群的许可列表分发给该集群的机器,使得机器仅执行其集群的许可列表中的应用。

Description

用于机器的应用许可列表的生成
背景技术
网络攻击使公司和个人损失数十亿美元。2015年的一份报告估计,网络攻击每年使公司损失超过4000亿美元。除了财务成本之外,网络攻击还可能导致其他损害,诸如破坏有价值的信息,发布敏感信息等。如果没有有效的防御,成本和损害肯定会随时间增加。网络攻击通常依赖于被称为“恶意软件”的恶意的软件,该软件由作为攻击的目标的计算机安装和执行。执行的恶意软件协调攻击。例如,勒索软件攻击可以加密计算机上的所有数据,包括财务文档、家庭照片、电子邮件消息等的唯一副本。如果没有支付赎金,则这些数据可能会永远保持加密状态。即使支付了赎金,攻击者也可能不提供解密数据的密钥。由于网络攻击的高成本,公司和个人在开发和购买安全系统作为网络攻击的防御方面花费大量资源。这些安全系统包括防火墙系统、防病毒系统、验证系统、入侵防御系统、访问控制系统、应用阻止系统等。
恶意软件可以通过各种方式安装在计算机上。例如,勒索软件可能作为包含乱码内容和恶意宏的电子邮件附件到达。当用户打开附件时,附件请求用户在内容呈现为乱码时启用宏。当用户启用宏时,恶意宏将安装并且执行勒索软件。作为另一示例,公司的雇员可能在他们的计算机上安装未授权应用。通常,公司的信息技术组仅分析和授权符合公司的严格安全标准的那些应用。如果安装了未授权应用,它可能会使公司网络上的所有计算机暴露于漏洞,从而大大增加了对公司进行网络攻击的可能性。
组织可能拥有数千台服务器和数千台用户计算机(例如,台式计算机和笔记本计算机)连接到其网络。每个服务器可以是某种类型的服务器,诸如负载均衡服务器、防火墙服务器、数据库服务器、认证服务器、人员管理服务器、Web服务器、文件系统服务器等。另外,每个用户计算机可以是特定类型,诸如管理计算机、技术支持计算机、开发者计算机、秘书计算机等。每个服务器和用户计算机可以安装有支持计算机的功能所需要的各种应用。由于各种类型的服务器和用户计算机,这样的网络被称为“混合环境”。
确保每个计算机只能执行授权应用可能是一项艰巨的任务。如本文中使用的,术语“应用”是指可以单独标识和执行的任何软件,诸如应用程序、小应用、动态链接库、操作系统软件、脚本、加载项、操作系统驱动程序等。为了帮助支持这项艰巨的任务,可以在每个计算机上安装安全工具,以帮助确保只允许某些授权应用在每个计算机上执行。安全工具可以允许管理员为每个计算机生成列出被允许由该计算机执行的授权应用的许可列表。当在计算机上执行的操作系统接收到执行应用的请求时,操作系统询问安全工具是否允许执行。如果应用位于许可列表中,则安全工具指示允许执行。否则,安全工具指示要阻止执行。
维护大型组织中计算机的许可列表可能是一项艰巨的任务。除了许可列表的初始设置之外,随着组织需求的变化,随着新版本的应用的发布,随着新计算机的上线等,管理员还需要更新许可列表。此外,不正确地维护的许可列表可能将组织暴露于诸如网络攻击等漏洞。
发明内容
提供了一种用于为机器生成应用的许可列表的计算系统。系统针对每个机器标识由该机器执行的执行应用的集合。然后,系统基于执行应用的集合之间的相似性来对机器进行聚类,使得具有相似集合的机器位于同一集群中。然后,系统针对机器的每个集群创建集群的应用的许可列表,许可列表包括集群的机器的执行应用的集合中的应用。集群的许可列表指示只有许可列表中的应用被允许由集群中的机器执行。然后,系统将集群的许可列表分发给该集群的机器,使得机器仅执行其集群的许可列表中的应用。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
图1是示出一些实施例中的ALG系统的生成许可列表组件的处理的流程图。
图2是示出一些实施例中的ALG系统的组件的框图。
图3是示出一些实施例中的ALG系统的处理的流程图。
图4是示出一些实施例中的生成许可列表组件的处理的流程图。
图5是示出一些实施例中的ALG系统的生成集合组件的处理的流程图。
图6是示出一些实施例中的集群机器组件的处理的流程图。
图7是示出一些实施例中的创建许可列表组件的处理的流程图。
图8是示出一些实施例中的测试许可列表组件的处理的流程图。
图9是示出一些实施例中的ALG系统的评估审核组件的处理的流程图。
图10是示出一些实施例中的ALG系统的评估强制执行组件的处理的流程图。
图11是示出一些实施例中的ALG系统的生成推荐组件的处理的流程图。
具体实施方式
提供了一种用于为机器自动生成应用的许可列表的方法和系统。如本文中使用的,术语“机器”是指可以被认为执行应用的任何计算系统,诸如服务器、虚拟机、用户计算机、平板计算机、智能电话、嵌入式设备、专用计算机等。在一些实施例中,许可列表生成(“ALG”)系统标识由机器集合(例如,组织的机器)中的机器执行的应用的集合,并且标识将共享相同许可列表的机器集群。例如,可以基于机器的功能(例如,同一集群中的数据库服务器)对机器进行聚类,基于管理员的手动指定对机器进行聚类,基于机器已经执行的应用的集合的相似性来对机器自动聚类,等等。在标识出集群之后,ALG系统为每个集群创建应用的许可列表。集群的许可列表可以包括在集群中的机器的每个集合中的集群的机器的集合的应用——也就是说,集群的许可列表可以是集群中的机器的集合的交集。然后,ALG将每个集群的许可列表分发给集群中的机器,使得每个机器上的安全工具可以通过允许许可列表上的应用的执行并且阻止不在许可列表上的应用的执行来强制执行许可列表。
在一些实施例中,ALG系统可以从机器收集由操作系统生成的进程创建日志。进程创建日志可以为每个应用指定应用的标识符(例如,应用的代码的名称或散列)、进程创建的时间、应用的类型等。ALG系统还可以从机器收集由各种软件系统生成的其他日志,诸如所加载的动态链接库的日志、所执行的脚本的日志、所加载的驱动程序的日志等。为了生成由机器执行的应用的集合,ALG系统分析日志以标识由机器执行的所有应用,并且将每个应用添加到机器的集合。例如,如果日志指示机器每小时执行一次应用A,每天执行一次应用B,并且在不同时间执行应用C,则该集合将为{A,B,C}。在处理日志之前,ALG系统可以将日志划分为训练日志和测试日志。例如,如果日志涵盖四个周,则训练日志可以包含前三个周,并且测试日志可以包含最后一周。可以使用训练日志来生成许可列表,并且可以使用测试日志来测试许可列表,如下面更详细描述的。
在一些实施例中,ALG系统基于由机器执行的应用的集合的相似性来聚类机器。下表示出了某些机器的示例应用的集合:
“x”指示应用位于机器的集合中。例如,机器1具有集合{A,B,C}。在该示例中,ALG系统可以将机器1、2和3分配给一个集群,并且将机器4和5分配给另一集群。机器1、2和3的集群具有许可列表[A,B,C,D],并且机器4和5的集群具有许可列表[A,D,E,F,G]。ALG系统可以使用各种相似性标准来确定集合是否相似。例如,相似性标准可以是这些集合具有一定百分比的共同的应用。另一相似性标准可以是特征向量与每个应用的维度之间的余弦相似性,该维度被设置为0或1以指示每个应用是否在集合中。ALG系统可以使用各种聚类算法。例如,当确定是否要将机器放置在集群中时,ALG系统可以将机器的集合与已经在集群中的机器的集合的交集进行比较以确定是否满足相似性标准。如果是,则ALG系统将机器添加到集群。如果不满足任何集群的相似性标准,则ALG系统可以创建仅包含该机器的新集群。
在一些实施例中,ALG系统可以过滤掉其应用的执行看起来“不稳定”的机器。例如,组织内的各个组可以使用用户计算机池作为备份以防其他用户计算机发生故障。在这种情况下,池中的用户计算机对应用的执行可以被认为是不稳定的,即在不同的几天,用户计算机可以执行非常不同的应用的集合。ALG系统可以使用各种不稳定标准来确定机器是否不稳定。例如,不稳定标准可以是:机器的应用的集合的基数超过某个阈值,集合中的应用的执行时间看起来是随机的,等等。当确定机器不稳定时,ALG系统可以从被聚类的机器中移除该机器。结果,可以采用不同的机制来为不稳定的机器生成许可列表(例如,由管理员手动)。
在一些实施例中,ALG系统可以对许可列表执行各种测试以确保其有效性。如上所述,ALG系统可以基于从被指定为训练日志的日志的各部分中导出的集合来生成许可列表。用于确定机器的许可列表的有效性的一个测试(称为筛选测试)可以是将许可列表中的应用与该机器的测试日志中的应用进行比较。如果测试日志指示执行了不在许可列表中的一个或多个应用,则认为测试失败,因为许可列表可能不适合该机器。被称为审核的另一测试是收集在许可列表的非强制执行期间生成的机器的其他审核日志,这些日志指示由机器执行的应用。然后,ALG系统将许可列表中的应用与审核日志中的应用进行比较。如果审核日志指示执行了不在许可列表中的一个或多个应用,则认为测试失败,因为许可列表可能不适合该机器。被称为强制执行测试的另一测试是收集在许可列表的强制执行期间生成的机器的强制执行日志,这些日志指示其执行被允许的应用和其执行被阻止的应用。如果强制执行日志指示从未执行许可列表中的应用,则ALG系统可以指示应当考虑从许可列表中移除该应用,尤其是在同一集群中没有机器执行该应用的情况下。如果强制执行日志指示应用被多次阻止,则ALG系统可以指示应当考虑将该应用添加到许可列表,尤其是在同一集群中的其他机器也阻止该应用的执行的情况下。
虽然ALG系统可以自动生成,分发和启用许可列表的强制执行,但ALG系统可以允许用户在许可列表的强制执行之前批准许可列表,修改许可列表,修改集群,等等。在一些实施例中,ALG系统提供用户界面,通过该用户界面,用户可以查看集群的许可列表并且将应用添加到许可列表或从许可列表中移除应用。用户界面还允许用户查看每个集群中的机器,将机器移动到不同的集群,创建新的集群,为新的集群创建许可列表,等等。用户界面可以允许用户指定应当被包括在每个许可列表中的基线应用和应当永远不应当被包括在许可列表中的排除应用。在云环境中,ALG系统可以允许云管理员指定应当被包括在每个客户的每个许可列表中的基线应用。ALG系统可以自动生成基线应用列表,作为由云数据中心中的每个机器执行的应用。这样的应用可以包括操作系统、虚拟机监视器、性能监视器、维护工具等。
ALG系统可以提供各种统计数据以帮助用户查看许可列表。例如,ALG系统可以为许可列表中的每个应用生成置信度水平,以指示ALG系统对于应用应当在集群的许可列表中的信心。在其中机器1、2和3的集群具有许可列表[A,B,C,D]的上面的示例中,应用A、B和C的置信度水平可以很高,因为这些应用中的每个在集群的每个机器的集合中。应用D的置信度水平可以很低,因为它仅在机器3的集合中。用户可以手动指示该机器3执行应用D,应用D可以是诊断程序。在这种情况下,将应用D包括在许可列表中可能不合适,如其置信度水平所示。ALG系统向用户呈现置信度水平以帮助查看应用。一旦用户批准集群的许可列表,许可列表可以被分发给集群中的机器并且启用强制执行。
图1是示出一些实施例中的ALG系统的生成许可列表组件的处理的流程图。生成许可列表组件100为机器集合中的机器的集群生成许可列表。机器集合可以是云提供商的单个客户的机器。在框101中,组件从每个机器收集机器的应用日志。应用日志标识由机器执行的每个应用。在框102中,组件基于机器执行的应用的集合之间的相似性来对机器进行聚类。在框103-106中,组件循环为每个集群生成许可列表。在框103中,组件选择下一集群。在判定框104中,如果已经选择了所有集群,则组件完成,否则组件在框105处继续。在框105中,组件标识由应用日志指定的集群中的机器使用的应用。在框106中,组件为集群创建包括由集群中的机器执行的每个应用的应用的许可列表。然后,组件循环到框103以选择下一集群。
图2是示出一些实施例中的ALG系统的组件的框图。ALG系统210经由通信信道250连接到机器230。ALG系统包括生成许可列表组件211、生成集合组件212、集群机器组件213、创建许可列表组件214、测试许可列表组件215、评估审核组件216、评估强制执行组件217和生成推荐组件218。生成许可列表组件控制许可列表的整体生成。生成集合组件根据从机器收集的日志来生成由机器执行的应用的集合。集群机器组件使用集合来基于集合的相似性来聚类机器。创建许可列表组件为每个集群创建许可列表。测试许可列表组件使用测试日志来测试许可列表。评估审核组件作为审核测试的一部分来评估审核日志。评估强制执行组件作为强制执行测试的一部分来评估强制执行日志。生成推荐组件基于强制执行测试的结果来生成用于修改许可列表和/或集群的推荐。ALG系统还包括日志存储装置221、许可列表存储装置222和集群存储装置223。日志存储装置存储从机器收集的日志。许可列表存储装置存储由ALG系统生成的许可列表。集群存储装置存储每个集群的指示和每个集群的机器。ALG系统还包括用于从机器收集日志的收集日志组件224和用于将许可列表分发给机器的分发许可列表组件225。每个机器包括各种应用231、安全工具232、代理233、日志存储装置234和许可列表存储装置235。安全工具负责强制执行机器的许可列表。可以是ALG系统的机器侧组件的代理收集机器的日志并且将它们发送到ALG系统并且接收许可列表并且配置安全工具以使用许可列表。
可以在其上实现ALG系统的计算系统可以包括中央处理单元、输入设备、输出设备(例如,显示设备和扬声器)、存储设备(例如,存储器和磁盘驱动器)、网络接口、图形处理单元、加速度计、蜂窝无线电链路接口、全球定位系统设备等。计算系统可以包括数据中心的服务器、大规模并行系统等。计算系统可以访问包括计算机可读存储介质和数据传输介质在内的计算机可读介质。计算机可读存储介质是有形存储装置,其不包括暂态传播信号。计算机可读存储介质的示例包括诸如主存储器、高速缓冲存储器和辅助存储器(例如,DVD)等存储器和其他存储装置。计算机可读存储介质可以在其上记录有或编码有实现ALG系统的计算机可执行指令或逻辑。数据传输介质用于经由有线或无线连接经由瞬时传播信号或载波(例如,电磁)传输数据。
ALG系统可以在由一个或多个计算机、处理器或其他设备执行的计算机可执行指令(诸如程序模块和组件)的一般上下文中描述。通常,程序模块或组件包括执行特定任务或实现特定数据类型的例程、程序、对象、数据结构等。通常,程序模块的功能可以在各种实施例中根据需要组合或分布。ALG系统的各方面可以使用例如专用集成电路(ASIC)以硬件来实现。
图3是示出一些实施例中的ALG系统的处理的流程图。ALG系统300生成许可列表并且评估许可列表的审核和强制执行。在框301中,组件调用生成许可列表组件以为集合中的机器生成许可列表。在判定框302中,如果许可列表被用户批准,则组件在框303处继续,否则组件完成。在框303中,组件将许可列表分发给机器。在框304中,组件将每个机器设置为以审核模式操作,其中许可列表不生效并且生成执行应用的日志。在框305中,组件调用评估审核组件以评估对许可列表的审核。在判定框306中,如果评估指示审核通过,则组件在框307处继续,否则组件在框310处继续。在框307中,组件将每个机器设置为以强制执行模式操作,其中许可列表被强制执行。在框308中,组件调用评估强制执行组件以评估许可列表的强制执行。在判定框309中,如果评估指示强制执行通过,则组件循环到框308以评估后续强制执行,否则组件在框310处继续。在框310中,组件生成指示评估没有通过的警报,例如,通过通知系统管理员。然后,系统管理员可以经由用户界面采取校正措施以根据评估强制执行组件的建议来修改许可列表或集群。然后组件完成。
图4是示出一些实施例中的生成许可列表组件的处理的流程图。生成许可列表组件400被调用以为机器集合生成许可列表。在框401中,组件调用生成集合组件以为每个机器生成由该机器执行的应用的集合。在框402中,组件调用集群机器组件以基于集合的相似性来生成集合中的机器的集群。在框403中,组件调用创建许可列表组件以基于集群中的机器的应用的集合来为每个集群创建许可列表。在框404中,组件调用测试许可列表组件以使用从机器收集的测试日志来测试许可列表。在框405中,组件向用户呈现用户界面以用于许可列表或集群的修改以及许可列表的批准。然后组件完成。
图5是示出一些实施例中的ALG系统的生成集合组件的处理的流程图。生成集合组件500被调用以基于从机器收集的日志来生成由每个机器执行的应用的训练集和测试集。在框501中,组件选择下一机器。在判定框502中,如果已经选择了所有机器,则组件在框509处继续,否则组件在框503处继续。在框503中,组件从机器收集应用日志。在框504中,组件将日志划分为训练日志和测试日志。在框505中,组件生成包括由训练日志指示的由机器执行的每个应用的训练集。在框506中,组件生成包括由测试日志指示的由机器执行的每个应用的测试集。在判定框507中,如果机器满足不稳定标准,则组件在框508处继续,否则组件循环到框501以选择下一机器。在框508中,组件将机器标记为不稳定,并且然后循环到框501以选择下一机器。在框509中,组件标识由每个机器执行的公共应用,并且可以从集合中移除公共应用,使得公共应用不影响集群,但是被包括在每个许可列表中。然后组件完成。
图6是示出一些实施例中的集群机器组件的处理的流程图。集群机器组件600被调用以基于由这些机器执行的应用的集合来聚类机器。在框601中,组件选择下一稳定机器。在判定框602中,如果已经选择了所有稳定机器,则组件完成,否则组件在框603处继续。在框603中,组件选择下一集群。在判定框604中,如果已经选择了所有集群(或者还没有任何集群),则组件在框606处继续,否则组件在框605处继续。在判定框605中,如果所选择的机器的所选择的应用的集合类似于集群中的机器的应用的集合,则组件在框607处继续,否则组件循环到框603以选择下一集群。在框606中,组件创建集群并且将所选择的机器添加到新的集群,并且然后循环到框601以选择下一稳定机器。在框607中,组件将机器添加到所选择的集群并且然后循环到框601以选择下一稳定机器。
图7是示出一些实施例中的创建许可列表组件的处理的流程图。创建许可列表组件700被调用以为每个集群创建许可列表。在框701中,组件选择下一集群。在框702中,如果已经选择了所有集群,则组件完成,否则组件在框703处继续。在框703中,组件选择集群中的下一机器。在判定框704中,如果已经选择了集群中的所有机器,则组件在框709处继续,否则组件在框705处继续。在框705中,组件选择所选择的机器的训练集中的下一应用。在判定框706中,如果已经选择了训练集中的所有应用,则组件循环到框703以选择集群中的下一机器,否则组件在框707处继续。在框707中,组件将应用添加到所选择的集群的许可列表(如果尚未在许可列表中)。在框708中,组件递增应用的计数以指示执行应用的机器数量,并且然后循环到框705以选择训练集中的下一应用。在框709中,组件基于执行了每个应用的集群中的机器的百分比来为许可集合中的该应用设置置信度水平。在框710中,组件利用基线应用来扩充许可列表,诸如由客户指定为要包括在每个机器中的那些应用、由云提供商指定为要包括在每个机器中的那些应用、或者被标识为对云系统的所有机器共同的那些应用。然后组件循环到框701以选择下一集群。
图8是示出一些实施例中的测试许可列表组件的处理的流程图。测试许可列表组件800被调用以基于每个机器的测试集来测试每个机器的许可列表。在框801中,组件选择下一机器。在判定框802中,如果已经选择了所有机器,则组件完成,否则组件在框803处继续。在框803中,组件选择测试集中的下一应用。在判定框804中,如果已经选择了机器的测试集中的所有应用,则组件循环到框801以选择下一机器,否则组件在框805处继续。在判定框805中,如果应用在许可列表中,则组件循环到框803以选择测试集中的下一应用,否则组件在框806处继续。在框806中,组件将应用标记为未被批准以指示许可列表没有通过测试,并且组件循环到框803以选择测试集中的下一应用。
图9是示出一些实施例中的ALG系统的评估审核组件的处理的流程图。评估审核组件900被调用以评估对机器的许可列表的审核。在框901中,组件选择下一机器。在判定框902中,如果已经选择了所有机器,则组件完成,否则组件在框903处继续。在框903中,组件从机器收集审核日志。在框904中,组件选择审核日志中的下一应用。在判定框905中,如果已经选择了审核日志中的所有应用,则组件循环到框901以选择下一机器,否则组件在框906处继续。在判定框906中,如果应用在许可列表中,则组件循环到框904以选择审核日志中的下一应用,否则组件在框907处继续。在框907中,组件将应用标记为未被批准以指示许可列表未通过测试并且循环到框904以选择审核日志中的下一应用。
图10是示出一些实施例中的ALG系统的评估强制执行组件的处理的流程图。评估强制执行组件1000被调用以评估每个集群中的机器的许可列表的强制执行。在框1001中,组件选择下一集群。在判定框1002中,如果已经选择了所有集群,则组件在框1010处继续,否则组件在框1003处继续。在框1003中,组件选择集群中的下一机器。在判定框1004中,如果已经选择了集群中的所有机器,则组件在框1009处继续,否则组件在框1005处继续。在框1005中,组件收集机器的强制执行日志。在框1006中,组件选择强制执行日志中的下一条目。在判定框1007中,如果已经选择了强制执行日志中的所有条目,则组件循环到框1003以选择下一机器,否则组件在框1008处继续。在框1008中,组件递增应用的许可计数或阻止计数,这具体取决于条目指示允许还是阻止应用的执行。然后组件循环到框1006以选择强制执行日志中的下一条目。在框1009中,向生成推荐组件传递集群的指示,并且生成推荐组件基于允许或阻止的应用的计数来生成关于是否修改集群的许可列表的建议。然后组件循环到框1001以选择下一集群。在框1010中,组件基于集群的许可列表之间的相似性来评估是否向用户推荐合并集群。然后组件完成。
图11是示出一些实施例中的ALG系统的生成推荐组件的处理的流程图。生成推荐组件1100被调用以生成关于是否修改许可列表或拆分集群的推荐。在判定框1101中,如果满足用于从集群的许可列表中移除应用的标准,则组件在框1102处继续,否则组件在框1103处继续。在框1102中,组件生成从许可列表中移除一个或多个应用的建议并且然后完成。在判定框1103中,如果满足用于将应用添加到集群的许可列表的标准,则组件在框1104处继续,否则组件在框1105处继续。在框1104中,组件生成将一个或多个应用添加到许可列表的建议并且然后完成。在判定框1105中,如果满足拆分集群标准,则组件在框1106处继续,否则组件完成。在框1106中,组件生成拆分集群的建议并且然后完成。
尽管用结构特征和/或动作专用的语言描述了本主题,但是应当理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。而是,上述具体特征和动作被公开作为实现权利要求的示例形式。因此,除了所附权利要求之外,本发明不受限制。

Claims (15)

1.一种由计算系统执行的用于为机器生成应用的许可列表的方法,所述方法包括:
对于每个机器,标识由所述机器执行的执行应用的集合;
生成所述机器的集群;以及
对于机器的每个集群,创建所述集群的应用的许可列表,所述许可列表包括所述集群的所述机器的所述集合中的所述应用,所述许可列表指示只有所述许可列表中的应用被允许由所述集群中的机器执行。
2.根据权利要求1所述的方法,其中所述集群是基于所述机器的所述执行应用的集合之间的相似性而被生成的。
3.根据权利要求1所述的方法,其中每个机器的所述执行应用的集合被划分为训练集和测试集,其中所述许可列表仅基于所述训练集而被创建,并且所述方法还包括测试集群的所述许可列表以确定所述测试集中的执行应用是否不在所述许可列表中。
4.根据权利要求1所述的方法,还包括标识作为所述机器的所述集合的交集的公共应用集,其中所述集群的所述生成不考虑所述公共应用集的所述应用。
5.根据权利要求1所述的方法,还包括在生成集群的所述许可列表之后,通过生成由所述集群中的机器执行的应用的审核日志来审核所述机器的所述许可列表,而不强制执行所述许可列表,以及当所述审核日志指示所述机器执行了不在所述许可列表中的应用时,指示所述机器的所述许可列表未通过所述审核。
6.根据权利要求1所述的方法,还包括将集群的所述许可列表分发给所述集群内的所述机器,并且启用所述机器对所述许可列表的强制执行。
7.根据权利要求6所述的方法,其中在启用机器的所述许可列表的强制执行之后,所述机器生成执行被允许的许可应用和执行被阻止的阻止应用的强制执行日志,并且所述方法还包括分析所述强制执行日志以确定是否调节集群的所述许可列表。
8.根据权利要求7所述的方法,其中对所述许可列表的调节选自由以下项组成的组:减少所述许可列表,扩展所述许可列表,拆分集群,或者合并集群。
9.一种计算系统,为机器生成应用的许可列表,所述计算系统包括:
存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时控制所述计算系统:
从每个机器收集执行日志,所述执行日志指示由所述机器执行的应用;
基于对每个机器的所述执行日志的分析来为所述机器生成执行应用的集合,所述执行应用的集合指示由所述机器执行的执行应用;
基于所述机器的所述执行应用的集合之间的相似性来生成所述机器的集群,使得具有相似的执行应用的集合的机器在同一集群中;
为每个集群创建所述集群的应用的许可列表,集群的所述许可列表是作为所述集群中的所述机器的所述执行应用的集合的交集的执行应用的集合;以及
将每个集群的所述许可列表分发给所述集群中的所述机器,使得集群的每个机器能够强制执行所述集群的所述许可列表,从而集群的所述机器仅允许所述许可列表中的所述应用的执行并且阻止所有其他应用的执行;以及
处理器,执行存储在所述计算机可读存储介质中的所述计算机可执行指令。
10.根据权利要求9所述的计算系统,其中机器的所述执行日志具有结束时间,并且其中所述计算机可执行指令还控制所述计算系统通过在所述结束时间之后并且在机器的许可列表的强制执行之前确定所述机器是否执行了不在所述许可列表上的应用来测试所述许可列表。
11.根据权利要求9所述的计算系统,其中所述计算机可执行指令还控制所述计算系统将所述许可列表呈现给用户以用于所述许可列表的修改或所述集群的修改。
12.根据权利要求9所述的计算系统,其中所述计算机可执行指令还控制所述计算系统在启用许可列表的强制执行之前,将所述许可列表呈现给用户以供批准。
13.根据权利要求9所述的计算系统,其中所述计算机可执行指令还控制所述计算系统自动启用所述许可列表的强制执行而无需用户干预。
14.根据权利要求9所述的计算系统,其中所述机器被托管在托管多个客户的机器的数据中心提供商的数据中心处,并且其中每个客户的所述机器被分开聚类。
15.一种计算机可读存储介质,存储用于控制计算系统为机器生成应用的许可列表的计算机可执行指令,所述计算机可执行指令包括控制所述计算系统执行以下操作的指令:
基于由所述机器执行的应用的集合之间的相似性来生成所述机器的集群,使得具有相似的应用的集合的机器在同一集群中;
为每个集群创建应用的许可列表,所述许可列表是由所述集群中的所述机器执行的所述应用的集合的交集;以及
将每个集群的所述许可列表直接分发给所述集群中的所述机器,使得每个机器仅执行被分发给所述机器的所述许可列表中的那些应用。
CN201780078317.9A 2016-12-21 2017-12-13 用于机器的应用许可列表的生成 Active CN110100423B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/387,427 2016-12-21
US15/387,427 US10757110B2 (en) 2016-12-21 2016-12-21 Generation of application allowed lists for machines
PCT/US2017/065942 WO2018118547A1 (en) 2016-12-21 2017-12-13 Generation of application allowed lists for machines

Publications (2)

Publication Number Publication Date
CN110100423A true CN110100423A (zh) 2019-08-06
CN110100423B CN110100423B (zh) 2021-09-21

Family

ID=60937899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780078317.9A Active CN110100423B (zh) 2016-12-21 2017-12-13 用于机器的应用许可列表的生成

Country Status (4)

Country Link
US (1) US10757110B2 (zh)
EP (1) EP3560174B1 (zh)
CN (1) CN110100423B (zh)
WO (1) WO2018118547A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190089595A1 (en) * 2017-09-18 2019-03-21 Cyber 2.0 (2015) LTD Automatic security configuration
US11681710B2 (en) 2018-12-23 2023-06-20 Microsoft Technology Licensing, Llc Entity extraction rules harvesting and performance
US11405400B2 (en) 2019-09-08 2022-08-02 Microsoft Technology Licensing, Llc Hardening based on access capability exercise sufficiency
US11888870B2 (en) 2021-10-04 2024-01-30 Microsoft Technology Licensing, Llc Multitenant sharing anomaly cyberattack campaign detection

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020131404A1 (en) * 2000-11-28 2002-09-19 4Thpass Inc. Method and system for maintaining and distributing wireless applications
CN1556959A (zh) * 2001-08-13 2004-12-22 �����ɷ� 使用许可向应用程序分配设备资源
CN101647255A (zh) * 2007-03-27 2010-02-10 摩托罗拉公司 用于管理应用程序集合体的方法和装置
US20110247074A1 (en) * 2010-03-30 2011-10-06 Manring Bradley A C Metadata-based access, security, and compliance control of software generated files
US20130104118A1 (en) * 2011-10-19 2013-04-25 Visto Corporation Application installation system
CN103370922A (zh) * 2011-02-11 2013-10-23 阿尔卡特朗讯 确定激活的现实对象以运行软件应用
US20150009222A1 (en) * 2012-11-28 2015-01-08 Nvidia Corporation Method and system for cloud based virtualized graphics processing for remote displays
US20150365349A1 (en) * 2014-06-16 2015-12-17 Verizon Patent And Licensing Inc. Automated server cluster selection for virtual machine deployment
US20160002597A1 (en) * 2013-02-12 2016-01-07 Reneuron Limited Method of producing microparticles
CN105474678A (zh) * 2013-07-31 2016-04-06 良好科技公司 针对移动设备的集中选择应用许可

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003389B2 (en) * 2010-05-25 2015-04-07 Red Hat, Inc. Generating an encoded package profile based on executing host processes
US9392022B2 (en) * 2013-05-03 2016-07-12 Vmware, Inc. Methods and apparatus to measure compliance of a virtual computing environment
US9405838B2 (en) 2013-12-27 2016-08-02 Quixey, Inc. Determining an active persona of a user device
US9760712B2 (en) 2014-05-23 2017-09-12 Vmware, Inc. Application whitelisting using user identification
US9967264B2 (en) * 2014-09-14 2018-05-08 Sophos Limited Threat detection using a time-based cache of reputation information on an enterprise endpoint

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020131404A1 (en) * 2000-11-28 2002-09-19 4Thpass Inc. Method and system for maintaining and distributing wireless applications
CN1556959A (zh) * 2001-08-13 2004-12-22 �����ɷ� 使用许可向应用程序分配设备资源
CN101647255A (zh) * 2007-03-27 2010-02-10 摩托罗拉公司 用于管理应用程序集合体的方法和装置
US20110247074A1 (en) * 2010-03-30 2011-10-06 Manring Bradley A C Metadata-based access, security, and compliance control of software generated files
CN103370922A (zh) * 2011-02-11 2013-10-23 阿尔卡特朗讯 确定激活的现实对象以运行软件应用
US20130104118A1 (en) * 2011-10-19 2013-04-25 Visto Corporation Application installation system
US20150009222A1 (en) * 2012-11-28 2015-01-08 Nvidia Corporation Method and system for cloud based virtualized graphics processing for remote displays
US20160002597A1 (en) * 2013-02-12 2016-01-07 Reneuron Limited Method of producing microparticles
CN105474678A (zh) * 2013-07-31 2016-04-06 良好科技公司 针对移动设备的集中选择应用许可
US20150365349A1 (en) * 2014-06-16 2015-12-17 Verizon Patent And Licensing Inc. Automated server cluster selection for virtual machine deployment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G E RS O N G E RA LD O H. CAVA LH E IRO , E P IFA N IO DIN IS B: "Dynamic List Scheduling of Threads on Clusters", 《SIXTH IEEE INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID》 *
唐永建: "Cisco+IOS访问列表的应用", 《网络应用》 *

Also Published As

Publication number Publication date
US10757110B2 (en) 2020-08-25
EP3560174A1 (en) 2019-10-30
EP3560174B1 (en) 2023-09-20
WO2018118547A1 (en) 2018-06-28
US20180176227A1 (en) 2018-06-21
CN110100423B (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
Mahindru et al. Dynamic permissions based android malware detection using machine learning techniques
US11184380B2 (en) Security weakness and infiltration detection and repair in obfuscated website content
US10554736B2 (en) Mobile URL categorization
US9576147B1 (en) Security policy application through data tagging
US20200175200A1 (en) Privacy detection of a mobile application program
US20080244078A1 (en) Web services intermediary
US11050773B2 (en) Selecting security incidents for advanced automatic analysis
CN110100423A (zh) 用于机器的应用许可列表的生成
Joshi et al. Machine learning approach for malware detection using random forest classifier on process list data structure
Rashid et al. Discovering" unknown known" security requirements
WO2016014014A1 (en) Remedial action for release of threat data
Shrivastava et al. Android application behavioural analysis for data leakage
Kaur et al. Security issues in cloud computing
Jolak et al. CONSERVE: A framework for the selection of techniques for monitoring containers security
Stach How to Deal with Third Party Apps in a Privacy System--The PMP Gatekeeper--
Safarzadeh et al. A novel and comprehensive evaluation methodology for SIEM
Hatcher et al. Machine learning-based mobile threat monitoring and detection
US11947694B2 (en) Dynamic virtual honeypot utilizing honey tokens and data masking
US20220067204A1 (en) System architecture for providing privacy by design
Tiwari et al. Android users security via permission based analysis
CN111159714B (zh) 一种访问控制中主体运行时可信验证方法及系统
Chaurasia Dynamic analysis of Android malware using DroidBox
Armando et al. Mobile App Security Analysis with the MAVeriC Static Analysis Module.
US20140359780A1 (en) Anti-cyber attacks control vectors
Hossen et al. On understanding permission usage contextuality in android apps

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant