首先是进程识别的时机问题,我们在进程创建的时候,判断是否为授权进程,如果是就放入一个链表即可。SEFS是在ImageLoadNotify中识别的,这里可以轻松的得到进程的全路径。
再说说识别算法,最简单是判断进程名称,或者是进程全路径。最严格的是判断进程Bin的HASH。再折中的做法是判断进程Bin的特征码。目前这3种SEFS均支持。但是在实际运用还在一些问题。HASH过于严格,进程名称过于宽松,特征码呢,实施人员不能很好的理解,所以在部署过程中,加密策略的制定,成了一件头疼的事情。
从进程Bin的资源信息中判断 内部名称或者是原始文件名称之类的信息,在安全性和易用性之间似乎是个不错的平衡点。所以现在SEFS最新的版本也增加了这个功能。授权进程的识别,可以移到应用层。按照开发商自定义的判断逻辑进程识别。