.NET开发者在Vista下应该考虑的五个安全问题(转)


Posted on July 26, 2007


在微软的眼中,Windows Vista的主要卖点之一就是它改良后的安全模式。从它的身份识别标示元系统(metasystem),也就是Windows CardSpace到有时令人郁闷的用户账户控制(User Account Control), 这里有许多新的安全措施需要.NET开发者去考虑,无论是在桌面应用软件还是Web应用软件。

    在Tech Ed 2007上,Rafal Lukawiecki,Project Botticelli的一名战略性顾问,概述了Windows Vista的安全模式和解释了开发者应该怎样利用他们发挥最大的功效。

    自从Vista发布以来,大体上说最吸引大家注意的就是用户账户控制(User Account Control)。这源于这么样的一个事实,UAC颠覆了长期形成的开发习惯,并且在管理者角色运行应用程序的习惯,Lukawiecki说道。
他接着说:“如果开发者想看管理员登录时内容信息,请返回改变登录方式。否则你是看不到提示对话框的…你必须要以管理员的身份设置一些选项。

    为了改掉开发者一直以理员的角色工作的习惯,Lukawiecki给了我们八个提示,以便在开发Windows Vista应用程序高效使用UAC:
    1 判断应用程序是否需要管理员特权。他说:“这个判断应该在一开始就应该做出来”。
    2 以普通用户(standard user)的角色测试你的应用程序。
    3 如果你想存储二进制文件和用户的配置数据,你要知道这些存储在硬盘上的数据并不是很安全。
    4 尽可能清楚的列举出你的安全需要级别
    5 如果终端用户想提升他们的权限,必须确保你弹出的对话框所表达的意思要清楚。
    6 尽可能学一些Windows完整性机制,这是一种新的方式来提高进程间通讯的安全性。
    7 要小心谨慎让你的应用程序验证当前用户是不是管理员,特别是用户进行打开文件和对象操作的时候。
    8 最后,Lukawiecki说: “在vista中Max_allowed并不是一件好事,在过去的操作系统中它用起来或许很方便,但是现在却不是那么回事了。”
    UAC技术的引入,使得Windows Vista在安全上有了新的变化,表现在登录体验上。它声明了一下两种方式:
    首先,微软认识到这里有许多的方式取登录到一个应用程序,从生物的测定学到只能卡,到语音,微软已经引入了Credential  Service Provider UI。这能与多种credential providers相合,并且为多因素证明提供支持。Lukawiecki说道。

     第二,微软采取了身份识别标示元系统(metasystem),引入了Windows CardSpace, 这个使得用户完成多重在在线认证。
    因此确保安全性作为你软件开发中的一个重要部分,那么我们要考虑五个方面:
    1 周期,托管,托管安全测试
    2 应用程序开发中所有组件应该描述安全级别
    3 把威胁模型分析应用到你的设计阶段
    4 开发计划中要有安全检查和测试部分
    5 为研发团队建立安全标准
    Lukawiecki说:“针对现在的开发者很少关注安全性问题,微软已经开始提倡安全开发生命周期。”


标签:.NET

其它推荐日志:

告诉你关于卡巴斯基的三十八个缺点(转)

php啊,addslashes和stripslashes,烦

找回“显示桌面”快捷方式

解决“在证书存储区中找不到清单签名证书”

C语言中的main函数参数及返回值

仿XP关机效果的弹出窗口功能

SQL to Select a random row from a database table

PHP分页显示

IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败

不要给网页文件起中文名称!

aspnet遇到的乱码问题!

使用VS2005调试ASP程序

Substring的一个误区!

如何理解LPCTSTR

js中innerHTML与innerText的用法与区别

能上QQ但不能上网页是为什么

使用Bluetooth与手机传送文件

Windows XP家庭版也可以用IIS(本来以为不可以的!)

为GridView-Delete列添加确认对话框(Easy)

学习ajax-xmlhttp:open方法

找到一个不错的blockquote样式

复制表格:Table2Clipboard 0.0.2.4

细说HTML元素的ID和Name属性的区别

Windows 2003安装iis,设置iis

sql数据库连接串中的pooling=true和pooling=false的区别

巧用HyperLink绑定显示图片并设置图片大小

System.NullReferenceException: 未将对象引用设置到对象的实例。

定义CLASS和方法的默认缺省修饰符!

一行代码杜绝iframe挂马

C#获取当前IE地址栏的url

访问IIS元数据库失败

什么是僵尸文件?

AccessDataSource中参数传递的问题

C#二进制数据写入文件

可恶的EditPlus!?

虚拟主机限制方式优缺点分析

Understanding Page Inheritance in ASP.NET 2.0

IIS HTTP 500 内部服务器错误 服务器无法加载应用程序 ''/LM/W3SVC''''/LM/W3SVC'' ''找不到指定的元数据

GridView鼠标经过行变色

RowState即是Alternate又是Edit的状态判断语法


Search
最新评论
推荐日志
微信扫一扫