如何测试OWASP Top 10
Web应用程序的安全性至关重要,特别是随着数据处理量的增加和复杂性的增长,它们成为威胁的主要目标。
OWASP Top 10是一个广泛共识,代表了对Web应用程序最重要的安全风险。
它旨在突出最关键的Web应用程序漏洞,根据真实世界的数据和专家共识进行定期修订,为Web应用程序安全性的理解、测试和改进提供基准。
以下是2021年更新的OWASP Top 10。
1. 访问控制中断:指用户权限和权限实现中的缺陷,允许用户执行超出其预期权限的操作或访问数据。
测试策略包括创建多个测试帐户,尝试执行超出范围的操作,劫持或交换会话令牌,修改URL、隐藏字段或API请求中的参数。
2. 加密失败:与加密实现不当或使用过时算法有关,可能导致攻击者绕过加密技术,篡改Web应用程序或访问敏感数据。
测试策略包括审核已弃用方法或算法的加密做法,测试密钥管理实践,确保应用使用安全、更新的加密库。
3. 注入:允许攻击者构建恶意输入,欺骗应用程序执行意外命令,如SQL注入。
测试策略包括使用静态代码测试识别潜在漏洞,动态测试应用,确保应用验证并清理用户输入。
4. 不安全的设计:架构和基础选择缺乏安全考虑,可能导致应用程序容易受到攻击。
测试策略包括进行威胁建模,评估应用程序设计、数据流动和潜在弱点,确保基础层内置安全控制。
5. 安全配置错误:安全设置和控件实现不当可能导致Web应用程序暴露。
测试策略包括定期手动检查和审核配置,使用自动扫描程序和安全工具,监视敏感信息泄漏的错误消息。
6. 易受攻击和过时的组件:第三方库、插件、框架等存在已知漏洞但未被更新的组件可能导致Web应用程序受到攻击。
测试策略包括维护组件清单,与漏洞数据库交叉引用,使用自动化工具扫描依赖项。
7. 失效身份验证和会话管理:身份验证机制缺陷使攻击者能够冒充合法用户或绕过身份验证检查,导致未经授权的数据访问、身份盗窃和用户帐户接管。
测试策略包括检查密码策略、会话管理,尝试操作或重放cookie。
8. 软件和数据完整性故障:应用程序无法确保数据和代码的真实性和可信度,可能导致未经授权的修改风险。
测试策略包括篡改传输数据,操作文件或库,检查验证机制。
9. 安全日志记录和监控故障:活动记录不足或无法主动检测和实时响应恶意行为可能导致盲点。
测试策略包括定期查看日志,确保监视关键组件,查看监视工具配置。
10. 服务器端请求伪造:攻击者操纵web应用程序,使其代表服务器向内部资源或第三方系统发出不必要的请求,促进网络基础设施的横向移动和数据泄露。
测试策略包括使用URL方案尝试访问非HTTP资源,模拟前端请求访问后端API,查找指示漏洞的详细错误消息。
定期Web应用程序安全测试的重要性:OWASP Top 10强调了Web应用程序漏洞对组织风险的重大影响,需要组织进行定期安全测试,而不是仅一年一次。
每次代码更新、基础架构更改或新功能添加都可能引入潜在漏洞,持续的警惕和定期测试是必不可少的。
网站安全检测工具专家推荐五个免费的网络安全工具
导读:在一个完美的世界里,信息安全从业人员有无限的安全预算去做排除故障和修复安全漏洞的工作。
但是,正如你将要学到的那样,你不需要无限的预算取得到高质量的产品。
这里有网站专家Michael Cobb推荐的五个免费的软件。
这些软件不仅能够帮助你将强你的网络安全,而且还能够使你不用花预算的钱。
NmapNmap(网络映射器,Network Mapper)是一种开源软件网络勘察和安全审计工具,是许多需要映射和测试其网络安全漏洞的网络管理员选择的工具。
Nmap采用了广泛的端口扫描技术,旨在快速扫描大型和小型网络。
Nmap不仅能鉴别计算机的操作系统及其提供的服务的特征,而且还能够鉴别网络上使用的数据包过滤器和防火墙的类型。
通过运行Nmap,你能够发现一台机器上的哪一个端口是可见的并且能够发现这些端口运行什么服务,使你能够记录或者找出你的网络的弱点在什么地方。
Nmap的映射功能还能够让你发现自从上一次扫描以来是否发生了什么意料之外的变化。
例如,你能够看到一台被蠕虫感染的机器是否正在设法打开一个端口以便听取它的控制者发出的指令。
虽然Nmap能够告诉你在一个网络上有什么机器和服务,但是,鉴别能够被黑客利用的服务的最快方式是使用一个安全扫描器。
这就是我的列表中的下一个免费软件Nessus.① 200多本网络安全系列电子书② 网络安全标准题库资料③ 项目源码④ 网络安全基础入门、Linux、web安全、攻防方面的视频⑤ 网络安全学习路线图⑥ 私信“安全”获取NessusNessus计划是从1998年开始实施的,其目标是提供一个免费的、功能强大的、最新的和使用方便的远程安全扫描器。
目前,Nessus是高级的安全扫描器之一,包括SANS研究所在内的许多信息安全机构都采用这个软件。
Nessus经常首先推出新的功能,例如,它不仅能够检测远程安全漏洞,而且还能检测本地安全漏洞和网络主机没有使用的补丁,而不管这些主机运行的是Windows、Mac OS X还是一种类似于Unix的操作系统。
顺便说一下,Nessus在每一次扫描开始的时候都要调用其它的一些关键的功能包括多服务测试。
如果一台主机正在多次运行一个服务,Nessus将每一次都对这个服务进行测试。
此外,Nessus的智能服务识别功能能够识别在非标准端口运行的服务。
Nessus还能够测试HTTPS和SMTPS等SSL服务。
许多安全扫描器仅仅进行“安全的”非破坏性的安全审计,而Nessus能够显示一台主机如何承受入侵者的攻击。
Nessus安全检查数据库每一天都更新,每一个安全测试都写作一个外部插件。
这是检查指定安全漏洞的一种简单的程序。
这个插件是用Nessus攻击脚本语言编写的,能够在虚拟机上的控制环境中运行,从而使Nessus成为一种极为安全的扫描器。
目前,Nessus使用1万多种不同的插件,通过RSS传输的所有最新的安全检查能够让你监视增加了哪些插件和什么时候增加的。
Nessus已经在各种规模的网络上经过了广泛的测试和证明。
微软基线安全分析器和Windows服务器更新服务保持系统安装最新的补丁是具有挑战性的。
微软认识到了这个问题并把它的免费的基线安全分析器(MBSA)第二版与Windows服务器更新服务(WSUS)结合在了一起以便使补丁管理流程更加流畅。
MBSA检查普通的安全错误设置以及Windows计算机操作系统和Office应用软件中漏掉的安全更新。
MBSA生成的报告显示没有通过根据微软的安全建议实施的检查项目的严重程度,并且提供如何修复这个问题的具体指南,包括提供包含这些补丁的安全公告的链接。
每一个安全公告还包含有关注册表值的信息、文件版本和设置变化。
你可以用这些信息验证这个补丁是不是正确安装了。
MBSA可以同微软更新和WSUS一起使用。
WSUS能够让你从微软下载更新程序并且把这些更新程序发布给你的客户机。
WSUS的一个关键的功能是能够有针对性地向具体的计算机发布补丁。
虽然WSUS还不支持向第三方应用程序增加更新程序,但是,它能够使修复微软的产品更容易。
基准检验工具在你进行扫描、检查和使用补丁修复你的网络主机之后,能够检查你的操作系统或者应用程序设置是否符合行业当前最佳标准是不是很好?有一种这样的工具。
互联网安全中心(CIS)提供的免费的基准检验和记分工具提供一种快捷和方便的方法,让你评估你的系统并且把你的系统的安全水平与CIS最低的基准标准进行比较。
各种报告能够指导你如何增强你新的和现用的系统的安全,确保那些安全设置符合基准中指定的设置。
随着新的安全漏洞的发现,所有这些设置都要保持最新状态。
这些基准是独特的,并不是因为这些设置和行动是无人知晓的,而是因为全球数百个安全专业人员的共识已经定义了这些独特的设置。
CIS一级的基准规定了最低限度关照的谨慎水平,没有任何安全知识也可以使用,因为它不能引起任何操作系统的服务中断,也不会引起在操作系统上运行的应用程序的中断。
CIS二级基准超过了最低限度的水平,主要是供拥有足够的安全知识的系统管理员使用的。
系统管理员可以在考虑到操作系统和在独特的环境中运行的应用程序的情况下使用它。
你和你的系统都可以免费地从这个知识、技术和经验中受益,因此,你不要浪费这个机会!OpenSSH我推荐的最后一个高级的免费软件是OpenSSH.我认为,让应用程序安全地向其它资源证明自己的身份最佳方法之一是使用SSH(安全外壳,Secure Shell)。
只要服务之间的连接使用TCP协议,它们就能够使用SSH通道相互识别并且提高防御不同种类攻击的安全性能。
例如,SSH能够加密口令和Web与数据库服务器之间的网络通讯,从而防止窃听、IP欺骗、IP源路由、DNS欺骗和其它网络级的攻击。
OpenSSH是一种实施SSH功能的非常好的、免费的、开源软件,支持SSH 1.3、1.5和2.0协议标准。
采用OpenSSH,加密在身份识别之前就开始了,不需要以明文发送口令和其它信息,从而消除了窃听、连接劫持和其它攻击。
加密还可以用来防御欺骗性的数据包。
此外,OpenSSH提供了安全隧道功能和一些其它身份识别方法,如公共密钥、一次性口令和Kerberos验证。
SSH是一种很好的、没有充分利用的通讯协议。
因此,为什么不使用OpenSSH来提高你的网络通讯的安全呢?
IPSec VPN与SSL VPN具体有什么区别?
在比较 IPsec VPN与 SSL VPN 的之前需要做的第一步是确定组织及其用户的要求,并确定 VPN 最重要的特性和功能。
那么通过下面这张图可以直观的看出IPsec VPN和 SSL VPN 之间的区别,图片下面的文字内容是加以补充和扩展,更有助于您详细的了解两者之间的区别:
性能:对于现代硬件,IPsec 和 SSL VPN 使用的加密类型通常不会导致性能问题,但组织应该使用基准测试来测试 VPN 候选者。
IPsec VPN 使用客户端上的一个软件配置客户端和服务器之间的隧道,这可能需要相对较长的设置过程;通过 Web 浏览器运行的 SSL VPN 通常能够更快地建立连接。
安全性:一种类型的 VPN 不一定在所有情况下都更安全。
确定哪种类型的 VPN 更安全的最重要因素是组织基于其 VPN 要求的威胁模型。
每种 VPN 类型都应根据组织要防御的攻击类型进行评估。
所使用的加密算法的安全性很重要,但实现的其他组件的安全性也很重要。
数据认证:VPN 可以加密所有传输的数据,但它们也可以添加数据认证以防止篡改,通过使用强大的加密认证算法来验证数据在 VPN 客户端和服务器之间的传输过程中没有被修改。
但是,它们确实需要安全的密钥交换机制来启用身份验证。
虽然 SSL/TLS[1] 协议包含密钥交换算法的协商,但 IPsec 依赖外部协议 Internet 密钥交换来实现此目的。
攻击防御:对 IPsec VPN 和 SSL VPN 的攻击——以及对这些攻击的防御——将根据底层 VPN 协议、实现和附加功能而有所不同。
IPsec 和 SSL VPN 之间的主要区别在于每种协议的端点不同。
IPsec VPN 通常支持远程访问整个网络以及该网络上提供的所有设备和服务。
如果攻击者获得对安全隧道的访问权限,他们可能能够访问专用网络上的任何内容。
SSL 支持设备、特定系统和应用程序之间的连接,因此攻击面更加有限。
客户端安全性:虽然 IPsec 协议是 TCP/IP 套件的一部分,但它并不总是作为支持 TCP/IP 的操作系统的默认组件来实现。
相比之下,SSL VPN 依赖于 TLS,它默认包含在 Web 浏览器中,以及许多其他应用层协议。
因此,比较 IPsec 和 SSL VPN 应该包括考虑客户端如何连接和使用 VPN,以及这些选项的安全性。
实施者应考虑客户端如何连接到 VPN、启用 VPN 的客户端的攻击面和 VPN 用户配置文件。
VPN 网关:SSL VPN 网关可能会启用更精细的配置选项,以限制对受保护网络上特定系统或服务的访问。
IPsec VPN 产品的网关的可配置性可能要低得多。
虽然他们可能添加了数据包过滤功能,使策略或配置能够限制对受保护网络的特定 IP 地址或子集的访问,但应注意避免增加不必要的复杂性和软件附加组件带来的额外安全风险。
在任何一种情况下,都可以考虑在网络访问控制系统旁边部署 VPN,该系统可以通过基于明确定义的策略限制对网络资源的访问来增强整体安全性。
端到端网络:TLS用于传输层,即在进程之间进行通信的网络层。
相比之下,IPsec 在网络层运行,在该层中,具有 IP 地址的网络节点之间进行通信。
当受保护的 VPN 电路的任一端位于使用网络地址转换 ( NAT) 虚拟化 IP 地址的网络上时,这使得保护端到端加密更加困难。
使用 IPsec VPN,实现跨 NAT 网关的安全通信需要额外的配置和管理。
虽然 IPsec 和 SSL VPN 之间的许多差异可归因于正在实施的底层协议之间的差异,但也应考虑具体的实施。