zoukankan      html  css  js  c++  java
  • Windows的安全模型

    1. 安全身份

    Windows的安全模型是以用户为线索的,用户的身份是在登录系统时验证的。

    除了用户外,还可以有一些特殊实体需要拥有安全的身份,以便进行验证,比如groups, domain等等。

    Windows通过使用SID来标识一个实体的安全身份,重装过系统的同学会有类似的经验,对于上一个Windows系统留下来的文件夹,它的Owner会是一串以S-开头的数字,它就是上一个系统的用户的SID。

    在注册表HKEY_USERS中,以及DACL属性页中都能够看到SID的身影。

    2. 令牌(Access Token)

    Access Token是一个内核对象,是用来标识一个进程或者线程所拥有的安全权限的对象。

    通常这个权限是继承来的,CreateProcess/CreateThread时,允许设置Security Descriptor来限定子进程的权限,如果不加限定,那么子进程就继承了父进程的权限。

    这些权限规定了对于系统中的资源的访问能力。某项资源究竟允许谁来访问,是由这项资源的Owner说了算的,这也是Windows安全模型中的最重要的原则。

    3. Impersonation

    说白了,就是顶替某个用户的安全身份去做一件事,比如访问某项资源。

    这通常是必要的,因为当一个服务端的进程要代表某个客户端的程序去进行操作时,必须能够仿真这个客户端程序的安全身份,Impersonation就是这样一种机制。

    4. 修改权限

    这是一种终极的能力,如果你能修改任何人的权限,那么你就几乎能做任何事。通常这种能力仅限于系统管理员。

    可以使用AdjustTokenPrivileges来修改Token的权限。

    The AdjustTokenPrivileges function enables or disables privileges in the specified access token. Enabling or disabling privileges in an access token requires TOKEN_ADJUST_PRIVILEGES access.

    http://msdn.microsoft.com/en-us/library/windows/desktop/bb530716(v=vs.85).aspx列出了令牌的特权列表。

  • 相关阅读:
    IDEA插件备忘录
    SpringBoot2基础笔记
    EasyCode模板,配合通用mapper,dubbo项目使用
    七牛云存储
    Apache POI
    SSM项目中关于配置的一二三
    SSM整合笔记
    Spring5学习笔记
    ThinkPHP框架,按分类,计算商品价格区间,来完成价格搜索
    PHP常用符号和函数
  • 原文地址:https://www.cnblogs.com/long123king/p/3622983.html
Copyright © 2011-2022 走看看