• 按照软件进行分类

    • android设备系列:包括智能手机,智能电视,智能手表,连接云的汽车,智能导航设备

      • 智能导航设备之智能骑行设备:
      • 智能导航设备之步行导航设备
    • ios设备系列,主要是苹果系的产品。
    • 嵌入式操作系统:
    • 非操作系统(这里特指非智能设备):
  • HOW TO DO
  • 底层硬件入门
  • 参考文献

按照软件进行分类

android设备系列:包括智能手机,智能电视,智能手表,连接云的汽车,智能导航设备

智能导航设备之智能骑行设备:

1)具有透视显示器的智能头盔(CN104956182A),由诺基亚公司研发,向用户提供变道或者转弯的视觉导航指示。
用户接近相关位置时,指示箭头开始闪烁或变色。用户直接视线中的面甲部分保持透明,以允许用户观看前方道路;直接视线以上的面甲部分设置为通知显示区域,以呈现导航信息。

2)美国Skully公司推出了一款增强现实头盔Skully AR;其内置了GPS导航系统、后视相机和显示系统,将后视图像和导航影像投射到头盔的下前方区域,避免影响用户的正常视野。

3)Senth IN1智能骑行眼镜(CN303863492S),由北京知境科技有限公司研发。
通过蓝牙与智能手机通讯,将可视图像投影在用户视野的下方;用户可以通过语音指令和头部动作实现接听电话、导航显示等功能.

4)德国FeelSpace公司也研发了一款用于骑行导航的腰带;它通过不同位置的致动器震动来提示用户行进方向

智能导航设备之步行导航设备

1)北京金锐德路科技有限公司研发了一款头戴式电子设备(CN206178150U):其添加了具有GPS功能的耳机,能够实现语音导航、测速和推荐歌曲。
用户只需说出目的地,设备即可获取当前用户位置并规划出合理路径,再对用户进行实时语音导航提示。

有趣的是:它读取使用者的实时跑步速度,并推荐合适的歌曲:比如,在跑步速度较快时,推荐节奏感很强的歌曲,跑步速度较慢时,则推荐较为舒缓的歌曲

2)艺术家Dominic Wilcox设计了一种卫星导航鞋。

这种鞋的左、右鞋头上安装有LED灯,左脚鞋头用于指示正确的移动方向,右脚鞋头用于显示当前位置距离目的地的远近。用户可在出发前设计好路线并传输至到鞋中,然后叩击双脚鞋跟开始旅程。
3)用于盲人或者视障人士的产品;它通过语音和触觉信息指引正确路线,解决了盲人无法看到图像和灯光提示的问题;
这是一款由印度Ducere公司推出的导航鞋(US2014266570A1),它通过音频和振动提示为盲人用户提供正确的路线;

4)一位英国大学生研制出了一套基于触觉设计名叫Maptic可穿戴导航设备,用于辅助视障人士独自出行。
它由装有感应器的挂坠和佩戴在左右手的手环组成,通过挂坠和手环的振动来提示转弯和避障。

5)国内也出现了一款类似的导航用盲人佩戴品(CN104748742A),它根据用户语音输入的目的地进行导航路线规划,并针对噪音环境下的应用作了进一步优化;特意设置盲文点字显示单元,来验证设备识别的目的地信息是否准确,避免导航错误。
可穿戴导航设备还有个优势在于:能够直接接触人体,利用人体感官传递信息,通过各类传感器感知人体运动数据,因而能够集成身体机能检测、健康管理等功能。

ios设备系列,主要是苹果系的产品。

嵌入式操作系统:

嵌入式linux,VxWorks,FreeRTOS,Windows XP Embedded,Windows CE,RTX,uCLinux等等,这一块跟嵌入式操作系统相关。\

非操作系统(这里特指非智能设备):

如照相机,摄影机,洗衣机,电子玩具,键盘,鼠标,摄像头,话筒等等电子设备,还包括有仪器,电子卡,SIM卡等等。
对于嵌入式系统大部分都是POSIX标准,这一块儿的入门,可以先学习linux,然后学习嵌入式操作系统移植,入门应该不难,对其进行安全研究和逆向分析和传统方式也差不多,毕竟都是基于操作系统的,学习思路很相似,只是逆向这一块儿涉及的汇编会不一样(主要是arm和MIPS)。
对于那些非操作系统类型的设备,安全研究和逆向分析相对来说要难一些,因为这些设备多半都是封闭式或者半封闭式的,基本上都需要拆开封装,分析电路板并对电路板进行测试分析。这方面入门主要以单片机学习来入门会走得更远。我们可以先学习单片机再学习嵌入式,也可以反过来,无所谓。这两个方面都需要了解硬件,只是着重点不同而已。

HOW TO DO

1.挖掘安全弱点:登录验证,弱口令,弱加密,溢出漏洞,固件更新漏洞,敏感信息泄露,不安全的访问控制,嵌入式系统遗留的漏洞等等,这方面目前主要体现在物联网上比较多,实际上是传统安全问题在新领域的复制。
2.开源硬件DIY:开源硬件资料齐全,需要一点硬件方面的知识,但主要考验动手能力和排错能力,比如树莓派(现在大量系统都主动来支持树莓派,特别是3,潜力无限),Ardurino,Atmel Xplained(PRO),CooCox开发工具,伽利略开发板等等;还有专门的机器人开源项目(DFRobot,TurtleBot等),四轴飞行器(3DR Solo,MikroKopter,Crazepony等),3D打印机(Ormerod,Mamba3D,Ultimaker等)等等。
3.固件逆向工程:逆向固件,发现固件级别的安全问题,比如华盛顿大学和加州大学圣地亚哥的研究员通过利用蓝牙固件漏洞获取到了一个汽车远程信息处理单元的远程代码执行权限。
4.固件代码植入:向固件中植入恶意程序,比如方程式组织的硬盘固件病毒,这一块儿可以作为个人兴趣安全研究,比如今年blackhat上有一个议题就是向PLC中植入病毒,大家可以关注一下。
5.固件DIY:国外很多人玩,比如把鼠标改造成扫描仪,将背光键盘改造成贪吃蛇游戏等等,后面我会将这些文章分享出来,介绍分析方法和实现原理。
6.硬件DIY:自己diy硬件,这一块需要你具备硬件方面的知识更多一些,自己设计电路图,自己焊接,需要一些手工技能,这方面该板块后续也会引入一些帖子来介绍方法。
7.破解:比如各种卡的破解等。
基本准备:
如果你之前是做渗透测试或者漏洞挖掘,那么基本可以直接测试自己身边智能路由器,智能开关,智能电视等设备,以及控制这些设备的APP.

一些基本知识:
1.熟悉嵌入式操作系统,如linux,VxWorks,FreeRTOS,RTX等,可以自己试图去编译安装这些系统,熟悉一下它们文件系统。
2.学习ARM和MIPS汇编
3.会使用一般的渗透测试工具进行测试,推荐使用Kali系统,装备齐全。

物联网的玩法简单些,无需关心硬件,传统的渗透测试和模糊测试的方法同样适用,更深入点的可以dump出固件,这些固件(嵌入式系统固件)都是以一定格式存放的嵌入式操作系统及其文件系统,只需要提取出其中关键的程序(通常是ARM和MIPS汇编的程序)进行分析来发现安全漏洞。
当然你可以挑选最简单的来玩,比如很多智能家居设备,比如智能开关,智能冰箱,智能电饭煲等等这些智能设备都会支持android和ios进行控制,你可以直接分析测试这些app是否存在一些安全问题。

底层硬件入门

我们可以拿到一个设备后动手去观察,分析,使用工具去拆解它。那么只要我们愿意去动手,愿意去使用搜索引擎查看电路板的各芯片说明,即便最后没能成功,也能学到不少东西。当然在我们做这些工作之前,还是需要做一些准备工作,我们最好还是把基础打牢固,这样很多看似很难得问题都能迎刃而解了。

1.首先最好学习一下单片机,这是你熟悉硬件的最佳途径,熟悉C语言的做单片机编程真的是非常简单,虽然我们目的不是去编程,但是编程对于我们做逆向分析和了解其运行机制非常有用。最简单的是51单片机,其次是PIC,avr,stm32,从这些编程中,你试着逆向去了解8051指令集,avr指令集以及arm指令集等等。
学习单片机更重要的是去学习与外围设备的通信,接口连线,调试方法等等。

1)外围设备包含LED灯、A/D(D/A)转换器、键盘、数码管、液晶屏、传感器、红外线、无线电、电机等等。
2)接口包含USART、RS232、PCI、SPI、I2C,USB等等

如果你了解了这些,那么基本上就有一定基础了。
当然并不是所有外设你需要完全学会,你可以在研究到相关外设时再查资料学习。你可以把精力放在逆向上,一边写代码一边逆向,了解单片机从加电复位到你自己的代码执行这个期间的过程搞明白。
如果你不学习单片机,直接进行物联网方向的安全分析也是没有问题,这方面实际只要找到了攻击面,就好入手,但是高手都是会了解得更深入才能最大限度的扩大攻击面。

2.汇编知识,实际上对于8051,avr,arm,mips这些处理器架构,大家不必要去纠结汇编问题,当你研究某一个平台时有一本参考书籍就可以了,这些都是公共平台。

3.电子电路,这一块不需要太过于深入,能够简单识别电器元件以及其功能,能够识别框图,读懂一些芯片图,引脚和接口图就可以。主要当你拆解一款设备后,你能够认识那些是控制器,那些是flash,以及找到datasheet后能够看懂芯片说明图。

4.熟悉一些工具的使用是必备的:

1)调试工具比如JTAG/SWD仿真器,OPENJTAG, 使用usb转串口工具等等,如果能够准确找到相关MCU相关的编程器的话就更好。这方面在后需要的文章中会给大家介绍,如何使用OPENOCD来进行固件调试,以及如何直接取出FLASH并且读取FLASH数据。
2)USB协议分析工具如USBPcap,Wireshark.这些工具在该设备提供升级但是你又无法进行调试时用来分析USB数据包,你可以分析升级固件程序的机制,然后使用libusb库来编写自己的固件dump工具和擦写工具。这块后续通过分析文章给大家介绍。
3)有一定基础后可以自己DIY调试仿真器,FLASH读取器等,按照自己的需求进行设计,现在国外很多爱好者都是自制的。

下面是一些资源,欢迎大家补充:

dfrobot机器人开源网站
http://wiki.dfrobot.com.cn/index.php?title=%E9%A6%96%E9%A1%B5

Crazepony开源微型四轴飞行器
www.crazepony.com

互联网在线设备搜索引擎,绝对的神器,你可以找到全世界在线的网络摄像头、路由器、信号灯、核电站等有信息漏洞的设备:
https://www.shodan.io/

芯片手册

http://www.datasheet-pdf.com

芯片型号及其所属的内核芯片家族:
http://www.myir-tech.com/resource/450.asp

施耐德PLC以太网模块固件后门:
http://www.360doc.com/content/15/1018/18/471722_506538554.shtml#

揭秘黑客是如何黑掉三星NX300智能相机的
http://www.freebuf.com/vuls/99951.html

向硬盘固件程序嵌入代码
http://www.sosit.com.cn/de_news/de_yjxw/5949.html

openOCD+jlink调试uboot
http://blog.chinaunix.net/uid-11319766-id-3060018.html

最低成本的ARM调试解决方案
http://blog.csdn.net/enbiting/article/details/7190794

libusb库官网:
http://www.libusb.org/wiki/libusb-win32#Installation

USBpcap,Wireshark,usb协议分析必备
http://desowin.org/usbpcap/
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8503

通用usb驱动libusb介绍和使用示例
http://www.cnblogs.com/image-eye/archive/2011/08/30/2159897.html

常见基站定位/基站数据查询网站
http://www.cellid.cn/
https://www.juhe.cn/d/cellmap/gsm.php
http://www.jizhanyun.com

Kautilya是一个给人机接口设备提供各种payload的工具包,比如可以烧录给teensy,它可以帮助人们进行渗透测试。
https://github.com/samratashok/Kautilya

劫持无线鼠标项目
https://github.com/RFStorm/mousejack

ZigBee(无线通信)安全研究工具包
https://github.com/RFStorm/killerbee

物联网安全:LED灯中存在多个安全漏洞
https://blog.viktorstanchev.com/2015/12/20/the-many-attacks-on-zengge-wifi-lightbulbs/

汽车黑客揭秘:我是如何通过逆向API接口黑掉宝马i3的
https://shkspr.mobi/blog/2015/11/reverse-engineering-the-bmw-i3-api/
https://github.com/edent/BMW-i-Remote/

参考文献

智能硬件入门

智能硬件的一些框架性内容相关推荐

  1. [智能硬件]是什么?智能硬件应用领域包括哪些?

    智能硬件是什么? 智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能.智能化之后,硬件具备连接的能力,实现互联网服务的加载,形成"云+ ...

  2. 智能硬件APP开发之路:基于机智云APP开源框架

    为什么使用开源软件? 开源软件是Open Source音译过来的.我们知道所有的软件都是由代码编写,经编译生成的系统或者应用.而一旦你把它开源,意味着任何人.任何组织都可以使用你的代码或者软件,当然也 ...

  3. PMCAFF | 智能硬件2.0时代:用户导向,内容连接

    作者 | 刘硕裴 腾讯QQ商务副总监,腾讯学院讲师 最近小Q在村里的创业咖啡厅游走时,发现了一个细微的变化--智能硬件的创业者们开始"说人话"了.大家不再狂喷一堆只有工程师和极客才 ...

  4. 【微信小程序控制硬件⑦ 进阶篇】动起来做一个微信小程序Mqtt协议控制智能硬件的框架,为心里全栈工程师梦想浇水。

    文章目录 一.前言: 二.涉及的技术点: 三.框架的运行原理: 四.框架代码流程: 4.1 主线程: 4.2 获取设备列表显示设备,以及订阅在线的设备: 4.3 点击某设备如何实现携带此设备信息到控制 ...

  5. 准备开发一个智能硬件,得先看这篇文章!

    一个智能硬件生命周期内所需要经历的全部流程,以及产品经理需负责的相关工作分为以下各阶段, 我们一起看看这个过程有多长,又有哪些经验可以分享. 一.市场分析 如同互联网产品一样,除了在立项之前需要对市场 ...

  6. 软硬整合技术、智能硬件开发与顶层设计应用_课程

    来自台湾的高焕堂老师,和来自美国硅谷的柯博文老师,共同指导... 课程名称:软硬整合技术.智能硬件开发与顶层设计应用 指导老师:高焕堂.柯博文 课程说明: 在智能&大数据时代,系统开发不仅仅攸 ...

  7. 智能胖墩机器人_探班新雅CDIE | 智能硬件“奇幻乐园”

    VOL.249 编者按 在不久前举办的新雅第二届学生节上,一部七巧板动画短剧<梁祝>令在场观众赞叹不已:而这部短剧其实是CDIE专业<综合造型基础>课的一份学生习作.新雅书院特 ...

  8. 智能家居 (1) ——智能家居整体功能框架

    目录 智能家居整体功能框架图 硬件部分清单 往期文章 智能家居整体功能框架图 可作为大学生毕业设计内容,亦可作求职面试话术使用 使用的硬件平台:树莓派3B(型号),CortexA53(架构),博通BC ...

  9. 2018CES智能硬件与新技术盘点

    以"IT新技术.新服务赋能智慧零售崛起"为主题的第十一届中国商业信息化行业大会将于2018年3月21-23日在武汉客厅·中国文化博览中心盛大召开,共探智慧零售及新零售.新技术.新商 ...

最新文章

  1. 刘政:别着急颠覆传统数据分析人才培养,先将落脚点放在实处
  2. P1631 序列合并
  3. 语言沟通6c,如何做到轻松有效沟通
  4. Springboot 简单的定时器
  5. git克隆远程仓库的时候断电了,使用git-fetch断点续传
  6. 无法取消 Promise
  7. html中使用过渡不显示,CSS3过渡不适用于显示属性
  8. [系统修复]Win XP中Winsock2系统文件破坏导致无法上网
  9. java8实现map遍历,map转list,list转map
  10. 注塑车间自动供料系统+上料防错一体解决方案
  11. Java游戏聊斋聂小倩_【聊斋故事汇】之聂小倩(篇一)
  12. PyTorch基础:数据处理(数据可视化)
  13. angular的ngStrictDi
  14. Unity加载倾斜摄影模型/激光点云,开源
  15. 获取dom元素的方法
  16. 怎么开淘宝网店?淘宝网开店流程图解,淘宝开店教程!
  17. element plus中的el-link如何去掉下划线
  18. DDR4学习笔记02
  19. SystemC_win可以编译和看波形,Vcdviewer可以看VCD文件的波形
  20. 关于成为sap顾问的心得体会

热门文章

  1. 拣货单Picket Ticket
  2. 软件开发综合实践实习小结
  3. 在总账模块结账的时候提示总账和明细账对账不平结不了账
  4. LINK : fatal error LNK1168: cannot open Debug/xxx.exe for writing
  5. 云游戏时代:游戏主机们未来的对手,也许不再是彼此了
  6. CSS中的十二种结构伪类选择器
  7. 数据加速器 GooseFS 1.3.0 版本正式发布
  8. 创新案例分享 | 医院DRG系统建设项目,助力精细化分析医疗数据
  9. Windows Server 2019存储池配置
  10. python3.0不向后兼容啥意思_为什么Python 3不能向后兼容?