PKU Helper数据泄露事件

此条目转载的他人撰写之评论及意见性文章仅代表其作者本人之个人立场与观点，不代表条目编辑者、管理员及本wiki立场。

PKU Helper团队应对隐私泄露事件的朋友圈

**PKU Helper数据泄露事件**发生于2016年4月。2016年4月14日晚，北京大学知名校园辅助应用PKU Helper被拖库，1.7万学生敏感信息泄漏。

有人指出，用户隐私数据传输被通过xiongdianpku传输，就进入了一个黑箱，有建立社工库的疑虑。xiongdianpku收集了学生的数据并且维护了一个数据库，然后库被拖了全漏了。发现漏洞并成功拖库的GarD0u用其他方法通过获得的密码在学校的某些地方（比如portal）查询了而且保存到本地维护了一个表。

由于当时P大树洞不需要从校方获取验证信息，需要用户自行填写学号和密码，树洞服务器保存了全体用户的学号密码等个人信息。后来服务器被校内白帽子攻击，泄露了所有人的个人隐私（包括身份证号）。此事发生后，树洞服务器不得不与校方对接，不再储存个人信息，以保证用户信息安全。

## 树洞暂时关闭

2016年4月14日最后一条树洞#72876发布于20:24:29，下一条树洞#72877发布于2016-04-15 22:57:04。

质疑
--

### 社工库

有匿名用户在知乎问题“如何看待北京大学体育课强制下载“益动GPS”用于打卡？”下回答：

> “没关系的，我认识PKUHelper的作者，他有几乎全北大的的社工库，还是数据库化的，支持关键字检索，功能极为强大。你们真是少见多怪。当然，我从这玩意一出来就知道不能用，这叫风险意识。
>
>
> 16.4.15更新
>
>
>
>
>
> ---
>
>
> 哦，听说数据库被SQL了，我表示喜闻乐见。”
>
>

知乎用户叶志晟质疑：

> 现在问题的关键不应该是树洞的问题，不仅是密码的问题
>
>
> 应该是究竟如何从PKU helper泄露的数据中得到身份证的
>
>
> 看来数据泄露无误，就是好奇是怎么找到身份证的，问题变得有意思了。当然有可能是很简单粗暴的方式——籍贯，我也希望是这样的答案。但是如果这个数据库的建立者真的拿到的是完整的身份证号呢？因为PKU helper并没有收集学生的身份证。根据推送中给的查询链接http://115.28.31.111/的速度来看，应该是现在数据库里找的，所以很好奇它的来源。大家仔细想一想，在登录PKU helper的过程中并没有让你输入身份证号，而且在各项服务之中貌似也没有需要用到身份证的场合，讲道理PKU helper的xiongdianpku那里不应该有现成的身份证数据库。
>
>
>
> 叶志晟从115.28.31.111验证数据泄露
> 还有两种可能：一、xiongdianpku收集了学生的数据并且维护了一个database，然后库被拖了全漏了；二、发现漏洞并成功脱裤的GarD0u用其他方法通过获得的密码在学校的某些地方（比如portal）查询了而且保存到本地维护了一个表。这两种可能性都是极其可怕的。在真相浮出水面之前暂时不做定论。
>
>
> 另外回复一下评论中的关于PKU helper的归属问题，我是在3月2日抓包分析的，我在安卓客户端用packet capture抓的，由于当时截图暂时找不到，但是可以保证当时的PKU helper仍然是将明文密码传到http://xiongdianpku.com，而且在教务查成绩的功能中也是明文，这是可以确定的。而且小帅在iOS上用surge抓的也很明显
>
>
>
> 另外关于白帽子信息\_GarD0u，感觉像是信科的同学23333，自设的rank很高处于完全保密的状态，所以数据库应该暂时不会大规模传播。
>
>

白帽子信息 GarD0u
### 用户自身不重视个人隐私

知乎用户张小帅说：

> 为什么pku helper设计得如此不安全&&不重视用户隐私。
>
>
> 有同学质疑获取一些用户数据有何不可 只要不泄露就没事....
>
>
> 正因为你自己都不重视自己的隐私，这些app才不把你的隐私当回事。
> ​
> App Store对其中的应用有着明确的隐私策略要求:
>
>
> App Store最新审核指南（2015年3月更新版）
>
>
> 17.5包含账号注册或者访问用户现有账号的应用程序必须包含隐私策略，否则将会被拒绝。
>
>
>
> PKU Helper并没有这样的隐私策略，不清楚是怎么被上架的希望PKU Helper的团队修复漏洞的同时，能给出明确的隐私方案，用了用户的哪些数据，用来干什么了，解释清楚。不要等到被拖库了，大家才知道你手上有这么多我们的敏感信息。
>
>

### 服务器明文保存用户iaaa密码 抓取用户身份证号

知乎用户张小帅说：

>
> 首先PKU Helper的服务器http://xiongdianpku.com上应该明文保存了所有学生的iaaa密码，大家应该立刻修改自己的PKU账号密码... 这些很可能已经完全泄漏...
>
>
>
> 知乎用户张小帅​测试发现PKU Helper明文传送了iaaa密码到自己的服务器知乎用户张小帅抓到的用户名和密码
> 之前测试时抓到的包 可以看到登录时明文传送了iaaa密码到pkuhelper自己的服务器 这个密码可能只是用来做iaaa验证... 但考虑到验证的便捷性 很有可能pkuhelper的数据库上托管保存了密码 具体机制还不清楚 等待官方出来解释密码居然还明文传输... 这app想必一开始就没怎么考虑安全性因素...至于泄露的其他信息 多半是得到iaaa密码后从北大服务器抓取到的
>
>
>
> 至于为什么一个辅助app需要抓取学生的身份证号码 真是匪夷所思
>
>

### 学校相关接口不开放 安全设计欠缺

知乎用户张小帅说：

>
> 目前PKU Helper的一个问题是账户验证机制。其只是借用了IAAA做初次验证，随后用xdpku分配的token来做确认用户身份。本质上xdpku提供的服务和官方的网关连接/教务查询等功能是完全分离的，但给人一种这些服务都是官方服务的错觉（被统一的登录窗口包装）。这种机制可能会导致IAAA密码被修改后，PKU Helper提供的服务由于token仍未过期，依然可以正常以原用户身份登录，带来一定的风险。（当然只是根据官方说法的推测，不清楚开发团队具体是如何设计token过期机制）
>
>
>
> 当然，这和学校相关接口不开放、安全设计欠缺等直接相关，不能一味责怪开发团队，its、iaaa有甩不掉的锅。
>
>

### 储存学生生源地信息

匿名用户复制陈章的回答：

> 事实上当初我们存包括用户生源地在内的一些信息时，有一个目的：能在用户数量较大时（覆盖80%以上学生时），对北京大学的学生做一个全面的统计包括于，各学院学生数的占比分布，各省向学校输出生源的占比数，每年的变化数，等等。
> 但是，由于PKU Helper不断更新版本，以及本人临近本科毕业阶段，和严重的拖延症的原因，至今也只有一个草稿版，正式版一版都没有。
>
>

该用户质疑用户共享生源地信息时没有签研究协议，质疑生源地是否属于可公开的信息，开发者是否有权拿到数据，质疑开发者有意保存用户隐私。

## 开发者回应

### 知乎用户骆梁宸回应

> “本次事件中存储身份证信息、明文POST、未防止SQL注入等问题都是我们的过错，绝无任何推脱之意。已经有的错误没法抹去，我们也不会推卸责任。”
>
>
> “以个人名义诚挚道歉。此次信息泄露我们负有不可推卸的责任。尤其不应在数据库中记录身份证信息。现所有身份证信息已经删除，漏洞接口在揭露推送发出后半个小时内已经修复。今早已得到乌云漏洞提要，与昨晚发现的相同。正在加紧review其余代码，并商讨后续安全措施。”
>
>
>
> “以我的人格保证。”
>
>

### 密码泄露

>
> C1：我们的iaaa密码和bbs密码是否都泄漏了？！！！
>
>
>
> A：当你输入密码的时候，helper把你的密码原封不动地发送给了学校，学校说，这个密码是对的，于是你就登陆成功了。我们的服务器上没有保存任何密码，无论是同学们的iaaa密码还是bbs密码，同学们不用担心密码被泄露。
>
>

### 保存身份证号

>
> Q2：为什么收集我们的身份证信息？身份证号从哪里来的？
>
>
>
> A：我们没有主动获取大家的身份证号，在获取大家的姓名等公开信息的同时，学校官方的接口返回的信息中包含了大家的身份证号，由于考虑不周，我们一并存储了该项信息。现在我们已经删除了大家的身份证号码，因此拥有大家身份证信息的只有那位发现漏洞的同学，而我们已经在联系这位同学。
>
>

### 通过xiongdianpku传输密码

>
> Q4：为什么我们要通过xiongdianpku来传输密码？
>
>
>
> A：由于学校寒假期间封闭外网，发生了校外无法登录的问题，影响了大家的选课、成绩查询等服务，因此我们采取临时的解决方案，寒假结束后我们没有及时改回来，这是我们的疏忽。现在已经改回来了，不会向我们的服务器传输大家的密码。
>
>

## 官方叙事

北大新闻网的《【点赞新青年】PKU Helper团队：用技术和创意改变校园生活》如此描述此次事件：

> 2016年4月14日晚，北大学生的微信朋友圈被一条名为《PKU Helper数据全曝光，身份信息全泄露，树洞竟是假匿名！你中枪了吗》的推送“刷屏”，各类质疑、批评声乃至恐慌情绪迅速蔓延。
>
>
> 当晚，团队所有成员聚到一起，做好了通宵应战的准备。在确定漏洞发布者为本校的“白帽子”后，团队赶在第二天零点之前拟好了一份两个版本（通俗易懂版与技术细节版）的声明，逐字逐句回复了同学们的质疑。
>
>
> “白帽子”是一个针对网络安全领域某一特定群体的称谓，与黑客相反，他们可以识别计算机系统或网络系统中的安全漏洞，但并不会去恶意利用，而是公布其漏洞，以帮助系统在被其他人利用之前进行修补。
>
>
> 第二天凌晨，熊典的朋友圈更新了状态：“发生这样的事，既是不幸，也是万幸。不幸的是我们的服务器上竟存在可供利用的安全性漏洞，万幸的是这个漏洞已被及时堵上，没有成为校外不法人员的战利品，也给团队敲响了警钟。”之后，团队决定立刻开始重构所有后端代码。
>
>
> 在这样的背景下，熊典和徐玉麟之间完成了PKU Helper团队负责人间的首次交接。
>
>
> “（经历此次信息安全危机后）大家更有安全意识和隐私意识了”，徐玉麟说，“修改好这些安全和隐私问题，我们还是保持开发新功能的热情的。”他认为，团队不会停止对“最新”“最便利”的追求，“前端的同学都有持续关注一些开发者大会，比如谷歌 I/O、苹果WWDC，他们会第一时间把这些新技术应用到我们的开发当中”。
>
>
>
> 2016年6月8日，北京大学召开首次校园网络文化建设工作推进会。为了让PKU Helper在一代代北大人的努力下持续提供更优质的服务，发挥更广泛作用，熊典代表创始团队正式宣布将PKU Helper著作权无偿捐赠给学校。为表彰PKU Helper项目在校园网络文化建设中的突出贡献，校党委副书记叶静漪为创始团队颁发了首个“星火成果奖”，并为新一届PKU Helper运营团队成员颁发聘书。
>
>

## 参考资料

1. ↑ 如何看待PKU Helper数据泄露事件？ https://www.zhihu.com/question/43213240
2. ↑ 如何看待PKU Helper数据泄露事件？ - 张凯的回答 - 知乎 https://www.zhihu.com/question/43213240/answer/95372206
3. ↑ 3.0 3.1 如何看待PKU Helper数据泄露事件？ - 叶志晟的回答 - 知乎
https://www.zhihu.com/question/43213240/answer/95283117
4. ↑ 参考P大树洞#1257820
5. ↑ 匿名用户 如何看待北京大学体育课强制下载“益动GPS”用于打卡？ https://www.zhihu.com/question/40802782/answer/92434581
6. ↑ 6.0 6.1 6.2 如何看待PKU Helper数据泄露事件？ - 张小帅的回答 - 知乎
https://www.zhihu.com/question/43213240/answer/95281957
7. ↑ 如何看待PKU Helper数据泄露事件？ - 知乎
https://www.zhihu.com/question/43213240/answer/95375055
8. ↑ 如何看待PKU Helper数据泄露事件？ - 骆梁宸的回答 - 知乎
https://www.zhihu.com/question/43213240/answer/95357687
9. ↑ 9.0 9.1 9.2 关于PKU Helper信息泄露的声明GarD0u：关于PKU Helper数据泄露的说明 http://mp.weixin.qq.com/s?\_\_biz=MzI0NTI5MTkyNA
10. ↑ 【点赞新青年】PKU Helper团队：用技术和创意改变校园生活 https://news.pku.edu.cn/xwzh/129-294389.htm