1. Trang chủ
  2. » Công Nghệ Thông Tin

slike bài giảng lập trình an toàn lương ánh hoàng

131 215 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 131
Dung lượng 30,1 MB

Nội dung

!"#$%&'$(&)*+$%& (*,$%-,./*0123(42356437$& !89&:;<=)&>=&:?@=& A514B5&9B*%B,CC0$%& !  "#$%&'()&'*'&+,-$&./0'1&+2&./#3.&'4&56$&78&9:;&<=$%&'*'&0$%&<>$%&?$& .@A$B& DE1&FG1(& C& !  DE#&'F#&GH&+,-$&./0'I& J  K$&$,$/&LM$%& J  N%O$&$%P&Q3)&.RS$/&"T"UUB& !  VE$&QW)&7F;&7X& HI4&1J4& Y& !  Z/[,&Q\]$%I&^_&., & J  V`&./#; I&Ya&., & J  bA,&.3)Ic_&., & :(K0&-"L$%&CM$&(N1& ^& !  de'#Re&fR@%R?L&"@@+5@@+&g@R&"&?$<&"UU1&Matt$Messier,$ John$Viega,$O'Reilly$2003B$ :+0&-0O4& _& !  "/\4$%&cB&h,8L&.R?&7F#&GA@& !  "/\4$%&CB&h,8L&i@*.&.R#;&$/3)& !  "/\4$%&YB&h,8L&i@*.&9#$%&7j.& !  "/\4$%&^B&kl&/m?&7n,&90$%& !  "/\4$%&_B&oAL&5pL&GA&9*'&./='&./O$%&7,q)& !  "/\4$%&rB&kl&/m?&'O$%&+/?,& !  "/\4$%&sB&K$.,tZ?L)eR,$%& !  "/\4$%&uB&"*'&G($&7H&+/*'& =P0&64$%& r& s& !  bA,&.3)&QW$I&sav& !  w#*&.RS$/I&Yav& QR$(&%0R& u& !"#$%&'$(&)*+$%& (*,$%-,./*0123(42356437$& S("#$%&T3&U0VC&2B,&FJ4&7+*& W$X42&Y,-06,2 0*$& cBc&N%#;E$&.x'&+,8L&.R?B& cBC&"*'&/AL&7y$/&<M$%&9:#&zi.R,$%&g@RL? ,$%{&B& cBY&ZRA$&5j&7qLB& cB^&ZRA$&in&/|'B& cB_&h,8L&.R?&.E$&},Qe&GA&7\[$%&<~$B& cBr&•,6,&Ll&€•V& cBs&"R@iitd,.e&d'R,).,$%& cBu&dwV&‚$ƒe'.,@$& =P0&64$%& ca& [...]...  này  được  thiết lập,  người  dùng  sẽ  không  thể  xóa  hay  đổi  tên   }ile  của  người  khác  nằm  trong  thưc  mục  mà  người  dùng  quản  lý  Mặc  định   là  không  được  thiết lập   •  Setuid:  Bit  này  liên  quan  đến  quá trình  tạo  một  tiến trình  mới  Nếu  bit  này   được  thiết lập,  tiến trình  được  tạo  từ  }ile  này  sẽ  không  kế  thừa  quyền  từ   tiến trình  cha,  mà  sẽ...  Luong  Anh  Hoang    None    17964    Aug  28  23:45  test.exe   •  Khi  tiến trình  tạo  một  }ile  hoặc  tài  nguyên,  hệ  thống  sẽ  gán  user  id  và   group  id  cho  }ile  mới  đó  bằng  effective  user  id  và  effective  group  id  của   tiến trình   •  Khi  tiến trình  truy  nhập  một  }ile  hoặc  tài  nguyên,  hệ  thống  sẽ  lần  lượt   so  sánh  user  id,  group  id  của  tiến trình. ..  tự  đặc  biệt       28   Chương  2  Kiểm  soát  truy  nhập   Access  Control   Lương Ánh Hoàng   hoangla@soict.hut.edu.vn   Nội  dung   2.1  Cơ  chế  kiểm  soát  truy  nhập  trên  Unix/Linux   2.2  Cơ  chế  kiểm  soát  truy  nhập  trên  Windows   2.3  Hạ  thấp  quyền  truy  nhập  của  tiến trình   2.4  Xóa  }ile an toàn   2.5  Hạn  chế  quyền  truy  nhập  trên  }ile   2.6  Khóa  }ile   2.7  Tạo...  trong  các trình  biên  dịch  hỗ  trợ     –  Sử  dụng  DEP  (Data  Execution  Preventation)  trên  hệ  điều  hành  hỗ  trợ   –  Sử  dụng  ASLR  (Address  Space  Layout  Randomization)  trên trình  biên   dịch  và  hệ  điều  hành  hỗ  trợ   17   1.4  Tràn  số  học   •  Dữ  liệu  nhận  về  có  thể  có  sai  sót  trong  trường  liên  quan  đến  kích   thước   •  Các  thao  tác  liên  quan  đến  số...  thi,  nếu  bit  này  được  thiết lập  thì  một  tiến trình  mới   được  tạo  sẽ  có  quyền  từ  groupd  id  của  }ile  đó  chứ  không  kế  thừa  từ   tiến trình  cha  (tương  tự  Setuid)   •  Đối  với  thưc  mục,  nếu  bit  này  được  thiết lập  thì  các  }ile  tạo  trong  thư   mục  này  sẽ  có  groupd  id  của  thư  mục  cha,  chứ  không  kế  thừa  từ  tiến   trình  tạo  ra  }ile  đó   33  ...  công  vào trình  duyệt  người   dùng  bắt  nguồn  từ  việc  kiểm  tra  lỏng  lẻo  từ  server   •  Có  thể  dẫn  đến  thất  thoát  thông  tin  nhạy  cảm:  mật  khẩu,  session,   cookie…   •  Thực  hiện  bằng  cách  chèn  mã  HTML/JAVASCRIPT  vào  dữ  liệu  sẽ  hiển   thị  ra trình  duyệt  =>  đoạn  mã  sẽ  chạy  trên trình  duyệt  của  nạn  nhân   •  VD  Một  ứng  dụng  web  có  hai  trang   – ...  khác   •  VD:  Lệnh  so  sánh  tên  và  mật  khẩu  trong  SQL   –  select  *  from  users  where  username  =  ‘$user’  and  password  =  ‘$pass’     –  Nếu  $user  hoặc  $pass  chứa  dấu  “’”  thì  SQL  sẽ  hiểu  nhầm  nội  dung  truy   vấn…   •  Các  kỹ  thuật  khai  thác: An  ninh  mạng   •  VD:  Một  ứng  dụng  web  muốn  kiểm  tra  tên  và  mật  khẩu  gồm  hai  trang   –  ask.php:  Hiện  form...  đó  thuộc  stack  của  luồng  đang  thực  thi   –  VD   int  counter  =  0;   printf(“Hello%n”,&counter);  //  OK,  counter  =  5   printf(“Hello%n”);  //  Nguy  hiểm  !!!     •  Không  sử  dụng  trực  tiếp  xâu  định  dạng  từ  nguồn  bên  ngoài   –  Xâu  định  dạng  có  nguồn  gốc  từ  ngoài  chương trình  có  thể  có  một  vài  ký  tự  đặc  biệt  mà   chương trình  chưa  lường  trước  được,...    return;      }   $user  =  $_GET['name'];   $pass  =  $_GET['pass'];     $sql  =  "select  *  from  $table  where  username='$user'  and  password='$pass'";   echo  $sql;   $ret  =mysql_query($sql,$conn);   if  (mysql_num_rows($ret)>0)      echo  "Dang  nhap  thanh  cong";   else      echo  "Sai  ten  hoac  mat  khau";       ?>   27   1.8  SQL  Injection   •  Tấn  công   –  username  =  a’  or  ‘1’=‘1...  alert(‘Hacked’);       •  Giải  pháp:  Lọc  bỏ  các  thẻ  HTML  khỏi  dữ  liệu  từ  người  dùng  Mỗi  ngôn   ngữ lập trình  có  một  cách  riêng   23   1.8  SQL  Injection   •  SQL  Injection:  Tấn  công  vào  CSDL  thông  qua  dữ  liệu  nhập  từ trình   duyệt   •  Lợi  dụng  việc  kiểm  tra  lỏng  lẻo  từ  đầu  vào,  chèn  mã  lệnh  SQL  vào  các   truy  vấn  đến  CSDL  của . š:#&7y$/&<M$%&'m&$%#—$&%n'&.…&$%@A,&'/4$%&.RS$/&'m&./8&'m&Lj.&GA,&+`&.=&7•'&5,q.&LA& '/4$%&.RS$/&'/?&Q[$%&.RW'&7]'1&/@•'&+/O$%&'m&./?L&in&./?;&. /-& amp;.4$%&0$%B&& J  ™„B& &%?C) $D#)EF+GHI,$ $=(#D/D#)7,$ $-) !"#./0J!"$%?C&K47,$ $-) !"#./D#)7,$88$<='>$?!@A$BBB$ $-) !"#./03D45D#)7,$88$9:$$ T3_&SR1&(+C&F`$(&6a$%&bc4& cC& ! . NE$&iŠ&<>$%&i$)R,$.g1&Gi$)R,$.g& $-# &'m&./8B& J  ™„& %?C)$D#)EF+GHI,$ %?C)$LD#EMGI,$ =(#D/D#)7,$ D-)!"#./LD#54JC'$N'C$"?C-$NC&$2C$3D45D#)7,$88$<='>$?!@A$ D-)!"#./LD#54JC'$N'C$"?C-$NC&$2C$3OFPD45D#)7,$88$9:$ D" ;-) !"#./LD#5MG54JC'$N'C$"?C-$NC&$2C$3D45D#)7,88$9:$ & $ T3_&SR1&(+C&F`$(&6a$%&bc4& cY& ! . $-) !"#./0Z>(47,$ $Y$ $N&!L$1(22&/7$ $V$ $ $N&!L$/ [-7 /7$*$Z>(,$ $ $%?C)$"CA(ETI,$ $ $-) !"#./0W?C#$!D$>&')$"CA($X47,$ $ $=(#D/"CA(7,$ $ $-) !"#./01(22&$3D$B45$"CA(7,$ $

Ngày đăng: 24/10/2014, 12:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN