; ~9 b; W% a. H' O$ W3 _
7 }& g! P3 n2 {, C- p
" P0 m- ~6 r/ T2 b + n& o& Q9 g8 ?# m& o
4 Q( K4 E$ q0 U- E; F" b% D% v
, D, a7 a, I( [ _6 F3 D
8 W* a/ o1 s t- H; r7 Q1 O
6 V. J* z1 Y/ }: A0 r: U8 B 7 i! m0 e1 u0 u8 @8 W! F* L
" {* P3 x! _0 W* T H: D( ]. M* E2 |8 Y" ?' V
! R& w9 A6 H8 b& p! W9 d 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
1 w5 t- S1 u* g
1 B, r3 U/ Y; h* f & |' _3 M" ?! a
2 x' M; ]6 U: w6 f
" c, r9 y. t* G4 m+ E! U8 P8 P
1 P/ W* i6 ^5 c& s# d" h9 w" u 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 7 }' Z2 i( c* N" p0 S1 |
! p/ L% u9 c3 K# ]: t " M4 @/ |: R4 k9 C3 C& R
# {! t1 J! y0 [. L' {: B6 `$ P
8 o8 T* o( Q$ j' N
' F2 t I* ~) [ 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
4 p4 v! O3 p6 e8 G% x% ?/ L) f* h% K
# A) F) c3 X8 E9 Z$ J' l' g5 @
0 d, j! Y: F- a8 Y, X ! E6 y, { S# x+ S: @
( k7 T/ C0 ^. g9 Z
( B: f% R" W3 ` *文末附《破防了》项目技术分享视频
* j* j+ G; A' X P
2 D' D2 ?. _" t$ ?6 q. V" A + ~% I$ `4 D2 a" t" w7 @! n2 u
. L3 X6 K, l+ G
' c: n0 E- S: I# d: ^7 Q 5 v% t& M$ j% X
: O3 v/ T. \1 t* m* a" }( i
2 Z0 Y$ @8 U( m4 |7 e 9 ?: o- Z }$ e) F2 n/ @# h
4 f/ H3 `3 k; \+ @ 6 O% b* o" n- `+ v. ^
( ^* [; E1 S! P1 A
# j0 k% h- E1 Z
, ^0 @- z0 f- e( Z$ n7 z/ ^& `
! K5 d* S* E! L* G4 r' b
- s) u2 r% G3 B& F$ k
* i( {" x( ~& p, M0 y . u" D# q+ E z7 V8 G, D0 E* I4 ~* x
7 v9 e" l# \! a2 z- Y: |* q
+ Z/ @1 k" v. Z. [5 U2 Y. |- F + d. ?$ Y8 D$ O( e. I
日拱一卒 功不唐捐
5 [0 Q, N$ Q1 t7 K* n* J- H
! X: a! @. c4 o
6 {7 g( A8 L( A6 N 4 B e/ D2 a( p+ v
+ p/ r0 `$ U- q) n7 p# j7 z
, \" `( h4 S9 o8 @ 9 b0 ?' X3 H. K
4 k1 y& l Q# C5 f; X ! l0 j* S& G; u: u, i7 N
! g; s! G. ?9 Y7 ^: I
* ?0 B$ J" r6 [: \: i9 L
- O0 H+ ^1 n2 K+ K' d2 x' P% e! x
( w% h! v9 l( _7 c
( M( ^5 p8 x, p# c3 I; B
8 Q) i) M% \+ t1 l
& `" g( @( z8 a t1 }6 c2 f/ p2 C : |8 m& b" E0 o+ y
! n* i0 u+ x4 B; K1 g" N3 t
, X$ N, R: M1 k1 E& }& N2 q; [ " i# Y, Y* b V) }* W. t! ?
L2 t n( k. w! l4 t
) Q8 Z4 `" D J / s4 }" C; w2 Y0 f s
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 2 s2 O( T1 S4 q
$ m; R8 h w9 v! b9 E# N& L
2 W4 E; Q2 a2 B' q& n2 b7 y ! S) t6 x; T" E3 x7 }7 I
' K" {% `4 G4 Z
0 v- [; V5 V6 n! g& r5 F; W$ S
# w( N7 f" W4 ^% t' w, e3 k% \
/ ?6 _, V" h& _# P$ b
- @8 Y) e! C- c9 m 日常研究环境 $ {4 i& _ H6 L5 k# w% S' \
) e8 \/ n9 K; a: v( ~1 X, e
% d n' o1 r/ x$ a3 e/ P# f0 Z
5 i4 u1 f& Q O' `9 q$ i8 L
% I6 I* E2 l. n! P% F+ w0 Z( U
1 }+ ?- U5 j+ _ B 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
- `6 c! b5 U2 D- N' w( u+ I
! ~& @4 T, z4 ]% Z3 `7 Y
: o5 C( X O# U" A: m* C
2 ~! Z, a7 h8 n: @! m6 \
- A, K" X$ u3 J- |7 @
* T r& o Y+ b. }
, @( @* n' x/ U! E$ }
$ o2 x* Q: \) @! C5 f1 C ; d" r( f% `7 h0 y
7 z0 Z% {" }$ |
9 b9 {3 w9 B+ `
5 b m. ^3 U1 p7 g7 V6 t% g 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
L! U Y% N: t+ b/ q- G6 e( r
5 e7 W, c( r' A+ e; H5 R2 U - Z( T% K# j- Y' }$ J/ j
8 |5 ]$ c) x1 j. J: u5 y6 J0 J k
! \# c3 R; l& s! d5 D" H
c( f5 V+ Y) E+ y% q/ m
4 H# M, Z' ]4 U$ I" W. u% E1 K
+ y1 w9 K3 p: U* ^/ W5 a' q( A+ J
+ L6 C$ k* @' b9 {$ w
) W) p1 [/ s. H6 i6 A# K 3 L2 u# ` f2 i/ e/ v
. K- p2 b8 d) W4 _7 j" t
* u6 Y4 j% W) \0 }+ s! s8 ~
. u$ d1 @; g2 v U3 q 8 E( q5 u: w" [
/ F2 E6 H; s! ^# w5 R. D0 W
7 e5 S. m: O" X f4 |. \, p6 B # G1 e! B7 j$ ~/ r
$ `( s( x( }2 s0 ]6 y" M
5 A" }) z0 U6 e E0 P
1 w, b) o: Q( G 破解加密硬盘
, P4 v0 c/ s" Q$ b4 n( e7 [" m
+ x! `# [ }& S3 { 2 o3 q [ G4 ]8 |: h0 L$ V" A
' |: ]" f) |. V" B9 W
0 I4 l# @1 v: W r0 L 0 m# p2 q, {1 g1 Z6 b, W
- x) I- l; M, u3 u5 ] ' d& G+ e( M) Y9 z8 P' m, F0 n6 L3 m
3 N [' x' S8 D8 R$ {4 t2 K1 Y
- O9 M% |: o! ?0 n" K' E" E3 w
/ D+ J$ |; H N, S, }
! @5 R* a, p* d, G4 r: ~
' w2 p I, B2 M* X) c" _: W" e) I $ s2 P* ~) \8 u$ y5 O1 E8 @
; N1 e" e0 n3 t& f2 \ K 9 _2 j8 Y: _, @- t, M( I/ S$ k% J
$ K1 G& u, M5 [' C' T( ^) G; K
1 C0 f$ {% K# A% i
0 b; _8 y* c. a, k4 n% P$ ^
& v, L1 s' g: t; s! ] - W! t2 b% V4 i1 Z1 `6 z
E% {) k& b! E% l$ l* F
5 y+ l! w" u" O) S
; c" f' |' U! x+ h
3 S8 M4 E% q8 t . K) L5 j. N: S% F$ n& N9 s
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
: g; g) D: J$ J, C! s: S# i4 y/ A
( r- \; C; D1 Y) d& \; F- g0 k
: u2 @8 q, z T5 v1 Y & w0 t7 o9 w7 F5 u
* s( A! I" r% g8 [ Y, _ ; d3 F: d) \7 o' ~8 c5 T6 O+ }
5 _8 y5 m/ F" G
$ L5 j+ j5 [) A3 Y$ k! w# X 7 Y8 U7 S5 [" p5 @9 I
! w$ Q* U1 e# G, l1 ^6 q
) g2 |0 f5 q: O# j, O
1 x2 \2 {! o( j( n" W 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 * s8 r1 H5 a3 l" ^" |0 u) m4 b( v
) a5 D R8 p# r, u0 V% g
5 H0 w: {9 x+ Z/ E: H+ d+ {: @ 5 l( ?3 e' G! |! V3 K' `* l4 `
; n! N1 u' c/ y/ G9 {6 Q
6 ?1 l$ E! i' r& a/ j* e
- B9 T" F& m6 o9 W0 |/ ^
9 i/ t" k2 u: u* A s 1 f& @8 t2 X; M; L5 p" j
& r. M5 b' d3 d" C$ E
! u/ g. a3 O* u1 }
7 G2 b2 Q+ ?4 m" [5 w# y
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 0 v1 f9 F: r# @; c3 u
' T {# U6 m. x b
) J' X" O6 k5 w4 F* \
2 R, Z3 i! Y0 B
# w- @ |( l; I Your browser does not support the video tag 1 @1 g/ @1 L2 G( V
" E6 S! [5 r8 E
3 Q8 p- N" [8 K$ Y( I- i# W2 `: j
2 c( K P" `# a