Tải bản đầy đủ (.pdf) (7 trang)

Bài giảng Lập trình an toàn: Chương 2 - Lương Ánh Hoàng - Trường Đại Học Quốc Tế Hồng Bàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.08 MB, 7 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Chương  2.  Kiểm  soát  truy  nhập  </b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

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  }ile  tạm  



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Trên  Unix/Linux  tất  cả  các  tài  nguyên  đều  được  coi  là  }ile:  tệp  tin,  ổ  đĩa,  



bộ  nhớ,  thiết  bị….  



Mỗi  }ile  kiểm  soát  bởi  user  id  và  group  id.  



Mỗi  tiến  trình  có  ba  quyền:  effective  user  id,  real  user  id,  saved  user  id.  



Effective  user  id  được  sử  dụng  trong  phần  lớn  các  kiểm  tra.    



Mỗi  tiến  trình  cũng  thuộc  về  ba  nhóm:  effective  group  id,  real  group  id,  



saved  group  id.  



Có  ba  loại  quyền  



•  Đọc  (read)  



•  Ghi  (write)  


•  Thực  thi  (execute)  


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Mỗi  }ile  sẽ  có  ba  nhóm  quyền  tương  ứng  với:  user  id,  group  id,  và  


other.  



<b>-­‐rwxr-­‐xr-­‐x  1  </b> <b>  Luong  Anh  Hoang  </b> <b>  None  </b> <b>  17964  </b> <b>  Aug  28  23:45  test.exe  </b>


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  



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

Mỗi  }ile  cũng  có  thể  có  3  bit  đặc  biệt  



•  Sticky.  Nếu  bit  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ẽ  có  quyền  từ  user  id  của  chính  }ile  đó.  


•  Setgid:    



•  Đối  với  }ile  thực  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).  


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

Windows  sử  dụng  ACL:  Access  Control  List  để  phân  quyền  tài  


nguyên.  



Các  tài  nguyên  của  Windows:  }ile,  registry,  mutex,  event,  IPC…  


được  kiểm  soát  thông  qua  DACL  và  SACL.  



DACL  là  danh  sách  các  ACE,  mỗi  ACE  là  một  luật  quy  định  một  


quyền  hạn  cụ  thể.  



DACL  rỗng  tương  đương  với  việc  tất  cả  mọi  người  có  toàn  quyền  


truy  nhập  tới  đối  tượng.  



Mỗi  ACE  bao  gồm  3  thông  tin:    



•  SID:  Đại  diện  cho  một  user  hay  một  group  trong  hệ  thống  


•  Quyền  truy  nhập  


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Các  quyền  truy  nhập  



 


<b>2.2  Cơ  chế  kiểm  soát  truy  nhập  trên  </b>


<b>Windows  </b>




TÊN   <sub>Diễn  giải  </sub>


DELETE   The  ability  to  delete  the  object  


READ_CONTROL   The  ability  to  read  the  object's  security  <sub>descriptor,  not  including  its  SACL  </sub>


SYNCHRONIZE   The  ability  for  a  thread  to  wait  for  the  object  to  be  put  into  the  signaled  state;  not  all  
objects  support  this  functionality  


WRITE_DAC   The  ability  to  modify  the  object's  DACL  


WRITE_OWNER   The  ability  to  set  the  object's  owner  


</div>

<!--links-->

×