- r3 h5 |+ O3 |5 y$ Y$ c
. M2 ]: |: z' p% y; A8 d
1 K; |: b6 m; d3 \6 N( o! g0 T$ f3 R
# y: t; `1 _( K2 }5 ]
1 ^8 Y [7 B$ M! V0 x. j : j- P) q( v! {0 v( {( }8 P8 }
8 j( E# \+ ]3 P" Y- [
+ y" e1 h+ S9 n6 A& o! T/ ~( }: ^ " N# Q% U0 y4 K& Q" Y' X
$ @( F5 `* l" R) H3 _ g k
+ O ?: ]$ p: V% e
1 O) n9 f a7 v% b% | 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
# Z. O# B. J. e" k4 q) B
6 C- ?& s$ ?) o " j4 x1 g/ U. k" O- o( J: V% a- X/ I, |
0 ]8 V$ S2 o3 |
% n7 D2 E6 q4 _9 { 5 }$ D5 h( c, {/ I
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 2 g- @. f; e% B# z* ~
1 D# G( ]0 z( g
* x0 I4 c: L4 B
4 i5 c& a) E9 G' D0 X9 e* J
' j" u/ z% o9 }/ Q( K# ]3 L( z
2 N1 u1 G" e6 v: V 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
# S- m0 W6 K- ?' E+ a
% p7 P/ Z0 s1 z' [5 L; f
7 N. E/ ~# k4 Y% o
; Z7 c, b9 b, o3 A) e0 A7 w: K
9 R5 q+ V4 t# h6 E; J7 o& i" ^3 O
& _; N0 W# V/ @ *文末附《破防了》项目技术分享视频
; J. r% P% ?9 J t# H% Z5 {
. l- O' l. w, T( i" r
$ d: w$ B3 t9 ?, Q6 N
" ?$ i: Q4 K1 @4 M" I
8 ^8 b* D9 w# |, H/ v+ J4 R: D 7 W0 W' C, B( L
! i- g% k9 ? W& @# b: V
, Z1 z7 C- }0 _$ s % d9 z! t v0 {% M9 z s
& K$ I3 e% q( ?2 r U: X
% t7 r% [+ c- ~- r% I7 C, [; }
$ o4 o1 c# S# ?
! j/ h2 N' D* @2 y' A1 f
. v( u/ J3 x% F 5 K0 a5 |- S. b& w2 E: {8 n1 I
, e" x# ^/ g' V5 s; d3 Q/ p
8 |3 m3 _" X4 H8 r
3 l" P" e$ Q) Z ! E' b D5 q/ c1 Y* m& I. O
3 O. r' G; `4 S* B1 A x: m
% c: h! `9 ~3 U8 L9 B9 [) Z 日拱一卒 功不唐捐
; G! N6 P6 K6 l' {
5 }/ t h& N/ {% C/ o
; p- j2 s3 ~6 u: W8 r6 R5 H
y5 f# l# M- u) e/ q0 y ! }; h1 \+ R z+ B3 ]
, t* T M. \) D( N! H
5 u* {" g! d1 J9 z) y# ~% Y& u
- A" A% k' L% V
" w; i" c" ]! L4 ?( G8 E1 Q! U2 g ) ~% T/ w5 d4 D) E; J; L" Z
0 ?8 r E2 C% J: w
9 a" k" l) e( ^0 r, @' f
8 h. o- e: f! \/ o& A) p& g x 4 T' [" r6 M1 w
5 c- d1 A/ q) o + V" l2 u: V' V6 n1 i2 l6 y
9 s, O# d; O* m% a
, L$ B7 M, J+ t2 Z' I6 p8 Y ) i0 D# n* H4 n( Q Z
: r: f- O& |& t* e7 d. y3 K
/ V- @4 { j6 D0 e
+ {& D6 z9 K5 b4 T5 N
: v2 R3 U- d8 G+ E
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
" s: T+ j3 A5 n) }: g @) I
' ^4 }9 [2 w+ k% F+ s
8 p; l& T* Q- N5 a0 T- G9 K/ |
9 B- Y$ k1 G5 \# U2 }
6 k+ X& P( d0 O% T
. x K7 r/ b& Q$ N
% E* E7 }8 N. E8 Z1 A/ p# D. ~ , E) G) ~/ |2 D
% H% k7 k5 y7 e: s
日常研究环境 " O' i. T- g6 }1 s8 p
2 O3 {' c1 I1 ~ 4 Z/ o+ Q- q+ z; B" P
5 s3 p9 e; C- C E8 _. a5 O) n. t
0 H2 S% e( R+ y5 x* h# k 7 V5 }8 w; F" _
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 8 f7 i8 v8 ^' W+ ~1 N. E# u# a8 V
# X/ w0 @6 X5 V# N" S
4 [0 Y8 S2 y3 y( p
% u# m$ p& j1 k+ b$ }: G X
9 T6 w* i: G. U & c, a! `+ r" f) G, o7 Q
. g- |2 [7 _- q
: }. _; B F D. H
: p5 k9 v. B2 H- U# m ! t0 |8 o( ]( k% ?. b/ G
8 }: y9 K( F6 u: U) T
0 I# W$ s( `2 c3 g 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
4 k# p5 W7 m7 b' y! [
6 f# Y6 E H2 B! k' w, c6 | ( w. _' a, G. p3 a l
" k, Y. s0 d m
6 \8 q2 S! t% j* R3 x5 A
6 V1 i' O1 R# z/ P
% f# T- E' |9 r& M% S, k! u1 D7 ` 3 o) a9 U/ j6 l4 w w
$ T; ~( g2 F7 E- J. ~1 y
7 j3 H, Q8 r# ] ! d3 E( M. m+ {; t+ `4 V" _) `
1 h% ^. o _ X. H9 z . l: f) Z9 z$ l/ U6 ^ q N" h* o. y/ q
/ P' Z9 Q u& P: G- E- X / Z' u3 ^/ K0 ]# z' a7 N5 `: K( \
$ z) O( l& T, i5 e3 s' A
8 p% F$ S% [& ]- h; K: L: K 2 l, I% Q4 @. ]5 i# q# C
! U+ ^/ S8 \) [/ K" z
% z$ l' a. {6 q( P& Q : W7 U* P7 e: c
破解加密硬盘
, o0 c: d- ?7 p( K- ^: P' I3 W
0 x; g) A6 `8 h* {& Z' p/ D, h/ | 8 |. L# i ?! g8 I) h/ q
. W. j. h2 A3 }+ E4 i& H
% j3 v4 u5 @( d/ \( ~ 3 i. q$ `4 ?: O# ]* _5 ]# }
/ a# h3 K+ l! m' [
# ]( x( u7 K4 L j
6 J P# D+ G/ ~; [+ d
4 E5 S" n6 b0 G& o! z
8 K) _* Z6 Q" v2 f5 n, f( L ]. z
* m( Q U/ L( Z* r* x* ~3 V5 c
4 t/ `8 n7 B0 I! Y, ?: l* u9 N
) {; n% K! I& A" g- I
! B$ c& u0 a' W 0 Z! v* F3 n0 a: \
; Y9 j) Q6 E/ S- {- @: r/ B
& l- m0 t0 v/ Q1 f2 Q S4 s / R5 x/ K$ B- U A. J* ^& Z2 b& I
- w0 N4 @& d5 E4 h) z( v
! a3 K: s4 {, |3 O' r, `
1 Y) L' w# C5 m+ |3 o) ?
2 P/ { H! w; F3 j U
& V( r( `0 {5 \
/ _, w3 z, K0 n9 m
/ L6 n4 O& P( Z; t$ N' S# E; J 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 1 k4 V8 t+ U+ l. x# \3 n5 }! H5 I
8 P- u- w e; c3 O( f & R/ C" ?0 E- w5 z0 }8 Q/ f \# U
( V' G% j3 J3 z
& k: }1 m- u' r7 c! Z: A& ^; I 2 W; k7 k) v- r# B8 @2 Q* v2 P9 t
# V L% r3 ]7 M
; O5 S& ]$ l, O/ U: v [ 8 f- b: ]' [+ H+ M; T
! k/ N8 N4 Q5 y6 h6 D# W6 D
' i5 Z: V( Z. j% t4 A
. V. ~, J8 e% W! q2 n$ q 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
, c% W8 f* Y" a4 N( Z
, p$ D6 M! |# B5 i- K4 L5 P; F+ n
8 K' ]' _! B7 ^ n1 H5 u2 D: E& i
0 n4 F" I/ t4 ?) V8 r7 \$ g) {7 {
R& w( Q: s" }
& o7 K z3 N9 Q x
5 f. o1 C. r& i5 @/ ?; L* j
2 Y G( b" n: Y; `8 v
9 O% Z; K0 w3 }1 q& ]% d
: L. r$ n. u. C7 @6 ?! O8 q
+ u0 ]* M- G6 x% {2 ]8 d
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 . R$ F% V6 ]) _! x# H' Z C
$ j [6 S$ z, G2 w$ J9 ~2 i5 U+ G
6 U! z- g) ^+ z" L3 h& ` % H2 }1 O$ n) Z9 s; R- g
8 b# V& G1 |/ b2 |$ Q
Your browser does not support the video tag " @2 d. @7 x% d8 p
% X* B. h" ^' y& W' A( S/ i ; E! Q/ y9 y1 G Q
6 m/ W1 E; m3 c' l+ @" R" P