Edited Presentation

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Edited Presentation as PDF for free.

More details

  • Words: 1,724
  • Pages: 47
Lớp Tin1 - K50

Quản lí bảo mật trong Hệ điều hành UNIX  Trần Tấn Minh Đạo  Bùi Việt Hùng  Nguyễn Sỹ Bằng  Nguyễn Việt Hùng  Nguyễn Đức Huy

Mục lục

Bảo mật và quản lí bảo mật Bảo mật và quản lí bảo mật trong UNIX Thuật toán mã hóa md5

Bảo mật và quản lí bảo mật

Môi trường bảo mật Căn bản về mật mã Xác nhận người dùng Tấn công vào hệ thống

Môi trường bảo mật

Mục đích

Nguy cơ tương ứng

•Bảo mật dữ liệu

•Phơi bày dữ liệu

•Toàn vẹn dữ liệu

•Dữ liệu bị can thiệp

•Hiệu lực của hệ thống

•Hệ thống từ chối phục vụ.

Môi trường bảo mật

Đối tượng •Đọc những file không được phép •Thay đổi quyền đọc ghi dữ liệu

Biểu hiện •Tình cờ đọc được dữ liệu •Cracker (hay Virgil) •Vì lợi nhuận •Vì mục đích quân sự và thương mại

Căn bản về mật mã

A

Mã bí mật

Mã công khai

B

Hàm 1 chiều

Chữ kí điện tử

C D

A Mã bí mật

Message

Code

Message

ABCD

BDAC E-key: B D A C

ABCD D-key: C A D B

A Mã bí mật Tính đối xứng: cho E-key dễ tìm D-key và ngược lại

Độ phức tạp

Khó bẻ khóa

26!=4*1026 encrytion có thể dùng

Dễ bẻ khóa

Chỉ dùng đảo chữ nên dễ bị đoán!

B

Mã công khai – Mã bí mật

Company Logo

B

Mã công khai – Mã bí mật

Tính chất  Các key riêng biệt được dùng để encrypt và decrypt.  Tính bất đối xứng.  Chậm hàng ngàn lần so với mã hóa đối xứng. Hệ thống public key thường gặp là RSA.

C

One-way Function

Khó x

F(x) Dễ

D

Chữ kí điện tử

 Digital signature khiến người gửi không thể chối bỏ việc mình đã gửi dữ liệu đi.  Cho tài liệu qua thuật toán Hash khó bị đảo ngược. Thuật toán này tạo ra một string kết quả có độ dài đã quy định trước không phụ thuộc vào độ dài tài liệu đầu vào.  Thường dùng: MD5: 16 byte kết quả, SHA: 20 byte kết quả.  Sau đó: mã hóa public key: cho private key qua hash để được giá trị D(hash)- signature block. Signature block được đính kèm tài liệu và gửi đi.  Người nhận: tính MD5( hoặc SHA) của tài liệu, sau đó dùng public key của người gửi đối với signature block để có E(D hash). Nếu hai số Hash khác nhau thì cả hai đều đã, do vô tình hoặc cố ý, bị thay đổi.

Xác nhận người dùng

Password

Vật thể nhận biết

A B

Sinh trắc học

C

A

Sử dụng Password

1

2

User Name Password

Challenge Response

User Name Password Random Number Unix: n = 12

3 One-time Password (Dùng One-way Function)

A

Sử dụng Password

Tăng cường bảo mật bằng password:  Password có ít nhất là 7 kí tự.  Gồm cả chữ hoa và chữ thường.  Nên có ít nhất một chữ số hoặc một kí tự đặc biệt.  Không nên là từ trong từ điển.  Nên thay password thường xuyên.

B

Vật thể nhận biết

Credit Card

ATM Identifier

Entry Card

Bar Code

C

Sinh trắc học – Biometry

Finger Print

Clever mouse Who?

Access Denied

Body Scanner

Tấn công vào hệ thống

Từ bên trong

Từ bên ngoài

A B

oj an

H

or

se

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

Tr

A

in g Lo

S

fin o po

g

b

m o B in

Log

Cracker

D oo p a r T

r

Buffer Overflow

Trojan Horse

Login Spoofing

Login Bomb

Trap Door

Buffer Overflow

Nguyên tắc thiết kế bảo mật

•Các mặc định nên đặt là”no access” •Luôn kiểm tra security tại thời điểm hiện tại, không nên chỉ kiểm tra khi đăng nhập •Cho mỗi truy nhập quyền hạn tối thiểu có thể được •Hệ thống bảo vệ cần đơn giản, thống nhất không gây phiền phức cho người sử dụng •Code đơn giản: giúp giảm thiểu holes và bugs

A

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

u r i V

s

us r i v i Ant

Computer

7 loại Virus

Executable Companion Program

Memory Resident

Boot Sector

Macro

Device Driver

Source Code

Phân loại dựa trên thành phần bị nhiễm

7 loại Virus

Companion

Thực chất là không nhiễm vào một chương trình nhưng nó sẽ chạy khi chương trình chuẩn bị chạy, phá hoại, sau đó trả về chương trình.

7 loại Virus

Executable Program

Đơn giản nhất: thay chương trình chạy bởi overwriting viruses Copy mã nhị phân của nó vào một mảng bằng cách mở và đọc argv[0] và giữ giá trị này để đảm bảo an toàn. Sau đó: soát toàn bộ hệ thống từ thư mục gốc: chuyển đến thư mục gốc và gọi hàm search. Nhiễm infect: lấy tên file tìm được, mở file, copy virus đã được lưu trong mảng, đóng file lại. Parasitic virus: Virus giấu mình vào đầu, giữa và cuối chương trình.

7 loại Virus

Memory Resident

Nằm giữa các vector xử lí ngắt, có thể thay đổi bản đồ RAM để hệ thống tưởng rằng nó đã được cấp phát để tránh bị ghi đè lên. Tóm lấy vector ngắt bằng cách copy các phần của nó vào một vùng biến và tự đặt địa chỉ của nó ở đó, rồi dẫn ngắt đó đến địa chỉ này. Lựa chọn tốt nhất chính là lời gọi hệ thống “trap”, khi đó virus sẽ chạy trong kenel mode với mọi lời gọi hệ thống. Thực hiện xong, nó chạy lời gọi hệ thống thật bằng cách nhảy đến địa chỉ đã bị trap lưu lại. Virus chạy trên mọi lời gọi hệ thống là để nhiễm vào các chương trình. Nó đợi một lời gọi hệ thống exec và nhiễm vào file.

7 loại Virus

Boot Sector

Ghi đè lên MBR hoặc boot sector để phá họai. Trước tiên copy boot sector thật vào vị trí an toàn trên ổ đĩa để khi nó hoạt động xong sẽ khởi động OS. Tự copy vào RAM, ở kernel mode, không MMU (Memory Management Unit), OS và anti-virus (vì đang boot)!!! Sau khi nạp xong OS: trở thành memory resident virus).

7 loại Virus

Device Driver

Nhiễm vào driver của thiết bị. Dễ thực hiện hơn trốn trong bộ nhớ. Windows và 1 số hệ thống UNIX: driver là 1 chương trình chạy (execute) lưu trên đĩa, load khi khở động, nhờ thế virus kí sinh cũng kích hoạt khi boot. Nguy hiểm hơn: driver chạy trong kernel mode: virus có cơ hội nắm giữ lời goi hệ thống “trap”.

7 loại Virus

Macro

Macro: nhóm 1 số lệnh thường dùng trong 1 số chương trình như MS-Office. Trong Office, nó gắn kèm riêng với từng file và thậm chí có thể chứa cả 1 chưong trình Visual Basic. Macro là loại virus đơn giản, dễ viết, dễ lây lan!

7 loại Virus

Source Code

Là lọai virus dễ nhiễm nhất

Anti-Virus Integrity Checker

B

Virus Scanner

A

C

Behavior Checker

Anti Virus

Recover

E

D

Avoidance

Virus Scanner

Virus 1 Virus 2

File 1

Compare

Virus 3

File 2 File 3

Scanner

Integrity Checker

File1

File 2

File 4

File 3

Vir us

n te Co

nts

ts

ts

ten

n nte Co

n Co

ts

n nte Co

File có Virus (dung lượng tăng)

Behavior Checker

Mục đích

Mục đích

•Soát mọi system calls

•Soát mọi system calls

•Giữ “trap”

•Xử lí hành động đáng nghi Cuộc chiến trong Memory!!!

Avoidance – Phòng ngừa Virus

•Chọn 1 hệ điều hành cung cấp 1 hệ thống bảo mật cao độ, với 1 chế độ kernel-user mạnh mẽ. •Chỉ nạp vào hệ thống những chương trình đảm bảo được sản xuất bởi các công ty đáng tin cậy. •Mua 1 gói phần mềm diệt virus tốt và dùng nó đúng theo chỉ dẫn. •Không download file đính kèm email. •Thường xuyên back up dữ liệu.

Recover

Phát hiện Virus

Reboot từ bộ nhớ ngòai

Restore

Scan

Back Up

Bảo mật và quản lí bảo mật UNIX

Các khái niệm căn bản Các lời gọi hệ thống Thực thi bảo mật

Các khái niệm căn bản

1

2

UID (0-65535) GID (0-65535) PID=Effective UID File ID=Owner ID

Root (UID = 0) SETUID SETGID

Root có quyền đọc và ghi tất cả các file trong hệ thống. Các tiến trình mang UID 0 có khả năng tạo 1 lượng nhỏ các lời gọi hệ thống được bảo vệ và bị cấm đối với user bình thường.

Các khái niệm căn bản

Mã nhị phân Dạng kí tự Ý nghĩa 111000000 rwx --- --- Người sở hữu có quyền đọc, ghi, thực thi. 111111000

rwx rwx---

Người sở hữu và nhóm có quyền đọc, ghi và thực thi

110100000

rw- r-- ---

Người sở hữu có quyền đọc và ghi, nhóm có quyền đọc

PID=Effective UID File ID=Owner 110100100 rw- r-- r-- ID Người sở hữu có quyền đọc và ghi, tất cả ngững người khác có 111101101

rwx r-x r-x

000000000

--- --- ---

quyền đọc Người sở hữu có mọi quyền, ngững người khác có quyền đọc và thực thi. Không ai có bất cứ quyền gì

000000111

--- --- rwx

Chỉ những người ngoài là có quyền (rất lạ, nhưng vẫn hợp lệ)

Các lời gọi hệ thống Lời gọi hệ thống

Giải thích

s = chmod(path, mode)

Thay đổi chế độ bảo vệ của 1 file

s = access(path, mode)

Kiểm tra quyền truy cập sử dụng UID và GID thật

uid = getuid( )

Trả về UID thật

uid = geteuid( ) PID=Effective UID

Trả về effective UID

File ID=Owner ID

gid = getgid( )

Trả về GID thật

gid = getegid( )

Trả về effective GID

s = chown(path, owner, group)

Thay đổi người sở hữu và nhóm sở hữu (*)

s = setuid(uid)

Đặt UID (*)

s = setgid(gid)

Đặt GID (*)

(*): chỉ root có quyền thực hiện

Thực thi bảo mật

Thuật toán mã hóa md5

Message

128 bit init

Added Mess

128 bit MD5 Functions

LOGO

Related Documents