软件白名单功能的设计思路
2023-09-15 17:07:43
洞察眼桌面管理软件中很早就加入了软件黑名单功能,通过软件黑名单,管理员可以禁止员工使用指定的软件。软件黑名单支持设置多种匹配模式,比如:进程名、窗口名、MD5等。近期,越来越多的客户向我们咨询:洞察眼能否做到只允许指定的软件运行,即软件白名单功能。
这个需求站在技术、工程的角度思考,实现是很容易的,但是站在产品的角度思考,有许多问题需要考虑。因为如果只是简单的设置一个白名单列表,白名单之外的进程全部禁止运行,那么会导致很多意想不到的后果,比如禁止微软的系统进程运行,那么系统可能会不稳定;禁止第三方进程运行,那么可能会导致网银、支付宝无法使用。所以,设计这个功能时我们需要做很多权衡,需要把技术、工程实现、产品、用户体验等很多因素考虑在内。下面,我将会在以下几点探讨软件白名单功能的设计思路。
软件白名单需求的初衷是什么?
这是一个产品角度思考的问题,什么样的客户有软件白名单的需求,以及他们的使用场景是如何。通过我们的用户调研,我们有理由相信的是,用户希望通过软件白名单功能,只允许员工在上班期间只能使用指定的软件,通过规范软件使用行为,达到提升工作效率的目的。弄明白这件事后,很多事就简单很多。
软件白名单的生效范围是什么?
软件白名单功能需要通过拦截指定进程创建来实现。软件和进程是完全两个不同的概念,进程是一个较专业的计算机术语,而软件、应用、APP这样的词汇,可能3岁的孩子也知道是什么。打开任务管理器,里面随时都会运行几十甚至上百个进程,我们需要检查所有进程吗?也就是说,软件白名单的生效范围是什么,比如wwbizsrv.exe(支付宝相关服务)、explorer.exe(微软桌面进程)应该被禁止吗?这样的进程要么是第三方服务的关键进程要么是Windows的系统进程,显然是不应该被禁止的。而且系统中,相当多的进程只是在后台提供服务,并无界面供用户进行交互操作,所以这类的进程也不应该被禁止。明确了上述几点,我们就要着手解决问题。整体来讲,我们做了很多工作来简化用户设置软件白名单策略的操作。
洞察眼自动放行Windows系统进程和很多知名第三方软件。
洞察眼内置了一套评估算法,可以默认自动放行Windows的系统进程以及知名的第三方软件,比如显卡驱动、银行网银相关模块等。这样做,第一避免了用户误操作,导致杀掉了一些关键进程导致系统不稳定以及某些软件工作不正常,而且还可以简化用户策略设置操作。
洞察眼支持多种匹配模式。
除了常见的进程匹配模式外,洞察眼还支持程序目录、版权信息、产品名称等匹配方式。因为虽然很多软件运行只有一个进程,但是仍然有相当多一部分软件需要多个进程进行协同。如果只支持通过进程名进行匹配,那么可能会导致调试工作量加大,因此我们增加了上述多种匹配模式。
现在,洞察眼桌面管理软件的最新版3.7.25已经支持软件白名单功能,有需要的用户可以联系我们试用。