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

    ART 在 Android 安全攻防中的应用

    在日常的 Android 应用安全分析中,经常会遇到一些对抗,比如目标应用加壳、混淆、加固,需要进行脱壳还原;又或者会有针对常用注入工具的检测,比如 frida、Xposed 等,这时候也会想知道这些工具的核心原理以及是否自己可以实现...在 Android 12 应用启动流程分析 一文中我们说到,APP 应用进程实际上是通过 zygote 进程 fork 出来的。...不论是 oat、vdex 还是 art,都是 Android 定义的内部文件格式,官方并不保证其兼容性,事实上在 Android 各个版本中这些文件格式都有不同程度的变化,这些变化是不反映在文档中的,只能通过代码去一窥究竟...然后会判断指定的类加载器是否为空,为空表示要查找的类实际上是一个系统类。系统类不存在于 APP 的 DEX 文件中,而是 Android 系统的一部分。...但是热修复的使用场景并没有完全消失,比如在 Android 应用安全研究中 Hook 的概念也是热修复的一种延续。

    1.3K10

    深度了解Android 7.0 ,你准备好了吗?

    ● 在插入之前,检查设备是否包含表情符号。若要检查系统字体中有哪些表情符号,使用hasGlyph(String) 方法。 ● 检查表情符号是否支持变量选择符。...十七、密钥认证 使用硬件支持的密钥库,可更安全地在 Android 设备上创建、存储和使用加密密钥。...它们可保护密钥免受 Linux 内核、潜在的 Android 漏洞的攻击,也可防止从已取得根权限的设备提取密钥。 为了让硬件支持的密钥库使用起来更简单和更安全,Android N 引入了密钥认证。...应用和关闭的设备可使用密钥认证以坚决地确定 RSA 或 EC 密钥对是否受硬件支持、密钥对的属性如何,以及其使用和有效性有何限制。...因此,有效的认证密钥签署的认证证书可确认硬件支持的密钥库是否存在,以及该密钥库中密钥对的详细信息。

    2.9K10

    Key attestation-Google的密钥认证

    Android提供的API允许应用程序确定给定的密钥库密钥是否在安全硬件中,但是如果操作系统受到威胁,这些API可能不可靠。...密钥证明Key attestation为设备的安全硬件提供了一种方法,用于验证非对称密钥是否处于安全硬件中,以防止对Android操作系统的破坏。...如果攻击者危及Android并尝试提取密钥,则他们不会成功,因为密钥在安全硬件中。 作为应用程序开发人员,密钥认证允许您在服务器上验证您的应用程序所请求的ECDSA密钥实际上是否安全地存在于硬件中。...请注意,在您的应用程序本身中使用证明是没有意义的。 如果Android操作系统是不妥协和可信的,那么您可以使用6.0中引入的KeyInfo类来发现密钥是否在安全硬件中。...SafetyNet使用Keystore密钥证明,所以如果你想了解设备的完整性使用。 如果您想确认您的密钥是否在安全硬件中,请使用密钥认证。

    7.2K90

    深度了解Android 7.0 ,你准备好了吗?

    ● 在插入之前,检查设备是否包含表情符号。若要检查系统字体中有哪些表情符号,使用hasGlyph(String) 方法。 ● 检查表情符号是否支持变量选择符。...十七 密钥认证 使用硬件支持的密钥库,可更安全地在 Android 设备上创建、存储和使用加密密钥。...它们可保护密钥免受 Linux 内核、潜在的 Android 漏洞的攻击,也可防止从已取得根权限的设备提取密钥。 为了让硬件支持的密钥库使用起来更简单和更安全,Android N 引入了密钥认证。...应用和关闭的设备可使用密钥认证以坚决地确定 RSA 或 EC 密钥对是否受硬件支持、密钥对的属性如何,以及其使用和有效性有何限制。...因此,有效的认证密钥签署的认证证书可确认硬件支持的密钥库是否存在,以及该密钥库中密钥对的详细信息。

    1.5K30

    Android 9.0的新增安全特性与TEE

    从安全性增强方面来看,本次Android9.0版本主要有以下几个方面: 统一的指纹身份验证对话框 Android P 中,系统提供统一标准化的指纹身份验证对话框。...包括对话框外观、风格和位置,让用户可以更放心地确信,他们是在根据可信的指纹凭据检查程序验证身份。...硬件安全性模块 也就是说SE,带有这个模块的设备可拥有 StrongBox Keymaster,这个 Keymaster HAL 的实现位于一个硬件安全性模块内。...检查存储在 StrongBox Keymaster 中的密钥时,系统会通过可信执行环境 (TEE) 证实密钥的完整性。...保护秘钥库秘钥导入安全 Android P通过添加了利用新增的 ASN.1 编码密钥格式将已加密密钥安全导入密钥库的功能,增加了密钥加密的安全性。

    1.5K20

    像奥利奥一样的双重安全措施,尽在 Android Oreo

    启动引导装载程序会在下次开机分析这些命令并检查安全存储于有重放保护的内存区(Replay Protected Memory Block, RPMB)中对锁更改的信息是否合法。...新的 Pixel 设备配有特殊的安全模块,所有搭载Android Oreo 的谷歌移动服务(GMS)的设备也需要实现密钥验证。这提供了一种强验证标识符机制,例如硬件标识符。...追随着Android Nougat 中媒体堆栈加固,我们在Android Oreeo 媒体框架中移除了许多直接访问硬件的模块,从而创造了更好的隔离环境。...加固用户拷贝: 一个最新的 Android 安全漏洞调查显示:在内核漏洞中,失效的或者无边界检查情况约占 45%。...在 Android 内核 3.18 及以上版本中,我们新增了一个边界检查的补丁,使得利用这个漏洞变得更困难,同时还同帮助开发者在他们代码中查找问题并修复问题。

    1.1K30

    Android Pie 引入 Keystore 新特性,安全防护再升级

    Keystore 将软件库中的密码学原语从 Android OS 移植到安全硬件中,从硬件层面为密钥资料提供额外的安全防护,并确保密钥仅能够在安全硬件中被使用,因此即使设备遭受攻击,应用的机密数据也不会泄露...安全密钥导入 安全密钥导入是 Android Pie 引入的另一项新特性,它允许应用以一种更加安全的方式将现有密钥配置到密钥库中。...密钥在传输过程中完成加密,且对应用和操作系统均不可见,也就是说只有在导入到的安全硬件后才能使用这些密钥。...如果您想了解该特性的具体使用方法,请仔细阅读教程文档《Android 密钥库系统》中的相关部分。请注意,由于安全密钥导入是一款安全硬件特性,因此部分 Android Pie 设备可能无法使用该功能。...应用可以调用 PURPOSE_WRAP_KEY 来生成一个密钥对,以此来鉴别所用设备是否支持安全密钥导入。 点击这里参与 Android 开发者问卷调研 ?

    1.1K30

    从诺基亚 X6 聊人脸解锁:安全基础是TEE

    实际上我们之所以说 Android 4.0 时代的人脸解锁在安全性方面还很原始,有一则依据是直到 2013 年下半年 Android 4.3 果冻豆的推出,谷歌才在 API 文档中首次提及硬件级别的证书存储...系统甚至在设置项中还支持检查证书存储是否受到专有硬件支持,比如当时的 Nexus 4 就已经开始宣传高通内部的 TrustZone 了,而更早一代的 Galaxy Nexus 在证书存储的问题上仍然只支持从软件上来实现...“原本守护进程的实施方案包括在一个库中的密钥块管理和加密,但后来 Android 4.1 引入了全新的 keymaster 硬件抽象层(HAL)系统模块,支持在无需输出密钥的情况下,就可以生成非对称密钥...keymaster 模块会将 keystore 密钥存储服务,从非对称密钥操作实施方案中剥离出来,支持特定设备、硬件级别更方便的整合。...安全世界有自己专门的操作系统(比如高通的 QSEOS,这个系统直接以系统调用的形式提供少量服务),内部还运行一些“微应用”,比如密钥管理、加密、完整性检查等。

    1.8K40

    【Android 安全】DEX 加密 ( Application 替换 | 分析 Service 组件中调用 getApplication() 获取的 Application 是否替换成功 )

    涉及源码 七、 LoadedApk 涉及源码 一、 Service 中的 getApplication() 方法分析 ---- 在 Service 中调用 getApplication() 方法 , 获取...Application , 返回的是 Service 中的 private Application mApplication 成员 , 该成员在 Service 的 attach 方法中进行设置 ;...H 处理 CREATE_SERVICE 消息 ---- 在 ActivityThread 中 , 创建并启动一个 Service , H ( Handler 子类 ) 接到一个 CREATE_SERVICE...消息 , 在相应的处理该 CREATE_SERVICE 消息的 handleMessage 方法中 , 调用了 handleCreateService 方法 ; public final class...; Application 已经执行完毕 , Application 替换操作是在 Application 的 onCreate 方法中执行的 , 此处的 Activity 执行肯定在 Application

    72240

    细数最新Android N的安全改进

    上个月的Google I/O大会上,谷歌发布了Android N,但是大会的内容实在太多,导致都没有来得及详细介绍新系统的安全特性。现在,我们来看看Android N在安全层面有哪些改进。...强制使用硬件级的密钥库: 熟悉ARM芯片的同学应该知道,为了保证安全性,ARM架构处理器内部很早就出现了一个名叫TrustZone的安全区域——在先前的Android系统中,开发者可以选择将密钥存储在TrustZone...但是从Android N开始,加密密钥将只能储存在TrustZone中。 抛弃弱加密的Cryto Provide: 这实际上也是针对数据加密的重要举措。...既然谈到沙盒了,顺带一提:在Android N系统中,谷歌是从Linux内核移植的“seccomp”沙盒机制——这东西原本并不包含在Android系统采用的Linux内核分支中。...新系统还引入了支持开发者检查设备健康度的函数,借此可检查核心操作系统代码是否被篡改。 特别针对勒索软件、银行木马 由于当前Android系统恶意程序越来越猖獗,谷歌也的确有意进行管控。

    769100

    现代化 Android Pie: 安全与隐私

    控制流程完整性 (CFI) 是一种安全机制,它不允许更改已编译代码的原始控制流图。在 Android Pie 中,CFI 在媒体框架和其它关键安全组件中默认启用,如近场通信 (NFC) 和蓝牙协议。...在 Android Pie 中,我们将排错程序的使用范围扩展至以下两类库: (1) 需要处理复杂且不受信任的输入; (2) 曾收到过安全漏洞报告。...它是第一个可以在移动设备上通过可信 UI 保障交易安全的系统级 API,主要作用是利用受硬件保护的用户界面 (即可信 UI ),确保关键交易在主操作系统外完成。...我们还为一种新密钥库类型添加了支持,它可以利用搭载独立 CPU、RAM 和闪存的防篡改硬件,为私钥提供更强大的安全防护。...应用的自动备份功能也有所优化,开发者可以指定在哪些条件下,应用数据被排除在自动备份计划外。比如说,Android Pie 新添加的一款标签就可用于判定用户备份是否为客户端加密。

    93230

    WPA2 安全协议惊现高危漏洞,几乎涉及所有 WiFi 设备(附固件升级列表)

    为了保证安全性,只能生成和使用一次密钥,不幸的是,WPA2协议并不能保证这一点,通过操纵握手时的加密信息,攻击者可以在实践中利用这个弱点。...所以,使用相同的加密密钥已经是过时的做法了。 KRACK 攻击可能会对 Linux 和 Android 6.0 或更高版本造成更大的破坏。...因为 攻击者可以“欺骗” Android and Linux 设备将加密密钥都重置为0。 受影响的漏洞 其实早在去年的时候,Vanhoef 就发现了这个问题,但他一直在改善他的研究。...不过,对于AirPort硬件,包括Time Machine,AirPort Extreme基站和AirPort Express都没有可用的补丁,并不确定是否正在着手修复中。...360 安全研究员杨卿对此提出安全建议: 1.及时更新无线路由器、手机,智能硬件等所有使用WPA2无线认证客户端的软件版本。

    1.7K90

    重要变更: Android App Bundle 的未来计划

    Play 应用签名 : 以 App Bundle 方式分发需要 Play 应用签名,这种签名使用 Google 的安全基础架构避免了应用签名密钥丢失,并可以升级到加密性更强的新应用签名密钥。...但是,由于 OBB 不具有签名且存储在应用的外部存储中,所以不够安全。...您可以定位众多 Android 设备,同时高效利用可用硬件和设备存储空间。 Q:如果使用 App Bundle,我是否可以继续通过多分发渠道/应用商店发布应用? 当然可以,您可以通过多种方式实现。...此外,App Bundle 的代码透明性 是一项可选的全新功能,可检查设备上运行的代码是否是开发者最初构建并签名的代码。...Q:如果我已经在 Google Play 上发布了一款应用,我能否在不提供现有应用签名密钥的副本前提下开始使用 Play 应用签名?

    1.1K40
    领券