分类

  • 软件天地

  • 系统安全是“系统的”安全‖
    并不总是一无所知的,各安
    。比如说,都知道防火墙可
    无关人员窃取,数字签名技
    只是些并不全面的了解。
    很热门的话题。可是说到安全,
    全产品厂家的宣传,形形色色的
    以用于保护公司内部网络,对数
    术能确定收到的信件是不是有人

    人们又都了解些什么呢?应该说,
    讲座,已经给人们灌输了不少知识
    据进行加密可以保护私人信息免受
    伪造等等。可是总的看来,大都还


      应注意系统的“弱点”

      有些系统出于不同目的
    已经被人攻破了吗?我可以
    算法比1024位RSA算法安全
    ,认为加密或是某一方面就
    此吗?
    的考虑,过于强调安全的某一个
    提供强的128位加密算法”、“1
    ”等等。不错,这些说法都是正
    是安全的一切,这些问题解决了

    具体方面。“不是说56位DES算法
    28位密钥很安全”、“2048位RSA
    确的。可是它可能会给人一个错觉
    安全问题也就迎刃而解了,果真如

      事情并不是如此简单,
    Internet的目的、网上各种
    些工作的舞台搬到电子空间
    须采取的一种手段而已。攻
    本身。
    加密也好,其它措施也好,都仅
    应用系统的目的都是要给人使用
    里面来。从这个意义上讲,就是
    击者的目标决不只是系统采取的

    仅只是保证系统安全的一种手段,
    ,是要把人们日常一直在进行的那
    安全也仅仅只是为了人的需要而必
    安全机制,而是系统要达到的目的

      莎士比亚有句名言“阳光之下,本无
    能对我们有所启迪。
    新事”,那么,让我们考察一下相类似的系统,应该

      一般说来,密钥长度每提高一位,就
    说,如果没有更新的计算技术出现,总是
    的密钥是否总是意味着更安全呢?你在门
    的密钥空间为10000),或许强盗会试每
    大约5000次之内他可以把锁打开。现在假
    强盗还会去试5亿次来开一把锁吗?
    可以让攻击者多花费一倍的破解时间,所以从理论上
    可以找到在给定时间内不能被破解的密钥的。但更长
    上装上了一个4位密码锁(从技术上讲,可以说该锁
    一个可能的密钥看行不行(强力攻击),平均说来,
    设你装上的是10位的密码锁(密钥空间10亿),你说

      对小偷来说,如果你有
    撬锁等手段直接对付你重重
    左道的方式,如企业正式文
    中的材料⑽淌夷诘奶缸?br>这些例子说明了,看一个系
    意的是它最大的弱点在什么
    水原理:一个桶能装的水量
    一扇小门敞开着,或者有一扇窗
    武装起来的大门的。而对于技术
    档的存放、草稿的处置、对工作
    等等,来得到他们想要的目标—
    统是否安全,我们不应该只看它
    地方,系统的安全性取决于它最
    不取决于桶有多高,而取决于组
    户一捅就破,那他决不会使用撬门
    间谍,他们可以通过各种各样旁门
    记录的态度,甚至垃圾堆、碎纸机
    —信息,而不需太高级的手法的。
    采用了多么先进的设施,更应该注
    薄弱的部位的安全性。这正是一桶
    成该桶的最短的那块木头有多长。
      本世纪70年代之前,密码技术的使用
    的高级密码分析。当密码技术的使用大量
    不是说在商务系统中最大的威胁是那些能
    数学功底的密码分析家呢?
    范围主要在军事方面,当时最大的威胁在于敌方进行
    转移到商务系统中之后,这个威胁模型还相同吗?是
    够偷听到网络中来来往往的数据,而且还具有良好的

      R. Anderson在《密码
    统被攻破的案例,对此的回
    员,绝大多数都是只需要很
    系统为什么会失败》一文中,通
    答是“不!”。对这类系统最大
    普通的技术就能做到的威胁。
    过考察数百例零售系统中ATM卡系
    的威胁不是来自训练有素的技术人

      再考察近几年在Internet上发生的攻击,可以看出这样的威胁模型仍然相同。  
      如上所述,更长的密钥
    有力的。隐藏在世界各地的
    法本身,不需要去试每一个
    计中的错误、实现中的错误
    下他们只需利用设计者们犯
    并不总是更安全,一个强的加密
    攻击者可以利用一切对你的系统
    可能的密钥,甚至不枰パ罢?br>、安装上的错误等等,有时他们
    的一次次重复发生的错误。
    算法只有当得到正确实施时才是强
    不利的威胁,他们通常可以越过算
    算法本身的漏洞,他们能够利用设
    会发明一些小技巧,但大多数情况


      系统安全威胁来自哪里?

      进一步的分析,可以粗
    系统软件的缺陷、对硬件的
    面分别讨论这些问题及相应
    略地将对系统安全的威胁归结为
    攻击、错误的信任模型、拒绝服
    的策略。
    六大类:缺乏教育、变节的员工、
    务,这几类之间可能会有交叉。下


      1.缺乏教育

      对安全系统的使用者,可以有两种不同的安全模型。                                
      (1) 火车司机型:这种系统中,使用
    别出危险信号,能够自动找寻道路,使用
    者只需要控制系统的启停就可以了,安全系统能够辨
    者在其它时间可以放心大胆地干别的事情。
      (2) 航空飞行员型:在这种模型中,
    多数情况下实际上系统都已经在自动运行
    即使系统已经拥有很先进的自动导航设备了,而且大
    了,仍然要求使用者必须是训练有素的。
      在这两种模型中,第一
    安全系统在经过简单的指导
    省力,可也太一厢情愿了。
    控制并引导列车前进的机制
    办法一劳永逸。
    种听起来更加“用户友好”。被
    安装之后,以后的运行就不再需
    现实的网络世界远远没有铁路系
    ,可能出现的异常情况太多(包

    图形用户界面惯坏了的人们都希望
    要自己介入了。这种想法确实省心
    统那么有序,缺少像铁轨那样严格
    括下面要谈到的那些问题),没有

      有些人会认为:“不是
    ,它虽然堵住了很多不安全
    。虽说受到了限制,这条路
    墙是无能为力的。已有很多
    不合逻辑地指出:“使用防
    还有防火墙吗?交给它好了!”
    的缺口,但同样小心翼翼地向外
    仍然是通的,如果有人利用这条
    文献给出了成功地突破防火墙的
    火墙,可能会适得其反。”
    这同样错了,防火墙并不是万灵药
    界打开了一扇访问内部信息的小门
    路径进行数据驱动型的攻击,防火
    例子。所以有的安全专家甚至有些

      许多系统被攻破是因为它们严重依赖
    会选择保密性很强的口令,当这个口令被
    更容易(当然也是更快)被破解。为了便
    是一句话,称为“通行短语”。但由于语
    比64位(8字节)的随机密钥来得更安全
    于用户创建的口令,但由于不便于记忆,人们通常不
    用作加密系统的密钥时,比起随机生成的密钥,它们
    于记忆,有些系统的口令不仅仅是一个单词,还可以
    言本身信息的高度冗余性,40个字符的通行短语并不

      此外,出于工作上的考
    把信用卡放在其它地方了而
    装的不安全状态(尤其对Wi
    虑,有些用户可能会把自己的口
    不去挂失;不仔细检查收到邮件
    ndows NT用户)等都有不小的安
    令给同事;由于拿不准是不是自己
    的电子证书;不去改变软件缺省安
    全隐患。
      所以说不管是用户还是
    如何选择好的口令、如何管
    如何安全升级系统等等。
    系统管理员,都应该接受所用系
    理好口令表、如何保持警惕、如

    统在安全方面应受到的教育,学会
    何处理系统发生问题的紧急情况、


      2.变节的员工

      这一点应该说是属于企业的内部事务
    出问题的可能性也就越大。对此,最好的
    以及对关键信息的访问。对于银行之类的
    机制使得必须有若干个人同时在场时才能
    察。
    。通常负责密钥管理和保密系统维护的人越多,系统
    解决办法是建立完整的安全政策,严格控制用户权限
    系统,必要时,某些关键数据可以采用某种秘密共享
    起用。还要加强审计功能,保证每一件事务都有据可

      安全系统应该能提供解决这一问题的机制,不允许任何人在系统中留有“后门”。      

      3.系统软件的缺陷

      W. R. Cheswick和S. M
    的必要性时,从Murphy定律
    含着更多的错误”和“一个
    全从简单开始。”
    . Bellovin在合著的《防火墙与
    出发,先指出了“所有程序都是
    同安全相关的程序有安全方面的

    Internet安全》中,当论证防火墙
    有错的”,再推出“更大的程序包
    错误。”由此可以得出结论:“安

      可是我们考察一下很常见的网络应用
    、Web服务器、事务服务器、数据库系统
    复杂了,可以说,任何一个部分都可以出
    数据失窃、文件被毁或事务被欺骗提交等
    当事人却被蒙在鼓里。
    系统,可以看出其中包含了Web浏览器、Java虚拟机
    、CORBA机制等等。当然,也包括防火墙。确实是太
    错,而任何一部分的错误都可能导致安全漏洞,导致
    。最坏的结果是,“黑客”或破坏者知道这些漏洞而

      进一步细分,这一类问题可能出在以下几个方面:                                  
      (1) 系统设计中的问题                                                      
      安全系统牵涉到各种不
    息认证码、安全协议等。攻
    密算法和安全协议,仍然可
    同的密码学原理,如加密算法、
    破其中的任何一项,也就攻破了
    能设计出安全性很弱的系统出来
    数字签名算法、单向Hash算法、消
    整个系统。即使系统使用了强的加

      此外,就如五行中的相
    ,得到一个不安全的系统。
    条件的限制,不可能对所有
    生相克一样,两个强安全协议、
    这些问题都应该是设计中应该考
    东西都了如指掌,即使是大公司
    密钥的联用也可能会出现安全隐患
    虑到的。但由于设计者会受到各种
    的产品也会出现设计问题。
      (2) 系统实现的问题                                                        
      这里面的问题可能出在对设计的理解
    出在实现细节上,由于实现时考虑不周,
    系统崩溃可能导致密钥被转存到硬盘上;
    包重发进行攻击。
    上,实现的系统并不是设计时所想像的系统。也可能
    一些系统不保证当加密之后清除明文;加密过程中,
    系统没有考虑请求时间,入侵者可能将截取到的数据

      系统实现中最大的问题
    多系统都是在未经充分的测
    出在程序的错误上,由于时间所
    试就投入运行的,肯定会隐藏不
    限,加之测试工具限制,现有的许
    少错误。
      (3) 故障恢复中的问题                                                      
      设计一个安全的系统要求做到当一个
    不至于捅出更大的乱子。泄漏一个文件的
    客对智能卡进行逆向工程只能得知他所拿
    息。在此,好的系统设计必须考虑到当入
    晚,我设计的系统总有一天会被人攻破的
    系统某一部分被攻破时,其跋旆段вΩ玫玫较拗疲?br>密钥不会使入侵者能看到硬盘上所有的加密文件,黑
    到手的卡的秘密而不会有助于获得系统中其它卡的信
    侵发生后的对策,设计时应该相信这么一点:或早或
    !只有这样,当攻击真的发生时,才不会手足无措。
      对已经广泛投入使用的系统各部分可
    知,如地下黑客站点、CERT报告、安全新
    能出的错误或已经被确诊的错误,有许多渠道可以得
    闻组等等,这些渠道通常还会给出解决问题的方法。
      通常当一个系统刚安装
    配置的(道理很简单,快才
    将系统配置成最安全的模式
    上时,其缺省配置并不是按照最
    能吸引人,而安全是一时半会检

    安全的方式,而是按照最快的方式
    查不出来的),这时需要参考手册

      还要使用由防火墙带的
    扫描程序,检查目标系统在
    系统扫描程序(攻击测试),或者
    安全方面的潜在缺陷,并参考说
    由别的免费软件或付费软件提供的
    明进行改进。
      不要被自己的系统在错误列表中列出
    都是已经得到改正了的,在错误列表中列
    大的用户群,试想一个系统如果根本没人
    的那么多错误所吓倒,事实上,绝大多数列出的错误
    出的错误多并不意味着不安全,更多还意味着其更庞
    去用,谁还会花功夫去寻找它的缺陷呢?
      也不要迷信专用系统的安全性,没有
    也不可能有很高的安全性的。事实上,如
    素的程序员对其进行逆向工程,也没有办
    经过大量测试的系统,即使采取了秘而不宣的算法,
    果这类算法是用软件实现的,那根本抵挡不住训练有
    法保密。
      以上手段虽然不能完全消除系统缺陷,但却能大大提高系统的安全性。                

      4.对硬件的攻击

      有些系统(特别是商业
    解密、签名等工作都由硬件
    入他人手中也不会造成危害
    个系统完全依赖于它的防破
    件的攻击手段,如检查其运
    通道”,可能让拿到卡的人
    系统),依靠智能卡、电子钱包
    完成,用户密钥从不进入计算机
    。 专有硬件对系统安全来说可
    坏性的话,不能让人相信它是安
    算所花费的时间、测量工作中的
    能获取其中奥秘。
    之类防撬装置来保证安全,由于加
    内存之中。这些系统假定卡即使落
    以是很重要的恢质侄危绻?br>全的。实际上,存在一些对这类硬
    能量消耗、射线穿透检查等特殊“

      所以,当设计使用这类硬件的系统时,应该建立其它机制用于防止防撬技术失败。      

      5.错误的信任模型

      当使用一个系统时,通
    发信者确实是真实的,拿到
    过网络取一个共享文件时,
    常都要作出许多假定。比如当你
    一个新版的操作系统时,你可能
    你会相信你取到的是真正的东西
    收到一封电子邮件时,你可能假定
    会相信厂家在广告中作的宣传,通
    。那么,看看下面两个例子:
      (1)セ髡吖テ屏四?br>的机器,该机器可能中断客
    三方的存在,很多敏感数据
    认证、数据加密等手段可以
    个网络目录服务器,由此将对某
    户和服务器之间的来往数据,使
    就此被窃取。这种方式通常被称
    防止这种攻击。
    些服务器的访问定向到攻击者指定
    客户和服务器双方都没有意识到第
    为“中间人”攻击,通过引入身份

      (2)内部网中,当各
    行文件时,一个内部攻击者
    的文件块传给工作站,由于
    将真正的包当作重复数据丢
    一个比较严重的问题,但当
    Pack 3注意到了这个问题,
    工作站使用共享文件系统(AFS、
    可能监听工作站向文件服务器发
    内部网缺少判断数据包发送地址
    弃,从而工作站将毫无觉察地使
    前许多操作系统还都没做很大的
    但同其它系统的互操作性受到了
    NFS、NT/95、Netware等)共享可执
    出的文件访问请求,抢先把修改过
    的能力,工作站会接收该数据包而
    用修改后的程序。这类错误应该算
    改进,Windows NT的Service
    影响。

      6.拒绝服务

      拒绝服务是指一个未经
    而影响合法用户的使用。拒
    授权的用户不需要任何特权就可
    绝服务攻击可能由任何人发起,
    以使服务器无法对外提供服务,从
    它可以通过两类问题而实现
      (1) 系统程序的错误:特殊的请求数
    或升级系统两种方式。
    据可能导致系统瘫痪,这类问题的解决一般靠打补丁

      (2) 协议本身抗干扰能
    请求数据挤占合法用户的请
    复杂,需要某些“智能”的
    力差:这是许多基于TCP/IP的协
    求空间,使合法用户的请求无法
    判断。
    议所共有的问题,攻击者靠大量的
    得到响应。这一类问题的解决比较


      结论

      对于其它类型的系统来
    ,如文件压缩软件可以比较
    MIS系统可以看指定功能是
    述方法。好的加密算法和坏
    防住大量攻击,它们的差别
    是这样的:设计者读了一本
    能工作的,于是他认为这个
    没有经过大量实战测试的安
    汇,它们用到了安全加密算
    说,通过比较功能和性能,可以
    对相同文件集的压缩比,硬盘可
    否已实现。但对安全系统来说,
    的加密算法都同样产生不可读数
    隐藏在技术细节内部,对其进行
    有关安全的书,从中挑出几个算
    系统就是安全的了。事实上不是
    全系统将永远隐藏着安全漏洞。
    法、协议,但它们自身并不安全
    很容易判断系统的质量和定位问题
    以比较其存储容量及访问速度,
    由于其自身的特殊性,很难采取上
    据,好的防火墙和坏的防火墙都能
    分析需要。有许多安全产品的实现
    法和协议,经编码之后发现系统是
    这样的,能工作并不意味着质量,
    不少产品仅仅使用了大量的热门词

      网络攻击与反攻击的双方其实是极不
    施不法手段,而对反攻击者来说,需要考
    安全,是全方位的安全,它需要安全产品
    道高一尺,魔高一丈”,攻击与反攻击的
    ,但是,我们总可以努力提高系统的安全
    一样能够得到增长。
    平等的,对攻击者来说,只要发现一点漏洞就可以实
    虑到系统的方方面面,系统的安全应该是“系统的”
    生产者、用户双方都要作出很大的努力才能达到。 "
    斗争永远不会停止,百分之百的安全系统是不存在的
    性。同时,在与攻击者交手的过程当中,我们的知识


    上一页 下一页




    map