首页
论坛
课程
招聘
[原创]【Windows内核探索】[保护模式篇]5.权限建立
2022-6-24 21:45 4152

[原创]【Windows内核探索】[保护模式篇]5.权限建立

2022-6-24 21:45
4152

开讲

  • 上节课我们简单的讲述了实模式下的段机制。
  • 从这节开始我们就正式开始接触保护模式了

先前的示例,真真不能互相干扰吗?

  • 答案自然是否定的,在实模式下,对于任何存在于内存中的指令序列,cpu是一视同仁的,ip指哪它跑哪,埋头苦干。
  • 操作系统将我们的程序加载到内存,使得cs:ip指向我们程序的入口点之后,我们想干什么,就不是操作系统能说了算了
    • 当然我们也可以反手来一波背刺,捅死操作系统

分个段呗

  • 你可能想到了,啊,我们先前不是才讲过,分段不就好了吗?

  • 其实所谓的分段,也是建立在大家都规规矩矩和睦相处的情况下,才能最大程度上避免"不小心"出现的问题。

    • 简单地说,全看编写程序的人自觉不自觉。
    • 既然操作系统能修改cs、ds段寄存器,我们有何不可呢?

权限的建立

  • 首先,咱们既然要保证安全,那自然就要划分哪些是应用能做的,哪些是应用不能做的。

  • 其次,总归要有程序去管理软硬件的,操作系统的不受限制也理所应当了。

    权限划分

  • 既然有了不能做能做之分,并且还有了"区别对待",权限自然也就建立起来了。

  • 至此,咱们初步确定了权限的划分。

    • 常规应用,拥有部分权限
    • 操作系统,拥有所有权限

段机制的延展

  • 咱们最先想到的,最不能让应用去乱搞的是什么呢?

  • 首先就是不能让应用去破坏咱们的操作系统,咱们首先要把自己保护起来。

    • 如果应用能随意修改操作系统的指令序列,那么所谓的保护将毫无意义

初步构想

  • 我们可以沿用实模式下存在的段机制,为段设立权限。

    • 应用的指令序列处在一个权限受限的段中,不允许访问除自己段内的任何内存。
  • 而操作系统就处在拥有最高特权的段中,掌有生杀大权

尾声

  • 当然,我们初步设想的保护过于简单,还需要完善,就留到下次再做探讨。

看雪2022 KCTF 秋季赛 防守篇规则,征题截止日期11月12日!(iPhone 14等你拿!)

最后于 2022-6-24 21:50 被yuyuaqwq编辑 ,原因:
收藏
点赞2
打赏
分享
最新回复 (1)
雪    币: 4
活跃值: 活跃值 (1584)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
咖啡_741298 活跃值 2022-6-26 16:20
2
0
你这探索了个寂寞,没有一点干货
游客
登录 | 注册 方可回帖
返回