8 o# u8 F6 D: D* z. ]# v; e: b
2 z6 [- W+ t( E' t) H) G * z( R# V# c7 ?0 C
; a) h0 ]' L! e9 U- t7 S5 b! U0 r
" a% r. X. {( m! M9 U% W9 T
4 l- d" _1 p6 ~9 T 6 v2 E4 D6 q: D z+ K
7 v3 `& x; R+ @; x
* d2 N! x& Q' h1 b/ P$ J' L p- M+ [1 v % f( k$ m' K; S/ u
8 }; V) \+ b* L. i
( V, U1 k5 u0 X$ J$ @0 Y 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? ! R# ^" j% Q8 J0 e C
- n& |! r0 @% |/ b
" {4 \4 ^" Z6 y% @# H 1 Z# a# i/ A: T6 Y% B$ p1 X
9 w( w& k: i& \
+ W. I0 o2 W1 \7 e* o 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
( F! s6 |6 @3 R
8 n# A7 K* y. K: J$ Z, m1 s
' s9 N% H/ y8 v. Z
. Z) Y! l4 H; @9 b& O4 ]; Y
3 h1 j# L6 N6 [# ^* [' M: X- V" C
. t% t3 m* N8 h; A8 R, ]: V4 [2 s 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ) P# a0 y8 T; M# Z2 l5 J# w
( N0 [4 n. b) J
, V- w1 j) a5 |5 b( o C. t" p 5 q# n% T! g* N H H6 k( l
" U# T# M" D" o: h/ i
6 k t" ]* a3 a; f% j# j! A: } *文末附《破防了》项目技术分享视频
! ~: E, A1 y( _: O- m$ Z. |
! j( D N# q. E0 L, I3 n5 u
# t3 Q' z& Y9 W% c# u! v
) K o1 ~9 R/ D4 y6 S- h4 p4 Q 5 F$ ^; J, E2 U
9 \& d$ V2 B( c- t8 t
|5 x7 D& O1 I8 l5 k( p$ x4 x! c
5 Y$ X$ s& y4 q# B* i1 N
! I( T7 W7 H5 ]- J 6 Q: W8 ~4 B) l! ?! i
1 h1 X1 C+ \, E
6 w4 s* H9 R2 P1 y2 u* ~
2 x4 ~3 p; j0 o) i
, _) h! L/ }. L( B3 g
$ {# d' E* w* Z, i( c$ U2 w
: n# } H! I5 Q, A$ d
; j' z. j9 F8 N; z0 T0 y$ Q7 b
4 J" g: D) J: S, |2 r; [: I( y " l, X9 X M$ ~/ Y; Z- V' u0 F$ d
8 d/ y; F0 B9 z0 f9 ^
3 F5 H) @9 g1 S. [# x+ f 日拱一卒 功不唐捐
$ e: W( a4 C# n- s0 [) [
2 H, F B7 |" r+ ~2 ` 1 g1 s! k9 \) X' a' v$ T
+ ~) T8 h( q5 e2 j
' L- C3 x7 E, x5 r6 r; I
! y) v ]" q+ s2 {- H' w / I; ~' k& E3 ]" K# i
( B: \) l$ V" u2 d2 F4 c & r' w8 h: v! O. e
2 `0 K8 ?2 p& ~+ G( f3 h! s
( C4 L: p5 N7 ~: n9 J 6 u3 ]; N% W$ c1 R7 O
! f/ e) e) T8 ]/ x& \ a- _
' ^2 v/ F; o# R7 Z0 K - k: T2 v6 q$ n9 `/ T1 G6 a0 J
, U9 U3 |9 z8 h$ l! M1 H $ D: @& e9 Y3 Y/ A/ p! a8 H) w/ l
0 `! J$ N+ H' I7 w 4 T+ ~) v+ |1 h7 f- B
. @2 {: f. q. b
0 U' q @9 m; O$ m, Y8 [: D0 B
I) ?' m/ [$ d& u! k
& ?9 ?+ A ~8 |& p3 q! R' g 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
5 e. t" A$ |6 P, z6 a; M, f
/ i# X# D' |0 _
' _# Z4 z1 A" q1 h/ U# z; d9 [$ s
/ n4 T; B% |! y4 F
' l- y1 D" N* v4 g+ P, X5 e/ L) L + L( A$ J- c: D4 y0 R& z
% L4 p$ o2 V9 Z+ P6 N+ P
& R+ b( c- m* S : F+ f. Z( e- X+ {' t1 Y
日常研究环境 * S$ i! P0 v4 }
. |) e" w$ }/ c, t/ Y7 q& Z: S. Y' ^; y
+ D, b# g& P: a" ]2 r" k5 ?$ ] 9 e2 m+ U2 D/ p, v, m+ S/ c% N
# ?* F4 H* H7 P: j
2 E: _4 t; X! c, x, m( m. i 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 # x) o+ ^5 U/ S, w" l/ s; F- s2 J1 C
0 [7 n: ^2 h$ w+ k/ [1 L7 M* `" U
; V$ R5 \4 c' Y/ X) l
9 z! V- S% Z1 X+ z: L# w
$ t3 A# R, H9 P# ~! O# v% ^
& [" l' r: q6 A6 |
6 W2 F$ ^ g0 U
% B# ]: X1 L1 j# i$ w; w
1 E S+ k6 M, `: c0 d) `# `2 L: P + |+ _5 C4 W u4 w' C0 K* L
2 [$ A. x$ T0 p% N& {& o" Q% }2 q7 x
* P7 s k' j8 g+ { 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 ( i8 F. T* ?8 A! O' O9 { k9 P
. N- @$ W2 [6 X% p( A: x / C+ M- m( D2 @" X8 m- A& l {
# b H: `8 Z; h1 x7 W: s
" L( h0 j- s. r. L
4 Q8 a; ?9 _( e
, F6 h) W6 T S- w6 V6 v* n 7 \+ d/ h7 N" A1 T1 y4 Z
; W) t/ M9 d3 Q* a4 H! h1 U/ |
3 o- T* F- w5 e5 b) B " ^/ R( f, U( @) h, o+ j
4 g8 b* h- v8 m: G# K3 c8 Z
0 x! z2 X2 k3 c: c5 Y( J- i6 l1 c
- k7 T& m# ?* u' L2 [
2 g6 g0 y6 C m; F0 }$ M$ _
7 T1 }1 c% d4 J- f$ h
0 L8 m u3 }9 P- e6 O8 M2 `
( ~4 J+ S4 m2 g. A; s" }
; p6 R; M4 t3 w; U/ a
+ \( [) ?' X( v; f' ~" y- F9 \ 6 g% A- S$ ^: G0 g$ }. d7 U
破解加密硬盘 # K" i" D( L/ Q! q, f) _
B2 _8 H3 B3 b8 e$ K9 _7 P / b4 b+ K3 k3 r5 M# z
/ X! [. }, F* \+ i, R ' I* l4 ~( x7 E
1 G: N4 k: d( `, e. V$ F
7 F- l7 T- z( |$ Y$ ~: j1 K8 i
% U2 F4 E8 ]) s
# u+ Z7 h s) U) |6 G& u & N2 I1 O6 B: g+ t/ P. F
0 I( M* L* R* @- b ' L" S# U, X, V' g
. @. o0 J1 `; V/ w
+ A3 _' i! j8 g" `
2 @4 c4 k4 _" J+ H! N [7 ] / m2 |3 [3 Z8 _/ ~1 i& L
2 R9 G, C$ b; S6 g0 j
3 W( U, U/ {7 ]( b6 H; M . {0 O7 C( r8 ]5 [
) g% w# p# ^" {2 _7 d6 q/ E- t
! g2 `+ [+ `1 p6 x5 ?1 h/ P3 \ : p) S8 v3 m+ X5 r5 }
7 C2 w+ ]- s) s) Z
3 o& J, F& k3 D4 o* g
n% ^) ?$ f8 i
1 h9 q; a5 {) _' b2 B0 G' r 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
7 ^5 @" q/ ]$ ` W/ F/ S2 x
1 J6 u0 [8 D6 m% l
& [$ b- @; F- r; E. n 8 l1 h; r/ I' U. _" U/ _
* B# M1 W, n7 M( w! ?- u# B* R7 m 0 u! Z" V3 D" Q+ D) ^
' l; O9 E+ S3 {. ]' v
* l& n7 l9 N. s' V
* R+ ]) ~. T7 `) b4 T R9 e3 D6 W ) B5 n2 f$ X9 m5 J
6 ^( s. x- ?5 I$ z, k
8 M% u( H. {) h1 k 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
1 L. ? K7 K8 b' D) A, S6 @! ^! k
8 e3 t v/ F; ]1 Z2 E2 l$ t" r7 `' |* ]
, R7 }" q. x* N' D j& [
7 c+ B \2 H1 ?5 A/ W% X7 p
! Y" U6 V) K% v4 V
6 M& v; B0 W0 b- H* s: @% U
# b4 H; A; k# E2 y; Q$ h
/ t' i) W6 e- B $ c B% |+ L5 @& }
, w8 ^6 x1 r) z7 k) t2 p4 e
' E+ S2 v2 Y! W+ `
5 r S- K4 p, f3 B. S! A) N. v7 A 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
7 t; S( z. Z2 b$ z+ l+ ?8 a
1 C" K9 h+ D* O! f" `8 K ! d$ _4 i k8 A# j: F6 u
3 v! x/ w1 l' }! F1 i2 f
- X! }8 G E) H& E- I4 p Your browser does not support the video tag * E2 M# q. F1 a
. f7 f1 M+ E0 s8 V8 Z t , b" y- ~ Q: ~, p6 }5 f! Q- c' e
K) e, T, c6 r V" F, x