HVV奇兵—网页防篡改系统在网络安全实战演习中的妙用(上)
近年来,网络安全实战演习受到各大关基单位的高度关注。对于网络安全实战演习的防守方,防火墙、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奇兵—网页防篡改系统在网络安全实战演习中的妙用(上)的更多相关文章
- 基于Volley,Gson封装支持JWT无状态安全验证和数据防篡改的GsonRequest网络请求类
这段时间做新的Android项目的client和和REST API通讯框架架构设计.使用了非常多新技术,终于的方案也相当简洁优雅.client仅仅须要传Java对象,server端返回json字符串, ...
- Java工作流引擎关于数据加密流程(MD5数据加密防篡改)
关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单 拖拽式表单 工作流系统 流程数据加密 md5 数据保密流程数据防篡改 ...
- JavaScript中的防篡改对象
由于JavaScript共享的特性,任何对象都可以被放在同一环境下运行的代码修改. 例如: var person = {name:"caibin'} person.age = 21; 即使第 ...
- WebApi系列~安全校验中的防篡改和防复用
回到目录 web api越来越火,因为它的跨平台,因为它的简单,因为它支持xml,json等流行的数据协议,我们在开发基于面向服务的API时,有个问题一直在困扰着我们,那就是数据的安全,请求的安全,一 ...
- 01WebApi防篡改机制---HMAC机制
防篡改,顾名思义就是防止有人恶意篡改请求数据URL以达到恶意攻击的目的,那要怎么才能实现这样的目的呢? 很简单,将要请求的数据加上合作号.合作Key按规则组织成一个字符串,获取对应的MD5摘要,然后将 ...
- 网站如何防Session冒名顶替和cookie防篡改
做网站难免要面对安全性的问题,诸如sql注入拉,cookie冒名拉,等等,sql注入算是老生常谈,翻翻旧账有不少优秀的帖子在说明这个问题,所以我们来说说Session冒名顶替的风险以及应对的办法. 首 ...
- cookie防篡改
概述: 除了 session 外,一般不会在客户端的 cookies 里保存过于重要的凭据,但电商应用有时候不可避免地存储了一些敏感数据到客户端,当然不希望被篡改. 目的: 让服务器端能识别cooki ...
- 直接拨号、将电话号码传入拨号程序、调用拨号程序、调用系统浏览器浏览网页、调用系统程序查看联系人、显示系统设置界面和显示Wi-Fi设置界面代码
直接拨号.将电话号码传入拨号程序.调用拨号程序.调用系统浏览器浏览网页.调用系统程序查看联系人.显示系统设置界面和显示Wi-Fi设置界面代码 拨打号码的代码如下: Intent callIntent= ...
- WebAPI 用户认证防篡改实现HMAC(二)签名验证 AbsBaseAuthenticationAttribute--转
public class ActionFilter : ActionFilterAttribute { public override void OnActionExecu ...
随机推荐
- Go变量与基础数据类型
一.基础介绍 Go 是静态(编译型)语言,是区别于解释型语言的弱类型语言(静态:类型固定,强类型:不同类型不允许直接运算) 例如 python 就是动态强类型语言 1.Go 的特性: 跨平台的编译型语 ...
- SpringMVC的数据输出
使用 @Controller public class OutputController { @RequestMapping("/handle01") public String ...
- webRTC中语音降噪模块ANS细节详解(一)
ANS(adaptive noise suppression) 是webRTC中音频相关的核心模块之一,为众多公司所使用.从2015年开始,我在几个产品中使用了webRTC的3A(AEC/ANS/AG ...
- 单体应用 适合采用 dapr 构建吗?
缘起今天在微信群里有同学问 "纯.net 项目,有必要上dapr吗?" 当时不假思索的说不是微服务没必要,其他群友也说没必要.下午细想了一下,觉得这个和微服务没有关系,如果我的应用 ...
- 【c++ Prime 学习笔记】第10章 泛型算法
标准库未给容器添加大量功能,而是提供一组独立于容器的泛型算法 算法:它们实现了一些经典算法的公共接口 泛型:它们可用于不同类型的容器和不同类型的元素 利用这些算法可实现容器基本操作很难做到的事,例如查 ...
- Github 29K Star的开源对象存储方案——Minio入门宝典
对象存储不是什么新技术了,但是从来都没有被替代掉.为什么?在这个大数据发展迅速地时代,数据已经不单单是简单的文本数据了,每天有大量的图片,视频数据产生,在短视频火爆的今天,这个数量还在增加.有数据表明 ...
- [对对子队]会议记录5.17(Scrum Meeting4)
今天已完成的工作 何瑞 工作内容:实现选择组件,搭建第7关 相关issue:实现选择组件 相关签入:feature:完成Lv7的UI搭建 吴昭邦 工作内容:实现选择组件,搭建第7关 ...
- netty传输java bean对象
在上一篇博客(netty入门实现简单的echo程序)中,我们知道了如何使用netty发送一个简单的消息,但是这远远是不够的.在这篇博客中,我们来使用netty发送一个java bean对象的消息,但是 ...
- FastAPI 学习之路(三十三)操作数据库
通过创建pydantic模型进行验证提交数据 from pydantic import BaseModel class UserBase(BaseModel): email: str class Us ...
- 通过Envoy实现.NET架构的网关
什么是Gateway 在微服务体系结构中,如果每个微服务通常都会公开一组精细终结点,这种情况可能会有以下问题 如果没有 API 网关模式,客户端应用将与内部微服务相耦合. 在客户端应用中,单个页面/屏 ...