写点什么

.NET 3.5 SP1 允许从网络共享环境中运行托管应用程序

  • 2008-08-29
  • 本文字数:1278 字

    阅读完需:约 4 分钟

微软已经发布了.NET Framework 3.5 SP1 ,相对于以前的版本,新版包含了一个安全方面的改进,它允许开发人员从网络共享文件中运行托管应用。

根据微软的官方说明,.NET Framework 3.5 SP1 中有个特性是这样的:

从网络共享文件里打开的托管应用运行时和本地应用拥有一样的行为,即完全信任。

在过去,由于安全的原因,你无法从网络共享环境中运行托管代码。当初之所以在.NET 中引入这个特性,是为了阻止从网络上进行的安全攻击。然而它并没有解决相关的安全威胁,因为非托管代码在这类环境中一直是能够被执行的。

微软程序经理 Brad Adams 最近所做的一个调查显示,很多人都想从网络共享环境中运行托管代码。微软回应了该需求,并在.NET 3.5 SP1 中增加这一特性。

对于这个安全方面的改变,.NET 运行时团队(Runtime Team)的架构师 Vancel Morrison评论说

我们犯了一个错误。在 2001 年,我们以为自己是在“默认即安全”方面的急先锋,也因此固执地认为,最终我们一定能弥补从网络共享文件运行非托管代码的“漏洞”。我们也忽视了这一决定所带来的痛苦。

但是随着时间的推移,我们发现自己太天真了。改变非托管代码行为的收益率太低了,另外,对于安全性来说,更加清楚的一点是,它必须足够简单,也就是说对所有事情一视同仁。因此,如果你不想从网络运行托管代码程序,那么也不应该将非托管代码程序区别对待。

Vance 也认为,由这一改变所引入的安全威胁并不是那么严重:

对于那些认为我们因此而开启安全漏洞之门的人,我想说我们已经非常小心,尽量避免出现这种情况。基本的逻辑是,我们不会产生任何新的漏洞,因为 Windows 允许非托管的可执行文件通过网络共享运行。

Shawn Farkas 是来自 CLR 团队负责密码(Cryptography)类的一名软件工程师,他解释了这一新特性是如何工作的

这一更改的核心思想在于改变了我们处理网络装载应用程序的方式。当我们发现一个直接从网络共享上载入的.exe 文件时,不会认为该文件来自于“本地网络(LocalIntranet)”,而是认为它来自于“我的电脑(MyComputer)”。这使该.exe 文件会和默认的“我的电脑”代码群组相匹配,而不是和“本地网络”群组,而默认的 CAS 策略也会授权“我的电脑”代码群组为“完全信任(FullTrust)”。

对于那些想禁止通过网络运行托管代码的人,Shawn 提出了如下建议:

你可以在注册表里的 HKLM\Software\Microsoft\.NETFramework 键处,将 DWORD 格式的 LegacyMyComputerZone 值设为 1。

根据 Shawn 的说法,在以下的场景里,程序集会拥有运行的权限:

  1. 任何直接从网络共享文件装载的托管.exe 文件;
  2. 任何从与.exe 文件同一目录装载的.exe 流程中的程序集。

在下面的场景里,程序集没有运行的权限:

  1. 从载入.exe 文件的共享文件子目录装载的程序集;
  2. 从不含有主.exe 文件的共享文件中装载的程序集;
  3. 任何装载在 LegacyMyComputer 注册值设为 1 的机器上的程序集;
  4. 任何装载到 CLR 宿主文件的程序集,包括以控件的形式装载到 IE 中的程序集;
  5. 当某个应用是从“真正的”我的电脑位置载入时,任何被该应用从共享文件装载的程序集。

查看英文原文:.NET 3.5 SP1 Runs Managed Applications From Network Shares

2008-08-29 04:15895
用户头像

发布了 827 篇内容, 共 308.5 次阅读, 收获喜欢 25 次。

关注

评论

发布
暂无评论
发现更多内容

AntDB数据库助力中国移动结算中心建设

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

FL Studio2024中文完整版电脑编曲软件及配置要求

茶色酒

FL Studio FL Studio 21

架构误区系列11:无聊的架构归一

agnostic

架构治理

“信”创未来 | AntDB数据库2022年度总结,请查收!

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

AirServer2023下载安装教程投屏软件,支持安卓、苹果手机投屏至电脑

茶色酒

AirServer AirServer2023

Best Wishes「兔」You!

阿里云视频云

2022大数据产业年度“国产化优秀代表厂商”榜单发布,亚信科技AntDB数据库位列其中

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

easyrecovery2024非常好用的磁盘恢复工具

茶色酒

EasyRecovery EasyRecovery15 easyrecovery2023

水果软件2024FL Studio中文语言版本下载

茶色酒

FL Studio FL Studio 21

MySQL统计总行数:听说count(*)性能更好,是真的吗

程序员拾山

MySQL

Kratos微服务框架API工程化指南

喵个咪

golang gRPC microservice Kratos 工程化

tomcat8和tomcat7性能比较

五毛

tomcat 压测分析

二十年,三条路:国产CPU的“饱和式救援”

脑极体

cpu

亚信科技AntDB数据库荣获2022年度技术卓越奖

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

2022下半年盘点:20+主流数据库重大更新及技术要点汇总

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

2022年终总结-无所吊谓

wood

年终总结 稳定 开心 普通的一年

C#/VB.NET 在 Word 表格中插入或提取图像

在下毛毛雨

C# .net 提取图像 word表格 添加图片

2022 年行摄回忆录

穿过生命散发芬芳

摄影 行摄回忆录

复习前端:浏览器缓存策略

devpoint

Service Worker 浏览器缓存 缓存技术

【Java应用服务体系】「序章入门」全方位盘点和总结调优技术专题指南

洛神灬殇

Java 技术分析 应用调优 优化指南

工信部电子标准院:龙蜥操作系统获评“优秀”

OpenAnolis小助手

工信部 开源项目 获奖 龙蜥操作系统 生态构建

复习前端:前端安全

devpoint

CSRF xss攻击 前端安全

英特尔2022技术创新和产品发布盘点:深耕硬核创新,助推数字未来

科技热闻

中原银行对金融行业实时数仓的现状与发展趋势思考

Apache Flink

大数据 flink 实时计算

2022年的魔力象限领导者,为什么是华为数通?

脑极体

华为

从员工批量离职中,认识管理的价值

石云升

极客时间 1月月更 技术领导力实战笔记

Studio One2024旗舰级DAW的跨版本升级

茶色酒

Studio One 5 Studio One2023

Portraiture2024汉化版磨皮插件下载

茶色酒

Portraiture2023 Portraiture

Java高手速成 | 多态性实战

TiAmo

编程语言 多态 Java 开发

MySQL:如果被更新字段的新值与旧值相等,SQL会被真正执行吗?

程序员拾山

MySQL

WSL中使用vcpkg安装pcl库出现编译失败的原因

大伟

.NET 3.5 SP1允许从网络共享环境中运行托管应用程序_.NET_Abel Avram_InfoQ精选文章