Nt/2000/xp平台下的存储控制模型(Access Control Model)

原创 2003年07月19日 00:38:00

Nt/2000/xp平台下的存储控制模型(Access Control Model

By leezy_2000 2003-7-16 15:59

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

(-)

鉴于在nt类操作系统下开发程序时有可能涉及操作注册表,读写文件和操控服务等内容,而为使这类程序在不同帐户下皆可正确运行就需要了解nt类操作系统的存储控制模型,所以才写这篇文章。这篇文章所涉及大部分内容可在msdn找到相关说明,小部分内容来自个人经验。错漏之处还望斧正。

 

基本概念及缩写:

 

SID(security identifier):用于唯一标识用户或组的变长结构

 

access token存储令牌包含每个登录帐户的安全信息。每当用户登录系统时,系统为其建立一个access token,而此用户所执行的进程拥有此access token的一份拷贝。Access token 中包含的内容有

l         User SID

l         Group SIDs

l         Privilege Information

l         Other access Information

 

ACE( access control entry) : 包含一系列存储权限及谁拥有这种权限的说明。

 

ACL(access control list):  一个ACE的链表,用于说明某个安全对象可以被谁以什么样的权限进行操作。

 

DACLdiscretionary access control list):由安全对象的拥有者(即创建者)控制的ACL

 

Trustee: a trustee is the user account, group account, or logon session to which an access control entry (ACE) applies

 

利用这些概念,我们来看一下,对安全对象进行操作要经过那些步骤。(见图1)

 

这个过程是这样,系统把线程的Access TokentrusteeDACL中每一个ACLtrustee相比较直到满足下列某一个条件:

l         一个ACE清楚的表明某项操作对这个Access Token无效。比如Thread A的访问过程。

l         一个ACE清楚的表明能够接受这个Access Token所要求的操作。比如Thread B要求进行Write ,Read or Execute操作。

l         所有ACE已被检查过但仍然有一项或多项权限没有被清楚的允许。此时称做隐式禁止(implicitly denied)。

另外,如果ACEDACL中有不同的排列顺序,对于某个Access Token,可能有完全不同的结果。比如ACE 2排在ACE 1 前面的话,Thread A将可以对此对象进行写操作。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2003-7-17933480.gif

(图1 from msdn

1

关于C2-Level Security的一些重要指标

l         必须能通过操控个人用户或用户组的权限来控制对资源的访问。

l         内存需要受到保护,一个进程所释放的内存不能被另外的进程读到。同样文件系统也要保证被删除的文件不能被读到。

l         用户能够用唯一的方式标识自己,All auditable actions must identify the user performing the action

l         系统管理员要能够对安全事件进行检查。但安全事件的存取权限要由authorized administrators进行设定。

l         系统要能够保证自己不被干扰。比如:不允许对正在运行的系统及相关的系统文件进行调整。

Nt/2000/xp平台下的存储控制模型(Access Control Model) (二)

Nt/2000/xp平台下的存储控制模型(Access Control Model)By 李智勇 2003-7-18 16:28 (二)        在涉及其他之前,我们先来看一段可能会出问题的程序...
  • leezy_2000
  • leezy_2000
  • 2003年07月21日 18:36
  • 1751

windows下dbca删除OracleserviceXXX时遇到错误:dim-00014 Cannot open the Windows NT Service Control Manager

windows下dbca删除OracleserviceXXX时遇到错误:dim-00014 Cannot open the Windows NT Service Control Manager...
  • msdnchina
  • msdnchina
  • 2015年03月02日 11:43
  • 2360

关于MVC(Model-View-Control)模式

      这个是老生常谈的问题,作为基础的软件开发模式,其革命性的思想奠定了当前软件开发的主流架构思路。      简而言之,MVC将软件分为三层Model(模型层),View(视图层),Contr...
  • forsterjacobi2007
  • forsterjacobi2007
  • 2011年05月17日 22:21
  • 284

项目视频讲解_基于云计算Saas平台下的C2C大型网上商城(集UC聊天客户端+Extjs+Oracle+OSGI模型)

基于云计算Saas平台下的C2C大型网上商城(集UC聊天客户端+Extjs+Oracle+OSGI模型)
  • java_7star
  • java_7star
  • 2013年12月16日 19:34
  • 2357

局域网中文件夹的共享 Windows NT/2000/XP

局域网中文件夹的共享 Windows NT/2000/XP在局域网中通过程序实现文件夹的共享,就我知道的应该至少有两种实现方式。一是修改注册表,但是这种方法存在的问题也是很明显的,必须重起机器才能生效...
  • smandhgx
  • smandhgx
  • 2002年11月28日 09:12
  • 2616

Windows NT/2000/XP下不用驱动的Ring0代码实现(http://webcrazy.yeah.net)

 Windows NT/2000/XP下不用驱动的Ring0代码实现                  WebCrazy(http://webcrazy.yeah.net/)     大家知道,Win...
  • freexploit
  • freexploit
  • 2005年01月31日 18:17
  • 1337

模型预测控制(MPC,Model Predictive Control)

发展历史 20世纪70年代后期,一类新型的计算机控制算法出现在美法等国的工业过程领域,如动态矩阵控制(DMC,Dynamic Matrix Control)、模型算法控制(MAC,Model Alg...
  • baidu_37173242
  • baidu_37173242
  • 2017年01月11日 20:21
  • 4900

访问控制模型(Access Control Model)

原文连接:http://bbs.pediy.com/showthread.php?t=173381 当一个线程使用Open*打开一个内核对象时,会发生什么? 有两种可能: 1. ...
  • qiaoli278141408
  • qiaoli278141408
  • 2015年03月31日 23:51
  • 271

TensorFlow知网文章1-TensorFlow平台下的视频目标跟踪深度学习模型设计

1、TensorFlow平台下的视频目标跟踪深度学习模型设计 刘帆刘鹏远李兵徐彬彬 中国人民解放军军械工程学院四系 视频目标识别与跟踪的本质是在连续视频帧中找到感兴趣的运动目标所处的...
  • as472780551
  • as472780551
  • 2018年01月27日 21:28
  • 40

RBAC即角色访问控制(Role Based Access Control)

RBAC即角色访问控制(Role Based  Access Control)RBAC认为权限授权实际上是Who、What、How的问题。在RBAC模型中,who、what、how构成了访问权限三元组...
  • huanghanzzz2006
  • huanghanzzz2006
  • 2006年12月04日 19:37
  • 3322
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nt/2000/xp平台下的存储控制模型(Access Control Model)
举报原因:
原因补充:

(最多只允许输入30个字)