1. 首页 > 侵犯商业秘密罪

在涉软件代码的侵犯商业秘密案件中,如何进行鉴定?

作者:heguoming 日期:2023-10-15 12:58:50

作者:何国铭律师 (专于商标犯罪与商业秘密犯罪案件控告及辩护)

在我们之前所撰写的文章中已经对软件代码类的侵犯商业秘密案件中的司法鉴定问题作了些探讨。最近,有不少案件当事人家属找到我们,意向委托我们办理相关案件,并对涉软件代码的商业秘密鉴定作了很多咨询。基于此,我们与鉴定专家交流,并结合自身的办案经验,在此再作些探讨。

关于判断代码的非公知性,被害人在梳理秘点时,需要注意前端的一些模块结构、功能方案等往往并不能主张为商业秘密,但实现功能模块、操作流程的后端代码有被认定为商业秘密的可能。原因在于用户在使用过程中,通过直接观察就能够得知某些软件的操作流程和功能模块及其实现的步骤,这属于使用公开,这些技术内容是公开可见的,对此是不能纳入技术秘密的范畴当中,而只有哪些用户无法在前端通过直接观察得知的、仅能从后台代码层面通过一定手段获得的具体实现路径和方式才有可能不为公众所知悉,进而构成技术秘密。

容易被公众所获得的代码也并不在商业秘密的范畴当中,那么如何判断源代码是否为“容易获得”?在此,我们提供几个常见的要点。一是判断该代码是否可以直接从客户端、浏览器中能获得,例如部分软件、浏览器端通常由CSS、JavaScript、html来实现的,这些软件的部分源代码是可以被用户获取的。二是判断该代码是否可以通过反编译的方式来获得。软件设计者没有对目标程序使用混淆技术,或者没有对该目标代码进行加密,假定业内同行使用某些高级语言编写的软件,就能够通过反编译的方式反向获得可读性强、相似性高的源代码,一般来说,这些代码也是不能主张为商业秘密。三是判断这些代码是否为开源代码。四是判断该代码是否为第三方提供的源代码。五是判断该代码是否为自动生成的代码。自动生成的源代码指的是程序员采用一些辅助的软件工具得到的源代码,而非直接编写形成的源代码,对于自动生成的代码也不应认定其具有秘密性。

关于如何判断被害人所主张的,且已被鉴定具有秘密性的代码,与被告人所使用的代码相同或实质相同?这涉及到同一性鉴定。在计算机软件代码类的商业秘密案件中,代码的两种表现形式,分别是源代码与目标代码。对代码进行鉴定,也主要是围着这两种表现形式的代码进行。部分案件能搜查扣押到源代码,以源代码为检材及样本进行鉴定,部分案件只能获取到目标代码,则只能简单比对目标代码后,再将目标代码反编译为源代码进行鉴定。

为了控告被告人构成侵犯商业秘密罪,被害人向办案机关递交带有源代码的载体。对于该载体,在办理案件过程中,需要对之进行“鉴真”。通过编译的方式,将源代码编译成目标代码,与被害人产品中的目标代码进行比较,确定被害人所提交的源代码是真实的源代码,是与案件相关的源代码。假定被害人所提交的源代码无法编译,或者说是编译后的目标代码与自身涉案产品之目标代码是不统一的,则难以证实其是权利人,亦无法证实其提交的源代码是与案件相关的真实源代码。

同理,对于被告人一方的源代码,我们也需要“鉴真”。无论是公安机关扣押到的源代码载体,还是被告人自愿递交的源代码载体,我们都需要注意一个细节,部分被告人的反侦查意识很强,为了避免担责,在案发前其就已伪造出一份假的源代码。毋容置疑,以该源代码为检材进行鉴定,自然是难以论证出相同或实质相同的结论的。故,当不能获取到被告人的真实源代码的情况下,则应将被告人的目标代码进行反编译为源代码,再进行同一性鉴定。此外,在提取代码的过程中,可能涉及到加密、解密的问题。有些软件工程师为了保护其编写的程序代码,会对涉诉的代码进行加密,为了获取到涉诉的代码,在鉴定前,需要先对涉诉的代码进行解密。

当获取到被害人与被告人之涉诉软件的目标代码后,可以就目标代码是否相同进行简单鉴定,假定目标代码相同,源代码基本上也相同,但基于双方可能使用不同的汇编语言,故目标代码不同,不一定意味着源代码不同,此时则需要将被告人涉诉软件的目标代码反编译为源代码。在这里有一个要点就是反编译后,得到的代码可上百万行,如何确定涉诉源代码的具体位置?可以对代码安装的目录以及文件进行简单的比对,目的是为了确定秘点所处的文件夹,与涉诉代码所处的文件夹,但代码安装所使用的文件仅仅是帮助用于对比鉴定文件的辅助手段,这是形式上的比对,并不会影响软件代码的实质内容。最后,才是实质意义上的比对,即对代码本身的比对,此时的软件商业秘密鉴定则比较双方的源程序。

在同一性鉴定过程中,除了上述问题,还有一点非常值得注意,即涉诉的软件版本。若被害人对涉诉软件进行软件著作权登记的,则其多以该版本作为载体送检,但问题在于软件的不断更新与升级,其更新的频率很高、幅度很大,其更新速度远远超过其他技术,被害人或被告人涉诉软件更新得越频发,鉴定相同的概率则越低。甚至是,被害人所递交的软件版本是被告人离职后才形成的,那么这里面就会涉及到被告人接触到涉诉软件代码的可能性,及被害人的保密措施是否对被告人有效的问题了。

结语:软件代码的司法鉴定,对能否认定构成商业秘密,以及侵犯商业秘密罪能否成立,都起到非常关键的作用。对此,我们需多与鉴定人沟通,多了解鉴定的方法与流程,为我们办理涉软件代码类商业秘密案件提供必要的知识储备。


随便看看