bảo mật hệ điều hành

38
HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN AN TOÀN HỆ ĐIỀU HÀNH Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành Giảng viên: Nguyễn Đức Ngân Nhóm sinh viên: Trương Quốc Đạt

Upload: cu-chuoi

Post on 22-Dec-2015

31 views

Category:

Documents


6 download

DESCRIPTION

An toàn hệ điều hành

TRANSCRIPT

Page 1: Bảo mật hệ điều hành

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA AN TOÀN THÔNG TIN

AN TOÀN HỆ ĐIỀU HÀNH

Đề tài: Nghiên cứu lỗ hổng bảo mật

hệ điều hành

Giảng viên: Nguyễn Đức Ngân

Nhóm sinh viên: Trương Quốc Đạt

Dương Đình Thịnh

Đinh Thị Ngọc

Page 2: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Mục lụcLỜI MỞ ĐẦU......................................................................................................................3

I. Tổng quan.....................................................................................................................4

1.1. Tổng quan về hệ điều hành....................................................................................4

1.2. Tổng quan về kiểm thử...........................................................................................4

1.2.1. Kiểm thử hộp đen............................................................................................5

1.2.2. Kiểm thử hộp trắng..........................................................................................9

II. Kĩ thuật khai thác lỗ hổng hệ điều hành......................................................................12

2.1. Lỗi bảo mật là gì và mục đích khai thác..............................................................12

2.2. Quá trình tấn công hệ thống.................................................................................12

2.2.1. Giai đoạn thu thập thông tin..........................................................................12

2.2.2. Giai đoạn phân tích và hành động.................................................................13

2.2.3. Dừng và xóa dấu vết......................................................................................13

2.3. Giới thiệu về định dạng lỗ hổng bảo mật CVE....................................................14

III. Sử dụng backtrack để khai thác lỗ hổng..................................................................16

3.1. Giới thiệu về backtrack và metasploit..................................................................16

3.1.1. Giới thiệu về Backtrack.................................................................................16

3.1.2. Giới thiệu về Metasploit................................................................................17

3.2. Demo kiểm thử và khai thác................................................................................19

1

Page 3: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Danh mục hình ảnhHình 1: Mô hình kiểm thử hộp đen..............................................................................................................5Hình 2: Các bước kiểm thử hộp đen............................................................................................................7Hình 3: Vòng lặp đơn giản........................................................................................................................10Hình 4: Vòng lặp lồng...............................................................................................................................10Hình 5: Vòng lặp nối tiếp..........................................................................................................................11Hình 6: Vòng lặp không có cấu trúc..........................................................................................................11Hình 7: Mô hình tấn công..........................................................................................................................19Hình 8: Khởi động Metaploit FrameWork.................................................................................................20Hình 9: Giao diện Connect của Metaploit.................................................................................................20Hình 10: Giao diện Connect của Armitage................................................................................................21Hình 11: Điền mật khẩu và connect...........................................................................................................21Hình 12: Giao diện của Armitage..............................................................................................................22Hình 13: Chọn MSFscans để tiến hành quét cổng.....................................................................................22Hình 14: Nhập dãy địa chỉ cần quét...........................................................................................................23Hình 15: Các máy nằm trong dải địa chỉ quét............................................................................................23Hình 16: Chọn phương thức tấn công port................................................................................................24Hình 17: Chọn tấn công bằng lỗ hổng ms08_067......................................................................................24Hình 18: Giao diện host sau khi bị tấn công..............................................................................................25Hình 19: Các tài khoản và mật khẩu trong máy tính bị tấn công...............................................................25Hình 20: Screenshot máy tính bị tấn công.................................................................................................26

2

Page 4: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

LỜI MỞ ĐẦU

Khi tốc độ ứng dụng công nghệ thông tin và phổ cập internet được đẩy nhanh, đời sống thực ngày càng gần và phụ thuộc vào máy tính thì vấn đề an ninh của nó càng cần được coi trọng và đặt ở tầm an ninh quốc gia. Đặc biệt là các lỗ hổng của hệ điều hành, có thể gây ra nhiều hậu quả nghiêm trọng nếu không được phát hiện và sửa nhanh chóng

Vấn đề đó đang trở nên hiện hữu, ảnh hưởng sâu rộng, tác động đến các vấn đề kinh tế chính trị và an ninh quốc gia. Đảm bảo an toàn các hệ điều hành là vấn đề quan trọng của các quốc gia trên thế giới. Tình hình trong nước cũng như trên thế giới trong năm 2015 và những năm liên tiếp được dự báo là sẽ tiếp tục diễn biến phức tạp với hàng loạt các lỗ hổng được phát hiện ,các thông tin, dữ liệu cá nhân bị đánh cắp, các biến thể vi rút mới xuất hiện…Vì vậy, việc nắm bắt các lợi thế của công nghệ thông tin, đồng thời hạn chế tối đa các nguy cơ và rủi ro chính là chìa khóa để đưa công nghệ thông tin thực sự trở thành hạ tầng, động lực cho sự phát triển kinh tế xã hội bền vững.

Chính những yếu tố trên nên nhóm chúng em đã làm đề tài Nghiên cứu lỗ hổng bảo mật

Nhóm em xin gửi lời cảm ơn đến Thầy Nguyễn Đức Ngân đã tạo điều kiện và giúp đỡ chúng em hoàn thành đề tài này

Nhóm chúng em xin chân thành cảm ơn !

3

Page 5: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

I. Tổng quan I.1. Tổng quan về hệ điều hành

- Hệ điều hành là một tầng của hệ thống máy tính, nằm giữa phần cứng và

các chương trình người dùng. Hệ điều hành được xây dựng trực tiếp trên

giao diện phần cứng và cung cấp giao diện giữa phần cứng máy tính và các

chương trình người dùng. Thông thường, các phần mềm ứng dụng sẽ không

trực tiếp thực hiện trên phần cứng máy tính mà nó yêu cầu 1 hệ điều hành

để chạy trên đó.

- Hệ điều hành chia sẻ các đặc trưng với cả phần cứng và phần mềm. Hệ điều

hành là phần mềm, nghĩa là nó là một chương trình đã được biên dịch, liên

kết và chạy trên máy tính.

- Chức năng của hệ điều hành là quản lý tài nguyên và thực thi như các máy

tính ảo.

- Hệ điều hành quản lý các tài nguyên phần cứng của hệ thống máy tính bao

gồm các chức năng sau:

o Chuyển đổi (Transforming): tạo ra tài nguyên mới từ tài nguyên đã

có. Tài nguyên được tạo ra sẽ hoạt động thay cho tài nguyên đã có

nhưng được sử dụng dễ dàng hơn.

o Đa thành phần (multiplexing): tạo ra một vài tài nguyên ảo từ một tài

nguyên.

o Lập lịch (Scheduling): Quyết định các chương trình nào sẽ được

nhận tài nguyên và khi nào thì chúng được nhận.

- Tóm lại, chức năng của hệ điều hành được xem xét trên 2 phương diện. Hệ

điều hành là một chương trình quản lý tài nguyên mà nó quản lý (định vị và

tự do), đa thành phần (tạo ra nhiều bản copy) và chuyển đổi (làm cho dễ sử

dụng hơn) các tài nguyên phần cứng.

I.2. Tổng quan về kiểm thử

Kiểm thử là một quá trình quan trọng trong ngành phát triền phần mềm. Trong

thực tế có rất nhiều cách thức kiểm thử bởi các kỹ sư phần mềm trước khi sản

4

Page 6: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

phẩm của họ được đem ra thị trường. Chính vì vậy họ sử dụng nhiều phương

pháp kiềm thử khác nhau.

I.2.1. Kiểm thử hộp đen

a) Khái niệm:

- Là phương pháp kiểm thử chỉ quan tâm đến kết quả đầu ra đối với một tập

dữ liệu đầu vào mà không quan tâm đến cách thực thi của các mã lệnh bên

trong của phần mềm.

- Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần mềm. Nó

cho phép thiết kế các điều kiện đầu vào để thực thi tất cả các yêu cầu chức

năng của chương trình. Kiểm thử hộp đen không phải là phần bù cho kiểm

thử hộp trắng. Đó là kỹ thuật kiểm thử bổ sung cho kiểm thử hộp trắng với

độ bao phủ các lớp ít lỗi hơn.

- Kỹ thuật kiểm thử hộp đen cố gắng tìm ra các lỗi sau: Các hàm bị lỗi hay

mất, lỗi giao diện, lỗi trong cấu trúc dữ liệu hay truy cập dựa trên dữ liệu

ngoài, lỗi thực thì và các lỗi khởi đầu và kết thúc.

- Mô hình:

Hình 1: Mô hình kiểm thử hộp đen

5

Page 7: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

b) Mục đích:

- Bổ sung cho phương pháp kiểm thử hộp trắng để phát hiện ra các lỗi khác

nhau mà kiểm thử hộp trắng không phát hiện ra được.

- Không giống kiểm thử hộp trắng được thực hiện sớm trong quá trình kiểm

thử, kiểm thử hộp đen nhắm đến áp dụng trong các giai đoạn sau của kiểm

thử. Vì kiểm thử hộp đen không để ý có chủ đích đến sự điều khiển, sự

quan tâm tập trung trên miền thông tin. Nếu người ta mong muốn sử dụng

phương pháp này để tìm tất cả các lỗi trong chương trình thì điều kiện bắt

buộc là phải kiểm thử tất cả các đầu vào, tức là mỗi điều kiện đầu vào có

thể là một trường hợp kiểm thử. Bởi vì nếu chỉ kiểm thử một số điều kiện

đầu vào thì không đảm bảo được chương trình đã hết lỗi. Tuy nhiên điều

này thực tế không thể thực hiện được.

c) Một số kỹ thuật sử dụng trong kiểm thử hộp đen

- Kỹ thuật phân hoạch tương đương: Được xử lý theo 2 bước

o Xác định các lớp tương đương.

o Xác định các trường hợp kiểm thử

- Phân tích các giá trị biên (BVA – Boundary Value Analysis): Khi thực hiện

việc kiểm thử phần mềm theo dữ liệu, chúng ta sẽ kiểm tra đầu vào của

người dùng, kết quả nhận được và kết quả tạm thời bên trong có được xử lý

chính xác hay không.

Các điều kiện biên là tình trạng trực tiếp ở phía trên và dưới các lớp

tương đương đầu ra. Việc phân tích các giá trị biên khác với phân hoạch

tương đương theo 2 điểm:

Mỗi biên của lớp tương đương chính là đích kiểm thử.

Không chỉ chú ý tập trung vào những điều kiện đầu vào, các

trường hợp kiểm thử cũng được suy ra từ việc xem xét các kết

quả ra ( tức các lớp tương đương đầu ra).

6

Page 8: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

- Kỹ thuật đồ thị nhân-quả (Cause-Effect Graph): Là một kỹ thuật thiết kế ca

kiểm thử, cung cấp một biểu diễn chính xác giữa các điều kiện logic (Đầu

vào) và các hành động tương ứng (đầu ra-kết quả). Kỹ thuật đồ thị nhân quả

được xây dựng dựa trên các modul chức năng, logic tiến trình và đặc tả hệ

thống.

d) Các bước kiểm thử hộp đen:

- Tạo các kế hoạch kiểm tra.

- Kiểm tra bên ngoài giao diện.

-

- Tiến hành kiểm tra bắt buộc.

- Thực hiện kiểm tra an ninh.

- Thực hiện kiểm tra toán cầu hóa.

Hình 2: Các bước kiểm thử hộp đen

e) Ưu điểm và nhược điểm

- Ưu điểm:

o Mang lại nhiều hiệu quả lớn trên những đơn vị mã nguồn sau viejc

kiểm thử hộp đen.

7

Page 9: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

o Người kiểm thử phần mềm không cần 1 kiến thức sâu rộng về đặc tả

và ngôn ngữ lập trình.

o Người kiểm thử và các lập trình viên là độc lập với nhau, kiểm thử

được cân nhắc và khách quan nhất.

o Người kiểm thử thực hiện những quan điểm của người xem (Người

chưa biết gì).

o Việc kiểm thử được tiến hành một cách sớm nhất ngay sau khi hoàn

thành việc đặc tả hệ thống.

o Có hiệu quả cao khi được sử dụng trên hệ thống lớn.

o Người kiểm thử không cần có kiến thức chi tiết về chức năng của hệ

thống.

o Kiểm thử phần mềm giúp hiển thị những việc chưa rõ ràng, những

mâu thuẫn trong đặc tả hệ thống.

- Nhược điểm:

o Chỉ có một số lượng nhỏ các yếu tố đầu vào có thể đã được kiểm tra.

o Nếu không có cách thức rõ ràng và chi tiết, các trường hợp kiểm thử

khó có thể được thiết kế.

o Có thể sẽ lặp lại những cái không cần thiết của việc kiểm tra đầu vào

nếu như người kiểm thử không có được thông tin về quy trình test

mà những người lập trình đã cố gắng làm.

o Có thể chấp nhận nhiều đường dẫn chương trình mà chưa được kiểm

tra.

o Không thể định hướng tới những đoạn mã cụ thể mà được cho là rất

phức tạp.

o Rất khó xác định các yếu tố đầu vào, nếu như quy trình thử không

được phát triển dựa trên bản đặc tả chi tiết.

8

Page 10: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

I.2.2. Kiểm thử hộp trắng

a) Khái niệm:

- Kiểm thử hộp trắng dựa vào giải thuật cụ thể, vào cấu trúc dữ liệu bên trong

của đơn vị phần mềm cần kiểm thử để xác định đơn vị phần mềm đó có

thực hiện đúng không. Do đó người kiểm thử hộp trắng phải có kỹ năng,

kiến thức nhất định để có thể thông hiểu chi tiết về đoạn code cần kiểm thử.

- Do đó kỹ thuật này chủ yếu được dùng để kiểm thử đơn vị. Trong lập trình

hướng đối tượng, kiểm thử đơn vị là kiểm thử từng tác vụ của 1 class chức

năng nào đó.

b) Các Kỹ thuật kiểm thử hộp trắng:

- Kiểm thử Đường cơ bản – Đồ thì dòng:

o Là kỹ thuật dùng trong kiểm thử hộp trắng được Tom McCabe đưa

ra đầu tiên. Đồ thị dòng gần giống đồ thị luồng điều khiển của

chương trình. Nó nhận được từ đồ thị luồng chương trình bằng cách

gộp các lệnh tuần tự và thay lệnh rẽ nhánh và các điểm kết thúc của

các đường điều khiển bằng một nút vị tự.

o Kỹ thuật luồng điều khiển là một chiến lược kiểm thử có cấu trúc mà

sử dụng luông điều khiển chương trình như một mô hình. Kỹ thuật

luồng điều khiển dựa trên sự lựa chọn cẩn thận một bộ những đường

kiểm thử thông qua chương trình.

o Kỹ thuật đường cơ bản-đồ thị dòng có thể giúp những người thiết kế

ca kiểm thử nhận được một độ phức tạp logic của một thủ tục và sử

dụng độ phức tạp này như một hướng dẫn hạn chế sự thực hiện một

bộ các đường cơ bản.

o Cấu trúc của đồ thị dòng bao gồm các nút hình tròn biểu thị một hay

một số lệnh tuần tự, hoặc thay cho điểm hội tụ các đường điều khiển.

Mỗi cạnh nối 2 nút biểu diễn dòng điều khiển. Đồ thị dòng chia mặt

phẳng thành nhiều miền có nút vị từ biểu thị sự phân nhánh.

- Kiểm thử dựa trên luồng điều khiển (Control – flow Testing)

9

Page 11: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

o Kiểm thử các biểu thức điều khiển: là phương pháp kiểm thử trên

những điều kiện logic của hàm hay module.

o Kiểm thử vòng lặp: Là phương pháp tập trung vào tính hợp lệ của

các cấu trúc vòng lặp. Có 4 loại vòng lặp, mỗi loại dùng một tập các

phép thử khác nhau.

Vòng lặp đơn giản

Hình 3: Vòng lặp đơn giản

Vòng lặp lồng

Hình 4: Vòng lặp lồng

10

Page 12: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Vòng lặp nối tiếp

Hình 5: Vòng lặp nối tiếp

Vòng lặp không có cấu trúc (ít sử dụng)

Hình 6: Vòng lặp không có cấu trúc

- Kiểm thử dựa trên luồng dữ liệu (Data – Flow Testing):

o Phương pháp kiểm thử luồng dữ liệu chọn lựa một số đường diễn

tiến của chương trình dựa vào việc cấp phát, định nghĩa, và sử dụng

những biến trong chương trình.

- Kiểm thử đột biến (Mutation Testing):

o Được sử dụng để kiểm tra chất lượng của bộ kiểm tra. Điều này

được thực hiện bởi việc thay đổi các lệnh trong mã nguồn và kiểm

tra nếu mã kiểm tra của bạn có thể tìm thấy lỗi.

11

Page 13: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

o Tuy nhiên, thực hiện kiểm thử đột biến là rất tốn kém, đặc biệt là

trên các ứng dụng lớn

II. Kĩ thuật khai thác lỗ hổng hệ điều hành II.1. Lỗi bảo mật là gì và mục đích khai thác

- Trong thế giới tin học, một lỗ hổng thường do một lỗi lập trình, lỗi hoặc sự

cố phần mềm, nằm trong một hoặc nhiều thành phần tạo nên hệ điều hành

hoặc trong chương trình cài đặt trên máy tính. Nói chung, chúng tương tự

như các hành động bất thường của phần mềm độc hại. Một lỗ hổng bị khai

thác với mục đích xấu sẽ giúp hỗ trợ việc xâm nhập của phần mềm độc hại

vào máy tính và cho phép hacker tấn công chiếm quyền điều khiển việc sử

dụng ban đầu của ứng dụng, trong đó có việc kích hoạt mã độc từ xa.

- Những lỗ hổng này tạo điều kiện thuận lợi cho việc cài đặt hoặc tải virus về

máy tính. Và lỗi chưa được vá kịp thời sẽ làm hệ thống máy tính của bạn bị

hỏng và giúp cho những kẻ có ý đồ xấu dễ dàng đánh cắp những thông tin

bí mật, quan trọng.

2.2. Quá trình tấn công hệ thống

- Quá trình tấn công có thể được khái quát qua 3 giai đoạn sau :o Giai đoạn 1 : Thu thập thông tino Giai đoạn 2 : Phân tích và hành độngo Giai đoạn 3 : Dừng và xoá dấu vết

2.2.1. Giai đoạn thu thập thông tin

2.2.1.1. Footprinting

Đây là bước mà kẻ tấn công nắm được càng nhiều thông tin càng tốt về đối tượng như Domain Name, Địa chỉ IP, giao thức mạng sử dụng (IP , IPX , DecNet ... )… Các thông tin cá nhân về người quản trị: Số điện thoại, địa chỉ, chức vụ, các chi nhánh của công ty… Đây là một bước quan trọng cho hacker nhiều thông tin, đôi khi với những thông tin này hacker đã có thể làm chủ hệ thống.

12

Page 14: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

2.2.1.2. Scanning

Khi đã có những thông tin cần thiết, thì tiếp đến là đánh giá và định danh những dịch vụ mà mục tiêu có. Việc này bao gồm:

- Quét cổng, xác định hệ điều hành - Tìm hiểu kĩ hơn về hệ thống đối tượng- Xác định hệ thống có đang chạy ko- Tìm hiểu các dịch vụ đang chạy hay đang lắng nghe- Tìm hiểu các lỗ hổng - Kiểm tra các cổng - Xác địng các dịch vụ sử dụng giao thức TCP và UDP- Tìm hiểu về hệ điều hành của hệ thống

2.2.1.3. Enumeration 

Bước thứ ba là tìm kiếm những tài nguyên được bảo vệ kém hoặc tài khoản người dùng mà có thể sử dụng để xâm nhập. Nó bao gồm các mật khẩu mặc định, các script và dich vụ mặc định. Rất nhiều người quản trị mạng không biết đến hoặc không sửa đổi lại các giá trị này.

Đến bước này, các hacker bắt đầu kiểm soát server nội bộ, xác định các tài khoản trên server, mức độ bảo vệ, tài nguyên chia sẻ…

2.2.2. Giai đoạn phân tích và hành động

2.2.2.1. Gainning Access (Đột nhập hệ thống)

Với các thông tin thu thập được hacker có thể sử dụng một kĩ thuật nào đó để biết được mật khẩu của tài khoản trên hệ thống.

2.2.2.2. Privilege Escalation (Nâng quyền hệ thống)

Đây là một giai đoạn thực sự khó vì việc nâng quyền đòi hỏi sự can thiệp không chính tắc vào hệ điều hành hoặc vào hệ thống phần mềm.

Ví dụ trong trường hợp hacker xâm nhập đựợc vào mạng với tài khoản guest, thì họ sẽ tìm cách kiểm soát toàn bộ hệ thống. Hacker sẽ tìm cách crack password của admin, hoặc sử dụng lỗ hổng để tăng đặc quyền trên hệ thống.

2.2.2.3. Pilfering (Khai thác hệ thống)

Thêm một lần nữa các máy tìm kiếm lại đựơc sử dụng để tìm các phương pháp truy cập vào mạng. Những tập tin lưu trữ mật khẩu hay các cơ chế không an toàn khác có thể giúp cho hacker khai thác hệ thống, định vị server và điều khiển server.

13

Page 15: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

2.2.3. Dừng và xóa dấu vết

a) Backdoors

Hacker để lại "Back Doors", tức là một cơ chế cho phép hacker truy cập trở lại bằng con đường bí mật không phải tốn nhiều công sức, bằng việc cài đặt Trojan hay tạo user mới (đối với tổ chức có nhiều user).

b) Covering Tracks (Xoá dấu vết)

Vì hệ thống luôn ghi nhận những hành động những gì đã xảy ra. Sau khi đã có những thông tin cần thiết, hacker tìm cách xoá dấu vết, xoá các file log của hệ điều hành làm cho người quản lý không nhận ra hệ thống đã bị xâm nhập hoặc có biêt cũng không tìm ra kẻ xâm nhập là ai.

2.3. Giới thiệu về định dạng lỗ hổng bảo mật CVE

- Hàng năm, có rất nhiều lỗ hổng bảo mật trên hệ thống mạng hay các hệ

điều hành được công bố nhằm mục đích tìm ra các giải pháp hiệu quả để

khắc phục, ngăn chặn các cuộc tấn công khai thác các lỗ hổng đó.

- Hiện tại có một số định dạng thông báo lỗ hổng bảo mật có thể kể đến như:

CVE, Microsoft Bullentin, BugtraqID.

- Sự ra đời của CVE:

o CVE là 1 danh sách tên các lỗ hổng bảo mật thông tin được phát

hiện và công bố cho cộng đồng biết.

o Dự án CVE bắt đầu tiến hành từ năm 1999 khi mà hầu hết các công

cụ bảo mật đều sử dụng CSDL.

o CVE ra đời đã chuẩn hóa định danh các lỗ hổng bảo mật, giúp cho

sản phẩm bảo mật, các dịch vụ bảo mật có thể “nói chuyện” được

với nhau.

o Hiện nay CVE được tổ chức MITRE quản lý, duy trì thông qua

Website công cộng.

- Danh sách CVE:

o Đặc điểm:

14

Page 16: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Mỗi 1 định danh CVE tương ứng với 1 lỗ hổng bảo mật.

Mỗi CVE miêu tả cơ bản, tổng quát về 1 lỗ hổng bảo mật.

CVE là 1 từ điển về các lỗ hổng bảo mật chứ không phải 1

CSDL.

CVE giúp đồng bộ thông tin về các lỗ hổng bảo mật giữa các

tổ chức.

CVE giúp cho việc đánh giá cơ bản các công cụ bảo mật.

CVE được tải về miễn phí.

15

Page 17: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

III. Sử dụng backtrack để khai thác lỗ hổngIII.1. Giới thiệu về backtrack và metasploit

III.1.1. Giới thiệu về Backtrack

a) Khái niệmBacktrack trực tiếp từ đĩa DVD mà không cần cài nó vào máy của chúng ta.

Backtrack cũng có thể được cài đặt vào ổ cứng và sử dụng như một hệ điều hành. Backtrack là sự hợp nhất giữa 3 bản phân phối khác nhau của Linux về thâm nhập thử nghiệm - IWHAX, WHOPPIX, và Auditor. Trong phiên bản hiện tại của nó (5), Backtrack được dựa trên phiên bản phân phối Linux Ubuntu 11.10. Tính đến ngày 19 tháng bảy năm 2010, Backtrack 5 đã được tải về của hơn 1,5 triệu người sử dụng. Phiên bản mới nhất là Backtrack 5 R2

b) Mục đíchCông cụ Backtrack đã có lịch sử phát triển khá lâu qua nhiều bản linux

khác nhau. Phiên bản hiện nay sử dụng bản phân phối Slackware linux (Tomas M. (www.slax.org)). Backtrack liên tục cập nhật các công cụ, drivers,... hiện tại Backtrack có trên 300 công cụ phục vụ cho việc nghiên cứu bảo mật.

Backtrack 5 chứa một số công cụ có thể được sử dụng trong quá trình thử nghiệm thâm nhập của chúng ta. Các công cụ kiểm tra thâm nhập trong Backtrack 5,0 có thể được phân loại như sau:

Information gather: loại này có chứa một số công cụ có thể được sử dụng để có được thông tin liên quan đến một mục tiêu DNS, định tuyến, địa chỉ e-mail, trang web, máy chủ mail, và như vậy. Thông tin này được thu thập từ các thông tin có sẵn trên Internet, mà không cần chạm vào môi trường mục tiêu.

Network mapping: loại này chứa các công cụ có thể được sử dụng để kiểm tra các host đang tồn tại, thông tin về OS, ứng dụng được sử dụng bởi mục tiêu, và cũng làm portscanning.

Vulnerability identification: Trong thể loại này, chúng ta có thể tìm thấy các công cụ để quét các lỗ hổng (tổng hợp) và trong các thiết bị Cisco. Nó cũng chứa các công cụ để thực hiện và phân tích Server Message Block (SMB) và Simple Network Management Protocol (SNMP).

Web application analysis: loại này chứa các công cụ có thể được sử dụng trong theo dõi, giám sát các ứng dụng web

Radio network analysis: Để kiểm tra mạng không dây, bluetooth và nhận

16

Page 18: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

dạng tần số vô tuyến (RFID), chúng ta có thể sử dụng các công cụ trong thể loại này.

Penetration: loại này chứa các công cụ có thể được sử dụng để khai thác các lỗ hổng tìm thấy trong các máy tính mục tiêu

Privilege escalation: Sau khi khai thác các lỗ hổng và được truy cập vào các máy tính mục tiêu, chúng ta có thể sử dụng các công cụ trong loại này để nâng cao đặc quyền của chúng ta cho các đặc quyền cao nhất.

Maintaining access: Công cụ trong loại này sẽ có thể giúp chúng ta trong việc duy trì quyền truy cập vào các máy tính mục tiêu. Chúng ta có thể cần để có được những đặc quyền cao nhất trước khi các chúng ta có thể cài đặt công cụ để duy trì quyền truy cập

Voice Over IP (VOIP): Để phân tích VOIP chúng ta có thể sử dụng các công cụ trong thể loại này

Digital forensics: Trong loại này, chúng ta có thể tìm thấy một số công cụ có thể được sử dụng để làm phân tích kỹ thuật như có được hình ảnh đĩa cứng, cấu trúc các tập tin, và phân tích hình ảnh đĩa cứng. Để sử dụng các công cụ cung cấp trong thể loại này, chúng ta có thể chọn Start Backtrack Forensics trong trình đơn khởi động. Đôi khi sẽ đòi hỏi chúng ta phải gắn kết nội bộ đĩa cứng và các tập tin trao đổi trong chế độ chỉ đọc để bảo tồn tính toàn vẹn.

Reverse engineering: Thể loại này chứa các công cụ có thể được sử dụng để gỡ rối chương trình một hoặc tháo rời một tập tin thực thi.

ProfessionFeed: Phiên bản tính phí.

III.1.2. Giới thiệu về Metasploit

a) Giới thiệu

Metasploit là một dự án bảo mật máy tính cung cấp các thông tin về vấn đề lỗ hổng bảo mật cũng như giúp đỡ về kiểm tra thăm nhập và phát triển hệ thống phát hiện tấn công mạng. Một dự án con rất nổi tiếng của Metasploit là Metasploit Framework

Metasploit Framework là một môi trường dùng để kiểm tra ,tấn công và khai thác lỗi của các service. Metasploit được xây dựng từ ngôn ngữ hướng đối tượng Perl, với những components được viết bằng C, assembler, và Python.Metasploit có thể chạy trên hầu hết các hệ điều hành: Linux, Windows, MacOS. Chúng ta có thể download chương trình tại www.metasploit.com

b) Các thành phần của Metasploit

17

Page 19: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Metasploit hỗ trợ nhiều giao diện với người dùng:

Console interface: dùng lệnh msfconsole. Msfconsole interface sử dụng các dòng lệnh để cấu hình, kiểm tra nên nhanh hơn và mềm dẻo hơn

Web interface: dùng msfweb, giao tiếp với người dùng thông qua giao diện web

Command line interface: dùng msfcli

Enviroment :

Global Enviroment:được thực thi thông qua 2 câu lệnh setg và unsetg, những options được gán ở đây sẽ mang tính toàn cục, được đưa vào tất cả các module exploits

Temporary Enviroment: được thực thi thông qua 2 câu lệnh set và unset, enviroment này chỉ được đưa vào module exploit đang load hiện tại, không ảnh hưởng đến các module exploit khác

Chúng có thể lưu lại enviroment mình đã cấu hình thông qua lệnh save. Môi trường đó sẽ được lưu trong ./msf/config và sẽ được load trở lại khi user interface được thực hiện

18

Page 20: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

III.2. Demo kiểm thử và khai thác:

* Mô hình mạng tấn công:

Ở đây chúng ta sẽ sử dụng:

- 1 máy ảo cài Back track đóng vai trò là một máy attacker

- 1 máy ảo cài Win Xp đóng vai trò là máy victim

Hình 7: Mô hình tấn công

Địa chỉ của máy attacker là : 192.168.1.103

Địa chỉ của máy victim là: 192.168.1.104

* Bắt đầu demo tấn công:

Bước 1: Ở trong máy Attacker, ta bật Terminal, sử dụng câu lệnh msfgui để bật metaploit chế độ giao diện

19

Page 21: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Hình 8: Khởi động Metaploit FrameWork

Bước 2: Vào File -> Show connection details sẽ hiện ra thông báo

Hình 9: Giao diện Connect của Metaploit

Ở đây ta sẽ thấy các thông tin cần thiết nếu muốn connect

20

Page 22: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Bước 3: Bật Armitage bằng cách sử dụng câu lệnh Armitage

Hình 10: Giao diện Connect của Armitage

Điền các thông tin vào và Connect, từ đó ta sẽ đăng nhập được vào giao diện của Armitage

Hình 11: Điền mật khẩu và connect

21

Page 23: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Hình 12: Giao diện của Armitage

Bước 4: Sau đó ta vào Host -> MSFscans để nhập dải địa chỉ IP cần quét

Hình 13: Chọn MSFscans để tiến hành quét cổng

22

Page 24: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Hình 14: Nhập dãy địa chỉ cần quét

Ở đây ta sẽ quét dãy địa chỉ là 192.168.1.0/24

Sau đó trong giao diện sẽ hiển thị ra các port mà đã quét được

Hình 15: Các máy nằm trong dải địa chỉ quét

23

Page 25: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Bước 5: Tiếp theo ta chọn phương thức tấn công máy victim

Hình 16: Chọn phương thức tấn công port

Sau đó click chuột vào biểu tượng của port mà ta muốn tấn công, ta chọn Attack -> smb -> ms08_067_netapi là ta sẽ tấn công vào lỗi MS08_067

Hình 17: Chọn tấn công bằng lỗ hổng ms08_067

24

Page 26: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Hình 18: Giao diện host sau khi bị tấn công

Từ đây chúng ta có thể thao tác với máy bị tấn công thông qua lỗi ms08_067

Như là xem có bao nhiêu tài khoản và mật khẩu của các tài khoản đó trong máy bị tấn công

Hình 19: Các tài khoản và mật khẩu trong máy tính bị tấn công

25

Page 27: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Hoặc là xem màn hình của máy tính bị tấn công

Hình 20: Screenshot máy tính bị tấn công

Ngoài ra chúng ta có thể có nhiều thao tác khác với máy tính bị tấn công

26

Page 28: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

KẾT LUẬNHiện nay công nghê thông tin ngày càng phát triển nên các lỗ hổng bảo mật

ngày càng nhiều và khó để phát hiện, thông qua các lỗ hổng bảo mật mà chưa được phát hiện và vá kịp thời thì những kẻ có mục đích không tốt sẽ thông qua đó để tấn công máy tính nhằm ăn cắp dữ liệu, phá hoại dữ liệu. Nên chúng ta hãy thường xuyên Update phần mềm, Firewall, cập nhật các kiến thức về an toàn hệ điều hành máy tính để có thể đối phó một cách tốt nhất với các lỗ hổng bảo mật hệ điều hành

27

Page 29: Bảo mật hệ điều hành

Đề tài: Nghiên cứu lỗ hổng bảo mật hệ điều hành

Tài liệu tham khảo- Tìm hiểu nghiên cứu về kiểm thử an toàn hệ điều hành – sưu tầm

http://text.123doc.org/document/2426023-tim-hieu-nghien-cuu-ve-kiem-thu-an-toan-he-dieu-hanh.htm?page=7

- Ceh.vn version 7- System hacking tìm hiểu về tấn công hệ thống – sưu tầm

http://123doc.org/document/1867941-system-hacking-tim-hieu-ve-tan-cong-he-thong.htm?page=4

- Lỗ hổng bảo mật những hiểu biết căn bảnhttp://www.quantrimang.com.vn/lo-hong-bao-mat-nhung-hieu-biet-can-ban-93098

- Khung khảo sát đánh giá lỗ hổng bảo mật của các hệ điều hànhhttp://123doc.org/document/1580786-khung-khao-sat-danh-gia-lo-hong-bao-mat-cua-cac-he-dieu-hanh-may-chu-dich-vu-tai-lieu-hay.htm?page=4

28