16 评论

如何防止黑客入侵[4]:安全漏洞的基本防范

  前面用2个帖子来介绍口令方面的安全(在“这里”和“这里”)。今天扫盲一下跟安全漏洞相关的知识,为下一篇(Web 相关的防范)做好铺垫。考虑到俺博客的读者群,本文主要拿Windows桌面系统来举例,并且尽量说得浅显一点。


★扫盲基本概念


◇什么是漏洞?


  所谓的“漏洞”,简单来说,就是会引起各种问题的软硬件缺陷(软件业的行话叫 Bug)。要知道,任何东西都不可能是完美的,软硬件系统也不例外(毕竟开发软硬件系统的程序员/工程师,也是凡人,也会有出错的时候)。

◇什么是安全漏洞?


  在上述提到的缺陷中,那些会被攻击者加以利用的,并因此导致安全问题的缺陷,就是所谓的“安全漏洞”。

◇什么是补丁?


  补丁是一个很形象的说法。如果你衣服破了个洞,只要打个补丁,不需要把整件衣服换掉。同样的,如果你的某个软件有漏洞,也只要打一个补丁,不需要重新安装新版本的软件。大多数情况下,补丁和漏洞是配套的。

◇什么是攻击代码 / 攻击程序?


  为了利用某个安全漏洞,黑客需要运行某个程序,这个程序就叫做攻击程序(也叫“攻击代码”)。通俗地说,攻击程序和补丁之间的关系,就好比矛和盾之间的关系。


★安全漏洞的分类


  除了上述的基本概念,你还需要大致知道安全漏洞的分类方式。

◇按照所在软件的类型分类


  根据出现漏洞的软件的类型,可以把漏洞分为“操作系统漏洞”、“应用软件漏洞”、“Web 漏洞”等。
  所谓的“操作系统漏洞”,就是操作系统本身有的安全缺陷。
  所谓的“应用软件漏洞”,就是你安装的软件所内含的安全缺陷。
  近几年来,基于 Web 的攻击日益增多,所以把 Web 漏洞单独分一类。所谓的“Web 漏洞”,也就是跟Web相关的漏洞——包括了浏览器本身的漏洞和网站的漏洞(本系列的下一篇会具体介绍这方面的知识)。

◇按照危险级别分类


  还可以根据漏洞的危险程度,进行分类。通常按照“高中低”分三级(也有把危险级别定为5级的)。级别越高,就越危险。
  对于高危的漏洞,有可能导致攻击者在你的电脑上植入木马。

◇按照攻击代码的位置分类


  针对攻击代码所处的位置,可以把漏洞分为“远程漏洞”、“本地漏洞”两类。
  所谓的“远程漏洞”,就是说,攻击者只需要在另外一台机器运行攻击代码,就可以让你的电脑中招。
  所谓的“本地漏洞”,就是攻击者的攻击代码必须在你的机器上执行。

◇按照补丁的情况分类

  刚才已经解释过了“补丁”和“漏洞”之间的关系。
  对于大部分漏洞而言,都有对应的补丁;但是少数漏洞没有补丁。没有补丁的漏洞是很危险的。为啥会出现这种情况捏?俺稍微解释一下。

  1. 未公开的漏洞
  有些黑客发现某个漏洞后,没有在圈内公开,也没有告知对应的软件厂商。那么这种漏洞就变成“未公开的漏洞”。因为没有公开,软件厂商不知情,自然也就没有发布补丁。
  这种漏洞【最危险】,有可能长期被攻击者用来入侵。据俺所知,有些高危漏洞已经在黑客圈内流传多年,而相应的软件厂商依然不知情。

  2. 零日漏洞(Zero-Day)
  如今互联网很发达,某些资深且勤奋的攻击者可以对漏洞的发布作出快速反应。一旦某个漏洞的细节被公开,他们可以在24小时之内制作出相应的攻击代码。而这个时候,软件厂商多半还没来得及发布补丁。那么这些攻击者就可以利用这个时间差,进行入侵活动。所以,安全圈内也把这种漏洞称为“零日漏洞”(洋文叫:Zero-Day 或 0-Day)。相对于“未公开漏洞”,“零日漏洞”可利用的时间段会短一些。比较负责任的软件厂商通常会在一周或一月之内发布补丁。不过捏,也有些不靠谱的公司(包括大公司),要拖上好几个月才发布漏洞补丁(比如 Oracle)。


★漏洞的防范措施


  针对漏洞的这几种不同分类,俺分别介绍一下几种基本的、常见的防范方式。

◇个人防火墙


  个人防火墙主要用于防范“远程漏洞”,对于“本地漏洞”,防火墙基本帮不上忙。
  因为大多数远程漏洞,都存在于你机器对外开启的监听端口中。个人防火墙可以阻止这些端口对外开放,从而避免潜在的漏洞被攻击者利用。
  自从 Windows 2000 开始,微软就在操作系统中内置了防火墙功能。对于 Windows XP 以及之后的版本,可以直接到控制面板中开启它。
  另外,俺强烈建议:【不要】用国产的防火墙产品。别要怪俺崇洋媚外,具体原因可以参见俺之前的帖子(在“这里”)。
  如果你的电脑只是用来上上网、聊聊天、看看电影、用用办公软件,那你完全可以把防火墙设置成——不开放任何对外的端口。这样一来,即便你的电脑中存在远程漏洞,也不易被攻击者利用。

◇定期升级系统补丁


  Windows 系统的漏洞一直比较多——毕竟用户群太大,容易被黑客盯上。所以从很多年以前,微软就开始定期提供 Windows 补丁。具体的做法是每月的第二个星期二,发布新发现的漏洞的补丁。另外,如何发现高危的漏洞,也会临时发布紧急补丁。
  从 Windows 2000 开始,系统就支持自动的补丁升级机制。你只要在“控制面板”里打开“自动更新”这个功能,然后选择“自动”方式。你一定要确保系统的"自动更新"机制处于启用状态。这就可以堵住很多操作系统漏洞,从而降低攻击的风险。
  提醒一下:自动更新不是 Windows 独有滴。其它一些用户群比较大的桌面系统(比如:Mac OS,Ubuntu)也提供了自动更新安全补丁的功能。

◇启用软件的自动更新


  有一些做得比较好的软件,会内置自动更新功能(比如:Firefox、Chrome ...),一旦其官方网站有新的版本或补丁,就会自动下载并更新。如果你担心这类软件有安全问题,可以启用它们的自动更新功能。

◇使用小众且活跃的软件


  俗话说树大招风。越知名的软件,就越容易引来黑客的注意,被发现安全漏洞的概率也会增大。
  比如说:IE 的用户群最大,针对 IE 漏洞的挂马攻击是各种浏览器中最普遍的;Firefox 相对就少很多;而 Chrome 和 Safari 就更少了(不过捏,随着 Firefox 和 Chrome 的流行,针对这两款浏览器的攻击也多起来了)。
  再比如说:同样是 PDF 阅读器,Adobe Reader 被曝光的漏洞就比较多,相对而言,Foxit Reader 和 PDF-XChange Viewer 就没这么多问题。
  为啥俺还要强调【活跃】捏?小众软件根据活跃程度可以分为:活跃 or 不活跃。不活跃的软件,通常说明:开发者维护该软件不够积极,也就意味着该软件在【漏洞修复】方面不够迅速/及时——这就会导致安全风险;反之,活跃的软件,就没这个问题。


  关于安全漏洞的基本防范,今天就聊到这里。考虑到近年来,针对 Web 攻击的情况剧增,本系列后续的帖子会说一下 Web 相关的话题。


回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2010/08/howto-prevent-hacker-attack-4.html

16 条评论

  1. 偶从0看到4鸟。
    好东西。

    回复删除
  2. 看了博主的帖子让我明白鸟,我浑身都是漏洞,已经变成筛子……只是尽力减少而已,怎么防也防不住,唉!

    回复删除
  3. 楼主,按照你的说法,金山毒霸这个如何?

    回复删除
    回复
    1. TO lvfengbao2008
      金山毒霸 也一样。

      天朝的安全公司,有两类:
      一类是主动跟朝廷合作;一类是被迫跟朝廷合作
      不管是哪一类,都可能侵害屁民的隐私。

      不合作的安全公司,在天朝是活不下去滴!

      删除
  4. To楼上:
    杀软和防火墙最好还是用国外的吧,国内的信不过。

    另外,想问博主ESET如何,还有没有其他推荐。

    回复删除
    回复
    1. TO Curtis Wilbur
      ESET 俺没用过,不方便评价。

      俺个人的经验是:
      用国外知名的几个大厂商的杀毒
      比如:卡巴斯基,赛门铁克,麦克菲

      删除
  5. 此评论已被作者删除。

    回复删除
  6. 对于Windows的安全性,我已经不抱任何希望了。随便它了,只要不要太过容易入侵就好。关乎财产的东西只能靠靠强密码保护和对方的保护政策了。关乎隐私的东西我电脑里好像木有,而且我又不是什么名人,没人会对我的隐私感兴趣。至于产权什么的我目前为止还没有什么特别值得保护的东西。如果有的话我想我的做法大概是用rar或者7z之类的加密打包吧……最怕怕的事情就是喝咖啡了……所以……我还是不要做会喝咖啡的事情了……

    回复删除
    回复
    1. 至于安软,我用的瑞星。以前版本的瑞星(10年前的吧)挺不错的,最近的瑞星越来越流氓了。但是因为不要钱,我还在凑合用着。卡巴斯基、赛门铁克等等对我来说实在是没必要花那个钱。

      删除
    2. TO Keith
      用压缩软件进行加密存储,这不是个好主意。
      压缩软件的“主业”是压缩,而不是加密。
      而且一旦需要对压缩包中的文件进行“增删改”,也比较麻烦。
      不如用专门的加密软件。

      至于杀毒软件
      俺非常反对用【国产】的杀毒(流氓太多了)
      另外提醒一下,赛门铁克也可以不花钱。
      它有一个企业版(SEP),无需注册码、无需破解。

      删除
    3. TO 编程随想
      不早说= =|||……我前天刚花50多美刀买的诺顿……我是不是应该退货去……
      至于加密,因为我要加密的东西不是很多,所以无所谓,现在7zip的加密算法是AES-256,挺专业的了。

      删除
    4. 诺顿找了半天,没找到企业版呀,全都是30天试用的版本。

      删除
  7. 此评论已被作者删除。

    回复删除
  8. 『如何发现高危的漏洞,也会临时发布紧急补丁。』这句话读起来很奇怪。如何→如果?

    回复删除
  9. 编程随想,安卓自带的多用户管理,可以隔离国产软件的监视吗?

    回复删除