6 n n3 K' h* P. e' ^
# a. o. C) Y$ v9 d6 `2 O0 }
0 |% e/ |2 X# x: | [; l6 p- H
5 Z# i" ~ \) I. P2 P
I( N- b, m- W0 v, |& m* t0 [
% A" `2 X# _6 B ) s$ ]! ]" u% y z7 @0 z1 w: v7 n
) ^" I& y( K |# @# _2 A/ m
9 L k& n2 N5 G1 h
" K) L, ^: O( M7 T
) j# q( \# i- A! V
3 A3 f/ {! T1 c/ l% F 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
. i" R! ?5 q F1 w; {0 V$ b0 S4 s
]" e" l) N! l! [
) N! q" r: T/ [, H( d, W # t4 p& F% P+ j# k
; T& e$ [. L# K: u6 Z( a
5 ]1 J$ ` O' J
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 5 L3 Y: o4 R6 y: `, U# e4 y4 e A
4 j* A4 e0 y* ^. H' G! T4 I6 L
8 x9 R1 q% D1 `' F6 Y: D4 k1 r - t0 [: P( H& Y7 t# }
9 z" r* b2 ], Y ]7 D- {5 c! } + P2 }- |6 _4 l6 H. V0 ~
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 1 N; _- a8 z5 t1 P% s1 C* R
/ z7 V# X8 A5 S7 `$ I6 O# K! g& K6 Q
) M+ G4 h* M) a9 D- ?
. b! M& B/ z3 s! H
: T* y: X4 w6 D% j! e
' Z+ l( {$ }' t
*文末附《破防了》项目技术分享视频 : g; ?0 Q2 r& J" ^2 r' K' E' R9 p# c
# B! ?6 t/ Q% Y4 A+ P
, a4 R3 a7 Z( E' M1 i$ o5 r1 m) U
' k2 ^9 f8 o( H2 _" b
) {& c# `$ |! r Y$ D6 ?' |) G/ _ 9 H+ {9 Y6 I# i' }: ?; H% Q/ v
$ Y! i9 f' G8 R# r8 J. F
2 T6 v3 }: o3 V& j N
( ]# X8 o; z0 e1 m& e% T2 y
1 t/ a* V) T) a/ R
; U, P, y# W( w6 Q z
! r, c* W4 @0 k _# F' m
8 X& Z+ m% K0 E, s ' J. x- k; I) u+ ]3 C) ?* p
9 D1 c6 t: A- N. J
9 v2 ^# P+ w# Z c% z( k# ]
; H; J7 S% x) R& ?6 r, d
* s* E- F3 L F4 K* [' x0 Q
- T, m1 B: c; d+ \' L * L2 E1 F4 c. C- y, d
- B/ A+ m# l$ @- |# a0 S* w4 L 日拱一卒 功不唐捐 0 Y" r1 z; q; r0 x: M
& T& D- J8 d( H, ^+ Q. Z, m ( D3 i2 h- `! [: L+ d8 g
Z* a( _; A3 y. q
1 k# s7 g% ]# E
* W! ]8 _7 b; X! A& ?' z6 @+ K: ~
; p- ~7 u7 d) ]4 H, Y) O I: s2 [
7 ?4 V- }$ F H! m! f" x3 w
% l. |4 M7 @ g, l% @( e$ E
# N! _5 i2 p3 |( j- f3 |( d 8 T K8 J$ R: v* A# D! T
5 i; _$ c' r! a9 }6 }
! W1 S" h8 K8 I 4 @4 J. {6 C$ N6 n
5 x6 S$ J2 u6 M0 h. s) |
1 z% R1 S9 U1 c1 b1 k( ^
4 I" R: i9 J( c* G" N , w) R0 g4 f$ E1 K3 b/ L
( F9 o5 B% u/ k, k5 v 6 M7 C' f! G$ ^ J; G. O% Z9 G
; g. \; n* ]! g% b/ a8 ^
D. S2 R8 P$ f$ v. D, O% `
) s( X, W, g, N" i' q; V: [7 a
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 4 q$ f% l; [. H9 @* [+ Z
' {" q" o) e9 v5 {/ J
f* S7 L1 j- _7 l+ Z
' A8 _+ ]# S% ~
1 P; H* O; j# @& b 6 Y" P+ z# @2 b1 B
" Z8 D* p& |7 G! [# t- }
" Q1 h. ^9 ]" G& |; n0 \) j % W$ k; m6 E' u, g& S7 W
日常研究环境 0 A. l2 |4 K! Y8 Z0 E% ^0 E
$ N* B$ Y. w6 p- |# d" F! Z + _3 `3 v0 p: T& `! u
$ b+ B7 K, t6 L4 {! O! |: d. H7 @
i9 y, ?; V0 y& |" J
5 M/ b% d- D8 s+ B% N5 Q- T
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 3 K( d6 l! ?& j
+ Q, p( v+ P, }' h; ~6 p4 q% O9 a& ~ 7 \8 f+ ?$ h' `8 N m# ?
' L& c8 D9 h7 G) \# V7 f
( }8 M% B) s* [- ]2 m% s
5 H5 f: V9 ^/ f% N. {* d% ^
9 L0 D- c7 E) V8 ?+ @5 P% A
0 h: V" J: z6 E9 N5 O3 {
8 @& `( D" w; B9 r' @5 r& P
' L5 h( H% ^" j, D( s2 i
" @6 K @ R. B+ I/ ]: H: Y% w" d
7 g( n! t1 m8 K6 Q# O. ? 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 q/ B6 h8 X; O6 @1 ^, U! L
0 V* P0 v0 {2 J+ e
1 Z- c) b$ L: Q' c7 K* c
& o+ k+ o4 a3 D; w# u) ?
6 G5 J8 L7 p: t( K. }0 ~0 p
* R @. R3 q( [5 F
8 {: ]$ I6 D1 [& ^: }# b 0 v3 l4 T/ f8 x; D
3 F5 S& G* ~' {/ r- D1 ]
+ f. b* o; K* S& s- P$ l+ t
" l4 `4 c3 A" _& O# j/ O+ P
) S7 Z6 Q4 }( y$ v M % v o& v$ p2 l3 a
0 r7 f9 O" a7 n" M
' T& l: f' @- v+ I
9 C; }9 F1 A& k+ q. ?4 _) o N
+ Q" m) D! x2 x: D" ~, O( D
4 E8 C$ n: ?( _) x; P9 i. J8 D
( j+ q: c: j8 @6 \: [
$ o* K* V" x. o7 ~) H, M8 W- F' Y . q; u* H6 H3 m, E y$ o
破解加密硬盘
9 u) ]/ x' E8 W
: v) P1 [- @8 P% L# E* L 0 i9 V _$ Q* H- `( k' R
2 S( O! o( G/ u5 p) q. q ) W! H3 L1 Q8 E, |+ E
U) F( Y1 I! J( C
: T# T: D6 q; i% @/ M: E
6 G* X9 T+ T& R: |( z: h$ y & t2 T" J8 Q3 K5 |3 \
9 b/ Z4 ]7 x# [4 P% @( d - U8 Z0 |% C7 k8 K r; K
4 F; o+ [( j. x# O : a$ g" Q. g. r$ \$ T
+ i t# s2 g# i( W& _
' I9 z0 b; ?4 W7 z9 U
5 Q6 w' T4 c0 `
2 h( ]* L( n2 J, _+ e
* O! X9 r( }' i" e! b: t2 N7 g
5 z7 z |( H- q* t& } f' g4 j
9 A. F* @' g% o+ W2 U - O0 X) |8 `; a
* Q: e, b* T* u$ ^+ F
- `; ? O3 A) _ @+ [5 ^6 [
}8 a% ^, v: F$ D7 P. b* P
/ J% P T/ D1 l3 C, V) C ! Q0 C# z) E3 A! w" @' g( p
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
( O+ d$ ]. x4 N
3 y! O2 @0 Y8 W$ }( Q # A) } Y: w4 [
# u1 m$ m4 m, i6 o! J' K$ K# a* ]3 s
2 y8 X# J5 d/ c6 o 0 a7 t* a- h' Z8 Y% T0 A" C, |
' I" T# r* g3 G4 I& s
/ N$ s" o' c+ Q4 x @, H7 K 6 V- E9 s* v+ p+ t
# j& ~/ g: Y; v# j3 g
( J1 ^4 [, ?. Q6 E) \, @8 h# C . ]$ I8 J" L3 i1 f, v5 W5 Y
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 R3 U. d& I- X7 I3 `5 T. H
$ u. j1 y! n$ B. L + u: U2 F; f% m: h
0 ?% A2 ~! E' G
! u2 q |" f3 S( f5 n L
8 ]8 P* [" Y) i9 X& W
1 u) i; Z* x! v' |& |* y9 s
; D I7 H: |4 {3 C; k& X" g
. A- j6 `) \' v0 } - ~& Z1 q) C. D1 ?) C. M$ Y# j
; g$ N6 ^4 e8 N1 I0 y, I* z' U* Q/ D
2 k5 G2 b) I- k8 w' l
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 9 B( `2 k2 E; {: K* G
) z5 K* u# f( a: p0 J' A
/ R5 P% k8 E6 B3 j9 w3 m2 B! `
) d$ O1 Q3 w6 G
+ E. O, @6 r; I6 D( z% y Your browser does not support the video tag
# h& Q1 A x" I( e$ Y+ d; b$ U
! w) {! L, m0 z; C7 A5 u
6 U# \0 \" u' @9 f9 I
8 @, J6 D" |/ Z; H" I