被判有期徒刑:程序员非法破解公司加密系统,将源代码上传至个人网盘

682 阅读9分钟

【案例导读】

公司对内部文件采取了加密措施,员工日常对于源代码只能读写,不能复制或者上传至互联网。有员工发现加密漏洞,于是通过技术手段破坏了公司的加密措施,复制公司核心源代码并上传至个人网盘,以备离职后去其他公司时进行借鉴参考。对于此种行为是否违法?是否触犯了刑法?具体涉及什么罪名,以下案例给出了答案。

【犯罪动机】

为了防止离职后去其他公司编写代码,费时费力,提前备份现公司源代码至个人网盘,届时可以直接复用或参考。除了源代码,出于好奇,顺便把公司规章制度、技术开发文档也上传至个人网盘。

【涉及技术问题】

软件开发企业如何通过技术手段对核心源代码进行加密保护,防止内部员工泄露

【案情简介】

**一、【公诉机关指控】**L任职A公司,负责某模块软件源代码开发工作,其日常权限可以使用任职部门的共享盘及公司公共盘。A公司为防止核心源代码外泄,购买了对文件加密以及禁止外传的保护系统。后L在工作期间,发现公司加密系统的漏洞,通过破解公司加密系统的方式,将包含A公司核心源代码的80个文件上传至个人网盘,给A公司造成重大经济损失。公诉机关认为L违反国家法律,非法获取计算机信息系统数据,情节严重,应以非法获取计算机信息系统罪追究其刑事责任,提请法院依法判处。

二、【被告人辩称】被告人L当庭表示认罪,但辩称不认可鉴定结论的经济损失数额,并称其没有破解公司的系统,因为其对加密系统没有做任何修改**。**其把获取的公司数据传到个人网盘,只是留着自己以后备用。**因为虽然其知道源代码怎么编写,但如果不在A公司了没有这些源代码就比较费时间,其想着以后万一不在公司了,哪天需要编写这部分功能的代码时就可以用来借鉴。**除了源代码之外,出于好奇,其把公司的规章制度、技术开发文档也传走了。被告人辩护人表示,被告人客观行为不符合“非法获取计算机信息系统数据罪”罪名构成要求:L没有采用侵入普通计算机信息系统或者采用其他技术手段方式获取数据,而且获取数据后上传至个人网盘,只是违反公司规定,但不违法,被告人的行为也未达到情节严重。

**三、【被害人A公司经济损失】**被害人A公司称L给其造成重大经济损失,通过2份鉴定报告证明:第一份是因L非法破解公司加密系统,公司因购买加密软件等花费近98万元;第二份是因核心源代码泄露,给公司造成研发成本等损失近1200万元。

**四、【法院判决】**被告人L利用第三方软件,避开或者突破了A公司文件加密保护系统和计算机硬盘保护系统,在未经授权或超越授权的情况下将A公司文件解密后从加密盘复制到普通盘,并上传至互联网。其行为属于采用其他技术手段获取计算机信息系统获取数据。根据相关法律规定,违法所得5000元以上或者造成经济损失1万元以上,应当认定为情节严重。其中“经济损失”,包括危害计算机信息系统犯罪行为给用户直接造成的经济损失,以及用户为恢复数据、功能而支付的必要费用。

本案中由于L破坏了A公司的加密系统,导致保护功能丧失,A公司为恢复保护功能而支付的26000元为必要支出,属于司法解释所规定的经济损失;且金额在1万元以上,故本案已达情节严重。但由于涉案信息并未被泄露,被告人没有违法所得,对于被害人主张的其他经济损失,本院不予认定。综合考虑被告人的认罪态度、犯罪情节、社会危害性等,结合公诉机关的量刑建议,判决:被告人L犯非法获取计算机信息系统数据罪,判处有期徒刑九个月,并处罚金人民币一千元。

【实务操作启示】

由以上案例分析,笔者尝试归纳如下启示要点,供软件开发者及程序员在软件开发、源代码保护等实务操作中,作为参考:

**1. 软件开发企业应该做好核心源代码的保密工作,防止员工不当使用或泄露。**本案中A公司可谓采取了非常完备的加密手段,但千防万防“家贼难防”,最终还是导致核心源代码被上传至网上,虽然说没有扩散传播,但潜在风险已经形成。所以可以说,建立保密系统、购买保密软件等只是一方面,另一方面还应该做好员工日常保密培训工作,提高员工相关法律意识,让员工意识到,有哪些红线是不能碰的,如果碰了不只是丢了工作的问题,可能会面临牢狱之灾。

对于软件开发企业,笔者认为,以下措施属于基础必备的措施:在《劳动合同》中约定员工在职开发软件相关知识产权权利归属于公司,同时签订《保密及竞业限制协议》,约定员工对源代码的保密义务及竞业限制业务。在技术层面上,对核心源代码的管理,应限制并记录员工登录及操作行为,如采用VPN统一安全授权、SVN账号密码加密授权,账号密码每人唯一等方式。

当然除技术措施外,开发企业还应该制定配套制度流程,对于员工能否使用以及如何使用源代码进行具体规定,比如规定员工能否复制源代码、员工能否将源代码上传局域网、互联网,互联网是否包括GitHub等代码平台。

2. **程序员应该提高自身法律意识,正确看待自己编写的源代码及所任职公司的全部源代码,不要怀有侥幸心理。**程序员在职期间编写的源代码,大多数公司都会在《劳动合同》中约定相关知识产权归公司所有,从法律上讲,履行公司职务开发的软件产品,属于职务作品,开发人员个人无权随意自行使用或者披露给他人使用。

上述案例中,在L被判刑后,理论上A公司仍可以对其提起民事诉讼,要求其赔偿经济损失,因为刑事判决并未解决被害人遭受损失的问题,A公司仍然可以以技术秘密被侵害为由,要求L承担给其造成的经济损失。而且对于技术秘密而言,L将源代码上传至其个人网盘那一刻,侵权行为即实施完成。

另外,从法律角度,软件源代码既可以享有著作权,也可以构成技术秘密,实践中遭受侵害方,除了采取本案的非法获取计算机信息系统数据罪,可能还会以侵犯著作权罪或者侵犯商业秘密罪,向公安机关报案,当然每个罪名构成要件不同,受害人肯定会选择成功概率大的进行报案。一旦被判刑,不管是有期徒刑,还是缓刑,程序员先前的积累及努力,都可能毁于一旦,所以在涉及源代码复制、公开或者上传等操作前,一定要“三思而后行”,常怀“红线不可碰”之心。

【关联知识】

【《刑法》中与计算机、软件、源代码相关的罪名】

我国刑法(2020年修正)中与计算机、软件、源代码相关的罪名,笔者尝试整理如下:

第二百一十七条:【侵犯著作权罪】

第二百一十九条:【侵犯商业秘密罪】

第二百八十五条:【非法侵入计算机信息系统罪】【非法获取计算机信息系统数据、非法控制计算机信息系统罪】【提供侵入、非法控制计算机信息系统程序、工具罪】

第二百八十六条:【破坏计算机信息系统罪】【拒不履行信息网络安全管理义务罪】

第二百八十七条:【非法利用信息网络罪】【帮助信息网络犯罪活动罪】

【源代码保护:软件著作权和技术秘密】

从法律角度,对于软件源代码的保护,可以从软件著作权角度,也可以从商业秘密(技术秘密)角度,当然还可以从专利角度(此处不做展开)。

对于著作权保护,源代码首先要符合作品的构成要件——独立创作+具有独创性,而且著作权只保护表达,而不保护思想,对于源代码中的算法等内容,较难受到著作权的保护,因为算法本质上属于思想,而不属于表达。

对于技术秘密保护,不区分思想还是表达,所以理论上算法是可以以技术秘密来主张保护的,当然技术秘密保护也有严格的条件——秘密性+价值性+保密性,即不为公众所知悉、具有商业价值、采取了保密措施。

实践中开发者根据自身情况,对源代码采取分级保护策略,并采取相应的防泄露措施,无论对于源代码保护还是后续维权,都是非常有必要的。