如何用AI技术降噪? QCon 广州“音视频架构实践”专场给你答案! 了解详情
写点什么

Web 应用程序遭黑客入侵的五大征兆

  • 2015 年 11 月 15 日
  • 本文字数:1632 字

    阅读完需:约 5 分钟

大多数针对 Web 应用程序的攻击都非常隐蔽,不容易发现。从 2015 威瑞森数据泄漏调查报告来看,攻击者平均可以在网络上潜伏 205 天不被发现。许多组织都是从其他人那里发现安全受到了威胁。近日,InfoWorld 资深编辑 Fahmida Y. Rashid 在一篇文章中分析了Web 应用程序遭黑客入侵的五大征兆,并提出了一些确保应用程序安全的建议。

征兆1:应用程序行为反常

应用程序监控是发现可疑行为的最好方式。 Fahmida 提到了以下几种异常行为:

  • 从数据库中渲染结果页面的时间比以前长了;
  • 应用程序在意料之外的时间展示页面,或者将用户重定向到不同的页面;
  • 在没有营销活动的情况下,网络流量陡增。

不过,这些指标都不能明确地说明应用程序遭到了黑客入侵。但及早调查异常行为的原因总是好过出现了问题再去调查。所以要定期同生产环境中的应用程序进行交互以达到分析正常行为的目的。这样,一旦有异常行为就可以立即发现并展开调查。

征兆 2:日志信息异常

如果设置得当,日志可以很好地提供攻击信息。Fahmida 分析了如何从以下三类日志中发现异常的日志信息:

  • 数据库日志:从数据库日志中可以查到意料之外的查询;如果数据库日志中短期内出现了多个错误,那么可能有人在尝试 SQL 注入;
  • Web 服务器日志:Web 服务器软件会记录出站和入站连接,并针对未经授权的访问或恶意活动记录警告信息;Web 服务器通常只会发起到内部数据库的连接,如果存在到公网 IP 的连接,那么就需要检查一下原因;Web 服务器同其它内部资源(如个人文件共享目录、个人电脑)通信也可能是一个遭到入侵的线索;
  • 应用程序日志:如果应用程序创建了管理员级别的账户或者其它特权账户,就要验证下该账户是否合法;从应用程序日志中可以查到时间或地点异常的访问;如果与表单提交或页面加载相关的错误增加,那么有可能是页面遭到了修改。

征兆 3:发现了新的进程、用户或任务

定期监控服务器进程,检测服务器何时产生了未知进程,或者已知进程在不正常的时间运行。未知进程通常是应用程序遭到入侵的重大线索。

定期监控服务器上用户的创建,尤其是那些请求提升权限的用户。如果某个用户不应该请求提升权限或进行 root 访问,那可能是攻击者使用了偷来的凭证。

定期检查 Linux 服务器上的 crontab 任务和 Windows 服务器上的 Scheduled Tasks,并与正常的条目做对比。如果出现了新的任务,那可能是应用程序行为异常的线索。

征兆 4:文件异常修改

攻击者可能会通过注入 JavaScript 或重写模块向应用程序添加恶意代码。检查文件时间戳,确保文件没有在未经授权的情况下被修改。如果文件被修改了,那么要搞清楚,与先前的版本相比发生了什么变化。有一些工具可以扫描应用程序查找恶意代码,如 Sucuri

Web 根目录中出现新文件也是个问题,尤其是脚本或其它类型的可执行文件。如果在 Web 根目录或服务器上其它地方意外发现了新文件,那么攻击者可能正在利用应用程序向没有防备的访问者提供恶意软件,或者通过运行脚本将他们重定向到其它地方。

如果应用程序使用了第三方插件,那么要确保它们在升级或安装前会进行提示。

征兆 5:收到警告信息

如果应用程序在积极传播恶意软件,那么其它安全工具可能会发现,比如浏览器会有安全提示。可以定期通过其它浏览器访问 Web 应用程序,看看是否有提示信息。此外,还要监控社交媒体和服务台上用户的抱怨邮件。

Fahmida 还给出了发现问题后的处理方法。首先,备份应用程序和服务器,用于后续调查取证。如果要从备份还原,那么一定要确保备份中没有恶意软件。其次,应用程序还原完成后,修改所有的密码,包括CMS、管理员账户及个人服务的密码。必要时启用双重认证及设置VPN 访问。另外,删除不必要的写权限,避免使用默认密码。最后,定期升级服务器及个人电脑的操作系统和第三方软件。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 11 月 15 日 18:001981
用户头像

发布了 1008 篇内容, 共 340.3 次阅读, 收获喜欢 325 次。

关注

评论

发布
暂无评论
发现更多内容

第十一周课后练习

Binary

数字化人才有哪些特性?

boshi

数字化转型 七日更

从架构设计理念到集群部署,全面认识KubeEdge

华为云开发者联盟

架构 容器 云原生 集群 kubeedge

ARTS打卡 第30周

引花眠

微服务 ARTS 打卡计划

第6周作业

MR.X

week11 作业

zbest

第十一周 学习总结

简简单单

同时拿到BATJMD的Offer是怎样的一种体验?

冰河

面试 面经 offer 一起进大厂 BATJMD

Python进阶丨如何创建你的第一个Python元类?

华为云开发者联盟

Python 编程 python元类 对象 装饰器

ZEGO即构自建MSDN有序网络,为实时音视频传输极致顺畅!

ZEGO即构

程序员防猝死指南

小白debug

程序员 职业 内存 打工人 Go 语言

即拼商城模式开发

luluhulian

2 期架构师训练营 - 第十三周作业与总结

Vicente

架构师训练营第2期

第十二周总结

jizhi7

产品 0 期 - 第四/五周作业

Jxin

第十一周 安全稳定知识课后作业

简简单单

华云大咖说 | 大型分布式监控系统建设经验

华云数据

我用 Python 分析了一波热卖年货,原来大家都在买这些东西?

JackTian

Python 数据分析 数据可视化 2月春节不断更 年货

第十三周-总结

jizhi7

MyChat,一个私有的“微信“

芒果很忙

Java 微信 Netty IM JavaFx

图文详解:如何给女朋友解释什么是微服务?

浅羽技术

Java zookeeper 分布式 微服务 框架

对接量化钱包区块链开发

v16629866266

如何极速极速搭建个人博客?Copy攻城狮用的这一招很优秀!

华为云开发者联盟

JavaScript typescript GitHub React #Serverless

嘿,同学,你要的Java内存模型(JMM)来了

Simon郎

Java 大数据 JVM

编程范式( Programming paradigm )简介

引花眠

编程范式

与前端训练营的日子 -- Week15

SamGo

学习

第11周学习总结

Binary

大作业一:

未来已来

记录一次BAT一线互联网公司前端JavaScript面试

我是哪吒

JavaScript 学习 面试 大前端 2月春节不断更

3. 无转折不编程,滚雪球学 Python

梦想橡皮擦

Python python从入门到精通 2月春节不断更 python入门

笔记本电脑电池显示4%可用(已接通电源),经过清灰又莫名奇妙的可以续航啦,很奇怪!

孙叫兽

电脑故障 电池

「云智公开课」百度沧海·存储

「云智公开课」百度沧海·存储

Web应用程序遭黑客入侵的五大征兆_安全_谢丽_InfoQ精选文章