2007个人计算计安全配置手册
[ 2007-03-25 03:13:25 | 作者: sun ]
前言
几年前在社区中也发过类似的帖子,但是之后时间由于各种原因并没更新重发。今年由于熊猫的原因我决定发布新版本的安全手册。
本贴仅面相普通的计算机使用用户,说以我尽量避免使用复杂的系统设置图解而是尽可能用第三方软件代替。软件的使用宗旨也是尽量使用免费软件和中文软件。
思路我的重点并没有放到查杀上,而是注重防上。一切都围绕这个主题进行。
由于这是一个很庞杂的帖子,一次不可能完成所以帖子会不断进行更新,某些内容可能来源其它网友我会尽可能署上作者姓名,如有 相关问题请联系我:)更新前后会效仿软件的版本号的形式注明。我已经向社区的版主征集相关的稿件,并会把相关的内容及时更新上来。
为了统一版面,以及后续的编译更新本贴将关闭回复功能。但是会开一个新的专门帖子供大家回复,回复贴地址http://forum.ikaka.com/topic.asp?board=28&artid=8261955因为本贴非常需要大家的意见及建议。说以希望大家能多多的灌水:)
面相对象
目前本贴仅面相单机普通个人用户的系统安全。但是考虑到很多朋友已经拥有二台或两台以上的计算机设备,而且多机联网可以有更大的安全空间,和更多安全选择以及更好的安全效果。说以相关的内容会在后面的时间更新(已经在朋友那里组建完毕三机〔两台式一笔记本〕测试平台,目前正在测试并收集相关的数据)
系统安装前
分区应该是大家在安装系统前最先碰到的一个问题,也是第一个被大家忽略的问题。给大家的意见就是系统盘也就是大家说的c盘应该在10G左右考虑到新系统(VISTA)可适当的扩展到15G。而工具盘也是说的D盘也应该在10G左右的空间。剩下的盘符大家可以自便,但是最后一个区空间应该适当的大一些因为我们用它来作资料备份使用。
磁盘格式的选择
强烈建议大家的把C,D两个盘符分成NTFS格式。因为WINDOWS的安全全都是建立在NTFS基础之上的。抛弃了NTFS也就不要谈什么安全了(大家注意的是使用NTFS格式后在 DOS下是 看不到NTFS分区的,你看到的C:应该是NTFS分区之后的那FAT32个区,但是借助其它软件也可以查看DOS下的 NTFS的 数据)但是我也不推荐全部分区都使用NTFS,因为这样你备份以及一些其它的操作可能会受到一些影响。所以个人的意见是把最后一个区也就是备份区分成FAT32。
系统选择
微软的VISTA系统已经上市了,但是由于其极高的硬件要求更因为第三方软件软件兼容性上的问题。我们暂时没有选择VISTA而是选择成熟的 WINDOWS XP SP2 PRO。(放弃了2003是因为其设置上对于很多用户是巨大的瓶颈,而且2003对很多软件尤其是安全软件都存在兼容性的问题。但是在以后涉及到多机安全上我们将涉及2003或服务器版本的 VISTA)
系统安装
对于普通用户来说系统安装是最简单的问题了,看似没有说的必要。但是往往问题都是出在我们忽略的小事情上。比如系统,补丁,驱动等的安装顺序上。我的建议是系统→SP补丁(当然目前的XPSP2已经没有必要)→Microsoft .NET Framework,IE, Windows Media Player更新包→安全更新→驱动的顺序进行安装。当然并不是说你不安这个顺序安装有什么问题,但是这样作做少会降低很多不必要的隐患。
首次备份时间点
这样安装完驱动后,我们的系统就基本本宣告安装完毕了。此时建议你使用备份软件对系统进行备份,并最好把备份文件进行光盘存档。
软件提示
由于众所周知的问题,在进行以上安装的时候用户会碰到第一个棘手的问题。就是无法下载WINDOWS的安全更新!此时建议相关的用户安装Windows Updates Downloader,该软件是免费软件,首次使用需要到其官方网站下载相应语言版本的文件(有WINDOWS和OFFICE二种)之后就可以点击DOWNLOAD更新,它不仅仅提供安全更新,还提供SERVICE PACKS(也就是SP)更新和FRAMEWORK更新。唯一需要注意的就是该软件不会检测你 系统中已经安装的补丁,它之会把所有更新全部列出,所以用户下载时请酌情下载相应的补丁。它还会下载非关键更新OTHER:)但是不一定没有用,很有意思哦!
操作系统设置
以前是非常难说的问题,也是最费笔墨的一个部分。但是现在有了XP-ANTISPY这个软件一切都变的非常简单了!它同样也是一个免费软件,它将系统设置的各个的方面以选项的的 形式放在用户面前,最让人兴奋的的 是每个选项作者都给出了详细说明,用户根据提示就可以把为复杂的系统的设置变成简单的点击。
非管理员账户的创建及设置
说VISTA的安全性的 提高,一个重要的原因就是。微软借鉴LINUX的对管理员账户进行严格管制的思路,不让用户直接进入管理员账户即使要进入也输入密码……其实我们在非VISTA系统也可以这样作。(由于时间的关系该内容以后更新)
密码管理
(由于时间的关系该内容以后更新)
安全软件的选择
前言
对于防病毒软件来说,没有什么完美的软件。甚至在一线和二线厂商之间也没有什么大的分别。因为几乎每一个我们知道或不知道的厂商都有自己独特的反病毒技术,正是因为这种理念的不同就使的各个软件在不同方面都有自己的优点及缺陷。对于用户来说没有最好的,只有最适合自己的。当然这种分寸拿捏是需要用户对自己系统了解,以及对各个软件长时间反复测试才能的出。对于普通用户来说这显然是很困难的。所以我给出是一个最大众化的配置,它在各个方面都不会是最出色的配置,但是它也应该是综合性能最优秀的一个。
普通用户方案
主杀毒软件
瑞星二〇〇七
并非是因为我是IKAKA的版主或因为本贴是在社区首发,而推荐瑞星二〇〇七的。因为这个版本的瑞星改进的脱壳程序完善了网友对瑞兴诟病最多的木马查杀环节,使用“碎甲”技术,完善了启发查毒以及对虚拟机的成功应用,这一切都让瑞星成了用户的不二选择。而且只要对瑞星进行合理的设置就基本可以抵御用户面对安全问题。
安全建议:社区有不少二〇〇七优化方案的 帖子大家最好看看:)
辅助杀毒
这里的杀毒软件仅仅是对 主杀毒软件的一个补充,因为目前的安全形式已经很难让用户用单一的安全手段面对日益增长威胁。辅助杀毒一般不会有实时监控程序即使有也建议用户取消,仅仅只在下载新软件后手动调用辅助杀毒程序进行查杀(也就是鼠标右键)
推荐1
Cureit它是鼎鼎大名的Dr.web的 免费版。Dr.web是俄科学院研制供俄罗斯军方专业的杀毒软件,其引擎对木马脱壳能力应该是众多杀毒软件中最强大的,即使是卡巴斯基单从引擎上 说也逊色三分。Cureit根Dr.web的 区别仅仅是没有实时监控程序,其它诸如引擎和病毒库上都是完全相同的。
优点:完全免费,资源占用少 缺点:没有中文版。
推荐二
**
**就不用说了,其根瑞星的渊源我也不用细细道来了,选用**的理由很简单就是其设计的初衷!一款主动防御软件。具体的 说明大家有兴趣可以到其官方网站了解。
优点:国货!对主杀毒程序兼容好 缺点:付费软件,资源占用稍大。
防火墙
前言
没有安全的墙!目前大家对防火墙评测基本都是国外网站的测试的结果,而且流行的无非都是那几款。但是非常遗憾的告诉大家这些墙都有或大或小的安全BUG,而且即使是ZA这种被网友“力捧”的墙在其设计构架中都存在致命的缺陷。最关键不是你看别人说什么墙好,而是你了解什么墙你会用什么墙。
瑞星二〇〇七防火墙
又是瑞星?没错!首先它是瑞星杀毒软件标准版中就附带,而且经过不断的改进瑞星防火墙已经成为一款成熟的产品。瑞星杀毒软件+瑞星防火墙+注册表监控,用户只要运用好这3样工具就基本可以从容的应付常见的安全威胁。
社区有网友提供瑞星防火墙规则包建议大家安装,不错的:)有时间我可能会更新一个新包上来:)
其它防火墙
(由于时间的关系该内容以后更新)
花絮:一样的外衣不一样的心
很多人都关系某某部门用了什么软件或军方用了什么软件,其实这完全没有什么意义因为首先你不可能享受到想这些部门一样的服务。其次这些杀毒软件的DAT或防火墙的规则你是根本就接触甚至看不到的。编译好自己的规则才时最关键的。
HIPS
什么是HIPS
HIPSPS(主机入侵防御体系),也被称为系统防火墙,今年开始在比较专业的用户中开始流行,甚至一些杀毒软件厂商研究新病毒的时候都用它们来最终分析。HIPS可以控制限制进程调用,或者禁止更改或者添加注册表文件。当某进程或者程序试图偷偷运行时,这个行为就会被所HIPS检测,然后弹出警告,询问用户是否允许运行。如果用户拥有足够的软件和系统进程方面知识的情况下,利用HIPS软件能非常有效的防止木马或者病毒的偷偷运行。如果运用的好甚至可以摆脱对杀毒软件的依靠!(现在开始风行的行为杀毒其实就是HIPS功能的智能化)。的功能分类有Application Defend(简称AD)应用程序防御体系, Registry Defend(简称RD)注册表防御体系(比如瑞星的注册表监控), File Defend(简称FD)文件防御体系三类。
第一次使用HIPS时用户进行各种操作软件都会有提示,用户安提示操作就可以了以后只要文件没有被病毒或木马破坏就不会有相关的提示,但是这也要求使用HIPS一定要不怕麻烦,并能认真阅读HIPS的提示信息。否则HIPS对你不但没有什么帮助,也会徒增你的烦恼
推荐
System Safety Monitor(简称SSM)是目前最红的HIPS软件,经过几年的开发,现在SSM2.2已经基本成熟了,系统资源占用也越来越少,它拥有AD和RD功能,可以察看运行程序的父子关系,就是界面设计的有些烦琐,上手比较麻烦,拥有MD5和更强大的256位SHA效验算法可以选择。同时也有中文语言包,虽然价格比较高,但是还有免费的版本提供,不过少了磁盘底层写入监视和RD(正因为瑞星又RD功能,所以我推荐SSM作为普通用户方案HIPS的搭配)
注意:SSM有付费和免费两种版本,免费版仅缺少几项项监控。用户可根据自己的情况选择!建议大家用免费版本:)
第二次备份时间点
使用上述软件对 系统进行完全扫描后,用户就可以进行第二次的备份操作!备份文件直接备份备份区分即可刻在光盘上也不错:)
几年前在社区中也发过类似的帖子,但是之后时间由于各种原因并没更新重发。今年由于熊猫的原因我决定发布新版本的安全手册。
本贴仅面相普通的计算机使用用户,说以我尽量避免使用复杂的系统设置图解而是尽可能用第三方软件代替。软件的使用宗旨也是尽量使用免费软件和中文软件。
思路我的重点并没有放到查杀上,而是注重防上。一切都围绕这个主题进行。
由于这是一个很庞杂的帖子,一次不可能完成所以帖子会不断进行更新,某些内容可能来源其它网友我会尽可能署上作者姓名,如有 相关问题请联系我:)更新前后会效仿软件的版本号的形式注明。我已经向社区的版主征集相关的稿件,并会把相关的内容及时更新上来。
为了统一版面,以及后续的编译更新本贴将关闭回复功能。但是会开一个新的专门帖子供大家回复,回复贴地址http://forum.ikaka.com/topic.asp?board=28&artid=8261955因为本贴非常需要大家的意见及建议。说以希望大家能多多的灌水:)
面相对象
目前本贴仅面相单机普通个人用户的系统安全。但是考虑到很多朋友已经拥有二台或两台以上的计算机设备,而且多机联网可以有更大的安全空间,和更多安全选择以及更好的安全效果。说以相关的内容会在后面的时间更新(已经在朋友那里组建完毕三机〔两台式一笔记本〕测试平台,目前正在测试并收集相关的数据)
系统安装前
分区应该是大家在安装系统前最先碰到的一个问题,也是第一个被大家忽略的问题。给大家的意见就是系统盘也就是大家说的c盘应该在10G左右考虑到新系统(VISTA)可适当的扩展到15G。而工具盘也是说的D盘也应该在10G左右的空间。剩下的盘符大家可以自便,但是最后一个区空间应该适当的大一些因为我们用它来作资料备份使用。
磁盘格式的选择
强烈建议大家的把C,D两个盘符分成NTFS格式。因为WINDOWS的安全全都是建立在NTFS基础之上的。抛弃了NTFS也就不要谈什么安全了(大家注意的是使用NTFS格式后在 DOS下是 看不到NTFS分区的,你看到的C:应该是NTFS分区之后的那FAT32个区,但是借助其它软件也可以查看DOS下的 NTFS的 数据)但是我也不推荐全部分区都使用NTFS,因为这样你备份以及一些其它的操作可能会受到一些影响。所以个人的意见是把最后一个区也就是备份区分成FAT32。
系统选择
微软的VISTA系统已经上市了,但是由于其极高的硬件要求更因为第三方软件软件兼容性上的问题。我们暂时没有选择VISTA而是选择成熟的 WINDOWS XP SP2 PRO。(放弃了2003是因为其设置上对于很多用户是巨大的瓶颈,而且2003对很多软件尤其是安全软件都存在兼容性的问题。但是在以后涉及到多机安全上我们将涉及2003或服务器版本的 VISTA)
系统安装
对于普通用户来说系统安装是最简单的问题了,看似没有说的必要。但是往往问题都是出在我们忽略的小事情上。比如系统,补丁,驱动等的安装顺序上。我的建议是系统→SP补丁(当然目前的XPSP2已经没有必要)→Microsoft .NET Framework,IE, Windows Media Player更新包→安全更新→驱动的顺序进行安装。当然并不是说你不安这个顺序安装有什么问题,但是这样作做少会降低很多不必要的隐患。
首次备份时间点
这样安装完驱动后,我们的系统就基本本宣告安装完毕了。此时建议你使用备份软件对系统进行备份,并最好把备份文件进行光盘存档。
软件提示
由于众所周知的问题,在进行以上安装的时候用户会碰到第一个棘手的问题。就是无法下载WINDOWS的安全更新!此时建议相关的用户安装Windows Updates Downloader,该软件是免费软件,首次使用需要到其官方网站下载相应语言版本的文件(有WINDOWS和OFFICE二种)之后就可以点击DOWNLOAD更新,它不仅仅提供安全更新,还提供SERVICE PACKS(也就是SP)更新和FRAMEWORK更新。唯一需要注意的就是该软件不会检测你 系统中已经安装的补丁,它之会把所有更新全部列出,所以用户下载时请酌情下载相应的补丁。它还会下载非关键更新OTHER:)但是不一定没有用,很有意思哦!
操作系统设置
以前是非常难说的问题,也是最费笔墨的一个部分。但是现在有了XP-ANTISPY这个软件一切都变的非常简单了!它同样也是一个免费软件,它将系统设置的各个的方面以选项的的 形式放在用户面前,最让人兴奋的的 是每个选项作者都给出了详细说明,用户根据提示就可以把为复杂的系统的设置变成简单的点击。
非管理员账户的创建及设置
说VISTA的安全性的 提高,一个重要的原因就是。微软借鉴LINUX的对管理员账户进行严格管制的思路,不让用户直接进入管理员账户即使要进入也输入密码……其实我们在非VISTA系统也可以这样作。(由于时间的关系该内容以后更新)
密码管理
(由于时间的关系该内容以后更新)
安全软件的选择
前言
对于防病毒软件来说,没有什么完美的软件。甚至在一线和二线厂商之间也没有什么大的分别。因为几乎每一个我们知道或不知道的厂商都有自己独特的反病毒技术,正是因为这种理念的不同就使的各个软件在不同方面都有自己的优点及缺陷。对于用户来说没有最好的,只有最适合自己的。当然这种分寸拿捏是需要用户对自己系统了解,以及对各个软件长时间反复测试才能的出。对于普通用户来说这显然是很困难的。所以我给出是一个最大众化的配置,它在各个方面都不会是最出色的配置,但是它也应该是综合性能最优秀的一个。
普通用户方案
主杀毒软件
瑞星二〇〇七
并非是因为我是IKAKA的版主或因为本贴是在社区首发,而推荐瑞星二〇〇七的。因为这个版本的瑞星改进的脱壳程序完善了网友对瑞兴诟病最多的木马查杀环节,使用“碎甲”技术,完善了启发查毒以及对虚拟机的成功应用,这一切都让瑞星成了用户的不二选择。而且只要对瑞星进行合理的设置就基本可以抵御用户面对安全问题。
安全建议:社区有不少二〇〇七优化方案的 帖子大家最好看看:)
辅助杀毒
这里的杀毒软件仅仅是对 主杀毒软件的一个补充,因为目前的安全形式已经很难让用户用单一的安全手段面对日益增长威胁。辅助杀毒一般不会有实时监控程序即使有也建议用户取消,仅仅只在下载新软件后手动调用辅助杀毒程序进行查杀(也就是鼠标右键)
推荐1
Cureit它是鼎鼎大名的Dr.web的 免费版。Dr.web是俄科学院研制供俄罗斯军方专业的杀毒软件,其引擎对木马脱壳能力应该是众多杀毒软件中最强大的,即使是卡巴斯基单从引擎上 说也逊色三分。Cureit根Dr.web的 区别仅仅是没有实时监控程序,其它诸如引擎和病毒库上都是完全相同的。
优点:完全免费,资源占用少 缺点:没有中文版。
推荐二
**
**就不用说了,其根瑞星的渊源我也不用细细道来了,选用**的理由很简单就是其设计的初衷!一款主动防御软件。具体的 说明大家有兴趣可以到其官方网站了解。
优点:国货!对主杀毒程序兼容好 缺点:付费软件,资源占用稍大。
防火墙
前言
没有安全的墙!目前大家对防火墙评测基本都是国外网站的测试的结果,而且流行的无非都是那几款。但是非常遗憾的告诉大家这些墙都有或大或小的安全BUG,而且即使是ZA这种被网友“力捧”的墙在其设计构架中都存在致命的缺陷。最关键不是你看别人说什么墙好,而是你了解什么墙你会用什么墙。
瑞星二〇〇七防火墙
又是瑞星?没错!首先它是瑞星杀毒软件标准版中就附带,而且经过不断的改进瑞星防火墙已经成为一款成熟的产品。瑞星杀毒软件+瑞星防火墙+注册表监控,用户只要运用好这3样工具就基本可以从容的应付常见的安全威胁。
社区有网友提供瑞星防火墙规则包建议大家安装,不错的:)有时间我可能会更新一个新包上来:)
其它防火墙
(由于时间的关系该内容以后更新)
花絮:一样的外衣不一样的心
很多人都关系某某部门用了什么软件或军方用了什么软件,其实这完全没有什么意义因为首先你不可能享受到想这些部门一样的服务。其次这些杀毒软件的DAT或防火墙的规则你是根本就接触甚至看不到的。编译好自己的规则才时最关键的。
HIPS
什么是HIPS
HIPSPS(主机入侵防御体系),也被称为系统防火墙,今年开始在比较专业的用户中开始流行,甚至一些杀毒软件厂商研究新病毒的时候都用它们来最终分析。HIPS可以控制限制进程调用,或者禁止更改或者添加注册表文件。当某进程或者程序试图偷偷运行时,这个行为就会被所HIPS检测,然后弹出警告,询问用户是否允许运行。如果用户拥有足够的软件和系统进程方面知识的情况下,利用HIPS软件能非常有效的防止木马或者病毒的偷偷运行。如果运用的好甚至可以摆脱对杀毒软件的依靠!(现在开始风行的行为杀毒其实就是HIPS功能的智能化)。的功能分类有Application Defend(简称AD)应用程序防御体系, Registry Defend(简称RD)注册表防御体系(比如瑞星的注册表监控), File Defend(简称FD)文件防御体系三类。
第一次使用HIPS时用户进行各种操作软件都会有提示,用户安提示操作就可以了以后只要文件没有被病毒或木马破坏就不会有相关的提示,但是这也要求使用HIPS一定要不怕麻烦,并能认真阅读HIPS的提示信息。否则HIPS对你不但没有什么帮助,也会徒增你的烦恼
推荐
System Safety Monitor(简称SSM)是目前最红的HIPS软件,经过几年的开发,现在SSM2.2已经基本成熟了,系统资源占用也越来越少,它拥有AD和RD功能,可以察看运行程序的父子关系,就是界面设计的有些烦琐,上手比较麻烦,拥有MD5和更强大的256位SHA效验算法可以选择。同时也有中文语言包,虽然价格比较高,但是还有免费的版本提供,不过少了磁盘底层写入监视和RD(正因为瑞星又RD功能,所以我推荐SSM作为普通用户方案HIPS的搭配)
注意:SSM有付费和免费两种版本,免费版仅缺少几项项监控。用户可根据自己的情况选择!建议大家用免费版本:)
第二次备份时间点
使用上述软件对 系统进行完全扫描后,用户就可以进行第二次的备份操作!备份文件直接备份备份区分即可刻在光盘上也不错:)
遏制僵尸网络 DDoS攻击不是“绝症”
[ 2007-03-25 03:13:12 | 作者: sun ]
新闻事件回放
2006年12月20日,亚洲最大机房—网通北京亦庄机房遭受了最严重的攻击。当天,最高攻击流量超过12G,而亦庄机房的带宽约为7G,这造成了机房的间歇性瘫痪。
亦庄机房请求CNCERT/CC协助进行调查,据CNCERT/CC预估,黑客此次至少同时调集了2万台机器对亦庄机房进行攻击,这是CNCERT/CC所见过的国内最大黑客攻击案。
在这起事件里,由2万台机器所组成的僵尸网络成为了黑客手中最“得力”的工具。僵尸网络已经成为令人头痛的问题,就在上期《网络世界》的一篇文章中,微软公司的Internet安全执法小组高级律师就认为,僵尸网络由于其集中的力量,已经成为发生严重计算机犯罪的温床,是当前最大的威胁。早在2004年,国内就发生了首例僵尸网络攻击案,一名唐山的黑客操控6万台电脑组成的僵尸网络对北京一家音乐网站进行了连续三个月的分布式拒绝服务(DDoS)攻击,造成经济损失达700余万元。
僵尸网络难以根除
僵尸网络实际上是垃圾邮件、病毒和特洛伊木马发展的最终结果。所谓僵尸网络,就是黑客利用僵尸程序控制大量互联网用户的计算机,这些计算机就像“僵尸”一样被黑客所操纵,随时按照黑客的指令展开DDoS攻击或发送垃圾信息,而真正的用户却毫不知情,就仿佛没有自主意识的僵尸一般。成千上万台被感染的计算机组成的僵尸网络,可以在统一号令下同时对网络的某个节点发动攻击,从而形成极强的破坏力,成为一支网络上可以用于进行各种破坏活动的力量。
制止僵尸网络的办法之一就是让ISP出面来查找恶意行为并铲除它们。最近,英国电信宣布将使用来自某公司的产品和服务来检测向外发送的垃圾邮件。另外,还有很多协同捕获僵尸网络的工具也正在被开发出来。
ISP们利用的另一项技术是:让各ISP公司和其他公司结合成网络,并与享有声望的安全公司共同分享关于僵尸计算机(bots)的信息,并将这些数据与他们自己内部的数据进行协调。
通过使用这些数据,系统能够在bots登录互联网或者发送电子邮件的时候,将其识别出来,继而使用网络访问控制技术,将系统隔离在一个单独的子网里。此时用户会被提醒要注意一些问题,网络会提供一些资源来修复用户的机器,或是登录时网络要求其下载一些工具,以确保安全性,同时网络会要求他们进行操作系统升级。
但是研究僵尸网络的专家们依然感觉不乐观,因为僵尸网络是如此庞大和复杂,很难将其打败。一位专家表示,僵尸网络已经发展到了不需要寻找和记下任何命令和控制的地步。而在过去,命令和控制曾经是脆弱的一个环节。如今,有足够的冗余和可替代的控制渠道可以使得僵尸网络能够生存下去。
尽管每个ISP只要使用正确的工具都能够将自己的网络清理干净,但是人们还是不得不担心。事实上,在这场较量中,找到工具并不是什么难题。难题在于,与此同时ISP也对自己的用户关上了大门。另一方面,即使诸如此类的工具能够被广泛使用,它们仍旧不会普及到足以清除僵尸计算机的程度。因为僵尸计算机的数量实在是太多了,而且它们反应迅速、难以对付。
尽管境况不乐观,但我们还是可以从几个方面入手来遏制僵尸网络:
● 个人防范。对于可能成为“犯罪帮凶”的个人电脑用户,应该增强安全意识并了解基本的安全知识,及时更新软件补丁,并安装个人防火墙等安全软件,尽量避免使自己的计算机成为僵尸网络的一部分。
● 保证服务器安全。由于管理方面的问题,众多在IDC机房中的中小公司服务器系统往往得不到很好的加固与维护,容易被攻击者所利用,而且此类服务器由于性能高,又直接连接在有高带宽资源的链路当中,当其被黑客利用时,破坏力更大。
● 从主干网络上入手。由于僵尸网络是综合传播的结果,阻挡僵尸网络,应从主干网络上入手,才能获取最佳的效果。在骨干链接上过滤恶意编码可以显著减少国内与国际骨干网络的负载,从而可以大量节省成本。
● 携手合作。对僵尸网络的打击,需要如CNCERT、公安部、专业安全公司、运营商等多部门和企业来进行配合工作。同时通过在运营商以及最终客户端进行防护与缓解,才有可能从源头上对僵尸网络进行遏制。
DDoS攻击不是“绝症”
发动DDoS攻击是僵尸网络最大的“用途”之一,对亦庄机房的攻击就是一次典型的DDoS攻击。据绿盟科技解决方案中心抗拒绝服务系统产品市场经理韩永刚介绍,在世界范围内,DDoS攻击所造成的损失连年排在网络安全问题的第二位,仅次于蠕虫和病毒。这是因为发动DDoS攻击越来越容易,而且随着信息产业与互联网的不断发展,从理论上讲,黑客有可能掌握的资源是没有上限的。而现在获得DDoS攻击资源的成本越来越低,甚至有人把提供攻击资源作为新的牟利方式。
由于国内的互联网发展迅速,连接网络的主机与服务器越来越多,而目前国内的网络安全意识总体水平还不够高,这就造成了有大量的网络资源可以被攻击者所利用。自从2006年年中开始,DDoS攻击在国内呈现出越来越疯狂的趋势。以前700M、800M的攻击就是很大规模了,但近期的攻击事件表明,DDoS攻击已经进入到一个新的规模—n个G的时代。目前,接近1G的攻击在各地时常发生,而3~5个G、最多10G以上的攻击都开始出现。当攻击量到达了这个程度,攻击所造成的影响就不再是针对具体的单个目标了,而是整条链路都会被堵死,所以链路的其他使用者也无法幸免。网通亦庄机房碰到的就是这样的问题,海量的DDoS攻击最终影响的将是运营商的基础网络自身。
那么DDoS攻击会不会成为网络的“不治之症”?答案是否定的,也就是说我们还不至于太过悲观绝望。比较好的防DDoS攻击产品可以实现DDoS异常流量检测、DDoS攻击净化防护、取证与数据分析,从而形成了一套完整的解决方案。如果在亦庄机房部署防DDoS攻击产品,可以避免此次事件的发生。而产品的部署方式也很有讲究。对于如此大流量的攻击,普通防DDoS攻击产品的串联方式肯定是行不通的,而是需要采用旁路集群方式,将多台防DDoS攻击设备进行集群配置,再加上基于流量牵引的旁路技术,将攻击流量牵引至多台设备组成的“泄洪区”进行流量净化,净化的同时又不干扰其他正常流量的经过。这样将对海量DDoS攻击起到很好的缓解与抑制作用,保障IDC的正常运行。
还有更理想的防DDoS攻击部署方式,就是在最终用户到运营商的网络中进行多级部署,在基础链路(如城域网)上部署设备集群,成为防DDoS攻击的基础;之后再在重点地区如IDC或大客户接入处进行重点细粒度的部署,形成多层次的梯度防护,这样才能真正有效地解决DDoS攻击问题。
2006年12月20日,亚洲最大机房—网通北京亦庄机房遭受了最严重的攻击。当天,最高攻击流量超过12G,而亦庄机房的带宽约为7G,这造成了机房的间歇性瘫痪。
亦庄机房请求CNCERT/CC协助进行调查,据CNCERT/CC预估,黑客此次至少同时调集了2万台机器对亦庄机房进行攻击,这是CNCERT/CC所见过的国内最大黑客攻击案。
在这起事件里,由2万台机器所组成的僵尸网络成为了黑客手中最“得力”的工具。僵尸网络已经成为令人头痛的问题,就在上期《网络世界》的一篇文章中,微软公司的Internet安全执法小组高级律师就认为,僵尸网络由于其集中的力量,已经成为发生严重计算机犯罪的温床,是当前最大的威胁。早在2004年,国内就发生了首例僵尸网络攻击案,一名唐山的黑客操控6万台电脑组成的僵尸网络对北京一家音乐网站进行了连续三个月的分布式拒绝服务(DDoS)攻击,造成经济损失达700余万元。
僵尸网络难以根除
僵尸网络实际上是垃圾邮件、病毒和特洛伊木马发展的最终结果。所谓僵尸网络,就是黑客利用僵尸程序控制大量互联网用户的计算机,这些计算机就像“僵尸”一样被黑客所操纵,随时按照黑客的指令展开DDoS攻击或发送垃圾信息,而真正的用户却毫不知情,就仿佛没有自主意识的僵尸一般。成千上万台被感染的计算机组成的僵尸网络,可以在统一号令下同时对网络的某个节点发动攻击,从而形成极强的破坏力,成为一支网络上可以用于进行各种破坏活动的力量。
制止僵尸网络的办法之一就是让ISP出面来查找恶意行为并铲除它们。最近,英国电信宣布将使用来自某公司的产品和服务来检测向外发送的垃圾邮件。另外,还有很多协同捕获僵尸网络的工具也正在被开发出来。
ISP们利用的另一项技术是:让各ISP公司和其他公司结合成网络,并与享有声望的安全公司共同分享关于僵尸计算机(bots)的信息,并将这些数据与他们自己内部的数据进行协调。
通过使用这些数据,系统能够在bots登录互联网或者发送电子邮件的时候,将其识别出来,继而使用网络访问控制技术,将系统隔离在一个单独的子网里。此时用户会被提醒要注意一些问题,网络会提供一些资源来修复用户的机器,或是登录时网络要求其下载一些工具,以确保安全性,同时网络会要求他们进行操作系统升级。
但是研究僵尸网络的专家们依然感觉不乐观,因为僵尸网络是如此庞大和复杂,很难将其打败。一位专家表示,僵尸网络已经发展到了不需要寻找和记下任何命令和控制的地步。而在过去,命令和控制曾经是脆弱的一个环节。如今,有足够的冗余和可替代的控制渠道可以使得僵尸网络能够生存下去。
尽管每个ISP只要使用正确的工具都能够将自己的网络清理干净,但是人们还是不得不担心。事实上,在这场较量中,找到工具并不是什么难题。难题在于,与此同时ISP也对自己的用户关上了大门。另一方面,即使诸如此类的工具能够被广泛使用,它们仍旧不会普及到足以清除僵尸计算机的程度。因为僵尸计算机的数量实在是太多了,而且它们反应迅速、难以对付。
尽管境况不乐观,但我们还是可以从几个方面入手来遏制僵尸网络:
● 个人防范。对于可能成为“犯罪帮凶”的个人电脑用户,应该增强安全意识并了解基本的安全知识,及时更新软件补丁,并安装个人防火墙等安全软件,尽量避免使自己的计算机成为僵尸网络的一部分。
● 保证服务器安全。由于管理方面的问题,众多在IDC机房中的中小公司服务器系统往往得不到很好的加固与维护,容易被攻击者所利用,而且此类服务器由于性能高,又直接连接在有高带宽资源的链路当中,当其被黑客利用时,破坏力更大。
● 从主干网络上入手。由于僵尸网络是综合传播的结果,阻挡僵尸网络,应从主干网络上入手,才能获取最佳的效果。在骨干链接上过滤恶意编码可以显著减少国内与国际骨干网络的负载,从而可以大量节省成本。
● 携手合作。对僵尸网络的打击,需要如CNCERT、公安部、专业安全公司、运营商等多部门和企业来进行配合工作。同时通过在运营商以及最终客户端进行防护与缓解,才有可能从源头上对僵尸网络进行遏制。
DDoS攻击不是“绝症”
发动DDoS攻击是僵尸网络最大的“用途”之一,对亦庄机房的攻击就是一次典型的DDoS攻击。据绿盟科技解决方案中心抗拒绝服务系统产品市场经理韩永刚介绍,在世界范围内,DDoS攻击所造成的损失连年排在网络安全问题的第二位,仅次于蠕虫和病毒。这是因为发动DDoS攻击越来越容易,而且随着信息产业与互联网的不断发展,从理论上讲,黑客有可能掌握的资源是没有上限的。而现在获得DDoS攻击资源的成本越来越低,甚至有人把提供攻击资源作为新的牟利方式。
由于国内的互联网发展迅速,连接网络的主机与服务器越来越多,而目前国内的网络安全意识总体水平还不够高,这就造成了有大量的网络资源可以被攻击者所利用。自从2006年年中开始,DDoS攻击在国内呈现出越来越疯狂的趋势。以前700M、800M的攻击就是很大规模了,但近期的攻击事件表明,DDoS攻击已经进入到一个新的规模—n个G的时代。目前,接近1G的攻击在各地时常发生,而3~5个G、最多10G以上的攻击都开始出现。当攻击量到达了这个程度,攻击所造成的影响就不再是针对具体的单个目标了,而是整条链路都会被堵死,所以链路的其他使用者也无法幸免。网通亦庄机房碰到的就是这样的问题,海量的DDoS攻击最终影响的将是运营商的基础网络自身。
那么DDoS攻击会不会成为网络的“不治之症”?答案是否定的,也就是说我们还不至于太过悲观绝望。比较好的防DDoS攻击产品可以实现DDoS异常流量检测、DDoS攻击净化防护、取证与数据分析,从而形成了一套完整的解决方案。如果在亦庄机房部署防DDoS攻击产品,可以避免此次事件的发生。而产品的部署方式也很有讲究。对于如此大流量的攻击,普通防DDoS攻击产品的串联方式肯定是行不通的,而是需要采用旁路集群方式,将多台防DDoS攻击设备进行集群配置,再加上基于流量牵引的旁路技术,将攻击流量牵引至多台设备组成的“泄洪区”进行流量净化,净化的同时又不干扰其他正常流量的经过。这样将对海量DDoS攻击起到很好的缓解与抑制作用,保障IDC的正常运行。
还有更理想的防DDoS攻击部署方式,就是在最终用户到运营商的网络中进行多级部署,在基础链路(如城域网)上部署设备集群,成为防DDoS攻击的基础;之后再在重点地区如IDC或大客户接入处进行重点细粒度的部署,形成多层次的梯度防护,这样才能真正有效地解决DDoS攻击问题。
在PHP中全面阻止SQL注入式攻击之一
[ 2007-03-25 03:12:45 | 作者: sun ]
一、引言
PHP是一种力量强大但相当容易学习的服务器端脚本语言,即使是经验不多的程序员也能够使用它来创建复杂的动态的web站点。然而,它在实现因特网服务的秘密和安全方面却常常存在许多困难。在本系列文章中,我们将向读者介绍进行web开发所必需的安全背景以及PHP特定的知识和代码-你可以借以保护你自己的web应用程序的安全性和一致性。首先,我们简单地回顾一下服务器安全问题-展示你如何存取一个共享宿主环境下的私人信息,使开发者脱离开生产服务器,维持最新的软件,提供加密的频道,并且控制对你的系统的存取。
然后,我们讨论PHP脚本实现中的普遍存在的脆弱性。我们将解释如何保护你的脚本免于SQL注入,防止跨站点脚本化和远程执行,并且阻止对临时文件及会话的“劫持”。
在最后一篇中,我们将实现一个安全的Web应用程序。你将学习如何验证用户身份,授权并跟踪应用程序使用,避免数据损失,安全地执行高风险性的系统命令,并能够安全地使用web服务。无论你是否有足够的PHP安全开发经验,本系列文章都会提供丰富的信息来帮助你构建更为安全的在线应用程序。
二、什么是SQL注入
如果你打算永远不使用某些数据的话,那么把它们存储于一个数据库是毫无意义的;因为数据库的设计目的是为了方便地存取和操作数据库中的数据。但是,如果只是简单地这样做则有可能会导致潜在的灾难。这种情况并不主要是因为你自己可能偶然删除数据库中的一切;而是因为,当你试图完成某项“无辜”的任务时,你有可能被某些人所"劫持"-使用他自己的破坏性数据来取代你自己的数据。我们称这种取代为“注入”。
其实,每当你要求用户输入构造一个数据库查询,你是在允许该用户参与构建一个存取数据库服务器的命令。一位友好的用户可能对实现这样的操作感觉很满意;然而,一位恶意的用户将会试图发现一种方法来扭曲该命令,从而导致该被的扭曲命令删除数据,甚至做出更为危险的事情。作为一个程序员,你的任务是寻找一种方法来避免这样的恶意攻击。
三、SQL注入工作原理
构造一个数据库查询是一个非常直接的过程。典型地,它会遵循如下思路来实现。仅为说明问题,我们将假定你有一个葡萄酒数据库表格“wines”,其中有一个字段为“variety”(即葡萄酒类型):
1.提供一个表单-允许用户提交某些要搜索的内容。让我们假定用户选择搜索类型为“lagrein”的葡萄酒。
2.检索该用户的搜索术语,并且保存它-通过把它赋给一个如下所示的变量来实现:
$variety = $_POST[''variety''];
因此,变量$variety的值现在为:
lagrein
3.然后,使用该变量在Where子句中构造一个数据库查询:
$query = "Select * FROM wines Where variety=''$variety''";
所以,变量$query的值现在如下所示:
Select * FROM wines Where variety=''lagrein''
4.把该查询提交给MySQL服务器。
5.MySQL返回wines表格中的所有记录-其中,字段variety的值为“lagrein”。
到目前为止,这应该是一个你所熟悉的而且是非常轻松的过程。遗憾的是,有时我们所熟悉并感到舒适的过程却容易导致我们产生自满情绪。现在,让我们再重新分析一下刚才构建的查询。
1.你创建的这个查询的固定部分以一个单引号结束,你将使用它来描述变量值的开始:
$query = " Select * FROM wines Where variety = ''";
2.使用原有的固定不变的部分与包含用户提交的变量的值:
$query .= $variety;
3.然后,你使用另一个单引号来连接此结果-描述该变量值的结束:
$ query .= "''";
于是,$query的值如下所示:
Select * FROM wines Where variety = ''lagrein''
这个构造的成功依赖用户的输入。在本文示例中,你正在使用单个单词(也可能是一组单词)来指明一种葡萄酒类型。因此,该查询的构建是无任何问题的,并且结果也会是你所期望的-一个葡萄酒类型为"lagrein"的葡萄酒列表。现在,让我们想象,既然你的用户不是输入一个简单的类型为"lagrein"的葡萄酒类型,而是输入了下列内容(注意包括其中的两个标点符号):
lagrein'' or 1=1;
现在,你继续使用前面固定的部分来构造你的查询(在此,我们仅显示$query变量的结果值):
Select * FROM wines Where variety = ''
然后,你使用包含用户输入内容的变量的值与之进行连接(在此,以粗体显示):
Select * FROM wines Where variety = ''lagrein'' or 1=1;
最后,添加上下面的下引号:
Select * FROM wines Where variety = ''lagrein'' or 1=1;''
于是,这个查询结果与你的期望会相当不同。事实上,现在你的查询包含的不是一条而是两条指令,因为用户输入的最后的分号已经结束了第一条指令(进行记录选择)从而开始了一条新的指令。在本例中,第二条指令,除了一个简单的单引号之外别无意义;但是,第一条指令也不是你所想实现的。当用户把一个单引号放到他的输入内容的中间时,他结束了期望的变量的值,并且引入了另一个条件。因此,不再是检索那些variety为"lagrein"的记录,而是在检索那些满足两个标准中任何一个(第一个是你的,而第二个是他的-variety为"lagrein"或1等于1)的记录。既然1总是1,因此,你会检索到所有的记录!
你可能反对:我不会使用双引号来代替单引号来描述用户提交的变量吗?不错,这至少可以减慢恶意用户的攻击。(在以前的文章中,我们提醒过你:应该禁止所有对用户的错误通知信息。如果在此生成一条错误消息,那么,它有可能恰恰帮助了攻击者-提供一个关于他的攻击为什么失败的具体的解释。)
在实践中,使你的用户能够看到所有的记录而不只是其中的一部分乍看起来似乎不太费事,但实际上,这的确费事不少;看到所有的记录能够很容易地向他提供有关于该表格的内部结构,从而也就向他提供了使其以后实现更为恶毒目的的一个重要参考。如果你的数据库中不是包含显然无害的酒之类信息而是包含例如一个含有雇员年收入的列表,那么,刚才描述情形会是特别真实的。
而从理论角度分析,这种攻击也的确是一件很可怕的事情。由于把意外的内容注入到你的查询中,所以,此用户能够实现把你的数据库存取转化为用于实现他自己的目的。因此现在,你的数据库已经对他打开-正如对你敞开一样。
四、PHP和MySQL注入
如我们前面所描述的,PHP,从本身设计来说,并没有做什么特别的事情-除了按照你的指示操作之外。因此,如果为恶意用户所用,它也只是按照要求"允许"特别设计的攻击-例如我们前面所描述的那样。
我们将假定,你不会故意地或甚至是偶然地构造一个具有破坏性效果的数据库查询-于是,我们假定问题出在来自你的用户的输入方面。现在,让我们来更为细致地分析一下用户可能向你的脚本提供信息的各种途径。
五、用户输入的类型
如今,用户能够影响你的脚本的行为已变得越来越复杂。
用户输入最明显的来源当然是表单上的一个文本输入域。使用这样的一个域,你简直是在故意教唆一个用户输入任意数据。而且,你向用户提供了一个很大的输入范围;没有什么办法能够使你提前限制一个用户能够输入的数据类型(尽管你能够选择限制它的长度)。这正是绝大多数的注入式攻击源主要来自于无防备的表单域的原因。
但是,还存在其它的攻击源,并且稍加思考你就会想到的一种潜于表单后台的技术-POST方法!通过简单地分析显示在浏览器的导航工具栏中的URI,一个善于观察的用户能够很容易地看出是什么信息传递到了一个脚本。尽管典型情况下这样的URI是以编程方式生成的,但是,没有什么办法能够阻止一个恶意的用户简单地把一个带有一个不适当的变量值的URI输入到一个浏览器中-而这样潜在地打开一个可能会被其滥用的数据库。
限制用户输入内容的一个常用策略是在一个表单中提供一个选择框,而不是一个输入框。这种控件能够强制用户从一组预定义的值中进行选择,并且能够在一定程度上阻止用户输入期望不到的内容。但是正如一个攻击者可能“哄骗”一个URI(也即是,创建一个能够模仿一个可信任的却无效的URI)一样,他也可能模仿创建你的表单及其自己的版本,并因此在选项框中使用非法的而不是预定义的安全选择。要实现这点是极其简单的;他仅需要观察源码,然后剪切并且粘贴该表单的源代码-然后一切为他敞开大门。
在修改该选择之后,他就能够提交表单,并且他的无效的指令就会被接受,就象它们是原始的指令一样。因此,该用户可以使用许多不同的方法试图把恶意的代码注入到一个脚本中。
PHP是一种力量强大但相当容易学习的服务器端脚本语言,即使是经验不多的程序员也能够使用它来创建复杂的动态的web站点。然而,它在实现因特网服务的秘密和安全方面却常常存在许多困难。在本系列文章中,我们将向读者介绍进行web开发所必需的安全背景以及PHP特定的知识和代码-你可以借以保护你自己的web应用程序的安全性和一致性。首先,我们简单地回顾一下服务器安全问题-展示你如何存取一个共享宿主环境下的私人信息,使开发者脱离开生产服务器,维持最新的软件,提供加密的频道,并且控制对你的系统的存取。
然后,我们讨论PHP脚本实现中的普遍存在的脆弱性。我们将解释如何保护你的脚本免于SQL注入,防止跨站点脚本化和远程执行,并且阻止对临时文件及会话的“劫持”。
在最后一篇中,我们将实现一个安全的Web应用程序。你将学习如何验证用户身份,授权并跟踪应用程序使用,避免数据损失,安全地执行高风险性的系统命令,并能够安全地使用web服务。无论你是否有足够的PHP安全开发经验,本系列文章都会提供丰富的信息来帮助你构建更为安全的在线应用程序。
二、什么是SQL注入
如果你打算永远不使用某些数据的话,那么把它们存储于一个数据库是毫无意义的;因为数据库的设计目的是为了方便地存取和操作数据库中的数据。但是,如果只是简单地这样做则有可能会导致潜在的灾难。这种情况并不主要是因为你自己可能偶然删除数据库中的一切;而是因为,当你试图完成某项“无辜”的任务时,你有可能被某些人所"劫持"-使用他自己的破坏性数据来取代你自己的数据。我们称这种取代为“注入”。
其实,每当你要求用户输入构造一个数据库查询,你是在允许该用户参与构建一个存取数据库服务器的命令。一位友好的用户可能对实现这样的操作感觉很满意;然而,一位恶意的用户将会试图发现一种方法来扭曲该命令,从而导致该被的扭曲命令删除数据,甚至做出更为危险的事情。作为一个程序员,你的任务是寻找一种方法来避免这样的恶意攻击。
三、SQL注入工作原理
构造一个数据库查询是一个非常直接的过程。典型地,它会遵循如下思路来实现。仅为说明问题,我们将假定你有一个葡萄酒数据库表格“wines”,其中有一个字段为“variety”(即葡萄酒类型):
1.提供一个表单-允许用户提交某些要搜索的内容。让我们假定用户选择搜索类型为“lagrein”的葡萄酒。
2.检索该用户的搜索术语,并且保存它-通过把它赋给一个如下所示的变量来实现:
$variety = $_POST[''variety''];
因此,变量$variety的值现在为:
lagrein
3.然后,使用该变量在Where子句中构造一个数据库查询:
$query = "Select * FROM wines Where variety=''$variety''";
所以,变量$query的值现在如下所示:
Select * FROM wines Where variety=''lagrein''
4.把该查询提交给MySQL服务器。
5.MySQL返回wines表格中的所有记录-其中,字段variety的值为“lagrein”。
到目前为止,这应该是一个你所熟悉的而且是非常轻松的过程。遗憾的是,有时我们所熟悉并感到舒适的过程却容易导致我们产生自满情绪。现在,让我们再重新分析一下刚才构建的查询。
1.你创建的这个查询的固定部分以一个单引号结束,你将使用它来描述变量值的开始:
$query = " Select * FROM wines Where variety = ''";
2.使用原有的固定不变的部分与包含用户提交的变量的值:
$query .= $variety;
3.然后,你使用另一个单引号来连接此结果-描述该变量值的结束:
$ query .= "''";
于是,$query的值如下所示:
Select * FROM wines Where variety = ''lagrein''
这个构造的成功依赖用户的输入。在本文示例中,你正在使用单个单词(也可能是一组单词)来指明一种葡萄酒类型。因此,该查询的构建是无任何问题的,并且结果也会是你所期望的-一个葡萄酒类型为"lagrein"的葡萄酒列表。现在,让我们想象,既然你的用户不是输入一个简单的类型为"lagrein"的葡萄酒类型,而是输入了下列内容(注意包括其中的两个标点符号):
lagrein'' or 1=1;
现在,你继续使用前面固定的部分来构造你的查询(在此,我们仅显示$query变量的结果值):
Select * FROM wines Where variety = ''
然后,你使用包含用户输入内容的变量的值与之进行连接(在此,以粗体显示):
Select * FROM wines Where variety = ''lagrein'' or 1=1;
最后,添加上下面的下引号:
Select * FROM wines Where variety = ''lagrein'' or 1=1;''
于是,这个查询结果与你的期望会相当不同。事实上,现在你的查询包含的不是一条而是两条指令,因为用户输入的最后的分号已经结束了第一条指令(进行记录选择)从而开始了一条新的指令。在本例中,第二条指令,除了一个简单的单引号之外别无意义;但是,第一条指令也不是你所想实现的。当用户把一个单引号放到他的输入内容的中间时,他结束了期望的变量的值,并且引入了另一个条件。因此,不再是检索那些variety为"lagrein"的记录,而是在检索那些满足两个标准中任何一个(第一个是你的,而第二个是他的-variety为"lagrein"或1等于1)的记录。既然1总是1,因此,你会检索到所有的记录!
你可能反对:我不会使用双引号来代替单引号来描述用户提交的变量吗?不错,这至少可以减慢恶意用户的攻击。(在以前的文章中,我们提醒过你:应该禁止所有对用户的错误通知信息。如果在此生成一条错误消息,那么,它有可能恰恰帮助了攻击者-提供一个关于他的攻击为什么失败的具体的解释。)
在实践中,使你的用户能够看到所有的记录而不只是其中的一部分乍看起来似乎不太费事,但实际上,这的确费事不少;看到所有的记录能够很容易地向他提供有关于该表格的内部结构,从而也就向他提供了使其以后实现更为恶毒目的的一个重要参考。如果你的数据库中不是包含显然无害的酒之类信息而是包含例如一个含有雇员年收入的列表,那么,刚才描述情形会是特别真实的。
而从理论角度分析,这种攻击也的确是一件很可怕的事情。由于把意外的内容注入到你的查询中,所以,此用户能够实现把你的数据库存取转化为用于实现他自己的目的。因此现在,你的数据库已经对他打开-正如对你敞开一样。
四、PHP和MySQL注入
如我们前面所描述的,PHP,从本身设计来说,并没有做什么特别的事情-除了按照你的指示操作之外。因此,如果为恶意用户所用,它也只是按照要求"允许"特别设计的攻击-例如我们前面所描述的那样。
我们将假定,你不会故意地或甚至是偶然地构造一个具有破坏性效果的数据库查询-于是,我们假定问题出在来自你的用户的输入方面。现在,让我们来更为细致地分析一下用户可能向你的脚本提供信息的各种途径。
五、用户输入的类型
如今,用户能够影响你的脚本的行为已变得越来越复杂。
用户输入最明显的来源当然是表单上的一个文本输入域。使用这样的一个域,你简直是在故意教唆一个用户输入任意数据。而且,你向用户提供了一个很大的输入范围;没有什么办法能够使你提前限制一个用户能够输入的数据类型(尽管你能够选择限制它的长度)。这正是绝大多数的注入式攻击源主要来自于无防备的表单域的原因。
但是,还存在其它的攻击源,并且稍加思考你就会想到的一种潜于表单后台的技术-POST方法!通过简单地分析显示在浏览器的导航工具栏中的URI,一个善于观察的用户能够很容易地看出是什么信息传递到了一个脚本。尽管典型情况下这样的URI是以编程方式生成的,但是,没有什么办法能够阻止一个恶意的用户简单地把一个带有一个不适当的变量值的URI输入到一个浏览器中-而这样潜在地打开一个可能会被其滥用的数据库。
限制用户输入内容的一个常用策略是在一个表单中提供一个选择框,而不是一个输入框。这种控件能够强制用户从一组预定义的值中进行选择,并且能够在一定程度上阻止用户输入期望不到的内容。但是正如一个攻击者可能“哄骗”一个URI(也即是,创建一个能够模仿一个可信任的却无效的URI)一样,他也可能模仿创建你的表单及其自己的版本,并因此在选项框中使用非法的而不是预定义的安全选择。要实现这点是极其简单的;他仅需要观察源码,然后剪切并且粘贴该表单的源代码-然后一切为他敞开大门。
在修改该选择之后,他就能够提交表单,并且他的无效的指令就会被接受,就象它们是原始的指令一样。因此,该用户可以使用许多不同的方法试图把恶意的代码注入到一个脚本中。
主动预防恶意软件应如何着手
[ 2007-03-25 03:12:32 | 作者: sun ]
近几年,间谍软件对企业和计算机用户来说,都造成了巨大的安全威胁。作为企业的IT管理者,如果你担心在上网时个人信息会被散布到网上,或者你的浏览习惯会被记录,那么你应该建议企业安装一套流行的广告软件/间谍软件清除工具。
目前这类软件有很多都是免费的,包括Lavasoft的Ad-Aware 和CyberDefenderFREE 。就连微软也推出了自己的间谍软件清除工具Windows Defender 。另外,我们还有丰富的付费安全软件可以选择,每一个软件都提供了广告软件/间谍软件清除功能。
虽然有些广告软件/间谍软件是通过免费的CD光盘的形式传播到用户手中的,但是这类软件的主要传播途径还是通过互联网。当用户在浏览互联网上的某些网页时,黑客或不法分子就会将恶意软件悄悄安装到用户的系统中。具有跟踪功能的cookie和网页程序可以被自动安装,而莫名其妙弹出来的窗口可以告诉用户,自己的电脑已经处于危险中了。
大多数人都知道,互联网是一个缺乏法律约束的环境。经验告诉我们,不要随便安装来自免费CD中的程序,因为天上不会掉馅饼。而如果你的自我保护意识非常强,那么连可信网站的免费软件也不要安装,甚至不要浏览。当然,这是不现实的。
每个用户都会安装一些他们所需的软件,也没有人会为了安全而拒绝接入互联网。那么怎么在上网风险和个人信息保护之间获得一个折中的方案呢?下面我们就通过一个实际案例来讨论目前的解决方案。
如果你运行了一个广告软件/间谍软件删除程序,它就会对对你系统中所安装的程序或cookie进行检测,换句话说,这类安全工具只能在你的系统被感染后才能发现问题。如果你的系统已经被感染了,那么就意味着你的个人信息或上网浏览记录已经被盗取了。
公平地说, 这类安全软件确实可以通过删除或者屏蔽恶意软件的方式来降低用户所受到的损失,这是它的优势。但是我们还要考虑一个因素,比如病毒程序的作者,这些人会编写一些可以自行改变的病毒,从而逃避安全软件的检测。
这导致大多数用户不得不经常运行安全软件扫描并清除新出现的恶意软件(有时候还会同时运行好几种安全软件)。这就是我们所说的“被动安全”。虽然被动安全比没有任何安全措施要好,但是我们都知道,更好的安全措施应该是“主动安全”。换句话说,就是在恶意软件还没有造成破坏时就进行相应的清除工作。
由于恶意软件大部分来自互联网和网络浏览过程,因此在浏览某一网站前,获知这一网站是否具有潜在的安全风险,是至关重要的主动防御措施。
这就是诸如McAfee SiteAdvisor这类安全软件的功能了。传统的安全软件将焦点集中在如何清理已经入侵系统的病毒或恶意软件,而McAfee SiteAdvisor则是在用户访问一个恶意网站前对用户进行警告。
这类安全软件可以作为用户已有的杀毒软件的良好补充,它可以弥补普通杀毒软件所忽略的方面,比如间谍软件攻击,在线欺诈以及网络钓鱼站点等。SiteAdvisor可以工作在IE或者Firefox浏览器中,它根据网站的安全级别将网站标记上绿色、黄色或者红色的标签,用户根据标签的颜色即可了解网站的安全性。另外,SiteAdvisor还提供以下功能:
安全搜索等级: 让用户提前获知某个搜索列表是否带有广告、病毒、垃圾邮件或欺诈内容。
安全浏览等级: 告知用户某网站是否带有影响浏览的内容,比如过多的弹出窗口。
漏洞保护:该功能可以防止用户访问一个会导致浏览器崩溃的页面。
总结
根据目前的形势,广告软件和间谍软件并不会很快消失,而来自流氓网站的浏览器攻击也变得日益频繁。 因此用户需要一种主动的安全解决方案,可以让用户在浏览一个网站前就知道该网站是否安全,而不是在被恶意软件攻击后才去被动的杀毒。
目前这类软件有很多都是免费的,包括Lavasoft的Ad-Aware 和CyberDefenderFREE 。就连微软也推出了自己的间谍软件清除工具Windows Defender 。另外,我们还有丰富的付费安全软件可以选择,每一个软件都提供了广告软件/间谍软件清除功能。
虽然有些广告软件/间谍软件是通过免费的CD光盘的形式传播到用户手中的,但是这类软件的主要传播途径还是通过互联网。当用户在浏览互联网上的某些网页时,黑客或不法分子就会将恶意软件悄悄安装到用户的系统中。具有跟踪功能的cookie和网页程序可以被自动安装,而莫名其妙弹出来的窗口可以告诉用户,自己的电脑已经处于危险中了。
大多数人都知道,互联网是一个缺乏法律约束的环境。经验告诉我们,不要随便安装来自免费CD中的程序,因为天上不会掉馅饼。而如果你的自我保护意识非常强,那么连可信网站的免费软件也不要安装,甚至不要浏览。当然,这是不现实的。
每个用户都会安装一些他们所需的软件,也没有人会为了安全而拒绝接入互联网。那么怎么在上网风险和个人信息保护之间获得一个折中的方案呢?下面我们就通过一个实际案例来讨论目前的解决方案。
如果你运行了一个广告软件/间谍软件删除程序,它就会对对你系统中所安装的程序或cookie进行检测,换句话说,这类安全工具只能在你的系统被感染后才能发现问题。如果你的系统已经被感染了,那么就意味着你的个人信息或上网浏览记录已经被盗取了。
公平地说, 这类安全软件确实可以通过删除或者屏蔽恶意软件的方式来降低用户所受到的损失,这是它的优势。但是我们还要考虑一个因素,比如病毒程序的作者,这些人会编写一些可以自行改变的病毒,从而逃避安全软件的检测。
这导致大多数用户不得不经常运行安全软件扫描并清除新出现的恶意软件(有时候还会同时运行好几种安全软件)。这就是我们所说的“被动安全”。虽然被动安全比没有任何安全措施要好,但是我们都知道,更好的安全措施应该是“主动安全”。换句话说,就是在恶意软件还没有造成破坏时就进行相应的清除工作。
由于恶意软件大部分来自互联网和网络浏览过程,因此在浏览某一网站前,获知这一网站是否具有潜在的安全风险,是至关重要的主动防御措施。
这就是诸如McAfee SiteAdvisor这类安全软件的功能了。传统的安全软件将焦点集中在如何清理已经入侵系统的病毒或恶意软件,而McAfee SiteAdvisor则是在用户访问一个恶意网站前对用户进行警告。
这类安全软件可以作为用户已有的杀毒软件的良好补充,它可以弥补普通杀毒软件所忽略的方面,比如间谍软件攻击,在线欺诈以及网络钓鱼站点等。SiteAdvisor可以工作在IE或者Firefox浏览器中,它根据网站的安全级别将网站标记上绿色、黄色或者红色的标签,用户根据标签的颜色即可了解网站的安全性。另外,SiteAdvisor还提供以下功能:
安全搜索等级: 让用户提前获知某个搜索列表是否带有广告、病毒、垃圾邮件或欺诈内容。
安全浏览等级: 告知用户某网站是否带有影响浏览的内容,比如过多的弹出窗口。
漏洞保护:该功能可以防止用户访问一个会导致浏览器崩溃的页面。
总结
根据目前的形势,广告软件和间谍软件并不会很快消失,而来自流氓网站的浏览器攻击也变得日益频繁。 因此用户需要一种主动的安全解决方案,可以让用户在浏览一个网站前就知道该网站是否安全,而不是在被恶意软件攻击后才去被动的杀毒。
几个小绝招增强系统对木马和病毒防范
[ 2007-03-25 03:12:19 | 作者: sun ]
一、问题的提出
大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?
二、问题的解决
Windows2000/XP/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:
1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动
2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动
3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为everyone只读,防止木马、病毒以"服务"方式启动
注册表键的权限设置可以通过以下方式实现:
1、如果在域环境里,可能通过活动目录的组策略实现的
2、本地计算机的组策略来(命令行用secedit)
3、本文通过setacl这个程序加批处理实现。
4、手工操作可以通过regedt32(Windows2000系统,在菜单“安全”下的“权限”)或regedit(Windows2003/XP,在“编辑”菜单下的“权限”)
批处理代码在后面给出。
如果只有users组权限,以上键值默认是只读的,就可以不用这么麻烦了。
三、适用人群
1)、对电脑不是很熟悉,不经常安装/卸载软件的人
2)、喜欢在网上下载软件安装的朋友
3)、每台电脑的操作人员都有管理员权限,这些人的电脑水平又参差不齐的企业
四、还存在的问题
1)、安装杀毒软件,打补丁的时候都可能对那些注册表进行操作,这样就得先恢复权限设置,再安装,安装完成后重新设置。不方便
2)、防不住3721,不知是不是3721的权限太高了(听说3721是通过驱动程序启动的,有ring 0级权限)
3)、只适合Windows2000/XP/2003,其他的就没办法了
4)、只能对付那些简单的病毒和木马
五、批处理源代码
@goto start
==============================================================
名称:反特洛伊木马
功能:
1、禁用自启动项目(run runonce runservices)
2、禁止修改.txt、.com、.exe、.inf、.ini、.bat等等文件关联
3、禁止修改"服务"信息
原理:设置注册表权限为只读
版本修订情况
版本号 修订日期 修订人 修订内容
1.0 2004-12-22 netu0 创建本脚本
:start
@SETLOCAL
@rem 活动代码页设为中文
@chcp 936>nul 2>nul
@echo.
@echo ************************************************************
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #
@echo ************************************************************
:chkOS
@echo.
@ver find "2000" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2000
@ver find "Microsoft Windows [版本 5" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2003
@ver find "XP" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :XP
@echo.
@echo #您的操作系统不是Windows 2000/XP/2003中的一种,无法使用。
@goto quit
@rem 在下面语句插不同系统的不同命令
:2000
@set UpdatePolicy=secedit /refreshpolicy machine_policy>nul 2>nul
@goto Selection
:XP
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection
:2003
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection
:Selection
@rem User Choice
@echo.
@echo 请输入以下选项前面的数字
@echo.
@echo 1: 安装反特洛伊木马保护
@echo 2: 删除反特洛伊木马保护(恢复默认设置)
@echo 3: 查看技术信息
@echo 4: 退出
@echo.
@set /p UserSelection=输入您的选择(1、2、3、4)
@if "%UserSelection%"=="1" goto install
@if "%UserSelection%"=="2" goto uninstall
@if "%UserSelection%"=="3" goto information
@if "%UserSelection%"=="4" goto quit
@rem 输入其他字符
@cls
@goto Selection
:information
@cls
@echo
============================================================
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #功能:
@echo #
@echo # 1、设置注册表自启动项为只读(Run、RunOnce、RunService),
@echo # 防止木马、病毒通过自启动项目启动
@echo # 2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为只读,
@echo # 防止木马、病毒通过文件关联启动
@echo # 3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为只读
@echo # 防止木马、病毒以"服务"方式启动
@echo #
@echo #注意事项:
@echo # 某些安装程序也会用到以上注册表键,请在安装前运行本程序,
@echo # 然后选择2,恢复默认设置。安装完成后,重新运行本程序,
@echo # 然后选择1,实施反特洛伊木马保护
@echo ==============================================================
@echo.
@echo 按任意键,返回选择
@pause>nul 2>nul
@cls
@goto Selection
:install
@set OP=/grant everyone /read /p:no_dont_copy
@goto Doit
:uninstall
@set OP=/revoke everyone /read /p:yes
@goto Doit
:Doit
@echo.
@echo 正在执行操作...
@rem HKLM
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@rem HKCU
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP%>nul 2>nul
@rem USERS
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP%>nul 2>nul
@rem Services
@setacl MACHINE\SYSTEM\CurrentControlSet\Services /registry %OP%>nul 2>nul
@rem CLASSES_ROOT
@setacl CLASSES_ROOT\exefile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inifile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\txtfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\comfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\batfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inffile\shell\open\command /registry %OP%>nul 2>nul
@echo 正在更新帐户策略、审核策略......
@REM [刷新本地安全策略]
@%UpdatePolicy%>nul 2>nul
@echo 帐户策略、审核策略更新完成
:complete
@echo 操作完成
@echo.
@echo.
@echo 请按任意键退出。
@pause>nul 2>nul
:quit
@rem Clear
@del %systemroot%\system32\setacl.exe>nul 2>nul
@del %systemroot%\system32\AntiTrojanhorse.bat>nul 2>nul
@ENDLOCAL
大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?
二、问题的解决
Windows2000/XP/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:
1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动
2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动
3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为everyone只读,防止木马、病毒以"服务"方式启动
注册表键的权限设置可以通过以下方式实现:
1、如果在域环境里,可能通过活动目录的组策略实现的
2、本地计算机的组策略来(命令行用secedit)
3、本文通过setacl这个程序加批处理实现。
4、手工操作可以通过regedt32(Windows2000系统,在菜单“安全”下的“权限”)或regedit(Windows2003/XP,在“编辑”菜单下的“权限”)
批处理代码在后面给出。
如果只有users组权限,以上键值默认是只读的,就可以不用这么麻烦了。
三、适用人群
1)、对电脑不是很熟悉,不经常安装/卸载软件的人
2)、喜欢在网上下载软件安装的朋友
3)、每台电脑的操作人员都有管理员权限,这些人的电脑水平又参差不齐的企业
四、还存在的问题
1)、安装杀毒软件,打补丁的时候都可能对那些注册表进行操作,这样就得先恢复权限设置,再安装,安装完成后重新设置。不方便
2)、防不住3721,不知是不是3721的权限太高了(听说3721是通过驱动程序启动的,有ring 0级权限)
3)、只适合Windows2000/XP/2003,其他的就没办法了
4)、只能对付那些简单的病毒和木马
五、批处理源代码
@goto start
==============================================================
名称:反特洛伊木马
功能:
1、禁用自启动项目(run runonce runservices)
2、禁止修改.txt、.com、.exe、.inf、.ini、.bat等等文件关联
3、禁止修改"服务"信息
原理:设置注册表权限为只读
版本修订情况
版本号 修订日期 修订人 修订内容
1.0 2004-12-22 netu0 创建本脚本
:start
@SETLOCAL
@rem 活动代码页设为中文
@chcp 936>nul 2>nul
@echo.
@echo ************************************************************
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #
@echo ************************************************************
:chkOS
@echo.
@ver find "2000" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2000
@ver find "Microsoft Windows [版本 5" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2003
@ver find "XP" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :XP
@echo.
@echo #您的操作系统不是Windows 2000/XP/2003中的一种,无法使用。
@goto quit
@rem 在下面语句插不同系统的不同命令
:2000
@set UpdatePolicy=secedit /refreshpolicy machine_policy>nul 2>nul
@goto Selection
:XP
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection
:2003
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection
:Selection
@rem User Choice
@echo.
@echo 请输入以下选项前面的数字
@echo.
@echo 1: 安装反特洛伊木马保护
@echo 2: 删除反特洛伊木马保护(恢复默认设置)
@echo 3: 查看技术信息
@echo 4: 退出
@echo.
@set /p UserSelection=输入您的选择(1、2、3、4)
@if "%UserSelection%"=="1" goto install
@if "%UserSelection%"=="2" goto uninstall
@if "%UserSelection%"=="3" goto information
@if "%UserSelection%"=="4" goto quit
@rem 输入其他字符
@cls
@goto Selection
:information
@cls
@echo
============================================================
@echo #
@echo # 欢迎使用反特洛伊木马程序
@echo #
@echo #功能:
@echo #
@echo # 1、设置注册表自启动项为只读(Run、RunOnce、RunService),
@echo # 防止木马、病毒通过自启动项目启动
@echo # 2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为只读,
@echo # 防止木马、病毒通过文件关联启动
@echo # 3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为只读
@echo # 防止木马、病毒以"服务"方式启动
@echo #
@echo #注意事项:
@echo # 某些安装程序也会用到以上注册表键,请在安装前运行本程序,
@echo # 然后选择2,恢复默认设置。安装完成后,重新运行本程序,
@echo # 然后选择1,实施反特洛伊木马保护
@echo ==============================================================
@echo.
@echo 按任意键,返回选择
@pause>nul 2>nul
@cls
@goto Selection
:install
@set OP=/grant everyone /read /p:no_dont_copy
@goto Doit
:uninstall
@set OP=/revoke everyone /read /p:yes
@goto Doit
:Doit
@echo.
@echo 正在执行操作...
@rem HKLM
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@rem HKCU
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP%>nul 2>nul
@rem USERS
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /
registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /
registry %OP%>nul 2>nul
@rem Services
@setacl MACHINE\SYSTEM\CurrentControlSet\Services /registry %OP%>nul 2>nul
@rem CLASSES_ROOT
@setacl CLASSES_ROOT\exefile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inifile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\txtfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\comfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\batfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inffile\shell\open\command /registry %OP%>nul 2>nul
@echo 正在更新帐户策略、审核策略......
@REM [刷新本地安全策略]
@%UpdatePolicy%>nul 2>nul
@echo 帐户策略、审核策略更新完成
:complete
@echo 操作完成
@echo.
@echo.
@echo 请按任意键退出。
@pause>nul 2>nul
:quit
@rem Clear
@del %systemroot%\system32\setacl.exe>nul 2>nul
@del %systemroot%\system32\AntiTrojanhorse.bat>nul 2>nul
@ENDLOCAL
卡巴斯基6.0设置技巧大全
[ 2007-03-25 03:12:01 | 作者: sun ]
俄罗斯著名的反病毒工具卡巴斯基(Kaspersky)近日推出了最新中文版本:卡巴斯基6.0,面对日益复杂的病毒威胁,卡巴斯基带给我们怎样的惊喜呢?
卡巴斯基提供了四重立体防御体系,现在几乎所有类型的安全威胁,卡巴斯基都能进行有效防护:
1.文件保护,最为传统的反病毒功能。
2.邮件保护,邮件病毒已经很普遍,它让你远离邮件病毒。
3.Web反病毒保护,网络作为现今病毒的主要传播源头,该功能的加强非常有必要。
4.主动防御,卡巴斯基6的最大亮点,它会分析安装在你计算机上应用程序的行为,监控系统注册表的改变。这些组件使用启发式分析,助你及时发现隐蔽威胁,以及各种类型的恶意程序。
当然,功能强劲的背后也是有代价的,笔者推荐卡巴斯基6给几个朋友使用,他们不约而同的反应是:这个版本的卡巴斯基相当不好用,主要问题集中在如下几点:
1.资源占用高,卡巴斯基真的让系统变的超级"卡"。
2."病毒"提示太多,实在不胜其烦。
这是怎么回事呢?下面笔者略做解答:
1.资源占用高,软件功能强劲的同时,带来了资源占用的攀升。目前卡巴斯基自有的4种保护功能全开的情况下,资源占用是较高的。
2.提示超多,因为现在卡巴斯基提供了全方位的安全防护,也就是说,部分提示与病毒无关,只能作为杀毒参考,普通用户完全不必理会。
看来,卡巴斯基6是一个需要精心设置的杀毒软件,下面请大家跟笔者来仔细了解卡巴斯基6的优化设置吧。
卡巴斯基安装成功后,会在系统任务栏区显示软件图标,鼠标右键点击图标调用,如图1。
图1 选择"打开 卡巴斯基防病毒软件 6.0"进入软件主界面,如图2。
图2
卡巴斯基的主界面比较简单,它分为成左右两个窗口,左边窗口是导航栏,帮助您快速找到并运行程序模块,执行扫描任务和获取程序的相关支持;右边窗口部分是通知面板界面,它显示你在左边窗口选择组件的相关信息,您也可以通过这个窗口实现病毒扫描、隔离文件、备份文件、管理许可文件等操作。
注:程序中所有带下划线的文字均可点击进入相关设置。
要高效的允许软件,合理设置是必须的,点击主窗口右上"设置"按钮,进入软件设置,下面我们所有的内容均围绕"设置"展开。
卡巴斯基6对于"风险软件"的定义又有了许多变化,分为三种,如图3:
图3
1.病毒,蠕虫,木马以及rootkits程序。
2.间谍软件,广告软件以及拨号软件。
3.潜在的危险软件:远程控制软件,恶作剧程序。
可以看到,对"风险软件"的广泛定义,也意味着系统报警几率的提升,除了第1类是必选之外,2、3类别是否启用,就看大家如何取舍了。
例:笔者在网上下载了某个汉化版软件,众所周知,目前国内许多汉化软件中都捆绑了 "流氓程序",现在它们在卡巴斯基的监控下变得无所遁形。这不,系统自动弹出警告提示:检测到广告程序,原来安装程序中加载有某大名鼎鼎的国产流氓程序,如图4。
图4
如果你怕了这个东西了,恐怕这个汉化软件你也不打算安装了,直接点击"删除"了事。当然,你执意要安装,请点击"添加到信任区域"链接,系统会自动转入"排除内容"对话框,点击"确定"即可。
我们可以自行设置不必由软件监控的项目,点击图3中的"信任区域"按钮进入,如图5。
图5
对于我们来说,被系统定义为危险软件的某些程序,可能不具有恶意功能,我们仍然打算使用它,这时不妨将这些文件添加进排除列表中。在对话框中可以看到目前所有的排除项目,你也可以添加自己定义排除规则。它可以是某个文件夹、文件,甚至是某个特定类型的风险软件定义。
点击"添加"按钮进入"排除内容"对话框,大家可以看到规则描述中的文字都带有下划线,点击进入自定义设置,如图6。
图6
步骤一:点击"对象名:指定",创建排除文件,如图7。
图7
你可以指定文件名,文件夹名或关键字来设置排除保护,当然最简单的还是点击"浏览"按钮,然后浏览选择排除的文件夹、文件即可。不过你还可试试使用关键字的方法:
*.exe,排除所有*.exe的文件。
C:\dir\*.exe,排除在C:\dir\中所有扩展名为.exe的文件。
步骤二:点击"判定类型:指定",创建判定类型,如图8。
图8
可以填写的内容都是软件内部定义的名称,如:not-a-virus:AdWare.Win32.Dudu.c这样的。当然如果你并不明白该如何填写,下面规则适合大家。
not-a-virus*,从扫描中排除存在潜在危险的程序,比如玩笑程序。
*Riskware.*,从扫描中排除风险软件。
*RemoteAdmin.*,从扫描中排除所有远程控制程序。
卡巴斯基提供的四重防御体系中,文件保护、邮件保护、Web反病毒保护都是较传统的反病毒手段,笔者这里就不做介绍了,大家根据自己的需要确定是否启用,笔者重点讲讲"主动防御"的设置。
卡巴斯基的主动防御,简单说就是让电脑免受已知威胁和未知新威胁的感染,它主要由四个项目组成:程序活动分析、程序完整性保护、注册表防护、Office防护,如图9。
图9
"主动防御"既然是防护未知病毒,那么误报也自然难免。虽然程序并没有将可疑程序定义为病毒,但不停的警告用户有可疑程序,足以让普通用户晕菜,如图10。"主动防御"中的"程序活动分析"是警告频繁的根源。
图10
笔者启用"程序活动分析"后,上网短短的二十几分钟,遇到了不下三十次的警告提示。例:运行著名的QQ珊瑚虫版外挂,软件会提示一个危险的进程试图注入另外一个进程,如图11。
图11
对于"主动防御",特别是其中的"程序活动分析"是否启用,笔者的建议是:你有一定的电脑基础,又十分在意安全,那么不妨启动它。如果你对于电脑不是太了解,不停的报警实在让人不知如何是好,那么还是关闭这个功能好啦。
QUOTE:
总结:可以看到,卡巴斯基的设置是相当自由的,丰简由人,你完全可以根据自己的情况作设置。只要大家进行适当的设置,可以说除非发现病毒,软件的提示会变得非常之少,让大家安心上网。
卡巴斯基提供了四重立体防御体系,现在几乎所有类型的安全威胁,卡巴斯基都能进行有效防护:
1.文件保护,最为传统的反病毒功能。
2.邮件保护,邮件病毒已经很普遍,它让你远离邮件病毒。
3.Web反病毒保护,网络作为现今病毒的主要传播源头,该功能的加强非常有必要。
4.主动防御,卡巴斯基6的最大亮点,它会分析安装在你计算机上应用程序的行为,监控系统注册表的改变。这些组件使用启发式分析,助你及时发现隐蔽威胁,以及各种类型的恶意程序。
当然,功能强劲的背后也是有代价的,笔者推荐卡巴斯基6给几个朋友使用,他们不约而同的反应是:这个版本的卡巴斯基相当不好用,主要问题集中在如下几点:
1.资源占用高,卡巴斯基真的让系统变的超级"卡"。
2."病毒"提示太多,实在不胜其烦。
这是怎么回事呢?下面笔者略做解答:
1.资源占用高,软件功能强劲的同时,带来了资源占用的攀升。目前卡巴斯基自有的4种保护功能全开的情况下,资源占用是较高的。
2.提示超多,因为现在卡巴斯基提供了全方位的安全防护,也就是说,部分提示与病毒无关,只能作为杀毒参考,普通用户完全不必理会。
看来,卡巴斯基6是一个需要精心设置的杀毒软件,下面请大家跟笔者来仔细了解卡巴斯基6的优化设置吧。
卡巴斯基安装成功后,会在系统任务栏区显示软件图标,鼠标右键点击图标调用,如图1。
图1 选择"打开 卡巴斯基防病毒软件 6.0"进入软件主界面,如图2。
图2
卡巴斯基的主界面比较简单,它分为成左右两个窗口,左边窗口是导航栏,帮助您快速找到并运行程序模块,执行扫描任务和获取程序的相关支持;右边窗口部分是通知面板界面,它显示你在左边窗口选择组件的相关信息,您也可以通过这个窗口实现病毒扫描、隔离文件、备份文件、管理许可文件等操作。
注:程序中所有带下划线的文字均可点击进入相关设置。
要高效的允许软件,合理设置是必须的,点击主窗口右上"设置"按钮,进入软件设置,下面我们所有的内容均围绕"设置"展开。
卡巴斯基6对于"风险软件"的定义又有了许多变化,分为三种,如图3:
图3
1.病毒,蠕虫,木马以及rootkits程序。
2.间谍软件,广告软件以及拨号软件。
3.潜在的危险软件:远程控制软件,恶作剧程序。
可以看到,对"风险软件"的广泛定义,也意味着系统报警几率的提升,除了第1类是必选之外,2、3类别是否启用,就看大家如何取舍了。
例:笔者在网上下载了某个汉化版软件,众所周知,目前国内许多汉化软件中都捆绑了 "流氓程序",现在它们在卡巴斯基的监控下变得无所遁形。这不,系统自动弹出警告提示:检测到广告程序,原来安装程序中加载有某大名鼎鼎的国产流氓程序,如图4。
图4
如果你怕了这个东西了,恐怕这个汉化软件你也不打算安装了,直接点击"删除"了事。当然,你执意要安装,请点击"添加到信任区域"链接,系统会自动转入"排除内容"对话框,点击"确定"即可。
我们可以自行设置不必由软件监控的项目,点击图3中的"信任区域"按钮进入,如图5。
图5
对于我们来说,被系统定义为危险软件的某些程序,可能不具有恶意功能,我们仍然打算使用它,这时不妨将这些文件添加进排除列表中。在对话框中可以看到目前所有的排除项目,你也可以添加自己定义排除规则。它可以是某个文件夹、文件,甚至是某个特定类型的风险软件定义。
点击"添加"按钮进入"排除内容"对话框,大家可以看到规则描述中的文字都带有下划线,点击进入自定义设置,如图6。
图6
步骤一:点击"对象名:指定",创建排除文件,如图7。
图7
你可以指定文件名,文件夹名或关键字来设置排除保护,当然最简单的还是点击"浏览"按钮,然后浏览选择排除的文件夹、文件即可。不过你还可试试使用关键字的方法:
*.exe,排除所有*.exe的文件。
C:\dir\*.exe,排除在C:\dir\中所有扩展名为.exe的文件。
步骤二:点击"判定类型:指定",创建判定类型,如图8。
图8
可以填写的内容都是软件内部定义的名称,如:not-a-virus:AdWare.Win32.Dudu.c这样的。当然如果你并不明白该如何填写,下面规则适合大家。
not-a-virus*,从扫描中排除存在潜在危险的程序,比如玩笑程序。
*Riskware.*,从扫描中排除风险软件。
*RemoteAdmin.*,从扫描中排除所有远程控制程序。
卡巴斯基提供的四重防御体系中,文件保护、邮件保护、Web反病毒保护都是较传统的反病毒手段,笔者这里就不做介绍了,大家根据自己的需要确定是否启用,笔者重点讲讲"主动防御"的设置。
卡巴斯基的主动防御,简单说就是让电脑免受已知威胁和未知新威胁的感染,它主要由四个项目组成:程序活动分析、程序完整性保护、注册表防护、Office防护,如图9。
图9
"主动防御"既然是防护未知病毒,那么误报也自然难免。虽然程序并没有将可疑程序定义为病毒,但不停的警告用户有可疑程序,足以让普通用户晕菜,如图10。"主动防御"中的"程序活动分析"是警告频繁的根源。
图10
笔者启用"程序活动分析"后,上网短短的二十几分钟,遇到了不下三十次的警告提示。例:运行著名的QQ珊瑚虫版外挂,软件会提示一个危险的进程试图注入另外一个进程,如图11。
图11
对于"主动防御",特别是其中的"程序活动分析"是否启用,笔者的建议是:你有一定的电脑基础,又十分在意安全,那么不妨启动它。如果你对于电脑不是太了解,不停的报警实在让人不知如何是好,那么还是关闭这个功能好啦。
QUOTE:
总结:可以看到,卡巴斯基的设置是相当自由的,丰简由人,你完全可以根据自己的情况作设置。只要大家进行适当的设置,可以说除非发现病毒,软件的提示会变得非常之少,让大家安心上网。
黑客攻击手段揭秘及预防措施全面分析
[ 2007-03-25 03:11:48 | 作者: sun ]
黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。美国大片《黑(骇)客帝国》的热映,使得黑客文化得到了广泛的传播,也许很多人会觉得黑客一词是用来形容那些专门利用电脑搞破坏或恶作剧的家伙,而对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。不管是叫黑客还是骇客,他们根本的区别是:黑客们建设、维护,而骇客们入侵、破坏。
目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。
网络互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。
由此可见,针对系统、网络协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证网络安全、可靠,则必须熟知黑客网络攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保网络运行的安全和可靠。
一、黑客攻击网络的一般过程
1、信息的收集
信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:
(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数。
(2)SNMP协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。
(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。
(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。
(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。
2、系统安全弱点的探测
在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:
(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。
(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。
(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。
二、协议欺骗攻击及其防范措施
1、源IP地址欺骗攻击
许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提。
假设同一网段内有两台主机A和B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。
然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。
要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:
(1)抛弃基于地址的信任策略 阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
(2)使用加密方法 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性、真实性和保密性。
(3)进行包过滤 可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。
2、源路由欺骗攻击
在通常情况下,信息包从起点到终点所走的路是由位于此两点间的路由器决定的,数据包本身只知道去往何处,而不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:
主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。
为了防范源路由欺骗攻击,一般采用下面两种措施:
· 对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
· 在路由器上关闭源路由。用命令no ip source-route。
三、拒绝服务攻击及预防措施
在拒绝服务攻击中,攻击者加载过多的服务将对方资源全部使用,使得没有多余资源供其他用户无法使用。SYN Flood攻击是典型的拒绝服务攻击。
SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、网络可用带宽急剧下降,将无法向其它用户提供正常的网络服务。
为了防止拒绝服务攻击,我们可以采取以下的预防措施:
(1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。
(2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。
(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。
(4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。
总之,要彻底杜绝拒绝服务攻击,最好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的方法是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的方法来查找其攻击源头。这时需要各级部门的协同配合方可有效果。
四、其他网络攻击行为的防范措施
协议攻击和拒绝服务攻击是黑客惯于使用的攻击方法,但随着网络技术的飞速发展,攻击行为千变万化,新技术层出不穷。下面将阐述一下网络嗅探及缓冲区溢出的攻击原理及防范措施。
1、针对网络嗅探的防范措施
网络嗅探就是使网络接口接收不属于本主机的数据。计算机网络通常建立在共享信道上,以太网就是这样一个共享信道的网络,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包。一个能接收所有数据包的机器被称为杂错节点。通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到,用户就可能会遭到损害。
对于网络嗅探攻击,我们可以采取以下措施进行防范:
(1)网络分段 一个网络段包括一组共享低层设备和线路的机器,如交换机,动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的。
(2)加密 一方面可以对数据流中的部分重要信息进行加密,另一方面也可只对应用层加密,然而后者将使大部分与网络和操作系统有关的敏感信息失去保护。选择何种加密方式这就取决于信息的安全级别及网络的安全程度。
(3)一次性口令技术 口令并不在网络上传输而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串并将之返回给服务器。在服务器上利用比较算法进行匹配,如果匹配,连接就允许建立,所有的Challenge和字符串都只使用一次。
(4)禁用杂错节点 安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探。
2、缓冲区溢出攻击及其防范措施
缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。
缓冲区溢出对网络系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点:
(1)程序指针完整性检查 在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。
(2)堆栈的保护 这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。
(3)数组边界检查 所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的方法是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查方法:Compaq C编译器、Jones & Kelly C数组边界检查、Purify存储器存取检查等。
未来的竞争是信息竞争,而网络信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及网络协议的实现,真正做到洞察对方网络系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽最大可能保证网络的安全。
(4)利用公开的工具软件 像审计网络用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个网络或子网进行扫描,寻找安全方面的漏洞。
3、建立模拟环境,进行模拟攻击
根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。
4、具体实施网络攻击
入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。
·关于黑客
黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个瞬鸥傻娜恕?/P>
他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。
另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。
一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。
在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。
但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。
目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。
网络互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。
由此可见,针对系统、网络协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证网络安全、可靠,则必须熟知黑客网络攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保网络运行的安全和可靠。
一、黑客攻击网络的一般过程
1、信息的收集
信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:
(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数。
(2)SNMP协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。
(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。
(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。
(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。
2、系统安全弱点的探测
在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:
(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。
(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。
(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。
二、协议欺骗攻击及其防范措施
1、源IP地址欺骗攻击
许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提。
假设同一网段内有两台主机A和B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。
然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。
要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:
(1)抛弃基于地址的信任策略 阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
(2)使用加密方法 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性、真实性和保密性。
(3)进行包过滤 可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。
2、源路由欺骗攻击
在通常情况下,信息包从起点到终点所走的路是由位于此两点间的路由器决定的,数据包本身只知道去往何处,而不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:
主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。
为了防范源路由欺骗攻击,一般采用下面两种措施:
· 对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
· 在路由器上关闭源路由。用命令no ip source-route。
三、拒绝服务攻击及预防措施
在拒绝服务攻击中,攻击者加载过多的服务将对方资源全部使用,使得没有多余资源供其他用户无法使用。SYN Flood攻击是典型的拒绝服务攻击。
SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、网络可用带宽急剧下降,将无法向其它用户提供正常的网络服务。
为了防止拒绝服务攻击,我们可以采取以下的预防措施:
(1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。
(2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。
(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。
(4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。
总之,要彻底杜绝拒绝服务攻击,最好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的方法是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的方法来查找其攻击源头。这时需要各级部门的协同配合方可有效果。
四、其他网络攻击行为的防范措施
协议攻击和拒绝服务攻击是黑客惯于使用的攻击方法,但随着网络技术的飞速发展,攻击行为千变万化,新技术层出不穷。下面将阐述一下网络嗅探及缓冲区溢出的攻击原理及防范措施。
1、针对网络嗅探的防范措施
网络嗅探就是使网络接口接收不属于本主机的数据。计算机网络通常建立在共享信道上,以太网就是这样一个共享信道的网络,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包。一个能接收所有数据包的机器被称为杂错节点。通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到,用户就可能会遭到损害。
对于网络嗅探攻击,我们可以采取以下措施进行防范:
(1)网络分段 一个网络段包括一组共享低层设备和线路的机器,如交换机,动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的。
(2)加密 一方面可以对数据流中的部分重要信息进行加密,另一方面也可只对应用层加密,然而后者将使大部分与网络和操作系统有关的敏感信息失去保护。选择何种加密方式这就取决于信息的安全级别及网络的安全程度。
(3)一次性口令技术 口令并不在网络上传输而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串并将之返回给服务器。在服务器上利用比较算法进行匹配,如果匹配,连接就允许建立,所有的Challenge和字符串都只使用一次。
(4)禁用杂错节点 安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探。
2、缓冲区溢出攻击及其防范措施
缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。
缓冲区溢出对网络系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点:
(1)程序指针完整性检查 在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。
(2)堆栈的保护 这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。
(3)数组边界检查 所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的方法是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查方法:Compaq C编译器、Jones & Kelly C数组边界检查、Purify存储器存取检查等。
未来的竞争是信息竞争,而网络信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及网络协议的实现,真正做到洞察对方网络系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽最大可能保证网络的安全。
(4)利用公开的工具软件 像审计网络用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个网络或子网进行扫描,寻找安全方面的漏洞。
3、建立模拟环境,进行模拟攻击
根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。
4、具体实施网络攻击
入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。
·关于黑客
黑客(hacker),源于英语动词hack,意为“劈,砍”,引申为“干了一件非常漂亮的工作”。在早期麻省理工学院的校园俚语中,“黑客”则有“恶作剧”之意,尤指手法巧妙、技术高明的恶作剧。在日本《新黑客词典》中,对黑客的定义是“喜欢探索软件程序奥秘,并从中增长了其个瞬鸥傻娜恕?/P>
他们不象绝大多数电脑使用者那样,只规规矩矩地了解别人指定了解的狭小部分知识。”由这些定义中,我们还看不出太贬义的意味。他们通常具有硬件和软件的高级知识,并有能力通过创新的方法剖析系统。“黑客”能使更多的网络趋于完善和安全,他们以保护网络为目的,而以不正当侵入为手段找出网络漏洞。
另一种入侵者是那些利用网络漏洞破坏网络的人。他们往往做一些重复的工作(如用暴力法破解口令),他们也具备广泛的电脑知识,但与黑客不同的是他们以破坏为目的。这些群体成为“骇客”。当然还有一种人兼于黑客与入侵者之间。
一般认为,黑客起源于50年代麻省理工学院的实验室中,他们精力充沛,热衷于解决难题。60、70年代,“黑客”一词极富褒义,用于指代那些独立思考、奉公守法的计算机迷,他们智力超群,对电脑全身心投入,从事黑客活动意味着对计算机的最大潜力进行智力上的自由探索,为电脑技术的发展做出了巨大贡献。正是这些黑客,倡导了一场个人计算机革命,倡导了现行的计算机开放式体系结构,打破了以往计算机技术只掌握在少数人手里的局面,开了个人计算机的先河,提出了“计算机为人民所用”的观点,他们是电脑发展史上的英雄。现在黑客使用的侵入计算机系统的基本技巧,例如破解口令(password cracking),开天窗(trapdoor),走后门(backdoor),安放特洛伊木马(Trojan horse)等,都是在这一时期发明的。从事黑客活动的经历,成为后来许多计算机业巨子简历上不可或缺的一部分。例如,苹果公司创始人之一乔布斯就是一个典型的例子。
在60年代,计算机的使用还远未普及,还没有多少存储重要信息的数据库,也谈不上黑客对数据的非法拷贝等问题。到了80、90年代,计算机越来越重要,大型数据库也越来越多,同时,信息越来越集中在少数人的手里。这样一场新时期的“圈地运动”引起了黑客们的极大反感。黑客认为,信息应共享而不应被少数人所垄断,于是将注意力转移到涉及各种机密的信息数据库上。而这时,电脑化空间已私有化,成为个人拥有的财产,社会不能再对黑客行为放任不管,而必须采取行动,利用法律等手段来进行控制。黑客活动受到了空前的打击。
但是,政府和公司的管理者现在越来越多地要求黑客传授给他们有关电脑安全的知识。许多公司和政府机构已经邀请黑客为他们检验系统的安全性,甚至还请他们设计新的保安规程。在两名黑客连续发现网景公司设计的信用卡购物程序的缺陷并向商界发出公告之后,网景修正了缺陷并宣布举办名为“网景缺陷大奖赛”的竞赛,那些发现和找到该公司产品中安全漏洞的黑客可获1000美元奖金。无疑黑客正在对电脑防护技术的发展作出贡献。
识别文本文件型邮件附件的欺骗方法
[ 2007-03-25 03:10:40 | 作者: sun ]
在众多媒体的宣传报道下,今天的我们都知道了不能轻易打开电子邮件里的可执行文件类的附件,但是显然那些破坏活动的制造者们也看了那些警告防范的文章,他们开始玩一些新的把戏,让您以为那些附件只不过是没有危险的文本文件或是图像文件等就是其手段之一。由于目前大多数人使用的是windows系列操作系统,windows的默认设置是隐藏已知文件扩展名的,而当你去点击那个看上去很友善的文件,那些破坏性的东西就跳出来了。您可能说这我早就知道了,那么下面讲述的.txt文件的新欺骗方法及原理您知道吗?
假如您收到的邮件附件中有一个看起来是这样的文件:QQ靓号放送.txt,您是不是认为它肯定是纯文本文件?我要告诉您,不一定!它的实际文件名可以是QQ靓号放送.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}。{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}在注册表里是HTML文件关联的意思。但是存成文件名的时候它并不会显现出来,您看到的就是个.txt文件,这个文件实际上等同于QQ靓号放送.txt.html。那么直接打开这个文件为什么有危险呢?请看如果这个文件的内容如下:
您可能以为它会调用记事本来运行,可是如果您双击它,结果它却调用了HTML来运行,并且自动在后台开始格式化d盘,同时显示“Windows is configuring the system。Plase do not interrupt this process。”这样一个对话框来欺骗您。您看随意打开附件中的.txt的危险够大了吧?
欺骗实现原理:当您双击这个伪装起来的.txt时候,由于真正文件扩展名是.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。
文件内容中的第2和第3行是它能够产生破坏作用的关键所在。其中第3行是破坏行动的执行者,在其中可以加载带有破坏性质的命令。那么第2行又是干什么的呢?您可能已经注意到了第2行里的“WSCript”,对!就是它导演了全幕,它是实际行动总指挥。
WScript全称Windows Scripting Host,它是Win98新加进的功能, 是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于c:\WINDOWS下,正是它使得脚本可以被执行,就象执行批处理一样。在Windows Scripting Host脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。
下面我们通过一个小例子来说明Windows Scripting Host功能是如何的强大,使用又是怎样的简单,被有心人利用后的威胁有多大。例如有内容如下的*.vbs文件:
Set so=CreateObject("Scripting.FileSystemObject")
so.GetFile(c:\windows\winipcfg.exe).Copy("e:\winipcfg.exe")
就是这么两行就可以拷贝文件到指定地点。第一行是创建一个文件系统对象,第二行前面是打开这个脚本文件,c:\windows\winipcfg.exe指明是这个程序本身,是一个完整的路径文件名。GetFile函数获得这个文件,Copy函数将这个文件复制到e盘根目录下。这也是大多数利用VBscript编写的病毒的一个特点。从这里可以看出,禁止了FileSystemObject这个对象就可以很有效的控制这种病毒的传播。用regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。
欺骗识别及防范方法:这种带有欺骗性质的.txt文件显示出来的并不是文本文件的图标,它显示的是未定义文件类型的标志,这是区分它与正常.txt文件的最好方法。识别的另一个办法是在“按WEB页方式”查看时在“我的电脑”左面会显示出其文件名全称,此时可以看到它不是真正的txt文件。问题是很多初学者经验不够,老手也可能因为没留意而打开它,在这里再次提醒您,注意您收到的邮件中附件的文件名,不仅要看显示出来的扩展名,还要注意其实际显示的图标是什么。对于附件中别人发来的看起来是.txt的文件,可以将它下载后用鼠标右键选择“用记事本打开”,这样看会很安全。
好了,现在您知道.txt文件也不能轻易打开了吧?您知道了?那我写这篇文章的目的就达到了!
挑战黑客入侵 安全虚拟主机配置
[ 2007-03-25 03:10:25 | 作者: sun ]
注入漏洞、上传漏洞、弱口令漏洞等问题随处可见。跨站攻击,远程控制等等是再老套不过了的话题。有些虚拟主机管理员不知是为了方便还是不熟悉配置,干脆就将所有的网站都放在同一个目录中,然后将上级目录设置为站点根目录。有些呢,则将所有的站点的目录都设置为可执行、可写入、可修改。有些则为了方便,在服务器上挂起了QQ,也装上了BT。更有甚者,竟然把Internet来宾帐号加入到Administrators组中!汗……!普通的用户将自己的密码设置为生日之类的6位纯数字,这种情况还可以原谅,毕竟他们大部分都不是专门搞网络研究的,中国国民的安全意识提高还需要一段时间嘛,但如果是网络管理员也这样,那就怎么也有点让人想不通了。网络安全问题日益突出,最近不又有人声称“万网:我进来玩过两次了!”。这么有名气的网络服务商,也难免一逃啊!网站注入漏洞是最近还频频在报刊杂志上曝光的高校入侵……一句话,目前很大部分的网站安全状况让人担忧!
这里就我个人过去的经历和大家一同来探讨有关安全虚拟主机配置的问题。以下以建立一个站点cert.ecjtu.jx.cn为例,跟大家共同探讨虚拟主机配置问题。
一、建立Windows用户
为每个网站单独设置windows用户帐号cert,删除帐号的User组,将cert加入Guest用户组。将用户不能更改密码,密码永不过期两个选项选上。
二、设置文件夹权限
1、设置非站点相关目录权限
Windows安装好后,很多目录和文件默认是everyone可以浏览、查看、运行甚至是可以修改 的。这给服务器安全带来极大的隐患。这里就我个人的一些经验提一些在入侵中较常用的目录。
C:\;D:\;……
C:\perl
C:\temp\
C:\Mysql\
c:\php\
C:\autorun.inf
C:\Documents and setting\
C:\Documents and Settings\All Users\「开始」菜单\程序\
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
C:\Documents and Settings\All Users\Documents\
C:\Documents and Settings\All Users\Application Data\Symantec\
C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere
C:\WINNT\system32\config\
C:\winnt\system32\inetsrv\data\
C:\WINDOWS\system32\inetsrv\data\
C:\Program Files\
C:\Program Files\Serv-U\
c:\Program Files\KV2004\
c:\Program Files\Rising\RAV
C:\Program Files\RealServer\
C:\Program Files\Microsoft SQL server\
C:\Program Files\Java Web Start\
以上这些目录或文件的权限应该作适当的限制。如取消Guests用户的查看、修改和执行等权限。由于篇幅关系,这里仅简单提及。
2、设置站点相关目录权限:
A、设置站点根目录权限:将刚刚建立的用户cert给对应站点文件夹,假设为D:\cert设置相应的权限:Adiministrators组为完全控制;cert有读取及运行、列出文件夹目录、读取,取消其它所有权限。
B、设置可更新文件权限:经过第1步站点根目录文件夹权限的设置后,Guest用户已经没有修改站点文件夹中任何内容的权限了。这显然对于一个有更新的站点是不够的。这时就需要对单独的需更新的文件进行权限设置。当然这个可能对虚拟主机提供商来说有些不方便。客户的站点的需更新的文件内容之类的可能都不一样。这时,可以规定某个文件夹可写、可改。如有些虚拟主机提供商就规定,站点根目录中uploads为web可上传文件夹,data或者database为数据库文件夹。这样虚拟主机服务商就可以为客户定制这两个文件夹的权限。当然也可以像有些做的比较好的虚拟主机提供商一样,给客户做一个程序,让客户自己设定。可能要做到这样,服务商又得花不小的钱财和人力哦。
三、配置IIS
基本的配置应该大家都会,这里就提几个特殊之处或需要注意的地方。
1、主目录权限设置:这里可以设置读取就行了。写入、目录浏览等都可以不要,最关键的就是目录浏览了。除非特殊情况,否则应该关闭,不然将会暴露很多重要的信息。这将为黑客入侵带来方便。其余保留默认就可以了。
2、应用程序配置:在站点属性中,主目录这一项中还有一个配置选项,点击进入。在应用程序映射选项中可以看到,默认有许多应用程序映射。将需要的保留,不需要的全部都删除。在入侵过程中,很多程序可能限制了asp,php等文件上传,但并不对cer,asa等文件进行限制,如果未将对应的应用程序映射删除,则可以将asp的后缀名改为cer或者asa后进行上传,木马将可以正常被解析。这也往往被管理员忽视。另外添加一个应用程序扩展名映射,可执行文件可以任意选择,后缀名为.mdb。这是为了防止后缀名为mdb的用户数据库被下载。
3、目录安全性设置:在站点属性中选择目录安全性,点击匿名访问和验证控制,选择允许匿名访问,点击编辑。如下图所示。删除默认用户,浏览选择对应于前面为cert网站设定的用户,并输入密码。可以选中允许IIS控制密码。这样设定的目的是为了防止一些像站长助手、海洋等木马的跨目录跨站点浏览,可以有效阻止这类的跨目录跨站入侵。
4、可写目录执行权限设置:关闭所有可写目录的执行权限。由于程序方面的漏洞,目前非常流行上传一些网页木马,绝大部分都是用web进行上传的。由于不可写的目录木马不能进行上传,如果关闭了可写目录的执行权限,那么上传的木马将不能正常运行。可以有效防止这类形式web入侵。
5、处理运行错误:这里有两种方法,一是关闭错误回显。IIS属性――主目录――配置――应用程序调试――脚本错误消息,选择发送文本错误信息给客户。二是定制错误页面。在IIS属性――自定义错误信息,在http错误信息中双击需要定制的错误页面,将弹出错误映射属性设置框。消息类型有默认值、URL和文件三种,可以根据情况自行定制。这样一方面可以隐藏一些错误信息,另外一方面也可以使错误显示更加友好。
四、配置FTP
Ftp是绝大部分虚拟主机提供商必备的一项服务。用户的站内文件大部分都是使用ftp进行上传的。目前使用的最多的ftp服务器非Serv-U莫属了。这里有几点需要说明一下。
1、管理员密码必须更改
如果入侵爱好者们肯定对Serv-U提权再熟悉莫过了。这些提权工具使用的就是Serv-U默认的管理员的帐号和密码运行的。因为Serv-U管理员是以超级管理员的身份运行的。如果没有更改管理员密码,这些工具使用起来就再好用不过了。如果更改了密码,那这些工具要想正常运行,那就没那么简单喽。得先破解管理员密码才行。
2、更改安装目录权限
Serv-U的默认安装目录都是everyone可以浏览甚至可以修改的。安装的时候如果选择将用户信息存储在ini文件中,则可以在ServUDaemon.ini得到用户的所有信息。如果Guests有修改权限,那么黑客就可以顺利建立具有超级权限的用户。这可不是一件好事。所以在安装好Serv-U之后,得修改相应的文件夹权限,可以取消Guests用户的相应权限。
五、命令行相关操作处理
1、禁止guests用户执行com.exe:
我们可以通过以下命令取消guests执行com.exe的权限cacls C:\WINNT\system32\Cmd.exe /e /d guests。
2、禁用Wscript.Shell组件:
Wscript.Shell可以调用系统内核运行DOS基本命令。可以通过修改注册表,将此组件改名,来防止此类木马的危害。HKEY_CLASSES_ROOT\Wscript.Shell\ 及HKEY_CLASSES_ROOT\Wscript.Shell.1\改名为其它的名字。将两项clsid的值也改一下HKEY_CLASSES_ROOT\Wscript.Shell\CLSID\项目的值和HKEY_CLASSES_ROOT\Wscript.Shell.1\CLSID\项目的值,也可以将其删除。
3、禁用Shell.Application组件
Shell.Application也可以调用系统内核运行DOS基本命令。可以通过修改注册表,将此组件改名,来防止此类木马的危害。Shell.Application.1\ 改名为其它的名字。将HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值更改或删除。同时,禁止Guest用户使用shell32.dll来防止调用此组件。使用命令:
cacls C:\WINNT\system32\shell32.dll /e /d guests
4、FileSystemObject组件
FileSystemObject可以对文件进行常规操作可以通过修改注册表,将此组件改名,来防止此类木马的危害。对应注册表项为HKEY_CLASSES_ROOT\scripting.FileSystemObject\。可以禁止guests用户使用或直接将其删除。考虑到很多的上传都会使用到这个组件,为了方便,这里不建议更改或删除。
5、禁止telnet登陆
在C:\WINNT\system32目录下有个login.cmd文件,将其用记事本打开,在文件末尾另取一行,加入exit保存。这样用户在登陆telnet时,便会立即自动退出。
注:以上修改注册表操作均需要重新启动WEB服务后才会生效。
六、端口设置
端口窗体底端就是门,这个比喻非常形象。如果我们服务器的所有端口都开放的话,那就意味着黑客有好多门可以进行入侵。所以我个人觉得,关闭未使用的端口是一件重要的事情。在控制面板――网络与拨号连接――本地连接――属性――Internet协议(TCP/IP)属性,点击高级,进入高级TCP/IP设置,选择选项,在可选的设置中选择TCP/IP筛选,启用TCP/IP筛选。添加需要的端口,如21、80等,关闭其余的所有未使用的端口。
七、关闭文件共享
系统默认是启用了文件共享功能的。我们应给予取消。在控制面板――网络和拨号连接――本地连接――属性,在常规选项种,取消Microsoft 网络文件和打印共享。服务最少原则是保障安全的一项重要原则。非必要的服务应该给予关闭。系统服务可以在控制面板――管理工具――服务中进行设定。
八、关闭非必要服务
类似telnet服务、远程注册表操作等服务应给予禁用。同时尽可能安装最少的软件。这可以避免一些由软件漏洞带来的安全问题。有些网管在服务器上安装QQ,利用服务器挂QQ,这种做法是极度错误的。
九、关注安全动态及时更新漏洞补丁
更新漏洞补丁对于一个网络管理员来说是非常重要的。更新补丁,可以进一步保证系统的安全。
HKEY_CLASSES_ROOT\Shell.Application\ 及HKEY_CLASSES_ROOT\
DOS下清除熊猫的简单方法
[ 2007-03-25 03:10:10 | 作者: sun ]
昨晚电脑不幸中了毒,症状为每个盘都有个熊猫图标的setup.exe和autorun.inf文件,
c:\windows\system32\drivers里面有个spoclsv.exe文件。用删掉了过两三秒又自动生成。用
ctrl+alt+del键打开资源管理器,刚打开就被关掉了,然后发现防火墙被关了,卡巴也打不开,想装木马清道夫也是刚启动就自动关闭了。上网查了下,这是个蠕虫病毒,会盗取帐号什么的。
据金山毒霸反病毒专家介绍,“熊猫烧香”蠕虫不但可以对用户系统进行破坏,导致大量应用软件无法使用,而且还可删除扩展名为gho的所有文件,造成用户的系统备份文件丢失,从而无法进行系统恢复;同时该病毒还能终止大量反病毒软件进程,大大降低用户系统的安全性。 据金山毒霸反病毒专家介绍,“熊猫烧香”蠕虫不但可以对用户系统进行破坏,导致大量应用软件无法使用,而且还可删除扩展名为gho的所有文件,造成用户的系统备份文件丢失,从而无法进行系统恢复;同时该病毒还能终止大量反病毒软件进程,大大降低用户系统的安全性。
等一下在后面贴出来,这里只是介绍我的dos操作的简单快速清除的方法:(爽,dos原来这么有用的。)
一、再任一个盘中,建立一个bat文件,内容如下:(我的电脑有6个盘c,d,e,f,g,h.故要删除这六个盘的病毒文件。这个开你电脑的情况)
attrib -h -s -r d:\autorun.inf
attrib -h -s -r d:\setup.exe
del d:\autorun.inf
del d:\setup.exe
md d:\setup.exe
attrib -h -s -r c:\autorun.inf
attrib -h -s -r c:\setup.exe
del c:\autorun.inf
del c:\setup.exe
md c:\setup.exe
attrib -h -s -r e:\autorun.inf
attrib -h -s -r e:\setup.exe
del e:\autorun.inf
del e:\setup.exe
md e:\setup.exe
attrib -h -s -r f:\autorun.inf
attrib -h -s -r f:\setup.exe
del f:\autorun.inf
del f:\setup.exe
md f:\setup.exe
attrib -h -s -r g:\autorun.inf
attrib -h -s -r g:\setup.exe
del g:\autorun.inf
del g:\setup.exe
md g:\setup.exe
attrib -h -s -r h:\autorun.inf
attrib -h -s -r h:\setup.exe
del h:\autorun.inf
del h:\setup.exe
md h:\setup.exe
del c:\windows\system32\drivers\spoclsv.exe
运行dat文件后setup.exe,autorun.inf成功删掉。
但c:\windows\system32\drivers下 的spoclsv.exe删不掉,估计是在运行当中,但直接在资源管理器关闭又行不通,管理器打不开阿。所以进行下一步,在dos下关闭再删除,下面是操作过程。丝毫没改动过的。二、开始-〉运行->cmd->确定,打开cmd
c:\documents and settings\administrator>d:
d:\>attrib -h -r -s autorun.inf
d:\>del autorun.inf
找不到 d:\autorun.inf
d:\>dir
d:\>attrib -h -r autorun.inf
未重设系统文件 - d:\autorun.inf
d:\>attrib -h -r -s autorun.inf
d:\>tasklist /svc
d:\>attirb -h -r -s autorun.inf
d:\>tasklist /svc /////用来查看系统打开进程。显示图像名 和 pid服务号,但copy不出来,sorry了。
d:\ntsd -c q -p 133440 ////////133440为病毒程序spoclsv.exe的pid号。用来关掉该病毒进程。
由于我对命令记得不太清楚了才进行了这么多操作,其实只要这几步就行了:
c:\documents and settings\administrator
c:\documents and settings\administrator cd d:\ //////////进入d盘杀安全点。
d:\>attrib -h -r -s autorun.inf
d:\>tasklist /svc /////用来查看系统打开进程。显示 图像名 和 pid服务号,但copy不出来,sorry了。
d:\ntsd -c q -p 133440 ////////133440为病毒程序spoclsv.exe的pid号。用来关掉该病毒进程。
三、成功关闭spoclsv.exe,打开c:\windows\system32\drivers,删掉spoclsv.exe。呵呵,大功告成!这是你可以随便打开杀毒软件清除残余的注册表信息了。杀完毒后就可以吧各个盘上由于运行上面建立的bat文件生成的setup。exe文件夹删掉了。
c:\windows\system32\drivers里面有个spoclsv.exe文件。用删掉了过两三秒又自动生成。用
ctrl+alt+del键打开资源管理器,刚打开就被关掉了,然后发现防火墙被关了,卡巴也打不开,想装木马清道夫也是刚启动就自动关闭了。上网查了下,这是个蠕虫病毒,会盗取帐号什么的。
据金山毒霸反病毒专家介绍,“熊猫烧香”蠕虫不但可以对用户系统进行破坏,导致大量应用软件无法使用,而且还可删除扩展名为gho的所有文件,造成用户的系统备份文件丢失,从而无法进行系统恢复;同时该病毒还能终止大量反病毒软件进程,大大降低用户系统的安全性。 据金山毒霸反病毒专家介绍,“熊猫烧香”蠕虫不但可以对用户系统进行破坏,导致大量应用软件无法使用,而且还可删除扩展名为gho的所有文件,造成用户的系统备份文件丢失,从而无法进行系统恢复;同时该病毒还能终止大量反病毒软件进程,大大降低用户系统的安全性。
等一下在后面贴出来,这里只是介绍我的dos操作的简单快速清除的方法:(爽,dos原来这么有用的。)
一、再任一个盘中,建立一个bat文件,内容如下:(我的电脑有6个盘c,d,e,f,g,h.故要删除这六个盘的病毒文件。这个开你电脑的情况)
attrib -h -s -r d:\autorun.inf
attrib -h -s -r d:\setup.exe
del d:\autorun.inf
del d:\setup.exe
md d:\setup.exe
attrib -h -s -r c:\autorun.inf
attrib -h -s -r c:\setup.exe
del c:\autorun.inf
del c:\setup.exe
md c:\setup.exe
attrib -h -s -r e:\autorun.inf
attrib -h -s -r e:\setup.exe
del e:\autorun.inf
del e:\setup.exe
md e:\setup.exe
attrib -h -s -r f:\autorun.inf
attrib -h -s -r f:\setup.exe
del f:\autorun.inf
del f:\setup.exe
md f:\setup.exe
attrib -h -s -r g:\autorun.inf
attrib -h -s -r g:\setup.exe
del g:\autorun.inf
del g:\setup.exe
md g:\setup.exe
attrib -h -s -r h:\autorun.inf
attrib -h -s -r h:\setup.exe
del h:\autorun.inf
del h:\setup.exe
md h:\setup.exe
del c:\windows\system32\drivers\spoclsv.exe
运行dat文件后setup.exe,autorun.inf成功删掉。
但c:\windows\system32\drivers下 的spoclsv.exe删不掉,估计是在运行当中,但直接在资源管理器关闭又行不通,管理器打不开阿。所以进行下一步,在dos下关闭再删除,下面是操作过程。丝毫没改动过的。二、开始-〉运行->cmd->确定,打开cmd
c:\documents and settings\administrator>d:
d:\>attrib -h -r -s autorun.inf
d:\>del autorun.inf
找不到 d:\autorun.inf
d:\>dir
d:\>attrib -h -r autorun.inf
未重设系统文件 - d:\autorun.inf
d:\>attrib -h -r -s autorun.inf
d:\>tasklist /svc
d:\>attirb -h -r -s autorun.inf
d:\>tasklist /svc /////用来查看系统打开进程。显示图像名 和 pid服务号,但copy不出来,sorry了。
d:\ntsd -c q -p 133440 ////////133440为病毒程序spoclsv.exe的pid号。用来关掉该病毒进程。
由于我对命令记得不太清楚了才进行了这么多操作,其实只要这几步就行了:
c:\documents and settings\administrator
c:\documents and settings\administrator cd d:\ //////////进入d盘杀安全点。
d:\>attrib -h -r -s autorun.inf
d:\>tasklist /svc /////用来查看系统打开进程。显示 图像名 和 pid服务号,但copy不出来,sorry了。
d:\ntsd -c q -p 133440 ////////133440为病毒程序spoclsv.exe的pid号。用来关掉该病毒进程。
三、成功关闭spoclsv.exe,打开c:\windows\system32\drivers,删掉spoclsv.exe。呵呵,大功告成!这是你可以随便打开杀毒软件清除残余的注册表信息了。杀完毒后就可以吧各个盘上由于运行上面建立的bat文件生成的setup。exe文件夹删掉了。