' C7 m; O( ~7 ~5 i# X5 A# r- f9 d
9 L/ i% L Z9 N6 s6 P5 [ ) o& }$ d, v. Z _0 N
4 K4 J+ s4 d# h: e0 A
9 G) Q' {8 P: T$ ^9 g) d1 ` 0 ?0 h- ]# U; I" p: L: @
& z3 w; d+ ~6 J4 @1 Z
! [/ F& z+ I& r9 f) {
3 L' D& A/ s4 d. `* G
. q( I& ~$ X8 U; L) @, M% I8 v
, F0 d8 q' x& p8 [. S% c$ v ' k2 D9 @5 ^2 F' \; Y T9 Z9 @
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?" \4 c6 y1 w# x, S8 t$ B8 R
! }8 S0 @; k6 J4 x2 Q+ I; r8 p
/ N/ ]7 y; u& w
4 x) J- j" A+ O3 c4 j
- V( S% R+ |5 q1 H
: Y( R1 x' e& ]& l 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 3 b! o0 o: ~) U* c# a+ R2 Q" v. F9 Y# ~
C7 o% {) O; f! Z/ c
1 \: x( q& V4 ?8 g0 Y! h
4 Z' l$ M6 r5 M8 `0 d5 a' k
6 B/ f9 b5 @. R. ]' b : i0 h& X4 B" x* m2 L
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。& r W8 {7 h* z3 [9 U8 w
: e" j7 a. ?/ a( J8 B% @4 h
% S8 G4 ^% w% B; `5 t4 l; h
3 h3 W" W2 K3 p% ^# z, p4 i. X8 o
+ F8 D- J* `0 p/ v
( ? D- f7 [% G! Y0 b *文末附《破防了》项目技术分享视频! o* _1 ^9 B6 O+ I4 J4 |0 V* T
& r- @3 U Q7 \% W! J5 M0 a
( f. e( y1 c" N7 k3 z+ _9 P ) r) V' i6 |% p1 N( Z
# b- j& R& P4 c6 J) U. ` ' {6 L3 n: i$ b* }* u+ n; V8 v c
- Y7 y6 g% ?( z" s: u k
0 V4 t4 h; f- L F$ J t; r N9 ~) k+ c
1 Q& c5 l. P2 n
+ N8 G6 Y5 A a# u2 B
- d8 J% Z$ f, T, E, y3 T
/ {% l3 w G. S
( g4 A8 {5 z' h! ~. n1 \
' W) [1 n& t' G 0 Y7 L: Z( z1 X2 Y- Y
2 h& Z+ q! F' m. x2 @" q: V
5 [, @% H( S0 S- Z1 ~4 \7 I q' a. [3 h- ~ N( n# Z; n7 k& J
6 O7 y6 ?: h. m8 ^# j3 \
8 W5 {4 t `" ~+ G
日拱一卒 功不唐捐7 O1 Q& f& S9 I8 G2 v/ c
- s, t9 j+ ^( e0 r
: w3 t. O4 W9 Z4 F, a
# P& C& X! g, C
: S1 F. a$ O% u; q3 E/ e: ~" Z
7 @- e6 s( d& ` c& y6 n
" t3 X8 j& p) ], U
3 U a3 r) V+ s2 G ) @ K6 ?3 D# q
- K! ~3 n! [: m# X( k5 C# ?- t ( _4 \, \- N' ~: b. D. Q1 h1 h& C
9 N( Q! _7 ^; q+ x4 S" D& T
* P7 N H Y G* I& {+ |' z: K- E 5 P8 d) Y& h$ x7 T/ G/ D
0 g! a" K- A4 t' o
- c2 X, I. B! t
7 A% ]% E- p: P( M6 _$ x5 u
* D$ }( h! U* l1 K6 P) w! p 7 s3 r9 @% s) x0 Q/ F% h
+ j0 t4 A& {6 C6 Z0 v7 A: K , X4 ?$ e: h+ I/ k2 N1 `* M
7 ~5 Q0 A' R# ?$ P
2 E) r4 K; I; O5 u6 V 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
- q, i6 H- Y2 R4 w4 R8 { # F0 G3 `& p) O7 @' X; @
' e* R, q/ B- H; m9 \ + S* }6 ^* s" V" o3 |/ r- g
/ B- U# J6 ]: t2 |# u- h
; F1 E" d* y5 q# Z, W
4 C$ e/ d5 E* T; u [
+ z# o& u/ f. c5 @* [. M) K6 d
% L$ Q9 F" ?: ^6 K7 ?, g8 O- A 日常研究环境, i/ ]. z+ M) k9 _" Y- a6 J! w
. S/ k- j0 @; p% S$ ` 7 k* Y6 o0 S; E
8 t1 V$ F+ a. ~. q; P
! E0 ^9 Q5 F9 H2 T2 [! N7 {. N
+ E+ b& ] j+ }3 n/ R, U5 ` 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。) f2 q3 y; e( P8 a; d: C
1 I: w; r7 g' i
1 t/ M: G: R |9 R5 z
; l( M) r; q/ p9 a" E" X5 y- o8 t8 I8 B1 E
. I8 b$ P9 D$ |0 r+ r; l# q: h/ x; z
2 x6 B P4 ]8 @, K) L
], `4 p4 H/ e+ l2 @
- f3 ?1 B% `, h/ ?! ~ J
: L" W+ d& Y& K- C j" u8 L: t& i ) ^# R( Q/ e8 D/ H
9 T" L" T+ J; J" x. @, p
w- L5 u1 w" z. O
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 7 f6 [6 M5 K, T( y/ O
4 H. H: ~# j' J( W : E1 L7 d3 |9 C& Y
7 P1 N2 G$ a' ~3 d/ }* q% j 7 ]- @/ H% y8 ?8 T) ^
% d; J8 N& M, F' B8 Z9 W 9 d( w/ ~2 x+ a/ w% J1 \! h
% X# _8 H6 ?5 H: W
" X2 L$ D! x' l8 R$ T: W8 Z- }
: Y- k% f" t3 K& Z' r7 ^, Z + A5 y1 G6 Q, F W
( ]; G6 L* s+ \6 i8 @) v/ K
- q/ d* F) u, }: X# Z$ c 3 d4 A5 o! h( _! v; F
& _5 K& H9 {6 |6 |" g6 S
; u6 D1 q' `0 S. h' t9 K4 a) ?" l( K1 L
6 ]! a: c, x, `! ^5 E
0 _; `' U' k/ f7 x) _0 I5 `/ w ' z+ z1 T c! U0 Z& p
' q! m5 t7 {9 x4 {& n2 J
6 _4 B0 h9 x% X 破解加密硬盘
, E, b) u3 H* | , t: E/ @7 d* V! o! b1 z, K
7 I4 T$ F+ J4 W. O
% o" i* X$ s: D* ~ ' ~- \6 Q9 N6 h8 ~4 S5 \
. l9 `& V6 [- [5 R+ S% c* j ~
' ?+ R' q* L# X Z9 p1 r+ G4 k# G7 g
: o% q/ O& z8 w( m8 n1 _ & o: v( E$ A# Z0 _: N; W* Q
" ~7 R4 k/ s2 t; \# e
! M7 x% \' V% A9 z t" v+ X
6 {$ S0 v M% k ) J7 x9 P8 i9 n6 `) p0 ?5 D
$ P/ O0 c' _4 n( g3 L1 ]2 X
/ I7 _# F% M: R+ S, d6 o6 }
2 K3 T2 t7 B: f
; h! K) d# X& y4 `& B
4 S# [6 K5 `9 u3 @ & v. f1 M& T9 b
5 s U, g( b( ~( K0 z0 Z3 |# \
3 T6 N M8 U9 y
w8 i `/ z1 L3 H % y1 I! ~3 y- v* v$ ~: P
# d n+ [4 V/ |: I
) F7 v2 E: T2 _; k
/ T. G5 b' v% t {- W1 [
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
9 T* {% B& e6 C- |( [: R
4 Q- q/ v# S: f; p; |& k" u3 ] ; ~: _2 o9 l6 [; D {8 v- r
4 R" t+ F! Q' e
5 \7 p9 e' A% a( Z2 d5 k
3 N! i5 u6 v% O/ ^, ?/ F, [4 I$ }
2 S; \7 e5 K* l- j
4 R- O" V# _$ X8 K0 ~
8 b& _# w$ [2 O1 k# T8 H8 D K 5 J& N0 n+ S0 C7 A& R
- E0 e! d) T% D' G1 F# k
6 S7 M5 H, _% v; c" L 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
8 ? s+ m- X" V9 d$ E4 C $ D6 ]4 ?* e! E/ _ ]# r! R& k
) c& O8 N6 d X# S5 | Z1 ~! }0 k z
* p$ z8 y' V0 U , V2 C6 [9 b% ^' M6 |" M. ~
: { Q6 ~9 w0 C. v8 v
5 c$ o* }5 s: i& C/ T) G) p4 q: n 2 \# F* Z/ k$ \0 k; d5 k& Y
7 {3 E4 |) C6 h# u5 V+ j 9 n# J p( a+ V. Z- Q& J* r/ g+ a
. o0 n! J" `$ d/ ]& W7 h6 Y
$ M; V" R9 U9 _0 x 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。6 n ?( O( z$ P. n; F% K
$ m* B+ S7 o5 `/ D6 W6 [
' ?8 D. o" u9 s, a( H 0 w! O& ?. v3 K1 V9 M" \$ E
* L) \$ X P* t. V: w) y) V! x
1 D, p) V' \& v' z/ C
9 I1 B( `9 Y! ~4 L, H: U$ Z1 W2 b
9 I' X$ V5 k9 W1 i9 s
% y1 T2 L& q! V% ?# O9 ~5 c |