网络安全治理架构图 网络安全管理架构
网站安全攻防战
XSS攻击
防御手段:
- 消毒。 因为恶意脚本中有一些特殊字符,可以通过转义的方式来进行防范
- HttpOnly 对cookie添加httpOnly属性则脚本不能修改cookie。就能防止恶意脚本篡改cookie
注入攻击
SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取数据库表结构方式:
- 1.
- 开源, 如果使用开源软件搭建,则数据库是公开的
- 错误回显, 把数据库错误抛到页面上
- 盲注。 主要是根据页面变化来做的
通常防止的办法有:
- 消毒, 对drop等关键字进行过滤
- 参数绑定 就是预编译
CSRF 攻击
跨站请求伪造
要求有两个条件就能进行攻击。
- 用户使用浏览器登陆了授信网站并且没有退出,生成了本地token
- 用户访问攻击者网站,攻击者通过302等让用户带一定的攻击参数再次访问授信网站
因为浏览器发送请求自带token,因此授信网站不知道请求来源于用户自己还是攻击者,这样就会有问题了。
防止办法:
- 页面随机数。 每次页面请求生成一个随机数,然后在后台进行校验
- 验证码。 比如手机验证码。 比较麻烦,可以在支付页上请求一下
- Referer check HTTP请求头的Referer域zh录着请求来源,可通过检查请求来源验证是否合法。 很多网站使用这个功能实现图片防盗链
其他攻击方法和漏洞
- 直接异常信息,会给攻击者以提示。 可以使用mvc中的工具,把错误码异常等进行封装
- HTML注释, 会暴露功能,方便攻击。 上线时去除注释
- 文件上传, 如果本身功能就是上传文件去执行,那么就有可能执行非常危险的命令。 解决方式是,设置文件白名单,限制文件类型,另外还可以重新命名文件,改名为不可执行的
- 路径遍历, 使用相对路径来遍历未开放的目录。 方式是将JS,CSS部署在独立的服务器,使用独立域名。 其他文件不使用静态URL访问,动态参数不包含文件路径信息。
WEB应用防火墙
ModSecurity 统一拦截请求,过滤恶意参数,自动消毒,添加token。并且能够自动升级。
分成了处理逻辑和攻击规则集合 两个部分,有点像策略模式, 处理逻辑负责过滤请求识别攻击方式, 然后去找对应的攻击规则执行他来确定对应的防御手段。
网站安全漏洞扫描
有开源和商用的安全漏洞扫描工具
信息加密技术及密钥安全管理
CSDN被拖库,居然明文保存用户名密码。
单项三散列加密
就是MD5,这种,无法反转的。 但是因为固定的字符加密后是一样的,因此可以加点随机盐来增加破解难度
对称加密
DES算法。 用同一个密钥进行加密和解密
适用于信息交换的场合,比如Cookie啊,数据啊等等。
加解密效率高。但是要防止密钥丢失
非对称加密
加密解密使用不同的钥匙。 对外界公开的是公钥, 用公钥加密的信息,用私钥才能解开(https),反之也成立(数字签名)。
用在https, 和数字签名的场合。
这样能保证及时公钥被知悉,以及传输数据被窃取了仍然无法破解数据信息。
密钥安全管理
上面的几种方式都会涉及到密钥的管理。
通常有如下的办法:
- 建立密钥服务器 减少接触密钥的人。 但是可能会成为瓶颈
- 将密钥算法放在应用系统中,密钥放在单独的服务器中。 这样就兼顾了安全和性能。
应用调用密钥管理服务进行加解密。 该服务提供了多种算法,并且可扩展。 密钥服务从密钥服务器获取密钥,并缓存一定期限。 密钥服务器存储密钥的时候分片存储。
信息过滤与反垃圾
文本匹配
使用敏感词过滤。
简单的可以使用正则表达式
但是并发较高的网站可以使用Trie树的变种算法。
还有一种比较简单的办法是构造多级hash表。如:
这可过滤树,可以建立多级hash表,可能会浪费一定的内存
另外一些手段可以绕过敏感词检查,比如阿拉波 这样的需要降噪处理
分类算法
对广告贴,垃圾邮件等使用分类算法。
先输入正常邮件和垃圾邮件通过分类算法训练进行分类模型创建,然后利用分类模型来处理对邮件的识别。
常用的算法有贝叶斯(基于统计概率论)的算法合Association RuleClustering System.
黑名单
黑名单可以通过hash表实现,但是这样会占用太多的内存。
另外有一个稍微好点的办法是使用布隆过滤器。 2G内存,映射为16个big.
然后一个邮箱随机映射到0-16g中的一个范围设置为1. 判断的时候就看为不为1.这种只有1/8的空间。但是效果上差不多。
电子商务风险控制
风险
- 账户风险 被盗
- 买家风险 买家恶意下单占用库存进行不正当竞争,黄牛抢购低价,良品拒收等等
- 买家风险 假货,违禁商品等
- 交易风险 信用卡盗刷,洗钱等
风控
一般风控风味自动和人工两种。 通常是机器自动识别高风险然后交给人工去审核。 主要有两种手段:规则引擎和统计模型。
- 规则引擎
不可能在代码里写死规则,所以就搞成这个模式的。可以随时修改业务规则。 业务执行部分逻辑不变只变规则。其实跟密钥管理的模型很想 - 统计模型
规则引擎会变得难以维护,性能差。
会使用分类算法或者其他机器学习的算法进行智能统计。 根据历史交易欺诈信息训练分类算法。然后进行加工得到交易风险分值。 可以有一定的模糊识别,会有一定预判性。并且性能更好。
相关文章:

网络安全治理架构图 网络安全管理架构
网站安全攻防战 XSS攻击 防御手段: - 消毒。 因为恶意脚本中有一些特殊字符,可以通过转义的方式来进行防范 - HttpOnly 对cookie添加httpOnly属性则脚本不能修改cookie。就能防止恶意脚本篡改cookie 注入攻击 SQL注入攻击需要攻击者对数据库结构有所…...

如何写出优秀的单元测试?
写出优秀的单元测试需要考虑以下几个方面: 1. 测试用例设计 测试用例应该覆盖被测试代码的不同场景和边界情况,以尽可能发现潜在的问题。在设计测试用例时需要关注以下几点: 输入输出数据:要测试的函数或方法可能有多个输入参数…...

数据留痕的方法
在项目中,数据变更时,经常需要记录上次的数据,以便查看对比,专业术语叫做数据留痕。数据变更留痕(即记录数据的变更历史)是一个常见的需求,例如在审计、追踪数据变化或满足合规性要求的场景中。…...

机器学习数学基础:19.线性相关与线性无关
一、线性相关与线性无关的定义 (一)线性相关 想象我们有一组向量,就好比是一群有着不同“力量”和“方向”的小伙伴。给定的向量组 α ⃗ 1 , α ⃗ 2 , ⋯ , α ⃗ m \vec{\alpha}_1, \vec{\alpha}_2, \cdots, \vec{\alpha}_m α 1,α 2…...

ArgoCD实战指南:GitOps驱动下的Kubernetes自动化部署与Helm/Kustomize集成
摘要 ArgoCD 是一种 GitOps 持续交付工具,专为 Kubernetes 设计。它能够自动同步 Git 仓库中的声明性配置,并将其应用到 Kubernetes 集群中。本文将介绍 ArgoCD 的架构、安装步骤,以及如何结合 Helm 和 Kustomize 进行 Kubernetes 自动化部署。 引言 为什么选择 ArgoCD?…...

JVM虚拟机以及跨平台原理
相信大家已经了解到Java具有跨平台的特性,即“一次编译,到处运行”,例如在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C很难做到的。 那么,跨平台是怎样实现的呢?这就要谈及…...

【AIGC提示词系统】基于 DeepSeek R1 + ClaudeAI 易经占卜系统
上篇因为是VIP,这篇来一个免费的 提示词在最下方,喜欢的点个关注吧 引言 在人工智能与传统文化交融的今天,如何让AI系统能够传递传统易经文化的智慧,同时保持易经本身的神秘感和权威性,是一个极具挑战性的课题。本文将…...

电路笔记 : opa 运放失调电压失调电流输入偏置电流 + 反向放大器的平衡电阻 R3 = R1 // R2 以减小输出直流噪声
目录 定义影响和解决失调电压输入偏置电流平衡电阻R3推导公式: 失调电流 实际的运算放大器(Op-Amp)存在一些非理想特性,如失调电压(VIO)、失调电流(IIO)和输入偏置电流(I…...

ScrapeGraphAI颠覆传统网络爬虫技术
ScrapeGraphAI颠覆传统网络爬虫技术! 引言 在互联网时代,数据如同油田,丰富而深邃。但如何有效地提取这些数据,仍然是许多开发者面临的艰巨任务。你有没有想过,传统的网络爬虫技术是否已经过时?如今&…...

通过多层混合MTL结构提升股票市场预测的准确性,R²最高为0.98
“Boosting the Accuracy of Stock Market Prediction via Multi-Layer Hybrid MTL Structure” 论文地址:https://arxiv.org/pdf/2501.09760 摘要 本研究引入了一种创新的多层次混合多任务学习架构,致力于提升股市预测的效能。此架构融…...

java将list转成树结构
首先是实体类 public class DwdCusPtlSelectDto {//idprivate String key;//值private String value;//中文名private String title;private List<DwdCusPtlSelectDto> children;private String parentId;public void addChild(DwdCusPtlSelectDto child) {if(this.chil…...

互联网分布式ID解决方案
业界实现方案 1. 基于UUID 2. 基于DB数据库多种模式(自增主键、segment) 3. 基于Redis 4. 基于ZK、ETCD 5. 基于SnowFlake 6. 美团Leaf(DB-Segment、zkSnowFlake) 7. 百度uid-generator() 基于UUID生成唯一ID UUID生成策略 推荐阅读 DDD领域驱动与微服务架构设计设计模…...

xinference 安装(http导致错误解决)
为什么要使用xinference 安装xinference 环境 1)conda create -n Xinference python3.11 注意:3.9 3.10均可能出现xinference 安装时候出现numpy兼容性,以及无法安装all版本 错误: error while attempting to bind on address&am…...

334递增的三元子序列贪心算法(思路解析+源码)
文章目录 题目思路解析源码总结题目 思路解析 有两种解法:解法一:动态规划(利用dp找到数组最长递增序列长度,判断是否大于3即可)本题不适用,因为时间复杂度为O(n^2),超时。 解法二:贪心算法:解法如上图,题目要求长度为三,设置第一个元素为长度1的值,是指长度二的…...

【Linux】29.Linux 多线程(3)
文章目录 8.4 生产者消费者模型8.4.1 为何要使用生产者消费者模型8.4.2 生产者消费者模型优点 8.5 基于BlockingQueue的生产者消费者模型8.5.1 C queue模拟阻塞队列的生产消费模型 8.6. 为什么pthread_cond_wait 需要互斥量?8.7 条件变量使用规范8.8 条件变量的封装8.9 POSIX信…...

利用UNIAPP实现短视频上下滑动播放功能
在 UniApp 中实现一个短视频上下滑动播放的功能,可以使用 swiper 组件来实现滑动效果,并结合 video 组件来播放短视频。以下是一个完整的示例,展示如何在 UniApp 中实现这一功能。 1. 创建 UniApp 项目 如果你还没有创建 UniApp 项目,可以使用 HBuilderX 创建一个新的项目…...

vscode+CMake+Debug实现 及权限不足等诸多问题汇总
环境说明 有空再补充 直接贴两个json tasks.json {"version": "2.0.0","tasks": [{"label": "cmake","type": "shell","command": "cmake","args": ["../"…...

【提示词工程】探索大语言模型的参数设置:优化提示词交互的技巧
在与大语言模型(Large Language Model, LLM)进行交互时,提示词的设计和参数设置直接影响生成内容的质量和效果。无论是通过 API 调用还是直接使用模型,掌握模型的参数配置方法都至关重要。本文将为您详细解析常见的参数设置及其应用场景,帮助您更高效地利用大语言模型。 …...

基于 .NET 8.0 gRPC通讯架构设计讲解,客户端+服务端
目录 1.简要说明 2.服务端设计 2.1 服务端创建 2.2 服务端设计 2.3 服务端业务模块 3.客户端设计-控制台 4.客户端设计-Avalonia桌面程序 5.客户端设计-MAUI安卓端程序 1.简要说明 gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用…...

6.Centos7上部署flask+SQLAlchemy+python+达梦数据库
情况说明 前面已经介绍了window上使用pycharm工具开发项目时,window版的python连接达梦数据库需要的第三方包。 这篇文章讲述,centos7上的python版本连接达梦数据库需要的第三方包。 之前是在windows上安装达梦数据库的客户端,将驱动包安装到windows版本的python中。(开…...

【C语言系列】深入理解指针(5)
深入理解指针(5) 一、sizeof和strlen的对比1.1sizeof1.2strlen1.3sizeof和strlen的对比 二、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1代码1:2.2.2代码2:2.2.3代码3:2.2.4代码4:2.2.5代码5&#…...

mysql自连接 处理层次结构数据
MySQL 的自连接(Self Join)是一种特殊的连接方式,它允许一个表与自身进行连接。自连接通常用于处理具有层次结构或递归关系的数据,或者当同一张表中的数据需要相互关联时。以下是几种常见的场景,说明何时应该使用自连接…...

##__VA_ARGS__有什么作用
##__VA_ARGS__ 是 C/C 中宏定义(Macro)的一种特殊用法,主要用于可变参数宏(Variadic Macros)的场景,解决当可变参数为空时可能导致的语法错误问题。以下是详细解释: 核心作用 消除空参数时的多余…...

鸿蒙 router.back()返回不到上个页面
1. 检查页面栈(Page Stack) 鸿蒙的路由基于页面栈管理,确保上一个页面存在且未被销毁。 使用 router.getLength() 检查当前页面栈长度: console.log(当前页面栈长度: ${router.getLength()}); 如果结果为 1,说明没有上…...

深度学习模型蒸馏技术的发展与应用
随着人工智能技术的快速发展,大型语言模型和深度学习模型在各个领域展现出惊人的能力。然而,这些模型的规模和复杂度也带来了显著的部署挑战。模型蒸馏技术作为一种优化解决方案,正在成为连接学术研究和产业应用的重要桥梁。本文将深入探讨模…...

STM32G0B1 ADC DMA normal
目标 ADC 5个通道,希望每1秒采集一遍; CUBEMX 配置 添加代码 #define ADC1_CHANNEL_CNT 5 //采样通道数 #define ADC1_CHANNEL_FRE 3 //单个通道采样次数,用来取平均值 uint16_t adc1_val_buf[ADC1_CHANNEL_CNT*ADC1_CHANNEL_FRE]; //传递…...

<tauri><rust><GUI>基于rust和tauri,在已有的前端框架上手动集成tauri示例
前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 环境配置 系统:windows 10 平台:visu…...

模型 冗余系统(系统科学)
系列文章分享模型,了解更多👉 模型_思维模型目录。为防故障、保运行的备份机制。 1 冗余系统的应用 1.1 冗余系统在企业管理中的应用-金融行业信息安全的二倍冗余技术 在金融行业,信息安全是保障业务连续性和客户资产安全的关键。随着数字化…...

Deepseek部署的模型参数要求
DeepSeek 模型部署硬件要求 模型名称参数量显存需求(推理)显存需求(微调)CPU 配置内存要求硬盘空间适用场景DeepSeek-R1-1.5B1.5B4GB8GB最低 4 核(推荐多核)8GB3GB低资源设备部署,如树莓派、旧…...

AI-学习路线图-PyTorch-我是土堆
1 需求 PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】_哔哩哔哩_bilibili PyTorch 深度学习快速入门教程 配套资源 链接 视频教程 https://www.bilibili.com/video/BV1hE411t7RN/ 文字教程 https://blog.csdn.net/xiaotudui…...