HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

流程即代码:低代码 & 云研发 IDE —— Uncode

Phodal

ide 云开发 云研发

深入浅出负载均衡

vivo互联网技术

负载均衡 高可用 服务器 hash

新手模拟实现bind

前端树洞

面试 大前端 js this

阿里开源三天就被狂转50w次的《Java面试突击》限时下载!

Java架构师迁哥

C语言从入门到精通(一)

代码情缘

c++ 编程 开发 C语言 硬件开发

机器学习- 吴恩达Andrew Ng 编程作业技巧 -John 易筋 ARTS 打卡 Week 50

John(易筋)

ARTS 打卡计划

云钉一体应用创新:音视频如何带来灵活高效的协同体验

阿里云视频云

阿里云 音视频

怒肝最新保姆级前端学习路线,速成贴心全面!

程序员鱼皮

CSS JavaScript Vue 大前端 React

野生程序员高考试卷,试试你能打多少分?

北游学Java

程序员 高考

外包3年凭借一手“秒杀架构”成功上岸阿里

Java架构师迁哥

用了这么多年 Gitlab,可能还不了解这些知识

郭旭东

DevOps gitlab 极狐GitLabs

深入讲解RxJava响应式编程框架,背压问题的几种应对模式

小Q

Java 学习 编程 架构 面试

iOS APP 架构漫谈

iOSer

ios ios开发 iOS架构

拼搏26天刷完了阿里大佬的Java面试合集1000题,拿到了月薪30K的offer

Java 程序员 架构 面试

质量基础设施(NQI)“一站式”服务平台开发搭建

源中瑞-龙先生

NQI 质量基础设施“一站式”

2021上半年1000道大厂高频面试题汇总(Java岗)

Java架构师迁哥

EBean ORM 框架介绍-2.字段加密、更新日志和历史记录

Barry的异想世界

jpa Ebean 字段加密 更新日志 历史记录

助力初创企业加速升级,华为云初创扶持计划微光训练营南京站开营仪式成功举办

科技热闻

来自Linux老学员的经验分享,新生必看!

学神来啦

Linux 运维 安全 虚拟机

10次面试9次被刷?吃透这500道大厂Java高频面试题后,怒斩offer

Java 程序员 架构 面试

牛掰!阿里首席架构师用7部分讲明白了Java百亿级高并发系统(全彩版小册开源)

Java架构追梦

Java 学习 阿里巴巴 架构 百亿级并发架构设计

五层验证系统,带你预防区块链业务漏洞

华为云开发者联盟

区块链 智能合约 漏洞 可信 自免疫系统

a.docker

xujiangniao

Docker

一口气了解【2021 阿里云峰会】重磅发布

阿里云视频云

阿里云

计算机专业的应届生想进大厂做开发有多难?

Java架构师迁哥

去阿里/腾讯/字节面试P7Java岗时,需要掌握哪些技术栈?

Java架构师迁哥

IDEA使用

xujiangniao

Java IDEA

阿里P9分享:基于JDK 8 源码剖析

Java架构师迁哥

阿里分享:全网最详细的一篇SpringCloud总结

Java架构师迁哥

阿里架构师手肛6个月,总结出17W字操作系统、网络教程(导图+笔记)

Java架构师迁哥

架构解析|网易自研新一代大规模分布式传输网

网易云信

分布式 音视频

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