关于软件分发控制

2023年2月20日

ID 166296

如果您还需要控制受保护设备(例如,所安装软件会定期自动更新的受保护设备)上的软件分发,则应用程序启动控制规则生成器可能很复杂。在这种情况下,必须在每次软件更新后更新允许规则的列表,以便在“应用程序启动控制”任务设置中考虑新创建的文件。为了简化软件分发方案中的启动控制,可以使用“软件分发控制”子系统。

软件分发包(下文称为“软件包”)表示要在受保护设备上安装的软件应用程序。每个软件包都包含至少一个应用程序,除了应用程序外,可能还包含单个文件、更新,甚至单个命令,尤其是在您安装软件应用程序或更新时。

“软件分发控制”子系统作为附加排除列表实施。将软件分发包添加到此列表时,应用程序允许解压缩这些受信任包,并允许受信任包所安装或修改的软件自动启动。提取的文件可以继承主分发包的受信任属性。主分发包是由用户添加到软件分发控制排除列表并成为受信任包的软件包。

Kaspersky Embedded Systems Security 仅控制完整软件分发周期。如果第一次启动受信任包时软件分发控制关闭,或者“应用程序启动控制”组件未安装,应用程序将无法正确处理由受信任包修改的文件的启动。

如果在“应用程序启动控制”任务设置中清除“将规则应用于可执行文件”复选框,软件分发控制将不可用。

软件分发缓存

Kaspersky Embedded Systems Security 使用动态生成的软件分发缓存(“分发缓存”)在受信任包与软件分发期间创建的文件之间建立关系。第一次启动软件包时,Kaspersky Embedded Systems Security 将检测该软件包在软件分发过程中创建的所有文件,并将文件校验和及路径存储在分发缓存中。然后默认允许分发缓存中的所有文件启动。

您不能通过用户界面查看、清除或手动修改分发缓存。缓存由 Kaspersky Embedded Systems Security 填充和控制。

您可以将分发缓存导出到配置文件(XML 格式),同时使用命令行选项清除缓存。

要将分发缓存导出到配置文件,请执行以下命令:

kavshell appcontrol /config /savetofile:<full path> /sdc

要清除分发缓存,请执行以下命令:

kavshell appcontrol /config /clearsdc

Kaspersky Embedded Systems Security 每 24 小时更新一次分发缓存。如果先前允许的文件的校验和发生变化,应用程序将从分发缓存中删除此文件的记录。如果“应用程序启动控制”任务在活动模式下启动,后续启动该文件的尝试将被阻止。如果先前允许的文件的完整路径发生变化,后续启动该文件的尝试不会被阻止,因为校验和存储在分发缓存内。

处理提取的文件

第一次启动软件包时,从受信任软件包提取的所有文件都会继承受信任属性。如果在第一次启动后清除该复选框,从软件包提取的所有文件都将保留继承的属性。要重置所有提取文件中的继承属性,您需要在再次启动受信任分发包之前清除分发缓存并清除“允许进一步分发通过此分发包创建的程序”复选框。

在第一次打开排除列表中的软件分发包时,受信任的主分发包所创建的提取文件和包会在它们的校验和被添加到分发缓存时继承受信任属性。因此,分发包本身和从该分发包提取的所有文件也将被信任。默认情况下,受信任属性的继承级别数是无限制的。

操作系统重新启动后,提取的文件将保留受信任属性。

文件处理在“软件分发控制”设置中通过选中或清除“允许进一步分发通过此分发包创建的程序”复选框来进行配置。

例如,假设您将包含几个其他包和应用程序的 test.msi 包添加到排除列表中并选中该复选框。在这种情况下,将允许运行或提取 test.msi 包中包含的所有包和应用程序(如果它们包含其他文件)。此方案适用于所有嵌套级别上的提取文件。

如果将 test.msi 包添加到排除列表中并清除“允许进一步分发通过此分发包创建的程序”复选框,应用程序只会将受信任属性分配到直接从主受信任包提取的包和可执行文件(在第一个嵌套级别上)。此类文件的校验和存储在分发缓存中。在第二个和更后面的嵌套级别上的所有文件都将被“默认拒绝”原则阻止。

使用应用程序启动控制规则列表

软件分发控制子系统的受信任包列表是一个排除项列表,该列表扩大了但未替换应用程序启动控制规则列表。

拒绝应用程序启动控制规则具有最高优先级:受信任包的解压缩和新文件或已修改文件的启动将被阻止(如果这些包和文件受应用程序启动控制拒绝规则影响)。

软件分发控制排除项适用于受信任包和这些包创建或修改的文件(如果应用程序启动控制列表中没有拒绝规则适用于这些包和文件)。

使用 KSN 结论

KSN 的文件不受信任的结论具有比软件分发控制排除项更高的优先级:如果 KSN 报告受信任包创建过修改的文件不受信任,则受信任包的解压缩和这些文件的启动都将被阻止。

而且,在从受信任包解压缩后,所有子文件都将被允许运行,不管是否在应用程序启动控制范围内使用 KSN。此时,“拒绝 KSN 不信任的应用程序”和“允许 KSN 信任的应用程序”复选框的状态不影响“允许进一步分发通过此分发包创建的程序”复选框的操作。

Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.