写点什么

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

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

关注

评论

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

恭喜 Nacos 和 Sentinel 荣获 2023 开源创新榜“优秀开源项目”

阿里巴巴云原生

阿里云 云原生

调研 7 个开源项目后,这家数据合规平台如何构建高性能网关

阿里巴巴云原生

阿里云 云原生

阿里云 ACK 云原生 AI 套件中的分布式弹性训练实践

阿里巴巴云原生

阿里云 分布式 云原生

MSE Nacos:解决敏感配置的安全隐患

阿里巴巴云原生

阿里云 微服务 云原生 nacos

魔搭×函数计算:一键部署,缩短大模型选型到生产的距离

阿里巴巴云原生

阿里云 云原生

秒速出图!体验 TensorRT 加速 Stable Diffusion 图像创作

阿里巴巴云原生

阿里云 云原生

Jira 母公司全面停服 Server 产品,用户如何迁移至极狐GitLab

极狐GitLab

从内核的视角观测容器——SysOM 容器监控

阿里巴巴云原生

阿里云 云原生 容器服务

恭喜 Apache Dubbo 和 Nacos 荣获开放原子“2023年度生态开源项目”

阿里巴巴云原生

阿里云 开源 云原生

阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台

阿里巴巴云原生

阿里云 云原生

ubuntu系统如何查看已安装cudnn版本

百度搜索:蓝易云

Linux ubuntu 运维 云服务器 cudnn

SecureCRT for mac(终端SSH工具)v9.3.2激活版

iMac小白

为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践

阿里巴巴云原生

阿里云 AI 云原生

文心一言 VS 讯飞星火 VS chatgpt (183)-- 算法导论13.4 7题

福大大架构师每日一题

福大大架构师每日一题

2023年的技术总结和工作反思

芯动大师

年终总结

可观测实践丨如何利用 AI 算法解决告警配置三大难题?

阿里巴巴云原生

阿里云 云原生 可观测

Microsoft Remote Desktop for Mac v10.9.5中文正式版下载

iMac小白

工作中常用到的java8相关操作总结

智慧源点

stream java8 LocalDateTime Optional

改变命运的抉择

少油少糖八分饱

小说 命运 东野圭吾 推理小说 悬疑

服务器如何配置支持history模式

百度搜索:蓝易云

云计算 Linux 运维 云服务器 history

FlagData 2.0:全面、高效的大模型训练数据治理工具集

mr.well

NLP 大模型 LLM模型 #大模型

随想2024.01.21

hackstoic

精力管理

活动回顾丨阿里云云原生 Serverless 技术实践营西安站 PPT 下载

阿里巴巴云原生

阿里云 Serverless 云原生

云消息队列 Kafka 版阿里云 SAE 2.0 正式商用:极简易用、百毫秒弹性效率,降本 40%生态谈第一期:无代码转储能力介绍

阿里巴巴云原生

阿里云 Serverless 云原生

淘宝/天猫获取卖出的商品订单列表 API(taobao.seller_order_list)

技术冰糖葫芦

API

当 OpenTelemetry 遇上阿里云 Prometheus

阿里巴巴云原生

阿里云 云原生 可观测

Seata 2.x 首个版本正式发布,支持 Raft 集群模式

阿里巴巴云原生

阿里云 云原生 seata

CentOS 8上使用NVM安装特定版本的Node.js教程

百度搜索:蓝易云

Linux centos 运维 Node 云服务器

2023启示录丨我的大模型创业这一年

自象限

创业 #大模型

Nacos 在云原生架构下的演进

阿里巴巴云原生

阿里云 云原生 nacos

弹性调度助力企业灵活应对业务变化,高效管理云上资源

阿里巴巴云原生

阿里云 云原生 弹性计算

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