. m! X" {8 b5 e3 M
) T) Z' @5 y5 j" @; L" u
! W1 T; ?+ l7 ?+ k. {
9 [" H0 L8 ]- a
% u( o, q1 u6 @/ I ' x' |% b# M b, _! A
" `3 x; l0 k7 m- P( E) N, |
; D# Y6 q: J: h6 b7 Z$ F, h 9 {1 a- c9 e4 z" ?: L# Q0 T' w
7 `0 T2 T2 D7 S9 ~ ]8 Q
7 O3 Y: Y+ c6 o* G3 A. n
) \' B# S0 G: g( H
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
9 q7 Y; g( G" ?; d z9 M- ?- A% p3 U {$ w
4 W) L0 R k" S- f: Z - @# G% G8 c+ Y9 i) u
+ f1 ] B( V6 ^$ V }7 v + \# p4 c0 G# R' c, B/ ]7 V
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
2 I4 C/ ~" B. @4 X
`+ {* @7 `* T9 N p' Y! F# d
2 n) ^+ q! }' h, a$ c: k! p( T
! G4 U' v9 `5 O ^, E) H6 `2 h) ]+ J 7 n; E* [5 c( I$ @( Z
" a1 I9 i% f- @9 ?* J5 I( p
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
. O7 t& z3 D7 ]) M0 v& m' o* @8 N ; m% ^; ] m S# r- t" M5 i, p
8 D' N1 ^' Q" ?2 t% v
. E' e* S3 N- f' ]6 Q Z* Q! F F# p
( Z: y, V8 Q' p" v ! N5 L. C2 k, n2 x& ~
*文末附《破防了》项目技术分享视频
3 m5 t& o3 l% A+ l9 K ' W" m1 Q# H9 c8 L- j# }* y
6 P( J! _; w; F
7 P9 j0 O% k4 r# _8 I7 _% A
( M8 G. s8 C8 u% ^8 G& C 1 D0 e; L" g6 {, o5 J
( v/ d/ W$ C) D
. j( v$ b( I* v* X5 X" S1 W$ x( ~
$ @8 n8 {# {& }
; C! w! M9 O: `% ~7 C. y" B8 G
+ o' j! C( V8 C: V
2 k: q5 z! y p$ G. V! h: B
6 r) S: w9 ^ ^3 e( j7 V , Z A F6 B F
1 y0 H$ [1 X" l' D/ N0 N
% s8 J7 Q3 V2 i
8 P& u$ A3 t/ E3 C8 v
# q& F2 n h+ k) `4 O 2 {/ P; b8 o8 Y9 F7 P
5 h) k3 C4 Y0 P3 {- \# R/ W
1 ]1 Q! g- a1 |+ p* A) B7 l* j 日拱一卒 功不唐捐
) F0 E- @4 n" e; N/ d% q 2 h% G L( F6 c: K5 U3 ]
, Q& \8 ]) h% a6 \& `; Q
5 f7 E4 s2 d; u4 P9 E/ d" g4 P- P
1 P. I5 i/ [* k% A! m8 @3 K Q) |$ ]& F: r8 _
% [! C) I5 ^1 g$ x0 H3 u" k9 ~
2 z% ]% w7 W2 @. b0 z * T: b: ^( h9 r) C4 e: ^: f
. \# p% p7 v5 C, S8 B' R' o
+ P3 y0 Y R9 q' I8 v. o7 r s: j+ v/ g: a- f
* x2 \9 b+ I) S9 X ) B3 _3 m; n, M
4 y" z" p, u& q, ~
2 y% g. s$ m' j. m 0 P* R7 k* Y; O' G6 _! _
4 S2 J, [! g/ ], j0 W
5 D3 a$ q0 h+ i$ S U! V
2 x4 N4 v1 U+ w+ u . i' f+ q- F5 e& y
- {$ n1 ~( O/ B; w; _5 \ ; x9 M# ^) o' S3 C( d: z
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。) [- N+ L$ t: H8 ^; p% d; ]$ F
9 j) m t; ]- _; c2 N
# z( R) n+ N/ d% R# m: i
; [' q) I1 m' ?! p4 o' K 7 \6 Q8 j4 x: [/ y* `& k
1 V$ b" _ B1 }! S! Z' z
- ~ G; z2 I4 v4 o+ {7 u0 I! ^3 }
4 c2 E8 h! W% m+ ~
# M# E, q5 z9 B' O3 I
日常研究环境! l* y2 k; ?/ I T
! M+ U: m c5 E1 G, x$ O9 U
" f0 T) F+ q5 }% H) }" O$ O
" k: A. e! X+ a: ? * E4 U w! c p0 B4 g
% ~; M4 s* w1 y5 R+ k! }( G" I 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
/ s0 C6 I7 ~/ K) J# t: l( e) H& z 4 Z% g: ~" {" ?' \0 P
1 x: e" x+ P& l
, w8 ?& P6 f4 V1 o1 o7 M/ T % N! n4 F, \, A+ D8 ?
3 G' t- i c3 A6 x1 u: g+ N
$ `# F7 x, h# R" T2 j
5 n$ U: O0 A9 N9 S |$ j( A9 ]
0 W5 x6 V! p3 m& g7 c. O. I ! e+ {% x6 g! h
# M) g/ S: R+ F: e( f! z: i * p1 s! m& _/ j4 X+ D
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 $ g B+ D" j/ @7 z3 H8 e- q
7 W6 S" h5 Q% I9 B# m* ~* l ! K u/ P; c' \, @
$ r5 }. t7 H0 S: l. I3 C+ H- K! ]4 b
' X0 n, f6 s" C5 j+ g% D$ X/ x- q( V " g% Q' F& b0 b% }% b4 \
# a5 K7 A, i' U: ] " i+ ]* K3 E5 ]
# k3 Z' ?# D& M
: N. W' J9 P- I# r# l
, p) X# I0 n2 m" s: l
9 b, g/ X3 D3 N Y6 R& s' o 6 h2 c5 \/ e4 _
+ }/ ^+ N# w6 y* i
. h9 J7 u, h% P# X+ v
% b+ S: @6 A P5 ~4 F" p4 L9 `5 L* [$ Y ; d7 z: S+ A* \9 e( ^- O& X
! X+ {7 G5 B' F% `$ J
; b" f* A* q& P) Z 7 Y y# Q z+ `0 D2 K: X
, G8 P* a1 j+ C( u! w. Z
破解加密硬盘
1 j$ U. k( n1 N* G
3 D9 W! y; t/ q6 G1 M: K$ H% x
& u+ `* H6 d, b" V 4 L5 K1 v4 m2 ~
2 F. t, q) A$ x9 O8 `
8 G! p* D: e9 R% ] ]0 g & N% T. y) H6 \. \! t. U. F
; Q6 d# `0 q- x9 A$ \: ~ t, C
; v+ ~5 o8 L; G2 D5 z- | ( W* t+ t7 ]$ g3 T6 B- E
2 T% V5 y0 R& _1 J' n$ u/ g+ Y2 t
; c* P6 e4 R! S
6 _9 ^7 S) r5 q/ u* d
4 F4 @0 G9 y/ Y2 m
! k) M7 |' g! w- w 4 ?/ O" J/ y1 X' e+ P! W
8 b6 D1 x; u. U1 O) o+ g
# _- v* }3 W/ n. m: h7 o
7 E6 E: `; j- r0 m) q! _3 j2 H
$ B. i- r9 W5 t& V$ r
- M7 H" {) H7 G5 n
4 I! t- c3 \. p
3 b) R+ I# X0 M
8 i# U; l# M4 n/ Z4 j) y 7 H( o/ Z4 J% `" t- A& L+ J
% c, S, z4 @* s; b8 _1 X# B5 w 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
& ^# i+ Q* e! k2 |: m # l( b+ R; v7 [) B* l% p
; o( [ f5 t6 x W
/ W" X, \( [) _1 ~ % `7 I9 }! ]* n# O: S
: p) D0 ]8 X/ Z3 I
5 N7 \3 e' U3 O6 B / F* y' }8 U4 q" K6 E
" v2 u' E0 ~2 W
' K: M" d d+ J7 ]( q+ {- B: h
8 ?3 M* C% ]1 ~; G; F2 b8 h
0 K& H l1 z- p/ y& M 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
% K9 r1 F$ N5 w* {" A6 M( x
: Y' T& M- ~- B3 W6 y2 S3 G
# A: a# i' {* L % i3 N5 @2 z) o0 t4 `$ j
9 k) ]+ j3 w' O- D) o4 h( {
, {. `+ [6 v* e7 b, U3 R# p7 c' `3 k
+ t# p* l5 E; D) K" B/ b# l* ?2 H0 }
+ H, ]+ I* N% t
! W7 k' ^& K% z2 @9 h# q
# e& Y0 ]! k2 o. z$ S/ A3 f0 |
" [. R+ d# v; y9 D3 J, b# d
2 T/ V" X& G3 }7 P 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
6 m6 Z J/ q. [+ J
) p; v; o) x& c! t/ a; x, H: x 7 t) I8 Y8 |- @, U7 b
' m# Q0 \* b: G( o, v. n 1 L8 S; D+ k9 U* R0 m# E9 C
/ N$ ^& P% k D' o: W1 T
, C& B: I+ G+ ~- j. r/ l # |( g, A& y: J$ @1 H' }
4 P9 a' a- F; d6 Y; r& a
|