H H Ệ Ệ QU QU Ả Ả N TR N TR Ị Ị CƠ S CƠ S Ở Ở D D Ữ Ữ LI LI Ệ Ệ U U ThS. TRẦN NGÂN BÌNH ThS. ĐẶNG QUỐC VIỆT TS. NGUYỄN THÁI NGHE 2012 TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TT Chương Chương 1. 1. AN TO AN TO À À N D N D Ữ Ữ LI LI Ệ Ệ U U 7. 3 N N ộ ộ i Dung i Dung An toàn trong CSDL Các nguy c ơ đố i v ớ i s ự an toàn trong CSDL Các bi ệ n pháp b ả o v ệ b ằ ng máy tính Phân tích r ủ i ro B ả o v ệ d ữ li ệ u và các lu ậ t riêng t ư 7. 4 An to An to à à n trong CSDL n trong CSDL An toàn trong CSDL là s ự b ả o v ệ CSDL kh ỏ i nh ữ ng đ e d ọ a có ch ủ ý hay vô tình thông qua các bi ệ n pháp có s ử d ụ ng máy tính ho ặ c không có s ử d ụ ng máy tính Vi ệ c xem xét an toàn không ch ỉ áp d ụ ng cho d ữ li ệ u trong CSDL, mà còn bao g ồ m c ả ph ầ n c ứ ng, ph ầ n m ề m và con ng ườ i. Chúng ta xem xét an toàn CSDL trong các tình hu ố ng sau: Bị đánh cắp hay gian lận Mất đi tính bảo mật Mất tính riêng tư Mất tính toàn vẹn Mất tính sẵn sàng 7. 5 Nguy cơ Nguy cơ Nguy c ơ là nh ữ ng tình hu ố ng hay s ự ki ệ n, có th ể là c ố ý hay vô tình, s ẽ ả nh h ưở ng b ấ t l ợ i đế n m ộ t h ệ th ố ng và vì v ậ y ả nh h ưở ng đế n c ả t ổ ch ứ c. Nguy c ơ có th ể là: Hữu hình như mất mát về phần cứng, phần mềm, dữ liệu. Vô hình như sự tín nhiệm của khách hàng. M ỗ i nguy c ơ ph ả i đượ c xem nh ư m ộ t s ự vi ph ạ m an ninh có th ể x ả y ra. T ổ ch ứ c ph ả i nh ậ n đị nh đượ c t ấ t c ả các nguy c ơ ti ề m ẩ n, hay ít ra là các nguy c ơ quan tr ọ ng, để t ừ đ ó đư a ra các k ế ho ạ ch phòng tránh c ũ ng nh ư bi ệ n pháp đố i phó phù h ợ p (c ầ n l ư u ý chi phí th ự c hi ệ n, m ứ c độ c ả n tr ở đ /v ng ườ i dùng). 7. 6 C C á á c bi c bi ệ ệ n ph n ph á á p b p b ả ả o v o v ệ ệ b b ằ ằ ng m ng m á á y t y t í í nh nh C ấ p quy ề n (authorization) Khung nhìn (Views) Sao l ư u và ph ụ c h ồ i (Backup and restore) Toàn v ẹ n d ữ li ệ u (Integrity) M ậ t hóa (Encryption) Các th ủ t ụ c đ i kèm. 7. 7 C C ấ ấ p quy p quy ề ề n n C ấ p quy ề n (authorization): Là s ự gán quy ề n cho m ộ t ng ườ i dùng hay ch ươ ng trình để có th ể truy c ậ p vào m ộ t h ệ th ố ng hay m ộ t đố i t ượ ng c ủ a h ệ th ố ng. Ch ứ ng th ự c ng ườ i dùng (authentication): Là c ơ ch ế để xác đị nh m ộ t ng ườ i dùng là ai. C ơ ch ế ch ứ ng th ự c ng ườ i dùng ph ổ bi ế n nh ấ t là s ử d ụ ng đị nh danh ng ườ i dùng cùng v ớ i m ậ t kh ẩ u, m ặ c dù cách này không th ể đả m báo m ộ t cách hoàn toàn. M ộ t s ố HQTCSDL s ử d ụ ng các đị nh danh ng ườ i dùng riêng, m ộ t s ố s ử d ụ ng các đị nh danh ng ườ i dùng c ủ a h ệ đ i ề u hành bên d ướ i. 7. 8 Ch Ch ủ ủ s s ở ở h h ữ ữ u v u v à à quy quy ề ề n n Chủ sở hữu (ownership) của một đối tượng trong CSDL là người đã tạo ra đối tượng đó. Các đối tượng có sẵn trong HQTCSDL sẽ thuộc về bản thân HQTCSDL mà đại diện là nhà quản trị CSDL (DBA). Chủ sở hữu có mọi quyền hạn (privileges) trên đối tượng của mình và có thể gán quyền trên đối tượng đó cho người khác. HQTCSDL ghi nhận tất cả các quyền đã gán cho người dùng nào và gán bởi ai; để có thể duy trì đúng đắn tập quyền trên người dùng khi quyền được gỡ bỏ. Các HQTCSDL có thể hỗ trợ nhiều mức cấp quyền khác nhau (mức người dùng hoặc nhóm người dùng). Định danh người dùng thường có độ ưu tiên cao hơn định danh nhóm. 7. 9 Ma Tr Ma Tr ậ ậ n Đi n Đi ề ề u Khi u Khi ể ể n Truy C n Truy C ậ ậ p p Để cài đặt việc điều khiển truy cập, các HQTCSDL sử dụng các ma trận điều khiển truy cập. Mỗi loại quyền sẽ được gắn với một giá trị nhị phân: READ UPDATE INSERT DELETE ALL 0001 0010 0100 1000 1111 Quyền của định danh trên 1 đối tượng sẽ là tổng các giá trị nhị phân của các quyền mà định danh đó có. Quyền của tất cả các định danh trên một đối tượng của CSDL sẽ được thể hiện trên ma trận điều khiển truy cập (access control matrix), như hình sau: UserID MaHg Loai Gia MaNV SoDong ToiDa SG37 0101 1010 0110 0000 100 QLBanHg 1111 1111 ! ! ( )*+ ,-( &' / , 1' 23 " "# $ % " &' "# 67 "# ': ;< 67 = >' 2? @5 67 A 2BC $ % " , DE "# $ % " , ': ;< ) % $ >' 2? @5 67 A 2BC D "# $ % " , F# 3)( G3 ' +42 ).' "# DE , ': ;< ) % $ >' 2? @5 67 A 2BC H2BI A 2? J) ' ; DE "# $ % "K8 "# $ % " &' + ;?0 ) )L' ,M ) ,N) ?O) ;#I ; + ,)* P A ( 6I# )*%( Q% 2= @R( 23 Q% 2= ( 2B# 2B/)( )# C ( = , = 23 S = "# T)*2 #+ U 'V +?N ;#I H2BI A 2? J) 2W2 ; "# $ % "K8 A ?N A ,M 6X 2? ).' D 2? D Y 67 2I= @5 67 A 2? D ?0 G) , R 4) G# ) ,N) A ?N , A ?N P ]' ^ , ).' ;*_ 67 _ A 2? ) )L' ,M ?N 6X ).' A [ \?N 2B= Y "# 2BC H2BI A 2? "# 67 K8 67 J) 2W2 ;Z \ "# [#I 6X )* + ;?0 ) )L' )*+ ]' / +42 ,)V 6I 67 2I= @5 67 A 2BC ? #' ?N 6X ).' Y 67 2I= 2` aI + ;?0 H 0) @5 67 A 2BC K &' 2/) "# $ % " ) ,N) ] S ) ;?Q b ;/) "# A 2BC ( U) >' H #' J) ' ; 67 2I= @5 67 A 2BC K '4 67 = >' 2? @5 67 A 2BC F 6- , ?N # )* 6P 6# + ?O) &' c2 2? @5 67 A $ % "_ >' 2? ?# &' c2 2BC aI ' L 2)c% )* &': ;< ) % $ >' D E "# d ' c S $ = 67 = >' 2? @5 67 A 2BC F 6S = =% 6= &' ).' Y 67 2I= @5 67 A 2BC 2/) A 2? _ _ ).' 67 % > @5 % 2B7 '4 Si+ aI *2 ?N H #' $ % "K , ;- Si+ aI Y 67 B' 67 2I= @5 67 A 2BC ( % > ;W% g2( % > S :I ?0 2$ aI # ;?0 ! # ;?0 ( G: ;?0 , c J) 2W2 ; + ;?0 ) )L' ! _ e A 2? _ D_ = A 2BC R ;f% + 2) ;?0 ) )L' R ?Q 2W ( % ?0 % =% ?N 6X "# ;?0 ) )L' ,M +N)_ = 'e , aI ?N 6X R ?Q ;f% aI )= =2 @5 67 "# = 2Y ( 2 '4 G: ;?0 h _ _ G# ! ! "# $ % " % - 1% 2BI = A ! ! ! = ?Q &' 2BI @5 &' "# % - )= B)V Ig G: )= # += A 2BC ,N) ?O) U j+ &' G# ( ' V A 2? L )* ).' Y aI + !_ T)* ).' Y )= Q% e ( # 2I= S ) ;?Q )* 2` aI Q% e , = ).' S)* R I: 'f S< Sc2 2BI Q% e _ B?O Q% 2BI Q% e = GV R I: 'f S A ).' Y )= 2BI ' &'= 2BC )* ( " >' 2? , >' @5 67 U L ?0 :I G3 ' Q% e L G:I :+ &' ;Q) I ?O) ;#I aI &' _ ! 67 ;?0 ;?0 " # _ ) ,N) 67 2I= @5 67 A 2BC ?Q ;f% aI = A 2BC "# = 2Y ( % 2B7 '4 B' ?0 ) )L' ! _ e = &' 2/) ! E "# $ % " , ).' Y + ;?0 ) )L' ' ( aI G: ;?0 h _ _ G# Si+ aI ! ! "# $ % " ?Q ).' Y ? #' _ _ ).' _ _ _ ).' Y 67 2I= Y G4 )= @5 R 2$ ,N) + E ,N) 1% Gf 2) ! ) % $ @5 67 )% $ A ) % $ A 2BI 67 2I= ) % $ @5 67 ;f% aI )= @5 67 # % ?0 ?Q ,N) * ).' Y Hd # K % M Q% ,N) c + ;?0 ) )L' ,M _ \* +N) ).' Y Hd )# I + ;?0 _ _ _ ).' Y ) % $ += ) A # K @= Gk + ;?0 ) )L' ,M ) )L' R 2$ 2BI )=_ aI &' ) % $ += ) A 2BI 67 2I= ) % $ @5 67 ;f% aI )= @5 67 # % ?0 ?Q )L' ,M , )= ,N) * )V ;)*'( ).' Y Hd # l K % M Q% ,N) + ;?0 ;?Q 2/) O) )L+ = + _ ) % $ += ) A Hd # l "# ) % $ aI U+ += _ \* ).' Y % =% GC &'5 )# &' aI ' V 2W 2BV ( * ).' Y ) % $ @5 67 Hd # l K "# = 2Y ( Si+ aI A 2? _ ] 2Y ( % n 2Y ( % &' c2 _ K @= Gk ) % ?0 ) % $ += ) A 2BI 67 2I= % ?Q ?N 6X 2BI % - ;U 1' @5 67 g M m 6I ) ,N) = A 2BC ) A aI 2' c &'# ).' 2Y ( % R @5 67 G: )= # += B)V C " >' 2? 2$ 2I= * ).' Y L G=I =I ?O) &' c2 >' 2? &' c2 _ B?O Q% A 2BC @5 67 '4 67 = >' 2? @5 67 A 2BC 6I " 2?N $ % " &' c2 >' 2? C 2B?P ( " 2B?P &'# # 4( " 2B?P &'# '4 $ % "( " n 1% 2Y ( " f% I S) 2c( " \4) e &': 2B A ?N &' c2 _ _ _D_ = S I: +% $ @5 67 _ ) % $ 2$ Gk + 2o ;* H^ K 2BI 67 2I= ) = S I: +) % $ 2$ Gk + 2o ;* H^ K 2BI 67 2I= )% $ @5 67 G#I e+ ) % $ 2B7 2)c% S = ( ) % $ ' ( ' f% ' 'c 2$ 2B?N ( 'c )= 2B )# ( 2/+ 2/) )* 2B?O L P , ).' ) A )* aI &' _ _ _ ).' Y Y 67 2I= )% $ A aI = * 2BI ) % $ S :I =2 @5 67 _ 2BI 67 2I= S :I =2 @5 67 Hd % - ;- Si+ aI A 2? _ d K ?Q ).' _ B?O Q% 67 2I= @5 67 A 2BC ;f% aI &' 2/) )L+ "# R ).' Y aI ?N 6X "# A 2? D "# 67 _ d ) )* ).' Y 67 2I= aI + ;?0 ) )L' ,M +N) C ) % $ A , += ) A 2BI 67 2I= ) % $ @5 67 ( ) % $ A 2BI 67 2I= ) % $ S :I =2 @5 67 ?Q 2)c% * ).' Y 2?0 @= Gk * ).' Y aI + ;?0 ) )L' ,M +N) &' 2BI % - ;- Si+ aI A 2? )# I * ).' Y R F 6L ).' Y aI A 2? D "# 67 _ +- D_ l 42 S I: +- ) % $ S = 2BI 67 2I= @5 67 A 2BC = S I: +) % $ ': ;< 67 = >' 2? @5 67 A 2BC ( )c2 Sc @5 67 A 2BC ( )=+ =2 ) A @5 67 , ;W% g2 )c2 G "# A 2BC V' 2/) )L+ +- p U) 2BV ?Q 2$ Gk 2o ;* H^ K aI &' _ $ 67 _ A % " >' 2? 23 2BC ) ,N) )* , % V 6' *2 Sc2 &': ).' ] S ) ;?Q b ;/) )* 2` D Y 67 2I= @5 "# A 2BC @5 67 '4 67 = >' 2? @5 67 A 2BC ? &' 2/) )L+ +- p A 2? _ c' 67 2I= @5 67 A 2BC % V 6' *2 ; + ,?Q2 23 + >' 2? C " >' 2? G=I =I ?O) &' c2 >' 2? @a+ @q2 &' c2 _ B?O Q% A 2BC @5 67 '4 67 = >' 2? @5 67 A 2BC 6I " 2?N $ % " &' c2 >' 2? C 2B?P ( " 2B?P &'# # 4( " 2B?P &'# '4 $ % "( " n 1% 2Y ( " f% I S) 2c( " \4) e &': 2B A ?N &' c2 _ _ ) ,N) A 2BC @5 A 2BC K( " >' 2? , 6- P A 2BC , ' V 2W aI ?N 6X "# A 2? % $ += ) A , = S I: 2BC _ D_ T)* ).' = >' 2? @5 67 DE "# $ 2? &' c2 _ A $% 2? 67 ?Q ;f% )= B)V H )= @5 I c 4( $ = ?Q ?N I% ).' Y 67 2I= ) % $ @5 67 A ( @= + ).' Y )% $ A ) % $ S = H c' UK 2BI 67 2I= @5 67 67 q% =% 2BC ( ) A Y 67 2I= @5 67 A 2BC ) ,N) A 2BC '4 67 A 2BC )* aI % " , ': ;< ) % $ >' 2? @5 67 A 2BC 6I " >' U )*' ;7 ) #' ! ( SL 2` S