读书笔记(一)

  1. 取消对Zip文件的锁定
    从互联网下载的zip文件有时候需要“解除锁定”后,才能够正常的解压使用。
    Windows附件执行服务会为.zip文件增加一条代表该文件来自互联网的可替换数据流(ADS),通过windows资源管理器从中提取文件时,这样ADS会被附加至提取到的所有文件中。
    移除ADS的方法:
      a.windows资源管理器打开该zip文件的属性对话框点击解除锁定
      b.使用Sysinternals Streams工具 https://docs.microsoft.com/zh-cn/sysinternals/downloads/streams

    -----Windows Sysinternals实战指南 P7-P8 

  2. UAC
    管理权利与用户权利,LSA:本地安全机构,使用Administrator组成员账户、Backup Operators等高特权组成员账户、分配了“管理员等价”权限的账户登录计算机时,LSA为该用户创建两个登录会话,每个会话具备一个不同的访问令牌;
    一个令牌代表用户的完整权利,所有组关系和特权;
    另一个是经过筛选的令牌,等价于标准用户的权利(禁用了所有高级特权组并删除高级特权);系统使用筛选后的令牌创建初始进程,同时该令牌会被所有的子进程继承。
    使用完整的令牌启动进程需要UAC提升(由应用程序信息服务进行(Appinfo),使用Runas.exe命令启动一个程序并指定管理账户,则目标程序将在该账户的“标准用户”版本下运行。)
    使新进程触发UAC提升的方式:
    a.程序文件包含的清单指出该程序需要提升
    b.右键菜单:“以管理员身份运行”
    c.windows自发判断运行的程序为遗留的老版本安装程序
    d.应用程序关联了某种需要提升的兼容性模式或Shim
    UAC提升方式:静默;要求得到同意;要求提供凭证;
    提示:禁用用户账户控制后,LSA不再创建筛选的令牌,Administrator组成员运行程序始终具备管理权利,系统不再显示UAC提升提示,同时会关闭文件和注册表虚拟化,win8以后的系统无法运行“商店”应用;
  3. 进程、线程、作业
    进程包含的内容:
      a.一个唯一描述符进程ID-PID;
      b.至少一个执行线程;
      c.一个私有虚拟地址空间(提供进程存储、引用数据与代码的虚拟地址空间);
      d.一个可执行程序(定义映射到虚拟空间的初始代码和数据);
      e.一个清单(指定系统的各种资源:信号量、端口、打开的文件句柄等);
      f.一个名为访问令牌的安全上下文,包含用户、安全组、特权、UAC虚拟化状态、LSA登录会话ID、远程桌面服务会话ID等
    线程(一种容器)的基本组成:
      a.一组CPU寄存器内容;
      b.两个栈:一个供内核模式执行的线程调用,一个供用户模式执行的线程调用;
      c.一个线程本地存储(TLS)的专用存储区域(供子系统、运行时库、动态链接库使用);
      d.一个唯一标识-线程ID(TID);
      e.线程安全上下文
    作业:让一组进程作为整体进行统一管理和操作(属性控制、进程限制等等)
    进程中的每个线程共享该进程的虚拟地址空间,但无法使用其他进程的空间(除非设置共享内存或有权打开另一个进程并使用跨进程内存功能)
    通常线程没有自己的访问令牌,需要时可以获取令牌。
  4. 用户模式、内核模式
    每个进程有自己的私有内存空间,但内核模式的操作系统和设备驱动代码共享同一个虚拟地址空间,该空间包含在每个进程的地址空间中,
    系统为每个虚拟内存页添加标记,系统空间中的页只能从内核模式访问,用户地址空间的所有页都可以从用户模式访问
    用户模式切换到内核模式:调用系统服务,从用户模式到内核模式的转换是调用一个特殊的处理器指令实现,该指令让处理器切换到内核模式的系统服务调度函数
    大部分图形和窗口系统运行在内核模式下,承载图形密集型的程序可能大部分时间处于内核模式,在Process Explorer中CPU量图:红色部分表示处于内核模式时间,绿色部分表示处于用户模式时间
  5. 句柄
    什么是句柄?
    一个句柄代表进程中句柄表中的一个索引,代表该进程成功使用的一个资源,程序使用该句柄值对该资源进行操作(包含释放)
    句柄资源类型:注册表键、内存管理器定义的共享内存section对象、执行体定义的信号量和Event同步对象(Semphore、Mutant(Mutex))、IO管理器定义的File对象、进程管理器中的Process对象和Thread对象
    Win7-42个类型,Win8-46个类型,Win10-53个类型,通过管理员权限运行WinObj查看“Object Manager/ObjectTypes”下
    句柄项内容:指向对象的指针、进程打开对象时具备的访问权限等
  6. 应用程序隔离
    MIC机制:强制完整性机制,根据可信度将用户的不同进行区别对待。完整性级别IL:代表一个进程的可信度数值,提升后的程序在高完整性下运行,普通用户应用在中等完整性下运行,保护模式下的进程在低完整性下运行
    每个对象的安全描述符都包含一个完整性标签(包含完整性级别和策略),策略定义是否允许或拒绝来自完整性更低的进程的操作(读取、写入、执行)。
    不含该标签则视为默认中等完整性---不允许从完整性更低的进程执行写入操作
    Windows为所有的进程对象分配一条策略---禁止来自任何完整性更低的进程发起读取和写入请求
    查看进程的完整性级别的工具:ProcessExplorer、AccessChk
  7. 应用容器
    对windows安全模型的一种扩展,将应用相关的所有进程作为整体进行保护。
    每个应用会包含绝对唯一的标识,应用的标识被被纳入使用一种全新的安全标识SID所创建的访问令牌
    AppX打包机制:
posted @ 2021-12-05 21:16  Zima  阅读(60)  评论(0编辑  收藏  举报