前段时间的 XCodeGhost 事件,然后这回网易...
MD5 存密码不是和明文差不多了么。好歹加个 Salt 吧...
作为一个国外大学读本科的学生,要我来做我都会选 SHA256 + Salt, 网易是真的连这个都不懂的人在写 backend service 么? 没有专门的人负责 security 么? 没有 security audit 么? 一个亿的用户的资料啊...
虽然这次没有其它公司,但是前段时间 XCodeGhost 的一大列...
以后有点不想回国了 T T
1
stage37 2015-10-20 00:15:26 +08:00 via iPhone 4
不知道国外公司的安全意识怎么样,但是国外知名中小公司代码写得不怎么样的不在少数。
毕竟大家都是人。 |
2
oott123 2015-10-20 00:18:14 +08:00 via Android 4
“历史遗留”
“政策要求” “我国国情” |
3
dalaomj 2015-10-20 00:19:02 +08:00 4
时间,时间,时间 维度问题!!谁说数据是刚刚泄漏的?!
早期的互联网,明文或简单 MD5 就是网站开发标配。 比如: CSDN 在泄漏之前已经不是明文了,但架不住已经泄漏的老数据在黑产圈传播,然后某一天就抖给公众了。 简单的 md5 加密? 过去泄漏->现在解密(一般的库,彩虹表暴破,破解率已超过 95%) 现在很难破解的加密方式?封存数据->未来解密 安全这事,只能尽力。没有绝对。 |
4
crab 2015-10-20 00:23:05 +08:00
不知道在过 10 年,两步验证会不会也给破解了。
|
5
MaiCong 2015-10-20 00:40:34 +08:00 via iPad
真的没有安全意识,我遇到的好几个项目都是一个 md5 加密完事。
|
6
eoo 2015-10-20 00:44:49 +08:00 via Android
那你就待在非洲吧 别回来了,中国很危险。
|
7
sogisha 2015-10-20 00:55:12 +08:00 4
不要用 MD5 ,不要用 SHA ,不要用 RIPEMD ,不要用 WHIRLPOOL ,不要用任何散列!
用 PBKDF2 ,或者 scrypt ,或者 bcrypt ! 你的目的不是混淆密码,而是让人在获得密码存储后无法暴力破解。 存储密码要的是拖延破解的时间。单一散列不能。 |
8
ryd994 2015-10-20 01:14:35 +08:00
看来你没有认真上课。你算法教授没有提过 Big Omega 有什么意义么?
SHA256 + Salt 也是药丸的,尽管比 md5 是好多了。它们都是 hash hash 太快了,一般来讲快肯定是好,无论是用于 hash 之后 cluster ,还是验证一个签名 然而对密码来讲, hash 越快,字典出来的就越快。即使加了盐,现在连带盐的字典都有。毕竟我们不需要覆盖所有密码,绝大多数用户用的都是弱智级的弱密码而已。有时候就是暴力硬上。 PBKDF2 等 Key derivation function 无法做到多快,却可以保证够慢。 |
9
slixurd 2015-10-20 01:17:22 +08:00 1
作为一个国内上大学的我都知道要 PBKDF2+SALT
楼主还是不要回国了。 |
10
ideacco 2015-10-20 01:18:35 +08:00
妹的,之前 CSDN 被脱换了一批密码,后来 SB 携程的信用卡被破,又换了一批,现在 163 也被脱。还得再换。都要崩溃了。求解决办法啊各位大神。
|
11
FrankFang128 2015-10-20 01:24:33 +08:00 via Android
本地加密
|
12
typcn 2015-10-20 01:34:52 +08:00
@ryd994 可以在客户端 /浏览器端做一次或几次 PBKDF2 之类的慢算法( 1 秒左右用户无感知,如果要做多次,可以显示个进度条),然后提交到服务器上,服务器上再做一次加盐的 Hash
|
13
octref OP 谢谢各位 告诉 PBKDF2 ,学习了。还没专门去上 security 的课,具体不是那么了解。至少应该用 SHA256 和 Salt 是 Web Programming 的老师教的。我想表达的是『不该用 No Salt 的 MD5 算比较常识的知识了』。
关于不想回国,不是说看不起国内的意思...只是感觉回来之后一是避不开各大公司的全家桶,二是现在一直用的网易云音乐前段时间是 XCodeGhost 现在又出现个这个事感觉有点...想普普通通用个手机没有烦恼好难。 |
14
lenran 2015-10-20 02:01:14 +08:00
你知道的,项目越大,漏洞越多。概莫例外
|
15
ryd994 2015-10-20 04:13:16 +08:00 3
希望大家至少读一读这篇文章,讲了常见的错误实现: https://crackstation.net/hashing-security.htm
@typcn 11 楼是更加错误的方法,那样的话,密码实质上就是客户端生成的结果。如果被脱库,我只需要以 PBKDF2 所有可能输出当作密码取值域,穷举服务器上的加盐 hash 就行。如果要登录用户的帐号,只需要 curl 发送结果,直接绕过 pbkdf2 部分。不能相信客户端可以操纵的任何数据,而你的做法正是以客户端会乖乖对输入内容做 pbkdf2 为前提的。 安全的登录页面必须用 TLS 安全的登录页面必须用 TLS 安全的登录页面必须用 TLS 不用 TLS 的所谓 JS 加密传输的库我也写过,无非是不懂的时候闹的大笑话而已。人家直接劫持 JS ,直接 post 一份到它们服务器。而用了 TLS 以后,密码要不要额外加密已经无所谓了。客户机器不安全的话键盘钩子都能偷密码,结果都一样。 |
16
ryd994 2015-10-20 04:28:51 +08:00
@octref 回国是必须跃 墙,会跃 墙的人并不会中 XCodeGhost
自己要多学,做一点小项目,做的时候认真思考,不要以能用而是以完美为目标,多 Google 。这些项目多半会坑掉,但你会学到很多。 课堂教的系统全面,但自己学的才是前进的动力。 CS 只是我副专业而已,然而我能在 CS 课上完爆 CS 专业的学长。无他,唯手熟尔。(国外 CS 课其实很水,不深的,这并不是坏事)单片机汇编 /Python/Linux ,虽然我也只是入门水平,但上课的内容都是玩剩下的,只需要查漏补缺就行。 如果你有兴趣,这点程度不难的。 |
17
yyfearth 2015-10-20 04:47:00 +08:00
@ryd994 https 是必须的前提
但是我还是觉得全部依赖 https 也不保险 我还是觉得前端做一次 pbkdf2 或者比较长的 hash 比较好 因为用比较长的 hash (比如 2048bit )作为后端初始密码 穷举的量还是很大的 至少不会因为 https 的漏洞 导致泄漏用户的原始密码(用来社工) 虽然前端 hash 不能增加系统的安全性 但是算是保护用户隐私的一个办法 尤其是对于大部分用户使用统一的简单密码 这样多一层保护 创建字典更加困难 |
19
sogisha 2015-10-20 06:24:37 +08:00
@yyfearth 在有 https 的前提下几乎就是“你高兴就好”。我看到的问题是,用 js 搞 pbkdf2 是可行的,但 pbkdf2 比的是在相同时间内你能折腾出多少轮,越多越好。除非打算让用户等很久,否则之后就成了用 C 来爆破用 js 算出来的 pbkdf2 。。。
|
20
pxlxh 2015-10-20 08:18:57 +08:00
楼主这下优越感爆棚了吧
别回来了 ps :吐槽这种中英夹杂的半吊子 |
21
ritianhuang 2015-10-20 08:22:14 +08:00
完了一群中共国底层码农要高潮了
|
22
loading 2015-10-20 08:26:09 +08:00 via iPhone
利用明文泄露的库,加上保存的盐,可快速算出一个新的彩虹表,然后再对比即可。
除非你的密码都是 lastpass 那种,而且位数超长,不然必然有很大几率和其他人相同。 |
23
ty0716 2015-10-20 08:35:18 +08:00
网易邮箱不是今年才开发出来的,发现问题的时候已经没法更改[或者难以更改],除非每个用户登录检测是不是用的 md5(pwd+salt),提示必须修改.否则无法登录。
|
24
Ansen 2015-10-20 08:44:25 +08:00
不是没安全意识~是技术在进步,岁月是把杀猪刀~
|
25
sutking 2015-10-20 08:58:18 +08:00 via iPhone
古代时候给皇帝建造陵墓的工匠们都有一个就秘密通道的习惯,为什么?
|
26
moe3000 2015-10-20 09:05:19 +08:00 1
backend service 什么意思啊, security audit 什么意思啊?能不能说中文啊
|
27
yaxin 2015-10-20 09:17:07 +08:00
这 B 装的
|
28
MrEggNoodle 2015-10-20 10:32:23 +08:00
@sogisha 非常感谢你告知这么多关键词。
|
29
janxin 2015-10-20 10:34:40 +08:00
历史遗留问题而已,网易那套 USR 估计几百年没人敢改....
|
30
66beta 2015-10-20 10:36:44 +08:00
既然能脱裤,那我用自己的账号做测试, salt 不也分分钟测出来?
|
32
visonme 2015-10-20 10:43:40 +08:00
在国内相对来说,很多小公司产品安全意识是很薄弱的。至于大公司说真的出现这样的问题确实不应该,不过也不排除因为历史原因造成的。
国外其实也存在这样的问题,只是情况会比国内的情况好点。 |
33
appppppp 2015-10-20 10:51:58 +08:00 via iPhone 1
别的不说,讲中文就好好说中文,英文就好好说英文,别那几个单词拿过来,太装 国外呆那么久,你是见过我们讨论 security 还是 we talk about security 演讲中的中英文混差好好学学吧
|
34
adminsb 2015-10-20 11:00:42 +08:00
网易公司服务协议: 亲爱的用户,我是你爹
|
35
way2exp 2015-10-20 11:47:40 +08:00
一次作为技术工程师和客户沟通,
客户只想确保自己系统内金融模块的安全; 客户表示消费者的个人身份信息泄露什么的他们不在意; 当时心里就觉得万千羊驼奔腾而过~ |
36
dai269619118 2015-10-20 11:52:58 +08:00 2
优越感爆棚
说的好像国内有什么大公司要招你了一样 |
37
yoa1q7y 2015-10-20 12:00:06 +08:00
@dai269619118 但是国内公司确实一般,进去了之后才知道, BAT 都很 low ,庸才占大多数
|
38
wuchizhitu1988 2015-10-20 12:40:38 +08:00
因为大部分用户自己也不在乎..所以厂家也就更没这个意识了..
|
39
SonicY 2015-10-20 12:51:31 +08:00
apple, ms, lastpass, sony 比你们不知道高到哪里去了, 不照样.
|
40
zhangdawei 2015-10-20 12:51:55 +08:00
上来一句就是国内大公司,你是喷了多少公司
|
41
typcn 2015-10-20 13:33:30 +08:00
@ryd994 难道用户还会手动修改 JS ,把你的安全加密方式去掉?换成明文?
当然,我说的一切,前提都是 HTTPS ,只要是 HTTP ,我都不会做密码登录的功能,而是用户填写邮箱,发送动态验证码登录 |
42
c24c4fe8 2015-10-20 13:53:37 +08:00
还记得 CSDN 明文保存密码的事情吗? 什么都不想说了
|
43
m8syYID5eaas8hF7 2015-10-20 15:16:50 +08:00
看云风微博的意思,网易邮箱主要是代码太老,又懒得去改。
10 年前的网站,估计大家都是 MD5 加密的吧 |
44
codesun 2015-10-20 15:36:57 +08:00
要是有本事留在国外,那回来干嘛?要是水平不够,那就不是你想不想留的问题了,是人家要不要你。
|
45
Chrics 2015-10-20 15:43:41 +08:00
只相信二次验证..
|
46
jimrok 2015-10-20 15:49:33 +08:00
从农业国进入工业国没有多长时间,再说科学的素养也没有文化的传承。
|
48
menc 2015-10-20 16:04:50 +08:00
别的不想说,不要站着说话不腰疼
你试过连官方的 server 下 X code 在国内什么速度你就知道了 |
49
eightqueen 2015-10-20 16:27:41 +08:00
前些日子苹果不是泄露了很多著名女星的艳照吗?楼主确定留过学?
|
50
lightening 2015-10-20 16:32:38 +08:00
网易的这套登录系统建立这么早,那时候 MD5 就是标配吧。
你今天做了 SHA256 + Salt , 10 年后说不定有人问你,你安全意识怎么这么差啊,至少应该 SHA1024 啊。 |
51
yuanzz 2015-10-20 16:49:27 +08:00
楼主只是提一下在国外,“ 有点不想回国”,就把一帮屌丝炸毛了,有趣。
|
52
PublicID 2015-10-20 18:16:12 +08:00
去查查 Google 是否被脱过库,你会有惊喜。
|
53
PublicID 2015-10-20 18:18:05 +08:00
当然,如果有点脑子的话,你知道如何去暗网查
|
54
cst4you 2015-10-20 18:58:12 +08:00
不是没有, 是不能有, 你有了, party 怎么干预?
|
55
salmon5 2015-10-20 19:13:57 +08:00
这种还用想的?
前期风险不大,机会没预见风险, 后期篓子太大,没人敢捅,领导更是不敢。 |
56
ryd994 2015-10-20 19:18:32 +08:00
@typcn 考虑了 MITM 的可能,比如钓鱼 WiFi ,于是废弃。 不曾想真有 http://www.williamlong.info/archives/3658.html
|
60
Tedko 2015-10-21 00:20:26 +08:00
楼主说话方式很正常。要我我也这么说。吐槽楼主混中英文的基本上交流太少,或者英文不好。
另外我建议 lz 实习下。我明确告诉你,我在国内实习的时候见过安全做的很努力,但是被社工,也见过美帝把企业账户密码全明文保存到 google doc 的,但是一点事情都木有的。 两家都是估值 A 轮一下子就上亿的( rmb ,和美元)。而且我知道的时候都只有二十人左右。 真要看安全和重视去美帝大企业。面试之前先要求一堆 NDA 签好,然后面,入职实习前注意事项。除了 fb 这种超级 flat 的方式之外都是内部也层层分割。做 backend 和 infram 的会有 security audit 和 各种 QA …… 过了美帝大厂简历关的都不会问这种问题了。 网易并没有这么大规模和体量。 至于 xcodeghost,这个就比较搞笑了。 另外不知道 lz 什么大学的。要知道国外大学多的很。 V2 上我没见过 stanford 的。但是 cmu , ucb , uiuc 的多得很。 |
61
yxzblue 2015-10-21 00:42:20 +08:00
居然因为这屁点事,说不想回国,只能说你赢了
|
62
Khlieb 2015-10-21 08:44:55 +08:00 via Android
@ritianhuang 果然有几个☭国狗腿子出没。
这个不能说国内大公司没安全意识,但是在如何解决问题上面他们实在是太过形式主义了。 |
63
ideacco 2015-10-21 19:39:32 +08:00
@hk24v2 道理也明白,可是现在移动端用的越来越多。各种 APP 的入口也需要密码啊, 1p 就没法解决了。而且一定要用 1P 的浏览器 APP 才能访问网络也是头疼。
|
64
sogisha 2015-10-22 01:14:09 +08:00
@HowardMei AES 是加密算法, Whirlpool 是散列函数,你要怎么比?
AES 目前看还是是安全的,有足够的审计。如果你的应用因为 AES 不安全而不安全,那也不是你的责任,整个互联网都会被颠覆吧。当然这也不代表 AES 就不会变得不安全,你也可以选择非 NSA 的算法,一大堆呢。 Whirlpool 和 SHA512 是可以比的。不过同理。 |
65
olboy 2015-11-15 21:50:45 +08:00
回国事情跟安全有关系吗?我是从事网络安全行业的,其实一些东西泄露跟用户也有很大关系,比如很多游戏网站,需要邮箱注册,很用用户习惯性用邮箱的密码,游戏网站被脱裤了 ,最后邮箱公司来背。在这声明,我不是网易的,只是告诉大家泄密的另一种渠道,大家也可以自己思考下,自己是否存在安全的意思。
|