吴国平 北京市隆安律师事务所
笔者曾承办多起程序员犯罪的相关案例,涉及的罪名包括侵犯著作权罪、非法侵入计算机系统罪、非法获取计算机系统数据罪和提供侵入、非法控制计算机信息系统程序、工具罪。因为在诸多案例中,我们即有作为实施犯罪程序员辩护人的经历,同时也有作为被害人代理人对程序员进行控告的经历,不同的地位、不同的视角,使得我们对程序员犯罪的特点有了更深入的了解,这有助于律师对同类案件的分析、预测,同时亦有助于软件企业、游戏公司对自身员工的管理和犯罪预防。
行为心理学认为程序员的犯罪行为都受公司文化影响,至少是重要的犯罪诱发因素。决定程序员犯罪行为的因素,固然与其成长经历、家庭环境相关,但是公司是程序员所处的环境会引导或者塑造程序员如何行事。
- 公司未及时发现犯罪
公司内犯罪行为未被及时发现或者未得到及时惩治,导致程序员不断观望的心态逐渐失去平衡。
作为高科技犯罪之首的计算机犯罪,其特点就是程序员正常的工作同犯罪活动在工作形式上很难区分,而且在犯罪行为,例如侵入数据库修改数据或者下载数据、删除日志都可以在秒级的时间内完成,很少或基本不留任何痕迹。尤其是游戏公司内部,程序员在编程设计和操作过程中所进行的非授权活动,例如在数据库程序中嵌入特定的触发条件语句,即使在该程序员已经离职后,仍然可以触发并使得该程序员实际控制的游戏账户装备增加并从中获利。通常情况下,因为游戏公司玩家数量大多在千万的数量级,在缺乏数据核验和日志审查的情况下程序员犯罪很难被人察觉。
国外有资料表明,在程序员犯罪的案件中,已发现的案件只占实际犯罪行为的5%-10%,而已向公安机关报案件中,破案率不到10%。据中国有关互联网安全技术专家推测,已发现痕迹的程序员犯罪只占实际犯罪的5%。
在笔者经办的游戏公司程序员犯罪案例中,嫌疑人被警方抓获后,还供述了其掌握的其他人员犯罪线索,当警方质疑为什么在工作期间未及时举报其他人犯罪线索时,嫌疑人供述公司内部不同程序员彼此独立犯罪,但是又事实上又相互掩盖罪证的默契文化。
2、公司未能突破公安机关“立案难”的障碍
以破坏计算机信息系统罪定罪和非法获取计算机系统数据罪的案件数量快速增加,但是因为该类案件专业性强、技术性强,司法实践中基层干警的相关技术和办案经验缺乏,不同地区的公安机关和检察院对该罪的理解与法律适用存在分歧,因此导致实践中不能对此类犯罪形成有效打击,被害人无法按照预期突破“刑事立案难”。
根据务实的经验,被害人刑事控告时需提交证明网络攻击犯罪发生、证明危害后果达到追诉标准的证据,但是被害人的举证能力很难完整证明犯罪嫌疑人线上身份和线下身份同一性,同时对于团伙犯罪中各成员在犯罪中的分工、地位和作用等只能猜测而缺乏举证能力,被害人仅能掌控的日志,也可能因为嫌疑人删除或者过期被自动清除而无法成为立案依据。
更为重要的,公安机关对追溯标准有着苛刻的要求,现实中部分被害人经济损失并不能全面、准确反映犯罪行为所造成的危害。被害人不可能完整掌握嫌疑人的获利数额,对这类案件,公安机关依然要求被害人提供确切证据证明违法所得或经济损失数额符合立案追溯标准,这客观上造成“刑事立案难”。
笔者承办的案件中,被害人实际经济损失的数额并不大,同时也无法全面掌握嫌疑人的获利数额。被害人自己评估无法立案,笔者全面了解案件细节后,经过细心组织,最终协助被害人准备了相关证据,并且最终完成了刑事立案流程。
所以,很大一部分被害人无法完成刑事立案流程,其根本原因是无法全面了解公安机关的要求,不了解公安机关内部的运作机制,同时也缺少协调第三方机构对相关技术问题、损失数额进行梳理的能力。当然,缺少有丰富经验律师的协助也是重要的因素,笔者曾承办湖南警方、江苏警方、广东警方、山东警方、河北警方、北京警方等多地程序员犯罪的案件,深刻体会各地公安机关办案的差异,有兴趣对此交流的软件公司或者程序员可以通过邮件与笔者联系hanswu@188.com。
3、软件公司或者游戏公司对程序员的人文关怀不足
程序员希望自己的技术成果可以做到一鸣惊人,以便得到更多认可与尊重。程序员上述心里特点导致其在工作过程中,眼里只有代码,而公司管理人员则专注于绩效、奖金和惩罚忽视了程序员的心理需求,人文关怀的不足造成程序员成为群体中的“孤岛”。
程序员“闷骚”的个性恰恰与对内心对人文关怀的渴望形成了对比,但是公司管理层常常将程序员视为生产代码的机器,大家只关注他提交的工作成果,而不关注程序员的日常工作状态。另一方面,社会的压力导致很多程序员对未来前景常有持续的焦虑,又得不到解决。最终程序员产生倦意并对公司管理产生抗拒情绪。
另外一方面,被团队成员排斥,因此更有可能引发程序员犯罪。被边缘化和被团队排斥可能导致公司管理目标失效,使得程序员关注与团队目标毫无关联的其他技术。程序员喜欢研究、创新的特质可能引导他们最终走上犯罪道路。
针对这一情况,软件公司应当在员工招聘时适时引入心理评估的程序、在日常管理中为员工提供宣泄消极心理的活动和渠道、对管理层的评估指标中加入与基层程序员互动沟通的有效率指标。
4、程序员思维与法律思维的差异
程序员需要精确的数学思维,这种思维使程序员也不自觉地应用到社会生活中。他们通常不喜欢与不喜欢的交往或争论,因此在社交生活中人们认为他们是不活跃的成员,这也是为什么他们总是看起来非常安静的原因。管理人员通常认为,程序员是内向的人,虽然这并不完全正确。
程序员更关注实现目的的技术路径,例如通过在程序中嵌入自动修改游戏装备的脚本以获取游戏装备,通过技术努力,一旦验证了目的可以实现,则程序员的思维至此结束了,后续清理日志的操作已经是非常谨慎的“法律思维”。无论如何,在某个技术方案实现的过程中,无论这个方式是合法的还是非法的,程序员都会获得心理上的成就感,并且在这个过程中所使用的思维,也是程序员所无法避免的。
在一起程序员非法获取游戏玩家账户的案件中,程序员控制账户的思路如下:只要取得游戏账号的控制权,就直接取得了虚拟财产的控制权和处置权。而登录密码可以通过玩家邮箱和身份证信息更改,从而取得控制权。上述技术路径在实践中程序员以签订电子合同购买游戏账号为名,诱骗游戏玩家向其提供真实身份资料、电子邮箱,最后以技术手段破解邮箱密码,进入玩家邮箱获取游戏账号资料,其后再冒充玩家将伪造的身份资料发送至邮箱服务器修改账号安全码。程序员在获得游戏账号安全码后,在线上售卖游戏账号及虚拟物品牟利。在上述过程中,法律思维会考量上述技术路径中程序员遗留的侦查线索,包括骗取账号的沟通记录、邮箱服务商留存的账户登录信息、叫卖账户的记录、出售虚拟财产的沟通记录、银行流水单等,而这些都是程序员的思维模式中不曾考量的。
在另外一起程序员非法获取游戏账户的案件中,程序员设计木马程序并引导游戏玩家点击,随后将木马程序植入玩家计算机系统,在上述玩家登陆网络游戏时,木马程序自动运行并后台盗取游戏账号和密码,在上述过程中程序员遗留的侦查线索有:与共犯开发木马程序的沟通记录、与租用网络服务器沟通记录、玩家网页登录的账号留存信息、与游戏账号买主的沟通记录、新买主转账给程序员的转账记录、新买主登录账号的记录等等。
通过以上实例,程序员思维关注的焦点是实现的目标,这类似于软件开发过程中首先需要确定开发需求,工作习惯养成的职业思维使得程序员在犯罪的过程中,并不像法律思维那样更关注程序的合法性、证据的真实性和关联性。笔者在为程序员辩护的案例中,在看守所会见程序员时发现,尽管有些程序员具有一定的反侦察意识,但是对于法律思维、犯罪后果仍然缺少必要的了解。笔者建议在计算机专业的大学课程中,应当将必要的法律课程引入程序员的基础教育中,以此来减少程序员犯罪的比例。
作者邮箱hanswu@188.com