加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

人脸识别百亿蓝海之下还需要解决什么

发布时间:2021-01-31 10:47:25 所属栏目:动态 来源:互联网
导读:复杂,但我们只需要关注以下几点:_dl_fixup是如何通过与我们控制的linkmap中的三个主要指针进行交互,来解析和重定位函数地址的,所有这些指针都是从linkmap的l_info数组中提取的: l_info[DT_SYMTAB],指向符号表的.dynamic条目的指针。 l_info[DT_STRTAB]

复杂,但我们只需要关注以下几点:_dl_fixup是如何通过与我们控制的linkmap中的三个主要指针进行交互,来解析和重定位函数地址的,所有这些指针都是从linkmap的l_info数组中提取的:

  • l_info[DT_SYMTAB],指向符号表的.dynamic条目的指针。
  • l_info[DT_STRTAB],指向字符串表的.dynamic条目的指针。
  • l_info[DT_JMPREL],指向PLT重定位记录数组的.dynamic条目的指针。

Elf二进制文件中的.dynamic段用于保存解析器需要获取的各个段的信息。在我们的例子中,.dynstr (STRTAB)、.dynsym (SYMTAB)和.rela.plt (JMPREL)段都是解析和重定位函数所需要的。

动态条目(Dynamic entry)的结构如下所示:
 

诸如pylint的Python或eslint的JavaScript之类的linter非常适合通用的广泛语言标准。但是代码审查中的常见问题呢,例如使用打印语句而不是记录程序,或者在for循环(特定于Go)中使用defer语句,或者多层嵌套循环等。

大多数开发人员没有使用语言解析的经验。因此,在中小型团队中看到自定义Lint规则并不常见。尽管没有哪一种Linter或语言比其他Linter复杂得多(全都是AST操作),但是学习每种语言Linter的AST和框架要付出很小的代价。

semgrep规则的一个优点是,可以学习semgrep模式匹配语法(这非常简单),然后可以为想要为其编写规则的任何语言编写规则。

Semgrep使用代码的标准表达进行模式匹配,而无需复杂的查询或者正则。可用于在DevSecOps各个阶段:代码编写,代码提交或者CI运行时发现Bug和漏洞。其精确的规则看起来就像要搜索的代码,无需遍历抽象语法树或与正则表达式死扛。与传统的正则表达式(和传统的grep)不同,它可以找到递归模式。这使其特别有用,可以作为学习查找任何语言模式的工具。

Semgrep还支持容器化方式部署和运行,由emgrep官方注册表中,有Semgrep社区维护的包安全性,正确性,性能,代码质量和Bug等各方面的1000多规则可直接拿来使用。

Semgrep软件安全公司r2c开发并提供商业支持。目前已经有大量的企业用于生产环境中,也有很多工具比如NodeJsScan之类底层支持引擎。

基本准备

本文中我们所有的例子都需要运行docker,并基于semgrep基本镜像returntocorp/semgrep。docker安装和配置过程我们不在介绍,首先从docker官方拉一个最新的镜像备用:

静态分析是一个非常有用的工具,使用它可以帮助开发者或者安全人员在开发阶段就能发现代码中存在的bug和安全问题。静态分析是一个综合性和系统性的工程,对于每一个开发者和安全人员来说了解其原理,并能使用工具进行初步的分析很有必要。本文我们介绍一个开源的快速高效的多语言静态分析工具Semgrep,通过在Docker中设置基本Semgrep环境,并用一些简单的例子说明其用法。
 

当然,这个技术还存在其他变体,例如在内存中的已知位置提供一个完全精心制作的linkmap,用相对寻址来伪造重定位和符号数据。这里的目标同样是滥用运行时解析器,从已知的内存位置偏移到攻击者想要转移执行的位置。

然而,虽然在我们的例子中,我们能够提供一个精心制作的linkmap,但我们并不能控制运行时解析器的参数。此外,我们也还没有掌握执行控制权,而是旨在“策反”运行时解析器,通过我们精心制作的linkmap数据,以绕过ASLR机制并实现执行重定向。由于堆的基地址是随机的,而且我们是通过PNG文件来攻击进程的,所以,我们没有办法泄露linkmap的位置,因此我们只能基于非PIE节点二进制文件来进行内存布局和内容假设。

为了更好地了解如何实现攻击者的目标,让我们来看看_dl_fixup的工作原理。在这里,所有的代码引用都来自glibc-2.27。

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读