: X) ~7 \5 w# \3 G; w + [1 p/ v) v! e( V/ r$ f
8 r4 A. B% s% e) S
& `0 B3 D" O0 m+ M% i) V+ ? & \9 O9 ?2 Y# \( E, L) Z
4 ~! Q0 `# H6 M5 k * u6 F6 O5 n8 }3 j7 i* E
9 h; H8 [* T1 U* | 7 C; t# X1 r2 B7 v% G
3 ?& L3 r3 k" [) f! M, E
! K- c9 l5 r0 a& f3 t 0 |: E) E5 A) c. y4 I7 t
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
$ C% G' k& M& `) C0 w8 ^
+ h) R+ P/ M3 F$ N! z# ~! J 9 l2 F3 i- F7 k) F; N" T
( I: |3 W. l, `4 ?5 K. f% H' B
' P) d9 o% t K8 v% X
7 U! H7 i/ u. Z. K 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 U' E1 R4 j8 }" ?! m7 s! k
9 ?0 p7 x. a. g0 y( s+ y
* ~. b$ q1 V8 n$ S( q/ o
! C7 i4 f" m9 j" l) l" T- C7 K
# f7 v/ u$ l& P1 C' L
' g9 Z8 C9 C& q( M+ ?& @
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
7 F1 Z& D- p+ F! h: ]
4 a9 B( X/ K8 I; X" T & }! `$ T# \+ B; W; a5 K+ _; ^
& F; f! U( u* ^+ \8 Q# |/ ?: s
0 ` j2 Y9 c: n8 n1 G6 L; q% ] % m1 P0 {. ~; Y' J3 I; S
*文末附《破防了》项目技术分享视频 3 F X" M) y M" a" V& m6 v0 g
8 z _. r2 {% H: J* b5 O- w
( G# e: p0 ]. B2 D1 N g) f' F
- F+ b' n9 H0 y & W, Y9 I3 ~0 Q$ B5 z( a# T, D5 K
" f1 I9 @( [. i% k5 c . I k5 I6 K3 _$ R0 C# H- {
" h' Y4 ^5 ?7 e/ Y8 T+ G' H
+ D% r! t s. `3 C0 t
: J7 p' ?( E7 h* b, }
& l( o' D- k: H
1 o. }" x1 a: [* ^! W1 g
3 E# F0 G u% K: |
* D+ ~4 S7 w: n/ r# p . i6 x. ~! Y& {9 k+ D' C" e' \: L, j
3 ^# }+ @8 E1 ?/ x+ }
1 L9 W$ c: F8 v" {4 o, s8 ^
# K! F* f+ X. w* H/ b9 N! i3 Q; t 3 A3 L J4 G, A9 O' s
, e" J- j3 ?+ c c3 o
- ~3 o7 g5 T! N- \) y 日拱一卒 功不唐捐 : Q2 N& X' {4 j6 w
* ] }; I) I: }" ? |4 Q4 u
, _2 q5 @4 x& H4 E2 _( x+ Y! |
, I: Z2 U* I( P4 P& f ; p% ?' v7 w8 {3 P' x3 c. S
1 q3 }( K1 T/ n/ A# K! t
$ c1 M! u& D( v, M: x9 T " [+ C" |' e# A+ p9 F! T5 F* w) U
6 D$ L; Y6 Z: k9 o
7 w7 u" c" C' ~& W s% B; A
# e* `. w/ U, B) w' c2 W) a: e , v% w$ u5 v, `
) z8 }9 {5 _8 n7 t9 h
' g r4 i, ?& Z( _" L4 j* | 0 d w) Z$ \% D
6 A) x6 \ `, K5 c' w0 \2 d& S
, `) R4 ~' y) p( T1 C. b8 ^
- @7 c5 h O1 U ?) A7 }0 @- I
3 x1 T7 u6 N r
/ v( G* m, E* q& \
A {8 F1 w4 v3 H5 C0 _
( i) W7 b/ K# j * y4 S8 z2 n& [; q. }
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 1 O$ w1 [+ V' Y/ U
7 W- y' e3 |6 `. u% q6 N. ]
& `; J# L+ t7 @- l8 R' W2 u
' T/ E: R2 a" N2 X. P
) i# A& S: V5 m! ? { ]6 f
: c7 t- a" m* ]! J" d* p* h
' }& W* }1 J8 R# ^- L: r/ s
6 c9 [ y+ x5 O/ v' K; E
$ m! C7 Z! e' n: ?$ J. M" |. ?- } 日常研究环境 2 Q5 K3 M& f7 t1 W' y5 `, _
( B3 j0 p. @# A3 b# ^+ \
* z" E. Y9 f: ~+ F) S+ t- f
/ z9 c9 d: l" e" _
; w3 d: q7 Y# q. ?5 P+ y! {
0 _7 r& O0 k$ H* w# _7 O$ w8 i0 G 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 # b1 U& ]6 f: s
# O" y+ U7 |# q9 @ $ H* T/ g3 E( L. s" _
7 M" S- k* k" E5 `3 b' l& p, M
5 Y4 b/ R+ E3 I
2 w4 H9 E5 Z) F
* j4 T9 T' M ^2 Q( f# j/ Q4 }
) x" q$ ?) K S2 r4 E
# l2 J1 l9 S: |4 z7 U1 E3 ?4 Z
?# R/ o' h. g/ c& c$ t
2 b ^ X" v. e) J% j6 W1 K
' }) Q7 K# A1 `4 w r7 l' t 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 9 ]7 W. x( J/ s5 J; z
! d) R+ D* J: @9 C6 k# L* g' t, Q
. t2 C: I( S% N: T 5 J+ o5 ~6 h# K$ _
( D9 d# i! l4 t! }2 B) e2 Z
6 V4 }, k3 _; B
. g; N4 C, V3 q9 Z& `- J
+ @5 L' ^1 R& b; }4 Q
: C. W8 o; a, s) M
" C& z6 r+ Y" H3 E7 g ; M# _& o1 t2 L, w$ T9 }) U2 b4 d& I
. }) K- P l; E$ y: G / a! h. {- L0 @ |( q
, g" E) v4 z, L% E: S- Y% W
/ Y) R' [& _, ~8 u0 }
- o9 ^5 B9 h3 \' q6 n% k3 [/ I
/ z5 Q3 |! ]( e8 Z" s2 v
0 j s8 E; w8 o1 P" @ 4 A" i8 I- N/ I* p" d
1 L8 n, }6 s f! j& D, w
, t9 ]* {1 {+ v9 F+ |7 i 破解加密硬盘 8 S5 H" {1 v5 w* \1 D
+ Z+ b6 R& y* B: N0 v1 @2 O6 w
& _& ?' I% i6 e# d4 z 8 ]+ F {2 K6 m1 O: V7 b
& {+ A' v1 Q, W! S3 [( g+ g
7 g5 H4 }. }9 f8 F . F" T* O! V. A! L
4 {# ~+ \# J/ D- k7 K
" s9 S: g7 j6 h( e
' U$ w" l! [# Z5 G$ Q- V
* ~5 ?; b8 |# o* W/ d* X2 ]7 ~
' g, X) I! T) M; D : z1 y |3 c4 Q5 [9 V* P3 s0 D% Z
* T0 }4 S" e4 v* {# n+ ^1 a
8 n* ~6 C \, |4 u) G* Q ; Y" t4 W% \1 \( Q
0 ], v1 x% L: D2 w: p
5 ? r# e) d! b! d: ?' E* ~ ; S( @1 s. L- g) _
f8 [& K% {/ Z" |
, L2 b4 a# E2 a# Q' e! Q) [, @ M- B" R+ b; A5 h5 S, ]8 |- ]( `) @
; y! ?$ y( G0 z" d, l- Y- J. s
0 c7 e' A/ Z" F3 D
0 i6 z u/ N$ a6 \/ z2 x / r; Q4 Z+ G6 `! F) Z3 j
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
; s0 R2 u; [0 [8 W# j. Z8 i" C- I0 z: x. g
{2 P* y+ R% X# o5 N; S* E
1 j) d, L) Z5 u0 w/ u' V" D6 v
$ f. Q) n9 F( J, b; V, R# u' d% N
! O. _4 T0 j: H. Z4 L7 b7 _ ! d" h. w! G) x$ m
z' N* Y- x4 O1 j7 u
3 G$ h0 T( M; y1 k/ H( J: a . U' b5 |: ] T+ y, i' Y
* W( A/ H; e& A6 c" ]
! D# l: s2 j q
( c: }9 m5 V5 D N3 @3 h 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 * Z9 `- s$ Y, ]- R
( N& A. g* w. u/ O8 f: G2 N8 ? : r. L0 ] T& x; q) c: X
( s5 m% V) H6 x1 s( c8 h" y
* m' X! C0 D7 K4 p; p
# `" Z7 M* J5 t+ }3 ^; l
1 z* ?2 y# e( f) y& p7 j
3 }3 j" J7 a7 r, C2 z3 l
: }: ]2 x! i- D8 m7 g
, _) D4 N3 o- c$ Y# ^
% Y. `; b# l# Y k- q ' ]" f. G# G3 Q+ W
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 3 C; p% M, r" J" Q' N; |3 }0 C
3 O" H* m0 R2 N& A6 r( n! Q# k . z c! w# z3 _0 R( U
( ?9 n `* J( b9 ?, O' l% Z
! O( X4 e) n0 u. d! {% y0 R6 B
Your browser does not support the video tag - I* X2 V7 Y0 ?5 n9 x' b; `4 z7 l
8 \. A! L5 D3 K: J% F - J c- c3 U- q! [
^3 w, [" y4 W' Y* w; Y3 V% f8 @