在一切数据皆加密的年代,加密保护源代码安全,似乎顺理成章。然而,当前源代码加密这一防泄密方法,却正受到越来越多的质疑。众多软件开发企业用户抱怨:源代码加密后经常出现卡、慢、死机等现象。是否是偶发事件?是否可以避免?从本质上剖析源代码加密,或可有助于解释这些问题。
源代码加密核心在于:当源代码创建时即对源代码进行透明加密并与用户、权限相结合。源代码加密后,合法用户正常双击打开,在授权范围内使用,非法用户则无法使用,从而实现源代码防泄密目的。
一切看起来很美好,但根本缺陷在于源代码加密是根据进程进行的。由于源代码进程调用关系通常十分复杂,导致源代码加密时损坏代码、降低系统性能的几率大增。这一致命弱点也常被笑称为娘胎里带来的,难以避免。另外,除用前面提到的卡、慢、死机等现象,还有不少用软件开发企业户反映源代码加密安全强度不够:加密代码粘到txt,打开txt后读取内存信息可得到加密文件内容。
对此,有业内人士表示:数据加密软件发展之初主要是用来加密office类文档数据(不涉及复杂的进程调用),而源代码保护则通常采用隔离技术手段。与数据加密类产品不同,DSA数据安全隔离主要通过构建数据安全区域,保护源代码安全。DSA数据安全隔离不对源代码自身进行加密处理,在保障源代码安全的同时可以有效避免卡、慢、死机等现象。
无论如何,从源代码泄露防护技术手段来讲,数据加密也仅是其中一种。一味地依赖数据加密,不考虑源代码特征,不仅不会取得实际效果,还可能损坏源代码,额外带来不必要的损失。另外企业为保障源代码所做的无用功,也给其平添了不小的财务负担。总之一句话:源代码防泄密需谨慎,加密并非功能较多。作为CIO,需要认真评估。