首页
学习
活动
专区
圈层
工具
发布

6款因“主密钥漏洞”受感染的Android应用

安全公司赛门铁克在自己的官方博客上发表文章,称首度发现 6 款因为 Android“主密钥”漏洞而受到感染的应用,均来自中国,且为同一攻击者,但是博客并未透露具体是在哪个应用市场发现的。...这种所谓的“主密钥”漏洞即是本月早些时候移动安全公司 Bluebox 披露的一个威胁99%Android设备的漏洞。...该漏洞可令黑客在不改变应用密钥签名的情况下篡改 APK(安装包)代码,从而读取设备上任意手机应用的数据(电子邮件、短信、文档等),获取保存在手机上的所有账号和密码,接管并控制手机的正常功能。   ...虽然此后 Google 已向 OEM 提供威胁 99%Android 设备安全的漏洞补丁,但是由于 Android 的碎片化,Android 设备制造商和移动运营商不是很经常进行更新,以及众多第三方应用市场对应用上架的鉴权工作不到位...,给 Android 设备带来很多安全隐患。

86540

大量开发者会将访问token和API密钥硬编码至Android应用

现如今,许多开发者仍然习惯于将access token(访问凭证)和API key(API密钥)等敏感内容编码到移动APP中去,将依托于各种第三方服务的数据资产置于风险中。...(了解更多详情) 不仅如此,AWS访问凭证也曾被大量发现于GitHub的项目中,这使得亚马逊不得不主动出击扫描这些漏洞并弃用遭泄漏的密钥。...据Faillible的研究人员在博客中介绍,许多被发现的AWS服务密钥都提供了可以创建和删除实例(instance)的权限。...删除AWS instance会导致数据损失和服务停止,而创建instance则在给黑客带来便利的同时,由受害者来买单。...不过,这也不是人们第一次在移动应用中发现API key, access token等机密凭证。

1.9K80
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android自定义View:绘制前的准备-DecorView创建

    前言 回忆前文:Android自定义View基础:ViewRoot、DecorView & Window的简介,可看出最后1步 = 绘制 但在绘制前,系统会有一些绘制准备,即前面几个步骤:创建PhoneWindow...Carson带你学Android自定义View文章系列: Carson带你学Android:自定义View基础 Carson带你学Android:一文梳理自定义View工作流程 Carson带你学...Android:自定义View Measure过程 Carson带你学Android:自定义View Layout过程 Carson带你学Android:自定义View Draw过程 Carson...总结 本文全面总结自定义View 绘制前的准备,主要包括:DecorView创建 & 显示,具体总结如下: 工作流程机制 源码分析 Carson带你学Android自定义View文章系列: Carson...带你学Android:自定义View基础 Carson带你学Android:一文梳理自定义View工作流程 Carson带你学Android:自定义View Measure过程 Carson带你学

    75440

    Android自定义View绘制前的准备:DecorView创建 & 显示

    前言 回忆前文:Android自定义View基础:ViewRoot、DecorView & Window的简介,可看出最后1步 = 绘制 ?...但在绘制前,系统会有一些绘制准备,即前面几个步骤:创建PhoneWindow类、DecorView类、ViewRootmpl类等 今天,我将主要讲解View绘制前的准备,主要包括:DecorView创建...即为内容栏(content)对应的DecorView = FrameLayout子类 ViewGroup contentParent = (ViewGroup)findViewById(ID_ANDROID_CONTENT...DecorView的显示 在主线程创建时,会调用 handleResumeActivity(),具体如下: /** * 源码分析:主线程创建时,调用的handleResumeActivity()...总结 本文全面总结自定义View 绘制前的准备,主要包括:DecorView创建 & 显示,具体总结如下: 工作流程机制 ? 源码分析 ?

    1K20

    我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)

    我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)☕ 逆向分析APK很有趣...直到你发现生产环境密钥就这么赤裸裸地躺在代码里。...内容提要在分析一个公开的Android APK时,我直接在应用的strings.xml文件中发现了硬编码的Facebook和Google API凭证。...******************1:16327*******:android:d2f5************API密钥验证尝试使用该密钥调用地理编码API:curl "https://maps.googleapis.com/maps/api/geocode/json?...:通过HTTPS端点动态获取使用NDK混淆并存入Android Keystore对于Google API密钥:按应用包名和SHA-1指纹限制仅开放必要API权限 核心原则:只要存在于APK中的内容,就不算秘密

    15010

    HTTPS 原理浅析及其在 Android 中的使用

    TLS的主规格说明书定义了四个核心子协议: 握手协议(handshake protocol); 密钥规格变更协议(change cipher spec protocol); 应用数据协议(application...主要分为四个步骤: (1) 交换各自支持的功能,对需要的连接参数达成一致; (2) 验证出示的证书,或使用其他方式进行身份验证; (3) 对将用于保护会话的共享主密钥达成一致; (4) 验证握手消息是否被第三方团体修改...16+ TLSv1.2 16+   也就是说,按官方的文档显示,在API 16+以上,TLS1.1和TLS1.2是默认开启的。...但是实际上在API 20+以上才默认开启,4.4以下的版本是无法使用TLS1.1和TLS 1.2的,这也是Android系统的一个bug。   ...(1) 整体结构   不管是使用自签名证书,还是采取客户端身份验证,核心都是创建一个自己的KeyStore,然后使用这个KeyStore创建一个自定义的SSLContext。整体类图如下: ?

    4.3K40

    AndroidStdio1_2

    • 从主模块和库模块生成的R类会在所需的所有软件包(包括主模块的软件包和库的软件包)中创建。 依赖库的方法主要有两种:一种是本地依赖,另一种是在线依赖。...在线依赖库一般是个人或者组织对解决某个问题的代码进行开源,例如从服务器请求数据,这是市面上90%的App都需要用到的功能,Android自带的访问网络api太烦琐,于是就需要把网络请求的代码进行封装,这样就有一些公司会把自己...这有助于Android确保APK的任何更新都是原版更新并来自原始作者。用于创建此证书的密钥称为应用签名密钥。密钥库是一种包含一个或多个私钥的二进制文件。...当在Android Studio中首次运行或调试项目时,IDE将自动在$HOME/.android/debug.keystore中创建调试密钥库和证书,并设置密钥库和密钥密码。...这个自定义变量会在BuildConfig类中自动生成,在Java代码中取这个值只要一行代码即可。 ? 手动更新Gradel ? 性能分析工具 ? 支持直接打开app分析 ? 直接查看 ?

    2.1K20

    安卓应用安全指南 5.2.3 权限和保护级别 高级话题

    4.0 5.2.3.1 绕过自定义签名许可的 Android 操作系统特性及其对策 自定义签名权限是一种权限,实现使用相同开发人员密钥签名的应用之间的应用间通信。...为了便于说明,我们将受自定义签名权限保护的应用称为ProtectedApp,并且AttackerApp是已由不同于ProtectedApp的开发人员密钥签名的应用。...(Android 5.0 及以上) 在 Android 5.0(API Level 21)及更高版本中,如果满足以下条件,则无法安装定义其自定义权限的应用。...应用使用不同的密钥签名 当具有受保护函数(组件)的应用,和使用该函数的应用,定义了具有相同名称的自定义权限,并且使用相同密钥签名时,上述机制将防止安装定义了自定义权限的其他公司的应用同名。...总而言之,在 Android 5.0(API Level 21)和更高版本中,当你的应用定义你自己的签名权限时,你还需要遵守两个规则:“5.2.2.3 你自己的签名权限只能在提供方应用上定义(必需) “

    70910

    为什么android API 中有很多对象的创建都是使用new关键字

    为什么android API 中有很多对象的创建都是使用new关键字?...比起工厂方法、builder模式,java 中不提倡直接使用构造方法创建对象(new),为什么android API 中还是有很多对象的创建都使用构造方法 ? 这只是个草稿 首先,谢邀。...这种灵活性的一种场景是,API可以返回对象,同时又不会使对象的所对应的类变成共有的。以这种方式隐藏实现类会使API变得非常简洁。...那么我们真的需要把创建对象的方式更改为Builder吗? 答案是,否定的。 我们可以在可选域多样化的条件下,考虑使用这种模式,而且我们应该注意:不要过度设计API。...其实看完这些总结和经验,我想你心里一定有明确的答案了,那就让我们再来一句总结: 如果你的类足够简单,那么完全可以使用new来直接创建!切记过犹不及的API设计

    84930

    【愚公系列】《AI智能化办公:ChatGPT使用方法与技巧从入门到精通》 023-ChatGPT的办公应用(ChatGPT在Word中的应用)

    一、ChatGPT在Word中的应用 1.获取ChatGPT的API key 创建并获取OpenAI API 密钥(API key)是访问 OpenAI API 的关键凭证,以下是您可以遵循的步骤: 登录到...创建新的 API 密钥: 在 API 密钥页面上,您通常会看到一个按钮或选项来创建一个新的 API 密钥。 点击该按钮,系统会生成一个唯一的 API 密钥并将其分配给您。...这个密钥将是您访问 OpenAI API 的身份验证凭证。 保存 API 密钥: 系统会显示您的 API 密钥。确保将这个密钥保存在安全且私密的地方,不要泄露给其他人,以防止未经授权的访问。...使用 API 密钥: 每当您要使用 OpenAI API 进行文本生成任务时,在 API 请求中包括您的 API 密钥。...希望这些步骤能帮助您成功创建并获取 OpenAI API 密钥!

    53320

    移动端系统生物认证技术详解

    ⚠️注意:本篇更倾向于调研资料的角度,适合需要接入或者在接入过程中出现疑问的方向,而不是 API 使用教程,另外篇幅较长警告~ 首先,先简单说一个大家都知道的概念,那就是不管是 Android 或者...一、Android Android 上的生物认证发展史可以说是十分崎岖,目前简单来说经历了两个阶段: FingerprintManager (API 23) BiometricPrompt(API...28) 所以如下图所示,你会看到其实底层有两套 Service 在支持生物认证的 API 能力,但是值得注意的是, FingerprintManager 在 Api28(Android P)被添加了...那就没办法自定义 UI 了吗?...true 时: 用户必须通过使用其锁屏凭据的子集(例如密码/PIN/图案或生物识别)向此 Android 设备进行身份验证,才能够而授权使用密钥。

    2.1K20

    Apache 开源现代数据编排平台:低代码易使用、高性能高可用 | 开源日报 No.264

    其主要功能和核心优势包括: 易部署,提供四种部署方式:独立、集群、Docker 和 Kubernetes 易使用,支持通过 Web UI、Python SDK、Yaml 文件和 Open API 创建和管理工作流...高可靠性与高可用性,分布式架构支持多主多从,并原生支持水平扩展 高性能,在速度上比其他编排平台快 N 倍,并且每天可以支持数千万个任务 云原生,支持在多云/数据中心环境下进行工作流编排,并且可以自定义任务类型等...该项目的主要功能和优势包括: 完全免费(无需任何 API 密钥) 完全本地化(不需要 GPU,在任何计算机上都可运行) 完全私密(所有操作均在本地运行) 无需 LLM 硬件支持(不需要 GPU!)...使用免费 ChatGPT3.5 API (无需 API 密钥!...支持 Linux、Android、FreeBSD、MacOS 和 Windows 7+ 等多个平台。

    42810

    百度map 3.0初探

    1.简介     在使用百度地图SDK为您提供的各种LBS能力之前,您需要获取百度地图移动版的开发密钥,该密钥与您的百度账户相关联。因此,您必须先有百度帐户,才能获得开发密钥。...并且,该密钥与您创建的过程名称有关,具体流程请参考如下介绍。     Key的申请地址为:http://lbsyun.baidu.com/apiconsole/key     注意: 1....如果您在Android SDK开发过程中使用了LBS云服务则需要为该服务单独申请一个for server类型的密钥; 2.申请步骤 2.1 登录百度账号 访问API控制台页面,若您未登录百度账号...2.2 登陆API控制台  登录会跳转到API控制台服务,具体如下图: ?...安全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),例如: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:

    87750

    【Android Gradle 插件】自定义 Gradle 任务 ⑩ ( 自定义任务类继承 DefaultTask 类 | TaskContainer#create 函数创建任务 | 生成自定义任务)

    文章目录 一、自定义 Task 类继承 DefaultTask 类 二、TaskContainer#create 函数创建任务 三、生成自定义 Gradle 任务 Android Plugin DSL.../current/javadoc/org/gradle/api/tasks/TaskContainer.html 一、自定义 Task 类继承 DefaultTask 类 ---- Gradle 任务就是一个...; 代码示例 : 下面自定义的 MyTask 任务类中 , 任务内容是 执行 run 方法 ; /** * 自定义任务类 */ class MyTask extends DefaultTask {...使用给定的名称和类型创建Task,并将其添加到此容器中。...Gradle 任务 ---- 除了使用 TaskContainer#create 函数创建任务之外 , 还可以使用 /* 生成自定义 Gradle 任务 */ task myTask(type

    1.1K20

    Android 13 SDK更新内容

    前言 作为开发者,每个新版本发布之后SDK API接口有新的差异,对于我们来说很重要。 那么我们该如何了解相关差异?原先我也是通过搜索其他博主的文章进行了解的。...(该功能默认不开启,如果程序自定义了返回导航,那这个功能就要改代码,如果原先就由系统处理返回导航。那么只需要直接启动功能就可以实现)。...AGSL 与 GLSL 共用大部分语法,但可用于 Android 渲染引擎中以自定义 Android 画布中的绘制行为以及过滤 View 内容。可以用着色器来实现涟漪效果,模糊,以及拉伸滚动。...改进了密钥库和KeyMint中的错误报告功能:对于生成密钥的应用,密钥库和 KeyMint 现在提供更详细且更准确的错误指示器。...Marshmallow Android 5.1 22 Lollipop Android 5.0 21 Lollipop 其中平台版本号小于当前,并大于前一个版本号。

    2.5K10

    人脸核身iOS静默验证模式搭建

    https://console.cloud.tencent.com/cam/capi 温馨提示: 注册腾讯云账号且实名认证: https://cloud.tencent.com/ 注意:子账号与子账号, 主账号与主账号之间创建的...`ruleid` 及秘钥不互通, 不可互相查看, 不可互相调用, 简单来说就是 A 账号创建的 `ruleid` 只能由 A 账号的秘钥来调用, 常见问题表现于 `ruleid `不存在, `ruleid...is not exist`** 计费会统一计算在主账号, 主账号统一结算, 调用量可以用子账号区分 `API `密钥是构建腾讯云 `API `请求的重要凭证,您的 `API `密钥代表您的账号身份和所拥有的权限...,等同于您的登录密码,请勿通过任何方式(如 `GitHub`)上传或者分享您的密钥信息,一旦泄露至外部渠道,可能造成您的云上资产重大损失 二、android 接入流程准备工作 接入模式:微信H5/小程序服务...混合部署SDK 界面信息设置 验证模式(默认) 规则 活体检测方式 结果页设置 获取RuleID、以及SDK演示demo(下载使用) 验证通过结果 三、搭建 下载RAR压缩文件中包含IOS、Android

    2.9K30

    Android 搭建人脸核身静默验证模式

    https://console.cloud.tencent.com/cam/capi 温馨提示: 注册腾讯云账号且实名认证: https://cloud.tencent.com/ 注意:子账号与子账号, 主账号与主账号之间创建的...`ruleid` 及秘钥不互通, 不可互相查看, 不可互相调用, 简单来说就是 A 账号创建的 `ruleid` 只能由 A 账号的秘钥来调用, 常见问题表现于 `ruleid `不存在, `ruleid...is not exist`** 计费会统一计算在主账号, 主账号统一结算, 调用量可以用子账号区分 `API `密钥是构建腾讯云 `API `请求的重要凭证,您的 `API `密钥代表您的账号身份和所拥有的权限...,等同于您的登录密码,请勿通过任何方式(如 `GitHub`)上传或者分享您的密钥信息,一旦泄露至外部渠道,可能造成您的云上资产重大损失 二、android 接入流程准备工作 接入模式:微信H5/小程序服务...的Demo演示项目 获取AndroidDemo文件夹,导入Android项目 Android使用 aar 方式接入 https://cloud.tencent.com/document/product/

    3.2K81

    学(kao)习(bei)官方关于64k异常处理 ^_^

    Dalvik 可执行文件分包方式 一、Android 5.0 之前版本的 Dalvik 可执行文件分包支持 Android 5.0(API 级别 21)之前的平台版本使用 Dalvik 运行时来执行应用代码...二、Android 5.0 及更高版本的 Dalvik 可执行文件分包支持 Android 5.0(API 级别 21)及更高版本使用名为 ART 的运行时,后者原生支持从 APK 文件加载多个 DEX...运行时,Dalvik 可执行文件分包 API 使用特殊的类加载器来搜索适用于方法的所有 DEX 文件(而不是仅在主 classes.dex 文件中搜索)。...尽管 Android 4.0(API 级别 14)提高了分配限制,但在 Android 5.0(API 级别 21)之前的 Android 版本上,应用仍有可能遭遇这一限制。...该设置将启用一个名为 pre-dexing 的构建功能,此功能使用仅适用于 Android 5.0(API 级别 21)和更高版本的 ART 格式更快生成 Dalvik 可执行文件分包输出。

    1.2K20
    领券