文章
技术

我考察了几千条对话,找到了杭州马某某被国家安全部门抓捕的原因

背景



杭州市国家安全局对涉嫌利用网络从事危害国家安全活动人员马某某依法采取刑事强制措施。

2022年4月25日,杭州市国家安全局依法对勾结境外反华敌对势力,涉嫌从事煽动分裂国家、煽动颠覆国家政权等危害国家安全活动的马某某采取刑事强制措施,目前此案正在深入调查中。

法治日报记者向有关部门了解到,马某某,男,1985年出生于浙江温州,现任某科技有限公司研发部经理。长期以来,其在网上接受境外反华敌对势力“洗脑”,将境外活跃敌对分子视为“人生导师”,在其渗透影响下逐渐形成顽固的反政府思想,成为境外敌对势力“以华制华”的工具。马某某不仅充当境外敌对势力境内代理人、煽动分裂国家,还成立非法组织,制定“政治纲领”,煽动颠覆国家政权,更是将青年学生群体作为主要蛊惑煽动目标,鼓动学生参与抹黑祖国和民族的活动。

2022年3月以来,马某某利用互联网专业特长,匿名创建网络群组,肆意歪曲捏造事实,极力传播各类谣言信息,发表所谓“独立宣言”,煽动分裂国家、煽动颠覆国家政权,充当境外敌对势力在我境内的代理人。马某某屡屡扬言,其终极目标是颠覆国家政权,为此逐步升级“内奸”行径,着手制定反宣纲领,甚至筹备成立“大陆临时国会”,委托有关人员制定所谓“法律制度”,宣称要“借助境外的力量推翻中国政府”。






马某某的失误一:用中国大陆手机号注册推特和电报

从下面的对话可以看出,马某某(网名Ya Ya)的推特和电报账号均为国内手机号注册。中国大陆手机号和实名身份关联,对于大多数网友来说应该是常识,马某某为研发部经理,对此应该非常清楚。俗话说“淹死的都是会游泳的”,马某某在电报上“反共建国”,却又对自身安全如此疏忽,只能一声叹息。






马某某的失误二:网络身份隔离不彻底

搜集马某某的匿名身份不需要任何侦察或社会工程学技巧,因为马某某在国外网络平台上的账号,用户名一概叫“Ya Ya”,只要一搜便知。此外,马某某推特账号上明晃晃地写着自己的电报群,这是一个强有力的证据,可以证明他的账号之间的关联,也为国安定罪抓捕提供了便利。






马某某的失误三:泄露的个人信息太多

我在考察群聊时发现,尽管马某某一直声称自己在国外,但他在群聊时,却在多处无意暴露了自己在国内的事实。例如,马某某在4月18日下午4点,说“今天下午没什么人气”“接女儿放学”,在4月23日早晨8点,说自己“头还有点晕”“比昨晚好多了”,这些蛛丝马迹,都显示出他本人在国内。特别的,他在4月23日多次提到自己的“翻墙软件”,更是暴露出他本人就在国内的事实。

尽管这些社会工程学信息不足以直接定位他的身份,但也足够表明他在安全防范上的疏忽。






中国政府是怎么找到境外账号背后的人的?

这几年很多社交平台在注册时都要求短信验证,可以留心观察,国外大网站发往国内的验证短信,几乎全部是1069开头的号段。1069号段又称“三网短信通道”,使用该号段的企业,必须拥有《中华人民共和国电信与信息服务业务经营许可证》和《二类增值电信业务经营许可证》(俗称ICP证和SP证)。

按照中国现行法律,外资独资或外资控股企业,不允许在中国内地经营电信与信息服务业,因此1069短信一定经过了中资企业之手。不仅如此,按照工信部要求,1069的短信内容必须事先报备。可以合理地认为,只要中国政府愿意,就可以知道某个手机号,在特定境外平台注册账号的精确时间。尽管这不足以反过来找到境外账户背后的手机号码,但结合一些其它信息,足够把排查范围缩小到几十个人了。






推特的风险

前些时候,我和一些国内因言获罪的人士有过沟通,蹊跷的是这些人士几乎全部因推特上的言论被定罪。据我了解,有当事人用朋友的手机号注册了推特,结果警察找到的是他的朋友而非他本人,直到推主接到自己朋友的电话,要求他去派出所“配合调查”,这才让警察抓到推主本人。因此可以认为,国内警察有某种手段找到注册推特的人,并且这种手段一定与注册时用到的手机号有关。

我对推特的安全性进行了一些测试分析,这里不谈“李飞飞是中共间谍”等阴谋论,仅从推特的交互逻辑上,公安或国安部门即可通过推特的设计缺陷,运用背后的国家能力定位特定用户。可能的途径有三:

(1) 使用注册时间缩小排查范围

根据前面的分析可知,中国政府可以获知某个手机号注册境外平台的时间,因此只要知道某个境外账号注册的时间,就可以通过相同的注册时间,把境外账号和手机号对应起来。

遗憾的是,推特的注册时间是公开可见的。尽管推特的个人主页上的注册时间仅仅显示到月,但推特提供了API,可以通过此API查询精确到日期的注册时间。例如:

马某某的第二个推特账号:(存档

http://www.twitterjoindate.com/search?utf8=✓&name=yaya20221010&commit=Search

根据reddit社区和电报头部频道的关注量推断,推特中文圈的用户的数量约在十万这个级别(不含政府水军)。假设十万用户平均在5年内注册,那么在某个特定日期,推特中文圈新加入用户约为100000÷365÷5≈55人。这个估算是很粗略的,但即使误差有一个数量级,这样的人数也足以让安全部门极大地缩小排查范围,运用其它手段进行定点侦察了。

国安可能使用的定点侦察手段有:

  • 社会工程学:马某某在电报上提过自己有汽车,有一个女儿。根据这些信息,国安部门不难把侦察范围缩小到几个人,甚至直接定位到他本人。

  • 网络流量监控:公安或国安部门可以定点监控特定公民的翻墙流量,关联其翻墙流量的出现时间和境外网络账户的活动时间,找到特定的人。

(2) 不安全的密码恢复方式

推特的找回密码功能非常不安全,点击忘记密码,推特就会向推主的手机发送一条验证短信,同时显示手机的最后两位数字。有了这些信息,找到某个人就非常简单了。例如,安全部门可以先用注册时间把侦察范围缩小到几十个手机号以内,然后根据手机尾号找到账号背后的手机号;安全部门也可以直接拦截推特的1069短信,在同一时刻接收推特短信的号码,就非常有可能是该推主的号码。

(3) 客服人员的问题

推特的客服为外包,其人员素质参差不齐。理论上,即使隐藏了手机号(见下文),也可以向客服人员申诉忘记密码并发送一条恢复密码的短信。只要拦截这条恢复密码的短信,就可以用上文的方法定位特定用户了。






安全建议:为推特设置额外密码保护并绑定邮箱

根据上文的分析,理想的安全措施是不用国内手机号注册任何境外服务,只用国外的不记名的虚拟号码。然而,在现实中获取一个可以用来注册的国外虚拟号很困难。如果已经用了国内手机号注册了推特,只要做一些很简单的设置,就可以让公安或国安无法找到你。

设置额外密码保护之后,恢复密码前推特会要求输入手机号或邮箱进行验证,这避免了直接暴露尾号和恶意触发恢复短信。

但是请注意,只绑定了手机的推特并不安全。尽管设置额外密码保护之后,恢复密码时会被要求输入手机号验证,但是若安全部门通过注册时间缩小了排查范围,那么他们只要几十次尝试就可以试出正确的手机号。

因此,有可能请尽量绑定邮箱,绑定邮箱之后恢复密码会要求先输入正确的邮箱,不会有触发恢复短信的问题。

最后强调一点,如果某个国内手机号已经注册过推特,那么换绑手机并不会更安全,因为这部手机的号码已经和推特的注册时间关联到一起了。因此,上策仍然是尽量用国外虚拟号注册,彻底避免国内实名手机号带来的风险。

菜单
  1. tinypaper  

    非常好的总结。俺有几点评论补充:

    • 在不同平台使用同样或相关联的网络ID不是问题,只要所有的ID都是匿名的。总体匿名性由所有相关账号中安全性最低的账号决定。就是说,假如有100个账号,99个都完全匿名,但第100个和实名邮箱相连,那么全部100个账号都等于实名。

    • 国内进行推特操作(注册、登录、身份验证等)时,经常会遇到收不到验证短信的问题,收到的例子俺见到的都是从1069发出。俺认为,无论使用什么网站,凡是验证码从1069之类的中资通信平台发出,就不妨假设您的注册或登录记录(包括手机号,注册或登录的网站,注册或登录的时间)进入中国警方数据库

    附1:墙内手机谷歌的验证码从1065发出,俺查了查这种情况企业可以直接和三大运营商签约申请,对企业资质要求不如1069严格。

    附2:蓝宝石的说法是,推特+86号码直连User ID,谷歌验证码要拦截短信。可信度自己判断。

    • 俺记得目前推特的新建账号会默认开启密码保护,但老帐号还是需要手动开启。即使有了密码保护(即找回密码首先需要输入手机号或邮箱全址)也不能掉以轻心。像推特这种大公司,虽然有权限接触用户核心资料(如手机号、邮箱、IP地址)的人有限,但有权限发验证短信的职员恐怕不少。

    • 马某某被抓前不久,他的第一个推特账号因为到处发【讨习檄文】被封。俺推测他是在发布【檄文】不久后(今年3月)被中国警方盯上,从立案到身份暴露到本人被抓很可能不到一个月。

  2. Sith 独裁者
    Sith   本人在论坛里面只有一个ID

    目前最安全的做法: 1、注册发帖都不需要走手机流程 2、注册的邮箱不能是国内邮箱 3、使用安全的浏览器

  3. wyf1230180   90后男工人,反贼版理中客

    关键是这个丫丫如果不是特务话,智商未必高,像他的独立宣言,满屏都是郭、轮、姨的一套,连自己所属的科技行业的996251毕业(失业)潮都没写,所以这么复杂的隐藏自己的技术也未必学得会啊。

  4. 沉默的广场  

    @tinypaper #185923

    最近几年谷歌验证码也开始走1069通道了。理论上讲,只要在中国境内收验证短信,政府就会知道你的手机号注册了境外平台。目前还不清楚境外实体号+境内收验证码这种组合是否会带来风险。

    @ZEROHOUR #185926

    其实我觉得归根结底就是一句话:用国外虚拟号注册。国外的号码不要求实名,虚拟号可以保证验证码不会被拦截(虚拟号的验证码通过HTTPS传输,高强度加密)。

    在虚拟号的基础上,再绑定邮箱并设置密码保护就比较安全了。

    @wyf1230180 #185931

    其实隐藏自己不复杂,从淘宝上买个国外虚拟号就可以了,注册推特的时候也可以写申请,只用邮箱注册。这个人推特电报全绑定+86号码,我觉得单纯就是比较懒而已。

  5. 沉默的广场  

    @一只馬兒 #185936

    这些平台本来就不是给你匿名发言的

    对正常国家是这样,对不正常国家,比如古巴、中华人民共和国、土库曼斯坦、俄罗斯,这些平台是兼顾安全和言论影响力的最好选择。

  6. 沉默的广场  
  7. observerEDGE 废物
    observerEDGE   始终坚持图书馆革命,星星之火,终会燎原
  8. Sith 独裁者
    Sith   本人在论坛里面只有一个ID
  9. 狼狼醬 耶渣
    狼狼醬   私信可以,但我保留你亂罵的時候公開私信的權利。不算好的基督徒,深信左右都是膠的港獨。
  10. Sith 独裁者
    Sith   本人在论坛里面只有一个ID

    @Wolfychan #185952 舉報系統那时反而不是什么问题。因为人很多,论坛流量很大,盈利反而会更容易,多雇几个人加班没关系。只是担心这个网站遭受黑客光顾的可能性会增加,我们需要更厉害的技术人员了。

  11. 沉默的广场  

    @observerEDGE #185950

    对大多数人淘宝买号是最方便的,安全性也说得过去,主要因为:

    • 淘宝上卖号的都是小商户,这方面监管十分混乱,政府根本管不到那么多。
    • 很多人买虚拟号有其它用处,注册推特的可以混在里面。
    • 最关键的一点:虚拟号的短信是https加密的,不经过国内运营商的网关,这样前面拦截短信的做法就不成立了。

    当然国内买号做不到彻底的身份隔离,只是权衡便易和安全的做法。如果真的有很强的安全需求,能搞懂crypto这些东西(比如这位杭州马某某),最好的办法还是洗门罗币,买灰产账号。

  12. 石达开  
  13. tinypaper  

    @石达开 #186012 那个说的是买 Google voice (也称GV)号。

    看这里:不记名號碼的選擇,【2.2.1 Google Voice 號碼的獲取】

    既然都翻墙了,何不跳出淘宝,自己直接买匿名手机号。

    再推个使用匿名货币(门罗币)的帖子:https://2047.one/t/11201。如果玩加密货币,想办法兑换点门罗币,有用得很。

  14. 习近平万岁万岁万万岁  
    内容已隐藏
    内容已被作者本人或管理员隐藏。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。
  15. linda   rico y libre
  16. tinypaper  

    @linda #186053 电脑配置太差,死慢,懒得挖。

    不如直接换,XMR也没法trace。localmonero 这类交易市场或者第三方cypto兑换平台都不错。

  17. Misaki KBBL
    Misaki   DOWN WITH seXIsm
  18. 2047abcdabcd  

    我就一个很简单的问题 推特注册可以只用邮箱 不需要填手机号 所以不填手机号不就完了???

  19. 沉默的广场  

    @2047abcdabcd #186140

    不行,如果选择邮箱注册,后面的步骤仍然会要求短信验证,而且没法绕过去。

    有些人邮箱注册会要求短信验证,有些不会。我估计强制短信验证和推特后台风控有关,比如注册时用代理IP多半会再次要求验证手机号。

  20. 邹韬奋 外逃贪官CA
    邹韬奋   虽然韬光养晦,亦当奋起而争(拜登永不为奴:h.2047.one)

    所以本消 一直推荐大家注册红迪,红迪是大平台对tor网新用户友好的平台了。

    @沉默的广场 #186144

  21. vaaller  

    解绑了手机的推特呢

  22. linda   rico y libre
  23. 刘慈欣 反共复民
    刘慈欣   反共复民

    @tinypaper #185923 社交账号暴露的信息不是这么算的!现在最常见的搜集真实身份的方式不是通过关联电话号码,邮箱,而是逐渐挖掘社交账号暴露出的个人信息。每个社交账号都会暴露出自己的一部分个人信息,关联的社交账号越多,暴露出来的个人信息就越完整,完全暴露自己个人信息的概率就越大。也就是说,100个社交账号关联起来暴露出的个人信息是大于100的。具体可以看这篇回答:https://pincong.rocks/question/item_id-447076