网站入侵10大隐患 看网站为何如此脆弱?
网络安全如今一直是客户最头疼的问题,个人数据泄密的事件屡见不鲜。是什么造成了这一切?
2 I* V3 v4 q4 Z. |" l2 `- u3 k 安全咨询专家Joel Snyder说,“很多网站站长忽略了这样一个问题,在网站开发小组里,你寻找的首要目标是那些很有创意并且能够构建有创意的网站的人才,可能最后考虑的问题才是安全问题。”
6 A3 q: K, g Z A) t3 W" `, e* D) r+ t; G' y! S9 ]8 s
我们不难看出,如今在网络应用程序没有一种机制区分或验证系统来保证不同部分的数据移动。网站开发的技术人员都还没有对安全问题引起足够的重视。
! H# }) D! r5 T, c% u+ I) w
& _. E d# }* S: l% E! M3 z Forrester公司的高级安全分析家也认为,人们总是在网站出事之后才想到亡羊补牢,而不是事先就做好准备。
5 V7 t( F0 @1 b2 e; Q" V$ Y) ?, B- C- p/ g! c
Kark说:“我敢说大多数的网站都有可能被黑,根本原因就是人们在设计程序的时候完全没有考虑安全问题。”
5 x$ E" e7 m7 r& k/ L c
- }- o( }2 K0 \( ]# X3 H 早在2004年就有安全组织提出了的安全需要从网站设计处开始规划,然而网络安全并没有得到提高;反而随着网络的高速普及,网络安全越来越的威胁着用户的安全。诸如AJAX 和 Rich Internet Applications这样的新技术,虽然使得网站看起来更加漂亮,但却增加了安全风险。
* o5 _: c; Q# N" g
4 J# D$ _2 q, k5 N* k 以下是如今最常被黑客利用发起攻击的10大网络安全威胁,包括每个问题的详细描述,实例以及怎么样修补漏洞。3 X! ^- g" K, E- `
2 C' c0 p# S) U/ G. V* P
1.跨站脚本攻击(XXS)8 u- z% X5 r" w' n1 g7 W* R/ G: Q7 N3 H) `
$ w, m- T2 U, z$ A+ r' S: H D9 w8 A
问题:这是影响最广危险最大的网页安全程序漏洞,XSS漏洞发生在程序直接把用户的数据发送到网络浏览器的时候而没有确认和编译这些内容。这就使得在浏览器中执行恶意的脚本,让黑客劫持用户数据,甚至黑掉网站,在网站中插入恶意内容,还有发动网络钓鱼和恶意软件攻击。1 M3 q J; I. L, o9 H7 a6 D: n2 t
6 q$ n9 X6 `' X0 X( v* G7 K 这些攻击通常是以Java脚本的形式出现的,可以让黑客控制所有的网页。最坏的情况就是黑客可能会盗取客户资料或是假装成银行客户。5 z- g( V2 Z$ }. b/ {+ t
4 n. |2 C) m q4 k* F
实例:PayPal(一种网上支付方式,可以付钱给任何有e-mail的人,主要用于个人之间的网上交易)去年就遭到攻击,黑客欺骗PayPal的用户访问另外一个页面警告客户说他们的帐户受到威胁。实际上受害者访问的是一个网络钓鱼站点然后获取了PayPal客户的注册信息,社会保险号,信用卡的详细信息。PayPal称2006年的时候已经关闭了这一漏洞。! ^* D! F. l4 M9 ]( U' }' B
8 N# j' P& {0 x 如何保护客户:利用黑白名单来确认所有的输入数据,拒绝任何不再清单上的数据。& T' M4 \* g. @. a7 h6 S8 j" l
5 o6 w) A' ~4 Y
除此之外,需要使用适当的输出数据编码,确认程序允许检测攻击,编码可以有效阻止注入脚本在浏览器中的运行。2 T x+ j8 K5 U! c: r
0 n' X( G/ a" K& E5 n C4 V 2.注入漏洞
1 S& i4 z$ x) Y6 r+ b/ V3 z- ?# u3 D4 i( B* z6 a
问题:当用户数据作为一种指令或口令发送到注释器的时候,黑客欺骗了注释器(用来转换文本命令的)来执行命令。注入漏洞允许攻击者在网页应用程序中编写,读取,上传和删除任何数据。最坏的情况是,这些漏洞会使攻击者完全威胁到网页应用程序和根本系统,甚至能够躲开嵌套防火墙的监视。
& c% ?% Y4 s. P# Q
1 G4 @% g9 B7 Y# J 实例:2006年一月的时候,黑客侵入了罗德岛州府的网站并且盗取了大量的信用卡数据。黑客们宣称他们利用SQL注入攻击,成功的获取了53,000个信用卡帐号,但是官方的数据声称只有4113个。9 \+ N, }: {% d! `% V7 g8 [
1 A# W. u. E0 f n. I( D9 d1 ?
如何保护客户:尽量少使用注释器。如果必须使用注释器的话,避免注入的关键在于使用安全的API,譬如使用高度参数化的询问以及使用目标关联图。5 v* C ~! M5 u( P: a: A
: P& E/ @( m" D# B* I; s
3.恶意文件的执行% F2 n( U5 m6 m" B" F$ A- k
+ ]1 j1 V6 r F5 ]. E3 y
问题:黑客可以执行远程代码攻击,远程安装rookits,或是完全威胁整个系统。只要它接受用户文件名或是文件,任何形式的网页应用程序都存在漏洞。最普遍的漏洞可能就是与PHP编程语言相关的,很多网页的开发使用这一脚本语言。
0 j/ l$ G$ n* M( X6 o+ {9 w( ^# K9 W) t
实例:2004年,一个10几岁的程序员发现Guess.com网站存在的漏洞可能会使黑客从Guess的数据库里获取超过200,000万的客户数据,包括姓名,信用卡号还有其失效期。在联邦商务委员会(Federal Trade Commission)调查这一事件之后,Guess公司同意在来年升级它的信息安全。
: R: _' [4 o0 B8 y- i
5 n6 }. u9 Y# E! g' E( x. D 如何保护客户:不要使用户以任何形式的文件名的输入数据进入以服务器的基础资源。譬如说包含有脚本或图像的资源。设置防火墙阻止新的链接访问站点和内部系统。
5 T, ^3 X& Y" i( d# l6 ~# g& E# m8 \( v) W& M+ o9 c6 B& H
4.不安全的session
" t" |, x; d# m
; U, r2 B! n: [% S2 x$ _ 问题:攻击者会操控直接session来获得未经授权的对其他对象的访问。当URL地址或是其他形式参数中包含有文件,文件目录或是数据库记录密鈅的时候,这种危险就有可能发生。银行的网站一般使用的密码就是客户的帐号,这很可能在网站的操作界面中暴露客户帐号。攻击者仅仅需通过猜测或是寻找其他的有效的密鈅就可以攻击这些参数。一般来说,这些号码都是连续的。”
6 c; u) X* _3 \- U: n) z" b0 a+ l4 A1 b: X
实例:2000年的时候,澳大利亚税务局的网站就遭到黑客的劫持,他通过改变URL地址中的身份认证获取了关于17,000家企业的详细资料。黑客通过电子邮件告诉这17,000家公司他们的安全漏洞。
5 W9 Q7 c4 l4 m% p% y! \& t! Q i' h; N0 J4 ~5 s3 ^3 l9 {
如何保护客户:使用索引或是迂回的基准图抑或是其他迂回的方法来避免暴露直接物理session。如果你实在是无法避免暴露,就应该将网站的访问权只授权给一定的目标群体。
+ ?- G) H* g( |: O& G u
1 ]' N N+ R! L/ @ b0 N- d: k 5.伪造跨站请求& L/ T9 j5 m$ U- Z/ u
" k( G4 `$ \) M; Q- ~/ a 问题:这一问题很简单,但是破坏性极大,这一攻击会在受害者浏览网页时控制浏览器,并且对网页应用程序发送恶意请求。网站是相当脆弱的,部分原因是因为授权的请求是基于cookie的。银行就是潜在的目标。安全专家表示网络中99%的应用程序会对伪造的跨站请求做出回应,是不是曾经真的发生过利用这一漏洞盗取客户存款的事情呢?可能银行自身也不知道。对于银行来说,这只不过是合法用户的一次正常转帐而已。”5 [$ u1 T3 O' Z: U5 F9 W
4 w4 R1 \# s( Z9 Z6 E
实例:2005年末的时候,一个名叫Samy的黑客利用蠕虫病毒在MySpace.com网站上获取了为数超过1000000的用户信息,其中数以千计的MySpace网页上自动的出现了“Samy是我的英雄”的字样。这次攻击本身的危害性并不大。但是这次事件展示了利用跨站脚本和伪造跨站请求相结合的威力。另外一个例子就是一年之前,Google的一个漏洞允许外部站点随意修改Google用户的语言使用偏好。
1 x- S& B& q* `% f4 g f5 N8 G
, M1 E: Q L' q 如何保护用户:不要完全相信浏览器自动接受的信任请求和代号。唯一的解决之道就是不要让浏览器记住你的使用偏好。
萝莉有三好:清音,柔体,易推倒; 正太有三宝:天真,可爱,皮肤好;
御姐有三好:啤酒,洗澡,吃嫩草; 女王有三招:木马,蜡油,皮鞭操;
人妻有三妙:温柔,善良,服务好; 援交有三套:搭讪,进房,掏钱包。
大叔有三好:成熟、隐忍、好推倒; 君子有三受:忍受、接受、和感受。