硬件黑客密码保护(黑客保密协议)
本文目录一览:
电脑密码怎么破?
开机密码
根据用户设置的不同,开机密码一般分为两种不同情况,一种是SETUP密码(即CMOS密码);另一种是SYSTEM密码(即系统密码)。
SETUP密码
如果计算机能正常引导,只是不能进CMOS设置,那么我们在遗忘密码之后只需在DOS状态下启动DEBUG,然后输入如下命令即可:
_o 70 16 注:第一字符为下划线“_”,第二字符为英文字母“o”,此后都为数字。
_o 71 16 注:第一字符为下划线“_”,第二字符为英文字母“o”,此后都为数字。
_q 注:此处为退处DEBUG程序。
输完之后,重新启动计算机,再按DEL键即可进入CMOS设置。
SYSTEM密码
若没有密码根本无法进入计算机系统,那就不能通过软件来解决密码遗忘的问题了。此时只有从硬件上解决,具体办法为:打开机箱给CMOS放电,具体情况还要看主板说明书,然后在主板上找到CMOS跳线,清除CMOS中的所有内容,当然,此时SYSTEM中的密码也就被永远地删除了。
Windows启动密码
遗忘Windows98的启动密码虽然不会影响系统的启动,但将使用户找不到自己原有的个人设置,包括桌面图片、我的文档、背景音乐和开始菜单的一些设置。要解除密码,就必须进入Windows,删除Windows安装目录下的*.pwl密码文件及Profiles子目录下的所有个人信息文件。然后重新启动计算机,系统就会弹出一个对话框,此时,只需按“确定”,Windows密码就被删除了(注:假如进不了Windows98,可以在开机时按F8进入安全模式)。
屏幕保护密码
屏幕保护功能可以防止他人在自己不在的情况下偷用自己的计算机。此密码非常脆弱,在忘了密码之时,我们只要强行启动计算机即可,如:按“Ctrl+Alt+Del”或机箱上的复位键。重新启动计算机后,然后右击桌面,出来“显示属性”,再选择“屏幕保护程序”,把密码保护去掉即可。
电源管理密码
此密码与Window98启动密码完全一致,因此,只要执行前面如何破解Windows98密码的方法就可破解。
设置防黑客密码的秘诀
为了让你走出设立密码的误区,远离黑客,以下是一些来自网络安全专家赛门铁克的设立防黑客密码的秘诀。
* 使用大写字母和小写字母、标点和数字的集合
* 在不同账号里使用不同的密码
* 有规律的更换密码。为了容易记起要更换密码,将它和一件事联系起来。例如在每月的第一天或发薪日更换密码。
* 密码至少要6个字符。您的密码字符数越多,就越难被查出。
* 使用一个方便你记忆的密码,那么您便不必写下来了。
密码选择使用以下指导来避免遭受攻击:
* 不要使用和您有关的姓名和数字,如出生日期或是绰号
* 不要以任何形式使用您的用户名或是注册名
* 不要使用您的名字,或是家庭成员或宠物的名字
* 不要使用任何语言的单个字作为密码
* 不要使用“密码”(“password”)作为密码
* 不要使用可轻易获得的关于你的信息。这包括执照号码、电话号码、社会安全号码、手机号码、你所居住的街道的名字,等等。
这么多的建议和“不要”原则,如此说来,你也许会问,按照上述建议设立的密码是否将十分复杂,且难于记忆?先不必着急,下面将告诉你——
如何记住你的密码
密码应随时记住且不可写下来。可以使用一些工具来帮助你选择一个易于记忆,但是仍然很难被窃取的密码。
* 选出一句歌词,使用句中每一单词的第一个字母,将只取首字母的缩写词作为密码。
* 选择两个没有任何共同点的短词,将他们用标点或数字连接起来,如“moss9desk”。
* 使用一个熟悉的短语,但是要用数字“0”来代替字母“O”,诸如此类。
尽管说了这么多便于记忆且难于被黑客攻破的密码设立原则,但要是真“一时兴起”,忘了怎么办?
密码如何存储
如果你觉得在头脑里分门别类地记住各种各样的密码很繁琐的话,那么有一些方式可以帮你记忆密码。其中一些甚至允许你即使是在路上或是使用不同的电脑时也可访问你所存储的密码。
* 密码存储软件
有很多种程序,如桌面软件密码解决方案,它可使你存储所有注册名和密码,并只须使用你记忆最深刻的一个密码便可访问其余那些。一些程序将你的密码加密,以防止密码被偷看。桌面软件密码解决方案的一个缺点是只有在使用电脑并运行该程序的时候,你才能够访问您存储的密码。如果仅是使用家用电脑来网上冲浪、在线购物和银行结算,这种方式值得借鉴。
* 在线密码存储
在线有很多种密码存储方式,无论你在世界的任何角落,只要你的电脑连接上了互联网,你就可以一天24小时连续访问你存储的用户名和密码。在线存储有很多方式还提供了128-bit加密技术,可确保人们在畅游网络时的密码安全。一些在线的存储站点能将你的密码存储在其服务器上,可能还不够安全。但为了做到安全预警,不少在线服务也能将密码存储在你的电脑中,那么密码将很少受到篡改。
* 在线图形密码存户
这种方式可使你轻松记住一个密码并能打开其余的密码。“密码”(“password”)实际上就是人们每一天行为的一系列图形展示。你所要记住的一切就是用什么口令完成访问密码的动作。当你选择了一个很难被窃取的密码时,务必要确保密码的安全,且尽量使其安全性进一步提高。不要将你的密码email给任何人,如果有人打电话向你询问密码,千万不要告诉他们。另外,在公司内部,正式的IT职员应在访问系统之前得到授权。一旦你创建了一个很好的密码,可用赛门铁克的“诺顿网络安全特警”来确保密码的安全,你可以上 网址下载。
偷梁换柱盗QQ
现在网上盗QQ密码的恶意软件层出不穷,甚至可以用“泛滥”这个词来形容。自从一些免费的信箱服务商开始收费和一些网站开始使用SMTP身份验证后,那些对付版本较老的QQ的恶意软件也就跟着“潮流”变革了。今天来给大家介绍两个功能和原理都相似的恶意软件,好让大家在公开场合使用QQ时注意防范。
一、“狐Q”
最新版本是V1.5。这个软件是以伪装的手法把QQ号码和密码发到指定的邮箱,可以对所有版本的QQ程序生效。第一次运行“狐Q”时,伪装的软件自动复制到“QQ2000b”所在的目录中,并把原来的“QQ2000b.exe”改为“QQ2000b.com”,注意这个并不会影响QQ2000的运行。设置完毕后“狐Q”原程序就消失,也就是“狐Q”等待工作的时候了。本软件设置中有一个“生效次数”,它决定真假“QQ2000b”交替运行次数,这样就可以减少用户在使用QQ的时候产生怀疑。如“生效次数”设为3,那么第一次运行真“QQ2000b”,第二次运行真“QQ2000b”,到第三次就开始运行“狐Q”了,而且如果密码发送失败了,它自动记录下用户密码,待下次再发送。看,是不是比真的狐狸还要狡猾?
防御方法:
求采纳为满意回答。
如何防止系统用户泄漏密码给他人使用
1、使用暗文密码
这次CSDN泄漏的600万用户密码系CSDN2009年4月之前的用户资料,CSDN称在2009年4月前该网站将用户资料以明文密码方式存储,09年4月之后系统升级才使用暗文密码,但不知为何,未将之前的用户资料做相关处理。所以,相关网站应该一律使用暗文方式存储密码,就算被盗也不会被黑客轻而易举的拿走用户隐私信息。
2、限制用户输入非常容易被破解的口令
网站在处理用户申请帐号时,可以做出相应的规定。比如说当用户输入“123456”做密码时可以出现提示“此密码过于简单”等并限制此类密码的建立。
3、妥善管理用户登录状态
不要在cookie中存放用户的密码,Javascript 中cookie存放密码,客户端是可以查看的,别人查看一下js代码,然后就可以从cookie里面还原密码了。
正确设计“记住密码”功能,不要让cookie有权限访问所有的操作,权衡cookie的过期时间。
4、口令探测防护
使用验证码登录,设置验证码可以防止网站批量注册及暴力破解等行为。网站也可设置用户口令失败次数,在登录一定次数之后限制该帐号在一段时间内的登录。
5、部署完整的信息安全系统
这一点是需要网站必须做好的一件事情,网站部署完整的信息安全系统,充分保护用户资料信息。密码泄漏的两个源头之一用户密码被盗为个体,如果企业数据库被攻破则为群体,网站的信息安全工作尤为重要。
如何防范计算机网络攻击
一、计算机网络攻击的常见手法
互联网发展至今,除了它表面的繁荣外,也出现了一些不良现象,其中黑客攻击是最令广大网民头痛的事情,它是计算机网络安全的主要威胁。下面着重分析黑客进行网络攻击的几种常见手法及其防范措施。
(一)利用网络系统漏洞进行攻击
许多网络系统都存在着这样那样的漏洞,这些漏洞有可能是系统本身所有的,如WindowsNT、UNIX等都有数量不等的漏洞,也有可能是由于网管的疏忽而造成的。黑客利用这些漏洞就能完成密码探测、系统入侵等攻击。
对于系统本身的漏洞,可以安装软件补丁;另外网管也需要仔细工作,尽量避免因疏忽而使他人有机可乘。
(二)通过电子邮件进行攻击
电子邮件是互联网上运用得十分广泛的一种通讯方式。黑客可以使用一些邮件炸弹软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪,这一点和后面要讲到的“拒绝服务攻击(DDoS)比较相似。
对于遭受此类攻击的邮箱,可以使用一些垃圾邮件清除软件来解决,其中常见的有SpamEater、Spamkiller等,Outlook等收信软件同样也能达到此目的。
(三)解密攻击
在互联网上,使用密码是最常见并且最重要的安全保护方法,用户时时刻刻都需要输入密码进行身份校验。而现在的密码保护手段大都认密码不认人,只要有密码,系统就会认为你是经过授权的正常用户,因此,取得密码也是黑客进行攻击的一重要手法。
取得密码也还有好几种方法,一种是对网络上的数据进行监听。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而黑客就能在两端之间进行数据监听。
但一般系统在传送密码时都进行了加密处理,即黑客所得到的数据中不会存在明文的密码,这给黑客进行破解又提了一道难题。这种手法一般运用于局域网,一旦成功攻击者将会得到很大的操作权益。
另一种解密方法就是使用穷举法对已知用户名的密码进行暴力解密。这种解密软件对尝试所有可能字符所组成的密码,但这项工作十分地费时,不过如果用户的密码设置得比较简单,如“12345”、“ABC”等那有可能只需一眨眼的功夫就可搞定。
为了防止受到这种攻击的危害,用户在进行密码设置时一定要将其设置得复杂,也可使用多层密码,或者变换思路使用中文密码,并且不要以自己的生日和电话甚至用户名作为密码,因为一些密码破解软件可以让破解者输入与被破解用户相关的信息,如生日等,然后对这些数据构成的密码进行优先尝试。另外应该经常更换密码,这样使其被破解的可能性又下降了不少。
(四)后门软件攻击
后门软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较著名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件操作外,同时也可以进行对方桌面抓图、取得密码等操作。
这些后门软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,后门软件的服务器端就安装完成了,而且大部分后门软件的重生能力比较强,给用户进行清除造成一定的麻烦。
当在网上下载数据时,一定要在其运行之前进行病毒扫描,并使用一定的反编译软件,查看来源数据是否有其他可疑的应用程序,从而杜绝这些后门软件。
(五)拒绝服务攻击
互联网上许多大网站都遭受过此类攻击。实施拒绝服务攻击(DDoS)的难度比较小,但它的破坏性却很大。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。
现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。
对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络操作,所以大家在上网时一定要安装好防火墙软件,同时也可以安装一些可以隐藏IP地址的程序,怎样能大大降低受到攻击的可能性。
-----------------------------------------------------------------------------
二、计算机网络安全的防火墙技术
计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,信息数据的保密性、完整性和可使用性受到保护。网络安全防护的根本目的,就是防止计算机网络存储、传输的信息被非法使用、破坏和篡改。防火墙技术正是实现上述目的一种常用的计算机网络安全技术。
(一)防火墙的含义
所谓“防火墙”,是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。防火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的黑客来访问你的网络,防止他们更改、拷贝、毁坏你的重要信息。
(二)防火墙的安全性分析
防火墙对网络的安全起到了一定的保护作用,但并非万无一失。通过对防火墙的基本原理和实现方式进行分析和研究,作者对防火墙的安全性有如下几点认识:
1.只有正确选用、合理配置防火墙,才能有效发挥其安全防护作用
防火墙作为网络安全的一种防护手段,有多种实现方式。建立合理的防护系统,配置有效的防火墙应遵循这样四个基本步骤:
a.风险分析;
b.需求分析;
c.确立安全政策;
d.选择准确的防护手段,并使之与安全政策保持一致。
然而,多数防火墙的设立没有或很少进行充分的风险分析和需求分析,而只是根据不很完备的安全政策选择了一种似乎能“满足”需要的防火墙,这样的防火墙能否“防火”还是个问题。
2.应正确评估防火墙的失效状态
评价防火墙性能如何,及能否起到安全防护作用,不仅要看它工作是否正常,能否阻挡或捕捉到恶意攻击和非法访问的蛛丝马迹,而且要看到一旦防火墙被攻破,它的状态如何? 按级别来分,它应有这样四种状态:
a.未受伤害能够继续正常工作;
b.关闭并重新启动,同时恢复到正常工作状态;
c.关闭并禁止所有的数据通行;
d. 关闭并允许所有的数据通行。
前两种状态比较理想,而第四种最不安全。但是许多防火墙由于没有条件进行失效状态测试和验证,无法确定其失效状态等级,因此网络必然存在安全隐患。
3.防火墙必须进行动态维护
防火墙安装和投入使用后,并非万事大吉。要想充分发挥它的安全防护作用,必须对它进行跟踪和维护,要与商家保持密切的联系,时刻注视商家的动态。因为商家一旦发现其产品存在安全漏洞,就会尽快发布补救(Patch) 产品,此时应尽快确认真伪(防止特洛伊木马等病毒),并对防火墙软件进行更新。
4.目前很难对防火墙进行测试验证
防火墙能否起到防护作用,最根本、最有效的证明方法是对其进行测试,甚至站在“黑客”的角度采用各种手段对防火墙进行攻击。然而具体执行时难度较大,主要原因是:
a.防火墙性能测试目前还是一种很新的技术,尚无正式出版刊物,可用的工具和软件更是寥寥无几。据了解目前只有美国ISS公司提供有防火墙性能测试的工具软件。
b.防火墙测试技术尚不先进,与防火墙设计并非完全吻合,使得测试工作难以达到既定的效果。
c.选择“谁”进行公正的测试也是一个问题。
可见,防火墙的性能测试决不是一件简单的事情,但这种测试又相当必要,进而提出这样一个问题:不进行测试,何以证明防火墙安全?
5.非法攻击防火墙的基本“招数”
a. IP地址欺骗攻击。许多防火墙软件无法识别数据包到底来自哪个网络接口,因此攻击者无需表明进攻数据包的真正来源,只需伪装IP地址,取得目标的信任,使其认为来自网络内部即可。IP地址欺骗攻击正是基于这类防火墙对IP地址缺乏识别和验证的机制而得成的。
b.破坏防火墙的另一种方式是攻击与干扰相结合。也就是在攻击期间使防火墙始终处于繁忙的状态。防火墙过分的繁忙有时会导致它忘记履行安全防护的职能,处于失效状态。
c.防火墙也可能被内部攻击。因为安装了防火墙后,随意访问被严格禁止了, 这样内部人员无法在闲暇的时间通过Telnet浏览邮件或使用FTP向外发送信息,个别人会对防火墙不满进而可能攻击它、破坏它,期望回到从前的状态。这里,攻击的目标常常是防火墙或防火墙运行的操作系统,因此不仅涉及网络安全,还涉及主机安全问题。
----------------------------------------------------------------------------
(三)防火墙的基本类型
实现防火墙的技术包括四大类:网络级防火墙(也叫包过滤型防火墙)、应用级网关、电路级网关和规则检查防火墙。
1.网络级防火墙
一般是基于源地址和目的地址、应用或协议以及每个IP包的端口来作出通过与否的判断。一个路由器便是一个“传统”的网络级防火墙,大多数的路由器都能通过检查这些信息来决定是否将所收到的包转发,但它不能判断出一个IP包来自何方,去向何处。
先进的网络级防火墙可以判断这一点,它可以提供内部信息以说明所通过的连接状态和一些数据流的内容,把判断的信息同规则表进行比较,在规则表中定义了各种规则来表明是否同意或拒绝包的通过。包过滤防火墙检查每一条规则直至发现包中的信息与某规则相符。
如果没有一条规则能符合,防火墙就会使用默认规则,一般情况下,默认规则就是要求防火墙丢弃该包。其次,通过定义基于TCP或UDP数据包的端口号,防火墙能够判断是否允许建立特定的连接,如Telnet、FTP连接。
下面是某一网络级防火墙的访问控制规则:
(1)允许网络123.1.0使用FTP(21口)访问主机 ;
(2)允许IP地址为 和 的用户Telnet (23口)到主机 上;
(3)允许任何地址的E-mail(25口)进入主机 ;
(4)允许任何WWW数据(80口)通过;
(5)不允许其他数据包进入。
网络级防火墙简洁、速度快、费用低,并且对用户透明,但是对网络的保护很有限,因为它只检查地址和端口,对网络更高协议层的信息无理解能力。
2.规则检查防火墙
该防火墙结合了包过滤防火墙、电路级网关和应用级网关的特点。它同包过滤防火墙一样, 规则检查防火墙能够在OSI网络层上通过IP地址和端口号,过滤进出的数据包。它也象电路级网关一样,能够检查SYN和ACK标记和序列数字是否逻辑有序。
当然它也象应用级网关一样, 可以在OSI应用层上检查数据包的内容,查看这些内容是否能符合公司网络的安全规则。规则检查防火墙虽然集成前三者的特点,但是不同于一个应用级网关的是,它并不打破客户机/服务机模式来分析应用层的数据, 它允许受信任的客户机和不受信任的主机建立直接连接。
规则检查防火墙不依靠与应用层有关的代理,而是依靠某种算法来识别进出的应用层数据,这些算法通过已知合法数据包的模式来比较进出数据包,这样从理论上就能比应用级代理在过滤数据包上更有效。
目前在市场上流行的防火墙大多属于规则检查防火墙,因为该防火墙对于用户透明,在OSI最高层上加密数据,不需要你去修改客户端的程序,也不需对每个需要在防火墙上运行的服务额外增加一个代理。
如现在最流行的防火墙之一OnTechnology软件公司生产的OnGuard和CheckPoint软件公司生产的FireWall-1防火墙都是一种规则检查防火墙。
从趋势上看,未来的防火墙将位于网络级防火墙和应用级防火墙之间,也就是说,网络级防火墙将变得更加能够识别通过的信息,而应用级防火墙在目前的功能上则向“透明”、“低级”方面发展。最终防火墙将成为一个快速注册稽查系统,可保护数据以加密方式通过,使所有组织可以放心地在节点间传送数据。
(四)防火墙的配置
防火墙配置有三种:Dual-homed方式、Screened-host方式和Screened-subnet方式。Dual-homed方式最简单。 Dual-homedGateway放置在两个网络之间,这个Dual-omedGateway又称为bastionhost。
这种结构成本低,但是它有单点失败的问题。这种结构没有增加网络安全的自我防卫能力,而它往往是受“黑客”攻击的首选目标,它自己一旦被攻破,整个网络也就暴露了。
Screened-host方式中的Screeningrouter为保护Bastionhost的安全建立了一道屏障。它将所有进入的信息先送往Bastionhost,并且只接受来自Bastionhost的数据作为出去的数据。
这种结构依赖Screeningrouter和Bastionhost,只要有一个失败,整个网络就暴露了。Screened-subnet包含两个Screeningrouter和两个Bastionhost。 在公共网络和私有网络之间构成了一个隔离网,称之为”停火区”(DMZ,即DemilitarizedZone),Bastionhost放置在”停火区”内。这种结构安全性好,只有当两个安全单元被破坏后,网络才被暴露,但是成本也很昂贵。
----------------------------------------------------------------------------
(四)防火墙的安全措施
各种防火墙的安全性能不尽相同。这里仅介绍一些一般防火墙的常用安全措施:
1.防电子欺骗术
防电子欺骗术功能是保证数据包的IP地址与网关接口相符,防止通过修改IP地址的方法进行非授权访问。还应对可疑信息进行鉴别,并向网络管理员报警。
2.网络地址转移
地址转移是对Internet隐藏内部地址,防止内部地址公开。这一功能可以克服IP寻址方式的诸多限制,完善内部寻址模式。把未注册IP地址映射成合法地址,就可以对Internet进行访问。
3.开放式结构设计
开放式结构设计使得防火墙与相关应用程序和外部用户数据库的连接相当容易,典型的应用程序连接如财务软件包、病毒扫描、登录分析等。
4.路由器安全管理程序
它为Bay和Cisco的路由器提供集中管理和访问列表控制。
(六)传统防火墙的五大不足
1.无法检测加密的Web流量
如果你正在部署一个光键的门户网站,希望所有的网络层和应用层的漏洞都被屏蔽在应用程序之外。这个需求,对于传统的网络防火墙而言,是个大问题。
由于网络防火墙对于加密的SSL流中的数据是不可见的,防火墙无法迅速截获SSL数据流并对其解密,因此无法阻止应用程序的攻击,甚至有些网络防火墙,根本就不提供数据解密的功能。
2、普通应用程序加密后,也能轻易躲过防火墙的检测
网络防火墙无法看到的,不仅仅是SSL加密的数据。对于应用程序加密的数据,同样也不可见。在如今大多数网络防火墙中,依赖的是静态的特征库,与入侵监测系统(IDS,Intrusion Detect System)的原理类似。只有当应用层攻击行为的特征与防火墙中的数据库中已有的特征完全匹配时,防火墙才能识别和截获攻击数据。
但如今,采用常见的编码技术,就能够地将恶意代码和其他攻击命令隐藏起来,转换成某种形式,既能欺骗前端的网络安全系统,又能够在后台服务器中执行。这种加密后的攻击代码,只要与防火墙规则库中的规则不一样,就能够躲过网络防火墙,成功避开特征匹配。
3、对于Web应用程序,防范能力不足
网络防火墙于1990年发明,而商用的Web服务器,则在一年以后才面世。基于状态检测的防火墙,其设计原理,是基于网络层TCP和IP地址,来设置与加强状态访问控制列表(ACLs,Access Control Lists)。在这一方面,网络防火墙表现确实十分出色。
近年来,实际应用过程中,HTTP是主要的传输协议。主流的平台供应商和大的应用程序供应商,均已转移到基于Web的体系结构,安全防护的目标,不再只是重要的业务数据。网络防火墙的防护范围,发生了变化。
对于常规的企业局域网的防范,通用的网络防火墙仍占有很高的市场份额,继续发挥重要作用,但对于新近出现的上层协议,如XML和SOAP等应用的防范,网络防火墙就显得有些力不从心。
由于体系结构的原因,即使是最先进的网络防火墙,在防范Web应用程序时,由于无法全面控制网络、应用程序和数据流,也无法截获应用层的攻击。由于对于整体的应用数据流,缺乏完整的、基于会话(Session)级别的监控能力,因此很难预防新的未知的攻击。
4、应用防护特性,只适用于简单情况
目前的数据中心服务器,时常会发生变动,比如:
★ 定期需要部署新的应用程序;
★ 经常需要增加或更新软件模块;
★ QA们经常会发现代码中的bug,已部署的系统需要定期打补丁。
在这样动态复杂的环境中,安全专家们需要采用灵活的、粗粒度的方法,实施有效的防护策略。
虽然一些先进的网络防火墙供应商,提出了应用防护的特性,但只适用于简单的环境中。细看就会发现,对于实际的企业应用来说,这些特征存在着局限性。在多数情况下,弹性概念(proof-of-concept)的特征无法应用于现实生活中的数据中心上。
比如,有些防火墙供应商,曾经声称能够阻止缓存溢出:当黑客在浏览器的URL中输入太长数据,试图使后台服务崩溃或使试图非法访问的时候,网络防火墙能够检测并制止这种情况。
细看就会发现,这些供应商采用对80端口数据流中,针对URL长度进行控制的方法,来实现这个功能的。
如果使用这个规则,将对所有的应用程序生效。如果一个程序或者是一个简单的Web网页,确实需要涉及到很长的URL时,就要屏蔽该规则。
网络防火墙的体系结构,决定了网络防火墙是针对网络端口和网络层进行操作的,因此很难对应用层进行防护,除非是一些很简单的应用程序。
5、无法扩展带深度检测功能
基于状态检测的网络防火墙,如果希望只扩展深度检测(deep inspection)功能,而没有相应增加网络性能,这是不行的。
真正的针对所有网络和应用程序流量的深度检测功能,需要空前的处理能力,来完成大量的计算任务,包括以下几个方面:
★ SSL加密/解密功能;
★ 完全的双向有效负载检测;
★ 确保所有合法流量的正常化;
★ 广泛的协议性能;
这些任务,在基于标准PC硬件上,是无法高效运行的,虽然一些网络防火墙供应商采用的是基于ASIC的平台,但进一步研究,就能发现:旧的基于网络的ASIC平台对于新的深度检测功能是无法支持的。
三、结束语
由于互联网络的开放性和通信协议的安全缺陷,以及在网络环境中数据信息存储和对其访问与处理的分布性特点,网上传输的数据信息很容易泄露和被破坏,网络受到的安全攻击非常严重,因此建立有效的网。
arm的trustzone是怎样保证硬件安全的
Trustzone可以追溯到十多年前,ARMv7公布的时候就有了,可惜一直没有什么实际应用。直到近几年开始,才真正的有厂商开始把这个方案大规模用于芯片里。目前看到的主要有四个应用领域:
第一是无人机芯片,大疆已经走在了最前面,第二名连影子都没看见。无人机上几大应用,图像传输,图像处理,识别,飞控,存储,每一块都有安全的诉求。利用Trustzone可以做到,在芯片里流动的数据,每一步都在安全系统的控制之下,哪怕飞机被人抢去,都需要极大的代价才能拿到闪存以及内存里面的数据。如果以后上安卓或者其他操作系统,哪怕软件系统被黑客攻破,数据和控制还是安全的。最后,如果国家或者行业出台政策,要求实施禁飞区,那么哪怕无人机的主人自己去修改闪存和软件,都可以被强制接管。这些功能必须在芯片设计阶段就考虑到,大疆在这方面的眼光确实比别人长远。
第二是DRM,数字版权管理,也就是内容保护。如果国内用户要在手机上看最新好莱坞大片,那么播放设备必须经过一个认证,这个认证可以用trustzone来实现。国内已经在积极的推动这个事情,估计再过一段时间就可以实现了。当然,这是一把双刃剑,肯定也有用户反而不愿买支持DRM的设备,而去看盗版。用了Trustzone本身并不限制盗版,只不过多了一个看好莱坞大片的渠道。
第三是支付。把Trustzone用于支付支付在技术上没有困难,对芯片性能要求也不高,难的是把各个利益方摆平。银行和运营商想把支付控制权握在自己手里,所以会去大力推广NFC,会去和苹果合作。而手机支付软件厂商,比如支付宝和微信,想通过和手机芯片和硬件厂商,把所有功能都自己的平台上实现。目前的支付大多数还是基于软件和远端密钥验证。如果有人把手机破解,那还是可以读取到支付图层的密码的。而trustzone做的,就是硬件上杜绝这类情况。
第四是物联网。物联网的安全有好几种做法,可以把安全检测放在服务器端或者末端芯片上。末端通常是一个MCU加上传感器和互联模块,面积较小。用硬件trustzone实现的话,加解密和密钥管理等功能会需要额外内模块,可能比MCU本身都大,成本太高。但如果是附加值高的芯片就没什么问题。
让我们从技术层面来定义Trustzone到底能做什么:
1、防止操作系统被攻破后关键数据泄密,关键数据存放在特定内存区域,而那块区域,只有安全操作系统才有可能读到。
2、防止通过JTAG等调试接口读到寄存器,缓存,内存或者闪存数据。
3、从芯片制造开始,最初的密钥可以用芯片熔丝实现,往后启动的每一步都需要最高特权级和密钥验证,建立信任链,杜绝软件被替换或者被恶意读取。
4、防止边带攻击,比如量取内存颗粒的信号猜测数据,制造故障让检验模块停止工作,替换外围器件,输入特定数据确定电磁信号特征,打开芯片直接量内部信号线等。
上一个典型的ARM SoC内部结构,在这个结构里,Trustzone做的事情是保护数据在芯片内部的安全,不允许非授权的访问,哪怕这个访问来自CPU。初看有些复杂,不过我们可以拆开慢慢分析。从硬件角度开始比软件更清楚些,说不定哪天过认证的时候需要答辩,从头到尾解释系统安全设计。
首先,按照Trustzone的划分,一个芯片内被划分为安全世界和非安全世界。上图中,中间黑色的部分是总线,总线上面是主设备,下面是从设备(主设备中的缓存是例外,这个以后说)。读写请求总是从主设备发往从设备的。
作为从设备,区分它是不是属于安全世界相对简单。如果一个从设备不存在成块的空间映射,比如I2C或者PWM,那么我只要在总线访问它的时候,额外的加入一个管脚(取名为PROT),就可以告诉它本次访问是不是来自安全世界。如果从设备本身是完全属于被保护的安全世界,不接受非安全的访问,那么只要简单的拒绝,返回错误或者无意义数据即可。同样,如果从设备本身处于非安全世界,那么对于安全和非安全访问,都可以返回正确数据。还有,从设备所处于的世界,是可以动态配置的,且动态配置本身需要处在安全世界,这个以后讨论。
对于块设备,包括闪存,sram和内存等,它们的某些地址块需要处于安全世界,其他的处于非安全世界。为了实现这一点,就需要在它们前面插入一个检验模块(例如图中左方,DDR上面的TZC400),来判断某个地址是不是能被访问。当地址被送到这个检验模块,模块会结合PROT管脚去查表,看看本次访问是不是被允许,然后做相应措施。表本身和之前的动态配置一样,必须是在安全世界里面配置的。
至此,从设备就分析完了,是不是感觉特别简单?还有些细节,在把主设备也讲完后,我们会从系统角度来关注。
对于一般主设备,不考虑自带的缓存时,其实和从设备也差不多,也分为安全和非安全,可以在安全世界动态配置。配置完成后,这些主设备会按照自己所处的世界,驱动PROT管脚和地址来访问从设备,得到相应返回。不过这里的一般主设备不包括中断控制器,系统MMU,调试模块和处理器,接下来对这些例外模块进行具体分析。
首先是处理器。
在上图情况,接了CCI总线后,处理器接在缓存一致性端口ACE上(不明白的请参考以前的文章),它的缓存是可以被别人访问的,并且这个访问,是从主设备到主设备(当然,在处理器内部是从端口),不会经过总线送到内存,也不会经过检验模块TZC400。这时就有个漏洞,通过操纵一个非安全世界的模块,比如上图的橙色主设备,假装去读一个被安全世界保护的内存地址。这个地址本来存在于内存,被TZC400保护,可是由于总线的监听功能,读请求有可能被发往处理器缓存,从而绕过保护。
为了防止这种情况,处理器在所有的页表和缓存都做了特殊设计,加了一个标志位,标志本缓存行是否属于安全世界。如果别的非安全世界主设备来监听安全世界缓存行,由于安全位不同,处理器会认为这是两个不同地址,哪怕它们的地址一致,返回缓存未命中。这样,就不会把数据泄漏。
有人会问,这个标志位来源于页表,改了页表中的这一位不就可以访问了?其实不行。因为安全世界页表位于被保护的内存区域或者缓存,就算破解了操作系统也无法访问。
又有人会说,那改了非安全世界的页表中安全位,并伪造一个安全世界的地址,岂不是可以让CPU模拟出一个访问安全世界的传输,送到总线和TZC400?TZC400或者对端缓存一看地址和PROT管脚都是符合要求的,应该就会返回保密数据吧?想法是不错,可是当CPU位于非安全世界时,它会忽略页表中的安全位,所以不可能发出PROT为安全的传输。所以,我们可以对这点放心。
以上是别的主设备访问处理器,那如果处理器本身处于非安全世界,有没有可能访问其他主设备的安全缓存?当然有。所以不要把其他主设备接到ACE端口,以免被监听,一般主设备是不会做缓存上的安全与非安全区分的。接到ACE-Lite接口无所谓,反正设计上就无法被读取缓存数据。
除此之外,还存在一个例外,就是GPU。在最新的ARM G71图形处理器上,是支持双向硬件一致性的。也就是说,GPU也可以被监听缓存的。为了简化设计,图形处理器被设成永远处于非安全世界,CPU尽管读,不在乎,它使用另外一种机制来保护数据,以后介绍。
对处理器缓存熟悉的人可能会想到用跨缓存行的非安全变量来访问被保护的数据。没用的,处理器设计者早就想到这点,要不就是非对齐访问异常(包含exclusive access的时候),要不就不会给你数据,具体到每个处理器有所不同。
还有一个漏洞没堵上,那就是缓存维护,TLB和分支预测操作。ACE端口包含了DVM操作来维护它们,安全性如何保障?同样的,地址中也有安全和非安全位。不过话说回来,DVM操作无非就是无效化某些缓存,分支预测和TLB项,不存在安全数据被读取,TLB被篡改的情况。
到这里可能你会觉得有点晕,不少漏洞需要堵。我们可以回顾一下,需要记住的是各种缓存操作,通过安全标志位保护,避免漏洞。对比处理器设计者所要考虑的情况,这点漏洞不值一提。
杜绝了缓存漏洞后,还有别的隐患,比如仿真器。调试模块可以被用来访问各个从设备,也可以访问和影响处理器内部资源。从设备侧的防护很容易,把调试模块当成一般的主设备处理就行。处理器内部的寄存器,缓存等资源,需要处理器从设计开始,就要为所有资源定义安全级别。被保护的资源对于来自调试模块的未授权访问会被禁止。只有通过安全启动链,安全世界的软件才能打开寄存器SDER,从而允许外部仿真器影响被保护的安全世界资源和处理器运行状态,访问被保护的资源。
那处理器内部的资源是怎么划分的?以ARMv8举例,如下图:
这幅图相信很多人都看到过。ARMv8的处理器被分成四个特权等级,通常EL0跑用户态程序,EL1内核,EL2虚拟机。EL0-1分为安全与非安全,EL3只有安全世界,EL2不区分,两个世界的切换必须经过EL3。我们谈到的处理器内部资源,包括寄存器,缓存,异常,MMU,很多都会分组,组之间看不到或者低级不可访问高级,从而保证安全。没有分组的,比如通用寄存器,就需要软件来维护,防止非安全世界的看到安全世界的数据。
引起安全切换的会有几种可能:中断和SMC指令。中断分为如下几种情况:
非安全世界下,在EL1或者EL0,当一个非安全中断来临,那么系统没必要切换安全状态,作为一般中断处理,切到EL1即可。
非安全世界下,在EL1或者EL0,当一个安全中断来临,那么系统必须先切到EL3,不然就没法做安全世界切换。
安全世界下,在EL1或者EL0,当一个安全中断来临,没必要做安全世界切换,作为一般中断处理,切到EL1即可。
安全世界下,在EL1或者EL0,当一个非安全中断来临,那么系统必须先切到EL3,不然就没法做安全世界切换。
当跳到EL3的Secure Monitor程序处理上下文切换时,IRQ/FIQ中断屏蔽位不起作用,哪怕打开了也不会触发,直到Secure Monitor处理完,向下跳到相应的安全世界EL1时,才会让原来的中断屏蔽恢复,从而触发中断。此时处理中断的是安全世界的中断程序,处于被保护的内存区域,杜绝非安全世界的程序篡改。
那怎样触发安全与非安全中断呢?这在中断控制器里有定义,早年的定义中只有FIQ可以作为安全中断,后期的可配置,并且,相应的安全世界配置寄存器只有在处理器的安全世界中才可以访问。
SMC指令和中断触发类似,只不过软件就可以触发,切换到Secure Monitor。这里,非安全软件可以提出触发请求,在通用寄存器填入参数,却无法控制安全世界的处理程序做什么,也依然看不到被保护内存数据。所以防止数据泄密的任务就靠安全操作系统了。
至此,安全启动后的基本硬件防护已经完成,但如果你以为这就是Trustzone,那就错了,精彩的在后面。
我们可以把Trustzone放到实际应用里面看看是不是可行。以DRM举例,如下图:
在播放授权 视频的时候,视频流来自网络或者闪存,它们不需要在安全世界,因为数据本身就是加密过的。然后被解密并放到被保护内存,等待解码。上图中,密码保护和解密是通过安全硬件模块Crypto来完成的,这个我们以后再分析,先处理解密完成后的视频流。此时有两种方案:
第一中,非常自然的,可以把所有的过程在安全世界完成,那么图形处理器,视频处理器和显示模块必须都工作在安全世界,能访问安全世界的数据,才能完成工作。可这样就带来一个问题,那就是驱动。我们知道,图形处理器的驱动是非常复杂的,并且手机上只存在Linux和windows下的图形驱动,和OpenGL ES/DirectX配合。
而安全世界的操作系统(TEE,Trusted Execution Environment)是完全不兼容的安全系统,甚至有的都不支持SMP, 完全不存在可能性把图形驱动移植上去,也没有任何意义。这样的话,就只能把图形处理器从流程中挖掉,只留下相对简单也不需要生态的视频和显示模块的驱动,工作在安全世界,而GPU的输出送到显示模块,由显示模块进行混合。
这是一种可行的方案,也确实有公司这么做。但是从长远看,图形处理器总是会参与到这个过程的,别的不说,只说VR和AR流行以后,要是虚拟个显示屏出来,上面播放视频,然后放在一个虚拟出的房间,那他们之间肯定是要进行互动的,此时显示模块就需要把视频图层送回GPU进行运算。如果GPU不在安全世界,那就会造成泄密。
为了解决上述问题,有了第二种解决方案,称作TZMP1(Trustzone Media Protection 1),引入了保护世界的概念。
保护世界工作于非安全世界,这样才能兼容图形驱动。那安全怎么办?它需要添加四根管脚NSAID,类似于安全世界的PROT信号,只不过做了更细的划分,使得GPU/视频/显示模块要访问被保护内存时,预先定义好了权限。而这个权限的设置,也是通过前文的TZC400来实现的,在安全启动链中就完成。CPU的权限通常是0,也就是最低。而显示控制器权限是只读。
这样一来,我们之前的老问题,恶意缓存监听,又回来了。在新的A73和G71加CCI500/550总线系统里,可以支持双向硬件一致性。这意味着GPU也能被监听。这下大家都在非安全世界,缓存里的安全位不起作用,怎么解决?这需要总线的配合。
ARM的总线CCI500/550,有一个保护模式,打开后,不光支持上文的NSAID管脚,还可以在监听的时候,把监听传输替换成缓存行无效化命令,直接让目标把相应缓存行无效化。这样一来,数据还是需要从内存读取,保证安全。并且这个过程对软件透明,无需做任何改动。
可是此时,辛辛苦苦设计的硬件一致性就完全起不到加速作用了,性能受到影响。好在运行OpenGL ES的时候,GPU是不会发出共享传输的,CPU也不会没事去监听GPU的数据。而下一代的图形接口Vulkan,会开始使用GPU双向一致性,那时候会有影响。还有一点不利的是,如果同时运行OpenCL和DRM,OpenCL也用不上双向硬件一致性,必须重启系统切换到非保护模式才行。
还有,在实际使用中,现有的TZC400作为内存保护模块,有几个致命的缺陷。
第一,它的配置只能在启动时完成,无法动态改变,也就是说,一旦某块内存给了安全世界,就无法再被非安全世界的操作系统使用,哪怕它是空闲的。在4K视频播放时,需要分配几百兆内存,还不止一块。
如果一直被占着,这对于4GB内存手机来说是个沉重的负担。怎么解决?只能改成动态配置。此时,如果内存不够了,非安全操作系统提请求给安全系统,让它把暂时不用的物理内存设到非保护内存区,并定个时间收回。不过这样一来内存分配机制就复杂了,说不定还得改内核,很危险。
如果忽视这点,继续往下走,还会遇到第二个问题。TZC400和它的改进版最多只能支持最小颗粒度为2MB的内存块管理。为什么不弄细些呢?很简单,如果设成4KB,和系统页大小一致,那么4GB的物理内存就需要一百万条目来管理。如果做成片上内存,比二级缓存还大,不现实。
而做内存映射,就和MMU一样了,经过CPU的MMU后,数据访问还要再穿越一次MMU,延迟显然大。此外,这一层的MMU无法利用一二级缓存放页表,效率极低。如果继续保持2MB的颗粒,那么在分配内存的时候,很快就会因为块太大而用完。就算使用了上一节的方法,问题也没法很好解决。这就是TZMP2V1。
在这种情况下,第三种基于虚拟机的方案就出现了。不过这个方案基本上推翻了Trustzone最初的设计意图,我们来看下图:
在这里,作为内存保护的TZC400完全移除,而系统MMU加了进来。内存保护怎么做?靠物理地址重映射。先看处理器。在启动链中,从EL3向EL2跳的过程时,就定义好保护内存,并且EL2,也就是虚拟机的页表存放于保护内存,EL1的安全页也同样放在保护内存。
这样,当处理器进入到EL1,哪怕通过篡改EL1非安全页表的安全位,也最终会被映射到它所不能访问的安全内存,从而起到保护作用。同样的,给处于非安全世界的控制器也加上系统MMU,让设备虚拟化,同样可以控制安全。这就是TZMP2V2。有了系统MMU,页表可以做成4KB大小了,也不用担心CPU那里穿越两次MMU。这时候,也不用担心恶意监听缓存,因为所有穿过二级MMU的访问里,安全位都是经过检验的的。
但是,不看别的,光是为设备加入这些系统MMU,就会增加很多面积。还有,光加MMU不够,还要加入系统的三级甚至四级缓存,才能让MMU效率更高,不然延迟太大。当然,如果设备使用的页表并不很多,可以对MMU简化,比如增大最小颗粒度,减少映射范围,直接使用片内内存。这需要系统设计者来做均衡。对于GPU来说,要支持双向一致性,还得考虑让监听传输通过MMU,不然功能就出问题了。
如果使用了TZMP2V2,那么虚拟化就变成了一个切实需求。然后会发现,ARM的中断和设备的虚拟化还很不完善。接下来我从硬件角度解释下虚拟化。
说到虚拟化,先要解释系统MMU。
如上图所示,系统MMU其实很简单,就是个二层地址转换。第一层,虚地址到实地址,第二层,实地址到物理地址。请注意,没有第二层转换时,实地址等同于物理地址。这个模块既可以两层都打开,也可以只开一层,看情况而定。
上图比较清楚的显示了一层映射的过程。其中,设备发出的虚地址请求,会先经过TLB,它里面存了以前访问过的页表项,如果有,就直接返回,没有就往下走到第二步table walk。
第二步里,MMU会按照预设的多级基址寄存器,一级级访问到最终页表。如果MMU位于CPU内,那table walk过程中每次访问的基址和表项,都可以存放于缓存中,大大提高效率。如果在设备上,只有内建的TLB表项,后面没有缓存,那未命中TLB的都是访问DDR,效率自然下降。
所以CPU和GPU等经常访存的设备,都是自带第一层MMU和缓存。而对于没有内部MMU,切换页表又不是很频繁的设备,比如DMA控制器,可以在下面挂第一层MMU,此时驱动就简单了,直接把应用程序看到的虚地址给DMA的寄存器就行,MMU会自己按照基地址去查找相应页表并翻译,把实地址送到总线。不然,驱动还要自己查找实地址再写入寄存器。
我们前面说过,在TZMP1和TZMP2v1中,内存保护是靠TZC400来完成的。而到了TZMP2v2,取消了TZC400,这时靠虚拟化的二层地址映射。
二层映射的过程和一层映射基本一样,不再详述,但是性能问题会被放大。假设在一层中,经过四级基址查到最终页,而在二层中,这每一级的基址查找,又会引入新的四级基址访问。所以至少要经过4x4+4=20次访存,才能确定物理地址。如果没有缓存的帮助,效率会非常低。
其他可行的办法是减少基址级数,比如linux只用了三级页表,但即使如此,也需要3x3+3=12次查找。在包含缓存的ARM CPU上,虚拟机的效率可以做到80%以上。而二层MMU应用于设备实现设备虚拟化的时候,就需要小心设计了。
有了系统MMU,我们就有了全芯片虚拟化的基础。那在对系统性能和成本做完平衡,采取合适的系统MMU设计之后,是不是就可以实现虚拟化,并且靠虚拟化实现安全了?没那么容易,还有其它问题需要考虑。
虚拟化脱胎于仿真器,就是在一个平台上模拟出另一个平台。在指令集相同的时候,没有必要翻译每一条指令,可以让指令直接被硬件执行,这样指令的效率算是得到了解决。当然,对于某些特殊指令和寄存器访问,还是需要hypervisor处理的。接着第二个问题,访存。
我们前面解释过,对CPU来说,高效的虚拟化访存,就是让指令高效的经过两层翻译,而不是每次访存都需要触发虚拟机EL2的异常,切到Hypervisor,再得到最终物理地址。这一点在没有缺页异常的时候,ARM的虚拟化也已经做到了,而有缺页异常时还是需要Hypervisor处理。再接着是设备访存虚拟化,有了系统MMU,也可以高效做到。再就是处理器和设备中断虚拟化。
最后,设备的虚拟化需要管理,那设备本身需要支持虚拟设备号和虚拟中断号。更多内容请期待。
黑客是干什么的
楼上的好像搞错了吧?骇客、黑客都是一个意思,说法不同而已。只是以前的黑客跟现在的黑客做的事情不同。cracker是破解软件的,让网友们可以使用到免费的软件而不用注册。
真正的黑客都是编程高手,所以一般自己编程的,只有初学者才用编好的程序。
提起黑客,总是那么神秘莫测。在人们眼中,黑客是一群聪明绝顶,精力旺盛的年轻人,一门心思地破译各种密码,以便偷偷地、未经允许地打入政府、企业或他人的计算机系统,窥视他人的隐私。那么,什么是黑客呢?
黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个人才干的人。他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。
另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。
一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。
在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。
但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。
一些黑客往往回采取一些几种方法,但是我很想说的是,一个优秀的黑客绝不会随便攻击别人的。
1)、获取口令
这又有三种方法:一是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。此方法在所有方法中危害最大,因为它不需要像第二种方法那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、666666、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。
2)、放置特洛伊木马程序
特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。
3)、WWW的欺骗技术
在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。
4)、电子邮件攻击
电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的网络管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该方法提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。
5)、通过一个节点来攻击其他节点
黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。
6)、网络监听
网络监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXray for windows 95/98/nt,sniffit for linux 、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。
7)、寻找系统漏洞
许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配置错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。
8)、利用帐号进行攻击
有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。
9)、偷取特权
利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个网络的绝对控制权。这种攻击手段,一旦奏效,危害性极大。
百度百科里也有: