- T- ^' O! ]/ d
1 S5 }1 n# g! u: e, B; Y
1 F5 I9 B2 Y! I6 ~- B3 L % ?# z" ?9 Q# C0 d
+ [ J# b" i4 Z
$ j+ s7 F* H; W3 ]% C! r ; w% y) B( p2 M8 h
N! p$ M9 |6 A3 g8 Z5 I 9 h& P5 n: m! [" S& W9 H
& Z" K! Y7 {: E+ @& v9 D& F0 ~
' @2 o" V- v! |1 i; F! k
3 G. }% ]. O1 R 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 2 b& T) {' a6 X, X
. W3 B: W5 D! b: S0 d
u" F. G {+ L2 H+ ~ ) o9 r" g7 C# U! X& W# S
' w9 y5 Z: f% E' p
0 O3 j. e3 |+ ]1 V+ y p 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
: o/ \7 j3 E8 D. Q- u- ~" b
- M& ^3 \& [: P) ?6 F) X
0 T; N1 q: Q, G; s/ v, c
( s* M6 F; Z* [6 X3 {% }; T) y" {
% G7 b- N$ P; ]0 |4 O " m. x6 \6 f- h( }& K
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
+ Z3 r& ]) c" m' ^
& I3 |8 @) K3 T, _ Z D' o
: k" F: t1 k) z' R5 B% G. @
, E0 ~' U+ r/ l5 S! E8 s
4 [7 x4 `3 K4 C0 k3 @7 L
4 u3 ~- d, b# P! O7 G x3 y* s *文末附《破防了》项目技术分享视频
, o0 @1 V! N+ w v& t& E
& R$ w! L4 k! N2 U$ t
& N" }! k5 G- u8 j D& |- l& P) w7 o+ \ x
9 |% ~9 d$ i( u4 W+ e9 r7 a, C 7 o; |' l2 [/ U: z$ g
3 l, P5 Q. k8 ?2 b; W' _
1 [5 w* I- S9 d: a7 e) `
' i0 Q. i! |2 E, Q0 u
% Z; x5 N- @" e* \! O
- m; x0 f L! p' `( m6 k, ^
6 ]* F* ^$ n/ H
. d& {. u4 I* P
0 j4 x0 M! ]5 F: K% a* E
1 w: e! r, ~6 M. C% L' [. A
) @5 w7 }: e( Q0 U/ c; s
5 D S% e. u, W9 s( f / H3 {) }% U7 u5 F* D3 @! C0 j! g) A
* f: W" W' V7 q& H- P3 J" v
% D9 v6 n% S! q) F 2 H# h7 u6 C; i! q( s
日拱一卒 功不唐捐 ) C7 M* V" {9 s* Q1 o
3 m* A$ o+ q& v
& f/ ?2 J0 V9 p0 d/ @! M
& N( t# a3 O' R3 F6 `) B
3 m3 g2 k6 `* @' e5 j; T( U! z1 I
( l0 _. X& y Z" A
}; N& R/ C8 w; h$ M4 Q: q/ Z
) Z8 S. @0 g# m8 d( [% Q% @1 N
7 I4 A( r9 [) O' B: {, C) y7 K
0 r5 E. ^% I. x4 w
( O' @4 u; A; ^7 } g 1 g, Z- o( k3 {8 B: w# q! F8 O
, y/ A# v# G( E" `+ W
2 v3 j6 N1 a& ], p3 f0 @ % R$ w! \, s Q+ `# J' E
2 B) ?9 C+ \3 D0 M+ a' A
2 a- r" ]; K1 M$ e( J, ]( Y " u( J' V6 q0 a- @! H
" N$ A c7 I2 M4 I, M# ] 0 F% Q# j0 f* m
9 V3 @: e6 O) Z1 l( u. }- T0 q; E
* G, A. @0 ~$ Q$ G/ }
" o9 J; i* F6 G5 ^, [& M6 I- a; I 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 5 a; ?# S/ W7 K& s7 q
) n& w# ?( C1 p- _9 n
6 @8 x2 C0 V0 F+ _# n2 B 8 W5 I: c. [2 ?: l6 d+ t6 p% p" I
/ R+ b ?- ?1 {, F0 j
2 C* G* U x) _+ e
9 U0 |3 w* Y4 H0 A6 c# I9 m/ f& x/ ?
5 }7 B- b6 y% w- {
, {3 q+ _! \) w4 U6 D- q( L 日常研究环境 " S; I6 |% g* z" |6 T9 z3 A
8 t( ?+ W6 _4 c + K8 r4 x4 y# v& H2 k
% K( @1 j- v! f0 d8 G
1 Q/ J- B- F0 N4 ~0 }3 b7 {
' N" K9 K) v* }, r4 B) b5 M 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 2 S5 t, p" G! E; j! V/ X
; {- Q$ @ r C2 g& Z 0 y) p( j. l) y- {
) p$ w0 S, S8 f' c$ c4 a1 n6 f
+ I# r/ N2 H# Z9 M! t; z
" h/ i, [3 ]/ ?2 e5 w: I
* ` V0 O1 l& P7 c! Q
+ h9 d2 x8 h2 B: O2 j* j1 n2 w
. I$ s1 ?& \" \ t 5 r, F( w9 j1 E& i, [! R0 d d
% X. C+ O, R, p$ N: j
% _) I; H; x3 d2 P2 h1 l+ d, }
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
- _9 D' {4 ^& ]; _1 q# A3 p( W
; f1 L& a: G$ `8 G/ i4 ] , M* O3 J) u( l+ ~+ Y! q
: ~ u# f: o) E K4 Z/ F/ P
* J! O7 v: _. |5 f
! {( S8 H, W% T, i% n( G" i8 j
( {: v0 c) ^+ _2 x( X0 @ 8 z+ ^6 S+ {- W9 m
' I# l3 g8 ?# }$ @
1 U4 M1 i% N7 @$ m4 w/ n( u( L
6 ]3 E8 @5 ]* b1 x& m
3 f) _" I, G+ p/ [
, j1 ~9 `- a! t2 R" Q9 ]& ~3 r
# ]1 Q) _6 `, c6 L c 1 I! j2 A% i0 E0 K
5 Y5 ] u8 l+ B" V! q
/ _8 S1 _6 r! e/ v6 M % a3 ]" Y9 i% O# @1 s! }
% L. b, g/ H; X+ }5 O: W
2 ]3 L; K& h& v4 o9 j% G! Y! F8 C: I! Z9 ^8 k
% o$ i/ M, V+ }2 p
破解加密硬盘
3 M' {; f* s% [/ |+ V" P: B
) ~# d2 ~ ^( B$ N9 k8 P- g ! `0 n& ~8 Y/ M; O5 J9 W
- O* m, F X \& L
& l" Y/ X4 o+ ~! [" ?& L 2 G. O) I8 }1 {
+ W# t4 D0 t3 x
3 v/ f$ D1 d. p3 d: D: J 5 H) R) l1 p5 X: i! u+ ?
3 G! W( l& X6 z; J% i$ [& ~4 G- Z
4 O! p: D/ d" K3 o
: V4 @# z R% n* B. p" T # h7 {% ^& S, c# B& `4 @
8 W/ v6 h( x; ^: U, f
9 m7 m. M) t( s) a$ Y" b5 q
9 X Z+ }3 Q2 G8 T6 W
. R* G- o' w s/ E4 H * M8 R, X! \7 d
* E8 w! S5 u% u% V8 v. I
7 S7 H+ O9 \- F8 `: @. q ! |% ?6 |& k; j( t7 M
4 n' w: D7 i$ E5 A
! a; c' k: R0 n2 [( |2 l, W
8 ]3 X5 t! T/ n) v9 P. c% }
* K& u( ?6 S( u
: s! K8 H3 x2 d; M0 o ]4 t8 k) R 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
5 F3 O, u2 t- p9 ^. Y9 J
4 }6 u) n+ Y9 k- j! q* }
! K+ x3 r4 l8 o7 T ) `' W5 L. ?) m" F, Y7 m( C
2 h. V5 a; o% G" h5 q9 `
' \: \+ X' a& o1 a# F: @4 i, R0 |
: c" M' l1 z0 k7 N* {
4 x) C$ O/ m6 U2 r
f' P* a% {! A9 S$ A6 N, d2 I* Y" @0 C
" u/ }2 l9 G3 [" b. G
; R1 i9 P' N) w. i6 t9 s
8 F. K2 |3 z; \, {9 Q0 k% `, Y 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 4 {; f* s+ k- ]6 R8 K" Z+ c
" ]: ?0 W0 C0 N % L5 B( P/ [. n& `
?3 U2 u3 [. X
. Z2 t1 z; V, `, [7 i& ]
S; u# L% z* f1 k
7 P/ c6 y9 S. c: k" O+ I3 V- O ^
, [0 U5 n/ a: z/ r
: I# z$ ~8 D# T6 _# N% x
; X( u% q% M& `. S3 j
! {0 n4 G% R/ g9 D+ H4 O
$ k$ ^. x* B9 y 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 ; L- x, t- K. [3 o. F' z
: p2 b& h8 @8 Q4 W& g6 b
4 q% u/ b) {& j5 K; ~! C/ K
0 { F; S" d& e, L* H
7 |. w6 b0 U! S6 j* L/ r$ U' ~& | Your browser does not support the video tag
5 u1 q$ j$ u) v. t. f
6 O7 m2 v- a/ y9 `
' t* f9 A' F9 c- D2 K9 l' w4 v
5 i* j6 ]$ U4 G3 S5 g, b/ q