腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
视频
用户
沙龙
专栏
专区
综合排序
丨
最热优先
丨
最新优先
时间不限
驱动
层
透明
加密
之外的三
层
补位
驱动
层
透明
加密
解决了一个边界清晰的问题:文件作为字节流离开授权环境后不可读。但把它放到真实的企业数据流里看,这个边界会立刻暴露出两侧的空隙。 本文围绕
加密
内核展开的三
层
补位——授信判定、密钥时序与外发出口——以及每一
层
为什么不能由
加密
引擎本身代劳。 一、授信边界:零信任模型如何替换“进程白名单”
驱动
层
的进程授信机制(哈希、签名、路径的组合比对)回答的是一个静态问题:这段代码是不是已知的可执行体。 这些事件不经过常规的文件 I/O 审计路径,因为加解密在过滤
驱动
内部完成,应用
层
没有任何感知。这意味着
加密
业务专项审计必须由
加密
内核本身产出一份日志,并与通用审计在时间戳和文件标识上对齐。
驱动
层
透明
加密
的系统价值,不在于它单独能挡住多少种泄露路径,而在于它提供了一个稳定的密码学基座,使得授信判定、密钥时序和外发出口这三
层
补位有一个共同的信任锚点:文件字节本身携带了策略元数据,任何补位
层
都只需围绕这个锚点追加控制逻辑
重庆数安
2026-10-21
139
0
标签:
网络安全
数据加密服务
终端安全管理系统
驱动
层
透明
加密
和应用
层
加密
区别是什么?评审文档
加密
产品时,先问一句:你的
加密
跑在内核态还是用户态?
加密
跑在应用
层
还是
驱动
层
,决定了覆盖面、安全强度、维护成本,甚至决定了三年后这个系统还能不能用。 一、原理:拦截
层
加在哪里应用
层
加密
(钩子
加密
)跑在用户态(Ring3),通过Hook挂到Word、CAD这些目标程序上,拦截它们的读写API:保存时
加密
,打开时解密。它的思路是"盯着程序"。
驱动
层
加密
跑在内核态(Ring0),在Windows文件系统
驱动
栈上插入一个过滤
驱动
。 二、评审对比表对比维度应用
层
加密
驱动
层
加密
工作层级用户态(Ring3)内核态(Ring0)覆盖范围仅已适配的程序所有程序、格式无关新程序/程序升级需重新适配,可能漏自动覆盖未适配程序明文落盘照常
加密
临时明文依赖临时文件整体解密 收个尾
驱动
层
和应用
层
加密
的区别,记住一句话就够了:一个管文件,一个管程序。程序会变、版本会升、新工具会冒出来,只有管文件的方式才跟得上变化——但管住了文件,别忘了管行为。
企业安全-域智盾
2026-10-28
89
0
标签:
加密
数据加密服务
驱动
层
透明
加密
的系统级设计:拦截语义、密钥封装与实现代价
IRP_MJ_SET_INFORMATION 中的文件长度变更(EndOfFile)直接与
加密
头的存在耦合:磁盘上的密文文件比其逻辑明文多出一个
加密
头,任何截断或扩展操作都必须在
驱动
层
进行偏移量换算,否则应用看到的大小与磁盘上的实际字节数不一致 缓存泄露或过期不释放,是
驱动
层
密钥管理中最典型的内存安全风险。四、受信进程判定:不是“认进程名”,而是“认代码身份”
驱动
层
看到的是 IRP,而不是发起 IRP 的“意图”。 如果一个受信进程被 DLL 注入或远程线程劫持,过滤
驱动
仍然会将明文递交给这个被污染的进程上下文。这是
驱动
层
方案与 EDR 类行为监控方案之间的天然分工缝隙。 这已经超出了单纯的文件
加密
范畴,进入了终端身份与密钥绑定的交叉领域。七、能力的边界:
驱动
层
透明
加密
不做什么技术上的诚实性要求明确这套机制的能力半径。
驱动
层
透明
加密
路径,其技术内核可以概括为一组精确的工程决策:在 Minifilter 的 IRP 回调链中选择正确的拦截点,用自包含的
加密
头承载密钥元数据,以数字信封结构分层保护 DEK,并通过受信进程指纹和离线票据将
重庆数安
2026-10-21
147
0
标签:
数据加密服务
网络安全
运维
终端安全管理系统
通过OpenSSH建立二
层
和三
层
加密
隧道
使用SSH隧道的优点: 不需要安装和配置额外的软件 使用SSH认证并自带
加密
,不需要使其它VPN软件一样配置共享密钥或者证书 兼容性强,可以建立二
层
隧道或三
层
隧道,所有3/4
层
协议如:ICMP、TCP/ ,tun是模拟三
层
网络设备,收发的是IP包,无法处理以太网数据帧。 一、ssh server端配置 首先要使用ssh的二
层
和三
层
隧道,尽量保证系统差别不要太大,我这里两边都是oracle linux 8,SSH版本更新到最新。 三、二
层
隧道配置 由于linux中允许为tap设备设置ip,所以二
层
隧道和三
层
隧道也可以完全一样的进行配置。 86字节的文件,2048位的私钥可以
加密
小于214字节的文件。
用户2323866
2021-06-23
6.1K
0
标签:
ssh
tcp/ip
https
网络安全
centos
3.5 Windows
驱动
开发:应用
层
与内核
层
内存映射
PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用
层
与内核
层
需要共享一片内存区域通过这片区域可打通内核与应用
层
的隔离 3.5.1 应用
层
映射到内核
层
先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:调用IoAllocateMdl创建一个MDL结构体。这个结构体描述了一个要锁定的内存页的位置和大小。 总的来说,这个函数是一个很好的实现,它遵循了内核
驱动
程序中的最佳实践,包括对内存的安全处理、分块复制、错误处理等。 SafeCopyMemory_R0_to_R3函数则用于将一个内核
层
中的缓冲区写出到应用
层
中,SafeCopyMemory_R0_to_R3函数接收源地址SrcAddr、要复制的数据长度Length以及目标地址 它属于Windows内核API的一种,与用户态的VirtualAlloc函数相似,但是它运行于内核态,可以分配不受用户空间地址限制的虚拟内存,并且可以用于在
驱动
程序中为自己或其他进程分配内存。
王瑞MVP
2023-11-16
1.7K
0
标签:
windows
领域驱动设计
3.5 Windows
驱动
开发:应用
层
与内核
层
内存映射
PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用
层
与内核
层
需要共享一片内存区域通过这片区域可打通内核与应用
层
的隔离 3.5.1 应用
层
映射到内核
层
先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下: 调用IoAllocateMdl创建一个MDL结构体。这个结构体描述了一个要锁定的内存页的位置和大小。 总的来说,这个函数是一个很好的实现,它遵循了内核
驱动
程序中的最佳实践,包括对内存的安全处理、分块复制、错误处理等。 与上方功能实现相反SafeCopyMemory_R0_to_R3函数则用于将一个内核
层
中的缓冲区写出到应用
层
中,SafeCopyMemory_R0_to_R3函数接收源地址SrcAddr、要复制的数据长度 它属于Windows内核API的一种,与用户态的VirtualAlloc函数相似,但是它运行于内核态,可以分配不受用户空间地址限制的虚拟内存,并且可以用于在
驱动
程序中为自己或其他进程分配内存。
王瑞MVP
2023-11-17
1.5K
0
标签:
windows
开发
内存
内核
内存映射
Linux
驱动
开发新手必读 | 二、LED子系统——硬件
驱动
层
二、LED子系统——硬件
驱动
层
上篇文章我们了解了子系统的框架,下面我们来分析
驱动
框架中每层的实现以及作用。 image-20230417084033734 在LED子系统中,硬件
驱动
层
相关文件在包括:kernel/drivers/leds/ 目录下,其主要的函数有:led-gpio.c、led-xxx.c,其中 在硬件
驱动
层
需要与其进行关联,遂在此介绍。 4、回调函数分析 硬件
驱动
层
,肯定包括最终操作硬件的部分,也就是上面提到的一些回调函数,属于我们
驱动
工程师开发的内容。 5、总结 上面我们了解了硬件
驱动
层
的实现流程以及相关数据结构,总结来看: 5.1 数据结构之间的关系如下 LED子系统-LED数据结构.drawio 5.2 函数实现流程如下 gpio_led_probe
董哥聊技术
2023-08-29
2.3K
0
标签:
linux
gpio
函数
数据
硬件
驱动
开发:通过ReadFile与内核
层
通信
驱动
与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用
层
,但
驱动
程序与应用
层
毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过 ,此时应用
层
调用ReadFile,WriteFile函数进行读写时,在
驱动
内会自动触发 IRP_MJ_READ 与 IRP_MJ_WRITE这两个派遣函数,在派遣函数内则可以对收到的数据进行各类处理。 ,应用
层
还没有介绍,在应用
层
我们只需要调用ReadFile函数当调用该函数时
驱动
中会使用DispatchRead派遣例程来处理这个请求,同理调用WriteFile函数则触发的是DispatchWrite write_buffer, strlen(write_buffer), &write_length, 0); system("pause"); CloseHandle(hDevice); return 0;}使用
驱动
工具安装我们的
驱动
,然后运行该应用
层
程序,实现通信,效果如下所示:图片
王瑞MVP
2022-11-20
823
0
标签:
io
parameters
通信
驱动
开发:通过SystemBuf与内核
层
通信
内核
层
与应用
层
之间的数据交互是必不可少的部分,只有内核中的参数可以传递给用户数据才有意义,一般
驱动
多数情况下会使用SystemBuf缓冲区进行通信,也可以直接使用网络套接字实现通信,如下将简单介绍通过SystemBuf 实现的内核
层
与应用
层
通信机制。 内核与应用
层
传递结构体,实现应用
层
用户传入一个结构体到内核,内核处理后返回一段字符串。 内核代码如下,代码已经备注。 struct _DEVICE_EXTENSION { UNICODE_STRING SymLinkName; } DEVICE_EXTENSION, *PDEVICE_EXTENSION; //
驱动
关闭提示 // 设置操作的字节 IoCompleteRequest(pIrp, IO_NO_INCREMENT); // 完成IRP,不增加优先级 return Status; } //
驱动
入口
王瑞MVP
2022-12-28
695
0
标签:
内核
通信
驱动
开发:通过ReadFile与内核
层
通信
驱动
与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用
层
,但
驱动
程序与应用
层
毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过 ,此时应用
层
调用ReadFile,WriteFile函数进行读写时,在
驱动
内会自动触发 IRP_MJ_READ 与 IRP_MJ_WRITE这两个派遣函数,在派遣函数内则可以对收到的数据进行各类处理。 ,应用
层
还没有介绍,在应用
层
我们只需要调用ReadFile函数当调用该函数时
驱动
中会使用DispatchRead派遣例程来处理这个请求,同理调用WriteFile函数则触发的是DispatchWrite strlen(write_buffer), &write_length, 0); system("pause"); CloseHandle(hDevice); return 0; } 使用
驱动
工具安装我们的
驱动
,然后运行该应用
层
程序,实现通信,效果如下所示:
王瑞MVP
2022-12-28
875
0
标签:
io
parameters
通信
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档