, [9 f' T( r+ k8 }0 S9 ^
$ q/ z. n% L* w Q) c6 d3 o 4 \; E6 @' o- v. p6 {0 F2 o) Y; [$ m1 ~
, m1 u- R4 C( @( \# x* |( x
, h' ]% {" ]. j
! i ~' B# d" X' _, q
- |. T9 b3 o3 M8 t: r. r: N/ L 6 t6 ?0 G* G5 f
+ a7 z, j! J( A' B0 @ Q" t, n8 e
7 H/ t# N0 c+ ?
* N$ M' Z8 M2 w
U' d$ ^) y9 A' y* }# a 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
$ d( y1 g; X* v; C
% I' ^1 D4 G; a
+ u6 \+ t0 ]9 E; Q$ C/ v4 j, a " \* s+ J8 N) c
) q# i$ h* b8 M" P! w1 E8 i
( a4 Q% y. F& i9 G8 F) Y! ?4 E9 q
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 + ^/ \2 Q: I& @
0 E: e6 U. \+ y" u* T6 v* o. P
, V6 g; }5 h# b# E: } 3 n5 i. L2 N! a
! W9 j; D% C4 o) q* w
7 M G6 i5 W4 v 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 + f" K5 U2 x- u
. G* B, `* T9 {. f# [
, `4 o# C$ y/ F6 p, Q
- L w$ d8 o- Y- `$ S! d. p
0 s: \/ g( T$ J" T* s
4 ~7 A( K' C: z2 R *文末附《破防了》项目技术分享视频 9 g% A3 H. ?" ~' Z& h3 R: }+ o
6 H2 `& g' R9 k1 r" N+ ]) Y( u
. u: x- N, n0 N& K1 X9 @: ] / v- e- w7 S4 z) z- G3 q8 j
/ ^0 F# \$ A2 x8 f7 ^
8 Y% X+ I4 d9 Z4 E( b$ n$ U
! W/ r% ]# G$ [, N
/ V8 ^2 n, N) f/ X8 k
* z5 _# ]6 N2 s" K3 c
& H2 R5 Q D$ K5 _1 H5 J
1 [+ A, k3 X6 l) J( D% ^
$ L: A4 p2 Q6 w2 z
6 q8 o+ |1 G J# R# B
% t2 F' d- k6 q7 A8 ]5 N4 p9 o2 T# ~
! Y; s0 L( \8 ~
7 R1 L y5 F' A h
9 b O, k% i% c0 F
' y- w0 q+ c3 x2 d / y* m( W9 m8 c( v
/ I, p4 K2 j `1 t5 |- N8 [ p
# J4 g" D+ ?% q8 a' r7 s 日拱一卒 功不唐捐 + |, E" u( ^" n
$ n9 ]) u/ v, `: c, ~ 0 `9 p7 y- q6 `# q
5 R/ z4 ^( O1 B F : A7 l" v) e$ ~8 F) D) K2 v6 ^& b# e
! C/ o6 d: N$ n5 s6 z4 Q1 n: l, p $ F3 U! S' W. d. h& `: K6 }
. v" Q8 ~3 Y- B7 l
3 g0 a$ ]. w4 ?8 {5 ? \) U( O
4 [' P$ ?8 I& R. y( F( c
1 H8 D5 t2 @! h9 h# M 2 l9 X* Y+ i P5 [1 a
3 S' d+ P4 a* }- T9 _. V+ O
$ j9 U" c9 I) N! l6 B 1 ~* _7 _/ f: t; Q; E! R- R
; x! w& X1 J* J) { : O3 z y7 {1 f( a( G
+ ~' b- X# J" N7 G6 {$ j7 `1 h2 b ; l6 e! h/ h: J4 c$ N( [
1 G' o& v" A3 Q/ H
' M( {9 Q3 ~6 O6 g j6 t
! X* w: S- }; a2 u8 A 7 y6 g8 R. R4 i5 V
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
. c0 u% Z3 ^2 y- Y U
: o( K* ]* ~! {# Y7 a) E, f
]& W: Q6 i( z
: i/ W# ~# l. W' K9 O* L# a0 J2 l5 F
+ i8 c' s5 N8 d: Q ( B" G& E! J! }, {
- p8 Q N# Z) w* _ ! C+ o6 l3 D: t9 d1 k
; ]6 Y7 V7 l; w/ U' z 日常研究环境 4 r% r7 d( b) e% Y
! v/ Y4 X5 W& i) h; J
F3 ?) s- M* D1 _' C) B4 l1 f' E: H& C0 G
7 ^/ h' V# P5 F3 t* }: i
/ h. l: G ~% n2 _% T
3 e1 Y7 |8 S, P' G" E 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
4 ~/ ~; \! g u& o' R8 f( Z! `
- O# _' _* |$ { $ |) _+ U, c% `1 ^: m4 w& C
2 b* {" c( Q& [+ H* Y0 L
4 j- \6 E: w7 d! L) _' R; @9 L2 i
6 W$ }1 m0 \# i# \2 W! B1 R
/ f I0 V$ Q& F4 Z
5 A" c. n Y7 w% P
: b( x% I/ Y9 f: Y% O4 v. Q
; W9 j* F$ D+ X3 V! J+ c
3 e1 {. b) N6 l# `
2 W* S4 _+ x7 _- | 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
) Y+ y& X- f& Z
6 K$ m3 D F) `
4 I) z% _/ T3 U& m 7 N& _& d9 p4 a4 i, j# ?) b
& y8 G( w, \# u8 L. }7 h , C7 ]. O6 S5 o& W, s! U
& K7 ]& w( R- g% L
R: ]. g8 h) L# v6 M2 x8 x, h$ l
0 D7 y0 Y( Y3 k* F# M3 v& o
" f# V/ K7 {2 n' Y
6 S) m/ f7 u. c( m& s
9 [+ T- _4 y# c5 w: Y! r% L , ] ]5 c7 I" O9 Q) L. W s. O6 v
/ @' A* T& u. W. Q j 6 _6 A5 Z' v6 o$ b! N+ c' Q% S
( Q. E+ d3 B) F% l: f g
7 r. {0 }; J; O+ Q! e" [& m
- g* w0 b. o0 y0 \+ y$ r9 q1 [ 3 D6 x' [; ~6 k* y
1 B7 S. Z2 v8 [, H* {1 v+ y
1 G2 U* A" M, ]# l8 A/ `
破解加密硬盘 3 D. B9 |+ }3 M! Y# j
* R- c( o; H" e- t4 n
, ?& i6 T# f) x% q" t1 _; S
" F: J6 v' @( b
7 _ f! w/ t, j2 r) M% O5 z3 a
$ c0 W: k( U0 N& K 0 W& h8 L! {5 J; ~
. O. V3 X5 l+ \) r! a- L
* W1 X5 l% v9 a# y5 j" n! i3 H
( x! T. i5 d( V9 N( F - ?) Z# g( N; Z6 Y
8 X6 [( s- a$ j: f0 I" H
9 e; w$ H' E; A/ H% V) I+ t7 G
/ r9 y5 v, w" K: G7 Z0 u6 t$ S2 ` t# P1 ]# f# w9 P( o4 y
4 G4 S6 ^) y3 k8 F
% h& E8 n* I: C/ J0 M. ? 1 Y$ s4 `; b4 Q
& T F- A1 c E, [ % T; ]' h$ J3 V J2 K
6 [/ c8 V. ^1 p8 m `4 X2 ^
0 p( @6 }- _7 f$ b- T( e' a
: j2 N: @' b" E, |8 U1 d6 P
' T2 R( V7 @( K, Q `
2 v/ \) e1 |$ a% i ]4 R! m$ b8 m+ ~2 y" J! n
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
8 \" o _7 @" m0 g4 h1 M6 c9 H
# s% B5 t7 j/ e, c4 c . T4 p0 E1 e% L( @; |! I
3 ~( R' Z( ?- F+ O9 B
5 ^( Z' D! r2 x* P) r |
8 v' i! H9 P9 e- c. X+ M# V
( l5 _! y" M9 p. p
?( O9 c1 ~5 B% h( X- l$ C0 [, M 1 Y0 n2 M: i) I5 q( g1 k% c4 B$ ?
; D- x5 i2 D& `
, |0 R6 L$ |5 ~, k% v+ k, K
7 N A8 R6 v n3 S O3 z8 H 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
1 h/ _- E, F2 C0 H) N" J
/ |6 K, O( G p
9 a [, h" |! h
8 C& W2 I8 z; C5 \1 W
3 v7 M: V$ L% \3 V' l h( u& L7 h; a
0 C; u! p6 f( ~* K9 p( V
X1 o) ^5 ]% p4 r* } $ H) V* G N: B* R4 E8 W, ]
% {: r, Z7 g7 n. c" F% B
+ G! j( m8 N( o+ f( \
Y" c6 ]0 R! v
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 + S) _7 Q7 y8 E+ ~) U, S- {
# G; ] a D0 j+ M) N
+ |6 b1 n: A j/ L* S2 g' I: q
3 _4 @" j, a! F, B' C
2 A- z9 z: q3 G' d G* | Your browser does not support the video tag ( M7 R6 }! \, z
6 [ U/ d& C: P; ?8 t: X8 s
' E. h* [2 b/ U$ p3 V
1 e) S* s4 r' A* ~ ~' [6 G