• 有了前两节的学习相信读者已经知道CPU所有的操作都是建立在虚拟地址上处理(这里的虚拟地址分为内核态虚拟地址和用户态虚拟地址),CPU看到的内存管理都是对page的管理,接下来我们看一下用来管理page的经典算法--Buddy。
  • 前段时间,我们的项目组在帮客户解决一些操作系统安全领域的问题,涉及到windows,Linux,macOS三大操作系统平台。无论什么操作系统,本质上都是一个软件,任何软件在一开始设计的时候,都不能百分之百的满足人们的需求,所以操作系统也是一样,为了尽可能的满足人们需求,不得不提供一些供人们定制操作系统的机制。当然除了官方提供的一些机制,也有一些黑魔法,这些黑魔法不被推荐使用,但是有时候面对具体的业务场景,可以作为一个参考的思路。本文着重介绍Linux平台上常见的拦截:Linux上的动态库劫持主要是基于LD
  • Greg Kroah-Hartman在邮件列表公告中写道:“我宣布4.18.20内核发布。所有4.18内核分支的用户必须尽快。值得注意的是这是4.18.y的最后一个版本,4.18分支目前已经停止支持,请尽快迁移至4.19.y分支中。”
  • 在知乎上看到了这个目前的工作实际上不是在搞 Linux 内核,但读大学的 4 年,其中有两年的时间在研究 Linux 内核和嵌入式 Linux。虽然已经好多年没再搞 Linux 内核,但上次项目需要,还是分析调试了 Android 的 low memory killer 驱动,并给 Android 的 binder 驱动增加了一些功能,对于 Linux 的内核的基本分析调试能力一直在。看到这个问题,分享一下自己的做法。以我的理解,题主的问题可以分解为三个小问题,Linux 内核开发需要知道的基本背景知识,
  • 近日,我发现Linux内核BPF模块中一个质量较高linux内核堆溢出漏洞(我们可以100%稳定触发这个漏洞,并且可以利用它来进行本地提权获得root权限。这篇文章主要分析漏洞的成因以及基本漏洞利用方法。
  • 贡献者Wanpeng Li(李万鹏,音译)近日在Linux Kernel中发现了两个拒绝服务(DOS),允许本地攻击者利用空指针引用BUG来触发DOS状态。首个漏洞在Common Vulnerabilities and Exposure中编号为CVE-2018-19406,存在于Linux内核的kvm_pv_send_ipi函数中,该函数在arch/x86/kvm/lapic.c文件中定义。目前已经确认Linux Kernel 4.19.2中存在CVE-2018-19406漏洞,允许本访攻击者在未修复设备
  • 之前我们曾报道过,Phoronix 近日测试发现,在几乎所有低中高端英特尔处理器上,最新测试版内核 Linux 4.20 的表现比最新稳定版 4.19 有显著的下降,而 AMD 的处理器不受影响。出现性能下降的原因与英特尔处理器漏洞修补有关,4.20 的主要改变是对英特尔支持超线程的处理器默认启用了 STIBP,防止间接分支预测器的跨线程控制。针对此事,Linus Torvalds 感到惊讶,他在他补充道,“我不认为代码需要还原,但是无条件启用 STIBP 的‘行为’需要更正。因为这付出的代价显然比你们之
  • 版权声明:本文为博主原创,无版权,未经博主允许可以随意转载,无需注明出处,随意修改或保持可作为原创! https://blog.csdn.net/dog250/article/details/84201114
  • Linus Torvalds表示在最佳状态下,Linux Kernel 4.20有望在2018年年底之前结束伴随着两周的窗口合并期技术,Linux Kernel 4.20的首个候选版本已经开始接受公测。根据Torvalds的说法,Linux 4.20的合并窗口非常大,但并没有打破以往记录。Linux Kernel 4.20 RC1对70%的驱动(涵盖大部分的GPU)进行了升级,优化了对x86, ARM, AArch64, PowerPC和新C-SKY在内的架构支持,改善网络、header files, t
  • Namespace是用來實現進程之間的隔離,但是并没有限制其空间的大小。如果想要限制一个进程可以使用的空间,保证各个进程之间不会互相争抢就要用到 Cgroups。Linux Cgroups(Linux Control Groups)提供了对一组进程及将来子进程的资源限制、控制、统计的能力。这些资源包括每个subsystem会关联到定义的cgroup,并对这个cgroup中的进程做限制和控制。这些subsystem是逐步合并到内核中的,可以安装apt-get install cgroup-bin 然后通过
  • 说起linux内核的栈回溯功能,我想这对每个Linux内核或驱动开发人员来说,太常见了。如下演示的是linux内核崩溃的一个栈回溯打印,有了这个崩溃打印我们能很快定位到在内核哪个函数崩溃,大概在函数什么位置,大大简化了问题排查过程。网上或多或少都能找到栈回溯的一些文章,但是讲的都并不完整,没有将内核栈回溯的功能用于实际的内核、应用程序调试,这是本篇文章的核心:尽可能引导读者将栈回溯的功能用于实际项目调试,栈回溯的功能很强大。