【HW系列】事前准备(5):互联网风险收敛

news/2024/11/16 3:34:15/文章来源:https://www.cnblogs.com/o-O-oO/p/18328184

本章为该系列的第5篇,也是事前准备阶段的第5篇。前4篇重点讲的是组织方面的准备工作,从这一篇开始,让我们正式进入安全技术防控的部分,这一篇来聊聊如何进行互联网风险收敛。

一、互联网系统下线

系统下线是最直接有效的方法,也是防守方常用的手段,所以演习前会看到很多来自官方的业务下线通知,还有些主页能访问,但是点击任何功能都提示系统在维护。

遇到这种情况免不了要被攻击队嘲笑一番,打不过就下线,简单粗暴。殊不知对于防守方来说,下线互联网系统可没有想象中的那么简单。

攻防演练很重要,但也不能因为演练停业务,推动业务同意下线系统可不是一件容易的事情,必须拿出合理的理由,还要为业务方提供系统下线后不断业务的解决方案。

所以需要梳理清楚下线哪些系统、为什么要下线以及不断业务的方案,做好充足的准备才能去与相关部门进行沟通。

针对上面3个问题总结了一些思路,供参考:

不打无准备之仗,做好这些准备工作,可提高和业务方沟通的成功率。

如果系统成功下线后,在演习期间未影响正常业务,可以考虑作为后续的长效机制,不再开放到互联网。

二、关注移动端资产

移动相关系统也是我们的互联网入口,这些系统往往容易被忽略,主要包括APP、公众号、小程序,前期做好移动互联网系统资产清单梳理非常重要。

2.1 APP

关于APP的风险重点关注以下两点:

2.1.1 老版本APP漏洞

APP和Web应用不一样,Web应用的漏洞通过更新版本可以直接进行修复,但是APP更新版本后,老版本依然可以获取,攻击队在对APP进行测试的时候,往往会在应用市场中寻找那些低版本的包进行测试,低版本的包中可能会包含更多风险,测试难度更低。

推荐在APP中增加升级提醒,引导用户更新版本,最好的方式直接禁用老版本APP,进行强制升级,不过这样会牺牲用户体验。另外对于老版本APP曾经发现过的漏洞再进行一次验证,防止还有能被利用的情况发生。

梳理各大应用市场里APP版本的情况,尝试与其沟通,关闭老版本APP的下载通道,通常需要提供软著、商标权、专利权、营业执照等材料,经平台方审核通过后可进行下架。

2.1.2 安全加固策略有效性验证

很多企业的APP都有安全加固策略,经过加固的APP会大大提高攻击成本,是保护移动端非常有效的方法。特别是分秒必争的演习期间,攻击门槛的提高可以劝退很多攻击队。

在演习前,针对正在运行的APP做好加固策略检查,一是看APP有没有经过加固,二是看加固策略是否生效,如发现问题立即进行调整,可配合强制升级对问题进行修复。

2.2 公众号

第一步还是梳理我们都有哪些公众号,很多安全公司都有公众号资产发现服务,没有采购这方面服务的可以直接通过微信搜索功能进行搜索。完成梳理后,可逐个关注公众号进行查看,筛选对外提供业务功能的公众号,后续可组织专项的渗透测试。对于没有重要业务功能的公众号,可考虑做下线处理。

2.3 小程序

关于小程序是最容易被忽略的,除了我们常用的微信小程序外,不要忽略支付宝和办公软件(如企微、钉钉)中集成的小程序。

曾经在一次演习前的准备工作中,我们的蓝军人员就发现了一些办公软件中小程序是直接面向互联网开放的,随即组织了专项渗透测试工作,发现了一些安全漏洞,在正式演习前及时完成了封堵。在此之前,这些小程序一直是我们渗透测试的盲区。

三、DMZ区系统的专项治理

互联网系统一般都部署在DMZ区域里,所以针对DMZ区应用系统的专项安全检查就非常重要,平时做增量检测的工作任务,都可以借演习的机会进行一次存量检测。

3.1 安全基线检查

对系统配置、应用配置进行全量检查,防止在应用上线后出现配置变更的情况,可借助基线检查工具进行批量扫描。

3.2 漏洞扫描

梳理DMZ区ip清单,组织开展主机漏洞和网站漏洞扫描工作。主机漏洞扫描一般不会对系统产生太大影响,网站漏洞扫描对业务具有一定的入侵性,可以在对应的测试环境中开展。

3.3 源代码扫描

在代码仓库中找到对应的应用系统源码,开展源代码安全审计工作,检查代码层面的安全问题,查缺补漏。

3.4 三方组件扫描

在制品仓库中找到对应系统的制品,扫描三方组件的使用情况,针对版本过低的组件版本推动升级工作。

四、互联网信息泄露检查

在Github、Gitee、各类文库网站上搜索企业的敏感信息是攻击队常用的手段,攻击队通过信息收集可以方便的获取账户密码、系统架构、邮箱等辅助攻击的敏感信息。

关于源代码泄露的检查,可以直接通过Github和Gitee自带的搜索功能查找与企业相关的泄露问题,关于文档等资料泄露的检查,可通过凌风云、盘搜搜、搜Baidu盘、6miu盘搜等网站进行搜索。

对于查找到的敏感信息,可根据内容判断归属于哪个系统、哪个部门,联系相关人员调查上传账号的所有者,定位到具体人员后联系做删除操作。如果敏感信息中有涉及到账号密码的,还要同步做好密码修改的工作。

一些安全公司可以提供相关的扫描服务,还可以协助下线处置,预算充沛的话可以考虑采购服务。

五、渗透测试

很多企业都会开展渗透测试,演习前组织一轮,既可以完成渗透的KPI,又可以在演习前进一步发现安全漏洞,收敛风险。

大部分安全公司都能提供渗透测试服务,提前与安全公司协调资源,甚至可以将重保前提供渗透测试服务写入合同,让供应商了解需求,如果战前临时拉人的话很有可能遇到没人支持的情况。

有蓝军的企业还可以组织自查,借助了解自身业务系统的优势,往往能发现一些外部安全公司发现不了的问题,多管齐下,尽可能将互联网上暴露的安全漏洞发掘全面。

六、红蓝对抗

完成了以上一系列风险收敛工作后,是骡子是马该拉出来溜溜了。

企业内部自发组织一次红蓝对抗,模拟真实的攻防演习,来检验前期工作的成果,进一步发现薄弱点,还可以锻炼队伍,找到临战状态。

建议组织攻击队伍来现场进行实施,一方面便于人员管理,防控因对抗导致的各类风险,另一方面有助于发现近源风险。

红蓝结束后,千万不要忘记做攻击痕迹清理,可结合安全监控和攻击报告梳理待清理的后门清单,做好清除工作,防止被不怀好意之人恶意利用。

七、小结

互联网风险收敛可从暴露面、代码安全、信息泄露、漏洞发现4个维度开展工作,目标是尽可能发现问题解决问题,以上仅供抛砖引玉,防守单位可根据自身的情况,制定符合自己的风险收敛工作方案。

如果这篇文章你只能记住一件事的话,那请记住:收敛互联网暴露面,尽可能发现安全风险并将其清零。

原创 十九线菜鸟学安全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/773023.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

马斯克: 教育是解决问题, 而不是教工具

1. 马斯克: 教育是解决问题, 而不是教工具[3,4,6] 2. 老天爷的教的方法 我理解这就跟游戏一样, 从环境中持续获得反馈, 体会乐趣, 修正不足, 而不是在工具方法和原理中消磨意志力. 实践中学习是我们天生的 比如我们学说话,不是先学拼音,学走路,也不先学力学原理,而是直接模…

征服 Docker 镜像访问限制:KubeSphere v3.4.1 成功部署全攻略

近期,KubeSphere 社区的讨论中频繁出现关于 Docker 官方镜像仓库访问受限的问题。 本文旨在为您提供一个详细的指南, 展示在 Docker 官方镜像访问受限的情况下,如何通过 KubeKey v3.1.2 一次性成功部署 KubeSphere v3.4.1 以及 Kubernetes v1.28.8 集群。这将帮助您克服访问…

Redis变慢的原因及排查方法-系统方面

原因1:实例内存达到上限 1)排查思路 如果 Redis 实例设置了内存上限 maxmemory,那么也有可能导致 Redis 变慢。 当我们把 Redis 当做纯缓存使用时,通常会给这个实例设置一个内存上限 maxmemory,然后设置一个数据淘汰策略。而当实例的内存达到了 maxmemory 后,你可能会发现…

Layer Normalization

一、Layer Norm 1.1 介绍 LayerNorm(Layer Normalization)是2016年提出的,随着Transformer等模型的大规模推广,LayerNorm出现频率也随之越来越高。其大体思想类似于BatchNorm,对输入的每个样本进行归一化处理,具体就是计算每个输入的均值和方差,归一化到均值为0,方差为…

20、flask-进阶-自定义静态文件static和模板文件templates的路径配置

自定义static目录和templates目录的路径原本flask默认的static和templates目录是在App目录下的:如下图如果想把这两个目录更改位置,如放在根目录下:代码如下: __init__.pyfrom flask import Flask from .views import blue from .exts import init_exts import os# 获取项目…

七天.NET 8操作SQLite入门到实战 - 第七天Blazor学生管理页面编写和接口对接(3)

前言 本章节我们的主要内容是完善Blazor学生管理页面的编写和接口对接。 七天.NET 8 操作 SQLite 入门到实战详细教程第一天 SQLite 简介 第二天 在 Windows 上配置 SQLite 环境 第三天 SQLite 快速入门 第四天 EasySQLite 前后端项目框架搭建 第五天引入 SQLite-net ORM 并封装…

苹果系统注入三码,避免封号,解锁iCloud/FaceTime/iMessage/随航!

黑苹果遇到的问题多种多样,这是一篇比较简单直接的、适合大部分配置的教程,如果解决不了你的问题,请参考相关博文文章: https://www.cnblogs.com如果完成三码注入后 iMessage 和 FaceTime 仍不能正常工作,需要考虑主板NVRAM支持问题。随航功能(Sidecar)仅支持 macOS Cata…

18、flask-进阶-插件-缓存flask-caching - 钩子函数(中间件)

1.认识flask-caching插件 使用插件1.安装$ flask install flask-caching2.初始化 在exts.py中导入并初始化from flask_caching import Cache#初始化插件 cache = Cache(config={CACHE_TYPE: simple # 缓存类型})#和app对象绑定 def init_exts(app):cache.init_app(app)3.在视图…

Java 中的集合

Java 中的集合分类,ArrayList、HashMap 的源码和底层数据结构分析。Author: ACatSmiling Since: 2024-07-28概述 在 Java 语言中,数组(Array)和集合都是对多个数据进行存储操作的结构,简称Java 容器。此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储。 数组在…

log工具类

package com.atheima.controller.utils;import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class BaseLog {private Class clazz = null;public static Logger log;public BaseLog(){clazz = this.getClass();log = LoggerFactory.getLogger(clazz);}//第二中实…

周期信号的傅里叶级数和频谱

傅里叶级数和信号频谱 对于一个确定的时域信号,我们只需要知道它的函数表达式就可以在任意时刻确定一个信号,但是各种场景下中我们需要的往往并不是这样的解析式,因为这些复杂的式子首先难以快速准确地获得,另外难以进行快速进行分析,其中所蕴含的信息也难以提取。因此需要…

mysqld: Table '.mac_vod' is marked as crashed and should be repaired

mysqld: Table '.mac_vod' is marked as crashed and should be repaired 这类问题大多是重启服务器后导致的故障, 一般可以理解为表损坏。 解决方法其实也简单, 通过数据库管理工具,进行表修复就可以。 REPAIR TABLE mac_vod 这里的mac_vod 替换成自己的数据表名称。…