FCon7折倒计时最后一周:日程已上线70%!查看详情>>> 了解详情
写点什么

物联网渗透测试(三):IoT 中的 移动应用

  • 2020-05-11
  • 本文字数:1348 字

    阅读完需:约 4 分钟

物联网渗透测试(三):IoT 中的 移动应用

编者按:本文节选自华章网络空间安全技术丛书《物联网渗透测试》一书中的部分章节。

IoT 中的移动应用

在 IoT 领域,移动应用模型同前面介绍的 Web 应用模型类似。虽然对移动设备平台的安全模型进行深入探讨超出了本书的范围,但是了解移动应用开发模型的基本概念将有助于后面的学习。

混合应用

安装在 Android、iOS 或 Windows Phone 设备中的移动应用可以是混合应用也可以是原生应用。虽然同 Web 应用相比,混合和原生在移动应用中具有不同的含义,但是其原理相似。混合应用既用到了 HTML/HTML 5、CSS 和 JavaScript 等 Web 技术,也用到了部分原生平台硬件,如 GPS 模块或蓝牙模块。只有使用混合框架提供的插件才能够访问硬件资源。可以将混合应用看作包含了 Web 应用的封装包,而原生平台可以使用该封装包。这意味着 Web 开发人员无须学习新的开发语言即可编写移动应用。


混合应用在 Windows Phone、Android 和 iOS 等多个平台上可以使用同一个代码库,当考虑将 IoT 设备应用投放市场时这是一个巨大的优势。通过嵌入式 Web 浏览器 WebView 就可以调用 Web 应用。当前,市场中流行的应用有多种流行的混合框架可以选择,包括 Apache Cordova、Adobe PhoneGap 以及 Xamarin 等。


每套移动混合框架都包含一个第三方市场,在其中提供可以实现各种功能的插件。为了实现快速开发,部分框架会采用一种编程语言(C#)编写,然后再翻译成另一种本地语言(Objective C 或者 Java),例如 Xamarin 就是如此。然而,从原生平台的高危远程代码执行到隐私泄露,这些移动框架存在着诸多安全隐患,这也并非什么秘密。如果读者在应用中恰好发现用到了某套移动混合框架,那么最好查阅一下相应的漏洞库,兴许就能够找到可以直接利用的漏洞。


为了帮助读者更好地了解混合应用运行的架构,图 1 展示了应用代码、WebView、插件以及移动设备自身之间的各个组件。需要注意的是,大多数封装包的代码和插件都是由混合框架或参与混合框架开发的第三方开发人员开发的。



图 1 混合应用示例

原生应用

原生应用是为特定操作系统开发的,采用 Java、Objective C、Swift 等设备平台原生语言编写,其中对于 Windows Phone 平台而言则需要采用 C#语言。原生应用使用各自平台的 SDK 实现同摄像头、蓝牙和 GPS 等硬件的交互。原生应用的性能和安全性取决于开发人员对原生平台语言的熟悉程度。如果平台 API 经常更新并且经常弃用某些类或方法,那么将会增加开发工作的难度。越来越多的平台,例如 iOS 和 Android 等平台,正在开发安全的原生 API,这样开发人员就无须再利用第三方库即可直接使用安全 API,进而提高通信和数据存储的安全性。


同混合应用架构相比,原生应用架构简单得多。图 2 展示了原生应用在设备上直接运行原生代码访问硬件资源的过程,在应用访问硬件资源的过程中未借助第三方组件。



图 2 原生应用示例


了解每种移动应用模型的优缺点对于高效地开展渗透测试而言非常重要。由于移动应用拥有设备的控制权,因此是针对设备实施攻击的另一个重要突破口,并且同其他方法比起来,有时通过移动应用突破 IoT 设备要更加容易一些。在第 5 章中,我们将分解 IoT 设备,对 IoT 移动应用中最常见的漏洞展开深入分析。


图书简介https://item.jd.com/12623610.html



相关阅读


物联网渗透测试(一):简介


物联网渗透测试(二):IoT 中的 Web 应用


2020-05-11 10:00863

评论 1 条评论

发布
用户头像
3184339075 重金聘请
2023-03-26 16:37 · 菲律宾
回复
没有更多了
发现更多内容

测试基础之:测试覆盖率

甜甜的白桃

软件测试 测试覆盖率 JACOCO 6月月更

InfoQ 极客传媒 15 周年庆征文|手摸手教你在Windows安装Docker,一定要看到最后

迷彩

Docker 架构 运维 6月月更 InfoQ极客传媒15周年庆

如何制定业务的故障分级标准?

华仔

架构实战营 故障定级 故障分级

【直播回顾】战码先锋第五期:深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

OpenHarmony开发者

Open Harmony

洞见科技当选中国信通院隐私计算联盟「副理事长+政务应用工作组组长」单位

洞见科技

隐私计算

大数据培训flink窗口(Windows)的表现形式

@零度

大数据开发

NFT卡牌盲盒链游系统dapp开发搭建

薇電13242772558

智能合约 NFT

java编程培训Mybatis的增删改查与获取参数值

@零度

mybatis JAVA开发

天翼云数据中台通过“数字政府智慧中台”评估

Geek_2d6073

还不知道npm私服?一篇教会你搭建私服并发布vue3组件库到nexus

Jianmu

ci 前端 npm Vue3 私服

谈谈 JDK 和 SAPMachine 的关系

Jerry Wang

Java jdk jre SAP 6月月更

得物前端唤端业务场景和技术精讲

得物技术

前端 前端教程 等待唤醒 业务场景 前端工具

谷歌AI人格觉醒“喜提”热搜,我们找清华大佬聊了聊 AI 对话系统的惊人进展

硬科技星球

人工智能 谷歌 图灵测试

【云计算】云计算平台是什么意思?可以划分为哪三类?

行云管家

云计算 云服务 私有云 云平台 云计算平台

WebStorm注册码_WebStorm2022年激活永久实测有效

Geek_75f9e9

webstorm

Java—线程安全II

武师叔

6月月更

数据智能基础设施升级窗口将至?看九章云极 DingoDB 如何击破数据痛点

九章云极DataCanvas

人工智能 数据库 数据 数据智能

融云首席科学家任杰:数字游民和意识体,疫情将如何影响人类社会进化

融云 RongCloud

十分钟带你入门Docker容器引擎

百思不得小赵

云原生 Docker 镜像 6月月更

一文掌握软件安全必备技术 SAST

SEAL安全

网络安全 软件安全 SAST工具 SAST

洞见科技荣获「最受投资人欢迎的隐私计算服务企业」奖

洞见科技

隐私计算 数据要素

开课报名|「Takin开源特训营」第一期来啦!手把手教你搞定全链路压测!

TakinTalks稳定性社区

开源 全链路压测 生产环境全链路压测 安全生产 稳定性保障

千亿参数“一口闷”?大模型训练必备四种策略

OneFlow

人工智能 模型训练 策略

技术分享| 云服务器的使用-nginx的安装及使用

anyRTC开发者

nginx centos 音视频 服务器

莫把暑假插错秧,代码哪有足球香,Alluxio足球青训营在线摇人!

Alluxio

微软 开源 足球 分布式, CCF开源高校行

Go语言入门基础之库源码文件

Damon

6月月更

Wallys/Routerboard/DR344/WiFi/AR9344 FCC/CE/IC

wallys-wifi6

AR9344 802.11a

二级等保要求几年做一次测评?测评项目有多少项?

行云管家

等级保护 等保测评 二级等保 等保二级

市值严重低估,现金15亿,百世走的路对吗?

科技新知

Vue-10-class的动态绑定

Python研究所

6月月更

深度合作 | TDengine + 华为云 Stack 强强联合打造高效物联网时序数据处理解决方案

TDengine

数据库 tdengine 时序数据库

  • 扫码添加小助手
    领取最新资料包
物联网渗透测试(三):IoT 中的 移动应用_安全_亚伦·古兹曼,阿迪蒂亚·古普塔_InfoQ精选文章