" Y L9 ` K3 c( T& M0 _
7 h& v- f2 h, u( _ ! L/ v8 {; G8 P1 Q
( M3 A" v) [6 @" d/ o
: D: B" M) Z$ a# y* U c
. j* ]3 G0 P- B/ ^
, E% ^8 |3 a- W2 D P$ ^/ S# Y
3 w8 g) Q* u& s9 f : k R4 _( ]. E/ T3 u
# c- i6 ~7 O+ b3 e8 o' B U1 `7 Y
0 j4 T; f2 W. a( m4 M% o: W
# M, K. [4 h* b
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
4 S+ x; F6 w4 N+ S) V/ K# ]9 k+ k# }
3 u9 f8 ~+ Q$ r t
E. i- O, M/ X* E4 k
4 G% J/ M& j+ z- _6 l$ s
- r5 k2 q7 Z9 I& w+ d% f/ S , e# j, Z# A! e# ]! f+ y% I
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
- v ?3 u/ {8 F
+ T7 _: w: c t4 C8 |; m1 O! k" l
: N$ x! n1 c0 }2 c
, ]) n2 J9 q) A' S1 {0 [/ l
; f. ]( P. N) t9 Q# a J * C4 s* w# B: M+ v V4 ]* n/ |
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 % M$ N+ N1 C. c, j
4 L' b/ e8 y4 i& U
2 M7 m) p9 i* a& g- R" c V/ w
6 p# V4 x: m1 E, q6 E0 X. G
7 @" T1 Z3 z4 [' o' Z A4 w3 c
! e ~. w, X) i( G9 g *文末附《破防了》项目技术分享视频
9 h9 k8 X& o8 ~1 v' a' X- p
9 L9 s% i, M& Q3 T ' J/ I5 O" P* B9 h0 V8 L4 }
/ K" V T; F7 r. u 1 K4 u& b3 {) Y4 c- u
) s# E3 ^' ^8 B9 ?! @
' D( ~$ w2 m% S1 p, }( P9 [) a8 r
3 k5 P& }& f# P- a7 V
# o0 N1 O8 D, c1 j # U3 X. S0 ^* g& {
* Q9 T: m+ m" e3 v" c; M
( z' Y# |1 R$ ^- v
- I5 t- m! |- W d! f% d4 ~
3 J( k; B4 g3 G8 s* G$ j
5 B, S6 Y& N K ! p5 ?) \1 L9 G, Y8 w# b* j
( ^: v6 @1 S- I: v) S
: t! b, Q/ \& c) I1 w
# Z2 o6 T2 r4 x; j: N k. t. v + \5 a$ Y x; i7 o$ |+ B
* j5 ?; \3 o% g8 W: ?
日拱一卒 功不唐捐 " O: E; N; y7 U) F" p# C3 h3 A
1 Z/ W: }' H ~# w0 p- \! k
# w% R+ x, r* f; S- v, V
& `' x( B* j E& v' H
2 U, u' [0 o- \4 ]8 p
: F9 {1 L L/ H" d% U7 ~* F 6 u7 R; y' X# L5 X+ K3 |8 j0 R' l
0 K3 Q7 U& `, u& d0 M7 n
$ ?( M; L. R" U
+ O! z' O" c6 Z; A- c3 D' m, H% n4 _
6 j# m3 ?" O( M0 r% p( N# L
& \4 h0 L, p. @- g' D ' u, c8 I6 i: D& D: [
; Z+ D# ^9 C$ [; e y d* s/ w9 W# x& a, z
) Q: s3 |! N5 k" X2 k# t, Y
) Z9 _7 D6 u5 T) Z " F7 d. P$ w) s. L, C
/ I, X- L( g# |) g ! S$ l* P: x: b2 S# S
6 w* [+ u4 f/ @
9 w. H' g. N% r6 C% ]) g ' l# H( N& }+ v9 P4 H7 o
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 5 a0 o; \" X8 T" c
3 w0 \2 \8 V5 `/ H+ `# J( h6 _
4 u8 ]3 i# Q& ~/ H* i 2 w6 K1 A! ~! V6 j
$ O" T9 z) f% p* Y7 }9 O$ [% I
& a+ I$ q/ Z' v l- _! L
$ g, G u; a4 }3 c
3 ?8 m3 {& `3 f
. }5 u. P: |# A
日常研究环境 6 s k9 `, r5 K! D
7 ~: h- A0 v2 z. I6 w/ C1 y- x: A
) `1 J2 o- ^) ~- P1 Z& `
- y, l# ?# r( M% l
9 p- K* z& i4 ?
+ x/ y, @: w* [: X! p% J! V 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 . x" }$ g4 h d) k$ V) i2 m. L
) |5 H# S k8 r: u
! k- U$ C0 D5 b( E% C) [9 y, D / G2 D! E; N: K; r( B! t
$ l; V' p$ z. v, C8 E
: p7 w: X \7 l3 L& v6 X6 v
! }& V$ g; g6 W+ p& |' u5 ^
: e) a: r& s/ m' i# i( N+ }
; n) {& z+ y) U& D" r+ t / J" W3 p' U+ l/ Y9 K2 h
% V, }- I/ t( Y8 N- B
4 @% f6 O ^/ j0 I! t 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
- r: Z9 Q* _% ^' D" s: S
/ q- M& e9 `# n! w7 t, K' d
9 u! Q* U3 D9 ]0 ^8 K8 X# m
7 b) R! W% d9 M; b) G) D6 }8 h' x* o ' M+ s T; R0 w% n$ d! `, P8 P
& C6 x6 H( E P
; [1 i$ J7 a" m9 ~3 x0 C \; z8 D
& o: D) e' v- q! o+ I- `) c6 J$ `: K
. `2 T2 R: T; _2 j; M
- a. u0 T% X4 V0 e- L0 {& @
7 Y1 b, r0 I' b& s$ ]6 \( X9 D
% d5 p# t) x' A+ b0 c5 W * i0 r2 k8 N# N: j) `( W5 u( H, S
+ Y1 \9 }# g2 d8 I) K B' m3 H6 T( u5 I
) w* l3 H9 E g8 G; u1 `
2 ?; q7 b% T6 O/ _# h6 l 0 \+ u2 K- B/ b( M/ H
* p# D9 n' y( q7 [9 w8 ]' u T q
& Q/ d7 ]0 e' l
8 g! V' q2 w0 I d8 n W6 s& F9 Y 破解加密硬盘
: S5 c; J) `# V* V
6 n7 p5 A1 m: x# B% M+ q
( f: Y9 l1 f+ f
' V4 _# A( P6 ]- q& T4 i
8 @5 e* L9 l( Z
: R" ?7 A" F5 J% Q" w% D. [
6 }( G0 I1 |7 _& w8 D 8 M9 M( S; `& p$ C% f2 J1 t/ c
4 T1 }6 S% ~; ?7 p% Q1 M6 z, H
" j( i3 W( \, \
* t- q" @; M ` i7 d& M4 \& \
* k' k H# a1 s2 C6 q2 D1 B& d( y
4 t! ]6 v' C$ ^$ M% F% G
2 v( }/ P- E9 u4 P& k% |
6 U* e ?; S$ {. E" H
O y9 v4 z, y( ^4 E' W' H
: [ j# N1 ]. D+ u& e& a
- i+ }$ X+ M+ y B+ ` {2 c / a# a i* b# D& u3 v4 k
2 {7 v; ?( H" l% F% @+ i + k: J ~# b1 q h6 a
$ E! d( i8 {* l$ P. }% D) z
0 o/ Y6 l: s3 z! Y- y {
' E0 H* L$ \0 O3 ^/ ^9 t e 3 p/ T. [. f+ B G7 [- W: G
+ p3 s" v' Z0 ?5 k. D. I7 ^ H
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 ; J& W- Q; B% Z" `
) C d, P# a4 L. i1 G% e
5 r' i) a2 L1 Q N! K- j
& b* O3 n6 x2 d- y6 P1 N
f( @3 K6 R, N" I" w- r0 e! W7 t
# {, p; @! B: L0 f2 R
5 ?- b2 e' L+ o, L; G( K5 ^/ @
# q* h) L4 {' S$ n5 [9 z* K7 v
8 U- g) w$ s( B1 k2 C , t* h3 D" O' N3 z a$ D5 V
) w, {/ q! W$ i. S2 H2 N 9 w8 J6 d1 W0 |
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
! [" h7 ?: y E3 _( O
" z ^1 M$ J0 ^0 @( w
J0 i0 P( o" |. v# B/ m" P
3 j; ~) {4 A. `: r9 b6 ], V
' Q- C5 O6 e: t- V% [( \0 l
* Q* J# l# E3 j$ r
. p9 ]8 t' `9 Y5 q1 L( T- k6 i
4 M; e8 @+ |7 }) i
+ W$ I3 c( q. O2 ^7 I) J ; u# S ?7 U; c
- W: t, v; }' ^ y' i
* x+ G! e) W8 G; [ 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 9 p1 I' K; f' W# z
5 Q; _4 C' `( x& o8 L) ]% x: U 8 F) q4 @2 E; ^- u
" a2 i$ G: k J' p# Z7 s3 X
: W3 @6 |3 G3 {* b
Your browser does not support the video tag & L) _- ?2 M1 r H& h
) E4 p: [) n1 ^8 _- i+ Q2 ] # {* }( G% G) u- U
0 T: X. I; q# ^- F' f: G% B