Showing posts with label 安全. Show all posts
Showing posts with label 安全. Show all posts

Wednesday, August 8, 2012

11. 苹果和亚马逊的安全漏洞

前天,《连线》杂志资深作者麦特·荷南的一篇文字(How Apple and Amazon Security Flaws Led to My Epic Hacking)在网上广为分享。读完之后,我立即做了两件事:(1)删除了我在亚马逊帐号里存的所有信用卡帐号;(2)启用 Google 帐号里的两步登录功能。

说起来,我这个做 IT 混饭吃的对网络安全的考虑有时候还是让位于使用方便。在一些直截了当的问题上我可能比一般非本行人士会多注意一些,比如,基本上不在不同帐号之间使用相同的密码,密码保持相当的复杂性,等等。但是,对于网上一些服务的安全性从来没有太往心里去。第一,那些系统的安全性我无法控制;二来,如果真的出什么事,这些大公司虽说不见得能够吃不了、兜着走,它总是要兜一点吧,而且他们也应该比小公司兜得住一些;再者,资料存在自己的机器里不见得就更安全,虽说我尽量少用微软视窗,但还是免不了不时要用。没有往深里想的是,低级的错误在苹果、亚马逊这种世人仰慕的大公司里也会发生。

说起来,亚马逊的错误比较可怕些(所幸的是,这篇文字登出之后,亚马逊第二天就悄没声地做了亡羊补牢):黑了这位作者的帐号的恶人做了几件虽不是轻而易举但并不需要太高深技能的事,就达到了目的:

  1. 首先,通过其他途径掌握事主的地址和邮箱地址;这并不算特别难,美国这个资讯透明度高的社会,许多的个人资料也是公开的,比如,房产记录。当然,要把多项数据联系到一起需要一些机缘巧合。
  2. 在网上假造一个信用卡号;这也容易。这个卡号并不能用来购物,但是只要能够通过信用卡号码验证程序就行了。
  3. 打电话到亚马逊客服,要求在帐号里加一个新的信用卡号码;亚马逊只要客人提供信用卡结帐地址(自然一般就是个人家庭住址)和信箱地址就行了。这是亚马逊帐号安全漏洞的关键。
  4. 之后,再打电话到亚马逊,要求更换帐号的邮箱地址;这时候因为恶人手里 已经有了前面加的一个完整信用卡号,亚马逊欣然从命。到此为止,这位作者的亚马逊帐号就沦陷了。
得到作者的亚马逊帐号里的信用卡资料之后,恶人攻入作者的苹果帐号就容易了 -- 作者特别提醒,其实攻入苹果帐号,你家附近送外卖披萨饼的也能做到 -- 如果你打电话买披萨用的是你苹果帐号里同一张信用卡的话。这是苹果帐号的安全漏洞:他们的客服只要你报出帐号主人的地址和信用卡号码,就可以帮你改密码。

应该说:计算机系统,尤其是联网系统,没有绝对安全,只有攻破系统的相对复杂程度。以上所说的 Google 帐号的两步登录功能就是大大提升复杂程度一个办法:启用之后登录 Google 的服务,除了要输入密码之外,还必须输入一个六位数的验证码。这个验证码是 Google 即时发送的,可以通过手机短信,也可以通过电话。这个验证码的有效期较短,而且一次性使用之后即作废。

Google 的 Gmail 还有一个小技巧,在出问题的时候对查清源头也能小有帮助:如果你的 Gmail 地址是 wxyz@gmail.com,那么,发给 wxyz+amazon@gmail.com 的邮件也会进到你的邮箱里。这样,在其他网站要用到电子邮件地址的时候,你都可以登记一个特别的邮箱地址。这样如果有电子邮件里出现异常,你就大概知道是哪里出现问题了。

Friday, December 23, 2011

个人密码的保存

这几天中国几个互联网公司丢失用户资料,成为网上重大新闻。成名网络公司犯这类低级错误,确实有些出人意料。于是各种猜测也纷纷出炉,许多人猜这些泄漏事件的发生,是有人在曲线阻挠政府实施网络实名制。虽然难以置信,但是如果政府确实操纵、迫使这些服务商明文存储客户密码,那这问题的严重性无法估计。一般民众可能许多人对政府的可信度早已心如明镜,但对于商业机构可能还心存侥幸。试想,如果银行也有你的密码明文,那你除了求上苍保佑,还能有什么办法呢?明文存储密码,密码被盗用的可能性一下子就增加了许多,电脑行业里有一句真理,叫做:可能发生的事就一定会发生。我们个人能做的是减少坏事发生的机率,而明文存储密码则完全剥夺了客户个人做这种努力的权力。

之前曾经也写过一篇关于电子邮件安全的文字,也说到密码。个人做这些努力,当然前提是没有人能在你的密码上做小动作。每个人都可以有自己喜欢的方法来保存密码,但是月光博客个人密码安全策略我还是觉得过于复杂,Jason Ng 更指出其中的问题。然而,目前保存密码的一些软件也有其他一些问题,最明显的一个是现在许多网站通过问一些私人问题,比如你小学最要好的好朋友叫什么,之类的,来提供一个密码重置的途径。这些问题,你当然没有必要如实回答。然而,编造的答案则容易忘记。

目前来说,我所采用的办法算是中间道路,而且比较笨拙。办法是用 GnuPG (Gnu Privacy Guard) 生成一对密匙,用他来对所有的密码和其他私人信息加密。而密匙本身用一个很长、很复杂的密码加密,这个密码不在任何其他场所使用。加密之后的个人信息可以保存到网盘(如 Dropbox)之类的云存储,甚至加密的密匙都可以这样保存。这个办法当然无法让密码自动在各种设备之间同步,尤其是手机,但是好处是相对比较简单,每个环节自己都可以控制。