首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android开发日常:使用JNI执行任何二进制文件

JNI是 Java Native Interface 的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植。从 Java1.1 开始,JNI标准成为java平台的一部分,它允许 Java 代码和其他语言写的代码进行交互 。JNI 一开始是为了本地已编译语言,尤其是 C 和 C++ 而设计的 ,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI 标准至少要保证本地代码能工作在任何 Java 虚拟机环境。

01

针对恶意软件分类器的可解释性后门投毒

终端安全行业越来越多地采用基于机器学习 (ML) 的工具作为其纵深防御策略的组成部分。特别是,使用源自二进制文件静态分析的特征的分类器通常用于在端点上执行快速、预执行检测和预防,并且通常充当终端用户的第一道防线。同时,了针对恶意软件(malware)检测模型的对抗性攻击的关注度相应增加。该领域的主要焦点是逃避攻击(evasion attack)的发展,其中攻击者的目标是在推理时改变数据点以引起错误分类。然而在本文中关注投毒攻击的潜在问题,它试图影响 ML 训练过程,特别是后门投毒攻击,其中攻击者将精心选择的模式放入特征空间,以便受害者模型学习将其存在与攻击者选择的类别相关联。虽然之前已经针对开源和商业恶意软件分类器的测试证明了规避攻击,但后门投毒为攻击者提供了一种有吸引力的替代方案,它在一开始就需要更多的计算工作,这可能会导致通用规避各种恶意软件样本和目标分类器的能力。当应用于计算机视觉模型而不需要大量投毒样本时,这些后门攻击已被证明是非常有效的,但它们对恶意软件分类域和一般基于特征的模型的适用性尚未被调查。

04

Release 自动更新 Krew Index

前面介绍过创建 Krew 插件的方法,其中生成插件描述文件的部分,可以说是又直接又麻烦,而且每次发布的时候,都要重新生成并刷新 Krew Index,于是我写了个脚本,可以根据既有信息和已经发布的二进制文件生成 YAML 文件。这个脚本的功能,简单说就是写一个 YAML 模板,然后下载二进制文件,计算哈希,生成最终的插件描述文件,把描述文件覆盖旧版本,然后发布 PR 即可。有了脚本之后其实还是挺麻烦的,不过在浏览 Krew 文档时发现有一节 Automating plugin updates ,其中提到了可以使用 Krew Release Bot 来自动地完成这个过程,官方强烈推荐使用这个 Bot 进行更新,理由是该 Bot 生成清单文件后自动提交的 PR,如果其中包含的变更内容只是简单的版本升级,能够被 Krew Index 的 Bot 自动处理,免除人工环节之后,整个更新过程可以在几分钟之内完成,避免了新版本二进制无法及时更新的尴尬。下面就介绍一下这个 Bot 的用法。

02
领券