写点什么

.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:151004
用户头像

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

关注

评论

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

Macs Fan Control Pro for mac电脑风扇控制软件

Mac相关知识分享

万界星空科技MES系统生产计划管理的功能

万界星空科技

工业互联网 制造业 mes 万界星空科技mes 生产车间管理

如何使用SQL CREATE TABLE创建一个表?

Chat2DB

数据库 sql 开源 AI

数造科技入选中国信通院《高质量数字化转型产品及服务全景图》三大板块

数造万象

人工智能 大数据 数据治理 科技 新能源车

TDengine 签约国家电投旗下四大火力发电厂,助力汽轮机振动数据的有效管理

TDengine

数据库 tdengine 时序数据库

鼠标键盘共享工具ShareMouse for mac

Mac相关知识分享

唤醒数据中台潜力:加速数据飞轮转动,实现数据驱动的秘籍

申公豹

数据中台

Forrester Wave™ 向量数据库报告:Zilliz 获评全球领先者

Zilliz

人工智能 AI Zilliz 向量数据库

新能源电池行业MES系统的主要功能

万界星空科技

mes 万界星空科技mes 电池行业 电池mes 新能源电池

MacOS 11-14系统安装包(PKG系统安装包及IPSW固件)

Mac相关知识分享

绘图软件AutoCAD 2024 for Mac

Mac相关知识分享

淘宝商品详情API接口多线程调用:解锁数据分析行业的效率新篇章

代码忍者

API 接口 API 测试 pinduoduo API

专业的数据库管理工具Navicat Premium for Mac

Mac相关知识分享

数据库管理工具

数据飞轮赋能科学决策:火山引擎DataTester升级A/B大模型评测

字节跳动数据平台

数据驱动 大模型 A/B 测试

建议收藏!Claude 注册使用保姆级教程:稳定不封号

江湖十年

ChatGPT4 Claude

10 个最佳 Golang 库

王中阳Go

golang gorm 工具库

实时语音交互中文基准首期测评出炉;美取消 SB-1047 法案,大模型厂商大难不死丨 RTE 开发者日报

声网

屏幕显示优化工具BetterDisplay Pro Mac屏幕校准软件

Mac相关知识分享

HarmonyOS NEXT 实战输入文字转化语音

李洋-蛟龙腾飞

通产访谈 | 星融元副总裁胡波:功耗阻碍AI快速发展

Geek_2d6073

【数据飞轮】驱动业务增长的高效引擎 —从数据仓库到数据中台的技术进化与实战

申公豹

数据飞轮

Sketch for mac(专业矢量绘图设计软件)

Mac相关知识分享

Beyond Compare 4 for Mac(好用的文件对比工具)

Mac相关知识分享

TDengine 签约首自信,管理 50 万个监测点、80 万亿条记录

TDengine

数据库 tdengine 时序数据库

望繁信科技亮相2023北京央企部委及大型企业CIO年会,为“数字化转型”注入全新想象

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 业务流程管理优化

图解Docker Compose 架构设计分析与全攻略:构建、扩展和管理你的容器(第一部分)

肖哥弹架构

Java Docker k8s

观测云对接 SkyWalking 最佳实践

观测云

Skywalking

Java 应用程序性能分析工具JProfiler 14 for Mac

Mac相关知识分享

Java 性能分析

Mac电脑上的系统监控工具iStat Menus for Mac

Mac相关知识分享

电商搜索效率的革命性提升:阿里巴巴搜索API返回值的应用

技术冰糖葫芦

API Gateway API 接口 API 测试 pinduoduo API

智算基石全栈加速,百度百舸 4.0 的技术探索和创新

Baidu AICLOUD

大模型训练 异构计算 大模型部署 GPU 集群

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