( B& m" e5 D3 r1 Z- S/ C# `
+ B, l/ G; @& i* }" t8 z3 B, G
6 k6 i1 O9 o6 i
9 a% h2 j! [7 i, I. N" U 0 o5 A: S c0 r- M% |2 @
; X! j& J: o8 i$ D$ G& ~8 l) I - Q3 t2 Y; ?7 z k( ]# W
, ^0 |% k$ J4 C! O1 V v( r8 `- U% q
+ k/ M# {6 C3 U; d* o6 r- o
, _% W& k6 u/ y" N6 b. `/ { P
& Z, a9 g6 `1 B- g+ ^$ f* ` 0 w/ V8 |) L. C, \
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?" k& L& q4 a# L! a
3 C5 h1 {9 A' J
2 [( A X. Y7 @2 m6 F4 I6 i
& w; W; Q R, y5 \3 g 8 `8 ^, r$ y' B5 W
* C0 g9 \+ b/ t8 y8 e% T$ d. |4 b8 l 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
7 `. @7 r5 M6 a: Z1 e, O t# s * A, C* ]. m+ g
8 m4 d4 R/ ~' a
* a# R* i! D& Q# E
4 w1 `; Z6 i) f |) X
7 u5 z: K* r( @, [% L- z% O W 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
2 j2 |5 S, }( _9 [0 d0 h
+ G6 V9 ]0 u# K+ ?% ^# I9 R9 b
1 \6 h) t1 X0 q, A" c* y2 ~ 4 P/ R# d% h+ n$ w3 \' f
}# Q) |& \' T; z7 H" ]8 ~ t
! v$ T4 e. P, p) n3 o% g
*文末附《破防了》项目技术分享视频
, ^. o- q/ c6 @) d. u 2 H2 O$ |7 d* P
7 O- q, X, n9 p/ ~
9 C* d' J& n" I+ T
6 b5 V r9 O' l# U% a R% V3 }
2 v) d3 J# r2 F: B9 e 3 t- m; `- b$ h! N j
8 e( p# H) X+ o' M' L! H+ K$ Y
) |1 }& D& I$ A% P' g' S- g
( q+ @7 Z$ j: E. u7 K: I 3 A& |: b0 n0 E0 Z1 k. `3 d
% k: F) w. `. ~4 ~) e T
: }2 z1 N. R, J- m2 m: B
8 L; O: P2 ]# b7 }9 W1 ^
$ n5 ?' Q% j1 o2 V4 o5 M2 k
9 k* g: n! R! a# T+ |
. ~; l0 ~, F/ d" M& W: y
/ X& @- l: G7 }7 s 6 o5 a* V: `/ ^4 q; E/ H6 J- z
4 m' @* p2 B3 Q6 v/ L& v5 d+ J
* n9 M7 j; n9 N' W
日拱一卒 功不唐捐
% Y& z+ p" B% `. O 8 d5 _( x4 L5 ?* A/ j
+ \; ]4 S7 y$ k6 S- J* o
# \. y$ i6 Q% ]% h
- [" f0 `9 G9 s1 r y ) ]2 m$ t$ C3 h8 f0 v1 b4 q% Q3 \9 R
% t$ I9 i! b1 M6 `2 c* e7 T
) D( Q* b! N* x F V, U3 v
; w" V$ m6 q+ A8 j& c% `8 ]: t/ F
7 B" f1 u6 V) b7 L; Z
- d& S3 p( w, h/ X: h7 A* [+ S6 T
9 M# Q' `+ ^! [0 A% J9 f" Z& S % Q- ?6 n8 K' P* ?* f
" F/ I- S' r. Y/ e
* [* s* i( P% Z: v4 B- L, W; J) Z & N- e" v* H+ @1 ^- m7 b+ {% h+ @) q
$ e5 w; ~; x% D- H! J# u, D; t) V
4 r" h# A6 Z. z; u
. R* A( F# [1 Y' s: m6 r, Q c
2 F7 N9 f+ d# d! A& n$ d# j
' B a' s& X% T
% @$ E# t- J' Q/ q6 | * ^! k9 T, }1 O* w
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。6 N6 _4 V1 `% A$ m" ~- I) I' f7 v
2 M3 C6 t' l% J( D/ V* g
. `3 n, B3 X7 P; f! L6 [) O 9 M# D7 I4 S. O
1 F& r* ]' c' V2 x! I* N" K$ F& `0 V ; c: I& L& E+ D7 w& k9 o0 I) i
# n: L. g7 B; \8 f' P5 h4 @
; N# s" y7 I: r& o- g, l" ]1 @
( Y" p) ?6 z% c* @5 o 日常研究环境4 h% f5 K8 G# L/ P7 Q
( @( \3 z- h! {* D+ e6 f5 g 4 X* [0 e# B* k; \' ]% c% g- ?
( g" J; h+ v* j, o
# t$ ^& K, z' P0 c- h: c
( t9 |+ T! a; q1 M, X R 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。" F- Q( M" k/ _
: q3 ^! A7 [8 f
; k6 I+ f5 Y- Z9 u
, P7 M, H" H' c) H) n( U' H
# \1 O9 Y. V! ^, w: K0 A 1 ]/ x5 s5 ]0 e ~/ y2 S
* j. \) M* u5 }
: S* G1 [* y) [/ K
, m% H7 b. y& F- s - K0 L5 E# P" ^
A$ _( {3 L z/ q* Z
- m' ]. W$ p" p% y% w; g 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
8 E, H; H( n+ e, ]- ^ ) S! Q* n+ [( b! |- x' B
) b7 O" E0 J+ V' ~# u, \ " I' S7 R% e6 J+ V
8 `' b2 Y+ M& Q/ e
) l, {. V+ y. W$ M) K2 j* c: ]
, z3 Z2 ~: c2 B2 |, y }, m
R0 S% a! @4 k0 E; Y
+ q' z/ _3 l; F
2 b) l0 I* F* ]4 g @7 [
/ q. W' V9 y' j( G4 K5 b 1 T* y8 M$ \, j9 u
$ r" _7 F" _4 [ & L- B1 @# Y4 G3 @
& X9 ], y9 d- h( g# T
2 m" o, n" i2 z$ P' A $ p. m) s$ S) M+ m J
& t4 B# n. P- A$ j: Z4 X: Y0 |
8 O9 Z" B! x7 j9 j
8 h; e& Z# [* M, b- O ! [ ^0 j* `/ ?4 R& W6 T" c
破解加密硬盘
0 s- Z2 K; h" Y3 o6 M7 o # c5 M l7 {/ e$ y+ N
& d" i* X X5 @: m* N; {1 R0 a1 Q
& K. V! i3 ~) V. K
7 o3 E* ~* `+ R; H, ` 9 z! J( c* x$ ?2 S! o& Z
5 `! c5 {/ m' _$ a {& k& d& p
' W& f1 p; {; y3 ^$ } # ]6 \! u8 \6 ~& T' c
1 [8 _1 |5 c. \ V! Y
+ B8 F/ t* L5 C. ?: R9 X% _+ u7 E
" s# P7 K, U# T. ?' f+ G
: D2 N' p8 B) g5 _2 N) N# g- d
& v9 t: E6 A' h& a {6 f
0 k' U: N @$ E; ?& Z# l* j1 M4 W & U% v3 [! C( t7 Q4 w
/ E n9 P; d5 U% d
+ {) J4 l- Q; _# {+ {
3 I. R* x4 J) f ?% F( Y j
% B$ ~1 |9 x8 Y6 I+ V " y8 U. T& Z: k5 z T# X( \8 f& M6 W
# r0 c( k6 m P, C" [
3 o5 e' X" d# c" J# K2 ?
8 @5 w* b7 y: ^
& `4 W$ w0 K. ^5 _8 t
/ j" c5 v! e. C 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。/ f! {# r6 i8 w! J* s2 L P* \
: S& C- f1 W0 K
4 R% s5 s+ k, ^: m
$ E9 S. v3 i0 X ; Q! m1 t) G7 b, _
5 H! k) v, a# H9 F
% n! e. M' M: }+ r# d. ]+ w 8 t! `# o- Y, Z* j5 f9 L; s
) F, u" e$ q G+ F6 s5 v
1 @" I' f. o8 ^. V: u5 A9 N ' G4 X& L- T6 Q0 I% A( `2 j ~
+ K O: N! t4 c8 L1 L2 n
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
0 D. V5 ~) l3 e0 n# A5 {. x3 l7 u$ Z* M4 ? S $ R6 v& x7 J& |
% _6 ~6 w# Z9 p) n' n' l' W % l/ _4 i. x j( R% U! h- l- C8 Y+ T: z
5 n7 r" W6 B3 c7 A5 v+ ]4 v
0 |+ ^: R6 `9 V
: X% }; \! c* U! F* s / r$ R& g# x/ @ \( a s: ^
" c3 h9 c9 ?9 v
" I6 @! c8 m f6 K
[& G4 J, z0 y, B4 S) d2 F6 I ( u% e6 d$ X& ~* i! Y$ {
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
6 u- j& `# i' ^5 a
K- a+ @4 L% @
; c+ ?) m9 L1 ?; r) C% z 8 }! c) l3 c# H R
' [! J0 M8 ^9 d
9 f' A; q3 u8 l3 [* v' A
% q8 a; V5 h" S: H9 C+ o9 a. a
* O B5 X3 H Y; E: D, D1 p: S - y7 c% Y3 D' E2 Y% n) ~0 E
|