黑客是一种精神和态度,只要保持好奇心和行动力,你就是一个黑客。不论是白帽子黑客或黑帽子黑客,都是因为一种想试试看能不能这样、又或能不能那样的心态和想法来尝试进入系统、或是取得某些信息。不管是透过直接或间接的方式取得,其实都是出自于“心”。 其实我一直有一个想法,如果有一天我有很多钱,我要盖一个Mall,然后常常在晚上关门后想办法进入这个Mall,简单的说就是我要破解这个Mall的保全系统,可能包含门锁、监控系统,和一切可能攻破的点。 所有的黑客行为都是由一个小小的想法开始。 一切来自好奇心 我大学是在1998~2002年之间完成的,读的是计算机专业,那时候发信、写信、收信、甚至连计算器作业,都是在学校主机上完成的,也就是所谓的Mainframe大型主机。这台机器位于学校电子计算器中心的机房中,全校师生都在这台机器上有个账号,可以收发邮件、做一些编程的作业、作网页,甚至跑一些需要大量运算、长时间计算的代码。简单地说,这台机器上有全校师生重要的数据,包含老师们的上课数据。 我一直对很多事物感到好奇,尤其是一些别人可能不会想到、或是触碰到的事物。于是那时候我开始好奇(但还谈不上“破解”,一开始根本就没意识到“破解”这两个字,只是想看看是不是能登入别人的账号。只是好奇,我并没有要窥探其他人的隐私,只是想看能不能, 于是在网络上找到hijack的工具,搭配字典文件暴力破解全校师生密码。一开始好像不太行又或是太慢,要花好多时间才能解出一个账号的密码。后来找到由汇编语言写成的hijack工具, 这下就很快了,但主要被破解的密码,还是以弱密码为主,例如abcde、12345、或是英文字典中可以组合出的字。这类的密码是最容易被破解的,因为密码来自于人性,人性才是造成密码被破解的最终关键。这也是所谓牵扯到心理学和社会工程学(Social Engineering)的原因。 为什么有机会做到破解全校师生密码?其实就是系统安全的漏洞。那时候主机上没有shadow password的机制,所有人都可以取得主机上的密码文件。密码文件中有全校师生的账号, 以及其密码经过编码之后的字符串。只要想办法对编码后的字符串进行反解析,就有机会得出其密码,进一步用其账号密码登入主机。 只为了解决一个问题 到了大三,我和几个同学一起搬出学校宿舍,自己在山下租了一个房子。那时候我们申请了一条ADSL网络,我印象中下载/上传是512/64K,现在来看是非常非常慢的网络,但对那时候的我们来说简直就是飞快(笑。这个世界的变化如此之快,人们只能在事后感叹)。再拉回来讲,一条ADSL线,我们有六个人要分,每个人可能都不只一台计算机,那时候的IP分享器贵得无法想象,于是我就说好吧,我来负责帮忙把网络搞定,让大家都可以上网,说穿了也就是NAT(Network Address Translation;虚拟IP)罢了。于是我用一台486计算机安装两张网卡,安装FreeBSD架了一台IP分享器(题外话: 我另外还有一台486用来架Apache+MySQL+PHP。看我当时多省钱,486只有8M ram,不仅跑了这些,还是我NAT的备份机,毕竟一堆人在用网络,不能因为机器挂了让大家不能上网,所以我又准备了一台备份机器,万一原本的NAT挂了,我还有一台可以用)。 我记得我当时的笔记本好像是pentium 300还是500,486是我高中时期用的计算机,为了省钱,486拿来当IP分享器,在那个时代还是绰绰有余的。于是我上网查找了很多相关资料, 看了很多相关的书,那时候我没有人可以问,因为没有同学和我干一样的事,我必须要独立思考去解决问题,但是过程中我收获很多。那时候,我其实是个不喜欢念书的孩子,因为常常我不知道为什么要学这个、为什么要学那个,但当我知道自己想要做什么的时候,我就会去找数据,自己想办法完成。这就是目的驱动,有了一个目标就想办法达成。 在上述过程中,我学到了很多理论知识,例如封包的组成、NAT的转址、防火墙的原理等等, 甚至还会去想象网络封包在我们的网络架构下是如何流动的;尤其遇到问题时,必须要独立思考解决,慢慢学习了许多Unix-like的指令、调整内核、编译内核、防火墙配置、IP地址映像(虚拟映像虚拟和虚拟映像实体IP)、封包过滤、网络流量控管等等。 那个时候看到了Tcpdump和Tcpshow这样的网络封包撷取及分析工具,也就是类似现在的Wireshark(当然方便程度远不及Wireshark)。于是我的好奇心又来了,我在想能不能透过这样的网络封包撷取工具直接拦截,取得管理者的密码,而跳过密码文件暴力破解。首先,我和学校电子计算器中心的人员还算认识,我知道谁是管理者,也就是我知道管理者的账号;接着,我只要想办法撷取到他的密码,这样我就拥有管理者的权限了。于是我在学校主机上安装了Tcpdump和Tcpshow,这边显示出系统漏洞,让用户可以安装侦测系统安全漏洞的工具并且执行,接着使用脚本周期性地执行Tcpdump/Tcpshow,并把结果用email的方式周期性的发送给我。但是Tcpdump会使网卡进入一种混淆模式,这时候管理员发现了,并写了一封信,温和地告诫我不要做出危害学校主机系统安全的行为,并且他们已经知道这个安全问题。不过,这个时候我早已撷取到系统管理者的密码。 当时的这些经验告诉我,有一种直觉的黑客方式,就是绑架(或说䆥改)DNS(Domain Name Server),进而获取用户的实际信息,后来没有多久真的就出现了。因为人类上网不可或缺的服务就是DNS,只要入侵了DNS,用户根本不知道自己登入的是不是真的网站──百度或者只是在我身旁的一台主机、Yahoo又或只是在我身旁的一台机器。因为你永远不知道你登入的是不是真的百度网站或是Yahoo网站,还是其实就是我身旁的Fake页面。 破解安卓:想要就会有方法 接着来讲安卓。我一开始作安卓的时候是2008年,当时只有仿真器,还没有源代码。那时候我在富士康做智能机,我们当时有几个解决方案,例如QT(Qtopia)等等。突然间,安卓横空出世,我带着几个工程师在没有源代码的条件下,把安卓移植到我们还在进行开发的智能机上,这也是后来戴尔与富士康合作的第一款安卓手机:OPhone。 没有源代码,怎么让安卓运行在我们的智能机上?说穿了其实也很简单,只要你想就一定会找出方法。我先把仿真器中的二进制码取出,试着在我们的智能机上运行,看运行过程中出现的错误讯息,可以使用一些工具辅助分析错误讯息,或是使用辅助工具去看到更详细的讯息,方便进行更进一步地分析,并思考如何继续做下去。安卓释出依序为:仿真器->内核参考源代码->安卓完整源代码,大概是这样一个过程。虽然我们没有用户空间的源代码,但我们有安卓的内核参考源代码,所以我们可以变向地修改我们的内核,达到内核与用户空间正常的交互,进而骗过安卓系统,使之正常运行在我们的智能机上。 2009年做硕士论文时,拿的是一块2006~2007年的开发版来做安卓,手上有的内核版本是2.6.15,而安卓起跳的内核版本是2.6.25,所以:第一,基本没有人会去做2006~2007年的版子,因为会把精力都放在未来的产品上,而非过去。第二,基本上Google、百度都查不到资料,因为安卓在当时还很新,没人会想到安卓之后会那么火。第三,基本上只有你自己一个人走在这条路上,你必须自己确定方向是对的,当有迟疑的时候,必须独立思考, 尝试修正方向,当你遇到困难时,没有人可以告诉你答案,因为你就是走在最前面的人。最后简单地说,也就是我必须在没有任何支持的情况下,独立完成安卓的初步移植工作。这其中凭借的不外乎是:过去的经验、独立思考的能力,以及坚持到底。因此为什么有时候会听到别人破解一个系统花了三天三夜都没睡觉,这就是一种执着和坚持。曾经听过做iOS越狱的黑客说,有时候很快,但有时候你根本不知道要多少时间。可以是一天,可能一周,也可能一个月,甚至一年,为了找iOS的漏洞,为了成功越狱,你就像是在找一把钥匙,必须一个人面对无尽的门,而当你打开这扇门时 你不知道会看到的是越狱成功的这把钥匙,还是继续无尽的下一扇门。所以如果不够执着、坚持,很难走到最后,看到曙光。 其实我个人上述这些经验都有相同之处,就是一开始有一个想法,想这么做,然后大概会有一个预期的结果,也就是设定一个目标。 接着在过程中不断地查找数据,不断地独立思考, 想办法解决眼前所遇到的问题,然后最后达到预期的结果。 所以黑客就是有一个想法,然后过程中可能需要看很多数据,独立思考,接着可能透过一连串试验来尝试及证明自己的想法。 黑帽大会现场大家练习破解开锁。 不管是破解特斯拉、hijack蓝芽、取得NAS(网络存储)的root权限等等,虽然演讲大部份是一个小时,甚至不到一小时,但是他们背后的工作、过程、所付出的时间,可能是难以想象的。这就是黑客,保持着好奇心,也因为好奇心驱动,而付诸行动,再用行动力去证明──所以黑客最终是想证明自己的想法是否可行,而并非是为了取得重要资料而入侵或破解。当然黑客中,难免也有为了取得重要数据或是不法目的而进行入侵或破解的。 身為“人”──独立思考去感受、去回应 我不是第一次来美国,但这次的感觉有些不同,可能是因为年纪大了,又或是之前可能都是以出差为主。这次美国给我一个全新的感觉,又或是说这次我比较走心地去感受吧。美国的氛围不像亚洲人普遍内敛、害羞、比较不懂表达自己的想法,美国是一个你有想法就可以说的地方,不管你的想法是不是bullshit,大家会听完,然后给你反馈,而且是一种很开放的态度。就算是不好的反馈,大家也是一笑带过,是一种很外放的表达方式,与亚洲内敛的表达方式很不同,喜怒哀乐都比较轻易地写在脸上,比较容易与人拥抱、亲吻之类的。走在路上有人和你击掌,一切都是出自于内心而表现在外在行为上。相较之下,很多亚洲人被既有的意识所限制,例如不能这样、不能那样,活在框框中,比如男人不能哭、男女也不会轻易拥抱。亚洲人一定要突破自己思维上的框架,才能够达到创新这个目的,这也是为什么很多创新都从美国来,因为美国的教育是自由的,鼓励个人有自己的想法,这样的环境才能够训练出跳脱思维框架的人,跳脱框架才有办法创新,一直活在框框中充其量只能改进,没办法创新,没办法做出一个全世界没有过的产品。 美国也表现出一种对人的尊重,例如这四天的会议,就算是Common sense或很简单的演示, 大家也不会嗤之以鼻,或给讲者一种不屑的感觉。大家还是认真听、踊跃提问,每个人都很认真地表达自己的想法,认真地与他人交流,很会表达自己,也很愿意听别人说,倾听别人的想法。 现场人数非常多,据说超过了一万五千人,每场会议必须排队半小时。 美国教育训练出来的其中一个是自信,他们一般都比亚洲人有自信,但他们不见得比亚洲人强。这点我觉得很重要,因为儒家文化的影响,让我们太过内敛,太过谦虚,这在某一程度上是会阻碍个人发展的,所以我觉得我们自己要有自信,去美国,毕竟我们都还会说几句英文,叫美国人说几句中文看看,他们能说吗?所以我们还是很优秀的,不要过于谦虚而显得不自信,应该中庸地与人沟通,用心地与人交流。 这次黑客大会有一个Vendor展区,但是现场并没有贩卖入侵式、或监控式(窃听也算监控之一)的黑客工具;贩卖的都是防御式的工具,例如帮你把传输数据加密,确定你数据传输的安全性等。这可能与黑客大会传闻有美国政府的人(FBI、CIA)以便衣形式出现在会场有关。现场看到有来自华盛顿DC白宫的讲者,讲题是欢迎大家与政府进行交流沟通,进而制定合乎现在时代的法律规范,来约束所有人和公司在使用个人隐私及个人资料的范围、边界;也保障个人不因使用某项网络服务,使得隐私数据被误用或是泄漏。因为政府是政策的制定者,希望广纳各方意见,因为他们知道现在这个时代,只要给出足够的空间和资源,有能力的人就会站出来表达自己的意见,而在意见被广泛讨论和收敛之后,自然就成为了时代下的规范,而不是政府独裁式地制定规范。 展场上贩售的黑客防禦工具。据说因为現場有美國政府的人,所以沒賣監控式和入侵式的工具。 最后, 感谢书生集团提供给我这次机会, 让我有机会观摩全世界的黑客并向他们学习, 以下为书生集团介绍:书生集团是国际知名的软件、互联网和移动互联网企业,是中国唯一输出先进IT技术到美国硅谷的中国企业。作为软件企业,书生主导制定的UOML标准是唯一得到国际承认的中国软件标准。 与书生集团在场夥伴合影。依序是:书生网路行销部负责人(左),SurMD创始人Yvonne Li(中),与我。 本次Defcon黑客大会上,书生安全云将设立高达10万美金的破解奖金,向全世界顶尖黑客发出挑战,只要能破解书生安全云的云存储,即可赢得巨额奖金。书生届时将对全球黑客公布参与挑战的服务器地址和密码,参与者不设门槛,任何人均可参加。此活动将与DefCon同时开启。(服务器地址设立于达拉斯,或将与特斯拉合作) 责任编辑:张之颖 本文选自程序员电子版2015年8月B刊,该期更多文章请查看这里。2000年创刊至今所有文章目录请查看程序员封面秀。欢迎订阅程序员电子版(含iPad版、Android版、PDF版)。 本文为ImapBox原创文章,未经允许不得转载,如需转载请注明出处
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox4.7.0_Build20141115_CHS.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 程序员专区