随着信息化进程的深入和互联网的迅速发展,人们的工作、学习和生活方式正在发生巨大变化,效率大为提高,信息资源得到最大程度的共享。互联网技术的发展以及电子商务和电子政务的普及,各党政机关、企事业单位面临的网站安全问题也随之突显出来,如果不很好地解决这个问题,必将阻碍信息化发展的进程。为了继续发挥互联网经济产生效益和优势,需要我们必须积极应对网站安全漏洞问题。
一、网路安全漏洞定义
网络安全(networksecurity)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
漏洞(vulnerability)代表计算机的脆弱性。它是计算机系统在硬件、软件及协议的具体实现上存在的缺陷。漏洞一旦被发现,就可以被攻击者用以在未授权的情况下访问或破坏系统。
网络安全漏洞是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。它存在于计算机网络系统中的、可能对系统中的组成和数据造成损害的一切因素。
二、网络安全漏洞现状
网络安全漏洞与信息化进程深入相伴而生,为能制定IT策略来避免网络安全漏洞加强网络安全防护,确保在发生安全事件时能够尽快恢复数据挽回损失,必须先了解网络安全漏洞的最新趋势,近期出现的网络安全漏洞主要如下:
2.1数据窃取变成数据操作
网络安全漏洞最近的一个趋势是,网络犯罪分子将他们的技术仅从数据窃取和网站黑客攻击转为攻击数据的完整性。与纯粹的数据窃取相比,这种网络安全漏洞导致组织的业务长期受损,并造成其声誉损害。它让人们开始质疑被攻破的数据的完整性
2.2针对消费者设备进行攻击
对于所有组织,勒索赎金都被认为是一个主要问题。最近,人们已经开始看到网络犯罪分子针对消费者的各种网络连接设备进行攻击。例如,网络犯罪分子可以通过勒索攻击来攻击人们的智能手机。然后将被要求支付一笔赎金来解锁。
2.3攻击者更商业化且难追踪
网络犯罪分子已经变得更加商业化和组织化,甚至可能部署了他们的个人呼叫中心。假冒的约会网站就是这种类型的网络违规活动。这些网络罪犯希望从对网络犯罪的制裁较少的国家开展活动。这就把这些罪犯置于受害者警察管辖范围之外。
2.4违规规则更加复杂和难以击败
网络罪犯用更先进的方式改进了使用赎金的恶意活动。已经发现这种类型的勒索软件使用了创新的系统来传播感染。这种感染通过使用金字塔式的折扣将受害者变成攻击者。原来的受害者将他们的文件免费解密,当他或她分享的赎金链接到两个或更多的人并将他们的文件加密,使他们将不得不支付赎金。
2.5云安全的挑战
云存储组织的数据使其成为网络犯罪分子的目标,因为云计算带来了一系列新的安全挑战。这些安全挑战包括数据完整性、技术故障等。网络犯罪分子使用复杂的应用程序来攻击和修改云端数据,例如安全密钥和帐户凭证。大多数组织更容易受到网络安全漏洞的攻击,因为他们认为他们的第三方安全厂商正在保护他们的数据。
2.6组织内部数据泄露的主要来源是应用程序
移动设备、商业、桌面或网络应用等应用程序是数据泄露的主要来源,这些应用程序很容易成为网络犯罪分子的目标,因为这些应用程序并非专门为安全而构建,而是专门为其他目的而构建的。这使黑客有机会通过下载使用恶意代码构建的应用程序来跨越和窃取数据。作为企业所有者或IT专业人员,需要将网络安全作为战略重点,这对于确保其组织能够应对下一代网络安全漏洞至关重要。
三、网络安全漏洞分类
网络安全漏洞形式多样,但究其承载来源来看,主要分为以下五类:
3.1主机和网络设备安全漏洞
主机和网络设备承载了整个互联网的运行,相应的其存在的安全问题直接威胁整个互联网的安全。对于其中的安全问题可以通过专业的安全设备对自己所属的设备资产进行漏洞扫描,从而发现存在的安全隐患,可对探测出的漏洞下发相应责任人在指定期限内进行整改修复。
3.2Web安全漏洞
随着基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害,类似可被利用安全漏洞统称为WEB安全漏洞。
3.3App安全漏洞
智能机的性能的飞跃使得互联网的大部分应用兼容手机应用,手机应用的安全性就显得尤为重要,手机应用的安全性主要从APP安装包、APPweb应用的安全进行漏洞测试和漏洞修复。
3.4新业务安全漏洞
新业务安全漏洞指的是业务上线之初,由于线上业务进行安全测试需要考虑到业务的稳定性,部分漏洞无法进行很好的安全测试,因此而产生的安全漏洞,需要在业务上线前进行全面测试,避免类似隐患。
3.5源代码安全漏洞
源代码漏洞是指在程序设计之初,由于考虑不周等问题,导致写代码的时候,一些代码写的不完善,由此留下了可以被侵入的后门,从而产生的可能会对程序本身、系统或数据带来潜在危害的代码问题。源代码问题一旦被不法分子发现、利用,所造成的危害不可估量。代码漏洞可以表现在很多方面,算法本身或者代码本身的问题都可能会造成代码漏洞。
四、网络安全漏洞的发现与解决
4.1主机和网络设备安全漏洞
主机和设备漏洞扫描可以通过评估工具以远程扫描的方式对评估范围内的系统和网络进行安全扫描。通过扫描发现网络结构、网络设备、服务器主机、数据和用户账号/口令等安全对象目标存在的安全风险、漏洞和威胁,并对检查出来的弱口令、高风险漏洞进行手工验证。系统安全扫描在完成扫描后提交扫描结果、汇总表和报告,由安全服务厂家技术人员将现场协助对扫描结果进行分析,并提供相应的技术建议,并追踪漏洞漏洞修复情况,漏洞修复之后进行再次扫描验证漏洞是否修复,通过周期性循环此环节解决主机和网络设备安全问题。
4.2Web安全漏洞
Web安全可通过安全设备和人工渗透测试两种方式主动探测查找出安全漏洞,然后通知相关负责人进行漏洞修复进行解决。使用Web安全扫描设备对网站资产开展周期性安全扫描、对扫描出漏洞进行漏洞验证,确认漏洞是否存在。对漏洞整改提出可落地的漏洞修复建议。对网站资产开展定期渗透测试,深度全面发现各类网站漏洞,确保网站资产安全。Web渗透测试则遵循明确的测试方案,从主机设备、网络协议、web应用、手机APP、等方面进行全面的渗透测试,在确保覆盖年度owasptop10等主流类型的网站漏洞基础上检测出更多类型的漏洞。
4.3App安全漏洞
APP安全采用安全专家与半智能化工具相结合的服务方式,主动发现应用(包括Android和IOS)存在的安全风险和漏洞,漏洞发现主要从源代码保护,身份鉴别,权限管理,会话管理、数据存储安全、敏感信息安全、数据传输安全、异常处理、日志审计等方面进行APP安全检测发现,针对发现的漏洞提出合理整改意见,协助开发厂商对应用进行加固与修复,持续优化移动应用安全风险管控体系。
4.4新业务安全漏洞
上述安全测均是基于现有存在的业务的安全解决,由于线上业务在进行安全测试需要考虑到业务的稳定性,部分漏洞无法进行很好的安全测试,由此对于新上线的业务应从上线之前进行安全漏洞的彻底排除。新上线业务可将业务部署到执行的仿真业务测试环境中,有测试方提供较高权限的账号和权限进行全方位的安全测试,在此方案下解决上线之前解决安全问题,保护客户资产。
对新上线的业务系统及新上线设备进行以下安全检查方案:
1)安全漏洞检查并提供加固建议;
2)安全配置合规检查,依据集团安全配置规范,并提供相关系统的针对性加固规范书;
3)应用系统配置安全检查;
4)新上线业务如有互联网IP,须在互联网渗透测试;
5)新业务的安全域规划和边界访问控制策略;
6)网络改造协助提供安全审计、建议和整改方案;
7)新上线业务有Web网站,对网站程序全面检查,提供应用安全加固建议。
4.5源代码安全漏洞
以上几种安全检测均属于黑盒模糊测试,该种测试依靠安全工具和安全人员的经验来进行安全测试,此过程中必定存在测试盲区。由此需要进行代码审计,代码审计以人工和工具相结合互补的方式进行审计,彻底解决安全存在代码中的根病问题。代码审计工作方法从以下三方面开展:
1)应用访谈:主要通过对开发人员的安全访谈,审计应用系统整个安全架构和相应安全防护措施,评估其是否符合国际主流的安全架构设计要求。
2)工具审计:主要对和安全相关的几大环节代码进行工具扫描,发现程序代码是否存在病毒、常见安全漏洞等问题。
3)人工审计:人工对关键环节的代码以及进行逐行代码审计,分析程序代码安全性,发现安全漏洞,并对工具审计和应用访谈结果进行核实和验证,保证检查的完整性和真实性。
五、网络安全漏洞的复核检测
5.1渗透测试全面分析测试安全漏洞
自动化安全扫描工具免除安全工作人员大量的重复性简单化的漏洞测试过程,但对复杂性漏洞、逻辑性漏洞难以排查。人工渗透测试将很好的互补扫描器的不足,人工渗透测试将从整个网络进行综合性的渗透测试,以排查出整个网络中存在的网络安全隐患。渗透测试将从网络协议、操作系统、数据库、中间件、Web业务系统进行测试,尽可能的多方位、多角度人工排查分析出存在的安全漏洞。
5.1.1网络协议渗透测试
重点针对OSI模型的第一层到第三层:物理层的中间人攻击、数据链路层中的ARP欺骗测试、STP(SpanningTreeProtocol)生成树攻击测试、VTP(VLANTrunkingProtocol)攻击测试、网络层的若口扫描测试、MIB信息块进行读/写(SNMP)测试、Cisco设备口令字弱加密算法测试、FTP下载测试、各种路由写测试等相关协议测试,将测试出的漏洞进行整理输出报告,然后给相关网络设备负责人进行漏洞修复。
5.1.2操作系统渗透测试
主机渗透测试通过专业的漏洞扫描工具对相关主机进行漏洞扫描,协助人工收集主机的相关信息,同时通过社会工程学方式对相关主机进行人工信息收集,根据工具扫描及人工信息收集的信息进行相应的综合性的系统层渗透,根据拿到的信息进行分析,进行远程溢出、本地提权等测试。
5.1.3数据库渗透测试
一般的数据库有MSSQL、Oracle、DB2三种,各种数据库的攻击方法均不同。各数据库平台在各应用环境攻击方法大体相同,这里主要写注入攻击相关。
1)MSSQL渗透测试
利用SQL注入漏洞一般会有以下攻击效果:列出其他用户的数据,列出数据库内所有数据,渗透测试过程中会试着读取操作系统一些配置内容,甚至尝试取得控制数据库所承载操作系统的权限,如果会向数据库内写入文件,渗透测试工程师会详细记录写入数据的详细内容,以便渗透测试结束后,方便系统管理员恢复系统。
2)Oracle渗透测试
与mssql的攻击后果一样,但oracle数据库运行平台分两种,一种是windows,一种是linux/unix,受操作类型不同,造成的后果也有一定的差别,一般在运行在windows平台的注射后果和mssql一样,linux/unix平台所造成的后果则要小得多。但是两种平台的相同之处就是能取得数据库内所有数据,也可能向数据库插入数据,但渗透测试过程中,工程师如果有这类操作的话,会记录具体的过程,以便渗透测试工作结束后,利于系统的恢复。
3)DB2渗透测试
受限于DB2数据库的结构,攻击DB2数据库有较大的难度,目前发现的技术仅限于能取得操作系统信息、取出、写入数据,但仅凭这一点,也足够给应用系统带来致使的伤害,实际的渗透测试操作中,渗透工程师如果要往数据库内写入数据,会记录写在哪个表内,写入了什么数据,便于应用系统管理员渗透后恢复。
5.1.4中间件渗透测试
常见有IIS、Apache、Tomcat、Weblogic、Websphere等其它中间件,针对以上平台,不同的版本,有不同的漏洞利用方法,以上应用平台容易产生以下漏洞:
1)不安全的HTTP方法
IIS、Apache经常出现此类问题。当web目录权限配置不严格时,可能导致使用不安全的HTTP方法写入、删除或是更改文件,可能导致直接向web目录植入web页面或是木马。
2)源代码泄露
Tomcat中很容易出现该问题。由于版本过低或是补丁更新不及时,导致提交特殊请求,服务器会直接返回页面源代码。如Windows下Tomcat对大小写扩展名处理导致源代码泄露,IIS对空格处理导致源代码泄露等,利用得到的源代码,能进一步分析应用程序的结构。例如提交: