WEB应用及数据库安全关键技术都有哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WEB应用及数据库安全关键技术都有哪些相关的知识,希望对你有一定的参考价值。
参考技术A 一.虚拟网技术虚拟网技术主要基于近年发展的局域网交换技术(ATM和以太网交换)。交换技术将传统的基于广播的局域网技术发展为面向连接的技术。因此,网管系统有能力限制局域网通讯的范围而无需通过开销很大的路由器。由以上运行机制带来的网络安全的好处是显而易见的:信息只到达应该到达的地点。因此、防止了大部分基于网络监听的入侵手段。通过虚拟网设置的访问控制,使在虚拟网外的网络节点不能直接访问虚拟网内节点。但是,虚拟网技术也带来了新的安全问题:执行虚拟网交换的设备越来越复杂,从而成为被攻击的对象。基于网络广播原理的入侵监控技术在高速交换网络内需要特殊的设置。基于MAC的VLAN不能防止MAC欺骗攻击。以太网从本质上基于广播机制,但应用了交换器和VLAN技术后,实际上转变为点到点通讯,除非设置了监听口,信息交换也不会存在监听和插入(改变)问题。但是,采用基于MAC的VLAN划分将面临假冒MAC地址的攻击。因此,VLAN的划分最好基于交换机端口。但这要求整个网络桌面使用交换端口或每个交换端口所在的网段机器均属于相同的VLAN。网络层通讯可以跨越路由器,因此攻击可以从远方发起。IP协议族各厂家实现的不完善,因此,在网络层发现的安全漏洞相对更多,如IP sweep, teardrop, sync-flood, IP spoofing攻击等。二.防火墙枝术网络防火墙技术是一种用来加强网络之间访问控制,防止外部网络用户以非法手段通过外部网络进入内部网络,访问内部网络资源,保护内部网络操作环境的特殊网络互联设备.它对两个或多个网络之间传输的数据包如链接方式按照一定的安全策略来实施检查,以决定网络之间的通信是否被允许,并监视网络运行状态.防火墙产品主要有堡垒主机,包过滤路由器,应用层网关(代理服务器)以及电路层网关,屏蔽主机防火墙,双宿主机等类型.虽然防火墙是保护网络免遭黑客袭击的有效手段,但也有明显不足:无法防范通过防火墙以外的其它途径的攻击,不能防止来自内部变节者和不经心的用户们带来的威胁,也不能完全防止传送已感染病毒的软件或文件,以及无法防范数据驱动型的攻击.自从1986年美国Digital公司在Internet上安装了全球第一个商用防火墙系统,提出了防火墙概念后,防火墙技术得到了飞速的发展.国内外已有数十家公司推出了功能各不相同的防火墙产品系列.防火墙处于5层网络安全体系中的最底层,属于网络层安全技术范畴.在这一层上,企业对安全系统提出的问题是:所有的IP是否都能访问到企业的内部网络系统如果答案是"是",则说明企业内部网还没有在网络层采取相应的防范措施.作为内部网络与外部公共网络之间的第一道屏障,防火墙是最先受到人们重视的网络安全产品之一.虽然从理论上看,防火墙处于网络安全的最底层,负责网络间的安全认证与传输,但随着网络安全技术的整体发展和网络应用的不断变化,现代防火墙技术已经逐步走向网络层之外的其他安全层次,不仅要完成传统防火墙的过滤任务,同时还能为各种网络应用提供相应的安全服务.另外还有多种防火墙产品正朝着数据安全与用户认证,防止病毒与黑客侵入等方向发展.1、使用Firewall的益处保护脆弱的服务通过过滤不安全的服务,Firewall可以极大地提高网络安全和减少子网中主机的风险。例如,Firewall可以禁止NIS、NFS服务通过,Firewall同时可以拒绝源路由和ICMP重定向封包。控制对系统的访问Firewall可以提供对系统的访问控制。如允许从外部访问某些主机,同时禁止访问另外的主机。例如,Firewall允许外部访问特定的Mail Server和Web Server。集中的安全管理Firewall对企业内部网实现集中的安全管理,在Firewall定义的安全规则可以运用于整个内部网络系统,而无须在内部网每台机器上分别设立安全策略。如在Firewall可以定义不同的认证方法,而不需在每台机器上分别安装特定的认证软件。外部用户也只需要经过—次认证即可访问内部网。增强的保密性使用Firewall可以阻止攻击者获取攻击网络系统的有用信息,如Finger和DNS。记录和统计网络利用数据以及非法使用数据Firewall可以记录和统计通过Firewall的网络通讯,提供关于网络使用的统计数据,并且,Firewall可以提供统计数据,来判断可能的攻击和探测。策略执行Firewall提供了制定和执行网络安全策略的手段。未设置Firewall时,网络安全取决于每台主机的用户。2、 设置Firewall的要素网络策略影响Firewall系统设计、安装和使用的网络策略可分为两级,高级的网络策略定义允许和禁止的服务以及如何使用服务,低级的网络策略描述Firewall如何限制和过滤在高级策略中定义的服务。服务访问策略服务访问策略集中在Internet访问服务以及外部网络访问(如拨入策略、SLIP/PPP连接等)。服务访问策略必须是可行的和合理的。可行的策略必须在阻止己知的网络风险和提供用户服务之间获得平衡。典型的服务访问策略是:允许通过增强认证的用户在必要的情况下从Internet访问某些内部主机和服务;允许内部用户访问指定的Internet主机和服务。Firewall设计策略Firewall设计策略基于特定的firewall,定义完成服务访问策略的规则。通常有两种基本的设计策略:允许任何服务除非被明确禁止;禁止任何服务除非被明确允许。通常采用第二种类型的设计策略。3、 Firewall的基本分类包过滤型包过滤型产品是防火墙的初级产品,其技术依据是网络中的分包传输技术.网络上的数据都是以"包"为单位进行传输的,数据被分割成为一定大小的数据包,每一个数据包中都会包含一些特定信息,如数据的源地址,目标地址,TCP/UDP源端口和目标端口等.防火墙通过读取数据包中的地址信息来判断这些"包"是否来自可信任的安全站点 ,一旦发现来自危险站点的数据包,防火墙便会将这些数据拒之门外.系统管理员也可以根据实际情况灵活制订判断规则.包过滤技术的优点是简单实用,实现成本较低,在应用环境比较简单的情况下,能够以较小的代价在一定程度上保证系统的安全.但包过滤技术的缺陷也是明显的.包过滤技术是一种完全基于网络层的安全技术,只能根据数据包的来源,目标和端口等网络信息进行判断,无法识别基于应用层的恶意侵入,如恶意的Java小程序以及电子邮件中附带的病毒.有经验的黑客很容易伪造IP地址,骗过包过滤型防火墙.网络地址转换(NAT)是一种用于把IP地址转换成临时的,外部的,注册的IP地址标准.它允许具有私有IP地址的内部网络访问因特网.它还意味着用户不许要为其网络中每一台机器取得注册的IP地址.在内部网络通过安全网卡访问外部网络时,将产生一个映射记录.系统将外出的源地址和源端口映射为一个伪装的地址和端口,让这个伪装的地址和端口通过非安全网卡与外部网络连接,这样对外就隐藏了真实的内部网络地址.在外部网络通过非安全网卡访问内部网络时,它并不知道内部网络的连接情况,而只是通过一个开放的IP地址和端口来请求访问.OLM防火墙根据预先定义好的映射规则来判断这个访问是否安全.当符合规则时,防火墙认为访问是安全的,可以接受访问请求,也可以将连接请求映射到不同的内部计算机中.当不符合规则时,防火墙认为该访问是不安全的,不能被接受,防火墙将屏蔽外部的连接请求.网络地址转换的过程对于用户来说是透明的,不需要用户进行设置,用户只要进行常规操作即可.代理型代理型防火墙也可以被称为代理服务器,它的安全性要高于包过滤型产品,并已经开始向应用层发展.代理服务器位于客户机与服务器之间,完全阻挡了二者间的数据交流.从客户机来看,代理服务器相当于一台真正的服务器;而从服务器来看,代理服务器又是一台真正的客户机.当客户机需要使用服务器上的数据时,首先将数据请求发给代理服务器,代理服务器再根据这一请求向服务器索取数据,然后再由代理服务器将数据传输给客户机.由于外部系统与内部服务器之间没有直接的数据通道,外部的恶意侵害也就很难伤害到企业内部网络系统.代理型防火墙的优点是安全性较高,可以针对应用层进行侦测和扫描,对付基于应用层的侵入和病毒都十分有效.其缺点是对系统的整体性能有较大的影响,而且代理服务器必须针对客户机可能产生的所有应用类型逐一进行设置,大大增加了系统管理的复杂性。监测型监测型防火墙是新一代的产品,这一技术实际已经超越了最初的防火墙定义.监测型防火墙能够对各层的数据进行主动的,实时的监测,在对这些数据加以分析的基础上,监测型防火墙能够有效地判断出各层中的非法侵入.同时,这种检测型防火墙产品一般还带有分布式探测器,这些探测器安置在各种应用服务器和其他网络的节点之中,不仅能够检测来自网络外部的攻击,同时对来自内部的恶意破坏也有极强的防范作用.据权威机构统计,在针对网络系统的攻击中,有相当比例的攻击来自网络内部.因此,监测型防火墙不仅超越了传统防火墙的定义,而且在安全性上也超越了前两代产品虽然监测型防火墙安全性上已超越了包过滤型和代理服务器型防火墙,但由于监测型防火墙技术的实现成本较高,也不易管理,所以在实用中的防火墙产品仍然以第二代代理型产品为主,但在某些方面也已经开始使用监测型防火墙.基于对系统成本与安全技术成本的综合考虑,用户可以选择性地使用某些监测型技术.这样既能够保证网络系统的安全性需求,同时也能有效地控制安全系统的总拥有成本.实际上,作为当前防火墙产品的主流趋势,大多数代理服务器(也称应用网关)也集成了包过滤技术,这两种技术的混合应用显然比单独使用具有更大的优势.由于这种产品是基于应用的,应用网关能提供对协议的过滤.例如,它可以过滤掉FTP连接中的PUT命令,而且通过代理应用,应用网关能够有效地避免内部网络的信息外泄.正是由于应用网关的这些特点,使得应用过程中的矛盾主要集中在对多种网络应用协议的有效支持和对网络整体性能的影响上。4、 建设Firewall的原则分析安全和服务需求以下问题有助于分析安全和服务需求:√ 计划使用哪些Internet服务(如http,ftp,gopher),从何处使用Internet服务(本地网,拨号,远程办公室)。√ 增加的需要,如加密或拔号接入支持。√ 提供以上服务和访问的风险。√ 提供网络安全控制的同时,对系统应用服务牺牲的代价。策略的灵活性Internet相关的网络安全策略总的来说,应该保持一定的灵活性,主要有以下原因:√ Internet自身发展非常快,机构可能需要不断使用Internet提供的新服务开展业务。新的协议和服务大量涌现带来新的安全问题,安全策略必须能反应和处理这些问题。√ 机构面临的风险并非是静态的,机构职能转变、网络设置改变都有可能改变风险。远程用户认证策略√ 远程用户不能通过放置于Firewall后的未经认证的Modem访问系统。√ PPP/SLIP连接必须通过Firewall认证。√ 对远程用户进行认证方法培训。拨入/拨出策略√ 拨入/拨出能力必须在设计Firewall时进行考虑和集成。√ 外部拨入用户必须通过Firewall的认证。Information Server策略√ 公共信息服务器的安全必须集成到Firewall中。√ 必须对公共信息服务器进行严格的安全控制,否则将成为系统安全的缺口。√ 为Information server定义折中的安全策略允许提供公共服务。√ 对公共信息服务和商业信息(如email)讲行安全策略区分。Firewall系统的基本特征√ Firewall必须支持.“禁止任何服务除非被明确允许”的设计策略。√ Firewall必须支持实际的安全政策,而非改变安全策略适应Firewall。√ Firewall必须是灵活的,以适应新的服务和机构智能改变带来的安全策略的改变。√ Firewall必须支持增强的认证机制。√ Firewall应该使用过滤技术以允许或拒绝对特定主机的访问。√ IP过滤描述语言应该灵活,界面友好,并支持源IP和目的IP,协议类型,源和目的TCP/UDP口,以及到达和离开界面。√ Firewall应该为FTP、TELNET提供代理服务,以提供增强和集中的认证管理机制。如果提供其它的服务(如NNTP,http等)也必须通过代理服务器。√ Firewall应该支持集中的SMTP处理,减少内部网和远程系统的直接连接。√ Firewall应该支持对公共Information server的访问,支持对公共Information server的保护,并且将Information server同内部网隔离。√ Firewall可支持对拨号接入的集中管理和过滤。√ Firewall应支持对交通、可疑活动的日志记录。√ 如果Firewall需要通用的操作系统,必须保证使用的操作系统安装了所有己知的安全漏洞Patch。√ Firewall的设计应该是可理解和管理的。√ Firewall依赖的操作系统应及时地升级以弥补安全漏洞。5、选择防火墙的要点(1) 安全性:即是否通过了严格的入侵测试。(2) 抗攻击能力:对典型攻击的防御能力(3) 性能:是否能够提供足够的网络吞吐能力(4) 自我完备能力:自身的安全性,Fail-close(5) 可管理能力:是否支持SNMP网管(6) VPN支持(7) 认证和加密特性(8) 服务的类型和原理(9)网络地址转换能力三.病毒防护技术病毒历来是信息系统安全的主要问题之一。由于网络的广泛互联,病毒的传播途径和速度大大加快。我们将病毒的途径分为:(1 ) 通过FTP,电子邮件传播。(2) 通过软盘、光盘、磁带传播。(3) 通过Web游览传播,主要是恶意的Java控件网站。(4) 通过群件系统传播。病毒防护的主要技术如下:(1) 阻止病毒的传播。在防火墙、代理服务器、SMTP服务器、网络服务器、群件服务器上安装病毒过滤软件。在桌面PC安装病毒监控软件。(2) 检查和清除病毒。使用防病毒软件检查和清除病毒。(3) 病毒数据库的升级。病毒数据库应不断更新,并下发到桌面系统。(4) 在防火墙、代理服务器及PC上安装Java及ActiveX控制扫描软件,禁止未经许可的控件下载和安装。四.入侵检测技术利用防火墙技术,经过仔细的配置,通常能够在内外网之间提供安全的网络保护,降低了网络安全风险。但是,仅仅使用防火墙、网络安全还远远不够:(1) 入侵者可寻找防火墙背后可能敞开的后门。(2) 入侵者可能就在防火墙内。(3) 由于性能的限制,防火焰通常不能提供实时的入侵检测能力。入侵检测系统是近年出现的新型网络安全技术,目的是提供实时的入侵检测及采取相应的防护手段,如记录证据用于跟踪和恢复、断开网络连接等。实时入侵检测能力之所以重要首先它能够对付来自内部网络的攻击,其次它能够缩短hacker入侵的时间。入侵检测系统可分为两类:√ 基于主机√ 基于网络基于主机的入侵检测系统用于保护关键应用的服务器,实时监视可疑的连接、系统日志检查,非法访问的闯入等,并且提供对典型应用的监视如Web服务器应用。基于网络的入侵检测系统用于实时监控网络关键路径的信息,其基本模型如右图示:上述模型由四个部分组成:(1) Passive protocol Analyzer网络数据包的协议分析器、将结果送给模式匹配部分并根据需要保存。(2) Pattern-Matching Signature Analysis根据协议分析器的结果匹配入侵特征,结果传送给Countermeasure部分。(3) countermeasure执行规定的动作。(4) Storage保存分析结果及相关数据。基于主机的安全监控系统具备如下特点:(1) 精确,可以精确地判断入侵事件。(2) 高级,可以判断应用层的入侵事件。(3) 对入侵时间立即进行反应。(4) 针对不同操作系统特点。(5) 占用主机宝贵资源。基于网络的安全监控系统具备如下特点:(1) 能够监视经过本网段的任何活动。(2) 实时网络监视。(3) 监视粒度更细致。(4) 精确度较差。(5) 防入侵欺骗的能力较差。(6) 交换网络环境难于配置。基于主机及网络的入侵监控系统通常均可配置为分布式模式:(1) 在需要监视的服务器上安装监视模块(agent),分别向管理服务器报告及上传证据,提供跨平台的入侵监视解决方案。(2) 在需要监视的网络路径上,放置监视模块(sensor),分别向管理服务器报告及上传证据,提供跨网络的入侵监视解决方案。选择入侵监视系统的要点是:(1) 协议分析及检测能力。(2) 解码效率(速度)。(3) 自身安全的完备性。(4) 精确度及完整度,防欺骗能力。(5) 模式更新速度。五.安全扫描技术网络安全技术中,另一类重要技术为安全扫描技术。安全扫描技术与防火墙、安全监控系统互相配合能够提供很高安全性的网络。安全扫描工具源于Hacker在入侵网络系统时采用的工具。商品化的安全扫描工具为网络安全漏洞的发现提供了强大的支持。安全扫描工具通常也分为基于服务器和基于网络的扫描器。基于服务器的扫描器主要扫描服务器相关的安全漏洞,如password文件,目录和文件权限,共享文件系统,敏感服务,软件,系统漏洞等,并给出相应的解决办法建议。通常与相应的服务器操作系统紧密相关。基于网络的安全扫描主要扫描设定网络内的服务器、路由器、网桥、变换机、访问服务器、防火墙等设备的安全漏洞,并可设定模拟攻击,以测试系统的防御能力。通常该类扫描器限制使用范围(IP地址或路由器跳数)。网络安全扫描的主要性能应该考虑以下方面:(1) 速度。在网络内进行安全扫描非常耗时。(2) 网络拓扑。通过GUI的图形界面,可迭择一步或某些区域的设备。(3) 能够发现的漏洞数量。(4) 是否支持可定制的攻击方法。通常提供强大的工具构造特定的攻击方法。因为网络内服务器及其它设备对相同协议的实现存在差别,所以预制的扫描方法肯定不能满足客户的需求。(5) 报告,扫描器应该能够给出清楚的安全漏洞报告。(6) 更新周期。提供该项产品的厂商应尽快给出新发现的安生漏洞扫描特性升级,并给出相应的改进建议。安全扫描器不能实时监视网络上的入侵,但是能够测试和评价系统的安全性,并及时发现安全漏洞。六. 认证和数宇签名技术认证技术主要解决网络通讯过程中通讯双方的身份认可,数字签名作为身份认证技术中的一种具体技术,同时数字签名还可用于通信过程中的不可抵赖要求的实现。认证技术将应用到企业网络中的以下方面:(1) 路由器认证,路由器和交换机之间的认证。(2) 操作系统认证。操作系统对用户的认证。(3) 网管系统对网管设备之间的认证。(4) VPN网关设备之间的认证。(5) 拨号访问服务器与客户间的认证。(6) 应用服务器(如Web Server)与客户的认证。(7) 电子邮件通讯双方的认证。数字签名技术主要用于:(1) 基于PKI认证体系的认证过程。(2) 基于PKI的电子邮件及交易(通过Web进行的交易)的不可抵赖记录。认证过程通常涉及到加密和密钥交换。通常,加密可使用对称加密、不对称加密及两种加密方法的混合。UserName/Password认证该种认证方式是最常用的一种认证方式,用于操作系统登录、telnet、rlogin等,但由于此种认证方式过程不加密,即password容易被监听和解密。使用摘要算法的认证Radius(拨号认证协议)、路由协议(OSPF)、SNMP Security Protocol等均使用共享的Security Key,加上摘要算法(MD5)进行认证,由于摘要算法是一个不可逆的过程,因此,在认证过程中,由摘要信息不能计算出共享的security key,敏感信息不在网络上传输。市场上主要采用的摘要算法有MD5和SHA-1。基于PKI的认证使用公开密钥体系进行认证和加密。该种方法安全程度较高,综合采用了摘要算法、不对称加密、对称加密、数字签名等技术,很好地将安全性和高效率结合起来。后面描述了基于PKI认证的基本原理。这种认证方法目前应用在电子邮件、应用服务器访问、客户认证、防火墙验证等领域。该种认证方法安全程度很高,但是涉及到比较繁重的证书管理任务。常见的操作系统漏洞都有哪些怎么解决
参考技术A再强大再安全的 操作系统 ,也会出现一些漏洞从而被病毒攻击。那么如何解决漏洞被攻击的问题呢?下面由我整理了常见的操作系统漏洞及解决 方法 ,希望对你有帮助。
常见的操作系统漏洞及解决方法
常见的操作系统漏洞一、 SQL注入漏洞
SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
通常情况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交;
(4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等;
(5)一些边缘的输入点,比如.mp3文件的一些文件信息等。
SQL注入的危害不仅体现在数据库层面上,还有可能危及承载数据库的操作系统;如果SQL注入被用来挂马,还可能用来传播恶意软件等,这些危害包括但不局限于:
(1)数据库信息泄漏:数据库中存放的用户的隐私信息的泄露。作为数据的存储中心,数据库里往往保存着各类的隐私信息,SQL注入攻击能导致这些隐私信息透明于攻击者。
(2)网页篡改:通过操作数据库对特定网页进行篡改。
(3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
(4)数据库被恶意操作:数据库服务器被攻击,数据库的系统管理员帐户被篡改。
(5)服务器被远程控制,被安装后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
(6)破坏硬盘数据,瘫痪全系统。
解决SQL注入问题的关键是对所有可能来自用户输入的数据进行严格的检查、对数据库配置使用最小权限原则。 通常使用的方案有:
(1)所有的查询语句都使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中。当前几乎所有的数据库系统都提供了参数化SQL语句执行接口,使用此接口可以非常有效的防止SQL注入攻击。
(2)对进入数据库的特殊字符('"\\<>&*;等)进行转义处理,或编码转换。
(3)确认每种数据的类型,比如数字型的数据就必须是数字,数据库中的存储字段必须对应为int型。
(4)数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。
(5)网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。
(6)严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。
(7)避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。
(8)在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。
常见的操作系统漏洞二、 跨站脚本漏洞
跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。
XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
XSS类型包括:
(1)非持久型跨站:即反射型跨站脚本漏洞,是目前最普遍的跨站类型。跨站代码一般存在于链接中,请求这样的链接时,跨站代码经过服务端反射回来,这类跨站的代码不存储到服务端(比如数据库中)。上面章节所举的例子就是这类情况。
(2)持久型跨站:这是危害最直接的跨站类型,跨站代码存储于服务端(比如数据库中)。常见情况是某用户在论坛发贴,如果论坛没有过滤用户输入的Javascript代码数据,就会导致其他浏览此贴的用户的浏览器会执行发贴人所嵌入的Javascript代码。
(3)DOM跨站(DOM XSS):是一种发生在客户端DOM(Document Object Model文档对象模型)中的跨站漏洞,很大原因是因为客户端脚本处理逻辑导致的安全问题。
XSS的危害包括:
(1)钓鱼欺骗:最典型的就是利用目标网站的反射型跨站脚本漏洞将目标网站重定向到钓鱼网站,或者注入钓鱼JavaScript以监控目标网站的表单输入,甚至发起基于DHTML更高级的钓鱼攻击方式。
(2)网站挂马:跨站时利用IFrame嵌入隐藏的恶意网站或者将被攻击者定向到恶意网站上,或者弹出恶意网站窗口等方式都可以进行挂马攻击。
(3)身份盗用:Cookie是用户对于特定网站的身份验证标志,XSS可以盗取到用户的Cookie,从而利用该Cookie盗取用户对该网站的操作权限。如果一个网站管理员用户Cookie被窃取,将会对网站引发巨大的危害。
(4)盗取网站用户信息:当能够窃取到用户Cookie从而获取到用户身份使,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。
(5)垃圾信息发送:比如在SNS社区中,利用XSS漏洞借用被攻击者的身份发送大量的垃圾信息给特定的目标群。
(6)劫持用户Web行为:一些高级的XSS攻击甚至可以劫持用户的Web行为,监视用户的浏览历史,发送与接收的数据等等。
(7)XSS蠕虫:XSS 蠕虫可以用来打 广告 、刷流量、挂马、恶作剧、破坏网上数据、实施DDoS攻击等。
常用的防止XSS技术包括:
(1)与SQL注入防护的建议一样,假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。
(2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。
(3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。
(4)对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。
(5)在发布应用程序之前测试所有已知的威胁。
常见的操作系统漏洞三、 弱口令漏洞
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被解除工具解除的口令均为弱口令。设置密码通常遵循以下原则:
(1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
(2)口令长度不小于8个字符。
(3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。
(4)口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。
(5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。
(6)口令不应该为用数字或符号代替某些字母的单词。
(7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。
(8)至少90天内更换一次口令,防止未被发现的入侵者继续使用该口令。
常见的操作系统漏洞四、 HTTP报头追踪漏洞
HTTP/1.1(RFC2616)规范定义了HTTP TRACE方法,主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息。当Web服务器启用TRACE时,提交的请求头会在服务器响应的内容(Body)中完整的返回,其中HTTP头很可能包括Session Token、Cookies或 其它 认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE请求可以通过客户浏览器脚本发起(如XMLHttpRequest),并可以通过DOM接口来访问,因此很容易被攻击者利用。
防御HTTP报头追踪漏洞的方法通常禁用HTTP TRACE方法。
常见的操作系统漏洞五、 Struts2远程命令执行漏洞
Apache Struts是一款建立Java web应用程序的开放源代码架构。Apache Struts存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java代码。
网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD处置过诸多此类漏洞,例如:“GPS车载卫星定位系统”网站存在远程命令执行漏洞(CNVD-2012-13934);Aspcms留言本远程代码执行漏洞(CNVD-2012-11590)等。
修复此类漏洞,只需到Apache官网升级Apache Struts到最新版本:http://struts.apache.org
常见的操作系统漏洞六、 框架钓鱼漏洞(框架注入漏洞)
框架注入攻击是针对Internet Explorer 5、Internet Explorer 6、与 Internet Explorer 7攻击的一种。这种攻击导致Internet Explorer不检查结果框架的目的网站,因而允许任意代码像Javascript或者VBScript跨框架存取。这种攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。
如果应用程序不要求不同的框架互相通信,就可以通过完全删除框架名称、使用匿名框架防止框架注入。但是,因为应用程序通常都要求框架之间相互通信,因此这种方法并不可行。 因此,通常使用命名框架,但在每个会话中使用不同的框架,并且使用无法预测的名称。一种可行的方法是在每个基本的框架名称后附加用户的会话令牌,如main_display。
常见的操作系统漏洞七、 文件上传漏洞
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。
常见的操作系统漏洞八、 应用程序测试脚本泄露
由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞以WEB进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交的数据,有效检测攻击。
常见的操作系统漏洞九、 私有IP地址泄露漏洞
IP地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令,Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP包头信息,再根据这些信息了解具体的IP。
针对最有效的“数据包分析方法”而言,就可以安装能够自动去掉发送数据包包头IP信息的一些软件。不过使用这些软件有些缺点,譬如:耗费资源严重,降低计算机性能;访问一些论坛或者网站时会受影响;不适合网吧用户使用等等。现在的个人用户采用最普及隐藏IP的方法应该是使用代理,由于使用代理服务器后,“转址服务”会对发送出去的数据包有所修改,致使“数据包分析”的方法失效。一些容易泄漏用户IP的网络软件(QQ、MSN、IE等)都支持使用代理方式连接Internet,特别是QQ使用“ezProxy”等代理软件连接后,IP版的QQ都无法显示该IP地址。虽然代理可以有效地隐藏用户IP,但攻击者亦可以绕过代理,查找到对方的真实IP地址,用户在何种情况下使用何种方法隐藏IP,也要因情况而论。
常见的操作系统漏洞十、 未加密登录请求
由于Web配置不安全,登陆请求把诸如用户名和密码等敏感字段未加密进行传输,攻击者可以窃听网络以劫获这些敏感信息。建议进行例如SSH等的加密后再传输。
常见的操作系统漏洞十一、 敏感信息泄露漏洞
SQL注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露,攻击者可以通过漏洞获得敏感信息。针对不同成因,防御方式不同。
以上是关于WEB应用及数据库安全关键技术都有哪些的主要内容,如果未能解决你的问题,请参考以下文章