1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật

50 383 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 50
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết tắt Tiếng Anh Tiếng Việt IoT Internet of Things Mạng Internet của vạn vật 6LoWPAN IPv6 over Low-power Wireless Personal Area Network Mạng các thiết bị không dây năng lượng thấp 6BR

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

ĐẶNG XUÂN ĐÍCH

PHÁT HIỆN XÂM NHẬP THEO THỜI GIAN THỰC TRONG MẠNG INTERNET CỦA VẠN VẬT

Ngành: Công nghệ thông tin

Chuyên ngành: Truyền dữ liệu và mạng máy tính

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS NGUYỄN ĐẠI THỌ

Trang 2

Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành nhất đến thầy giáo, Tiến

sĩ Nguyễn Đại Thọ Thầy đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình nghiên cứu, tìm hiểu, hoàn thành luận văn

Tôi xin bày tỏ lời cảm ơn chân thành đến những thầy cô đã giảng dạy tôi trong thời gian học cao học, các thầy cô đã giúp tôi trang bị những kiến thức để phát triển trong tương lai

Tôi cũng xin cảm ơn đến những bạn bè, người thân trong gia đình tôi

đã luôn ủng hộ, động viên tôi vượt qua những khó khăn trong cuộc sống

Hà Nội, ngày 28 tháng 9 năm 2016

Học viên

Đặng Xuân Đích

Trang 3

Kết quả mô phỏng cho thấy thuật toán cải tiến đã có hiệu quả so với phương pháp cũ Tỉ lệ phát hiện thành công các cuộc tấn công vẫn giữ được như trong SVELTE trong khi tỉ lệ phát hiện sai đã giảm xuống đáng kể

Từ khóa: SVELTE, IDS, Internet of Things

Trang 4

My graduation thesis will present an improvement to intrusion detection system in the Internet of Things, SVELTE [6] that was introduced

in 2013

SVELTE reconstructs the network topology on a control device, this device functions as sending and receiving data centre among internal and external network nodes

The reconstruction is based on informations that the control device has received from internal network devices When transfer is in progress, because

of the loss of information or network attacks, the inconsistency of informations among devices would happen Therefore, a module in SVELTE was created to solve this problem My Thesis proposes an improvement to the inconsistent information detection algorithm in SVELTE, using a novel vector clock timestamp technique [1] Improved system is also called SVELTE-VC

The simulation results indicate that our improved system has achieved better performance: the detection rate for attack is the same as SVELTE's while the wrong alarm rate significantly reduces

Keyword: SVELTE, IDS, IoT

Trang 5

Tôi xin cam đoan những vấn đề được trình bày trong luận văn về xây dựng hệ thống phát hiện xâm nhập theo thời gian thực trong mạng Internet của vạn vật là do sự tìm hiểu của cá nhân dưới sự hướng dẫn của Tiến sĩ Nguyễn Đại Thọ

Tất cả những tham khảo từ các nghiên cứu liên quan đều được trích dẫn, nêu rõ nguồn gốc một cách rõ ràng từ danh mục tài liệu tham khảo trong luận văn Trong luận văn này, tôi cam đoan không sao chép nguyên bản tài liệu, công trình nghiên cứu của người khác mà không chỉ rõ về tài liệu tham khảo

Hà Nội, ngày 28 tháng 9 năm 2016

Học viên

Đặng Xuân Đích

Trang 6

1 MỞ ĐẦU 1

1.1 Bối cảnh chung 1

1.2 Các công trình nghiên cứu liên quan 3

1.3 Mục đích của luận văn 3

1.4 Kết quả đạt được 4

1.5 Cấu trúc của luận văn 4

2 HỆ THỐNG PHÁT HIỆN XÂM NHẬP SVELTE 5

2.1 Định tuyến trong RPL và cơ chế tấn công sinkhole 5

2.2 Các thành phần phát hiện xâm nhập trong SVELTE 7

2.2.1 6LoWPAN Mapper 7

2.2.2 6LoWPAN Client 12

3 CẢI TIẾN GIẢI THUẬT PHÁT HIỆN SỰ KHÔNG NHẤT QUÁN VỀ THÔNG TIN TRONG MẠNG 14

3.1 Hạn chế của SVELTE 14

3.2 Cải tiến SVELTE sử dụng nhãn thời gian Vector 17

3.2.1 Khái niệm đồng bộ hóa tiến trình 17

3.2.2 Xác định trật tự cho các sự kiện trong hệ phân tán 17

3.2.3 Thiết lập nhãn thời gian Vector trong SVELTE 21

4 MÔ PHỎNG 27

4.1 Cài đặt và cấu hình 27

4.2 Kịch bản mô phỏng 28

4.3 Kết quả mô phỏng 30

4.3.1 Tỉ lệ phát hiện 32

4.3.2 Năng lượng tiêu thụ 35

5 KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN 38

6 TÀI LIỆU THAM KHẢO 39

7 PHỤ LỤC 41

Trang 7

Viết tắt Tiếng Anh Tiếng Việt

IoT Internet of Things Mạng Internet của vạn vật 6LoWPAN IPv6 over Low-power Wireless

Personal Area Network

Mạng các thiết bị không dây năng lượng thấp

6BR 6LoWPAN Border Router Thiết bị định tuyến biên

của 6LoWPAN IDS Intrusion detection system Hệ thống phát hiện xâm

nhập 6Mapper 6LoWPAN Mapper Tên một module trong hệ

thống SVELTE

RPL Routing Protocol for Low Power

and Lossy Network

Giao thức định tuyến cho mạng tổn hao năng lượng thấp và mạng cảm biến không dây

DAG Directed Acyclic Graph Đồ thị có hướng đi không

tuần hoàn DAG ROOT Directed Acyclic Graph ROOT Gốc đồ thị có hướng đi

không tuần hoàn DODAG Destination-Oriented DAG

Đồ thị có hướng đi không tuần hoàn có điểm đến được định hướng

Trang 8

Hình 1.1 - Ví dụ mạng Internet of Things 1

Hình 2.1 - Chọn Node cha (parent) trong thuật toán định tuyến RPL 6

Hình 2.2 - Cơ chế tấn công của sinkhole attack 6

Hình 2.3 – Hệ thống phát hiện xâm nhập SVELTE 7

Hình 2.4 - Cấu trúc mapping request packet 8

Hình 2.5 – Luồng xử lý dữ liệu trong SVELTE 9

Hình 2.6 - Cấu trúc mapping response packet 13

Hình 3.1 – Ví dụ SVELTE không phân biệt được sự không nhất quán do bản thân mạng 15

Hình 3.2 – Ví dụ về sự cập nhật Logic Lamport timestamp 20

Hình 3.3 – Ví dụ về sự cập nhật nhãn thời gian Vector 21

Hình 3.4 – Cấu trúc mapping response packet sử dụng nhãn thời gian vector 22

Hình 3.5 – Ví dụ mô phỏng phát hiện không nhất quán do bản thân mạng 25

Hình 4.1 - Giao diện của chương trình cooja trên ubuntu 28

Hình 4.2 - Đặt tên thư mục để chạy SVELTE-VC 28

Hình 4.3 - Mô phỏng với 8 Node, trong đó có 1 Node bị attacker điều khiển 29 Hình 4.4 - Mô phỏng với 16 Node, trong đó có 2 Node bị attacker điều khiển 30

Hình 4.5 - Mô phỏng với 32 Node, trong đó có 4 Node bị attacker điều khiển 30

Hình 4.6 - Mô phỏng sinkhole attack với 26 node mạng 31

Hình 4.7 – Tỉ lệ dương tính sai với kịch bản 8 node của SVELTE và SVELTE-VC 32

Hình 4.8 – Tỉ lệ dương tính sai với kịch bản 16 node của SVELTE và SVELTE-VC 33 Hình 4.9 – Tỉ lệ dương tính sai với kịch bản 32 node của SVELTE và SVELTE-VC 33 Hình 4.10 – Tỉ lệ dương tính đúng với kịch bản 8 node của SVELTE và SVELTE-VC 34

Hình 4.11 – Tỉ lệ dương tính đúng với kịch bản 16 node của SVELTE và SVELTE-VC 34 Hình 4.12 – Tỉ lệ dương tính đúng với kịch bản 32 node của SVELTE và SVELTE-VC 34 Hình 4.13 – Năng lượng sử dụng của toàn mạng trong 30 phút 36

Hình 4.14 – Điện năng sử dụng trung bình của các node trong 30 phút 36

Trang 9

1 MỞ ĐẦU

1.1 Bối cảnh chung

IoT là thuật ngữ khoa học dùng để chỉ ra những đối tượng có thể được nhận biết (identifiable) cũng như chỉ sự tồn tại của chúng trong một kiến trúc mang tính kết nối Cụm từ này được đưa ra bởi Kevin Ashton vào năm 1999 Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầu cho RFID (một phương thức giao tiếp không dây dùng sóng radio) cũng như một số loại cảm biến khác IoT sau đó cũng được dùng nhiều trong các ấn phẩm đến từ các hãng và nhà phân tích

Hình 1.1 - Ví dụ mạng Internet of Things

Internet of Things đang phát triển mạnh mẽ, nhận được nhiều sự quan tâm Dưới đây là một số dự đoán từ những chuyên gia của Businessinsider, một blog tài chính nổi tiếng, dự đoán về tương lai của IoT:

- Internet of Things sẽ là thị trường thiết bị lớn nhất trên thế giới Vào năm

2019 số lượng thiết bị IOT sẽ gấp đôi tổng số smartphone, PC, tablet, thiết

bị đeo thông minh wearable cộng lại

Trang 10

- IOT sẽ mang lại 1700 tỷ USD giá trị gia tăng cho nền kinh tế toàn cầu trong năm 2019 Con số này bao gồm phần cứng, phần mềm, chi phí lắp đặt, dịch vụ quản lý, và giá trị kinh tế gia tăng

- Giá trị của các thiết bị IOT sẽ chạm mốc 6,7 tỷ USD vào năm 2019 Trong đó doanh thu từ phần cứng sẽ chỉ chiếm 8% - khoảng 50 triệu USD, các nhà sản xuất phần mềm và các công ty cơ sở hạ tầng sẽ thu lợi nhiều hơn từ cổ phiếu IOT

- Sự tăng trưởng của IOT sẽ mang lại hiệu quả lớn và chi phí thấp hơn tại nhà, nơi làm việc và các thành phố trong tương lai Tuy nhiên, việc sử dụng các thiết bị điện tử trong hệ thống an ninh vẫn là một vấn đề nan giải

- Nền tảng IOT đang thiếu một chuẩn công nghệ và tiêu chuẩn chung để tương thích và sử dụng với các thiết bị Hiện nay có rất ít các tiêu chuẩn (hoặc quy định) cho những thiết bị chạy trên nền tảng này Vấn đề cấp bách nhất là phải chuẩn hoá các nền tảng IOT và giải quyết những vấn đề

an ninh hiện tại

(Trích, genk.vn – Internet of Things sẽ thế nào trong 5 năm tới)

Rõ ràng, IoT có thể thay đổi hoàn toàn cách sống của con người trong tương lai Khi mọi thứ đã được “Internet hóa”, người dùng hoàn toàn có thể điều khiển chúng từ bất cứ đâu, chỉ cần một chiếc điện thoại có kết nối Internet Nhưng đây cũng là một thách thức cho các nhà quản lý, một khi “vạn vật” được kết nối, thì tính bảo mật sẽ bị đặt dấu hỏi lớn và trở nên quan trọng

Các thiết bị trong mạng IoT kết nối với nhau thông qua một thiết bị điều khiển, thiết bị điều khiển này có thể là một máy tính, smartphone, Các thiết bị này có khả năng kết nối trực tiếp ra Internet, sẽ dễ dàng cho những kẻ tấn công

sử dụng chính mạng Internet đó xâm nhập và tấn công các thiết bị trong mạng

Do IoT là mạng kết nối mà các phần tử sẽ truyền tải thông tin, giao tiếp với nhau, vì thế việc truyền tải gói tin cần được bảo vệ chặt chẽ Mặc dù giải pháp

mã hóa và xác thực đã được thực hiện trong IoT nhưng IoT vẫn bị ảnh hưởng nặng bởi một số kiểu tấn công đặc biệt như sinkhole attack, selective forwarding attack Vì thế cần có một giải pháp chống lại các kiểu tấn công dạng này Giải

Trang 11

pháp phổ biến nhất hiện này là triển khai hệ thống phát hiện xâm nhập theo thời gian thực trong mạng Internet của vạn vật

1.2 Các công trình nghiên cứu liên quan

Trên thế giới hiện nay, cũng có một số hệ thống phát hiện xâm nhập theo thời gian thực đã được đề xuất, ví dụ như:

- RIDES [7], một hệ thống phát hiện xâm nhập trong mạng cảm biến không dây dựa trên chữ ký

- Phát hiện xâm nhập DoS trong mạng 6LoWPan [8] hay SVELTE, một hệ thống phát hiện xâm nhập theo thời gian thực phát hiện các cuộc tấn công sinkhole đã được kiểm chứng qua mạng giả lập

SVELTE triển khai trên mạng IoT sử dụng Ipv6 để định danh các thiết bị trong mạng và được định tuyến bằng giao thức RPL IoT được gọi là mạng cho các thiết bị năng lượng thấp (6LoWPAN), thiết bị chuyển tiếp gói tin từ các thiết

bị trong mạng ra ngoài được gọi là 6BR SVELTE được cài đặt trên 6BR và trên các node, module chạy trên các node có nhiệm vụ gửi thông tin về cho 6BR, module trên 6BR nhận thông tin và phân tích các thông tin để đưa ra các cảnh báo Hệ thống SVELTE được đề xuất có tỉ lệ phát hiện khá cao, đặc biệt với những mạng nhỏ Tuy nhiên, SVELTE cũng có một hạn chế là không thể phân biệt được sự không nhất quán thông tin của các node báo về cho 6Mapper là do bản thân mạng hay do cuộc tấn công từ bên ngoài

1.3 Mục đích của luận văn

Sự không nhất quán thông tin trong mạng có thể bị gây ra bởi việc gửi nhận gói tin không đồng thời trong SVELTE hoặc do kẻ tấn công cố tình gửi thông tin sai lệch Thuật toán phát hiện sự không nhất quán của SVELTE dựa vào thông tin khai báo bởi số đông hàng xóm so với thông tin của node đó để đưa ra quyết định về sự không nhất quán Thuật toán này có nhược điểm đó là không xác định được thông tin sai lệch là do kẻ tấn công gây ra hay do việc gửi nhận thông tin trong mạng gây ra Vì thế, luận văn tập trung cải tiến thuật toán này dựa vào kỹ thuật gán nhãn thời gian vector Kết quả cho thấy thuật toán mới chạy ổn định và thu được kết quả tốt hơn

Trang 12

1.4 Kết quả đạt được

SVELTE được chạy mô phỏng trên Contiki OS, hệ điều hành chuyên để

mô phỏng các thiết bị nhúng không dây

Mô phỏng được chạy với mạng có 8 node, 16 node, 32 node trong 5 phút,

10 phút, 20 phút, 30 phút với một số lần nhất định để tìm ra được tỉ lệ phát hiện đúng các cuộc tấn công trong mạng

Kết quả đã phát hiện được các kiểu tấn công sinkhole attack với tỉ lệ phát

hiện đúng tương đương SVELTE trong khi tỉ lệ phát hiện sai đã giảm so với hệ thống cũ

1.5 Cấu trúc của luận văn

Phần tiếp theo của luận văn được tổ chức như sau:

- Chương 2: Hệ thống phát hiện xâm nhập SVELTE

Chương này mô tả cấu trúc, thuật toán của SVELTE và hạn chế của thuật toán gốc

- Chương 3: Cải tiến giải thuật phát hiện sự không nhất quán về thông

tin trong mạng

Chương này đi sâu phân tích, thiết kế giải thuật, đưa ra các giả mã của thuật toán sử dụng kĩ thuật gán nhãn thời gian vector để phát hiện các

sự sai khác là do bản thân mạng hay do cuộc tấn công sinkhole Trình bày

ưu điểm của giải thuật cải tiến

- Chương 4: Mô phỏng

Chương này đưa ra hướng dẫn cài đặt mô phỏng SVELTE-VC, đưa

ra các giả thiết, trường hợp trong mô phỏng Đồng thời, trong chương này cũng đưa ra các biểu đồ, so sánh kết quả với kết quả cũ đã được kiểm chứng

- Chương 5: Kết luận và phương hướng phát triển

Chương này tóm lược nội dung luận văn, đề xuất những hướng phát triển của đề tài

Trang 13

2 HỆ THỐNG PHÁT HIỆN XÂM NHẬP SVELTE

SVELTE được cài đặt trên mạng của các thiết bị hạn chế về tài nguyên kết nối với mạng Internet thông qua giao thức Ipv6 để định danh 6LoWPAN RPL được sử dụng làm giao thức định tuyến trong hệ thống

SVELTE có ba module chính Module đầu tiên là 6LoWPAN Mapper, module được cài trên 6BR với nhiệm vụ phân tích, phát hiện xâm nhập trong mạng từ dữ liệu thu thập được và phát hiện xâm nhập, module này sẽ được trình bày trong phần 2.2.1 Module thứ hai là 6LoWPAN Client, được cài đặt trên các node, có nhiệm vụ thu thập thông tin của các node hàng xóm và gửi về cho 6Mapper, module này sẽ được trình bày trong phần 2.2.2 Module cuối cùng là

hệ thống tường lửa được thiết kế để lọc các gói tin không muốn truyền tải trong mạng, nhưng do luận văn nghiên cứu và cải tiến hệ thống phát hiện xâm nhập, nên việc triển khai tường lửa không được đề cập tới

Nhưng trước hết, để hiểu được hệ thống phát hiện xâm nhập, ta phải hiểu

cơ chế định tuyến và tấn công trong RPL

2.1 Định tuyến trong RPL và cơ chế tấn công sinkhole

DAG [13] [14] là một topo mạng mà mọi kết nối giữa các phần tử (Node) trong DAG đều có hướng hướng về DAG ROOT và đảm bảo không tạo ra các vòng lặp trong DAG RPL [13] [14] sử dụng DAG để định tuyến, 6BR chính là DAG ROOT trong RPL, các thiết bị là các Node trong RPL Thuật toán định tuyến này sử dụng một giá trị gọi là rank để xác định tuyến đường từ node cần gửi tin tới DAG ROOT DAG ROOT sẽ có rank nhỏ nhất, càng ra xa, các node

sẽ có rank càng cao, node sẽ chọn node bên cạnh (node hàng xóm – node neighbor) có rank nhỏ nhất làm node chuyển tiếp gói tin (node cha – node parent)

Trang 14

Hình 2.1 - Chọn Node cha (parent) trong thuật toán định tuyến RPL

Sinkhole attack [3] là kiểu tấn công mà node bị kẻ tấn công điều khiển khai báo sai lệch rank nhằm mục đích đánh lừa các node trong mạng chuyển tiếp gói tin qua node đó tức là chọn node đó làm node cha Kiểu tấn công này có thể kết hợp với selective forwarding attack [3] Sự kết hợp giữa hai kiểu tấn công này gây hậu quả rất nghiêm trọng cho mạng, có thể một phần lớn mạng không thể giao tiếp với mạng Internet bên ngoài

Hình 2.2 - Cơ chế tấn công của sinkhole attack

Trang 15

SVELTE tập trung vào phát hiện kiểu tấn công trên dựa vào việc phân tích

các thông tin về rank do các Node trong mạng gửi về SVELTE được cài đặt

trên cả 6BR và các node trong mạng, đây là mô hình của SVELTE:

Hình 2.3 – Hệ thống phát hiện xâm nhập SVELTE

Module cài trên 6BR được gọi là 6LoWPAN Mapper (6Mapper), 6Mapper

có nhiệm vụ thu thập thông tin về mạng do các node báo lại, phân tích đưa ra

các cảnh báo về các cuộc tấn công trong mạng Module cài trên các Node gọi là

6Mapper client, module này chỉ có nhiệm vụ thu thập thông tin và gửi về cho

6Mapper

Khi nhận được các thông tin của các node, 6Mapper bắt đầu phân tích các

gói tin bằng các giải thuật như phát hiện sự không nhất quán thông tin trong

mạng, phát hiện mâu thuẫn giữa quan hệ cha-con trong mạng,

1

1.1

2.2 Các thành phần phát hiện xâm nhập trong SVELTE

2.2.1 6LoWPAN Mapper

Module này còn được gọi tắt là 6Mapper Nó thực hiện nhiệm vụ tái hiện

lại cấu trúc mạng tại 6BR, tức là xây dựng lại thông tin của các node trên 6BR

bằng các cấu trúc dữ liệu định sẵn

Để tái hiện lại cấu trúc của của mạng, 6Mapper sẽ gửi đi các gói tin yêu

cầu lấy thông tin tới tất cả các node (còn gọi là Mapping request packet) Các

Trang 16

gói tin này bao gồm các thông tin: RPL Instance ID (IID), DODAG ID, DODAG version, timestamp

Hình 2.4 - Cấu trúc mapping request packet

Trong đó:

- IID: IID của 6BR

- DODAG ID: địa chỉ gửi gói tin, trong trường hợp này là địa chỉ của 6BR

- DODAG version: phiên bản của DODAG

- Timestamp: nhãn thời gian của gói tin

SVELTE có thể sử dụng các giải pháp mã hóa và xác thực gói tin, nhưng để đơn giản phần cài đặt mô phỏng, giả thiết gói tin đã được mã hóa và xác thực Nếu trong thực tế khi triển khai hệ thống, hệ thống mà có cài đặt thêm việc xác thực gói tin thì trường DODAG ID không cần được thêm vào gói tin Mapping request do việc xác nhận đã chứa thông tin về nguồn gửi gói tin

6Mapper dựa vào các thông tin nhận được từ các node gửi tới để phân tích đưa ra nhận định về việc mạng có là mục tiêu của cuộc tấn công nào hay không

Sự không nhất quán trong khi xây dựng lại cấu trúc của mạng tại 6BR có thể xảy ra, điều đó có thể gây ra cảnh báo sai lầm trong hệ thống Sự không nhất quán này có thể xảy ra khi thông tin về một node quá cũ hoặc do kẻ tấn công cố tình gửi thông tin sai lệch

Luồng xử lý thông tin trong SVELTE

Dữ liệu được xử lý với 3 thuật toán: phát hiện và hiệu chỉnh thông tin không nhất quán giữa các node, phát hiện các node có thông tin quá hạn (out of date), phát hiện bất thường giữa quan hệ cha-con Sau khi dữ liệu được phân tích, hệ thống sẽ đưa ra cảnh báo về các node có dấu hiệu bất thường

Trang 17

Hình 2.5 – Luồng xử lý dữ liệu trong SVELTE 2.2.1.1 Phát hiện sự không nhất quán trong mạng

Trong mạng Internet của vạn vật, các node có thể bị chiếm quyền điểu khiển bởi kẻ tấn công thông qua nhiều cách Khi node bị chiếm quyền điều khiển, kẻ tấn công có thể chỉ định node đó gửi các thông tin sai lệch về rank của node đó hoặc rank của hàng xóm cho 6Mapper Thông tin sai lệch này cũng có thể bị gây ra bởi sự mất mát gói tin, do mạng Internet của vạn vật là mạng không dây của các thiết bị năng lượng thấp (thường là chạy bằng pin), nên việc mất mát gói tin là không tránh khỏi Vì thế việc phát hiện sự không nhất quán về thông tin của các node và sửa lại thông tin đó rất quan trọng Giải thuật dưới đây giải quyết vấn đề trên Sau đây là mã giả của giải thuật:

Giải thuật (GT1):

Require: N – A list of nodes

for Node in N do

for Neighbor in Node.neighbors do

Diff= |Node.neighborRank(Neighbor) - Neighbor.rank | Avg = (Node.neighborRank(Neighbor) + Neighbor.rank)/2

{If the absolute difference is greater than 20% of the ranks average}

if Diff > Avg * 0.2 then

Node.fault = Node.fault + 1 Neighbor.fault = Neighbor.fault + 1

end if end for

end for

Phát hiện và hiệu chỉnh thông tin không nhất quán

Phát hiện các node có thông tin quá hạn

Phát hiện bất thường giữa node cha và con

Thông

tin node

Cảnh báo

Trang 18

for Node in N do

if Node.fault > FaultThreshold then

Node.rank = Rank reported for Node by any neighbor

for Neighbor in Node.neighbors do

Node.neighborRank (Neighbor) = Neighbor.rank

end for end if end for

Giải thuật (GT1) phát hiện sự không nhất quán về thông tin trong mạng

dựa vào sự tích lũy số lần thông tin không nhất quán của các node Vòng lặp đầu tiên kiểm tra thông tin không nhất quán Mỗi node được tái hiện trên 6BR bởi một cấu trúc dữ liệu Mỗi cấu trúc dữ liệu biểu diễn một node sẽ có một biến

fault Nếu sự chênh lệch về rank của node đó do node đó báo cáo với 6Mapper

và do hàng xóm của node đó báo cáo với 6Mapper lớn hơn 20% trung bình của

hai giá trị thì biến fault được cộng thêm 1 tại cả hai node Vòng lặp thứ hai kiểm tra biến fault của các node, biến fault của node nào vượt ngưỡng cho phép, node

đó sẽ bị đánh giá là không nhất quán thông tin so với thực tế, thông tin về rank của node đó sẽ được sửa theo thông tin của bất kỳ hàng xóm nào báo về Con số 20% trung bình của hai giá trị rank được tác giả đưa ra qua kết quả thực nghiệm trong mạng từ 8 đến 32 node, con số này có thể bị thay đổi với các mạng có số cấu trúc mạng khác

Thuật toán (GT1) có nhược điểm không phân biệt được thông tin không

nhất quán do kẻ tấn công gây ra hay do sự truyền tải gói tin trong mạng Việc phát hiện do việc truyền tải gói tin trong mạng hoàn toàn có thể xác định được bằng kỹ thuật gán nhãn thời gian vector

2.2.1.2 Kiểm tra các node còn hoạt động trong mạng

Việc kiểm tra các node còn hoạt động trong mạng rất quan trọng Ví dụ, khi có cuộc tấn công selective forwarding trong mạng, node bị chiếm quyền điểu khiển có thể chặn tất cả các gói tin, chỉ cho gói tin định tuyến RPL đi qua Chúng ta có thể dựa vào bảng định tuyến RPL tại node root để kiểm tra các node còn hoạt động hay không Việc kiểm tra cần sử dụng một danh sách trắng W,

Trang 19

danh sách các node đã biết thông tin bởi 6Mapper là M Kết quả của việc kiểm tra sẽ là danh sách các node bị lọc F

Giải thuật (GT2):

Require: W – Set of whitelisted nodes

Require: M – Set of nodes known to the 6Mapper

F = [] {F will contain the filtered nodes}

2.2.1.3 Phát hiện sai lệch trong quan hệ giữa node cha và node con

Một kẻ tấn công có thể thực hiện sinkhole attack để quảng bá tuyến đường ngắn nhất cho các hàng xóm để gửi các gói tin Nếu kiểu tấn công này kết hợp với các kiểu tấn công khác như selective forwarding attack thì hậu quả rất nghiêm trọng, một lượng lớn gói tin trong mạng có thể không được gửi đi

SVELTE có thể phát hiện hầu hết các cuộc tấn công sinkhole attack bằng việc phân tích cấu trúc mạng Trong RPL, rank sẽ tăng dẫn từ root, vì thế rank của node cha luôn luôn nhỏ hơn node con Với mọi trường hợp, rank của node cha lớn hơn rank của node con đều là dấu hiệu của cuộc tấn công sinkhole attack

Việc phát hiện sai hoàn toàn có thể xảy ra, vì thế cần đặt ra một ngưỡng số lần phát hiện rank của node đó nhỏ hơn rank của cha, nếu vượt ngưỡng thì hệ

Trang 20

thống sẽ đưa ra cảnh báo Sau đây là giải thuật phát hiện sai lệch thông tin trong quan hệ cha-con:

for Node in N do

if Node.fault > FaultThreshold then

//Raise alarm end if

end for

Trong RPL, một root sẽ có giá trị MinHopRankIncrease là giá trị tăng

nhỏ nhất của rank, hiểu đơn giản rank của node con phải lớn hơn ít nhất

MinHopRankIncrease so với rank của node cha

Vòng lặp thứ nhất để kiểm tra sự sai lệch về rank giữa node con và node

cha Biến toàn cục fault sẽ được tăng nếu có sự sai lệch đó Khi sự sai lệch vượt

quá ngưỡng đặt ra trước thì cảnh báo sẽ được đưa ra

Giải thuật này phát hiện hầu hết các cuộc tấn công sinkhole attack Kẻ tấn công khi thực hiện sinkhole attack sẽ quảng bá rank của node bị điều khiển nhỏ hơn rank của node cha, vì thế thuật toán cho kết quả tốt Nếu kẻ tấn công quảng

bá rank lớn hơn rank của node cha, điều này không có ý nghĩa nhiều về việc định tuyến các gói tin qua nó

2.2.2 6LoWPAN Client

Module này có chức năng thu thập thông tin của các node hàng xóm và gửi đến cho 6Mapper qua gói tin Mapping reponse

Trang 21

Các node dựa vào thông tin của gói tin yêu cầu lấy thông tin về node để xây dựng lên gói tin trả lời (Mapping response packet)

Cấu trúc gói tin trả lời như sau:

Hình 2.6 - Cấu trúc mapping response packet

Trong đó:

- Node ID: id của node gửi gói tin trả lời

- IID, DAG ID, ver, TS: là các giá trị được lấy từ gói tin yêu cầu gửi thông tin

- Rank: rank của node gửi gói tin

- Parent ID: id của node cha

- Neighbors: là danh sách chứa các thông tin về hàng xóm Danh sách này gồm:

+ N: số hàng xóm

+ Nbr ID: id của node hàng xóm

+ Rank: rank của hàng xóm

Trang 22

3 CẢI TIẾN GIẢI THUẬT PHÁT HIỆN SỰ KHÔNG NHẤT QUÁN VỀ THÔNG TIN TRONG MẠNG

sẽ xuất hiện khả năng có những node mà biến đánh dấu sự không nhất quán không vượt ngưỡng, sẽ không được cập nhật lại dẫn đến không phát hiện được node giả mạo Ngoài ra, SVELTE phân tích sự bất thường dựa trên thông tin là rank, nên đôi khi sự bất thường về rank của node là do bản thân mạng chứ không phải cuộc tấn công giả mạo rank từ bên ngoài nên SVELTE có sự nhận định sai

Trang 23

Hình 3.1 – Ví dụ SVELTE không phân biệt được sự không nhất quán do bản thân mạng

Node K là cha của Node G, Rm(Node) sẽ là rank của Node tại 6Mapper,

Ra(Node) sẽ là rank thực tế của Node đó, Rn(Node) là rank của node ghi nhận tại các node neighbor

- K gửi thông tin về rank cho 6Mapper là 1280, vì thế Ra(K) = 1280, Rm(K)

= 1280

- Đến một thời điểm nào đó, node K tính toán lại rank và giá trị lúc đó là

768, node K sẽ quảng bá rank tới các hàng xóm trong đó có cả G, vậy

do node G báo lại cho 6Mapper là 768 6Mapper kiểm tra thấy có sự sai khác về rank của node K 6Mapper sẽ tiến hành đếm số lần phát hiện sai khác rank từ

Trang 24

các node neighbor gửi về, nếu vượt quá ngưỡng cho phép thì sẽ coi đó là sinkhole attack, nhưng thực chất sự sai khác rank ở node K là do trong quá trình xây dựng DAG mạng bị lỗi, delay, hay sự cố nào đó mà node K chưa kịp gửi thông tin cập nhật rank mới về cho 6Mapper

Việc sử dụng nhãn thời gian vector trên thế giới được ứng dụng khá nhiều trong các bài toán ứng dụng thực tế, nó giải quyết được vấn đề đánh dấu các luồng gửi-nhận thông tin qua lại có phân biệt trước sau Kết quả là việc phân biệt được đâu là sự kiện diễn ra trước, đâu là sự kiện diễn ra sau theo quan hệ nhân quả Áp dụng kỹ thuật gán nhãn thời gian vector vào hệ thống SVELTE sẽ giải quyết được việc phân biệt được sự sai khác thông tin node có phải là do bản thân mạng hay không Chi tiết giải thuật cải tiến sẽ được trình bày trong phần sau

Trang 25

3.2 Cải tiến SVELTE sử dụng nhãn thời gian Vector

3.2.1 Khái niệm đồng bộ hóa tiến trình

Trong hệ tin học phân tán [1] [15], đồng bộ hóa tiến trình được hiểu như

là quá trình tạo nên sự hoạt động nhịp nhàng ăn khớp với nhau giữa tất cả các

đối tượng có tham gia yêu cầu chia sẻ tài nguyên dùng chung

Điều kiện chủ yếu của việc đồng bộ hóa các tiến trình trong hệ phân tán là:

- Các tiến trình của hệ phải được phát triển trong cùng chu kỳ thực hiện với các thời gian thực hiện lệnh khác nhau do khả năng xử lý của các bộ xử lý (hoặc vi xử lý) thành phần khác nhau

- Các tiến trình phát triển trong các hệ thống thành phần khác nhau, nằm ở các địa điểm khác nhau và nối với nhau qua đường truyền trong điều kiện có diễn ra sự cố kỹ thuật

Không sử dụng bộ nhớ và đồng hồ chung

Xuất phát từ yêu cầu và điều kiện kỹ thuật nêu trên, người ta cần phải nghiên cứu các giải pháp đủ mạnh và hiệu quả để có thể đồng bộ hóa các tiến trình như là đối tượng chủ yếu tham gia tạo nên sự hoạt động của hệ thống đồng bộ

3.2.2 Xác định trật tự cho các sự kiện trong hệ phân tán

Giới thiệu

Một hệ thống phân tán bất kỳ nào cũng được cấu tạo từ 𝑛 thành phần Các thành phần này có thể là các tiến trình hoặc các trạm, các nút hoặc các máy Server không dùng bộ nhớ chung và liên lạc với nhau bằng cách duy nhất là trao đổi thông điệp Mỗi một thành phần như thế hoạt động như một otomat có nghĩa

là nó triển khai các phép toán có khả năng thay đổi trạng thái của mình và của toàn hệ thống

Các phép toán thực hiện bằng một trong những thành phần vừa nêu phải được sắp xếp một cách tự nhiên theo những trình tự diễn ra Nếu một tiến trình nào đó cho phép chứa nhiều luồng, trên hệ thống đơn bộ xử lý, đó chính là trật

tự thực hiện các lệnh trên bộ xử lý này Chính bộ xử lý này sắp xếp các sự kiện

Ngày đăng: 27/08/2017, 09:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Sukumar Ghosh, Distributed Systems: An Algorithmic Approach Distributed Systems, Second Edition,2015 Sách, tạp chí
Tiêu đề: An Algorithmic Approach Distributed Systems
[2] J. Hui, P. Thubert, Compression Format for IPv6 Datagrams Over IEEE 802.15.4-Based Networks, RFC 6282, September 2011 Sách, tạp chí
Tiêu đề: Compression Format for IPv6 Datagrams Over IEEE 802.15.4-Based Networks
[3] C. Karlof, D. Wagner, Secure routing in wireless sensor networks: attacks and countermeasures, Ad Hoc Networks 1 (2) (2003) 293–315 Sách, tạp chí
Tiêu đề: Ad Hoc Networks 1
[4] N. Kushalnagar, G. Montenegro, C. Schumacher, IPv6 over LowPower Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals, RFC 4919, August 2007 Sách, tạp chí
Tiêu đề: IPv6 over LowPower Wireless Personal Area Networks (6LoWPANs): Overview, Assumptions, Problem Statement, and Goals
[5] Linus Wallgren, Shahid Raza, and Thiemo Voigt. Routing Attacks and Countermeasures in the RPL-Based Internet of Things. International Journal of Distributed Sensor Networks, vol. 2013, Article ID 794326, 11 pages, 2013 Sách, tạp chí
Tiêu đề: International Journal of Distributed Sensor Networks
[6] Shahid Raza, Linus Wallgren, Thiemo Voigt. SVELTE: Real-time Intrusion Detection in the Internet of Things. Ad Hoc Networks (Elsevier), 11(8), 2661-2674, November, 2013 Sách, tạp chí
Tiêu đề: Ad Hoc Networks "(Elsevier"), 11(8), 2661-2674
[7] Amin, Syed Obaid, et al. “A novel coding scheme to implement signature based IDS in IP based Sensor Networks.” Integrated Network Management-Workshops, 2009. IM’09. IFIP/IEEE International Symposium on. IEEE, 2009 Sách, tạp chí
Tiêu đề: A novel coding scheme to implement signature based IDS in IP based Sensor Networks.” "Integrated Network Management-Workshops
[8] Kasinathan, Prabhakaran, et al. “Denial-of-Service detection in 6LoWPAN based internet of things.” Wireless and Mobile Computing, Networking and Communications (WiMob), 2013 IEEE 9th International Conference on. IEEE, 2013 Sách, tạp chí
Tiêu đề: Denial-of-Service detection in 6LoWPAN based internet of things.” "Wireless and Mobile Computing, Networking and Communications (WiMob)
[9] Jun, Chen, and Chen Chi. “Design of Complex EventProcessing IDS in Internet of Things.” Measuring Technology and Mechatronics Automation (ICMTMA), 2014 Sixth International Conference on. IEEE, 2014 Sách, tạp chí
Tiêu đề: Design of Complex EventProcessing IDS in Internet of Things.” "Measuring Technology and Mechatronics Automation (ICMTMA)
[10] W. Wang, B. Bhargava, Visualization of wormholes in sensor networks, in: Proceedings of the 3rd ACM Workshop on Wireless Security, ACM, 2004, pp. 51–60 Sách, tạp chí
Tiêu đề: Proceedings of the 3rd ACM Workshop on Wireless Security
[15] Trần Thị Lý, Xây dựng giải pháp phân tán chống đăng ký trùng vé trong vận tải đường sắt, 2013 Sách, tạp chí
Tiêu đề: Xây dựng giải pháp phân tán chống đăng ký trùng vé trong vận tải đường sắt

HÌNH ẢNH LIÊN QUAN

Hình 1.1 - Ví dụ mạng Internet of Things - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 1.1 Ví dụ mạng Internet of Things (Trang 9)
Hình 2.3 – Hệ thống phát hiện xâm nhập SVELTE - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 2.3 – Hệ thống phát hiện xâm nhập SVELTE (Trang 15)
Hình 3.1 – Ví dụ SVELTE không phân biệt được sự không nhất quán do bản thân mạng - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 3.1 – Ví dụ SVELTE không phân biệt được sự không nhất quán do bản thân mạng (Trang 23)
Hình 3.2 – Ví dụ về sự cập nhật Logic Lamport timestamp - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 3.2 – Ví dụ về sự cập nhật Logic Lamport timestamp (Trang 28)
Hình 4.1 - Giao diện của chương trình cooja trên ubuntu - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.1 Giao diện của chương trình cooja trên ubuntu (Trang 36)
Hình 4.3 - Mô phỏng với 8 Node, trong đó có 1 Node bị attacker điều khiển - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.3 Mô phỏng với 8 Node, trong đó có 1 Node bị attacker điều khiển (Trang 37)
Hình 4.4 -  Mô phỏng với 16 Node, trong đó có 2 Node bị attacker điều khiển - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.4 Mô phỏng với 16 Node, trong đó có 2 Node bị attacker điều khiển (Trang 38)
Hình 4.5 -  Mô phỏng với 32 Node, trong đó có 4 Node bị attacker điều khiển - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.5 Mô phỏng với 32 Node, trong đó có 4 Node bị attacker điều khiển (Trang 38)
Hình 4.6 -  Mô phỏng sinkhole attack với 26 node mạng - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.6 Mô phỏng sinkhole attack với 26 node mạng (Trang 39)
Hình 4.7 – Tỉ lệ dương tính sai với kịch bản 8 node của SVELTE và SVELTE-VC - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.7 – Tỉ lệ dương tính sai với kịch bản 8 node của SVELTE và SVELTE-VC (Trang 40)
Hình 4.8 – Tỉ lệ dương tính sai với kịch bản 16 node của SVELTE và SVELTE-VC - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.8 – Tỉ lệ dương tính sai với kịch bản 16 node của SVELTE và SVELTE-VC (Trang 41)
Hình 4.9 – Tỉ lệ dương tính sai với kịch bản 32 node của SVELTE và SVELTE-VC - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.9 – Tỉ lệ dương tính sai với kịch bản 32 node của SVELTE và SVELTE-VC (Trang 41)
Hình 4.10 – Tỉ lệ dương tính đúng với kịch bản 8 node của SVELTE và SVELTE-VC - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.10 – Tỉ lệ dương tính đúng với kịch bản 8 node của SVELTE và SVELTE-VC (Trang 42)
Hình 4.13 – Năng lượng sử dụng của toàn mạng trong 30 phút - Phát hiện xâm nhập theo thời gian thực trong mạng internet của vạn vật
Hình 4.13 – Năng lượng sử dụng của toàn mạng trong 30 phút (Trang 44)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w