微信号:infoqchina

介绍:有内容的技术社区媒体

Q新闻丨Web应用程序遭黑客入侵五大征兆;Google将集成云日志与云监控服务;Neo4j发布开源图查询语言openCypher

2015-11-16 08:10 Q新闻
Web应用程序遭黑客入侵五大征兆


大多数针对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访问。另外,删除不必要的写权限,避免使用默认密码。最后,定期升级服务器及个人电脑的操作系统和第三方软件。


Google将集成云日志与云监控服务


近日,谷歌宣布将要在它的云服务平台上增加新的功能,这将实现云日志服务和云监控服务的有效整合。谷歌提供这些新功能的目的是使用户在监控自己程序运行状态的同时,能够在云日志记录和云监控服务间快速切换。


目前谷歌云日志服务和云监控服务都被开发者广泛使用着。云日志服务的作用是记录其云平台中所发生的事件。云监控服务则帮助开发人员或管理员监控其程序服务的运行状况,并在阈值超出极值的时候,发出警告。这些工具目前的缺陷就是它们是彼此独立运行的。


产品经理Deepak Tiwari已经认识到这些问题,并试图着手改善用户体验。他说,“当特定的事件发生时,或参数超过某一特定的值时,亦或计数器超过某阈值时,我们希望得到及时的提醒。然而,现有监控工具并不允许使用者方便地将日志连接到监视控制台。随着这项新功能的推出,谷歌云监控增加了现有即时指标从日志中导入相关内容的功能。”


新整合的功能目前正在测试阶段,但在发布时将提供以下功能:


  • 基于日志的度量可以让开发人员通过过滤器表达式创建一个检索,例如当HTTP状态编码为500时输出全部日志条目。有了这个检索功能,日志条目就可以被添加到云监控仪表板中。开发者还能设置阈值来关闭这些的报警功能,使得更重要的指标能更醒目。


在最近公开的日志中,谷歌提供了这些功能运作的细节。下图详细的展示了日志检索功能转化为监控仪表板的过程。



  • 高级日志过滤器支持更复杂的基于布尔表达式过滤,支持时间范围设定、采样率设定、过滤元数据或用户自定义字段功能。

  • 从图表钻取到日志能帮助用户从监测仪表盘钻取到特定的日志来解决问题。这样,开发人员可能正在监控其服务运行状态。当他们发现一个反常现象时,如系统资源高峰期,他们就可以钻取到那段时间的日志中展开进一步诊断。


谷歌增加这些新特性的目标之一就是减少用户在日志和监控工具之间切换的时间。这是一个用户在使用上不够便捷的地方,但新功能的早期使用者已经从中获得了便利。正如Q42的工程师Arjen van der Ende所描述的那种:“我们拥有大量有价值的日志数据,但却缺乏从大量数据中搜集有效数据的能力。我们尝试了一些开源的解决方案,但是有效地管理这些产生的日志却是一项艰巨的工作。现在,我们可以向运行着的系统中增加新的度量来帮助我们诊断问题并监控新的情况。”


Neo4j发布开源图查询语言openCypher


Neo4j的NoSQL图数据库团队发布了开源图查询语言openCypher。这款图数据库背后的公司Neo Technology,在上周的GraphConnect大会上宣布,此次推出的开源项目,将提供查询图数据的通用语言技术。


openCypher是基于Neo4j的查询语言Cypher开发的,Cypher用于在图数据库中存储和检索数据。在图数据库领域,目前还没有像关系数据库中访问数据的SQL,这样的通用查询语言标准。

openCypher的目标是通过简化存储、分析,以及用于访问图数据模型的工具平台,促进图处理和分析的使用。技术厂商可以在他们的工具和平台内实现Cypher。


openCypher提供了四个主要构件:


  • 语言规范:使用创作共用许可,Cypher语言规范是语言语法的专业表达,能使解析器自动生成查询语法。openCypher项目还将计划完成一个完整的语义规范。

  • 参考实现:参考实现使用Apache 2.0许可分发,包含支持Cypher的数据平台或工具中所需的技术栈的全部关键功能。计划最先交付的是解析器,将采用Cypher声明,并解析成一个AST(抽象语法树)表示。

  • TCK:技术兼容包(TCK)包含测试,软件供应商可以在其产品上运行,支持给定Cypher版本的自我认证。

  • Cypher参考文档:Cypher发布版本的参考文档,包含了描述使用Cypher查询语言的示例和教程的用户文档。


已有多家公司支持了openCypher。其中包括Oracle、Databricks(Apache Spark背后的公司)、Tableau和Linkurious。


  • 版权归属InfoQ,禁止商业用途抄袭转载



荐文



自荐


『 InfoQ原创作者招募第一期 』

如果你自信是技术人才,有领域专长,有从业经验,有职业态度,有观点灼见,来InfoQ原创专家作者团,写你感兴趣的文章,分享你独到的观点,给有共鸣的人看……


长按二维码

进入原创作者投稿交流群




 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 开发中最常见的Java字符串问题总结 线程安全-ThreadLocal 梯度下降法求解线性回归之matlab实现 【译】Android Studio、Android SDK在线更新 ReactNative动画研究与实践