Bài giảng Thành phần bảo vệ và bảo mật

Vấn đề bảo mật

• Các mối đe dọa

– Phơi bày dữ liệu  Đe dọa tính riêng tư

– Thay đổi dữ liệu  Đe dọa tính toàn vẹn

– Từ chối dịch vụ  Đe dọa tính sẵn sàng

• Xâm phạm

– Vô tình

– Chứng tỏ

– Cắp vặt

– Gián điệp

• Tai nạn

– Thiên tai

– Lỗi phần cứng, phần mềm

– Lỗi sử dụng

Cá loại tấn công

• Tấn công từ trong hệ thống

– Trojan Horses

– Login Spoofing

– Logic Bombs

– Trap Doors

– Buffer Overflow

• Tấn công từ ngoài hệ thống

– Virus

– Internet Worm

– Mobile Code

Bài giảng Thành phần bảo vệ và bảo mật trang 1

Trang 1

Bài giảng Thành phần bảo vệ và bảo mật trang 2

Trang 2

Bài giảng Thành phần bảo vệ và bảo mật trang 3

Trang 3

Bài giảng Thành phần bảo vệ và bảo mật trang 4

Trang 4

Bài giảng Thành phần bảo vệ và bảo mật trang 5

Trang 5

Bài giảng Thành phần bảo vệ và bảo mật trang 6

Trang 6

Bài giảng Thành phần bảo vệ và bảo mật trang 7

Trang 7

Bài giảng Thành phần bảo vệ và bảo mật trang 8

Trang 8

Bài giảng Thành phần bảo vệ và bảo mật trang 9

Trang 9

Bài giảng Thành phần bảo vệ và bảo mật trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 48 trang duykhanh 4420
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Thành phần bảo vệ và bảo mật", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Thành phần bảo vệ và bảo mật

Bài giảng Thành phần bảo vệ và bảo mật
• Thảo luận các hình thức tấn công hệ 
 thống máy tính
• Trình bày một số cơ chế bảo vệ, bảo mật 
 cơ bản của hệ điều hành
• Trình bày một số cơ chế bảo vệ, bảo mật 
 cơ bản của hệ điều hành Windows NT
 2
• Có những hình thức tấn công hệ thống 
 máy tính nào ?
• Hệ điều hành có những cách thức nào để 
 phòng chống ?
 3
• Các mối đe dọa
 – Phơi bày dữ liệu Đe dọa tính riêng tư
 – Thay đổi dữ liệu Đe dọa tính toàn vẹn
 – Từ chối dịch vụ Đe dọa tính sẵn sàng
• Xâm phạm
 – Vô tình
 – Chứng tỏ
 – Cắp vặt
 – Gián điệp
• Tai nạn
 – Thiên tai
 – Lỗi phần cứng, phần mềm
 – Lỗi sử dụng
 4
• Tấn công từ trong hệ thống
 – Trojan Horses
 – Login Spoofing
 – Logic Bombs
 – Trap Doors
 – Buffer Overflow
• Tấn công từ ngoài hệ thống
 – Virus
 – Internet Worm
 – Mobile Code
 5
 Là tấn công được thực hiện khi đã đăng nhập được vào 
 hệ thống
 Trojan Horses
 • Thay thế các chương trình tiện ích của hệ thống để tấn công 
 nạn nhân
 • Chương trình miễn phí tấn công người dùng nhẹ dạ, thiếu hiểu 
 biết
 Login Spoofing
 • Giả mạo màn hình đăng nhập để ăn cắp mật khẩu
 Logic Bombs
 • Chương trình do nhân viên cài vào hệ thống
 • Nếu bị đuổi việc, chương trình gây hại sẽ hoạt động
 6
• Trap doors
 7
• Buffer Overflow
 8
• Bị tấn công từ máy tính khác trên mạng
• Internet Worm
 – Tấn công dựa vào lỗ hổng bảo mật của hệ điều hành
 • Robert Tappan Morris, 1988
 – Gồm 2 chương trình
 • Chương trình worm
 • Chương trình bootstrap để tải worm
 – Tự động lây lan qua đường mạng
• Mobile Code
 – Applet: được thực thi tại trình duyệt web
 – PostScript: được thực thi tại máy in
 9
• Được viết bằng hợp ngữ
• Được chèn vào chương trình hợp lệ bằng công 
 cụ gọi là “dropper”
 – Đoạn virus viết bằng Visual Basic thực hiện format ổ 
 cứng
 Sub AutoOpen()
 Dim oFS
 Set oFS = CreateObject(“Scripting.FileSystemObject”)
 vs = Shell(“c:command.com /k format c:”,vbHide)
 End Sub
 10
• Virus chỉ hoat động khi chương trình chứa 
 nó được kích hoạt
 – Có khả năng lây lan các chương trình khác
 11
• Khả năng gây hại
 – Sử dụng hết tài nguyên hệ thống, ví dụ CPU
 • main() { while(1) fork(); }
 – Sửa đổi, xóa, đánh cắp dữ liệu
 – Gây hại phần cứng
 • Ghi dữ liệu rác vào ROM (flash ROM)
 12
13
• Bảo mật (Security) là chính sách
 – Ví dụ, “người dùng không có quyền không 
 được truy cập tập tin này”
• Bảo vệ (Protection) là cơ chế
 – Ví dụ, “hệ thống kiểm tra định danh người 
 dùng và quyền truy cập”
• Cơ chế bảo vệ cài đặt các chính sách bảo 
 mật
 14
• Chế độ hoạt động (Processor Mode)
• Chứng thực (Authentication)
• Mã hóa (Encryption)
• Mật khẩu (Password)
• Cơ chế điều khiển truy cập (Access control)
• Theo dõi, kiểm soát (Auditing)
 15
• HĐH được lưu trong bộ nhớ  mô hình von Neumann?
 – Điều gì xảy ra nếu người dùng thay đổi mã HĐH hay dữ liệu?
• Đưa ra khái niệm modes of operation(chế độ thực thi)
 – Các lệnh sẽ được thực thi trong user mode hay system mode
• Một thanh ghi đặc biệt lưu mode hiện hành
• Một số lệnh chỉ có thể được thực hiện trong system 
 mode
• Tương tự như vậy, một số vùng nhớ chỉ có thể ghi lên 
 khi đang ở trong system mode
 – Chỉ có mã nguồn của HĐH được phép ở trong system mode
 • Chỉ có HĐH có thể thay đổi giá trị trong bộ nhớ của nó
 – Thanh ghi mode chỉ có thể được thay đổi trong system mode 
 16
Lấy lệnh:
 if (( the PC < 100) && ( thanh ghi mode == 1)) then 
 Lỗi! Người dùng muốn truy cập HĐH 
 else 
 lấy lệnh tại vị trí PC 
Giải mã: 
 if ((register kết quả == mode) && ( thanh ghi mode == 1)) 
then 
 Lỗi! Người dùng muốn thay đổi thanh ghi mode
Thực thi: 
 if (( địa chỉ toán hạng < 100) && ( thanh ghi mode == 1) 
then 
 Lỗi! Người dùng muốn truy cập HĐH 
 else 
 Thực thi lệnh
 17
• Nếu một hệ thống hỗ trợ nhiều người dùng, nó 
 phải có khả năng biết được ai đang làm gì
• Nghĩa là, tất cả các yêu cầu tới hệ thống phải 
 được gắn với định danh người dùng
• Cơ chế chứng thực đảm bảo hệ thống kiểm soát 
 được ai đang dùng hệ thống
 18
• Cơ chế làm tin tặc không thể đọc được dữ liệu
• Mã hóa được thực hiện bằng các thuật toán mã 
 hóa
• Thường thì việc mã hóa sử dụng một khóa bí 
 mật mà chỉ có người dùng hợp lệ của dữ liệu 
 này biết
• Không có khóa này, việc giải mã dữ liệu hầu như 
 không thể
 19
• P là dữ liệu có thể xem được  C là dữ liệu mã hóa
• E là thuật toán mã hóa  D là thuật toán giải mã
  ả
• KE là khóa mã hóa KD là chìa khóa gi i mã
• C là dữ liệu được mã hóa P = D(C, KD)
 C = E(P, KE)
 20
• Một cơ chế chứng thực cơ bản
• Một số vấn đề
 – Lựa chọn mật khẩu
 – Quản lý và lưu trữ mật khẩu
 – Thời gian duy trì mật khẩu
 21
• Khó đoán
• Dễ nhớ
• Không có trong từ điển
• Dài để khó bị dò tìm
 22
• Mật khẩu là bí mật, do đó cần phải có cơ 
 chế quản lý
• Mật khẩu cần được lưu trữ
 – Dùng để so sánh khi người dùng đăng nhập
• Nếu hệ thống lưu trữ bị hư hỏng thì các 
 chứng thực cũng không còn
 23
• Chỉ lưu dưới hình thức mã hóa
• Để kiểm tra mật khẩu, mã hóa nó và so 
 sánh với bản lưu đã được mã hóa
• Bản lưu đã mã hóa thường được lưu trong 
 một tập tin
 – Tập tin “SAM” trên hệ thống Windows
 – Tập tin “/etc/shadow” trên hệ thống Linux
 • root:$1$dxtC0Unf$2SCguIhTlrcnkSH5tjw0s/:12148:0:99999:7:
 ::
 24
• Mã hóa mật khẩu bằng gì ?
 – Khóa phải được lưu trong hệ thống 
 – Nếu dùng một khóa duy nhất để mã hóa tất 
 cả mật khẩu thì:
 • Điều gì xảy ra nếu khóa bị mất ?
 • Điều gì xảy ra nếu 2 người dùng có cùng mật khẩu 
 ?
 25
• Mỗi mật khẩu được kèm theo thành phần, gọi là salt
• UNIX mã hóa một khối zero
 – Khóa được hình thành từ mật khẩu và 12-bit salt
 – Mã hóa bằng phương pháp DES (Data Encryption Standard )
• Thông tin lưu trữ = E (zero, salt ,+ password)
• Để kiểm tra mật khẩu, lập lại quá trình này
 ,
 Salt Password 26
• Khóa mã hóa không duy nhất
 – Do đó, không thể dò tìm khóa này
 – Và không cần phải lưu khóa
• Mã hóa được thực hiện với các khóa khác 
 nhau
 – Do đó 2 người dùng có cùng mật khẩu thì 
 thông tin lưu trữ vẫn không giống nhau
 27
• Không hoàn toàn
• Mật khẩu vẫn ở hình thức có thể xem được 
 trong quá trình kiểm tra
• Mật khẩu có thể được truyền trên đường truyền 
 dưới dạng có thể xem được
 – Đặc biệt trong trường hợp truy cập từ xa
 28
• Chọn mật khẩu tồi
• Quên mật khẩu
• Sử dụng lại mật khẩu
• Người dùng ít khi đổi mật khẩu
 29
• Các phương pháp xác định ai có thể truy 
 cập gì đến mức độ nào
• Dựa trên giả thiết, hệ thống đã có cơ chế 
 chứng thực người dùng
 30
• Mô tả các truy cập được chấp nhận trên 
 hệ thống
• Ai truy cập đối tượng với quyền gì
• Mô hình lý thuyết, không được triển khai 
 trên thực tế
 31
 File 1 File 2 Server X
User A Read, Write None Query
User B Read Write Update
User C None Read Start, Stop
User D None None Query
 32
• Danh sách điều khiển truy cập
 (Access Control List)
 – Quản lý theo cột của ma trận quyền
• Khả năng
 (Capability)
 – Quản lý theo dòng của ma trận quyền
 33
• Mỗi đối tượng điều khiển ai có quyền truy 
 cập nó
 – Dùng một danh sách điều khiển truy cập
• Thêm/xóa chủ thể bằng cách thêm/xóa vào 
 một mục
+ Dễ dàng xác định ai có thể truy cập đối tượng
+ Dễ dàng thay đổi ai có thể truy cập đối tượng
– Khó xác định ai có thể truy cập gì
 34
35
• Discretionary access control (DAC)
 – Cơ chế cho phép các chủ thể có thể điều 
 khiển quyền truy cập các đối tượng do họ sở 
 hữu
• Mandatory access control (MAC)
 – Cơ chế của hệ thống điều khiển truy cập tới 
 các đối tượng
 – Ví dụ, hệ thống có thể theo dõi thao tác của 
 ai trên đối tượng nào (ghi nhận vào tập tin 
 log)
 36
• Mỗi chủ thể theo dõi những gì có thể truy cập 
 được
• Thường giữ một khả năng cho mỗi đối tượng
• Khả năng giống như “vé vào cửa”
+ Dễ xác định những gì một chủ thể có thể truy 
 cập
– Khó xác định ai có thể truy cập một đối tượng 
 nào đó
– Khó bỏ/điều khiển quyền truy cập
 37
38
• Ghi lại các sự kiện liên quan tới bảo mật
• Bảo vệ tập tin log
• Tập tin log có thể trở nên lớn ?
 – Quản lý kích thước có chính sách
 • Khả năng lưu trữ ngày càng lớn
 • Ghi nhận khi cần thiết
 – Ví dụ
 • Ghi nhận lần truy cập đầu tiên và cuối cùng vào tập tin 
 của tiến trình
 • Không ghi nhận quá trình và các sự kiện bình thường
 39
• Các cơ chế bảo mật
 – Chứng thực người dùng
 • User, Group
 – Điều khiển truy cập
 • Chính sách (Policy)
 • Quyền sử dụng tập tin, thư
 mục
 – Mã hóa
 • EFS (Encrypting File System)
 – Kiểm soát hệ thống
 • Auditing
 – Quản trị
• Cài đặt mô hình bảo mật chủ
 thể/đối tượng chuẩn
 40
41
• Chủ thể – tiến trình hay tiểu trình chạy dưới quyền hệ thống hay 
 một người dùng hợp lệ
• Định danh bảo mật (Security ID – SID)
• Điều khiển truy cập: danh sách điều khiển truy cập (ACL)
• Access token – ủy nhiệm thư của chủ thể khi thực thi
• Privilege – khả năng của chủ thể thực hiện các thao tác mức hệ 
 thống. Thường phá vỡ mô hình bảo mật chuẩn
 – Kèm theo access token
 – Thường mặc định bị vô hiệu hóa.
 – Có thể bật/tắt
 – Ví dụ một số quyền privileges
 • SeAssignPrimaryTokenPrivilege – thay thế token của tiến trình
 • SeBackupPrivilege – bỏ qua những ràng buộc của hệ thống tập tin để 
 thực hiện sao lưu dự phòng và khôi phục dữ liệu
 • SeIncreaseQuotaPrivilege - thêm giới hạn sử dụng bộ nhớ cho một tiến 
 trình
 • SeTcbPrivilege – Chạy như một phần của hệ điều hành
 42
• Định danh bảo mật (Security 
 Identifiers - SIDs)
 – Duy nhất cho tất cả người dùng, nhóm 
 người dùng, máy tính
 – Kết hợp từ:
 • Tên máy tính
 • Giờ hiện tại
 • Khoảng thời gian sử dụng CPU của người 
 dùng hiện tại
 43
Discretionary ACL System ACL
 User A User A
 Full Control Read Success
 Group A Group A
 No Access Read Failure
 User B
 Change
 44
 Object Owner SID
 Group SID
 DACL SACL
DACL: Discretionary Access Control List
SACL: System Access Control List
 45
– Đăng nhập sẽ tạo 
 security access token
 • Gồm ID của người 
 dùng, nhóm người dùng 
 và một số đặc quyền
 • Mỗi tiến trình của người 
 dùng này sẽ được cấp 1 
 bản sao của token
 • Hệ thống kiểm tra token 
 để xác định được phép 
 truy cập hay không
 46
47
Access User: Mark
token Group1: Administrators
 Group2: Writers
 Yêu cầu truy cập: ghi
 Kết quả: từ chối
 Revision Number
 Control flags
 Owner SID • Mark yêu cầu quyền ghi
 Group SID • Descriptor từ chối quyền đối với nhóm
 DACL Pointer • Kết quả: từ chối
Security SACL Pointer
descriptor
 Deny
 Writers
 Read, Write
 Allow
 Mark
 Read, Write 48

File đính kèm:

  • pdfbai_giang_thanh_phan_bao_ve_va_bao_mat.pdf