信息安全专栏 -- 褚诚云

希望能在这里和大家交流讨论信息安全领域的技术。

用户操作
[即时聊天] [发私信] [加为好友]
褚诚云ID:chengyun_chu
120585次访问,排名744(-2),好友2人,关注者52人。
大家好!我目前在微软视窗安全部门担任软件安全工程师。所在的SWI(Secure Windows Initiative)专门负责微软产品安全。
chengyun_chu的文章
原创 47 篇
翻译 0 篇
转载 0 篇
评论 185 篇
褚诚云的公告
贴子以"现状"提供且没有任何担保也没有授予任何权利。言论仅代表个人,与所在公司无任何联系。 如果转载文章,请经过作者书面许可;如需录用文章,请联系chengyun.chu,邮件服务器是gmail.com
最近评论
xtdumpling:学习!
fonix:Linux下也有少量的安全版本的字符串、内存操作函数,比如strlcpy

如果某个函数没有安全版本,也可以考虑自己写,小心一点,可以拿Linux的strlcpy做参考,应该不会太困难。
这个事情做一次就好了,花点时间也值得
fonix:Linux下也有少量的安全版本的字符串、内存操作函数,比如strlcpy

如果某个函数没有安全版本,也可以考虑自己写,小心一点,可以拿Linux的strlcpy做参考,应该不会太困难。
这个事情做一次就好了,花点时间也值得
newhying:前几天在安全峰会上听了褚先生的讲座,确实感觉自己写的东西到处是漏洞,但是上面的那些安全API都是MS的。似乎只有VC才支持,请问在其他C++环境里有没有什么类似的安全函数呢。
qiufeng2008:似乎从VS2005开始,对这些不安全的函数会有相应的警告信息,并介意使用安全带_s的安全函数~
文章分类
收藏
    相册
    Article
    GoogleIME
    SDL
    Windows Vista
    友情链接
    Enjoy IT (ITECN.NET)
    微软SWI的安全博客
    涵涛的博客
    盆盆的博客
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 2006年计算机安全发展最新趋势 – 发表于2007年程序员1期收藏

    新一篇: 互联网安全分析:Botnet,北京,中国,美国 | 旧一篇: Windows Vista 安全指南

      
    2006年计算机安全发展最新趋势 – 发表于2007年程序员1期
     
    1.前言
    2006年,对于计算机安全而言,可以说是喜忧参半的一年。一方面,计算机病毒和间谍软件的攻击方式,范围和目的变得更加隐蔽和危险。而与此同时,操作系统和重要应用软件的安全漏洞仍然层出不穷。另一方面,主流的软件厂商针对最新的威胁也推出了一系列相应的对抗措施。
     
    本文是对2006年的计算机安全最新趋势的一个综述,并展望了2007年的发展。
    2.病毒 / 间谍软件发展趋势
    近几年没有出现过以前像冲击波病毒一样的大范围的病毒爆发。这是否意味着用户比以前更加安全了?恰恰相反,病毒和间谍软件演变的更加危险。
    2.1 攻击目的和模式
    2006年,病毒和间谍软件攻击目的和模式演变的更加有针对性。即:
     

    ·         从大规模网络传播,向小规模受控传播变化。不再是以传播的速度越快越好,而是有意识的将传播的速度放慢,以延迟被安全软件公司发现的时间。

    ·         从没有特定用户,向针对特定的用户群变化。不再是以感染用户的数目越多也好,而是有意识的针对特定的用户群(如地域,公司等),以降低被安全软件公司发现的机会。

    ·         从没有特定攻击目的,向有特定的目的变化。不再是简单的要登上报纸的头版,或者是恶作剧,而是有特定的目的,即窃取用户的机密信息,如银号账号,密码等,以获取经济上的利益。 

    根据赛门铁克的统计数据,在最流行的头50类病毒中,有30类,即60%,试图窃取用户的机密信息。(参考1)
     
    2.2 攻击范围和传播途径
     
    以往病毒都指的是传统的PC系统上的病毒。随着手机和其他移动设备,如POCKET PC等等越来越广泛的使用,在最近的一年中,针对微软的Smartphone平台,和Symbian平台上的病毒种类在迅速增加。从2004年6月的第一个手机病毒开始,2006在移动平台上的病毒种类据统计已经超过200种。(参考2)
     
    病毒的传播途径,也从传统的通过电子邮件或网络漏洞,扩展到利用即时通讯软件,如AOL,MSN Messenger,以及P2P网络。
     
    2.3 Rootkit
     
    Rootkit ,这个词并没有权威的定义。可以理解为是一类工具软件,用于修改操作系统,以改变操作系统的表现行为。而这种改变,往往是不是操作系统设计时所期望的。
     
    Rootkit最主要的目的是用来隐藏系统的特定信息,如修改操作系统核心模式中的进程列表,使特定的进程无法被其他程序(如任务管理器)显示等等。最有名的一个例子就是2005年10月曝光的Sony公司在XCP数字版权保护系统中使用Rootkit技术隐藏自身文件。
     
    2006年,越来越多的有害软件结合Rootkit技术,试图将自身的文件,进程,注册表等等信息隐藏起来,已躲避反病毒软件和反间谍软件的监测。令人担忧的是,对运行于操作系统核心模式下的Rootkit,目前没有特别有效的方式监测和清除。
     
    2.4 网络钓鱼
     
    网络钓鱼(phishing)是复制一个官方网站的主页,诱使用户输入个人的机密信息,如银行账号,密码等等。针对普通用户的网络钓鱼攻击数目06年增加81%(参考1)。
     
    3.安全漏洞
    2006年,一系列的操作系统和重要应用软件的安全漏洞被发现。根据赛门铁克的统计数据,上半年度有2249个安全漏洞被发现(参考一),创了6个月安全漏洞发现数目的最高纪录。
     
    3.1 操作系统
     
    若干严重的安全漏洞发现存在于Windows操作系统中。其中最为严重的当属MS06-001 WMF的安全漏洞。这个0-day安全漏洞可以导致在使用IE浏览器,电子邮件预览,或用大图标方式显示explore下的文件时被病毒感染。换言之,它具备了诱发大范围病毒爆发的条件。但是最终并没有出现这种情况,其原因,就在于前面提到的病毒攻击目的和模式的变化。
     
    Mac OS X 和Linux同样也发现了严重的安全漏洞,例如苹果的Safari浏览器的安全漏洞和Linux的SCTP缓存溢出漏洞,均可以导致恶意代码被执行。
     
    因此,及时安装操作系统的安全补丁,是保证系统安全的必要措施。
     
    3.2 文件处理
     
    基于文件处理应用软件的安全漏洞数目有显著增长。这是一个要引起重视的趋势,因为它反映出一个新的攻击领域。以下两类文件处理软件需特别注意:
     
    办公文件。微软的Office系统发现了系列安全漏洞,如MS06-048(Powerpoint),MS06-039 (Onenote, Project),MS06-038 (Word, Excel等)。
     
    媒体文件。不管是Micromedia的Flash Player ,苹果的QuickTime/iTunes, 还是微软的Windows Media Player,RealNetworks RealPlayer等等,均发现有安全漏洞存在。
     
    利用该类安全漏洞的攻击是通过社会工程手段(如电子邮件)来诱使用户打开相应文件(如一个Excel表格)。
     
    3.3 数据库
     
    SQL injection仍然是攻击数据库系统的主要手段。而互联网上数目众多的存在SQL injection漏洞的数据库系统,这也侧面反映出数据库安全设计的薄弱环节。SQL injection攻击非常容易执行,不需要有任何特殊代码。一旦被成功执行,轻则泄漏重要数据,重则可以导致整个系统被控制。因此在设计基于互联网应用的数据库一定要注意。
     
     
    3.4 浏览器
     
    浏览器当被评为年度最不安全的软件。值得注意的是,基于Mozilla的浏览器(含Firefox),在2006年上半年发现47个安全漏洞(2005年下半年17个),数目超过微软的IE的38个安全漏洞(2005年下半年25个)。苹果的Safari也发现12个安全漏洞(2005年下半年6个)(参考1)。
     
    而利用浏览器的安全漏洞,也理所当然成为病毒和间谍软件传播的主要途径。
     
    4.相关软件发布
     
    计算机安全领域永远是矛与盾的对抗。针对病毒和间谍软件最新发展趋势,2006年主流的软件厂商也推出了一系列相应软件。申明这里对以下产品只是简单介绍,不会评测和分析优缺点。
     
    4.1 Windows Vista
     
    Windows Vista是微软即将推出的最新的操作系统。它在系统的体系结构上,提供了许多新的安全特性。以下是几个值得注意的功能:
     
    • NX保护和寻址空间随机分布(ASLR),用于防治缓存溢出。缓存溢出是操作系统最为严重的安全漏洞之一。例如冲击波病毒就是基于DCOM RPC缓存溢出漏洞来传播的。
     
    • 64位平台的安全改进,包括:所有的设备驱动程序都必须有数字认证,以及核心模式保护(Patch Guard),用来保证系统的系统的核心状态不可被随意修改。这两个特性对有效阻止Rootkit意义重大。但是遗憾的是它们不作用于32位模式。
     
    • 用户帐户控制(User Account Control)。用户登陆后的缺省权限是非Admin身份,必须通过相应的UI才能将权限升为Admin。通过限制用户的缺省权限,可以降低一旦系统被侵入后的危害。例如Rootkit传播,往往需要在管理员模式下安装系统驱动程序。用户帐户控制是Windows Vista中为了安全特性的提高,而不得不牺牲部分可用性的典型例子。它的具体效果,最终要看用户的接受程度。
     
    • Windows Defender。用于清除和防止间谍软件。
     
    4.2 IE 7 and Firefox 2.0
     
    新一代的浏览器IE 7 and Firefox 2.0在2006年10月先后发布。对安全性能的提高都是它们的发布重点之一。其中最主要的是加入了反网络钓鱼(anti-phishing)的功能,浏览器会检测到用户是否正在访问一个恶意窃取个人信息的钓鱼网站。
     
    其余值得注意的特性:
     
    • IE 7:低权限模式。只有效在Windows Vista上。IE 7权限低于普通用户程序,只能对文件系统的特定部分执行写操作,不能对高权限的其它进程操作。这样即使IE 7本身出现安全漏洞,其危害性也会降低。
     
    • Firefox 2.0:删除个人信息。提供了一个工具框可以方便删除各类私人的网络访问信息,如访问历史等。
     
    4. 3 其它安全软件
     
    Norton Confidential 2007。这是Symantec今年发布的一个针对 Online 敏感信息窃取的产品。其中可以验证对流行的银行和购物网站的真实性,确认其是否是伪造的恶意网站。
     
    Trend Micro Mobile Security 2.0。这是Trend发布的着重于无线领域的安全软件。提供了移动设备上的病毒扫描等。
     
    以上两个产品可以在一定程度上代表目前反病毒业界对最新的威胁所提供的相应保护措施。
     
    Windows Onecare。标志着微软开始正式进入反病毒领域。
     
     5.   总结和展望
     
    尽管安全厂商提供了相应的保护措施,但是应该看到,对计算机安全的威胁在2006年仍然时时刻刻存在,切不能掉以轻心。因此,对用户的计算机安全知识的普及教育是关键。
     
    在新的一年里,可以预测以下趋势:
     
    ·         病毒和间谍软件以获取经济利益为编写目的的趋势会延续。
    ·         病毒和间谍软件会继续向非传统PC领域扩展,例如可能针对新一代的游戏平台,PS3和XBOX 360。
    ·         Windows Vista, IE 7 and Firefox 2.0的安全特性会在一定程度上提高普通用户使用互联网的安全程度。但是,没有十全十美的软件系统,它们中仍会存在安全漏洞。
     
     
    参考文献:
    1          Symantec Internet Security,Threat Report,Trends for January 06–June 06,Volume X, Published September 2006
    2          F-Secure's Data Security Wrap-up for January to June 2006
     
     

    发表于 @ 2007年03月17日 08:22:00|评论(loading...)|编辑

    新一篇: 互联网安全分析:Botnet,北京,中国,美国 | 旧一篇: Windows Vista 安全指南

    评论

    #firefox1 发表于2007-03-21 22:18:47  IP: 220.114.5.*
    比较系统,看来未来信息安全将会更加重要,如果我想从事这方面的工作,不知道该从何处着手,请指教。
    #chengyun_chu 发表于2007-03-22 14:35:52  IP: 71.112.32.*
    是的,计算机安全未来会变得更加重要。

    安全是一个特别的领域。首先,要掌握基本的专业领域知识,如数据结构/算法,计算机体系结构,操作系统,编程语言如C/C++,编译原理,汇编语言,计算机网络等等。然后,结合实践,对你感兴趣的方向,尤其是安全方面的特性,做深入的研究。据个例子,计算机网络,普通的课程会介绍ISO模型,加上TCP/IP介绍等等。进一步的学习可以包括网络安全协议,如SSL;常见的网络攻击手段,如端口扫描;防火墙的原理和配置;IPSEC等等。又如C/C++,在掌握基本的语言后,可以学习,函数的堆栈调入调出模式,缓存溢出,整数溢出,C++对象的实现原理,如v-table,内存管理等等。

    总之,学习+实践。我每天也在用这个模式。;)
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 褚诚云