被告人张超杰于2017年至2019年在本市海淀区运营北京得牛科技有限公司期间,开发大牛助手APP并通过互联网推广该APP 10万余人次。大牛助手APP可对被害单位阿里巴巴(中国)有限公司开发的钉钉系统处理、传输的地理位置数据进行未授权地干扰,破坏钉钉系统获取用户真实地理位置的功能。经鉴定,大牛助手APP为破坏性程序。
张超杰供述:“大牛助手可以进行其他APP的多开分身使用,其和数据部交代过在不改变其他APP源代码的情况下,通过虚拟位置信息、wifi信息和照片信息,对其他APP该类信息进行修改。当用户使用其他APP不想暴露自己的位置信息时,大牛助手APP就对用户的位置进行遮蔽,当用户想要修改自己位置信息时,大牛助手可以进行修改,修改时打开大牛助手APP,将需要改变定位信息的APP添加到大牛助手的列表中,点击模拟定位功能,然后在地图上选择需要修改的位置即可。大牛助手的新注册用户有12小时免费试用时间,包月会员是每月25元,年费会员是每年89元,用户通过支付宝和微信支付,目前其公司通过大牛助手APP一共赚了四五百万元。其咨询过律师和朋友,大牛助手APP没有改变其他需要使用虚拟定位功能APP的源代码,只是改变了它回传到服务器的位置信息。”
得牛安卓开发工程师李某:“有些手机定位软件读取位置信息,大牛助手可以虚拟一个位置让手机软件读取虚拟的位置信息,通过这种方式即使人没在公司也可以远程打卡,钉钉软件读取的结果是在公司已签到。软件读取用户选择的位置而不是真实位置是因为大牛助手拦截了读取的手机GPS信息,把之前储存好的位置信息反馈给读取软件,在大牛助手软件下打开了一个虚拟环境,相当于有一个root权限,有这个权限后就可以读取装在这个环境下的软件参数,达到修改参数和返回值的目的。其公司主要就是靠大牛助手软件会员费获利。”
阿里巴巴员工周某:“发现该软件绕过了“钉钉”无限安全保镖模块,劫持了“钉钉”平行空间检测接口,当“钉钉”的平行空间检测接口需要获取设备信息时,大牛助手通过重放技术伪造虚假数据,直接向“钉钉”的平行空间检测接口传输虚假数据,造成伪造打卡记录,干扰“钉钉”系统的正常运行。“钉钉”是其公司运营的一款类似于微信的即时聊天软件,是在互联网上使用的,其公司提供服务器支撑,所有的数据传输都是通过互联网系统,用户的手机客户端和其公司的数据服务器之间进行数据交互,从而完成“钉钉”软件的所有功能,该软件的独特功能就是可以进行公司考勤打卡、会议、请销假等企业管理功能。”
判决主文:“本院认为,被告人张超杰故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果特别严重,其行为已构成破坏计算机信息系统罪,应予惩处…经查,在案证据显示,被告人张超杰在组织研发大牛助手APP过程中,其行为涵盖了市场调查、研究开发、软件测试、应用上架、定价收费、客户服务、升级更新等软件开发、推广、维护的全部流程,在上述过程中,被告人张超杰依据市场需求向技术人员提出产品意向和设计要求,其对大牛助手APP根据用户设置而向包括钉钉在内的其他应用程序返回虚假数据的功能不仅存在明知,还根据用户反馈的问题对大牛助手APP进行兼容优化和更新并以此做为最主要的牟利手段,故被告人张超杰对于大牛助手APP对其他应用程序与服务器之间传输的数据进行未授权地干扰持积极的追求态度,主观上具有破坏计算机系统的故意。大牛助手APP的运行阻断了钉钉服务器与用户之间的正常数据交换并通过返回虚假数据对钉钉服务器获取用户真实地理位置功能进行未授权地干扰,造成计算机系统无法正常运行,经鉴定为破坏性程序;该软件已经按照被告人张超杰的设计初衷被实际应用,造成了相关企业的管理混乱以及钉钉软件开发者的损失,被告人张超杰制作、销售上述软件的行为在直接妨害企业正常经营管理秩序的同时为其带来了巨额经济利益,已经造成了相当的法律后果。”
法院的判决逻辑:
1、钉钉的功能是获取用户真实地理位置
2、涉案软件阻断了钉钉服务器与用户之间的正常数据交换,并返回了虚假数据,未授权地干扰了钉钉获取用户真实地理位置的功能,造成计算机系统无法正常运行
3、涉案软件是破坏性程序
问题:
1、钉钉的功能是不是获取用户真实地理位置?
钉钉作为计算机信息系统,其功能不是获取用户真实地理位置,而是获取用户提供的位置数据。至于位置数据真实与否,是决定提供位置数据的用户自己有权控制的。
“计算机信息系统功能”,是指在计算机中,按照一定的应用目标和规则对信息进行采集、加工、存储、传输、检索的功用和能力。
因此,本案中的功能是钉钉的客户端采集用户手机位置数据信息,传输到钉钉服务器的功能。至于地理位置是否真实,取决于用户手机提供的位置数据是否真实。而位置数据是否真实不是钉钉所能决定或影响的,更不是钉钉的功能,而是钉钉功能所指向的信息对象。一审判决在这一点上,模糊不清,并没有论证功能包含数据的“真实”,而是当然地认为获取的位置数据必须是也应当是真实的。
无论是基于企业考勤还是别的理由使用钉钉软件打卡,都无法当然得出钉钉的功能包括获取用户的真实地理位置且是不容破坏的,否则就会进而得出,用户必须/有义务将真实地理位置提供给钉钉。这是大众所不能接受的隐私底线。这种功能更不可能是受到法律保护的。
一审判决混淆了钉钉程序本身的功能、功能使用者基于功能的目的和企业-员工之间的劳动合同义务。
App的位置(定位)授权不等于app用户必须时刻将真实地理位置提供给app。用户有权随时撤销、终止授权,更有权在不取消位置(定位)授权的情况下,向app提供虚拟位置信息。
实际上早在2014年,为了应对诸多软件不开定位等授权就无法使用的流氓行径,360专门开发了软件,可以伪装地理位置等。这在当时是作为优秀的隐私保护软件受到媒体宣传。为什么到了2021年,在用户多年后好不容易能够授权或者不授权位置信息采集而不被偷偷采集的时候,这曾经的隐私保护软件变成了破坏性程序?实际上在近年来的个人信息保护浪潮和隐私保护趋势下,各大手机操作系统(例如鸿蒙、小米)都在系统层面,让手机用户有权决定特定app是否可以取得手机实际地理位置,或者向特定app提供虚假地理位置。
只能说,这个刑事判决对近年来个人信息决定权以及隐私保护趋势的颠覆性是不言而喻的。可能,这真的是个裸奔的时代,你是谁,在哪里,做什么,都被人看得一清二楚,连想躲避目光也是违法犯罪。
2、功能是否被干扰?
“干扰”是指用删除、修改、增加以外的其他方法,破坏计算机信息系统功能,使其不能正常运行。
干扰和删除、修改、增加并列,手段上具有相当性,对计算机信息系统功能造成破坏性影响。本案中钉钉的功能是获取位置数据,干扰该功能应是指钉钉无法获取位置数据,使其不能正常运行。很显然,涉案软件无法干扰钉钉获取位置数据,只不过获取的是用户决定提供的虚拟定位信息。
举个简单的例子,微信发朋友圈时可以进行定位。如果微信用户不想透露自己的真实位置,而使用涉案软件虚构了一个位置信息供微信读取并定位了虚构的位置,微信读取位置数据的功能没有遭受干扰或者破坏。
再退一步说,如果有人在注册钉钉app的时候使用虚假的人名、性别、年龄,是不是可以认定干扰了钉钉获取用户真实个人信息的功能?
关于阻断钉钉服务器与用户的正常数据交换,这不是钉钉的功能范畴,实际上是绕过环境检测后,用户依旧提供了数据,也传输到了钉钉服务器。
3、未授权干扰?谁可以授权?授什么权?
一审判决虽未表明,但透露出了一个逻辑,即有人授权的情况下可以干扰钉钉获取用户真实地理位置的功能。
是钉钉授权吗?显然不是。钉钉是app服务提供者,接受服务的用户提供数据的真实性与否,不会影响钉钉的功能,更不可能由钉钉授权。
是企业授权吗?更不是。企业也只是钉钉用户而已,只不过与个人用户类型不同而已。
那只能是用户自己不想提供真实地理位置,作为用户自行授权或不授权。
4、本案是否违反国家规定?
这里的“违反国家规定”,是指违反国家关于保护计算机安全的有关规定,主要是指违反《中华人民共和国计算机信息系统安全保护条例》的规定。
一审判决没有就这部分进行论证,很奇怪。
5、涉案软件是不是破坏性程序?
“计算机破坏性程序”,是指隐藏在可执行程序中或数据文件中,在计算机内部运行的一种干扰程序,破坏性程序的典型是计算机病毒。“计算机病毒”,是指在计算机中编制的或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。
根据《最高人民法院、最高人民检察院关于办理危害计算机信息系统安全刑事案件应用法律若干问题的解释》第五条的规定,具有下列情形之一的程序,应当认定为刑法第二百八十六条第三款规定的“计算机病毒等破坏性程序”:(1)能够通过网络、存储介质、文件等媒介,将自身的部分、全部或者变种进行复制、传播,并破坏计算机系统功能、数据或者应用程序的;(2)能够在预先设定条件下自动触发,并破坏计算机系统功能、数据或者应用程序的;(3)其他专门设计用于破坏计算机系统功能、数据或者应用程序的程序。
前面已经论述涉案软件没有干扰钉钉的功能。如果认为涉案软件干扰了钉钉获取用户真实地理位置的功能,那就可以认为干扰了所有带定位授权的app,那基本上相当于专门针对所有app的破坏性程序。这种结论本身也是反常识的。
曾经的隐私保护软件,现在的破坏性程序?这“摇身一变”仅仅是因为判决认为钉钉的功能里包括获取用户真实地理位置?
最后,贴一个民众的反应。