近年来,网络安全实战演习受到各大关基单位的高度关注。对于网络安全实战演习的防守方,防火墙、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. P4780-Phi的反函数【dfs】

    正题 题目链接:https://www.luogu.com.cn/problem/P4780 题目大意 给出\(n\),求一个最小的\(x\)满足\(\varphi(x)=n\). 若不存在或者大于\ ...

  2. ThreadLocal底层

    1. 首先我们来看一下他的使用 public class ThreadLocalTest { public static void main(String[] args) { MyThread thr ...

  3. 使用VisualStudioCode开发Vue

    前言 本文主要介绍在VisualStudioCode下开发Vue. Nodejs.Npm.Vue的项目搭建参考下面文章. 用后台开发的逻辑理念学习VUE 在Windows下学习Nodejs.Npm和V ...

  4. JS中call,apply,bind的区别

    1.关于this对象的指向,请看如下代码 var name = 'jack'; var age = 18; var obj = { name:'mary', objAge:this.age, myFu ...

  5. bzoj2460元素(线性基,贪心)

    题目大意: 给定\(n\)个二元组\((a,b)\),求一个最大的\(\sum b\)的集合,满足这个集合的任意子集的\(a\)的\(xor\)值不为0 这道题需要一个线性基的性质: 线性基的任何非空 ...

  6. 8086的复位与启动 CPU执行指令的步骤

    东北大学-计算机硬件技术基础 CPU执行指令的步骤 取指令 Fetch 指令译码 Decode 执行指令 Execute 回写 Write-back 修改指令指针 取指令 将CS和IP的内容通过地址加 ...

  7. 写了10000条Airtest截图脚本总结出来的截图经验,赶紧收藏!

    前言 今天想先给大家分享1个小白用户的Airtest从入门到放弃的故事: 小A是一个自动化的小白,在逛测试论坛的时候,偶然间发现了Airtest这个基于图像识别的UI自动化框架. 出于好奇,小A试用了 ...

  8. Java基础-Java8新特性

    一.Lambda表达式 在了解 Lambda 之前,首先回顾以下Java的方法. Java的方法分为实例方法,例如:Integer的equals()方法: public final class Int ...

  9. [敏捷软工团队博客]Beta阶段项目展示

    团队成员简介和个人博客地址 头像 姓名 博客园名称 自我介绍 PM 测试 前端 后端 dzx 秃头院的大闸蟹 大闸蟹是1706菜市场里无菜可卖的底层水货.大闸蟹喜欢音乐(但可惜不会),喜欢lol(可惜 ...

  10. 【二食堂】Alpha - 事后分析

    事后分析 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? Alpha阶段要解决的问题是:根据用户标注的信息完成知识图谱的生成渲染.要解决的问题定义得比较 ...