- 博客(245)
- 收藏
- 关注
原创 Intel 和 ARM 对ROP/COP/JOP的缓解措施
前向转移(forward):将控制权定向到程序中一个新位置的转移方式, 就叫做前向转移, 比如jmp和call指令。这里我们主要保护的间接跳转,间接跳转是运行时才知道函数地址,而直接跳转在编译阶段就已经确定(攻击者很难利用)。后向转移(backward):而将控制权返回到先前位置的就叫做后向转移, 最常见的就是ret指令。现代CPU的增强功能,如非可执行堆栈和非可写代码页,有助于防止传统形式的代码注入。然而,比如在x86架构中,指令解码可以从任意字节开始,这为攻击者提供了一组不同于程序员意图的指令。
2024-07-12 17:58:14
763
原创 Shadow Call Stack and Branch Target Identification for improved security on ARM64
Shadow Call Stack and Branch Target Identification for improved security on ARM64
2024-07-09 17:43:35
891
原创 Linux arm64平台指令替换函数 aarch64_insn_patch_text_nosync
Linux arm64平台指令替换函数aarch64_insn_patch_text_nosync简介
2024-07-08 16:51:49
841
原创 Linux x86_64平台指令替换函数 text_poke_smp/bp
Linux x86_64平台指令替换函数 text_poke_smp/bp简介
2024-07-05 17:30:37
956
原创 Linux CFS调度器之周期性调度器scheduler_tick函数
Linux CFS调度器之周期性调度器scheduler_tick函数简介
2024-05-30 17:45:19
996
19
原创 Linux gurb2简介
Linux gurb2简介以及/etc/default/grub文件、/etc/grub.d/文件夹、/boot/grub2/grub.cfg和grubx64.efi文件简介。
2024-05-22 18:52:57
1214
原创 Linux .eh_frame section以及libunwind
Linux .eh_frame section的描述以及libunwind库的使用。
2024-05-17 17:54:28
1216
原创 Linux x86_64 backtrace 栈回溯
Linux x86_64 backtrace 栈回溯简介以及使用backtrace来定位段错误位置。
2024-05-11 20:30:51
1262
原创 Linux x86_64 dump_stack()函数基于FP栈回溯
Linux x86_64 dump_stack()函数的使用,以及基于FP栈回溯的原理简介。
2024-05-11 17:17:44
1140
原创 Linux 根据 socket inode 获取其进程pid
Linux 根据 socket inode 获取其进程pid,给出对应一个C语言示例。
2024-04-26 14:59:42
797
原创 Spectre V1 defense in GCC
https://lwn.net/Articles/759423/ 和https://lwn.net/Articles/746551/ 的翻译。
2024-04-19 16:22:52
879
原创 ARM64架构栈帧以及帧指针FP
本文描述了arm64架构寄存器简介,ARM64架构函数调用标准简介,A64指令集指令集简介以及给了一份demo演示函数调用栈,根据函数调用链来进行栈回溯。
2024-03-29 16:08:06
1614
2
原创 Linux getopt函数的使用
getopt()和getopt_long()是用于解析命令行参数的函数,常用于编写命令行工具或应用程序。它们在Linux和其他类Unix系统中非常常见。
2024-03-12 16:38:58
1259
原创 So you think you understand IP fragmentation?
本文来自 https://lwn.net/Articles/960913/ 的翻译
2024-03-06 11:29:32
611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人