公司动态
网络安全——恶意代码对抗
恶意代码对抗1、恶意代码防范方法1.1、检测1.2、清除1.3、预防1.4、免疫1.5、恶意代码防范策略2、恶意代码防御技术2.1、系统安全加固2.2、Web应用防火墙2.2.1、WAF的功能2.2.2、WAF的部署接入方式2.3、杀毒软件2.4、实时监控2.5、数据备份与数据恢复2.5.1、数据备份技术2.5.2、数据恢复方法2.6、增强安全防御意识恶意代码作为对网络系统实施破坏的一种形式已经成为当前网络空间安全面临的主要安全威胁之一。网络系统一旦感染了恶意代码其后果往往不堪设想而且恶意代码十分狡猾只要计算机连接在网络上无论是浏览网页还是收发电子邮件恶意代码都有可能让网络用户遭受侵害。因此网络安全技术必须以牙还牙不但要防范恶意代码的传播和感染还要在恶意代码入侵行为造成恶劣影响之前就能够及时精准检测并予以清除对抗恶意代码的侵害。所谓对抗就是基于不同的网络场景和安全需求构建起弹性主动防御体系部署特定的防范策略及防御措施以有效避免、转移、降低系统面临的安全风险。1、恶意代码防范方法恶意代码防范是指预防恶意代码的传播和感染对其将要发生的恶意入侵及破坏做好防备。通常恶意代码防范方法主要是切断其传播和感染的途径或破坏它们实施的条件。当然一定的管理制度也有助于提高恶意代码预防技术的实施效果。自恶意代码出现以来人们一直在不断研究防范技术。早期由于编制恶意代码软件相对容易许多技术人员通过自己编写针对特定类型的防护程序就可以防范专一的恶意代码。例如在DOS和Windows时代1988—1998年主要研究防范文件型和引导型计算机病毒的技术。在互联网时代1998—2008年主要是研究有关蠕虫、木马的防范技术。自2008年之后恶意代码变得更加复杂多数新型恶意代码成为集后门、木马、蠕虫等特征于一体的混合型产物其危害方式也随之发生了转变主要集中在浪费资源、窃取信息等方面。从恶意代码的演变趋势来看要想有效防范越来越多的恶意代码使用户免受恶意代码的侵扰需要从检测、清除、预防、免疫以及防范策略等多个方面展开。1.1、检测从原理上讲恶意代码的防范与清除是基于机理分析与检测的。恶意代码检测技术是指通过一定的技术手段来判定是否是恶意代码通常采用特征码扫描法。这也是传统计算机病毒、木马、蠕虫等恶意代码检测技术中最常用、最有效的方法之一。针对网络系统需开展定时检测和在线检测并及时在线更新恶意代码特征码库。在线检测是指一旦有文件被打开就立即实施检测实时监控是否会出现异常行为。通常使用恶意代码检测工具可以检测内存是否存在恶意代码但常驻内存的一些恶意代码会被操作系统保护起来而且处理其他程序占有的内存也不方便。使用反恶意代码工具时一般需要用干净的启动盘启动然后再实施检测和清除。1.2、清除恶意代码清除是指在尽量保全被感染程序功能的情况下移除恶意代码或使其失效。清除人员一般需要了解相关恶意代码的感染机制。显然对于作为独立程序的木马和蠕虫来说一旦它们的类型或名称被检测工具确定清除工具可以直接删除它们的执行文件。清除文件型恶意代码相对复杂一些一般需要掌握感染过程的逆过程用反恶意代码软件将添加的恶意代码清除并恢复文件头的正常位置。对于覆盖型恶意代码由于原宿主代码部分丢失因此程序功能不能恢复。对于引导型恶意代码用反恶意代码工具可以清除存在于主引导记录或分区引导记录中的恶意代码并根据恶意代码保存的原引导代码恢复引导程序但为了抵御恶意代码对原引导代码的覆盖一般需要预先备份它们。值得注意的是随着恶意代码技术的发展并不是每种恶意代码都能够被详细分析也并不是所有的恶意代码都能够成功清除。伴随恶意代码攻击方式的复杂多变以及恶意代码数量的爆炸性增长仅靠清除技术很难对抗恶意代码的挑战。基于这个原因数据备份和恢复已显得越来越重要。数据备份和恢复是在恶意代码清除技术无法满足需要的情况下而不得不采用的一种防范技术。也就是说当检测出某个文件被感染了恶意代码之后不是去试图清除其中的恶意代码使其恢复正常而是直接用事先备份的正常文件覆盖被感染的文件。数据备份及恢复中的数据含义是广义的既包括用户的数据文件也包括系统程序、关键数据如注册表、常用应用程序以及主引导代码、1.3、预防预防主要是通过一定的技术手段防止恶意代码对系统进行传染和破坏。实际上预防技术是一种预先的恶意代码特征判定技术。目前恶意代码预防主要基于单机和网络实施。面向单机的防护已有许多反恶意代码工具。基于网络的恶意代码防护方法一般采用网关检测网络通信流量、邮件服务等方式将防御地点设置在网络边界或网络服务器能够提前发现和排除问题。预防恶意代码的主要方法是阻止恶意代码进入系统或阻止恶意代码对磁盘的操作尤其是写操作具体包括磁盘引导区保护、加密可执行程序、读写控制和系统监控、系统加固如打补丁等技术。1.4、免疫恶意代码免疫技术的提出比较早但一直没有太大的发展。针对某一种恶意代码的免疫方法已经难以应对恶意代码的复杂侵害。例如采取隔离可疑文件、保护重要文件等一些常规方法在面对勒索型病毒、APT攻击时显得力不从心。同时根据免疫的性质也可以把这些早期的免疫方法归纳为预防技术的范畴。最近几年在技术创新的驱动下内生安全免疫成为研究热点之一。中国工程院院士沈昌祥从数字化时代的机遇与挑战出发围绕网络安全的重要性和战略规划、制度要求提出了以基础原理、核心技术和工程应用创新为依托用安全可信网络产品和服务构建主动免疫防护保障体系的观点并多次以2017年暴发的“WannaCry”勒索病毒为实例提出构建主动免疫可信计算体系的思想。什么是主动免疫可信计算沈昌祥院士解释说我们通常所理解的杀病毒、防火墙、入侵检测等“老三样”并不是科学的网络安全概念难以应对网络攻击且容易被攻击者利用。而主动免疫的可信计算是一种在运算的同时进行安全防护的新计算模式以密码为基因抗体实施身份识别、状态度量、保密存储等功能及时识别“自己”和“非己”成分从而破坏与排斥进入机体的有害物质相当于为网络信息系统培育免疫能力。主动免疫可信计算模式的核心是构建“计算保护”并行的双轮驱动体系结构形成动态的防范模式对计算过程进行正确性的核验发现异常及时处理达到主动防护的效果。1.5、恶意代码防范策略恶意代码的防范策略是指管理手段而非单纯的技术手段。常言道“三分技术、七分管理”这已成为现代企业信息化管理的重要理念已是信息安全领域的共识。ISO/IEC 27001原ISO 17799是关于信息安全管理体系的详细标准。完善的安全管理策略和制度可以帮助用户更有效地防范恶意代码的侵害。加强存储介质如软盘、光盘、移动硬盘、网盘等和网络下载的管理可以降低文件病毒的传播概率要求用户实施高安全配置也是防范恶意代码传播和感染的重要手段。例如在微软Word中禁止宏的执行在浏览器中禁止不可信的插件下载等。2、恶意代码防御技术防御作为军事用词是作战的基本类型之一。通常情况下消灭敌人是主要目的进攻对战争的胜负起着决定性作用。然而当保存军力成为影响战争胜负的关键时防御就起着决定性作用。恶意代码防御是指网络系统面对复杂多变的恶意代码攻击时构建一套“自我防御机制”形成较为完善的恶意代码防御体系包括入侵前的预防如系统安全加固、防火墙设置、入侵中的查杀和阻断如杀毒软件、实时监控等、入侵后的灾难恢复机制如数据备份与恢复以及在个人和企业层面的安全防范意识和安全管理措施等。通过积极主动的防御对抗避免遭受恶意代码的肆意侵害。2.1、系统安全加固系统安全加固是网络安全防护的一项基本措施不仅可以有效防御恶意代码攻击还可以有效抵御各类黑客入侵降低安全风险。同时它还可以缩小攻击面弥补系统弱点。通过安全加固将在信息系统的主机层、软件层、应用层等层次建立符合安全需求的安全状态并以此作为保障用户信息系统安全的起点。系统安全加固的对象主要包括操作系统包括Windows系统、UNIX系统等。网络设备包括华为、中兴以及Cisco的路由器、交换机等主流网络设备。安全设备策略包括防火墙、入侵防御/入侵检测等设备的数据包过滤规则。网络架构包括网络拓扑分析、路由配置安全性评价、网络接入安全性评估等。数据库包括主流的数据库系统如MySQL、MSSQL Server、Oracle等。通用应用软件包括IIS、Apache等常见Web服务器应用软件等。系统漏洞是恶意代码传播的主要渠道因此系统补丁已经成为各类安全防护软件的必备功能与计算机相关的补丁包括系统安全补丁、程序Bug补丁、硬件支持补丁等其中系统安全补丁对于防御恶意代码最为重要。系统安全补 丁主要是针对操作系统出现的安全漏洞量身定制的。对于最常用的Windows操作系统由于开发工作复杂代码量大出现缓冲区溢出等漏洞已司空见惯这些漏洞易于被攻击者利用并植入恶意代码。用户应及时更新微软公司推出的各种系统安全补丁。安全加固工作主要是通过人工方式进行也可以借助特定的安全加固工具进行。加固操作前应有充分的风险规避措施加固活动应有跟踪记录以确保系统的可用性。2.2、Web应用防火墙Web应用防火墙Web Application Firewall, WAF是一种基于对HTTP/HTTPS流量双向分析的安全运行维护控制手段能够为Web应用提供实时防护。WAF通常以软件形式安装在用户计算机上用于阻止外部网络对用户的安全威胁。2.2.1、WAF的功能从广义上来说WAF与网络层的边界防火墙功能类似是一种应用级的网站安全综合解决方案。它以全新的安全理念和先进的创新架构集成了Web防护、网页保护、负载均衡、应用交付等功能能够保障用户核心应用与业务持续稳定运行。Web防火墙的作用是阻断不安全的网络行为对计算机发往外部的数据包和外部发到计算机的数据包进行分析和过滤拦截异常的、恶意的和具备攻击性的数据包并向用户发出提醒。WAF具有多种功能。例如从网络入侵检测的角度来看可以将WAF视作运行在HTTP层上的入侵检测系统IDS设备。从防火墙角度来看WAF是一种防火墙的功能模块。还有人将WAF视作“深度检测防火墙”的增强。WAF的功能主要包括提供Web应用攻击防护缓解恶意CC攻击一个利用代理进行DDoS的程序过滤恶意的Bot流量即自动化程序流量保障服务器性能正常提供业务风险控制方案解决业务接口被恶意滥刷等业务安全风险提供网站一键HTTPS和HTTP回源降低源站负载压力对HTTP和HTTPS流量进行精准访问控制支持超长时长的全量日志实时存储、分析和自定义报表服务支持日志线上同步第三方平台助力满足等级保护合规要求。2.2.2、WAF的部署接入方式WAF主要是通过对Web应用层数据解析实现防火墙功能解析方法主要有两类一类是基于规则的分析方法另一类是异常检测方法。近年来又提出了基于人工智能语义分析方法等。通常WAF部署在Web服务器的前面一般为串行接入这种部署方式不仅对硬件性能要求较高而且可能影响Web服务性能。目前多采用CNAMECanonical Name接入或透明接入方式把网站域名接入到WAF集群进行防护。1CNAME接入。将需要防护的网站信息添加到WAF修改网站域名的DNS解析设置并配置源站服务器IP即可启用WAF。启用WAF后所有网站的公网流量都会先经过WAF恶意攻击流量在WAF上被检测过滤掉而正常流量返回给源站IP从而确保源站IP安全、稳定、可用。2透明接入。这种接入方式只需将需要防护的网站信息添加到WAF无须修改域名的DNS解析设置即可实现WAF防护。2.3、杀毒软件杀毒软件是一种对计算机的内容和文件进行扫描检测其中是否隐藏有恶意代码并对其采取查杀、隔离等不同措施的工具。杀毒软件不仅具备恶意代码扫描和清除、写入安全监控与危险识别、自动升级、主动防御等多种功能有些还能实现防火墙、数据备份与恢复等功能。杀毒软件主要运用特征匹配技术、脱壳技术、虚拟机技术、启发式扫描技术等进行恶意代码检测。杀毒软件的工作方式主要包括内存监控和磁盘扫描。内存监控会在文件进行打开、关闭、清除、写入等内存操作时对内存进行监控以检查文件是否携带恶意代码。磁盘扫描能够对磁盘中的所有文件进行直接扫描采用特征代码匹配等技术检测恶意代码。对于检测出的恶意代码杀毒软件会根据用户的决策选取不同的处理方案包括1清除即清除正常文件中被恶意代码感染的内容清除后的文件能正常使用。2删除即删除恶意代码文件删除的文件一般是恶意代码本身对于部分正常文件如果无法清除恶意代码则只能删除整个文件。3禁止访问在检测到恶意代码后用户如果选择不处理杀毒软件会将该文件设置为禁止访问用户若想打开该文件则会弹出错误告警提示。4隔离恶意代码文件被转移到隔离区被隔离后的文件不能正常运行如果用户仍然想使用可以从隔离区找回被隔离的文件。5不处理对于一些暂时无法确定是否是恶意代码的文件可以选择暂时不处理。2.4、实时监控实时监控是指在网络系统中始终监控访问系统资源的一切操作并对其中可能存在的恶意行为予以告警。实时监控能够实现包括文件监控、注册表监控、进程监控、脚本监控和内存监控在内的多种监控方式。它们协同工作可以形成全方位的立体防护有效抵御恶意代码的攻击和破坏。互联网已经成为恶意代码传播的主要途径必须对其进行实时监控。通常可以利用漏洞扫描器VulnerabilityScanner定期进行安全扫描和漏洞评估若发现潜在的漏洞或弱点如SQL注入、XSS、敏感信息泄露等要及时修补包括更新和修补Web应用程序的软件组件、框架和依赖库。在应对Web安全威胁时比较重要的是防御恶意代码注入攻击。恶意代码注入是针对Web应用程序的主要攻击方式之一位居Web注入漏洞之首。根据攻击目标的不同恶意代码注入又有多种方式例如恶意读取、修改与操纵数据库的SQL注入在Web服务器安装、执行Webshell等恶意脚本的注入LDAP注入、邮件目录注入、空字节注入、SSL注入和XML注入等。在这些恶意代码注入攻击中SQL注入最为常见也是较为易于实现的一种攻击方式。为减少SQL注入攻击的可能性可采取以 下防御措施。1使用类型安全type-safe的参数编码机制。在Web应用程序中利用用户输入参数构造动态SQL语句时注意参数的类型安全使用确保类型安全的参数编码机制。大多数数据库API包括ADO、ADO.NET等都允许用户指定所提供参数的确切类型如字符串、整数、日期等这样可以保证这些参数被正确地编码。2对所有外部用户输入进行安全性检查过滤单引号、and等特殊字符确保用户输入数据的安全性。在具体检查用户输入的变量时可以根据参数的类型对单引号、双引号、分号、逗号、冒号、连接符等进行转换或者过滤。这样可以在一定程度上降低被攻击的概率。另外还可以通过设置文本框的长度属性MaxLength限制用户名、密码等输入字符串的长度。3在构造动态SQL语句时使用类型安全type-safe的参数编码机制将动态SQL语句替换为存储过程、预编译SQL或ADO命令对象。4尽量不使用动态拼接的SQL可以使用参数化的SQL或者直接使用存储过程进行数据查询和存取。5采用系列安全措施加强SQL数据库服务器的配置与连接例如避免将敏感数据如口令明文存放在数据库中以最小权限原则配置Web应用程序连接数据库的查询存取权限实现不泄露任何有价值信息的默认出错处理机制以替代默认出错提示等。2.5、数据备份与数据恢复一般说来导致系统数据丢失的因素有多种主要包括黑客攻击黑客入侵并破坏信息系统导致数据丢失。恶意代码包括木马、蠕虫等恶意代码感染信息系统所含数据。硬盘损坏电源浪涌、电磁干扰都可能损坏硬盘导致文件和数据的丢失。人为错误人为删除文件或格式化磁盘。自然灾害会毁灭计算机系统导致数据丢失。为避免系统数据丢失需要做好数据备份与数据恢复工作。2.5.1、数据备份技术所谓数据备份是指使用低成本的存储介质定期将主要数据保存下来以保证数据意外丢失时能够及时恢复将用户的损失降到最低。常用的存储介质有磁盘、磁带、光盘和网络备份等。目前常用的数据备份技术主要有以下三种。1完全备份即对整个系统或用户指定的所有文件进行一次全面备份不依赖文件的存档属性来确定备份哪些文件。在备份过程中任何现有的标记都被清除每个文件都被标记为已备份。换言之清除存档属性。如果在备份期间出现数据丢失等问题可以只用一份备份文件快速恢复所丢失的数据。完全备份的优点是只要用一个备份就可以恢复数据可以大大加快系统或数据的恢复时间其明显的缺点是需要备份所有的数据每次备份工作量较大且需大量备份介质。一旦发生数据丢失只能使用上一次的备份数据恢复到前一次备份时的数据状况这期间更新的数据有可能会丢失。2增量备份是指在一次完全备份或上一次增量备份后以后每次的备份只需备份与前一次相比增加或者被修改的文件。在增量备份过程中只备份有标记、选中的文件和文件夹并且在备份后清除这些文件的标记。换言之备份后会清除存档属性。由于在特定的时间段内只有少量的文件会发生变化因此这种备份方式不会产生重复的备份数据既节省了空间又缩短了备份时间从而显得比较经济实用。不过其缺点是一旦发生数据丢失数据恢复工作可能会比较麻烦。3差异备份即只备份自上一次完全备份之后产生和更新的数据。在差异备份过程中只备份有标记的那些选中的文件和文件夹但不会清除标记即备份后不会将文件标记为已备份。换言之不会清除存档属性。在进行数据恢复时只需对第一次全备份和最后一次差异备份进行恢复其工作量比完全备份小灾难恢复相对简单。差异备份在避免了上述两种备份策略缺陷的同时又具备了它们各自的优点。2.5.2、数据恢复方法数据恢复是指当系统发生故障时将数据恢复到原有状态。根据有无数据备份数据恢复可以分为正常数据恢复和灾难数据恢复。正常数据恢复相对容易而灾难恢复则通常需要专业技术人员或借助工具进行。需要注意的是并非所有丢失的数据都可以恢复。如果被删除的文件所在的物理位置存储空间已经被其他文件取代或者文件数据占用的磁盘空间已经分配给其他文件且已经填充了数据那么该文件就不可能再被恢复了。同样如果硬件或存储介质损坏严重且没有冗余信息存在数据也是不可能恢复的。如果是由于恶意代码攻击等原因造成的数据丢失对于一般用户而言比较恰当的处置方法是在发生硬盘数据丢失事件后立即关机不要再对硬盘进行写操作用户对硬盘的所有修复操作都应是可逆的或是只读的不要盲目采用第三方工具进行修复咨询专业技术人员并采取适当的方法进行处理。2.6、增强安全防御意识恶意代码防御绝不能仅仅限于技术层面增强安全防御意识和完善安全管理措施是不可或缺的。无论是个人用户还是企业机构用户都应当强化对恶意代码的防御意识。尤其是目前网络应用系统多是基于浏览器/服务器模式这种模式更易于遭受恶意代码的侵害。针对Web的攻击和破坏在持续增加且居各类网络攻击之首。据开放式Web应用程序安全项目Open Web Application Security Project,OWASP发布的网站攻防技术、攻防事件统计表明大多数网络攻击都是针对Web的恶意代码攻击。Web恶意脚本攻击的方式多种多样包括注入攻击、失效的身份认证、敏感数据泄露、XML外部实体XXE注入攻击、失效的访问控制、安全配置错误、跨站脚本XSS攻击、不安全的序列化、使用含有已知漏洞的组件、不足的日志记录和监控等。面对复杂严峻的网络安全形势人人都要保持清醒头脑让“没有网络安全就没有国家安全”的意识深入人心让“网络信息人人共享、网络安全人人有责”的意识落地生根增强网络安全防御能力筑牢网络安全防线切实保障网络安全运行。