【问题标题】:Is it possible to prevent anyone from stripping debug symbols (e.g., labels) from an ELF binary?是否可以防止任何人从 ELF 二进制文件中剥离调试符号(例如标签)?
【发布时间】:2017-04-29 16:55:00
【问题描述】:

是否可以防止任何人从 ELF 二进制文件中剥离调试符号(例如标签)?

是否存在任何可以防止攻击者从可执行文件中删除调试符号的保护机制?

在这种情况下,调试符号可以提供有关所有者不会丢失的二进制文件的有用信息。

有什么想法吗?

【问题讨论】:

  • 我认为,调试符号为攻击者提供了更多信息并使二进制文件易受攻击。部署带有调试信息的二进制文件并不是一个好主意。
  • 你心目中的“攻击者”是什么样的?

标签: linux gcc binary x86 elf


【解决方案1】:

是否存在任何保护机制可以防止攻击者从可执行文件中删除调试符号?

根据定义,调试符号对于执行来说不是必需的,可以被剥离或覆盖。

可以对整个可执行文件(包括调试符号)进行签名或校验和,将该签名存储在磁盘上并在运行时验证它,从而防止对二进制文件进行任何修改.

在这种情况下,调试符号可以提供有关所有者不会丢失的二进制文件的有用信息。

您似乎倒退了:调试符号对攻击者的帮助远大于对所有者的帮助。

【讨论】:

    【解决方案2】:

    你查看过 elf 文件中的内容吗?这将是微不足道的(删除符号表)。所以是的,这是可能的

    符号表用于调试目的,那么如果您可以运行不在调试器中的程序怎么办...

    【讨论】:

      猜你喜欢
      • 2016-03-21
      • 1970-01-01
      • 2014-03-06
      • 2013-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多