博客
关于我
checksec未完待续~
阅读量:351 次
发布时间:2019-03-04

本文共 822 字,大约阅读时间需要 2 分钟。

checksec是一个用于检查可执行文件属性的脚本工具,专注于安全相关的文件属性检测,适合用于学习shell脚本和安全技术。

checksec主要用于检查可执行文件的安全属性,包括但不限于PIE、RELRO、Pax、Canaries、ASLR和Fortify Source等技术。这些属性通常与文件的保护模式和安全特性相关,帮助开发者评估目标文件的安全性。

关键术语解释

  • PIE (Position Independnet Code): 位置无关代码是一种技术,允许可执行文件在任意位置运行。PIE通过在文件中添加一个函数入口点,使其无需依赖特定的内存位置。

  • RELRO (RELocation Read-Only): RELRO是一种 mitigation技术,用于将数据段设置为只读,以防止某些类型的攻击对内存布局造成影响。

  • Pax (Stack Canary): Pax是一种栈保护技术,通过在栈顶部添加一个保护区域(canary)来防止栈溢出攻击。

  • ASLR (Address Space Layout Randomization): ASLR是一种安全技术,通过随机化程序的虚拟内存布局,防止攻击者利用已知的内存布局信息进行攻击。

使用方法

checksec支持通过命令行参数进行文件检查,例如:

checksec --file /usr/sbin/sshd

源码解读

checksec的源码通常包含脚本解析器和安全检测逻辑,适合在Ubuntu等系统上进行测试和分析。脚本中常用自定义函数assertShellOutputEquals()来验证命令输出,确保测试结果准确。

栈溢出防御

现代Linux系统提供了多种防止栈溢出攻击的技术,包括Pax、ASLR和RELRO等。这些技术通过改变内存布局和保护机制,有效提升系统安全性。

checksec作为一个简化工具,能够帮助开发者快速检测系统中可执行文件的安全属性,指导安全性优化工作。

转载地址:http://jmjr.baihongyu.com/

你可能感兴趣的文章