恶意代码是指没有作用却会带来危险的代码。通常把未经授权便干扰或破坏计算机系统、网络功能的程序或代码(一组指令)称之为恶意程序。恶意程序包括计算机病毒、木马、蠕虫等。详见《网络安全之恶意代码》
恶意代码的防范,不是单靠一种或几种技术就能解决的,而要靠技术、管理以及用户安全意识的共同防范,只有三者相结合才能最大程度地防止恶意代码对系统和用户信息的破坏。
目前,恶意代码防范方法主要分为两方面:基于主机的恶意代码防范方法和基于网络的恶意代码防范方法。
一、主机恶意代码防范
基于主机的恶意代码防范方法是目前检测恶意代码最常用的技术,具体分为:基于特征的扫描技术、校验和检测法和安全操作系统对恶意代码的防范等。
1、基于特征的扫描技术
基于特征的扫描技术的基本思想是模式匹配。在扫描程序工作之前,必须先建立恶意代码特征库,根据特征库中的特征串,在所有被扫描文件中进行匹配查找。用户通过更新特征库,查找最新的恶意代码版本。
2、校验和检测法
校验和检测法是一种保护信息资源完整性的控制技术,例如Hash值、循环冗余码等。只要文件内部有一个比特发生了变化,校验和的值就会改变。未被恶意代码感染的系统首先会生成检测数据,然后周期性地使用校验和检测文件的改变情况。
虽然校验和检测法可以检测未知恶意代码对文件的修改,但同样也存在不足:
(1)校验和检测法实际上不能检测文件是否被恶意代码感染,它只是查找变化。即使发现恶意代码造成了文件的改变,校验和检测法也无法将恶意代码消除,也不能判断文件究竟被何种恶意代码感染。
(2)恶意代码可以采用多种手段绕开校验和检测法,使之文件改变难以被检测。
3、安全操作系统对恶意代码的防范
在恶意代码入侵中,获得操作系统控制权,使操作系统为它分配系统资源是必经步骤。
操作系统的安全机制包括访问控制机制、主体标识与鉴别、安全审计、内存存取保护、文件系统保护、信息通路安全保护机制、最小特权管理、安全配置等。
(1)访问控制机制:操作系统的访问控制是操作系统安全控制保护中重要的一环,在身份识别的基础上,根据身份对提出的资源访问请求加以控制。
(2)主体标识与鉴别:标识与鉴别机制用于保证只有合法的用户才能存取系统中的资源,发生在用户登录系统时,用于识别每个用户的真实身份。标识鉴别机制的设计和实现需要达到两个方面的要求:协助安全操作系统实现新增的安全功能和安全策略,包括增加用户属性,并通过扩展标识鉴别命令来支持这些属性;
(3)安全审计:对系统中有关安全的活动进行记录、检查、及审核,目的在于检测和阻止非法用户对计算机系统的入侵,并显示合法用户的误操作。
(4)内存存取保护:防止主存储器中有限个程序的相互干扰和保护其中有限区域内的信息安全,限定各程序在规定的主存区域内,称为存储保护,内存存取保护是安全操作系统中一个最基本的要求,也是最基本的安全机制,主要是保护用户在存储器中的数据,在操作系统设计之初,针对内存通常是分块管理的,现在多采用基于页的存储管理方式。
(5)文件系统保护:文件系统是文件命名、存储和组织的总体结构,是计算机系统和网络的重要资源,文件系统的安全保护措施主要在分区、文件系统的安全加载、文件共享安全和文件系统的数据备份这四个方面。
(6)信息通路安全保护机制:即对信息在操作系统中经过的道路的保护,涉及两个方面:一方面对显式信息道路的保护,防止非法信息经过显式道路;另一方面,要堵住隐蔽的新系统了,防止恶意用户通过隐蔽信道进出。
(7)最小特权管理:最小特权是指在完成某种操作时所赋予系统中每个主体必不可少的特权。
(8)安全配置:做好操作系统安全设置,主要包括以下几个方面:操作系统安全策略、关闭不必要的服务、关闭不必要的端口、开启审核策略、开启密码策略、开启账户策略、备份敏感文件、不显示上次登陆名、禁止建立空连接和下载最新补丁等。
二、网络恶意代码防范
由于恶意代码具有相当的复杂性和行为不确定性,恶意代码的防范需要多种技术综合应用。基于网络的恶意代码防范方法包括:恶意代码检测防御和恶意代码预警。
其中常见的恶意代码检测防御包括:基于GRIDS的恶意代码检测、基于PLD硬件的检测防御、基于Honey Pot的检测防御和基于CCDC的检测防御。
1、基于GRIDS的恶意代码检测
著名的GRIDS主要针对大规模网络攻击和自动化入侵设计的,它收集计算机和网络活动的数据以及它们之间的连接,在预先定义的模式库的驱动下,将这些数据构建成网络活动行为来表征网络活动结构上的因果关系。
2、基于PLD硬件的检测防御
华盛顿大学应用研究室的John W. Lockwood、James Moscola1和Matthew Kulig等提出了一种采用可编程逻辑设备(PLD,Programmable Logic Devices)对抗恶意代码的防范系统。PLD由三个相互内联部件DED(Data Enabling Device)、CMS(Content Matching Server)和RTP(Regional Transaction Processor)组成。
3、基于Honey Pot的检测防御
Honey Pot,即蜜罐技术,其主要功能是对系统中所以操作和行为进行监视和记录,可以使网络安全专家通过精心的伪装,是的攻击者在进入到目标西后仍不知道自己的行为已经处于系统的监视之下。Honey Pot的设计初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,用于防范网络黑客攻击。
4、基于CCDC的检测防御
由于主动式传播恶意代码具有生物病毒特征,美国安全专家提议建立CCDC(The Cyber Centers for Disease Control)来对抗恶意代码攻击。
CCDC能够实现对大规模恶意代码入侵的预警、防御和阻断,但CCDC也存在一些问题:
(1)CCDC是一个规模庞大的防范体系,要考虑体系运转的代价;
(2)由于CCDC体系的开放性,CCDC自身的安全问题不容忽视;
(3)在CCDC防范体系中,攻击者能够监测恶意代码攻击的全过程,深入理解CCDC防范恶意代码的工作机制,因此可能导致突破CCDC防范体系的恶意代码出现。
三、防护技术
防病毒技术就是通过一定的技术手段防止计算机病毒对系统的传染和破坏。但是随着Internet技术的发展,以及E-mail和一批网络工具的出现,在改变人类信息传播方式的同时也使计算机病毒的种类迅速增加,扩散速度也大大加快,计算机病毒的传播方式迅速突破地域的限制,由以往的单机之间的介质传染转换为网络系统间的传播。现在,计算机病毒已经可以通过移动磁盘、光盘、局域网、www浏览、E-Mail, FTP下载等多种方式传播。
为了对抗恶意代码的威胁,安全防护技术采用多层次的策略和工具来检测、阻止和清除这些恶意软件。以下是一些常见的恶意代码防护技术:
- 防病毒软件: 防病毒软件是最基本也是最常见的恶意代码防护工具。它通过使用病毒定义数据库和启发式分析等技术,检测并阻止已知和新的恶意代码。
- 反恶意代码行为分析: 这种方法不仅关注已知的病毒特征,还通过分析应用程序的行为来检测潜在的恶意活动。这包括监测文件、注册表、进程和网络活动等。
- 沙盒技术: 沙盒是一种隔离环境,允许在受控制的环境中运行不明文件或程序,以观察其行为。沙盒技术有助于发现和分析未知的恶意代码。
- 入侵检测和入侵防御系统(IDS/IPS): IDS和IPS系统监控网络流量和系统活动,检测潜在的恶意行为,并采取措施以阻止入侵。
- 网络防火墙: 防火墙通过控制网络流量和阻止恶意流量来防御网络攻击,包括恶意代码传播。
- 安全补丁和更新管理: 及时应用操作系统和应用程序的安全更新和补丁是防止恶意代码利用系统漏洞的关键步骤。
- 应用白名单: 白名单技术允许系统管理员定义可执行文件和应用程序的白名单,只有在白名单上的程序才能运行,从而减少潜在的恶意代码执行。
- 电子邮件过滤和安全网关: 通过检测和阻止恶意附件、链接或恶意代码传播的电子邮件,电子邮件过滤和安全网关有助于防范针对用户的社交工程攻击。
- 安全教育和培训: 提供员工和用户有关社交工程攻击、恶意代码的风险以及如何防范的培训是预防恶意代码感染的重要方面。
- 端点安全: 通过在终端设备上使用终端防护软件,可以检测和防止恶意代码的传播和执行。
- 安全漏洞管理: 定期评估和管理系统和应用程序的安全漏洞,以及修补这些漏洞,是防止恶意代码利用的一项重要措施。
这些技术通常以综合的方式使用,以提供更强大的恶意代码防护能力。保持技术的更新,及时应用安全补丁,以及教育用户避免潜在的风险都是有效防范恶意代码攻击的关键。
博客:http://xiejava.ishareread.com/
关注:微信公众号,一起学习成长!