AN TOÀN BẢO MẬT TRONG CÔNG NGHỆ THÔNG TIN AN TOÀN PHẦN MỀM – LỖI PHẦN MỀM

21 713 0
AN TOÀN BẢO MẬT TRONG CÔNG NGHỆ THÔNG TIN AN TOÀN PHẦN MỀM – LỖI PHẦN MỀM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

AN TOÀN BẢO MẬT TRONG CÔNG NGHỆ THÔNG TIN AN TOÀN PHẦN MỀM – LỖI PHẦN MỀM.An toàn thông tin là sự cân bằng của 3 mục tiêu: Bí mật (confidentiability), toàn vẹn (Intergrity), và sẵn dùng (availability).Bí mật (Confidentiability): tài sản chỉ được truy nhập bởi những người có quyền.Toàn vẹn (Intergrity): tài sản chỉ được tạoxóasửa đổi bởi những người có quyền Sẵn dùng (Availability): tài sản sẵn sàng để đáp ứng sử dụng cho những người có quyền

      !"#$  !"#" %&'(&)$ $%&"'(&)*+ ,-"."/ &)*01&23 4&5!."6! 7+89:"  *$ ;&&"<=";&=8>?@ ABC>ADE +&,+& > /!01232'4*5636 7)62'4*5636 =(F=";&=8GFHI!2JK&!L9E36!=8+)MN3O=?!(P8QR=89J8G8=*@S=(FTU ?=R&8=*@STFHVQW&?9T98G9J8G8=*@ X  (Confidentiability): tài sản chỉ Y$Z!=)*"O[J\8"]&&$^8!_`)*a X  (Intergrity): tài sản chỉ Y$Z!=b(cd_9cHe9Yf8J\8"]&&$^8!_`)*a X  (Availability): tài sản sẵn HF&YgY#[ &HeQ6&!"("]&&$^8!_`)*a  !  &=h&_!"-!L9&$^8GO[=-"T8+ST8<!d#!Yi"Y$Z!3j=["3a3S3j=="F" ["["3a3GFY'3J'(Y$Z!=N"9=(F=";&=8GFT8<!d#!Yi"["3a3!_Y'3J'( Y$Z!EYk!=N"=+3j=!#!"!2JK&"l="9*m";& 8. 9*5636 _3j=HI="I!GF["3a3F(Y$Z!GF39!,&!_G48748["3a3!_"8a)G(b8_ "]&G48=";&="$^&Sm";&'""$\&Yn=N"9=(F!L9["3a3_"]&G48Gb8&2* '""$\&&"8+3=5&S!_="gJimodl)GZ8Q6&Ygm"98="#!2*GF"]&G48["3a3 m"8n!"(3j="9*3j=TF8=N"!"l=mg=+JiT8["b3 E "#$%&'()!*+' -"=+GF3j=HpTNQ6TaG48["3a3":;:&'GFG(b8G48!_="gm"8nmodl)GZ8 Q6&Yg!"q3rYj!S`)9Y_="I!="83rYj!S!"8n3`)*aY8a)m"8g"(k!="I!"8<!#!="9( =#!=#8["s[Tpm";&YL="t3`)*aYg="I!"8<"_3G48F*T8["b3=N"=(FTUTF=N" J'(3O=!L9"<="p& !<":2'GF3j="-"=" !=l!;&=h!"p8Qi!"T6S=l!;&TF(["3a3\uRJ HRTR2*GFG(b8=l!;&&e83j=Hp!#!&_8=8[8&3RHH9&R!_["j8Q)&l=Gv=v8uRJ HRTRQI9=+&89(=" !w.."3a3\HRTRm"8"OY$Z!&_8=8F*HxdeGyJiG48 &2*YfTz!"$%&=-"hY_&$^8QW&"Z[G<m";&=)*"O[Y$Z!TF(=F8&)*+!="8n= 748F*T8["b3=N"HVQW& =:>?2GF3j=Rd=RH8(!L9["3a3CHRTR!L9w@h&JiG48TFJim"98="#!S m"8n3!"8n3`)*aY8a)m"8gHRTR7F33l==N"JN3O=TF=(FTU _="g="l*GF"8a)G(b8G489={9["3a3m"#!"9)S=)*"8+=(&JF8=-"JF*F* !"|=O[=)&TF(EG(b8G48["3a3!fY8gTF="$^&&k[GFM X 748=FJjY<3 X 748m";&Y*YL X 748Y1&Jj 8. @'AB,9*5636'C!!D* 8 9'E4>@F)6 8 /!0123,9'E4>@F)6 748=FJjY<3!_=")O=&]=8n&"GF“Buffer Overflow. jY<3Y$Z!Yi"&":9GF3j= TW&"vG8+=6!!_mN!"="$v!&8v8"bjY<3="$^&QW&=(&GF3j='&jY<3Y$Z! HeQ6&YgG$)=]!#!&8#=i=b3="^8!L93j=d2)["6!T6!"(`)#=-"deGy FJjY<3Y$Z!"8g)3j=!#!"Y%&8'GFT8<!H9(!"s[3j=Y(bQ]G8<)!_mN!"="$v! GvTF(3j=JjY<3!_mi!"="$v!"}3Fm";&="I!"8<="9(=#!m8g3=9Q~=v8TW&"v ["N9H9)JjY<3Ji&"8YqSTW&"vF*!_="gGb8GF3j=JjY<3m"#!"(k!GFTW&"v!L9"< ="p&O)`)'!L9`)#=-"F*GFGF3!"(!"$%&=-""59=Yj&m";&!"N"d#!"(k!JiYf Tz 748=FJjY<3!_="gJimodl)m"98="#!Yg="I!"8<"]&36!YN!"dl)odl)"9{ =(F!_="g!"q3rG<"TF(3j=!"$%&=-"!_&)*!%Ji=FJjY<3TF="I!="83rG<" Y_)"n=!#!T8)H"9*H2)["#==#=+Q8<j&Ya)m"98="#!="R(G48F*_!_="g!"L Yj&["#==#3Fm";&!HI!9="8<[!L9&$^8QW&?&8p&"$T8)HG2*P8GR="$^&="I! "8<GF!!_HI="9(=#!!L9&$^8QW&@odl)m"8Yrm"98="#!Y$Z!G48F*!_="g="I!"8< l="8a)="9(=#!m"#!"9)"$3\!f&Yg!"8n3`)*aY8a)m"8gTFY8a)m"8g=hd9S!F8Yk= • 3j=J9!mQ((G+HRTRSYk=["3a3&8#Y8<[(€9"9*!F8mR*G(&&RYgGl*!•[=F8m"(' !L9&$^8QW& ."b3T8'""$\&!L9G48=FJjY<3=W*=")j!TF(`)*a!L9&$^8QW&Y‚&"O[TF( "<="p&_=$^&"Z[modl)=)*m"98="#!Y)Z!G48F*"]&m";&GF3Y$Z!&-"$&!,& !_"]&=$^&"Z["O)`)'GFT;!W&&"8+3=5&NQ6!#!Qi!"T6"<="p&"$.C R3(=R.(!RQ)R9GGHGF!#!8Q!"€T6`)9=5&!L9"<="p&!L9u8Q(u#!Qi!"T6 F*Y$Z!!"b*=IYj&Q$v8`)*a!L9)HRƒwC3j=)HRt!L9"<="p&!_`)*a!9( =(&"<Y8a)"F"n)Qi!"T6F*JiYfTzS"<="p&Hx&h&"(b=Yj& jY<3!_"98!#!"=f!" !G$)=]Y_GF=+H=9!m?QW&YgG$)!#!J8n=:"@TF"R9[?G$) !#!J8nY$Z!!l[["#=Yj&=";&`)9!(=}@„(Y_=FJjY<3!,&!_"98G(b8m"98="#! m"#!"9)M X FH=9!mM o "8YqG+Y89!"|='Ta!L9"F3M2*GF3j==(&"]&m:=")O=!%J'"l=!L9 =FJjY<3…=$\&!L9["$%&["#[m"98="#!F*Y_GF&"8YaG+Yi9!"|='Ta !L9"F3K3=(&H=9!m(&=$^&"Z[Gy=$\&S"F3="9*T-=\TaG<"=8n[ ="R(H9)G^8&58"F3S_Hx"'*=v83rG<"3Fmodl)3(&3)pS`)9Y_="I!"8< Y(b3rdl)Y_ o "8YqG+ƒ?=)!=)RQƒd!R[=8(9QG8&@ƒGF!l)=/!`)'GyRd!R[=8( =(&u8Q(u_!" 9!#!!(=}=}=v8!#!"F3deGyRd!R[=8(m"8!_Rd!R[=8( d'*9NQ6"$=";&J#(&(b8G<F*G+3F"-":=")O=m"98="#!F*Hx!p &•&&"8YqG+!#!!(=}F*Yg=}=v83j="F3="I!="8dl)TF&2*9Rd!R[=8( =$%& &†)9Y_="I!"8<Y$Z!Y(b3r="I!="8dl) X FR9[MF"R9[GFm:=")O=m"98="#!m"_"%TF\3 !Yj!9("%wj=Hpm:=")O= "8<9*m"98="#!J9(&13&"8YqG+!(=}=}=v8"F3=Gƒ=R8=8!9GR!=8(=(&.ƒ "9*&"8YqG+"9QRQƒd!R[=8(9QGR (&["b3T8!L9JF8T8n=S"_3!"|d8=-"JF*TF(m:=")O=!%J'"l=GF"8YqG+Yi9 !"|='Ta!L9"F3=(&=FH=9!m 8 8. @'ABG"+'(&'H3'E4>@F)6 748=FJjY<3Y$Z!m"98="#!=+Q8<j&TFY$Z!!;&Jp"F&&F*=+!#!=9& uRJH8=RJ'(3O="$38Gu(3!(3SHR!)89(&SHR!)8=*P(!)H‡#!T8)H"9*H2)3)p["#= =#=+Q8<j&="$^&HeQ6&!#!"F* 2)G9H=R!{Y$Z!&58GF7(TH9"9*7(TRH9Y$Z!["#==#TF("18="#&ˆ‚3>AAES =+!#!"<="p&3#*!"b*"<Y8a)"F"‰8Q(uHŠ.TF‰8Q(uHHRTR>AAA!L9w8!(H(P= _Y$Z!["#="8<TF(&F*DDcAˆc>AAETF!_=p!YjG2*"803=‚&QYnY|"Y8g3TF(&F* DEcAˆc>AAEw6!YN!"!L9H2)F*GF=l!;&=h!"p8Qi!"T6=9&uRJu8Q(uH)[Q9=R!(3 2)F*GZ8Q6&G4"f&=FJjY<3=(&&89(=" !„w.Yg["#==#‹BŒ B wj=TNQ6m"#!!L9G48=FJjY<3GFG4"f&=(&!" !‚&9TRH!L9((&GR"(3R ["8+J'A>DD••>Ž2*GF3j==(&"]&["8+J'Y)=8+!L9((&GR"(3RY)Z! Y$99="i=$^&TF(="#&•‚3>AAˆ)*"8+["8+J'F*=1=b8G4"f&=FJjY<3m"8 H9TR3j=T‚J'l=Gvodl)!_="gGZ8Q6&!"q3rYj!TF("]&=9&uRJH8=RYg!"/& Y$Z!="I!"8<m"8&$^8QW&9TR"]&=9&uRJF*Ta3#*!L93-"748F*Y$Z!7+  !"C3j=H8"T8+!L9=$^&Yb8"5!#!""(9Fj8m"8Y_["#="8<9-"Q$v8 3;='=";&=8TaG48F*Y$Z!!;&Jp=+R!)8=*•(!)H!(3 ,# -()!.$/012(33 8 I. J&K'&L2,9'E4>@F)6 Šs=3j=TNQ6Y%&8'"$H9)M =398?@ • =99*‹BŒ‘•DS>SES•SB’“ .8=P?”•Q–—S99*‹BŒ@“ ’ "8="I!"8<J8+Qi!"!"$%&=-"F*"(F=(Fm";&!_G48)*"8+Y8a)&-d'*9 m"8!"$%&=-"Y$Z!="I!"8<<="p&Hx="I!"8<H98Q(["=e99*‹BŒm";&!_=(& 3'&99*Y$Z!m"98J#(["N9=+"$%&=-"F*!" &=}K&=-"J8+Qi!"m";&"a m8g3=9Y8a)m8<J8+!L93j=3'& 2*&8^!"/&=9dR3ds=Jj"vY$Z!=f!" !"$="nF(+3#*=:"dˆ˜?E>J8=@!#! ="9"&"8!_YjQF8E>J8=.!_="g`)'GyY$Z!=p8Y9™wYi9!"|(&Y_>Yi9 !"|!9(=hˆAAAAAAAYn••••••••HxY$Z!QF"!"("2!L9"<Y8a)"F"TF!#!!l)=/!Q] G8<)Q)*=-"59=Yj&!L9"<="p&W&Q]G8<)=hAAAAAAAAYnŽ•••••••HxQF"!"(!#! &Q6&["3a3HeQ6&Yg!$–&* 9j8Q)&!L9P8GRRdRY$Z!b[TF(SH=9!m!L9!"$%& =-"!" 9!#!J8nY$Z!m"98J#(=N""83j=!"$%&=-"Y$Z!!"b*S"<="p&Hxb[={9Jj ˜ Sep 05 2008 !"#$%%&' Discoverer:()*#+,-.% Descripon : ,$%%&'%//&$/'"/%&00 1 %%%2"%&'&34&5&%6,7(89&2 &.*$/!" /.%&2%$1:.&;&$%&'/ '& <=:2>>"""%&'1>%>>? Sep 05 2008 !"#$%%&' Discoverer:()*#+,-.% Descripon : ,$%%&'%//&$/'"/%&00 1 %%%2"%&'&34&5&%6,7(89&2 &.*$/!" /.%&2%$1:.&;&$%&'/ '& <=:2>>"""%&'1>%>>? P8GR"i["2TF(TW&Yi9!"|J•=Y)GFAA•AAAAA-"Q$v8="g"8<=f!" !Jj"v=(&"< ="p& 4567.$8 8n[="R(S!"/&=9=-3"8g)Yn`)#=-"&58"F3!L93j=!"$%&=-"=(&"<="p& -"Q$v83;='`)#=-"F*8'He3j=!"$%&=-"Y$Z!b[TF(=(&Jj"vTFY9&="I! "8<Yn!2)G<"=" B(&"<Y8a)"F"!_="9"&"8.?H=)!=8([(8=R@GF="9"&"8 !" 9Yi9!"|!L9!2)G<"Y$Z!="I!"8<=8n[="R("8!2)G<"=" BY$Z!="I!"8<<Y8a) "F"Hx!l[["#=3j=H=9!mP93R3v8Yg="I!"8<!"("F3PY$Z!&58(&P93RF*!_ 3j=Hp="F"["=)*"8+`)9=5&"l=GFJ9="F"["M Ž 9:;!7<= X ƒMR=)T9G)RM!" 9Yi9='TaH9)m"8"F3PY$Z!="I!"8<d(& X 7$)Gb8.?=9!m[(8=R@M.GF!(=}HeQ6&=(&H=9!m8<!G$)Gb8.&8/[T8<!`)' GyJj"v=:"=(&H=9!m!L9"F3&58!"N"d#!m"8"F3P="I!"8<d(& X )PPRMjY<3Y$Z!!l[["#=!"(!#!J8n=(&"F3P?="93J8nS="93Hp@ +!b"T8<!!l[["#=3j=H=9!mP93RS="9"&"8.!,&!" 9j8Q)&GFYi9!"|Y)=8+ !L9Y(bJj"v!" 9j8Q)&"F3P8n[Y_"F3PY$Z!="I!"8<"8='mn=`)'TaS=9!m P93RY$Z!!l[["#=HxY$Z!&8'8["_&"9"&"8.HxGl*&8#=i!L9ƒS!#!="9"&"8. Y$Z!["6!"18hY_!")tJi="I!"8<!2)G<"=8n[="R(GF!2)G<"=" ˜=(&!"$%&=-" !"N" >?!.$/0@!/A/BC-' 7Z8Q6&!#!"=" !"59=Yj&=+Smodl)!_="g&"8TF(j8Q)&!L9J)PPRTv8mN!"="$v! l=Gvm"8nJjY<3Ji=FH9(!"(=b8Y(b"v!" 9ƒHxJi&"8YqG+&8#=i=W&Tv8Yi9 !"|!L9Y(b3rYj!"$TO*Sm"8"F3PY$Z!="I!"8<d(&S="9"&"8.Hx"O&8#=iGF Yi9!"|!L9Y(b3rYj!="9*T-Yi9!"|!L9!2)G<"=" ˜=b8"F3&58!"$%&=-"2)G<" =8s[="R(Y$Z!="I!"8<HxGF!2)G<"Y)=8+!L9Y(b3rYj! ˆ 8.8. 9MN!F5OFL 8.8 /!0123,9MN!F5OFL 748m";&Y*YL!_=")O=&]=8n&"GF“Incomplete Mediation.748m";&Y*YLGFG48 G8+`)9!"k=!"xYn!#!&8#=iY)TF(!L9!"$%&=-"["3a3TF="$^&Y$Z!Yi" &":9J\8"]&&$^8QW&Jl=m-?m"_!_="g=8=$\&Y$Z!@#! &Q6&uRJGF3j==(& "]&TNQ6Y8g"-"!L9"_3!"$%&=-"["3a3F*NQ6Sm"8Y$Z!*+)!)"O[3j= Yi9!"|R398GS&$^8QW&!_="g"O[!#!&8#=i"$89&š!9H9999!92*m";&["'8GF3j= Yi9!"|R398G"Z[G<wj=!"$%&=-"["3a3!["'8m8g3=9Yg!"•!!"•K&&$^8 QW&Yr"O[&8#=iY)TF(GF"Z[G<hY_S"]&*+)!)!L9&$^8QW&3v8!_y&":9GF Y$Z!="I!"8<3j=!#!"Y/&Y•†)#=-"m8g3=9F*&58GF3RQ89=8( 748m";&Y*YLd'*9m"83F3j= &Q6&["3a3!"l["O"]&&8#=iY)TF( m";&!"N"d#!?Ta3k=m8g)Q]G8<)SYi"Qb&Q]G8<)Sj8Q)&TT@S†)9Y_!"$%&=-" ["3a3F*Hx="I!"8<m";&!"N"d#!NQ6"$m"8Y$Z!*+)!)"O[HpY8<="(b8S &$^8QW&="9*T-"O[HpBD•ˆˆ˜•B˜Ž="-Gb8"O[&8#=iBD•Xˆˆ˜X•B˜Ž2*GF3j=&8#=i "O[TF(!_y&":9"$&Gb8m";&Y/&Yi"Qb&_="gm"8n!"(["3a3deGym";& !"N"d#!‹DDŒ (&G48m";&Y*YL!"/&=9=O[=)&=-3"8g)TF(!#!&8#=iY)TF(m";&!"N"d#! J9(&13M X ";&Y/&Yi"Qb&M„?Q9*(PJ(@MD•ˆAXA•XED X ";&!_y&":9M„"O&8#=iDˆŽ˜XDAXD>wj=&$^8Y9&Hp&"8<=b8m";&="g!_ &F*H8"TF(‚3DˆŽ˜ X ";&Y1&"l=Tv8!#!&8#=im"#! „(Y_S=(&="I!=nSYg["{&!"p&G48m";&Y*YLSYk!J8<=Tv8!#!["3a3auRJS !"/&=9["'8#[Q6&m8g3=9&8#=i!L9J8n=b8!'"98["N9!G8R=TFHRTR"$%&=-"["'8 m8g3=9Yp8Tv8!#!Q]G8<)Y$Z!"O[J\8&$^8QW&+!b"Y_!"$%&=-"["'8m8g3=9 T8<!&$^8QW&!_Y8a)!"|"Q]G8<)"9*m";&Yp8Tv8!#!=b&="#8Y$Z!&$^8QW&G$)Gb8 8.8.8. PG"+'(&'H3,9MN!F5OFL Šs=3j=TNQ6Y%&8'M "9J)P‹ˆAŒ“ (8QT)GR9JGR?@• =GR‘R9Q›8=›P(3›R=u(m?@“ "9œ[‘R9Q›H=8&›P(3›R=u(m?@“ P?GR•H8žR(PJ)P@• ƒ(?”GR&="=((G9&R—@ R=)“ • ’ wR3![*?J)PS[SGR@“ ’ (&TNQ6F*S"F3T)GR9JGRGF3"8<3T6Y5!3j=Y(bQ]G8<)=hJj"vTF(J)PTv8 YjQF8"O[=hJF["N3Šs=!2)G<"R9›8=›P(3›R=u(m?@ŸF&&8#=i!L9GR3j=!#!" G(&8!["'8"O&8#=iQ$%&)*"8+T8<!"O&8#=i=h3b&"(F=(F!_="gd'*9=$^& "Z[&8#=iF*GF3j=Hp23!_Q]G8<)Y$Z!&e8=v8=h&$^8QW&m";&Y#&=8"(k!Q]G8<) JiH98Q(`)#=-"=)*a=8=+3b&"8Y_!2)G<"3R3![*HxG);Y$Z!="I!"8<"8 F*GRY$Z!s[m8g)H9&"F"Hp&)*+m";&Ql)="-3j=Hp23Hx="F"3j=Hp&)*+l= Gv„(Y_!"$%&=-"Hx="I!"8<H98S="O3!"N"<="p&!_="gYfTz Šs=3j=TNQ6m"#!=(&="I!=n"8&H!(3GFuRJH8=R=h&3•!G48F*‹ŽŒ=(&3j=G8m Yk="F&"$H9)M 78mYk="F&=+="8&H!(3 "==[Mccuuu="8&H!(3c(QRcP89G !)H=„‘DAD [9=‘BBB `*‘>A [8!R‘DA H"8[‘J(9= H"8 [!(H=‘B =(=9G‘>AB "==[Mccuuu="8&H!(3c(QRcP89G !)H=„‘DAD [9=‘BBB `*‘>A *E&:Q- H"8[‘J(9= H"8[ !(H=‘B ''2,Q8R 78mF*3k!QW!" 9!#!=";&=8TaYk="F&S="9"=(#"$&Gb8m";&m8g3=9Gb8&8# =i!L9Y%"F&¡Y2*!6="gGFm";&m8g3=9Gb8!#!&8#=i&8#J#=$%& &Tv83r3k= "F&odl)!_="gGZ8Q6&YgHe9Gb8&8#=hDA™="F"D™Tv8!#!=";&=8Yk="F&=$%& & †)9Y_&8#3)9 DAH'["t3!"|!{>B™="9*T->AB™=(&="I!=n748F*Yrm"8n ="8&!(3H="8<="b8k&m"8!"$9["#="8<9 8.8.I. J&K'&L2,9MN!F5OFL "$Yr=-"JF*=(&"98["=+SG48m";&Y*YLTaJ'!"l=GFm";&m8g3=9!#!&8# =iY)TF(3j=!#!""Z[Gy748m";&Y*YLd'*9m"83F3j= &Q6&["3a3!"l["O "]&&8#=iY)TF(m";&!"N"d#!?Ta3k=m8g)Q]G8<)SYi"Qb&Q]G8<)Sj8Q)&TT@748 m";&Y*YL!_="g["{&!"p&JK&T8<!m8g3=9m:=l=!'!#!&8#=iY)TF(!_["W"Z[Tv8 *+)!)!L9"F3Y$Z!&58"9*m";& 8.I. 9FS!>@ 8.I /!0123,9FS!>@ 748Y1&Jj?*!"(8ž9=8(@S=(&G:"TI!["3a3!{Y$Z!&58GF?=83R =(!"R!m=(=83R(P)HR@SGF3j=Gv[G48["3a3&2*9J\8HI="9*Yf8"<="p&&8]9T8<!m8g3 =9?!"R!m8&@3j=Y8a)m8<F(Y_?TNQ6"$3j=!" &!"|J'(3O=@TFT8<!HeQ6&!#!mn= `)'m8g3=9Y_ "98="#!3j=Y8a)m8<Y{8"}8="^8&89!"N"d#!Yg!"•!!"•K&!#!"(b= Yj&!"qTF(!L9mo=l!;&Y/&Tv8!#!b"2(&TNQ6=+Smo=l!;&["'8="I! DA [...]... testing) Đảm bảo an toàn phần mềm thông qua kiểm định hình thức (formal verification) Đảm bảo an toàn phần mềm thông qua lập trình an toàn (secure coding) Phần dưới đây, người viết xin trình bày cụ thể về ba phương pháp này 3.1 Kiểm thử phần mềm Kiểm thử phần mềm còn gọi là software testing là một phương pháp phổ biến được thực hiện nhằm đảm bảo an toàn phần mềm Kiểm thử phần mềm có thể được... lỗi phần mềm cổ điển, đơn giản là lỗi tràn bộ đệm, lỗi không đầy đủ và lỗi đồng bộ Trong phần tiếp theo này, người viết xin đề cập đến vấn đề làm thế nào để đảm bảo được an toàn phần mềm Có nhiều biện pháp đảm bảo an toàn phần mềm khác nhau Tuy nhiên có thể phân chia ra thành ba nhóm biện pháp như sau: 12 - Đảm bảo an toàn phần mềm thông qua kiểm thử phần mềm (software testing) Đảm bảo an. .. Hình dưới thể hiện ba hướng tiệp cận cơ bản trong kiểm thử phần mềm: Hình 8:Kiểm thử an toàn phần mềm [4] - Lập kế hoạch kiểm thử và thực hiện kiểm thử: Giống với quá trình kiểm thử phần mềm thông thường qua các bước kiểm thử như: o Kiểm thử đơn vị (Unit Testing): Phần lớn các phương pháp thiết kế phần mềm đều dẫn đến chia phần mềm thành những mô- đun hay chương trình nhỏ... tác (lấy thông tin, sửa đổi thông tin) của một đối tượng phải thông qua các phương thức đối tượng đó cung cấp hay thông qua các giao diện (interface) Sử dụng tính đóng gói có thể che dấu được thông tin về cách cài đặt, thông tin dữ liệu nhạy cảm, hạn chế Từ đó giảm thiểu được những truy cập không kiểm soát được, những thay đổi vô tính, thay đổi không cần thiết, giảm thiếu được lỗi phần mềm... đủ để lập 19 - trình là một quy tắc quan trọng trong lập trình an toàn Quy tắc này đảm bảo được kẻ xấu dù có lợi dụng được một đoạn code lập trình không an toàn thì cũng không thể tiếp tục lan ra thực hiện những thao tác xấu khác do không có quyền truy nhập bị hạn chế Có chiến lược kiểm tra an toàn phần mềm: Trong các dự án phần mềm, kiểm thử an toàn phần mềm thường không được coi trọng... xác trong khoảng thời gian nhỏ, nhưng kẻ tấn công vẫn có khả năng thực hiện được Vấn đề ở đây là người lập trình viên không thể chắc chắn được là hệ thống có thay đổi hay không giữa hai câu lệnh access và open Có thể gây ảnh hưởng với việc kiểm tra truy nhập Kẻ tấn công có thể lợi dụng để chiếm quyền điều khiển hoặc thực hiện thao tác bất hợp pháp 3 Các biện pháp an toàn phần mềm Trong phần. .. Testing): là việc kiểm tra đảm bảo chất lượng công nghiệp của phần mềm Nó tập trung vào việc khách hành cần làm gì để cài đặt và thiết lập phần mềm mới thành công Quá trình kiểm thử có thể bao gồm đầy đủ, một phần hoặc nâng cấp cài đặt/gỡ bỏ cài đặt các quy trình Phân tích tĩnh: Là quá trình phần tích phần mềm dựa trên mã code: Bao gồm code scanning (quét mã nguồn dựa trên các công. .. dung vào /etc/passwd Nếu như kẻ tấn công biết được nội dung ghi vào, có thể lợi dụng để vượt quyền 11 Hình 7: Ví dụ về lỗi đồng bộ[12] Trong ví dụ này, kẻ tấn công có thể khai thác các điều kiện giữa các truy cập và mở để lừa các nạn nhân setuid vào ghi đè một thông tin truy cập trong cơ sở dữ liệu mật khẩu hệ thống, lỗi này có thể được sử dụng để leo thang đặc quyền, để có được truy cập... lặp E thì mệnh đề {A} sẽ bất biến đối với P trong điều kiện E, tức là {A,E}P{A}, kết thúc vòng lặp ta có mệnh đề {A,!E} Lúc này ta viết: {A} while E do P; {A,!E} 3.3 Lập trình an toàn Trong phần 3.1 và 3.2, nhóm đã trình bày hai biện pháp để xác định tính an toàn của phần mềm, chương trình phần mềm Hai phương pháp này đều được thực hiện sau khi phần mềm được phát triển, và đã hình thành... thiên về xác định phần mềm có hợp lệ hay không Biện pháp thứ ba nhóm trình bày trong phần tiếp sau đây là biện pháp được tiếp cận từ hướng người lập trình viên – những người phát triển phần mềm Hướng tiếp cận này dựa vào việc lập trình an toàn của người lập trình viên, qua đó giảm thiểu lỗi phần mềm có thể xảy ra đối với hệ thống Xét trên khía cạnh nào đó, lập trình an toàn là một . J&K'&L2,9'E4>@F)6 Šs=3j=TNQ6Y%&8'"$H9)M =398?@ • =99*‹BŒ‘•DS>SES•SB’“ .8=P?”•Q–—S99*‹BŒ@“ ’ "8="I!"8<J8+Qi!"!"$%&=-"F*"(F=(Fm";&!_G48)*"8+Y8a)&-d'*9 m"8!"$%&=-"Y$Z!="I!"8<<="p&Hx="I!"8<H98Q(["=e99*‹BŒm";&!_=(& 3'&99*Y$Z!m"98J#(["N9=+"$%&=-"F*!". !"$="nF(+3#*=:"dˆ˜?E>J8=@!#! ="9"&"8!_YjQF8E>J8=.!_="g`)'GyY$Z!=p8Y9™wYi9!"|(&Y_>Yi9 !"|!9(=hˆAAAAAAAYn••••••••HxY$Z!QF"!"("2!L9"<Y8a)"F"TF!#!!l)=/!Q] G8<)Q)*=-"59=Yj&!L9"<="p&W&Q]G8<)=hAAAAAAAAYnŽ•••••••HxQF"!"(!#! &Q6&["3a3HeQ6&Yg! $–& amp;* 9j8Q)&!L9P8GRRdRY$Z!b[TF(SH=9!m!L9!"$%& =-"!" 9!#!J8nY$Z!m"98J#(=N""83j=!"$%&=-"Y$Z!!"b*S"<="p&Hxb[={9Jj ˜ Sep. &!"|J'(3O=@TFT8<!HeQ6&!#!mn= `)'m8g3=9Y_ "98="#!3j=Y8a)m8<Y{8"}8="^8&89!"N"d#!Yg!"•!!"•K&!#!"(b= Yj&!"qTF(!L9mo=l!;&Y/&Tv8!#!b"2(&TNQ6=+Smo=l!;&["'8="I! DA "8<!#!!)j!&58"<="p&G8+mn==$Z&=$&!"N"d#!&8]9!#!accessTFopen"(!)j!=l !;&!")&"l=Smo=l!;&["'8Y$Z!G+mn"(b!"Yg="I!"8<H9)348"(b=Yj&!L9&$^8 Ji"b8S!{Y$Z!&58GF"single – stepping” ¢=")O=QW&3j=J$v!3j=!"$%&=-"b"2J9(&133+!)&"<="p&=O[=8TF !#!!)j!=l!;&["

Ngày đăng: 08/09/2014, 23:30

Từ khóa liên quan

Mục lục

  • Mục lục

  • 1. Tổng quan về an toàn phần mềm

    • 1.1. Khái niệm an toàn phần mềm

    • 1.2. Lỗi phần mềm

    • 2. Một số lỗi phần mềm thường gặp

      • 2.1. Lỗi tràn bộ đệm

        • 2.1.1. Tổng quan về lỗi tràn bộ đệm

        • 2.1.2. Một số ví dụ thực tế về tràn bộ đệm

        • 2.1.3. Bản chất của lỗi tràn bộ đệm

        • 2.2. Lỗi không đầy đủ

          • 2.2.1. Tổng quan về lỗi không đầy đủ

          • 2.2.2. Ví dụ thực tế về lỗi không đầy đủ

          • 2.2.3. Bản chất của lỗi không đầy đủ

          • 2.3. Lỗi đồng bộ

            • 2.3.1. Tổng quan về lỗi đồng bộ

            • Kỹ thuật dùng một bước một chương trình nạn nhân bao gồm mê cung hệ thống tập tin và các cuộc tấn công phức tạp thuật toán. Trong cả hai trường hợp, những kẻ tấn công đã điều khiển trạng thái hệ điều hành để kiểm soát lịch trình của nạn nhân..

            • Chưa có giải pháp chung để phòng chống TOCTTOU, ở đây giải pháp xác định với hệ thống tập tin hiện tại POSIX API - Dean an Hu 2004 vớichiến thuật:

            • Kiểm tra tĩnh cho mối nguy hiểm (thời gian biên dịch)  khó thực hiện

            • Hacks chương trình setuid (đặc quyền tối thiểu)  dùng fix các lỗi thông thường cho các ứng dụng đơn lẻ

            • Phát hiện nguyên nhân và thiệt hại (RaceGuard)  khó thực hiện

            • Sử dụng chế độ người dùng (Use-mode) phát hiện động  đòi hỏi thay đổi API (Application programming interface), không triệt để, có tính xác suất

            • Thay đổi giao diện  Phương pháp phổ biến nhất cho các vấn đề chung

            • 2.3.2. Ví dụ thực tế về lỗi đồng bộ

            • 2.3.3. Bản chất của lỗi đồng bộ

            • 3. Các biện pháp an toàn phần mềm

              • 3.1. Kiểm thử phần mềm

Tài liệu cùng người dùng

Tài liệu liên quan