利用面向公众的应用程序
使用软件,数据或命令利用计算机系统或程序中的缺陷以便引起意外或未预料到的行为。系统中的缺陷可以是错误,故障或设计漏洞。这些应用程序通常是网站,但可以包括数据库(如SQL)标准服务(如SMB或SSH),网络设备管理和管理协议(如SNMP和SMART安装),以及具有Internet访问开放套接字的任何其他应用程序,如Web服务器和相关服务。这可能包括防御规避的利用,这取决于利用的漏洞。
如果应用程序托管基于云的基础架构和/或容器化,则利用它可能导致底层实例或容器妥协。这可以允许对云或集装箱API的攻击路径,通过转义主机来利用容器主机访问,或利用薄弱的身份和访问管理策略。
对于网站和数据库,OWASP前10名和CWE Top 25突出显示最常见的基于Web的漏洞。
缓解
应用程序隔离和最小化特权有助于降低exploit的影响。应用程序隔离将限制被利用的目标对其它进程和系统功能的访问。
Web应用程序防火墙可用于限制应用程序的曝露,以防止流量到达应用程序。
服务帐户的特权最小化将限制被利用的进程对系统其余部分的权限。
使用DMZ或在独立的托管基础设施,将面向外部的服务器和服务与网络的其他部分分离。
在设计用于部署到外部系统的自定义软件时,请遵循安全编码最佳实践。避免OWASP、CWE和其它软件缺陷识别工作中所记录的问题。
定期对面向外部的系统进行漏洞扫描,并制定相应的程序,使得通过扫描和公开披露发现关键漏洞,迅速对系统打补丁
检测
监视应用程序日志中可能表明尝试或成功进行漏洞利用的异常行为。使用深度包检测来查找常见exploit流量的工件,例如SQL注入。 Web应用程序防火墙可能检测到尝试漏洞利用的不正确输入。