一次硬件审计中发现的一些漏洞

一.背景

此次是针对一款智能设备进行的审计,审计范围包含服务端、APP、硬件、固件。

二.发现的一些问题

作为一款新上市的设备,仍然出现了一些智能设备中常见的问题。

例如几个常见的漏洞

1,局域网访问设备存在弱密码,可以通过密码爆破的方式获得设备访问权限。

2,设备进行证书信任的方式是在云端获取可信任的证书列表作为根证书校验,但是更新获取可信任证书的HTTP请求没有使用HTTPS(设备固件内置一份可信任证书,但是更新请求没有使用HTTPS,应该是避免由于更新请求通过不了证书校验导致设备无法联网)

3,开放了串口,可以通过暴力破解登录设备

4,部分接口没有限制长度,导致可以传入伪造的数据,造成设备容易被局域网DOS。这个也是智能设备常见问题,在一些比较敏感的设备,例如路由器/摄像头上,这个问题容易造成比较严重的后果。

5,没有一机一密

6,局域网服务器容易被重放攻击。

只能说,智能设备整个行业的安全水位,距离web、云行业,还有相当的距离。也可以理解,毕竟智能设备行业里,还遗留着大量比较古老的架构,即便是大厂的产品,也有很多是ODM,OEM,而供应商的研发对安全的重视显然是不足的。

三.一个漏洞的细节

详细记录一个业务逻辑导致的漏洞。

设备的服务端提供了一个注册接口,大概的业务逻辑是传入设备序列号,返回一个设备的认证信息。请求大概如下


返回信息中包含以下几个字段:

device_name :request中传入的值,通过对比两个设备,device_name就是设备的序列号。

device_key:request中传入的值,device_key不同设备共用。

device_secret:这个是服务端返回的值,从secret可以猜测,这个值是一个类似token的作用。通过抓取设备的其他请求,印证了这一点,device_secret是另外一个请求的输入参数。

该POST请求依赖于请求Header中的token值,例如一次请求的token是

token: 06950e46d37c614750a73e751220396c9f11ce43

从这个长度来看,猜测是一个SHA1。具体逻辑,从请求和服务端无法作更多判断了,只能获知,目前的逻辑如下

1,register请求,输入参数中的token可变的变量是device_name,固定的变量是device_key,另外可能存在一个盐,加盐后进行sha1,生成请求的最终token

2,通过register请求,获取到device_secret,该device_secret每次请求都会更换,应该是服务端生成的,作为其他重要请求的token。业务上通过这种方式,实现一机一密,以及动态的token认证。

下面的主要工作是猜测,register请求中的token生成逻辑。

token可能来源于device_key,device_name,可能还存在一个秘钥,该秘钥如果是一机一密,则也无法被利用,但是如果是一型一秘,则可能存在漏洞利空的空间。

所以下一步就是从固件层面去分析了。

==================

==================

从固件层面的分析,我们获取token的生成是product_key+device_key+_device_name三个输入拼接后,加盐,进行SHA1生成的token。但是盐是写死在固件中的,可以获取。

所以现在我们获取了register接口的逻辑,可以用Python脚本批量跑出device_secret。而device_secert可以作为另外一个请求B的token,请求B的返回中,包含敏感数据。最终通过批量跑请求B,获取了其他设备的数据。


四.漏洞小结

由于获取device_secret的请求,没有有效的加密强度,因此可以通过遍历DeviceName可批量获取device_secret, device_secret可以作为敏感请求B的token使用, 攻击者可以利用这种攻击,获取批量用户的敏感信息。

问题出现的原因主要是请求的重要参数,被硬编码在固件中。并且该重要参数实际上是相同型号公共的。设备想采取接口请求的方式实现一机一密,但是实际上由于请求逻辑存在漏洞,攻击者可以通过遍历device_name的方式批量获取设备的token信息。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,607评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,239评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,960评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,750评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,764评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,604评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,347评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,253评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,702评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,893评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,015评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,734评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,352评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,934评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,052评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,216评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,969评论 2 355

推荐阅读更多精彩内容