文章目录
摘 要:
中国互联网近年来飞速发展,普及率达到38.4%。已稳居世界第一网民大国的地位。互联网正对社会、经济、文化等各个领域产生巨大影响。2011年12月21日“泄密门”事件,再次敲响网络安全的警钟。网络攻击和入侵都是根据网络模型不同层次的特点展开的,网络防护也应针对每个部位的不同特点,将网络传输、系统安全和代码安全等网络技术有机的结合起来,再通过以往的网络防护经验,逐层填补可能产生的网络漏洞,清除存在的网络隐患,建立一套完整的网络防护体系,以保障网络信息的安全。
关键词: 网络信息安全;网络隐患及网络攻击;网络安全措施
中图分类号:TP393.08 文献标识码:A 文章编号:1671-7597(2012)0210023-02
2011年12月21日,CSDN(1)600万用户数据遭到泄露,大量用户信息被公布在网上,进而又有报道称众多知名网站都存在保存信息不当的问题,最终还涉及到电子商务及银行业。这次“泄密门”事件,再次敲响了网络安全的警钟,中国网络信息安全问题引起了专家学者高度关注。
1 网络安全现状
中国互联网近年来飞速发展,截至2011年年底,网民规模已经超过5亿,互联网普及率达到38.4%,已稳居世界第一网民大国的地位。互联网正对中国社会、经济、文化等各个领域产生巨大影响。
网络的覆盖范围之广,涉及层面之深导致其所形成的网络环境异常复杂,使安全防护工作难以开展,形成很多安全隐患,时常遭到恶意攻击。根据《28次全国互联网络发展状况统计报告》数据显示:2011年上半年,遇到过病毒或木马攻击的网民达到2.17亿,比例为44.7%;有过账号或密码被盗经历的网民达到1.21亿人,占24.9%,较2010年增加3.1个百分点。再比如某公司网站被黑、某政府部门的网站被入侵等事件已经无法再做详细统计,不过通过一些展示黑客“成果”的网站的更新速度,我们可以看出,提升网络安全的级别迫在眉睫。
现在的网络入侵等一系列威胁和破坏网络安全的行为,从一开始单纯的、希望通过这种不寻常的方式展示自己高超的网络技术,到现在这些行为已经转变成以追求利益为目的,并开始形成有组织、有计划的非法商业活动,甚至出现了“拿钱办事”的打手行径。这些群体的存在给网络安全带来了巨大的威胁,也使网民对网络安全的信心产生动摇。
破坏网络安全的人员大部分具有较高的技术和一定的法律意识,他们所用的手法很先进并有一定隐藏性,以清除破坏痕迹,防止追踪,这让网络安全防护工作难度增大。而我国公安机关缺乏针对这类科技犯罪的技术措施,往往难以做到对该类行为的检测、防伪、审查及追踪,更让这些违法人员有恃无恐,破坏行为愈演愈烈。
此外,网络开发公司只注重追求网络的强大功能和公司的利润,而忽视了增强网络安全防护的重要性,建立起的站点安全隐患多,易受到网络攻击。再者是网民用户个人网络安全的意识的淡薄,缺乏基础的安全知识,被不法分子利用。
总之,中国网络的现状是:功能强防护弱、规模大架构差,安全体系薄弱的现状亟待增强完善。
2 网络隐患及网络攻击
2.1 隐患形式
根据网络的用途及其规模的大小,网络安全基本可以划分为两个层次:个人用户电脑和服务器集群。
个人用户电脑是指普通上网用户的个人电脑及其周围短距离范围的网络,属于网络的终端节点,使用者不一定具备专业网络知识。
个人用户电脑一般存在以下几类隐患:未修改默认管理员Administrator,无密码就可直接进入用户电脑;未安装杀毒软件,裸机上网,易受到病毒或者木马的侵入,沦为网络中的肉机,被黑客利用,成为发动DDOS攻击的帮凶;家庭路由器设备默认管理员登录名和密码保持出厂设置,很容易被人盗用,甚至查看网络流动中的信息。
服务器集群是指由大中型服务器组成的,及其组成的实现一定功能的大中型网络,一般有专人开发、维护和检测。集群服务器存在的隐患一般有以下几类:FTP权限为最高可读写权限,能被黑客随意更改删除文件;防火墙对外端口未加限制,黑客可以通过多种途径入侵服务器;WEB开发系统极少发布安全漏洞补丁,只增加功能插件。
2.2 攻击方式
上述网络存在的安全隐患,可能引发的主要攻击方式有以下几种:
1)电脑病毒(Virus):电脑病毒是一种自动复制、自发运行,更改其他文件的程序。它可以删除,篡改用户机的数据和文件,并为拒绝式攻击服务提供载体,此类程序一般是通过电子邮件或者其他硬件设备进行传播,并在用户未知的情况下侵入系统并大量复制。
2)DDOS攻击服务:是指系统资源或网络带宽被非正常请求完全占用,导致普通用户无法正常使用服务。例如利用大量邮件炸弹来攻击企业的邮件服务器导致其无法接收正常邮件,或借由网络中的肉机通过80端口发送http的请求而导致Web Server请求不被处理。
3)后门或特洛伊木马程序:未经用户授权的程序,借由合法程序的掩护,而伪装成被授权的程序,进而非法执行系统命令,最终造成系统程序或应用程序被更改替换,并执行某些不被察觉的恶意程序,例如利用特洛伊木马,伪装成为合法程序,窃取重要机密。
4)窃听(Sniffer):是指当信任用户之间传输资料时,在发送方和接收方不知情的情况下,被非法的第三者截取传输内容,导致严重的机密泄露。
其实网络攻击不仅仅是以上几种,但不管它是以哪种方式,使用哪种技术手段,最终都是从以下几个方面展开攻击的:截取数据、假冒身份认证、破坏资料的完整性及获得非法授权。 万变不离其宗,只要掌握了网络隐患和网络攻击的特点,就能够找到解决的办法,从根本上堵住各种漏洞,建立起牢固的安全防线,抵御各种网络侵袭和恶意攻击。
3 网络安全措施
为了有效防范网络攻击,保护网络安全,首先简要介绍网络的构成及原理。举一个浏览网页的简单例子,数据的传输从用户使用浏览器访问网站开始,然后用户的请求通过TCP/IP等一系列网络通讯协议封装后被发送到互联网中,在网络中,被封装后的请求会先被数据链路层的硬件设备(如路由器或者三层交换机)转发到服务提供商ISP
(2),再使用其提供的公共网络域名解析服务找到目标区域,最后请求被发送到目标服务器,该服务器会解析用户请求并反馈新的请求或者数据,并反向重复上一过程,这样当用户接收到目标服务器反馈的信息,就会看到页面。这是一个典型的网络传输过程,使用了网络ISO/OSI模型,即最普遍的网络模型。
国际标准化组织(ISO)
(3)开放系统互连(OSI)参考模型定义了七层的通信类型,将这七层带入上面的例子:
1)物理层(Physical):如网卡、网线接口等等。 2)数据链路层(DataLink):如调制解调器。 3)网络层(Network):如路由器转发。 4)传输层(Transport):如TCP/IP等协议。
5)会话层(Session):如会话的建立以及建立时的权限认证。
6)表示层(Presentation):如数据的加密和压缩。 7)应用层(Application):如网页浏览器。
这七层完整的解释了网络传输的过程,而几乎所有的网络攻击和入侵也是依托这个网络模型,虽然攻击和入侵有时并没有明确的层次区分,可能是单层攻击,也可能同时涉及很多层,但都是围绕这七层展开的。
不同层次的入侵和攻击方式可能具有很大的区别,这里只针对利用网络技术进行的网络攻击与入侵,并根据网络架构的模型,将网络防范措施划分为三大部分来进行阐述和分析。
4 数据传输安全
这一部分,涉及到网络架构中的前六层,使用网络传输技术。数据的传输以及转发,就好比通过邮局寄信,有被弄丢的信件,就有被丢失的数据。
网络中的数据如果没有加以防护,可以被任意的截取、复制及篡改。例如使用网络嗅探工具可以很容易的截取在同一个局域网中的其他机器所发出的信息,如果这些信息也没有被加密,那么那在截取的数据包中将显示明文。 对此采取的措施一般有:
1)对数据进行加密,让明文变“暗”文。这样即使被窃取,数据包内容也无法被识别,同时保证数据的完整性。加密的方式有很多,例如3DES或AES,少量数据采用RSA分对称加密算法,校验算法使用MD5。
2)进行数据认证。以软件实现为主,可以采用密钥加密系统,例如PKI密钥系统。但使用时应当注意定时更换口令。数据认证能够确认信息发送者的身份、校验收到信息的完整性。
3)建立虚拟专用通道。可以靠修改网络配置或者服务器配置来实现。例如使用VPN技术可以建立数据传输专有通道,这种通过对数据包内容加密以及封装而保护数据传输安全的方式容易实现而且有效。
4)硬件防火墙。使用专门的硬件防火墙,设置在安全需求高的网络内,可以稳定实现强大的防护功能,把好网络的每一道门。 5 服务器环境安全
这一部分,作为网络攻击的主要目标,内容复杂、琐碎,主要涉及网络模型中的应用层面,主要使用系统安全技术。
1)关闭不必要的服务。使用默认的操作系统安装和配置,非常不安全。在一个典型的默认安装中,许多不必要的网络服务在Web服务器配置安装中被设置为开启。如远程注册表服务、打印服务器服务、RAS等。操作系统上运行的服务越多,开放的端口也将增加,从而为恶意用户滥用敞开大门。关闭所有不必要的服务,并禁用。
2)远程访问。远程访问功能可以方便服务器管理员登录到本地Web服务器。但使用该功能必须确保远程连接的安全,并使用隧道技术和加密协议。
3)独立的开发/测试/生产环境。网络开发人员直接在生产服务器上修改Web应用程序的新版本,这种行为应当被禁止。虽然这样做可以迅速的发布程序,但却为网络留下了极大地隐患。Web应用程序在早期开发阶段,常存在一些漏洞,并缺乏输入验证和异常处理。这样的应用程序很容易被恶意用户通过在互联网上免费提供的工具所发现并利用进行网络攻击。正确的做法是开发和测试应用程序与Internet服务器隔离,不能使用或连接到外部数据和数据库。
4)Web应用程序的内容和服务器端脚本。建议在单独的分区或驱动器上运行操作系统,并在独立的分区上放置日志和其他任何系统文件以外的Web应用程序以及网站上的文件脚本。入侵人员获得web根目录后,能够利用其他的漏洞,去升级其权限,进而获得整个硬盘上的数据,最终入侵人员可以访问和执行任何操作系统命令,导致Web服务器被完全控制。
5)权限和特权。文件和网络服务的权限在Web服务器的安全中发挥着至关重要的作用。如果Web服务器引擎是通过网络服务软件运作的,那么入侵者通过使用网络帐户运行任务,比如执行一个特定文件。因此必须指定一个特定的网络账户运行所需的最小特权,如Web服务器软件,这非常重要。
6)在系统上安装所有的安全补丁。虽然打有完全并且最新的补丁,也并不意味系统变得坚不可摧,但安装补丁仍是必不可少的。直到现在,黑客也时常利用未打补丁的服务器和软件来发动网络攻击。
7)监视服务器。Web服务器的所有日志,应当存放在隔离区,并时常监测、检查所有网络服务日志,包括网站访问日志,数据库服务器的日志和操作系统日志。这样可以第一时间发现异常,防止攻击,或者在攻击后查找原因及来源。
7 代码安全
这一部分,主要涉及到应用层面,但不同于环境安全,这里使用到编程技术,下面通过举例说明。
系统代码漏洞的种类繁多,复杂度高,以SQL注入为例:
SQL注入攻击,是指在用户程序在访问数据库的时候产生的安全漏洞,是发生于应用程序的资料库层的安全漏洞。也就是说当程序访问数据库时产生的SQL指令被中间用户恶意篡
改,而使数据库服务器错误地执行命令,导致数据库的泄漏或者恶意木马被植入到程序服务器中。
建议防护措施:
1)对于使用PHP编译的网站,建议开启PHP的Magic Quote功能(4),以有效的屏蔽SQL语句中的非法字符。
2)使用更安全的数据库连接方式比如pdo类连接或者更高级的mysqli类。 3)构架安全的SQL防注入系统。
其它的攻击如命令注入攻击,文件上传漏洞攻击,都是因为不严格的代码规范造成的。在预防此类攻击的时候,要特别注意代码程序的严谨性,使入侵者无法找到合适的途径攻击系统。
8 结论
通过以上解析可以看出,网络攻击和入侵都是根据网络模型不同层次的特点展开的,所以相应的网络防护也应当在理解整个网络模型的基础上,针对每个部位的不同特点,将网络传输、系统安全和代码安全等网络技术有机的结合起来,再通过以往的网络防护经验,逐层填补可能产生的网络漏洞,清除存在的网络隐患,建立一套完整的网络防护体系,以保障网络信息的安全。
不可否认中国的网络依然存在很多安全问题,这除了要增强网络技术、完善网络架构以外,还要普及网络安全知识,提高用户基本防范意识和水平,并且加大网络监察管理的力度,惩治非法网络攻击、网络入侵等行为。相信在不久的将来,中国的网络一定会从“大”变“强”,真正成为信息安全的强国,为国家的文明进步、繁荣昌盛和公平民主作出应有的贡献。 注释:
(1)中国软件开发联盟,是中国开发者技术网上社区。
(2)ISP(Internet Service Provider),互联网服务提供商,向用户提供互联网接入业务,如中国电信公司、中国网通公司。
(3)世界上最大的非政府性标准化专门机构,制定的标准涉及广泛,不仅涵盖计算机领域,还有农业、环境、工业领域。
(4)译为魔术引号,开启后将进入PHP脚本的数据自动进行转义。
-END-
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴文末免费领取哦,无偿分享!!!
学习计划安排
学习路线图大纲总览
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
【一一帮助网络安全学习,以下所有资源文末免费领取一一】
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
接下来我将给各位粉丝们划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期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。
阶段三:顶级网络安全工程师
这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以点击这里加我与我一起互相探讨、交流、咨询哦。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可自动领取↓↓↓
或者
【点此链接】领取