浅谈黑客攻击

作为一个搞软件的,能有机会经历被黑客攻击、并参与到抵抗攻击方案的讨论与实施中来,我觉得是很幸运的。虽然每天都有很多攻击产生,但是这种攻击能降临到我们这种不是很知名的公司身上,确实非常难得。下面就把我们对攻击相关的一些认识整理一下并记录,我们也是刚开始积累这些经验,所以有什么错误和不足之处,希望大家不吝斧正和补充。

 

   虽然,我们经常看到一些门户网站被攻击,但是攻击者并不局限于只攻击网站,他可以攻击你对外提供的一切服务,比如,攻击你的游戏服务器、攻击DNS服务器等等。

一、为什么会产生攻击?

所有攻击的产生都有其背后的原因,我们能想到的有以下几点:

(1) 黑客小试身手,拿你的服务做试验。

真正有实力的黑客是很少动手的,但是一些刚入门的初级黑客就会经常挑一些不大不小的网站来做试验,而不大不小的网站对于防黑客攻击的经验通常都很少,防范力量也很薄弱,所以攻击这些网站很容易得手。攻击成功了,初级黑客就有了成就感,就有了进一步学习攻击的动力。

(2) 利益目的。

这种攻击通常是非常有实力的黑客策划和实施的,他通常选择一些知名度比较高盈利好的公司。他会在攻击之前联系你们公司的客服,告诉你,如果不向某个账号汇多少钱,就会在今晚几点几分攻击你们的网站,让你们的所有客人都无法访问你们提供的服务。他们很有计划和耐心,如果你不给他钱,他会在接下来的一段时期内,不断地攻击你,特别是挑那些最多客人在线的时候来攻击。

(3) 竞争对手。

正所谓“人怕出名猪怕壮”,当你的网站运营的不错威胁到同行的利益时,你的竞争对手就会想办法来阻碍你了。非常有效的方式之一,就是在你稳步发展阶段来攻击你。通常,你的竞争对手自己没有攻击你的技术和能力,但是,它们会出钱请专业的黑客或黑客团体来攻击你。

 

二、攻击的层次

   OSI标准是7层网络模型,现实中普遍应用的是4层模型,从下至上分别是链路层、网络层、运输层、应用层。除了一些专门的Sniffer程序或黑客程序,我们的网站和应用程序都是工作在应用层。但是,攻击者却可以攻击这4层中的任意一层。黑客软件通常都是基于Raw Socket编写,他们可以构造任意的TCP数据报、UDP数据报、IP数据报、甚至是链路层的数据报,所以,数据报中的一切信息都可以伪装。

1.      链路层攻击:

比如MAC地址泛洪攻击,它可以让交换机的工作出现异常。

2.      网络层:

比如像IP碎片攻击、ARP攻击、ICMP攻击、IGMP攻击、死亡之ping等等。

3.      运输层

运输层的攻击通常是利用TCP协议的漏洞来进行的,比如像Syn flood攻击。

我们的应用程序通常使用TCP来提供服务,即使是网站HTTP协议底层也是采用的TCP通道。所以,有很多著名的DOS攻击和DDOS攻击都是针对TCP进行的。

常见的一些针对TCP进行攻击方式有:

(1)TCP协议堵塞窗口算法攻击技术 : http://sec.chinabyte.com/207/8816207.shtml

(2)TCP RST攻击 :http://baike.baidu.com/view/1044719.htm

(3)低速率拒绝服务攻击原理 : http://blog.chinaunix.com/u/12592/showart_2058363.html

(4)TCP漏洞可导致致命DoS攻击 :http://sec.chinabyte.com/279/8339279.shtml

(5)泪滴攻击 : http://baike.soso.com/v4492311.htm

(6)Land攻击 : http://baike.soso.com/v4194619.htm?pid=baike.box

4.      应用层

著名的CC攻击就是针对应用层的攻击,它伪装成为正常的请求,专门请求那些非常消耗服务器资源的服务,当成千上万的这样的请求过来时,你的服务器可能就忙不过来而挂掉了。

如果是采用C/S模式的架构提供服务(像QQ),当黑客可以破解/解密客户端与服务端之间的通信协议,那么他就可以进行更深入的应用层攻击,甚至可以入侵你的服务器。

 

三、攻击的类别

如今大部分的攻击都是DOS攻击或其变种DDOS攻击,目的是使你的服务器丧失提供正常服务的能力,即形成“拒绝服务攻击”。我们可以对“拒绝服务攻击”进行一下简单的分类。

(1)    利用系统漏洞

通常是利用操作系统的漏洞来进行攻击,所以保证你服务器的操作系统打上最新的补丁是非常有必要的。

(2)    破解型的侵入

比如,破解操作系统的administrator的密码或者SQLSERVER数据库sa的密码,这种侵入通常是为了窃取服务器上的数据并在你的服务器上留下后门。采用这种方式时,黑客会非常小心以不留下任何痕迹,以便以后随时可以进入。如果真的发生了入侵,黑客可以完全控制你的服务器,DOS攻击就不在话下了。

(3)    暴力型的流量攻击

现在很多的DDOS攻击都是流量攻击,把你服务的带宽塞暴,客人就无法连接到你的服务器了。DDOS攻击需要很多的“肉鸡”参与进行同时发动攻击才能产生显著效果,肉鸡通常隐藏于我们下载的那些免费软件和一些木马中。也许,你用的某个免费好用的工具软件中就隐藏了这样的“肉鸡”程序。

(4)    技巧型的低带宽攻击

这种攻击通常利用系统内核的漏洞(如TCP/IP协议的漏洞),像TCP RST攻击,只需要很小的流量,就能产生很显著的攻击效果。它非常的隐蔽,以至于你的防火墙忽略了它。对于这种攻击,我们需要采取针对性的措施来进行防范。

 

四、防火墙及监控

除了程序的漏洞需要修复bug和OS的漏洞需要打补丁外,对抗攻击的重任落在防火墙的身上。目前国内知名的专业抗DDOS防火墙有“三盾”:冰盾、傲盾、金盾。在对防火墙做了正确的配置和设定后,我们还需要使用一些性能监控工具来监视各个服务器的运行状态,以便及时发现状况。另外需要使用一些抓包工具,在攻击到来时,抓取数据包进行分析以便确定攻击的类型和方式,只有确定了攻击的类型和方式,才能对症下药。

 

五、软件架构与攻击

   有很多黑客说,没有攻不下的站点。对于一个“孤岛”的站点来说,我是相信这句话的。

   我们提供的服务工作于应用层,所以,当攻击者攻击链路层/网络层/运输层时,程序几乎是爱莫能助的。但是,在软件架构方面,我们软件工程师可以为抵抗或缓解攻击助一臂之力。

分布式架构、甚至地域分布式架构,即在世界/全国各主要城市都部署服务节点,这些服务节点通过高速的骨干网或光纤或专线连接起来构成一个统一的系统,是当前很多大的网络运营公司采用的普遍架构。地域分布式架构,不仅解决了因不同地域、不同ISP宽带接入而导致的用户访问服务速度慢的问题,其另外一个重要作用就是对抗DDOS攻击。比如,你在全国分布了100个服务节点,当其中的一个节点受攻击而不能正常服务时,受到影响的用户只占总数的1%左右,如果客户端在连接当前节点失败时,能自动切换连接到其它的服务节点,那么,这1%左右的用户可能都不会明显的服务不正常的感觉。所以,软件架构师在做架构设计时,需要考虑到对(地域)分布式的支持。也许现在用户的数量比较小,也没人攻击你,搞一个“孤岛”就足够应付了。但当有一天发展了,要能够做到在不修改程序的前提下,仅仅通过修改配置和增加节点就能轻松地扩展为(地域)分布式。对于任何一个想做大做强的公司,这点无疑是非常重要的。

地域分布式架构很好,就是要投入巨大。所以,是否实施地域分布式、实施多大规模,应该是与你公司的发展一致的。当你的公司做到像腾讯一样时,你可以在全世界部署服务节点,这点投入对于收入来说就是九牛一毛了。

   你也许会说,如果黑客同时攻击你所有的节点了?当你的公司能在全国或全世界部署服务节点的时候,通常,你的公司已经在攻击方面积累了很多的经验,也几乎堵住了所有程序的、操作系统的漏洞。这个时候,黑客就只剩下流量攻击这种暴力方式了,如果他要攻击你所有的节点,那么,他就要付出更大的流量和更大的带宽和更多的“肉鸡”资源,这种可能性就非常小了。当采用暴力攻击方式的时候,大家比拼的就是财力啦 –- 你费了九牛二虎之力用1G的流量来攻击,我就把服务带宽提升到2G。

 

时间: 2024-10-11 08:45:25

浅谈黑客攻击的相关文章

浅谈Web攻击日志分析 及日志发展的过去现在与未来

前言 谈到日志分析大多数人的感觉是这是一个事后行为,场景当黑客成功将网站黑了.运营人员发现的时候安全人员会介入分析入侵原因,通过分析黑客攻击行为往往会回溯最近几天甚至更加久远的日志. 处理过程. 个人认为日志分析的过程分为3个阶段: • 过去: 在之前很多网站的运营日志并不多少,只有几G多的可能几十,上百G,当出现了攻击行为时,利用grep.perl或者python脚本可以来完成,但这也是基本偏向于事后阶段.原始阶段,通过grep关键字来发现异常,这样并不能达到实时分析的结果,往往也是需要到出事

黑客必备技巧 谈黑客攻击前的试探技巧_网络冲浪

对操作系统的认识,对于每一个从事计算行业的人都是非常重要,要成为一名黑客更是要对操作系统有深入.深刻的认识.下面就和大家一起来探讨一下这方面的问题. 我们先来看分析一下一个黑客入侵的基本过程:1.判断入侵对象的操作系统->2.描扫端口,判断开放了那些服务(这两步有可能同时进行)->3.跟据操作系统和所开放的服务选择入侵方法,通常有"溢出"和"弱口猜测"两种方法->4.获得系统的最高权力->5.安放后门.清除日志走人(也许有格盘走人的). 由上

从开发角度浅谈CSRF攻击及防御

  什么是CSRF CSRF可以叫做(跨站请求伪造),咱们可以这样子理解CSRF,攻击者可以利用你的身份你的名义去发送(请求)一段恶意的请求,从而导致可以利用你的账号(名义)去--购买商品.发邮件,恶意的去消耗账户资源,导致的一些列恶意行为.CSRF可以简单分为Get型和Post型两种. Get型CSRF: 看到这个名字,很明显是发送GET请求导致的.我这里简单的说一下:GET型的CSRF利用非常简单,通常只要发送一段HTTP请求.简单的说,如果一个网站某个地方的功能,比如(用户修改自己邮箱)是

浅谈利用JavaScript进行的DDoS攻击原理与防御

        这篇文章主要介绍了浅谈利用JavaScript进行的DDoS攻击原理与防御,以及介绍了相关的中间人攻击原理,需要的朋友可以参考下            分布式拒绝服务攻击(DDoS)攻击是一种针对网站发起的最古老最普遍的攻击.Nick Sullivan是网站加速和安全服务提供商CloudFlare的一名系统工程师.近日,他撰文介绍了攻击者如何利用恶意网站.服务器劫持和中间人攻击发起DDoS攻击,并说明了如何使用HTTPS以及即将到来的名为"子资源一致性(Subresource I

浅谈对数据库的攻击

一般的web server都要使用数据库来存储信息,几乎所 有的网站都要用数据库.这样就存在着两种可能,一种是使用小型数据库,如aceess,一般就储存在本地.另一种是使用大型数据库,如SQL server,Oracle这时候一般就放在另一台机器上, 然后通过 ODBC来访问它. 由于页面经常需要查询各种信息,修改用户信息等操作,实质上就是和数据库打交道了.这样就给非法用户留下利用的机会了.对本地数据库的攻击.对本地数据库的攻击一种方法就是下载数据库,然后呢,你就可以打开这个数据库得到内部的用户

浅谈html转义及防止javascript注入攻击的方法_javascript技巧

有的时候页面中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用.如果用户输入了一段js脚本,比例:<script>alert('test');</script>,页面会弹出一个对话框,或者输入的脚本中有改变页面js变量的代码则会时程序异常或者达到跳过某种验证的目的.那如何防止这种恶意的js脚本攻击呢?通过html转义能解决这个问题. 一:什么是html转义? html转义是将特殊字符或html标签转换为与之对应的字符.如:< 会转义为 <> 或转义

浅谈网站服务器遭受攻击后的解决方案

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 前言: 常在河边走,哪有不湿鞋?运营电子商务网站的朋友,我想对黑客攻击不会熟悉,不管是小黑客,还是大黑客,是菜鸟还是老鸟,他们总会带来各种各样大大小小的威胁,有时因为个人疏忽原因或者出现0day漏洞,导致了网站服务器被入侵,服务器上所有的网站都被黑客们篡改了,这时我们该如何应对呢?看过了上期的文章:<电商安全:谈电子商务网站及服务器防入

浅谈JS DDoS攻击原理与防御

浅谈JS DDoS攻击原理与防御 分布式拒绝服务攻击(DDoS)攻击是一种针对网站发起的最古老最普遍的攻击.Nick Sullivan是网站加速和安全服务提供商CloudFlare的一名系统工程师.近日,他撰文介绍了攻击者如何利用恶意网站.服务器劫持和中间人攻击发起DDoS攻击,并说明了如何使用HTTPS以及即将到来的名为"子资源一致性(Subresource Integrity,简称SRI)"的Web新技术保护网站免受攻击. 现代网站的大部分交互都来自于JavaScript.网站通过

谈不拢就找“黑客”攻击

摘要: 每年的315消费者权益保护日前后几天,都会有一批假冒伪劣商品被集中曝光.有人曝光就有人公关,利益驱使之下,一些删帖公司应运而生,靠帮客户删除网络上的负面信息渔利,删帖 每年的"3·15"消费者权益保护日前后几天,都会有一批假冒伪劣商品被集中曝光.有人曝光就有人"公关",利益驱使之下,一些"删帖公司"应运而生,靠帮客户删除网络上的负面信息渔利,删帖不成竟还会雇佣黑客攻击网站.短短4天,某删帖公司就给相应网站造成7万多元损失.近日,青浦区人民