网络安全 频道

利用第三方软件漏洞发起的攻击如何阻击

    注意异常连接和系统日志

    有种错误认识,认为系统安装了防火墙和防病毒程序就能有效地防御针对漏洞的攻击。但从TCP/IP分层结构来考虑,防火墙是工作在传输层的,而漏洞溢出攻击的代码往往是针对应用层的程序,因此对这类攻击是无法检测的。

    防火墙的特性是它能够对所有进出的连接加以控制,仅依赖防火墙的默认配置规则是不够安全的。管理员需要制定严格的访问规则,仅打开需要对外提供服务的端口。这样即使黑客能够通过漏洞打开系统的某个端口,但由于该端口受防火墙的阻挡,黑客也无法建立连接。

    还有些攻击程序是端口反弹型的,程序会在溢出后主动连接黑客计算机上的某个端口,这样黑客就能通过一个反向的连接来控制被攻击的计算机。一般情况下,防火墙对进站连接的控制较严,而对于出站连接的管理较松,因此,黑客常常能成功实施攻击。所以,当发现异常的出站连接时,管理员需要认真分析,找出发起连接的进程,检查进程的用户名和连接的目的端口(如使用Process Explorer程序),结合经验判断是正常的连接还是非法的反向连接。

    当发生溢出攻击时,服务程序会出现意外错误,管理员还可以通过检查应用程序的日志记录,了解错误发生的来源、频度、时间、类型等详细内容,依此判断是否遭受攻击。
合理限制服务程序的权限

    当黑客利用漏洞成功溢出后,得到一个远程连接的Cmdshell,这个Cmdshell的权限往往继承了被溢出的服务程序的初始权限,而大部分服务都是运行在系统的System账户权限下的,该账户的权限甚至超过系统中的Administrator账户。也就是说,如果溢出成功,黑客将成为系统中的管理员。

    虽然很大一部分系统内置的服务程序需要以System账户权限启动,但也有不少服务程序可以选择启动时的用户账户。对于这样的服务程序,我们可以在系统中建立一个较小权限的账户,并使用该账户启动服务程序。这样即使出现了漏洞,黑客也只能得到一个较小权限的Cmdshell。

1
相关文章