恶意代码是指没有作用却会带来危险的代码。通常把未经授权便干扰或破坏计算机系统、网络功能的程序或代码(一组指令)称之为恶意程序。恶意程序包括计算机病毒、木马、蠕虫等。详见《网络安全之恶意代码》
恶意代码的防范,不是单靠一种或几种技术就能解决的,而要靠技术、管理以及用户安全意识的共同防范,只有三者相结合才能最大程度地防止恶意代码对系统和用户信息的破坏。
目前,恶意代码防范方法主要分为两方面:基于主机的恶意代码防范方法和基于网络的恶意代码防范方法。
一、主机恶意代码防范
基于主机的恶意代码防范方法是目前检测恶意代码最常用的技术,具体分为:基于特征的扫描技术、校验和检测法和安全操作系统对恶意代码的防范等。
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系统监控网络流量和系统活动,检测潜在的恶意行为,并采取措施以阻止入侵。
- 网络防火墙: 防火墙通过控制网络流量和阻止恶意流量来防御网络攻击,包括恶意代码传播。
- 安全补丁和更新管理: 及时应用操作系统和应用程序的安全更新和补丁是防止恶意代码利用系统漏洞的关键步骤。
- 应用白名单: 白名单技术允许系统管理员定义可执行文件和应用程序的白名单,只有在白名单上的程序才能运行,从而减少潜在的恶意代码执行。
- 电子邮件过滤和安全网关: 通过检测和阻止恶意附件、链接或恶意代码传播的电子邮件,电子邮件过滤和安全网关有助于防范针对用户的社交工程攻击。
- 安全教育和培训: 提供员工和用户有关社交工程攻击、恶意代码的风险以及如何防范的培训是预防恶意代码感染的重要方面。
- 端点安全: 通过在终端设备上使用终端防护软件,可以检测和防止恶意代码的传播和执行。
- 安全漏洞管理: 定期评估和管理系统和应用程序的安全漏洞,以及修补这些漏洞,是防止恶意代码利用的一项重要措施。
这些技术通常以综合的方式使用,以提供更强大的恶意代码防护能力。保持技术的更新,及时应用安全补丁,以及教育用户避免潜在的风险都是有效防范恶意代码攻击的关键。
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
学习资料分享
当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份完整版的网络安全(嘿客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】