图3-8 非对称密钥体系的加密与解密
RSA算法的原理是数论的欧拉原理:寻求两个大的素数容易,将它们的乘积分解开
及其困难,具体做法是:选择两个100位的十进制大素数p和q,计算出它们的积N=pq,将N公开;再计算出N的欧拉函数,Φ(N)=(p-1)*(q-1),定义Φ(N)为小于等于N且与N
互素的数个数;然后,用户从[0, Φ(N)-1] 中任选一个与Φ(N)互素的数e,同时根据下式计
算出另一个数d: ed=1 modΦ(N)这样就产生了一对密钥:pk=(e,N),sk=(d,N).若用整数X表示明文,Y表示密文,则有,加密:Y= Xe modN;解密:X=Ye modN。
3.4.4数据信封技术
数字信封中采用了单钥密码体制和公钥密码体制。信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码称之为数字信封。信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,再利用对称密码解密所得到的信息,这样就保证了数据传输的真实性和完整性,如图3-9所示。
图3-9 数据信封技术
20
3.5 反病毒技术
3.5.1 计算机病毒的介绍
计算机病毒就是能够通过某种途径潜伏在计算机存储介质里,当达到某种条件时,即被激活的具有对计算机资源进行破坏作用的一组程序或指令集合。
随着计算机技术的发展尤其是网络技术的普及,计算机病毒进入了一个新的阶段---网络蠕虫病毒暴发阶段,2001至今,网络蠕虫已经成为网络病毒的主流。
3.5.2 计算机病毒的组成与分类
经对目前出现的计算机病毒的分析发现,所有计算机病毒都是由三部分组成的,即病毒引导模块、病毒传染模块和病毒表现模块。计算机病毒程序组成如图3-10所示。
计算机病毒程序 病毒引导模块
病毒传染模块 病毒表现模块
图3-10 计算机病毒程序组成
(1)引导模块:负责将病毒引导到内存,并向系统中请求一定的存储空间,对相应的存储空间实施保护,以防止其他程序覆盖,并且修改系统的一些功能入口,在这些入口处引导病毒传染模块和病毒实现模块。
(2)传染模块:它是整个病毒程序的核心,传染模块又分为两部分:判断部分、传染部分。
(3)表现模块:包括病毒触发条件判断和具体表现。
而从技术来分可以分为:网络病毒、邮件病毒、文件型病毒、宏病毒、引导型病毒、变体病毒、混合型病毒、其它类型病毒(java,pdf,图文病毒)
[19]
。
3.5.3 病毒的检测和清除
想要知道自己的计算机中是否染有病毒,可以根据以下几种情况来做简单判断。 (1)计算机执行速度越来越慢。
(2)系统出现莫名其妙的死机或者重启。
21
(3)网络速度变慢或者出现一些陌生的网络连接。 (4)文件夹无缘无故多了一些文件。 (5)突然出现蓝屏或无端黑屏等。
除此以外,还可以用几种专业手段来检查: (1)比较法
用原始备份与被检测的引导扇区或被监测的文件进行比较,比较时可以靠打印的代码清除。
(2)搜索法
利用每一种计算机病毒体含有的特定字符串对被检测的对象进行扫描。如果在被检测对象内部发现了某一种特定字符串,就表明发现了该字符串所代表的计算机病毒。
(3)分析法
计算机病毒检测分析法是防杀计算机病毒工作中不可缺少的重要技术,需要专门人员对各种病毒详尽地分析。
(4)人工智能陷阱技术和宏病毒陷阱技术
人工智能陷阱是一种监测计算机行为的常驻或扫描技术。它将所有的计算机病毒所产生的行为归纳起来,一旦发现内存中的程序有任何不当的行为,系统就会有所警觉,并告知使用者;宏病毒陷阱技术是结合了搜索法和人工智能陷阱技术,依行为模式来侦测已知及未知的宏病毒。
(5)软件仿真扫描法
软件仿真技术是成功地仿真CPU执行,在DOS虚拟机下伪执行计算机病毒程序,安全并确定地将其解密使其显露本来的面目,再加以扫描。
22
第4章 网络安全防范
4.1 telnet入侵防范
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协
议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
telnet可能是黑客常用的攻击方式,我们可以通过修改telnet服务端口,停用telnet服务,甚至把telnet控制台管理工具删除。
具体方法如下:
通过修改telnet端口来防止黑客轻易入侵在命令提示符窗口中输入 Tlntadmn config port=168命令,回车后即可将telnet端口修改成168,如图4-1所示。
图4-1 修改telnet服务端口
如果将telnet的最大连接数设为0,这样就可以让一般的黑客豪无办法,设置方法同上。如果根本不需要telnet,完全可以把它删掉,因为该服务实在是太危险了,直接把系统安装目录中的system32中的Tlntadmn.exe删除掉,这样黑客想用telnet入侵就会非常困难了
[20]
。
4.2 防止Administrator账号被破解
Windows 2000/xp/2003系统的Administrator账号是不能被停用的,也不能设置安全策
23
略,这样黑客就可以一遍又一遍地尝试这个账号的密码,直到被破解,为了防止这种侵入,我们可以把Administrator账号更名:在“组策略”窗口中,依次展开“本地计算机策略”/“计算机配置”/“windows设置”/“安全设置”/“本地策略”/“安全选项”功能分支。重命名系统管理员帐户“属性”对话框,在此输入新的管理员名称,尽量把它为普通用户,然后另建一个超过10位的超级复杂密码,并对该账号启用审核,这样即使黑客费力破解到密码也杀一无所获。另外为了防止黑客通过Guest账号登录计算机,可以在“组策略”中删除Guest账号。
4.3 防止账号被暴力破解
黑客攻击入侵,大部分利用漏洞,通过提升权限成为管理员,这一切都跟用户账号
紧密相连。
防范方法:通过修改注册表来禁用空用户连接。在注册表编辑器中找到如下子键 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\LSA,在其窗口新建一个名为RestrictAnonymous的DWORD值将其设为1,如图4-2所示。
图4-2 禁用空用户连接
24