×

扫描二维码登录本站

QQ登录

只需一步,快速开始

CSDN泄密原理剖析与破解攻略  

标签: 暂无标签
CSDN泄密原理剖析与破解攻略

随着两名黑客的落网,“密码门”事件逐渐接近尾声。但是“密码门”事件所带来的影响却相当深远的。从政策立法上看,存在滞后性;从意识上看,对安全信息的不重视存在普遍性;从技术上,专业技术未得到广泛运用。本篇将从技术上全面深入剖析“密码门”事件的原理和路径,同时介绍相应的解决方案,以帮助政府、企业在未来最大程度地规避这些问题。
  一、SQL注入漏洞致CSDN泄密
  明文保护密码“是冤大头
  当”密码门“事件爆发之后,”明文保护密码“被千夫所指。但其实不是”明文保护密码“的错。清华同方专家认为:本次事件最为重要的焦点问题是通过合法系统让黑客拿到非授权的数据如何解决,而非是否应当用密文进行数据存储。片面的强调明文或密文存储数据是对这次安全事故责任的推卸,本次事件的责任主要是网站运营方,完全没有控制住源代码开发的安全性,导致有漏洞的系统和网站对接,被黑客发现和攻击导致泄密事件的连锁爆炸。
  SQL注入漏洞”致CSDN泄密
  清华同方专家认为:从报道中提供的账号密码截图和已经获得的数据库密码表来看,可以断定是网站存在SQL注入漏洞,导致黑客可以很顺利的利用黑客工具进行攻击,从而获得数据库的访问权限以及有可能获得主机的控制权限,更有可能利用这种漏洞攻击关联的认证系统,如邮件、网银、电子货币等等。尽管与明文保护密码相关,但是CSDN泄密事件的根源还在于SQL注入漏洞。
  SQL注入漏洞“事件频繁发生
  其实,”SQL注入漏洞“事件在国内外频繁发生,显示了这类问题的普遍性和严重性。以下来看看最近几年来所发生的类似事件,让人触目惊心。
  2009年赛门铁克网站被暴有SQL注入的安全漏洞。
  2009年英国议会被黑。
  2009年,xinnet旗下数万家虚拟主机用户被黑客挂马,传播了无法数计的木马。
  2010年百度被黑后伊朗很多网站被攻破。
  2010年我国工信部发表声明,我国每年4.2万个网站被篡改,积极需要与社会企业合作。
  2010年某房地产网站被同方检测出来有SQL注入的安全问题。
  2011年某基金网站被同方检测出来有SQL注入的安全问题。
  2011年CSDN600万账号密码被泄漏。
  几乎每一个被攻击的主体都是响当当的企业或政府机构,”SQL注入漏洞“所产生危害性可见一斑。
  二、解密SQL注入漏洞
  由SQL注入漏洞导演了一场CSDN密码门事件,其破坏性和影响力之大,让人震惊。那么,何谓SQL注入漏洞呢?
  据清华同方专家介绍:“SQL注入漏洞是已经盛行很久的黑客攻击行为,黑客通过网站程序源码中的漏洞进行SQL注入攻击,渗透获得数据库的访问权限,获得账号及密码只是其中最基础的一个内容。这种漏洞还会导致主机权限的丢失,关联认证系统的窃取等。”目前,SQL注入漏洞广泛存在于互联网和私有网络当中,主要的问题是程序员疏漏造成的结果。虽然目前有很多开发框架能约束程序员的开发行为,但开发者如果执意减少代码,还是很容易造成安全性问题的存在。
  在先进的开发过程中,对源代码编译和发布以后,除了功能和性能测试外,CSO们应该通过权威的安全审计工具对网站系统进行安全性测试,检查是否存在SQL注入、跨站脚本和远程恶意程序执行的漏洞。如果存在漏洞,很多时候CSO是有权否决系统上线,防止安全事件的产生。不过这种黑盒审计费时费力,还容易遗漏,不但耽误业务系统上线,同时会引申出来。
  但是,本次泄密事件中明确的发现CSDN的网站在上线系统是欠缺这种检测。其中账号密码一部分存在dearbook的字样,显然是对接系统的认证中心被攻破,这部分漏洞如果还不进行修复,即使用户更改密码,仍然会被黑客再次攻击获得用户密码。
  人类使用密码的思维其实很简单和固定,大部分人会使用一种特殊规则的密码,这种密码很难猜测,但是黑客通过SQL注入的漏洞进行攻击时,却不受这些制约。黑客的这种攻击行为其实是利用了SQL注入的漏洞,获得数据库的访问权限。黑客通过这种权限,就像是开发者一样,向数据库提交查询语句,一步步的获得数据库中的用户账号及密码。
  SQL注入漏洞攻击路线图
  黑客们在攻击数据库时,有着一些必经的路线图,SQL注入漏洞攻击就好似在问数据库问题:
  1、你的名字是什么?
  2、你有什么表格?
  3、表格中有什么列?
  4、某列的第1行长度是多少?
  5、第1位是不是a?b?c?d?……z?
  6、第2位是不是a?b?c?d?……z?
  7、第N位是不是a?b?c?d?……z?
  8、如果拿到账号及密码则到公共网络进行密文的破解,如果是明文则直接使用。
  9、登录认证系统,使用获取到的账号密码权限去申请资源或欺骗基于信息系统的信任成员。
  下面这张图会看的更清晰一些:



  本图中就是数据库的结构,其中简单攻击只要猜测数据库名、表名、列名、字段名就可以,一般程序员的开发都是见名知意的方式进行开发,由其具有通用性的程序。一般把数据库、表、列的名字起的比较有创新时会防御这种攻击。
  但是,除了猜表外,数据库提供一种坐标查询的方法,以横坐标和纵坐标的方式查询。既:
  0,10,20,30,4
  1,11,21,31,4
  2,12,22,32,4
  3,13,23,33,4
  4,14,24,34,4
  黑客只要知道坐标位置,既可以从数据库中获得目标的数值。
  通过以上程序,黑客们一步步抽丝剥茧地把一个个门槛给破解,直至将对方的数据库裸露在它的视线之下,毫无隐私可言。
  三、阻击SQL注入漏洞--详述磐迅应用安全[ ttp://detail.zol.com.cn/gateway_index/subcate369_list_1.html]网关[/url]解决方案
  其实针对SRL注入漏洞已经有很多解决方案进行阻击,以下就清华同方磐迅应用安全网关解决方案进行详细拆解。
  磐迅应用安全网关针对[ ttp://detail.zol.com.cn/firewall_index/subcate294_list_1.html]防火墙[/url]和UTM的问题,实现透明串入在防火墙、UTM、[ ttp://detail.zol.com.cn/load_leveling_index/subcate517_list_1.html]负载均衡[/url]设备之后,或使用W C CP协议旁路在[ ttp://detail.zol.com.cn/switches_index/subcate46_list_1.html]交换机[/url]同级,在内容过滤方面保护信息系统的访问安全。

  由于和防火墙等设备连动可以有效的避免数据传输中七个层间的所有问题,同时在应用方面应用了先进技术架构,避免了UTM性能不足的尴尬。具体到SRL注入漏洞,磐迅应用安全网关主要有三种安全解决方案进行阻击,它们各有优缺点,对于厂商和政府来说可具体考虑用那种方案。
  解决方案一:使用黑盒测试程序检测网站安全性问题,然后连同程序员一起分析修改源程序,重新编译再发布。
  清华同方专家认为此方案最大的优点是发现问题并彻底解决问题。
  但是同样有一些不足:例如费用和时间成本昂贵。不确定是否能发现所有问题、检测费时、修复费时、容易引起非授权的其他修改、容易改错、修复问题再检测还要重新检测功能和性能、跟不上业务升级需求的时间、发生问题时会影响业务的连续性。
  对已经被攻陷的系统,如不及时中断服务可能会引起更严重的安全事件、可能在安全事件暴露前已经引发黑客攻击,潜在存留了各种其他层面的安全问题,如,增加隐藏帐号、增加了端口反弹器、重定向了[ ttp://detail.zol.com.cn/os_index/subcate121_list_1.html]操作系统[/url]权限、篡改了数据包信息、监听了内部消息等。
  此外,在实际实施过程中也遇到一些问题:
  程序研发人员的岗位变动和时间间隔,基本造成原有代码很难处理,重新开发又受限于业务逻辑要重新整理,没有完善的文档和研发管理者,很难修复系统。
  解决方案二、在[ ttp://detail.zol.com.cn/server_index/subcate31_list_1.html]服务器[/url]上安装软件应用防火墙,代理访问服务分析协议中止SQL注入攻击。
  清华同方专家认为此方案的特点是发现问题并非彻底解决问题,费用少、速度快能及时阻断黑客攻击。但它不能彻底的解决问题,只是建立了防御系统,问题本身还要结合第一种方案来修复。部署在服务器上的软件受到操作系统的安全性影响,同时受到拥有操作系统维护权限人员的影响风险比较高,受误操作、系统兼容性和软件兼容性影响较大,[ ttp://detail.zol.com.cn/memory_index/subcate3_list_1.html]内存[/url]管理方面优先级和分配成为制约,处理性能较差,维护复杂。
  在实际实施中遇到的问题是找不到针对该操作系统和服务器程序的专用程序,管理人员较多篡改了合理设置而难以追究,已经被攻击过的系统很难根除黑客进入的途径。
  解决方案三、在防火墙后面串入或旁路应用安全网关,代理访问服务分析协议中止SQL注入攻击。
  这套解决方案配置很简单,管理灵活,性能满意。
  清华同方专家认为主要有以下的特点:
  A、依据ISO17799标准和OWASP制定的防御注入模块,彻底发现问题并非彻底解决问题,速度快及时阻断黑客攻击,解决陷落系统的综合安全问题和可能存在的应用威胁,全面阻断黑客的攻击手段,防止维护程序和发布的人员篡改安全基线。
  B、除SQL注入攻击外,还可以防网页篡改、防跨站脚本、防远程执行、防应用提权、防病毒恶意软件、防木马、防网马、防垃圾邮件、防钓鱼网站、防关键内容泄密。
  C、基于通讯协议工作,支持[ ttp://detail.zol.com.cn/notebook_index/subcate16_list_1.html]电脑[/url]、手机、Windows、安卓、苹果,支持互联网、[ ttp://detail.zol.com.cn/cell_phone_index/subcate57_list_s533_1.html]3G[/url]移动互联网、局域网和私有网络等的硬件、操作系统和网络的安全过滤。
  D、针对协议进行内容审核,采集样本精确,检测比对详细,威胁指纹丰富并及时快速更新,历史数据加速,处理性能较高,维护简单,整体成本较低。
  E、减少其他维护的难度,支持IP、MAC透明代理,支持分段IP地址策略分级,定制化策略,提供租用管理的可能。
  F、产品软件和硬件结合的产品可最大优化计算能力。高效及时的解决上线系统和刚上线系统的保护,为CSO赢得上线时间,赢得问题修复时间。
  这套解决方案的主要问题是一次性硬件投入较大,但可通过服务公司转化成租用服务,或与电信公司合作转化成租用服务。每年有服务续约费用。
  四、SQL注入漏洞带来的警示
  通过以上拆解可以看到,SQL注入攻击是找开通向数据库的钥匙。它给企业和政府带来了众多的警示,清华同方的专家认为主要有以下三方面:
  1、网站和云计算服务商的安全急需依据标准构建
  网站、云计算应当仔细的保护好自己的数据库系统,防止黑客从合法协议、端口和授权中获得非授权内容。国际上很早就对信息安全有了明确的安全标准,如著名的ISO17799、ISO27001以及OWASP等。在物联网、云计算、私有网行业盛行的今天,信息安全的问题尤为重要。如果由信息系统控制的生产系统受到黑客的攻击、破坏或篡改,会造成社会不安定不和谐的因素。并且很多攻击,从SQL注入入手,还会延伸到发生病毒、垃圾邮件、钓鱼网站和欺骗等等问题。
  2、防火墙的无力
  防火墙技术主要是解决开放端口,只对通讯协议是否可以使用起作用,而不去管理协议中的内容是否有杂质,就防堤坝一样,指定端口的数据通过时,是否存在泥沙并不进行处理。
  SQL注入攻击的防御就像在合法端口中建立起来详细的安全审核制度,防止那些不规范的代码被黑客利用。这种防御就如同在堤坝通过的流量中加入了更细的过滤网,把威胁从中过滤。
  本次“密码门”事件主要问题就出在服务器端,而非防火墙。
  3、现有防御系统的问题
  下图为目前企业基本的防御系统:

  这样的安全方案只能防御下三层的数据安全以及传输过程中的加密,但如果在授权协议内进行SQL注入攻击,这样的系统则不能防御,无法保护数据库和应用服务器。因为SQL注入攻击后,马上可以通过合法端口穿越防火墙,控制内部系统。而在内部系统基本是非常脆弱的,而且对用户端的保护投入较高。
  如果使用防火墙,首先没有办法防御SQL注入攻击,同时在内部安全方面投入巨大。要划分详细的VLAN以及详细的管理每一台服务器自身的防火墙系统。对服务器内使用的所有应用都要详细审核,以及建立内部详细的防毒系统等。
  结语:但凡因漏洞而导致的问题,通常都伴随着对一些问题的疏忽,或者是技术的疏忽,或者是管理上的疏忽,简言之就是自己出问题了。因此,战略上藐视而战术上必须重视这些问题,否则正所谓防不胜防,而最致命、最难防的还是自己的疏忽。
  没有无漏洞的系统,也没有无漏洞的网络,天下无贼只是一种理想的境界,因此时时将信息安全放于心中,放到实际行动当中,找寻到最佳的解决方案才可能将危险降到最低,甚至杜绝这种危险。





来自:新浪博客




上一篇:中国人民银行信息安全管理规定
下一篇:五种方式改善IT项目管理
Solo

写了 464 篇文章,拥有财富 18068,被 18 人关注

来生做一棵树 | 一半在土里安详 | 一半在风里飞扬 | 一半洒落阴凉 | 一半沐浴阳光
您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies
jacky 该用户已被删除
jacky 发表于 2012-2-2 10:37:44
提示: 作者被禁止或删除 内容自动屏蔽
longerwood 发表于 2012-2-5 00:09:03
问题是就不应该存储用户的密码
nilewole2008 发表于 2012-2-5 19:09:03
:lol 学习了。谢谢
東東 发表于 2020-11-25 10:48:48
超赞的资料,学习中
12下一页
手机版|小黑屋|最新100贴|论坛版块|ITIL先锋论坛 |粤ICP备11099876号|网站地图
Powered by Discuz! X3.4 Licensed  © 2001-2017 Comsenz Inc.
返回顶部