- d5 @7 y5 I5 O
3 S/ V# y. r9 e) x8 c " z& F0 N! u5 W! u2 e5 a
$ E+ a8 U+ Q. m3 o2 X
( w2 S& w2 o3 \/ Z8 q 1 m" E' v& w) }4 Q$ V
" i' M7 `* F3 U
- x/ i' N! k* g0 \ o+ [0 C4 s
. e" B( x/ c6 n0 b* C+ o
; X/ X! p2 \! v5 H1 F ? 6 C! A* `7 Q( W: g0 a
7 w- [: P: p- q( h4 Y! C- z2 g 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? * }' \% U7 W4 m a! Y9 O. _9 D: y
; `( d9 c1 R+ d9 X. l9 } 9 x2 a2 ], c' X) d; }
; N5 j4 z* G/ L( o9 Q. [
$ t. X' ?5 d: x d0 q9 S$ H 2 l7 Y) o% u' p# x% U
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 * N7 J2 ?) O! P
+ {9 y3 I: A1 f7 ]1 \: V* w
) y5 G, a7 C* x! ?
3 E* C9 a! H8 w9 I: i
, n1 @5 N& k8 \& _4 y / O! [" C T) }9 g! U; Y
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ! j) S. T1 }# s3 z& E% s
. r# U- ]1 j, R0 y: Y2 y7 z
: B Q2 ^' v/ b; q |6 {# p . j1 ~: j: s0 H
; M3 o8 ], }6 {9 y" l8 [ ( `8 N" `& q6 W
*文末附《破防了》项目技术分享视频 " Z3 ^# m$ u$ P
8 @% y' M G! _; Y
4 i/ d* I- i; t5 p2 k
7 T' h. Q' J2 Z' ]# f ' B- _9 A5 r6 A& W4 E, ]
" E5 }# H1 x: P% b4 x7 i2 ^
2 O/ a* G$ _' ?+ E, L6 J* w
" F" j" u0 s) w* `, Q
' p0 n; E4 p! r. o/ h4 S
$ w6 {# u: Q- S. c" K6 U% T
" g1 {( z$ Q1 s* i, W1 |1 Z
+ } j7 R; _) @+ I1 [! ^" @6 H% w4 `
& ]2 R' x+ [% z( a' n2 ^2 {
& i" y8 O/ d* x1 [6 H( Z$ @ : R- M, c* F) ^5 z8 k
5 H8 ~# B: m8 F ~3 V
) A( Q! f$ E& S& a4 u
! q0 s$ w6 A! T5 z
! n. g+ L5 r- a " D2 \. r& ^; a# G# n8 D/ }. C
; T/ Y- A; J% q% o
日拱一卒 功不唐捐
$ c6 D1 j6 J0 T/ u/ o( y$ R
* Z$ ?3 g8 |7 P& A3 z
- l( T3 B* [7 |, ~: Q9 H! e # ]& Z6 s+ k9 E! N+ y; b
! A5 f3 z1 A0 S# T5 C6 J/ l: o : K$ X7 q6 ^0 t* u, C, B
5 e: E" N4 E. P& V! u% v
" I5 _$ e' W8 D; I" l! e' a # T1 t* H) z! H' u6 c8 z1 G3 J0 k
3 Q6 y3 \* ?( M + V* V9 \4 A6 v2 W
% W" N; X" K V . u8 e) C; W" T$ h0 Y
- m* G' t% i- f" r
$ Z/ ^% J% v2 P7 P0 D
S/ C) W# Z/ {8 R/ g+ G9 _7 Z8 K) }
/ k* v* o/ x5 C" c# B * g$ |7 `0 V( ?/ U9 ]3 r" I
" i8 {. D7 p# Z9 j 8 H) Y$ w& G5 H) G
! f$ ~; E8 D9 q8 a1 h. c2 I
# l- B3 L5 e1 v/ a; S
/ _* s0 }3 B. {' h3 z
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
6 }; M+ L+ t2 j9 s4 C6 @) h2 b
! s1 X0 h3 ^5 m. Z / l! t9 m4 n! H
6 g& q3 g6 N3 \2 q' Z
0 o" X" a) F3 Q 5 ?5 V1 t) t; b! f k- O, M; a
4 `# j6 b6 m7 f w, L! g$ A - N" u8 @6 M9 k& Q- }
Y i# z- ^4 ~5 d. H 日常研究环境
+ y4 _8 g& O0 I
( v; c$ z9 n* \9 p1 y
% S% F7 d2 _3 [5 n ! o; n# b/ F( t; ^9 k
, ?) b/ R" V4 A) u: O
- k* ^8 J( c5 \ { 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 2 C& z7 h" U6 X( O
: \) S5 Y8 F. k0 T3 \5 |4 M9 F/ k 8 |9 a7 n M9 C5 m C. `0 x
% [& d" {" y, N& y
& L1 H7 g8 a: f/ y$ G" F6 P
+ Q7 `1 _; S6 L; L$ t
! k+ W" g/ ]2 z7 K( P5 M
# G4 Z) E6 l- p2 x2 x# a% Y; {- x) f
$ M' [- }# R8 e% k- P9 r( { ( M$ ~, K+ |* e4 W% \3 e
- F& @- H0 Q8 S p) V # z! z% F" a3 F
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 0 F, P# x. n0 e9 Y2 q
+ n' v6 j! l C# x; ]' o* b
, V9 _- U; B* v% X$ d& g, o
+ h# c: o; [* x! s# c+ Q
5 {; ?* {+ l+ z! h% S
, m7 A' P; P* h& T* l, [: `3 i
* A# m% b- q7 V3 J! F8 A, n 2 \8 G1 m! e2 C3 u9 h
% n; m* I* P" ]1 u) b
! n8 O& a+ ~. z( R
0 [ O( r+ q; w9 r1 R! ]
+ f7 n1 u/ Q$ l: z/ `) {- ~ # O8 {) A; M$ G4 ?4 q
5 x# S! F" c# q. S
) r9 @# i6 [( X' H+ A
+ h4 [% H- T$ U. H$ _- \
0 A3 c4 R! s' Z2 E. O: G " {- h# z; T2 ^% |
5 W0 u1 A; y0 k " S# r* h" c4 R2 L- M- z7 Y: ^2 w
2 a3 R5 Q1 x% |: C3 x" _
破解加密硬盘
6 f& `7 z9 ~7 D! K, m( F6 p
- M# e! i: i1 e' ~
7 F# h' m) |6 G y% F 9 v. k" @9 ~% T0 Q
1 L& R1 ?+ Z; e- {
7 h8 u- Y) x! ^ B1 q & R, n% { g1 q/ t7 n- z
" I& ~3 A: u4 p2 E1 U J; G E ^ | 9 S9 U; q' F. v8 } C
! p( `4 x1 K2 T5 l D, W : }1 @& o8 l! m A! q
8 p0 y3 A8 H0 W/ M. Q- N. D! r 2 q# `& @5 ]# j, o4 a" N. h
! D" p* Q1 Q. l* P, j
3 Y$ |) k$ `. [& [2 }6 e
3 v$ T4 R- _- P
- \) W& Y1 B& U
5 ]+ |& [- g+ j* X& u/ I
" C# l% ?' Q, G7 y, J : T6 q/ x- w$ k" {( K4 M9 Z0 a! x
$ s! Q, B7 [6 R! O x5 B z2 m1 Q # a8 K! w) a1 T
# X- T4 e- Y( O. V
/ `- x/ H \4 N7 w- O4 K
2 ?$ M5 }5 {' S. T3 ^
$ M3 G, t: { A; s" ?# m 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 ) C* p+ t$ `" J# P+ k% g+ `6 N
$ z2 l9 i( h+ x) r& y( B1 X / Z5 A5 r+ o4 s7 D
8 ]4 b. X6 o1 ~; B5 b% G: u* P
& b! c; d- P. E9 ^# @8 b" r. a
! r o# h n" C# Z$ l
! t8 V9 f7 K( f7 ?
3 D( b/ z6 B* r% c- [9 v! ?
( D, y- L8 j/ J
J+ a/ A1 I' l6 `" J9 i
* S6 k% c0 f' ]
% M( L% ~- h+ A- I; C. C. p 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 . q: M* a& M8 C# p# E! e3 R. N
% H2 Q* l% D) K& o/ s0 y& y
9 ^" g9 W; y5 h* c/ p5 o ; Q$ }( w4 Z, L$ ?9 f! l$ _5 B7 P& t" f
! q- S# `. Y. e @1 D 8 {2 c8 O: e9 {: f9 w6 G
5 C }4 r9 s5 W1 @1 F
" [% i \5 |) b( \2 W + F& O n4 S' h% M3 l9 d$ v
9 ~& o+ \9 v& @" I
3 z F5 ~: j7 L( K3 }, O
4 H, d: g+ p- E& k 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。 ) U& J h3 V( O0 ^% ]( I# B6 V2 U
' v" N$ e7 }" L, P6 ~+ B# {8 B
& [3 ?$ N& Y- U) q, j5 c! E" ~ ; _, R" O5 w$ y7 }
3 D k6 O& Z& o3 o Your browser does not support the video tag 9 a4 C# A' ~9 q% c4 Y: y
, @5 W: F. Y# T% W+ W. Y
" s# h" G7 `' m* G) H2 _
5 J; X5 p" W9 H, [* n4 c9 z