随笔分类 -  x86硬件架构

摘要:前面费老大劲学习VT的基本原理和框架代码,到底能用来干啥了? VT中,host通过exit事件监控guest的一举一动,稍微“大”一点的动作(进程切换、读写msr、执行cpuid等)都会在guest触发exit,回到host的handle函数处理,在VT框架中,host对guest有绝对的监控和处理 阅读全文
posted @ 2020-12-14 21:56 第七子007 阅读(5925) 评论(0) 推荐(0) 编辑
摘要:前面介绍了row hammer,理论上很完美,实际操作的时候会面临很尴尬的问题:内存存储数据最小的单位是cell(就是个电容,充电是1,放电是0),无数个横着的cell组成row,无数个竖着的cell组成colume;数个row和colume组成bank,多个bank组成chip,然后是rank,接 阅读全文
posted @ 2020-07-31 21:19 第七子007 阅读(1241) 评论(0) 推荐(0) 编辑
摘要:前面简单介绍了row hammer攻击的原理和方法,为了更好理解这种底层硬件类攻击,今天介绍一下cpu的cache mapping; 众所周知,cpu从内存读数据,最开始用的是虚拟地址,需要通过分页机制,将虚拟地址转换成物理地址,然后从物理地址(默认是DRAM,俗称内存条)读数据;但内存条速度和cp 阅读全文
posted @ 2020-07-19 23:17 第七子007 阅读(955) 评论(0) 推荐(0) 编辑
摘要:今天介绍raw hammer攻击的原理;这次有点“标题党”了。事实上,raw hammer是基于DRAM内存的攻击;所以理论上,只要是用了DRAM内存的设备,不论是什么cpu(intel、amd,或则x86、arm架构),也不论是什么操作系统(windows、linux、ios、arm等),都可能受 阅读全文
posted @ 2020-07-17 22:55 第七子007 阅读(2071) 评论(0) 推荐(0) 编辑
摘要:上面一篇介绍了spectre&meltdown基本原理和简单的demo方案,今天继续学习一下该漏洞发现团队原始的POC:https://spectreattack.com/spectre.pdf 1、先展示一下运行结果,便于有个直观的认识:从打印的结果来看,成功猜测出了secret字符串的内容; 2 阅读全文
posted @ 2020-07-14 22:50 第七子007 阅读(724) 评论(0) 推荐(0) 编辑
摘要:只要平时对安全领域感兴趣的读者肯定都听过spectre&Meltdown侧信道攻击,今天简单介绍一下这种攻击的原理( https://www.bilibili.com/video/av18144159?spm_id_from=333.788.b_765f64657363.1 这里有详细的视频介绍,墙 阅读全文
posted @ 2020-07-11 23:57 第七子007 阅读(1699) 评论(0) 推荐(0) 编辑
摘要:站在用户角度考虑,一个合格的操作系统即使在单核下也能 "同时" 执行多个任务,这就要求CPU以非常快的频率在不同任务之间切换,让普通人根本感觉不到任务的切换。windwos和linux都有线程切换的方法,今天介绍cpu硬件自带的任务切换方案: 时钟中断 + TSS; 1、关于时钟中断,这里 http 阅读全文
posted @ 2020-06-19 21:03 第七子007 阅读(798) 评论(0) 推荐(0) 编辑
摘要:分页是现在CPU核心的管理内存方式,网上介绍材料很多,这里不赘述,简单介绍一下分页的背景和原理 1、先说说为什么要分段 实模式下程序之间不隔离,互相能直接读写对方内存,或跳转到其他进程的代码运行,导致泄密、出错,通过分段隔离不同程序代码对不同内存单元的读写权限; 用户程序在内存种加载的地址不确定,通 阅读全文
posted @ 2020-06-14 21:36 第七子007 阅读(2015) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/Philip-Tell-Truth/p/5317983.html 这里有详细的过程说明。文字很多,为了方便阅读和理解,提炼了一些要点后归纳、整理了如下导图: 这次主要介绍实模式下的中断原理和demo示例;按照中断来源,分外部硬件中断、CPU内部中断和软 阅读全文
posted @ 2020-06-09 21:08 第七子007 阅读(2386) 评论(0) 推荐(1) 编辑
摘要:本章的代码分3个模块: MBR 引导:加载内核core程序 core:包含内核代码段(从磁盘加载用户程序并重定位)、内核数据段(存放api名称、临时缓冲、字符串等)、API段(供用户程序调用) 用户程序:调用内核API打印字符串、读写磁盘 内核程序、用户程序:这里的重定位,本质上是根据在内存中的实际 阅读全文
posted @ 2020-06-08 14:43 第七子007 阅读(713) 评论(0) 推荐(0) 编辑
摘要:一、先聊聊保护模式的基本概念:为什么叫保护模式?到底保护了啥?是怎么保护的? 1、保护模式:要搞定出保护模式的意义,需要理解另一个概念:实模式;实模式下,存在以下重大的安全隐患: (1)内存没权限区别:用户程序可以访问任意内存,包括操作系统运行的内存、其他程序运行的内存(个人观点:这是万恶之源。病毒 阅读全文
posted @ 2020-06-04 15:18 第七子007 阅读(2351) 评论(0) 推荐(1) 编辑
摘要:用户按下开机键,几秒的时间,都经历了啥? 1、cpu各个寄存器赋初始值,cs.base=0xffff0000, eip=0xfff0,其他寄存器都是0,这时cs:ip得到的物理地址:0xfffffff0; cpu上电后为啥会把cs:ip赋成这种初始值了? 可能是希望把BIOS-ROM放在可寻址4GB 阅读全文
posted @ 2020-06-02 20:49 第七子007 阅读(2587) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示