近年来,网络安全实战演习受到各大关基单位的高度关注。对于网络安全实战演习的防守方,防火墙、Web应用防火墙、态势感知、EDR、蜜罐等都是较为常见的防守工具,而网页防篡改系统则鲜有露脸的机会——

很多人认为,网页防篡改系统只是用来保护门户网站的,特别是针对静态门户网站时,才有它的价值。

而在网络安全实战演习中,攻击队根本不会将火力指向网页防篡改系统的保护对象。因此,网页防篡改系统在这个场景下缺乏应用价值。

之所以产生这样的观念,和网页防篡改产品的现状有着很大的关系。目前,市场上大部分的网页防篡改产品都着眼于在网页篡改发生的前后,对篡改行为或篡改后果进行处置。这种“头痛医头,脚痛医脚”的思路让网页防篡改产品在不以篡改网页为攻击目标的场景中显得缺乏实用价值。

一个 Web 应用之所以会发生文件被篡改的事件,通常是管理、运维、对抗能力等多方面原因共同促就的。所以把文件“锁住”或是发现篡改即时恢复,是通过抑制篡改现象来实现狭义上的防篡改。而从安全治理的角度出发,就需要细究造成篡改的原因,立足于 Web 应用安全的整体视角,从管理、运维、对抗能力多个维度上入手治理 Web 应用系统的缺陷和隐患。

如果我们从攻击者的视角来分析网页篡改,就不难发现:实施一次篡改攻击,其实意味着攻击者已经击穿了防守方的防线,而不只是在外围隔靴搔痒。基于当下防守方在网络安全实战演习中的防护策略,任何外网应用系统上的网页防篡改系统如果侦测到了篡改攻击,那么必然意味着攻击者已经掌握了该应用系统的控制权。即便攻击者因为网页防篡改系统的阻拦,并未成功实施篡改攻击,但通过其所掌握的应用系统控制权会造成内网横移等更严重的安全问题。

因此在网络安全实战演习中,网页防篡改系统首先扮演了哨兵的角色。Web 应用系统作为防守的前沿阵地,所有的攻击火力都是由此展开和深入的。及时判断 Web 应用系统是否被攻陷,对于防守方来说是启动应急处置时非常重要的信号。

网页防篡改系统是网站安全的最后一道防线

防篡改既是终点 更是起点



对于一些财大气粗的防守方来说,安全产品上的很全,因此,网页防篡改系统的哨兵作用,就被态势感知、HIDS 等其他产品所取代。但由于 HVV 范围的扩大和常态化,很多防守方并没有靠“银弹”来打造防线的实力。而网页防篡改系统是大部分等保3级以上单位必备的安全产品,因此,打破“网页防篡改系统只能用来保护网页”的固有观念,将网页防篡改系统部署到 HVV 涉及的 Web 应用系统上,保护各类能通过互联网访问到的文件,进而通过监测这些文件的异常变化来让网页防篡改系统成为 HVV 哨兵,不失为一种具有创意的利旧方案。

当然,网页防篡改系统要能在 HVV 中扮演好哨兵的角色,还需要产品本身提供除了文件写保护或文件恢复之外,更丰富的功能。例如,在 iGuard6.0 中,防护对象不再局限于网页文件,中间件配置文件、上传文件、应用系统相关文件 (在 iGuard6.0 中称为动态文件) 等各种通过互联网能够接触到的文件都能被当做防护对象监测并防护起来。同时,iGuard6.0 的防护机制也分为常态防护和对抗防护两种类型。常态防护机制包括对 WebShell 的排查和清理、对文件完整性和合法驻留权进行定时检查、检查文件类型与内容是否一致等不依赖于攻击而触发的防护手段,因此只要通过 Lua 工具箱等辅助工具的灵活配置使用,就可以作为发现文件遭篡改后的应急处置手段。对抗防护机制不仅仅可以监测并阻止篡改,同时也对异常操作主体 (通常为进程) 详细信息、异常操作行为详情 (例如:被篡改文件快照) 等关键信息进行记录,可以为事后的研判溯源提供数据支撑。

将 iGuard 作为 HVV 哨兵,在 2021 年的 HVV 中也得到了一些实际验证。在 2021 年 HVV 期间,某大型企业在其近 500 台互联网可访问的服务器上部署了 iGuard,而在其中某一台服务器上产生了一次告警,引起该企业客户的高度重视,随即召集了与该服务器和应用系统相关的厂商以 iGuard 记录的攻击详情为线索进行研判,最后成功追溯出攻击者的攻击路径:攻击者拿到了应用的内部账号,绕过了交互验证,成功登录应用;应用系统内部有一个废弃组件具有上传功能,攻击者利用该上传功能上传文件,被 iGuard 拦截并记录了上传文件的详细信息。

网页防篡改系统虽然并不是为 HVV 量身打造的安全产品,但如果应用得当,它在 HVV 中也能发挥不小的作用。在 HVV 常态化的未来,巧妙使用每一个安全产品,使之既能在平时稳定可靠地履行它本该履行的安全职责,又能在战时发挥出奇兵的作用,才能让每一笔安全上的投入都能产生出尽可能大的价值。(天存信息)

HVV奇兵—网页防篡改系统在网络安全实战演习中的妙用(上)的更多相关文章

  1. 基于Volley,Gson封装支持JWT无状态安全验证和数据防篡改的GsonRequest网络请求类

    这段时间做新的Android项目的client和和REST API通讯框架架构设计.使用了非常多新技术,终于的方案也相当简洁优雅.client仅仅须要传Java对象,server端返回json字符串, ...

  2. Java工作流引擎关于数据加密流程(MD5数据加密防篡改)

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统 流程数据加密  md5  数据保密流程数据防篡改 ...

  3. JavaScript中的防篡改对象

    由于JavaScript共享的特性,任何对象都可以被放在同一环境下运行的代码修改. 例如: var person = {name:"caibin'} person.age = 21; 即使第 ...

  4. WebApi系列~安全校验中的防篡改和防复用

    回到目录 web api越来越火,因为它的跨平台,因为它的简单,因为它支持xml,json等流行的数据协议,我们在开发基于面向服务的API时,有个问题一直在困扰着我们,那就是数据的安全,请求的安全,一 ...

  5. 01WebApi防篡改机制---HMAC机制

    防篡改,顾名思义就是防止有人恶意篡改请求数据URL以达到恶意攻击的目的,那要怎么才能实现这样的目的呢? 很简单,将要请求的数据加上合作号.合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将 ...

  6. 网站如何防Session冒名顶替和cookie防篡改

    做网站难免要面对安全性的问题,诸如sql注入拉,cookie冒名拉,等等,sql注入算是老生常谈,翻翻旧账有不少优秀的帖子在说明这个问题,所以我们来说说Session冒名顶替的风险以及应对的办法. 首 ...

  7. cookie防篡改

    概述: 除了 session 外,一般不会在客户端的 cookies 里保存过于重要的凭据,但电商应用有时候不可避免地存储了一些敏感数据到客户端,当然不希望被篡改. 目的: 让服务器端能识别cooki ...

  8. 直接拨号、将电话号码传入拨号程序、调用拨号程序、调用系统浏览器浏览网页、调用系统程序查看联系人、显示系统设置界面和显示Wi-Fi设置界面代码

    直接拨号.将电话号码传入拨号程序.调用拨号程序.调用系统浏览器浏览网页.调用系统程序查看联系人.显示系统设置界面和显示Wi-Fi设置界面代码 拨打号码的代码如下: Intent callIntent= ...

  9. WebAPI 用户认证防篡改实现HMAC(二)签名验证 AbsBaseAuthenticationAttribute--转

    public class ActionFilter : ActionFilterAttribute      {          public override void OnActionExecu ...

随机推荐

  1. Golang使用swaggo自动生成Restful API文档

    #关于Swaggo 相信很多程序猿和我一样不喜欢写API文档.写代码多舒服,写文档不仅要花费大量的时间,有时候还不能做到面面具全.但API文档是必不可少的,相信其重要性就不用我说了,一份含糊的文档甚至 ...

  2. IOS开发之UIScrollView约束布局

    概要 在iOS开发学习中,UIScrollView是绕不过去的一个重要控件. 但是相对于Android的ScrollView,iOS的这个滚动控件的用法简直是复杂一万倍... 最主要是目前能找到的大部 ...

  3. Java-爬虫-小项目

    爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 项目地址:https://gitee.com/zwtgit/java-reptile 导入依赖,写一个工具类 <depend ...

  4. JDK源码阅读(3):AbstractStringBuilder、StringBuffer、StringBuilder类阅读笔记

    AbstractStringBuilder abstract class AbstractStringBuilder implements Appendable, CharSequence{ ... ...

  5. 专访阿里云 Serverless 负责人:无服务器不会让后端失业

    2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...

  6. C++类结构体与json相互转换

    1. 背景与需求 之前写C#的时候,解析json字符串一般使用的是开源的类库Newtonsoft.Json,方法十分简洁,比如: class Project { public string Input ...

  7. sql提示1055 不让你group by

    是不是突然写好的sql语句 部署上去就 Expression #2 of SELECT list is not in GROUP BY clause and containsnonaggregated ...

  8. 用C++实现的数独解题程序 SudokuSolver 2.4 及实例分析

    SudokuSolver 2.4 程序实现 本次版本实现了 用C++实现的数独解题程序 SudokuSolver 2.3 及实例分析 里发现的第三个不完全收缩 grp 算法 thirdGreenWor ...

  9. 【UE4】GAMES101 图形学作业4:贝塞尔曲线

    总览 Bézier 曲线是一种用于计算机图形学的参数曲线. 在本次作业中,你需要实现de Casteljau 算法来绘制由4 个控制点表示的Bézier 曲线(当你正确实现该算法时,你可以支持绘制由更 ...

  10. 第五课第四周笔记1:Transformer Network Intuition 变压器网络直觉

    目录 Transformer Network Intuition 变压器网络直觉 Transformer Network Intuition 变压器网络直觉 深度学习中最令人兴奋的发展之一是 Tran ...