Windows 安全中心无法拦截自编 C++对 exFAT 移动硬盘文件的修改

2023-02-04 15:44:18 +08:00
 giveafxxk
<amp-youtube data-videoid="Gsmf3vaPrEM" layout="responsive" width="480" height="270"></amp-youtube>
问大家一个关于 Windows 安全中心的问题。

同事问我 Windows 安全中心的勒索软件防护是不是只防写不防读,
于是我自己写了个 C++程序测试了一下,源代码如下:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
string data;
ifstream txtfile;
txtfile.open("I:\\test.txt");
txtfile >> data;
cout << "受保护的文本内容为:" << endl;
cout << data << endl;
txtfile.close();
ofstream txtfile2;
txtfile2.open("I:\\test.txt");
string input;
cout << "请输入要写入的内容:" << endl;
cin >> input;
txtfile2 << input << endl;
txtfile2.close();
cin.get();
return 0;
}

结果正如视频中所见,该程序对 exFAT 的移动 SSD ( I 盘)的 test.txt 进行读操作,Windows 安全中心没有提示,写操作则有提示拦截,但仍然被写入,未拦截成功。这是为什么呢?

补充:同事在 NTFS 的系统盘上做实验,可以成功拦截写入,但也无法拦截读取。
2868 次点击
所在节点    信息安全
14 条回复
wingkwanli888
2023-02-04 15:48:27 +08:00
读取是常規操作吧
giveafxxk
2023-02-04 15:53:50 +08:00
@wingkwanli888 对 exFAT 移动硬盘文件的修改也没拦截成功呀
xmoer
2023-02-04 16:17:35 +08:00
C# 测试读写均可以拦截,环境:Windows10 x64 ( 19045 ) NTFS ,真是奇怪。
giveafxxk
2023-02-04 16:31:55 +08:00
@xmoer C#也是用 fstream 吗?试试只用 ifstream (以输入模式打开)而不是用 fstream (以输入 /输出模式打开)呢?
giveafxxk
2023-02-04 16:34:50 +08:00
@xmoer 我对 NTFS 盘的文本只用 ifstream 是可以读的,写才会被拦截
0TSH60F7J2rVkg8t
2023-02-04 16:39:13 +08:00
感觉是 bug 吧,向微软报告一下?
ch2
2023-02-04 16:49:21 +08:00
你用 vs 运行的,vs 有白名单
giveafxxk
2023-02-04 16:54:28 +08:00
@ch2 我单独双击 exe 也一样,会弹出拦截通知,但未成功拦截写入( NTFS 盘则可以)。如果被白名单了,之前用 VS 直接运行,它为什么会弹通知拦截呢?
xmoer
2023-02-04 17:23:57 +08:00
@giveafxxk 又测试了一次,发现 C# 目前写入拦截、读取无反应。但是,几个月前( Chrome 密码泄露事件的时候)我测试是可以拦截读取且有通知的。奇了怪了,难道是系统更新产生了新的 BUG ?
giveafxxk
2023-02-04 17:35:41 +08:00
@xmoer B 友说 WD 一直不防读取的。但我这 exFAT 移动硬盘连写入都防不住。
xmoer
2023-02-04 17:39:30 +08:00
@giveafxxk =_=||| 看来 WD 这个功能是不怎么靠谱了。
mmdsun
2023-02-04 17:48:19 +08:00
如果属于安全漏洞,微软会给赏金,可以去 MSRC 提交。而不是电脑自带的反馈中心。

https://msrc.microsoft.com/
xmoer
2023-02-04 18:10:47 +08:00
@giveafxxk 原则上来说,它应该是可以拦截 “读取 and 写入”,引用微软介绍 “阻止未经授权的或不安全的应用 ‘访问’ 或 ‘更改’ 这些文件夹中的文件”,链接: https://support.microsoft.com/zh-cn/windows/%E5%85%81%E8%AE%B8%E5%BA%94%E7%94%A8%E8%AE%BF%E9%97%AE%E5%8F%97%E6%8E%A7%E6%96%87%E4%BB%B6%E5%A4%B9-b5b6627a-b008-2ca2-7931-7e51e912b034

现在不能拦截 “读取”,很可能是这个功能改名为 “勒索软件防护” 之后变化的。因为,里面的系统目录(用户文档)保护默认无法删除,之前会影响游戏和 QQ 的启动。个人猜测是微软后来做出了妥协。
giveafxxk
2023-02-04 18:18:48 +08:00
@xmoer 啊对以前是不叫“勒索软件防护”,叫“受控文件夹访问权限”。

https://learn.microsoft.com/zh-cn/microsoft-365/security/defender-endpoint/controlled-folders?view=o365-worldwide
“受控文件夹访问权限在帮助保护文档和信息免受 勒索软件攻击方面特别有用。在勒索软件攻击中,文件可能会加密并被扣为人质……”

巨硬难道就没有想过有一种勒索软件叫“信不信我把你的果照 /H 片发给你公司”🤣🤣🤣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX