【202116033】提供侵入、非法控制计算机信息系统程序、工具罪的构成要件分析


首页>>司法实务>>人民检察(2021-2030)>>正文


 

 

【202116033】提供侵入、非法控制计算机信息系统程序、工具罪的构成要件分析
文/李云鹏

  作者单位:重庆市南岸区人民检察院第六检察部
  摘要:
  根据法律及相关司法解释规定,具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权对计算机信息系统实施控制的功能的程序或工具是“专门用于侵入、非法控制计算机信息系统的程序、工具”。对行为人开发相关软件,虚拟第三方应用程序真实运行环境信息,并对应用程序进行安全识别予以干扰的行为应认定为犯罪。此外,软件著作权登记、格式性禁止违法使用提示及多种功能并存不能排除“专门性”的认定,不能成为免责事由。
  期刊栏目:互联网金融犯罪及相关问题研究专栏
  关键词:侵入非法控制计算机信息系统安全保护措施
  当前,随着互联网应用技术不断更新,危害计算机网络安全的犯罪形式、手段层出不穷。对提供侵入、非法控制计算机信息系统程序、工具的犯罪行为予以惩治是遏制网络黑产业的有效手段。对于司法实践中该罪认定中存在的法律适用争议,有必要深入分析和研究。
  一、基本案情与法律适用争议
  (一)案情简介
  余某与沈某共谋开发一款“改串”软件销售谋利,后沈某开发完成一款具备一键新机、全息备份与恢复、随机地理位置等功能的软件,二人将其命名为“NZT一键新机改串系统软件”(以下简称“NZT”),并在国家知识产权局进行了著作权登记。据源代码显示,该软件的核心功能为:在已越狱的I0S系统(苹果系统)下,提高设备运行速度,快速备份资料,一键修改APP可能读取到的所有参数信息,拦截APP获取设备真实参数信息。即该软件可以虚拟第三方应用程序根据用户协议所必须获取的手机设备真实运行环境信息,并对第三方应用程序进行安全识别予以干扰。NZT的技术原理是通过环境变量把两个动态数据库注入应用程序中,通过动态数据库注入将UIKIT(前端框架)中的多个方法进行挂钩,使应用程序需要调用前端框架中的方法时,错误调用NZT注入的动态数据库中的方法,当应用程序读取设备信息时,NZT会生成并提供包含虚假设备信息的文件,从而突破应用程序正常的程序逻辑。
  该软件开发后,余某通过网络对外销售,并发展了郑某等二级代理商。出于对郑某的信任,余某授权郑某建立NZT官方网站并负责网站的日常维护管理。客户购买NZT并安装运行后,便可干扰社交软件、支付软件系统的正常运行,从而造成安全风险。为此,相关社交软件、支付软件公司升级了安全识别等级,使NZT的使用条件受限,后客户反馈此情况,沈某持续对NZT进行技术维护和升级,对上述社交软件、支付软件的安全识别技术进行对抗。
  (二)法律适用争议
  根据刑法第二百八十五条第三款,提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,以提供侵入、非法控制计算机信息系统程序、工具罪定罪处罚。最高人民法院、最高人民检察院《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》第二条第二项规定,“具有避开或者突破计算机信息系统安全保护措施,未经授权或者超越授权对计算机信息系统实施控制的功能”的程序或工具是“专门用于侵入、非法控制计算机信息系统的程序、工具”。比照上述规定,该案争议焦点有以下几个方面:一是客户端是否属于第三方应用程序,也即计算机信息系统的一部分,对客户端本地文件系统的操作能否认定为对计算机信息系统的操作;二是插件注入广泛存在于杀毒软件等正常的应用运行模式中,NZT的插件(动态数据库)注入是否属于正常的基础技术操作,能否认定为“侵入”“控制”;三是计算机信息系统安全保护措施如何定义,风险防控机制是否等同于安全保护措施;四是著作权登记、格式性禁止违法使用提示及多种功能并存能否证明软件属”中性”,从而排除“专门性”的认定。
  二、评析意见
  在法律及司法解释已经对犯罪构成要素有明确规定的情况下,认定该罪的关键是分析案件事实与犯罪构成要素的符合性。
  (一)计算机信息系统及其数据的全面理解
  2011年国务院《计算机信息系统安全保护条例》第二条规定,计算机信息系统,是指由计算机及其相关的和配套的设备、设施(含网络)构成的,按照一定的应用目标和规则对信息进行采集、加工、存储、传输、检索等处理的人机系统。《关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》第十一条规定,“计算机信息系统”和“计算机系统”,是指具备自动处理数据功能的系统,包括计算机、网络设备、通信设备、自动化控制设备等。上述行政法规及司法解释均对计算机信息系统进行了定义,应对其进行全面、动态、整体的理解。
  首先,第三方应用程序由服务器、客户端程序和两个对端所建立并传输的封包数据组成,上述组成要素是第三方应用程序实现数据储存、传输、运行等处理不可或缺的系统结构,对任何一个环节的数据进行的非法操作,包括复制、篡改、删除等,均属于对计算机信息系统的操作。原因在于:第三方应用程序的运行过程是服务器和客户端进行数据交互的动态过程,服务器和客户端并非孤立存在,服务器存储的数据是无生命的,存储本身并不具有实质性的应用意义,程序的设计和开发是为了使用数据和实现数据的循环运转;而客户端作为开放给用户的一个端口,承载着数据传输和数据最终呈现的功能,且受服务器处理能力限制,客户端程序在运行过程中也会储存并处理服务器传输的程序数据,这是一个循环且相对封闭的系统。因此,构成第三方应用程序的计算机处理系统是一个包含了服务器、客户端和封包数据的有机整体。也即在分析、理解计算机信息系统时,最重要的是应明确其是对信息和数据加工、处理、传输的过程,而不应将一个个处理数据的终端设备割裂、孤立地看待。
  其次,虽然目前尚无法准确认定客户端数据的权属,但客户端数据并非由客户依靠自身智力或操作行为建立和生成,其在更大层面上是由程序开发者依靠技术操作建立和生成,并在客户端进行与客户本身个性化操作相关的应用数据的记忆性和规则性储存。对客户端及其数据的使用,应当遵循双方的协议和规则,对客户端数据及规则的保护则是计算机信息系统保护的应有之义。
  从该案来看,NZT对客户端、本地文件系统进行的操作,一方面会对本地文件系统产生影响,另一方面改变了第三方应用程序注入动态数据库代码的执行,并通过虚拟数据欺骗服务器。上述一系列操作影响了服务端,进而影响了整个第三方应用程序,且对本地文件系统的非法操作并不被应用程序的正常规则所允许。综上,NZT不是单纯地剪切用户沙盒内的文件或简单的文件管理,其通过上述一系列操作,最终使第三方应用程序做出错误判断,改变正常的运行规则,因而其对客户端文件的增加、删除、修改都应视为对计算机信息系统整体的操作。
  (二)“侵入”与“控制”的理解
  第一,“侵入”的分析。一般认为,所谓侵入计算机信息系统,是指未经授权或超越授权,获得增加、删除、修改或者获取计算机信息系统存储、处理或者传输的数据权限的行为。也就是说,“侵入”是一种权限获取手段。虽然Windows、Linux等平台上存在杀毒软件、防火墙、输入法等主流应用程序(软件)使用动态库注入的情况,但这种注入主要是为了甄别合法应用程序与病毒程序。同时,因计算机信息系统是第三方应用程序的服务器端与客户端正常通信的整体系统,NZT对于I0S系统的影响是手段,根本目的在于对第三方应用程序的客户端、服务器端造成影响。NZT实现其目的所使用的技术手段及操作过程均反映出其注入插件是为了对主程序产生干扰,因而可以认定这种注入行为是对该第三方应用程序计算机信息系统的“侵入”行为。综上,NZT的制作和运行原理是在未经授权的情况下对第三方应用程序的数据进行篡改,符合“侵入”的本意。
  第二,“控制”的分析。这里的“控制”指刑法层面上的“非法控制”。“非法控制”行为的本质在于未经授权或者超越授权获取他人的操作权限,其目的是控制计算机信息系统执行特定的操作,至于他人的控制权限是否丧失则在所不问。[1]从另一个角度看,所谓控制,是使第三方应用程序按照操控者的想法运行,或者使第三方应用程序无法按照既有的设定规则运行。该案中,根据支付软件用户协议以及社交软件许可及服务协议,用户使用相关APP时必须承诺不得对系统和程序(包括但不限于源程序、目标程序、技术文档、客户端至服务器端的数据、服务器数据等)进行复制、修改、编译、整合和篡改;不得自行或授权他人、第三方软件对本软件及其模块、数据进行干扰,否则即属于未经授权的违规行为。用户利用NZT实施反向操作,对第三方应用程序创建的文件系统进行增加、删除、修改,造成第三方应用程序持续读取到由NZT提供的虚假信息,从而干扰第三方应用程序对系统设备运行环境的识别,这即构成对第三方应用程序的一种非法控制。
  (三)安全保护措施的合理界定
  从文意理解上看,计算机信息系统安全保护措施与风险防控措施不完全一致,但从本质上看,安全保护措施可以理解为风险防控措施的一部分。二者虽不能直接等同,但也绝非对立。技术层面的防护、人的参与、规则的设立,构成了较为完整的安全保护措施,而风险防控往往是在安全保护措施的同时或基础上,又针对其他风险采取的更多措施。
  具体到该案中,根据NZT的技术原理和设计目的,其是通过干扰第三方应用程序获取真实信息,绕过安全检测,使第三方应用程序发生识别错误,无法按照既有设定的安全防护规则进行有效认证,最终避免被第三方应用程序采取封号等安全处置措施。那么,是否只有技术层面的防火墙等才能称之为安全保护措施?笔者认为,防火墙属于安全保护措施,是一种基于计算机技术的工具性措施,同时其对计算机信息系统自身安全及安全运行进行的所有保护行为,都应理解为安全保护措施。最为关键的是,该案中,相关社交软件、支付软件的安全保护措施不仅是人力层面的识别和风控,更在于所有识别和风控的基础是在技术层面设置的、基于不同识别信息符合程度的硬件识别机制,而该机制设置的目的是确保软件安全运行,应当将其认定为计算机信息系统安全保护措施。那么该案中,在第三方应用程序开发者发现用户利用NZT实施干扰、控制行为并采取封号等处置措施时,行为人又根据用户反馈对NZT进行升级,如在虚拟通讯录中自动生成姓名与对应的电话号码,以假乱真,致使第三方应用程序无法对设备的真实运行环境进行安全识别,这种行为实质上是对计算机信息系统安全保护措施的规避。
  另有观点认为,避开安全保护措施与实施非法侵入或者获取数据必须是一前一后的关系。但如上文所讲,并非只有基于服务器端设置的安全技术工具才是保护措施,第三方应用程序识别及识别干扰、控制行为后的处理均属于保护措施。NZT通过相应操作,在数据交互中使用虚假数据欺骗服务器,绕过服务器网络认证机制进而使第三方应用程序无法按照既有设定的规则和执行逻辑进行后续操作。此时,NZT对计算机信息系统的干扰和控制行为是基于侵入后的操作,迫使相应的安全保护措施无法发挥作用。因此,“侵入”“控制”与避开安全保护措施不存在先后关系,二者可能同步也可能交换顺序。
  (四)“专门用于侵入、非法控制计算机信息系统的程序、工具”的综合判断
  第一,从法理上看,“专门性”本身排斥”中性”。上文已对“专门用于侵入、非法控制计算机信息系统的程序、工具”的认定要素进行了详细分析,但仅仅具备上述要素是否应受到刑罚处罚,“专门性工具”与“中性软件”之间的关系应如何理解?笔者认为,工具、程序只要在功能性上具有“专门性”,符合法定的“专门性”认定规则,那么就具备非法性,该工具也就具备法益侵害性。“菜刀理论”认为菜刀可以切菜也可以杀人,其存在本身没有非法性,而提供者自然也不具备责难事由。但是,当一个工具不能以菜刀评价,而应当以一把“枪”作评价时,制售、提供该工具都必然具有法益侵害性。因此,工具的主要用途和功能是评判其是否具有非法性的重要标志,其内在逻辑是,技术必然会产生效用,但效用状态取决于技术使用者用技术所追求的利益、目标和价值;技术的社会效果必然会实质性地影响技术功能。无论何种工具,其功能意义的结构是由社会语境所塑造的,而非技术的客观属性所决定。[2]其实,技术在使用时,在功能塑造的过程中都不中立。对我们而言,有意义的只是法与不法的价值评判,而绝对没有中立价值,只要符合犯罪构成要件,符合刑法的价值追求,就应当课以刑罚。
  第二,著作权登记不是推断合法性的依据。国家版权局对著作权的审查依据是国务院《计算机软件保护条例》和国家版权局《计算机软件著作权登记办法》,其对软件著作权的登记审查为程序性审查,而非实质性审查,主要对技术或产品成果的独创性进行确认,并不对软件的合法性进行认定。因此,不能以著作权登记来推定NZT的合法性。
  第三,格式性禁止违法使用提示不是免责理由。首先,应考察软件制售者、提供者是否负有对软件非法使用的监督、管理义务。根据国务院《互联网信息服务管理办法》等相关规定,互联网信息服务提供者及技术、工具的提供者,必须依法开展网络活动,同时应当履行监管和上报义务,否则将承担包括刑事处罚在内的所有法定责任。按照上述规定,这种法定义务的设置决定了工具提供者具有“保证人”的地位,其对制售、提供的工具在应用场景中出现或可能出现的任何非法情形,都应当及时采取措施予以管控和制止。[3]
  其次,还应考虑工具提供者对他人所实施的涉嫌违法犯罪活动在有能力管控时是否进行了有效管控。这既涉及期待可能性的问题,也涉及管控责任(防控和改正)的严格要求。当存在技术管控可能时,行为人必须承担强制性的管控责任。如果客观上不存在技术管控可能性的,则不构成犯罪,但如果有能力进行管控而未采取措施的,则可能成立犯罪。另外,需注意的是,如果工具天然具有非法性,且无法通过技术手段进行管控,则属于对管控责任的放弃和无视,那么也可能成立犯罪。
  该案中,虽然行为人设置了所谓的“不能用于违法用途”的提示性条款,但基于工具天然的非法性,且行为人没有对该工具在使用中对第三方应用程序所造成的影响进行技术上的防止。结合客观情况,NZT的主要卖点是对第三方应用程序进行干扰、控制,那么其本身也不可能设置阻碍该功能实现的技术,因此,格式性的禁止违法使用提示只不过是掩人耳目,不能据此免责。
  第四,判断“专门性”的关键标准是工具、程序的主要功能。有观点认为,NZT除了“一键新机”功能外还具备其他功能,当多种功能并存时,难以认定其“专门性”。从法律依据上看,刑法及相关司法解释未作上述限定,同时上述限定亦不符合犯罪的发展变化和技术语境。从该案来看,NZT的主要、核心功能就是“一键新机”,即通过修改计算机设备可读取的系统参数,拦截第三方应用程序获取设备真实的参数信息,从而实现对第三方应用程序正常运行的变相控制,NZT的其他功能仅是配合“一键新机”功能的实现,是辅助性功能。况且,行为人不可能严格按照违法要件设计软件功能,更多地会避免违法功能过分显现,此时,软件的主要、核心功能与其他功能间的关系往往可以体现出软件制作者的终极目的。
  [编辑:张倩]
  【注释】
  *重庆市南岸区人民检察院第六检察部副主任,二级检察官。
  [1]参见王禹:《计算机信息系统犯罪的行为透视——以"破坏”和“非法控制”的界限与竞合为视角》,载《江西警察学院学报》2019年第2期。
  [2]参见郑玉双:《破解技术中立难题——法律与科技之关系的法理学再思》,载《华东政法大学学报》2018年第1期。
  [3]参见杨晓培:《网络技术中立行为的刑事责任范围》,载《东南学术》2017年第2期。