Kam1n0:一款功能强大的汇编代码管理和分析平台

VSole2022-10-12 18:11:17

 关于Kam1n0 

Kam1n0是一款功能强大且易于扩展的汇编代码管理和分析平台,该工具允许用户将一个大型二进制文件集合索引到不同的存储库中,然后它会给广大研究人员提供各种不同的分析服务,例如克隆搜索和分类等等。该工具引入了应用程序的实现概念,并支持对汇编代码库的多租户访问和管理。考虑到逆向工程任务的多功能性,Kam1n0的服务器目前提供了三种不同类型的克隆搜索工具:Asm-Clone、Sym1n0和Asm2Vec。

其中,用户可以创建多个应用程序实例,应用程序实例可以在特定的用户组之间共享,应用程序存储库的读写访问和开关状态可以由应用程序所有者控制,而Kam1n0的服务器可以使用多个共享资源池同时为应用程序提供服务。

Asm-Clone

Asm-Clone应用程序试图解决汇编函数的高效子图搜索问题(即图同构问题)(平均查询时间<1.3秒,平均索引时间<30毫秒,2.3M函数)。给定一个目标函数(如下图所示左侧的函数),它可以在存储库中的其他函数(如图所示右侧的函数)中标识克隆的子图:

Sym1n0

Sym1n0支持通过区分模糊测试和约束求解进行语义克隆搜索,而这是一种高效、可扩展的动态静态混合方法(平均查询时间<1s,平均索引时间<100ms,1.5M函数)。给定一个目标函数(如下图所示左侧的函数),它可以在存储库中的其他函数(如图所示右侧的函数)中标识克隆的子图,并且支持抽象语法图的可视化:

Asm2Vec

Asm2Vec利用了表征学习方法,它可以理解汇编代码的词汇语义关系。例如,xmm*寄存器在语义上与向量操作(如addps)相关,以及memcpy类似于strcpy等。下图显示了从libgmp中的gmpz_tdiv_r_2exp的同一源代码编译的不同汇编函数。从左到右,汇编函数使用GCC O0选项、GCC O3选项、O-LLVM混淆器控制流图、平坦化选项和LLVM模糊器伪控制流图选项进行编译,Asm2Vec可以静态地将它们标识为克隆:

 可执行程序分类 

在此应用程序中,用户定义了一组基于功能相关性的软件类,并提供了属于每个类的二进制文件。然后,系统自动将功能分组为集群,集群中的功能通过克隆关系直接或间接连接。保留对分类有区别的簇,并作为其类的签名。给定一个目标二进制文件,系统会显示它属于每个软件类的程度:

 平台概览 

下图显示了Kam1n0的主要UI组件和功能:

 工具安装 

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/McGill-DMaS/Kam1n0-Community.git

或直接访问该项目的Releases页面下载Kam1n0。

Kam1n0的当前版本由两个安装程序组成:核心服务器和IDA Pro插件。

Kam1n0服务器安装

Kam1n0的核心引擎使用纯Java开发,并需要下列依赖组件:

1、最新版本11.x JRE/JDK x64发行版;
2、最新版本IDA Pro,并安装好idapython插件;

Kam1n0 IDA Pro插件安装

Kam1n0 IDA Pro插件基于Python开发,主要使用下列依赖组件:

IDA Pro > v6.7,且安装好idapython插件

 自定义开发 

使用下列命令克隆最新稳定版分支:

git clone --recursive -b master2.x --single-branch https://github.com/McGill-DMaS/Kam1n0-Community

导入项目

在IntelliJ中,将/kam1n0/kam1n0/以Maven项目导入,接下来使用下列命令构建项目:

cd /kam1n0/kam1n0mvn -DskipTests clean packagemvn -DskipTests package

接下来,可以使用下列命令进行测试:

cd /kam1n0/kam1n0mvn -DskipTests clean package # you can skip this one if you already built the packagemvn -DskipTests package       # you can skip this one if you already built the packagemvn -DforkMode=never test

 许可证协议 

本项目的开发与发布遵循Apache-2.0开源许可证协议。

代码管理
本作品采用《CC 协议》,转载必须注明作者和本文链接
Kam1n0是一款功能强大且易于扩展的汇编代码管理和分析平台,该工具允许用户将一个大型二进制文件集合索引到不同的存储库中,然后它会给广大研究人员提供各种不同的分析服务,例如克隆搜索和分类等等。
美国东海岸的用户发现,像Twitter,Spotify,Etsy,Netflix和软件代码管理服务GitHub这样的网站都无法访问。黑客用垃圾流量瘫痪了美国最大的互联网管理公司之一Dyn,有效地关闭了整个地区的服务和网站。 周五当地时间上午7点,美国东海岸的用户发现,像Twitter,Spotify,Etsy,Netflix和软件代码管理服务GitHub这样的网站都无法访问。黑客用垃圾流量瘫痪
DevOps是Development和Operations组合的缩写词,它指的是一种协作方法,使企业的应用程序开发团队(Development team)和 IT 运营团队(Operations team)能够更好地沟通工作,DevOps的概念有助于使技术项目与业务需求保持一致,从而提高企业整体的工作效率[1]。如图1所示[2],DevOps流程主要会涉及8个步骤,分别是:计划(PLAN)、编码(
七个顶级CIAM工具
2022-11-29 10:07:18
根据Gartner的最新报告,到2025年,整合欺诈检测和无密码身份验证的CIAM有望帮助企业将客户流失率减少一半以上。在安全方面,该平台为身份验证和欺诈情报提供集成和连接器。它还具有同意管理功能,确保隐私保护符合GDPR和CCPA等法规。同样,虽然能够检查设备属性以进行风险评分和分析,但功能有限。微软明确表示这将是一个长期重点,也可能会涉及外部用例。
由于泄愤报复或者其他个人目的,毁坏机器设备、残害耕畜或者以其他方法破坏生产经营的,处三年以下有期徒刑、拘役或者管制;情节严重的,处三年以上七年以下有期徒刑。
在工业开发领域也有人提出了一种被称为 MLops 的新的开发范式,即机器学习时代的 Devops。Reproducible Machine Learning,顾名思义,即为可复现的机器学习。
近期深信服安全团队监测到境外黑客组织AgainstTheWest(以下简称ATW)针对托管在外网的SonarQube平台进行了定向攻击,窃取我国重要单位源代码,并在境外论坛上进行出售。 SonarQube 是一款代码质量审计和管理分析平台,该平台存在未授权访问,信息泄露以及弱口令爆破等安全隐患,攻击者可以利用这些安全隐患实施攻击,获取SonarQube平台上的项目源代码。 通过深度分析,我国有
欧洲刑警组织在12月22日发布的新闻稿中,称由 17 个国家联合参与的执法行动已发现数百个电商平台存在恶意脚本攻击,其用户的信用卡或支付卡数据已遭到泄露。
日前,知名云身份安全服务商Okta正式披露其私有GitHub存储库遭到黑客攻击,部分源代码遭泄露。尽管Okta公司表示,本次泄露事件不会造成其客户的隐私数据安全,Okta有充分的技术手段来保护用户服务安全。但安全研究人员认为,源代码泄露造成隐形危害在短时间内尚难以准确评估。本次Okta源代码泄漏事件,只是近年针对GitHub代码库非法访问攻击中的最新案例。然而,目前GitHub所能提供的外部合作者管理能力存在较大不足,难以确保企业的开发活动安全。
VSole
网络安全专家