PDA

View Full Version : Thiết kế hệ thống phát hiện xâm nhập



HoangGiaLiem
08-04-2009, 08:09
Tuần 1: Tìm hiểu về lớp vật lý, lớp liên kết dữ liệu, cơ bản về wireless

Chương I

TÌM HIỂU VỀ LỚP VẬT LÝ

I. Lớp vật lý (PHYSICAL LAYER):

I.1. Khái niệm:

Thông qua phê chuẩn 1999 về triển khai công nghệ wireless LAN chuẩn 802.11a và 802.1b trở thành 1 giải pháp chung cho việc di động, giá thành thấp và hỗ trợ truy cập liên mạng. Ngày nay nhiều nhà sản xuất đưa ra các thiết bị kết nối không dây theo chuẩn 802.11a và 802.11b cung cấp hiệu quả gần như mạng sử dụng cáp thông thường. Mạng không dây tạo cho người dùng thoải mái di chuyển cùng với thiết bị của họ. 802.11 được dùng để định nghĩa nhiều loại công nghệ tầng vật lý khác nhau(Physical layer_ PHY) được sử dụng với 802.11 MAC.


http://img196.imageshack.us/img196/8126/hinhdau.jpg (http://img196.imageshack.us/i/hinhdau.jpg/)

Hình 1.1- Tầng con của tầng vật lý tham chiếu trên mô hình OSI.


Mỗi tầng vật lý 802.11 có 2 tầng con(sublayer):
• Physical Layer Convergence Procedure (PLCP).
• Physical Medium Dependant (PMD).

PLCP cơ bản là tầng bắt tay(handshaking layer) cho phép đơn vị dữ liệu truyền giao thức MAC(MPDUs) có thể truyền giữa các trạm MAC thông qua PMD, đó là phương pháp truyền và nhận dữ liệu thông qua môi trường không dây. PLCP và PMD đều dựa theo chuẩn 802.11.

Tất cả PLCP, không phân biệt loại 802.11 PHY nào, có dữ liệu gốc cung cấp giao diện để truyền các khối dữ liệu giữa MAC và PMD. Các PLCP còn hỗ trợ cho phép MAC thông báo cho PHY khi bắt đầu truyền và PHY thông báo cho MAC khi đã hoàn tất việc truyền. Bên phía nhận, PLCP gốc từ PHY đến MAC cho biết khi nó bắt đầu nhận và khi việc nhận hoàn tất. Để hổ trợ chức năng đánh giá kênh truyền rỗi(clear channel assessment_CCA), tất cả các PLCPs cung cấp một kỹ thuật cho phép MAC khỏi động lại PHY CCA và cho PHY thông báo trạng thái của môi trường không dây.

802.11 PLCPs theo biểu đồ trạng thái ở hình 2. trạng thái hoạt động cơ bản của chúng là cơ chế cảm nhận sóng mang/ đánh giá kênh truyền rỗi(CS/CCA). Các cơ chế này phát hiện tính hiệu bắt đầu Tx Start của một trạm phát khác và xác định khi nào kênh truyền rổi để truyền. Khi nhận được tính hiệu bắt đầu Tx Start, nó chuyển đổi sang trạng thái truyền bằng cách đổi PMD từ nhận sang truyền và gửi PLCP protocol data unit (PPDU). Sau đó nó thiết lập tính hiệu kết thúc Tx End và trả về trang thái CS/CCA. PLCP yêu cầu trạng thái gửi khi cơ chế CS/CCA phát hiện PLCP preamble và có tiêu đề PLCP đúng. Nếu PLCP phát hiện có lỗi, nó thông báo lỗi cho MAC và tiếp tục cơ chế CS/CCA.


http://img27.imageshack.us/img27/8726/hinhke.jpg (http://img27.imageshack.us/i/hinhke.jpg/)

Hình 1.2- Cơ chế cảm nhận sóng mang/đánh giá kênh truyền rỗi (CS/CCA)


I.2. Các khái niệm cơ bản về PHY và xây dựng Block:

− Scambling(sự xáo trộn âm tầng): Là một phương pháp để dữ liệu nhận được một cách ngẫu nhiên hơn bằng cách sắp xếp giữa các dãy bit từ dạng có cấu trúc thành dãy ngẩu nhiên. Bên nhận giải mã tín hiệu và sắp xếp lại những dãy ngẩu nhiên lại thành cấu trúc gốc. Hầu hết các phương pháp xáo trộn âm tầng là tự đồng bộ, nghĩa là bộ giải mã có thể đồng bộ với trạng thái của bộ xáo trộn âm.

− Coding(mã hóa): là một kỹ thuật cho phép dữ liệu truyền với tốc độ cao trên các kênh truyền bị nhiễu. Tất cả các kênh truyền đều bị nhiễu. Mã hóa cho phép một lượng dữ liệu lớn được gửi qua một môi trường truyền thông bị nhiễu, được thực hiện bằng cách thay thế các dãy bit bằng các dãy dài hơn mà cho phép nhận và sửa một bit lỗi. Như ví dụ ở hình 3, nếu gửi dãy 01101 thông qua đường dây điện thoại cho bạn, ở đây ta qui định là mỗi bit được lặp lại 3 lần, kết quả là ta được dãy 000111111000111. Thậm chí nếu bên nhận nhận có lỗi là 100111111000101 dựa vào từ bit thứ 2 đến bit cuối bên nhận vẩn có thể xác định dữ liệu gốc là 01101 thông qua lựa chọn kết hợp.


http://img12.imageshack.us/img12/6122/ketiep.jpg (http://img12.imageshack.us/i/ketiep.jpg/)

Hình 1.3- Ví dụ về mã hóa (coding).


− Interleaving(chèn): Mở rộng các bit trong khối có thể xảy ra lỗi, làm cho chúng độc lập hơn. Việc chèn có thể được thực hiện bằng phần mềm hay bằng phần cứng, mục đích chính của chúng là mở rộng các bit lân cận bằng cách thay thế bằng các bit không lân cận giữa chúng.

Ví dụ: tương tự như ví dụ trên, thay vì chỉ gửi 16 bit, các bit sẽ được chia ra thành khối 5 bit và lưu vào từng dòng của ma trận có 5 cột và 3 dòng. Sau đó gửi mỗi lần là 5 bit. Bên nhận sau khi nhận được lưu vào ma trận theo cột mỗi lần 3 bit và đọc theo dòng mỗi lần 5 bit. Áp dụng luật mã hóa để khôi phục lại dãy ban đầu.


http://img12.imageshack.us/img12/3455/hinh11f.jpg (http://img12.imageshack.us/i/hinh11f.jpg/)
Hình 1.4- Ví dụ về chèn (Interleaving).

Ryta
11-07-2009, 01:07
Chương 2



TÌM HIỂU VỀ LỚP LIÊN KẾT DỮ LIỆU


I. Lớp liên kết dữ liệu (DATALINK LAYER):

I.1. Phân lớp MAC (Medium Access Control):

Làm chức năng giao diện giữa lớp vật lý và thiết bị ở lớp trên. Hai chức năng chính của lớp MAC là kiểm tra vòng dư thừa CRC và phân mảnh gói (Packet Fragmentation). Mỗi gói tin sẽ được tính toán và được gán và một giá trị CRC để đảm bảo rằng gói tin sẽ không bị sai khi trong quá trình truyền dẫn. Việc phân mảnh gói sẽ cắt các gói tin lớn thành các gói nhỏ hơn để truyền trong không gian. Việc này sẽ mang lại hai lợi ích: thứ nhất là giảm yêu cầu phát lại vì gói càng lớn thì khả năng gói bị sai càng lớn, lợi ích thứ hai là trong trường hợp gói bị sai thì các nút chỉ cần truyền lại một gói nhỏ, do đó việc truyền lại sẽ nhanh hơn.

I.2. Phân lớp Mac xác định cơ chế truy nhập cơ bản:

Đa truy nhập cảm nhận sóng mang tránh xung đột CSMA/CA( Carrier Sense Multiple Access with Collision Avoidance).

− Một trạm muốn truyền thông trước hết nó kiểm tra môi trường truyền , nếu môi trường truyền rỗi thì nó mới truyền gói dữ liệu

− Tại trạm nhận sẽ truyền tín hiệu trả lời (ACK) cho trạm gởi rằng không có xung đột xảy ra.

− Nếu trạm gửi không nhận được tín hiệu trả lời (ACK) từ trạm nhận, nó sẽ gởi lại gói dữ liệu đầu tiên cho đến khi nào nhận được gói ACK từ trạm nhận.

CSMA/CA có một số quy luật chặt chẽ hơn CSMA/CD. Những quy luật này giúp ngăn chặn xung đột xảy ra.CSMA/CA thực hiện dò tìm xung đột khi trạm nhận không nhận được tín hiệu ACK. Khả năng thực thi của CSMA/CA được thể hiện rõ trong chức năng phối hợp phân tán DCF( Distributed Coodination Function). Sau đây là một số thành phần quan trọng 802.11 CSMA/CA:

− Cảm nhận sóng mang(Carrier sense)

− Chức năng phối hợp phân tán(DCF)

− Frame tín hiệu(Acknowledgment frames)

− Yêu cầu gởi/ xóa để gởi(Request to Send/Clear to Send RTS/CTS).

+ Carrier sense: một trạm muốn truyền thông phải thực hiện lắng nghe môi trường, nếu môi trường đang ở trạng thái bận, thì trạm gởi phải hoãn frame truyền lại cho đến khi môi trường rỗi. Việc xác định trạng thái môi trường sử dụng hai phương pháp:

• Kiểm tra layer 1 để dò tìm sóng

• Sử dụng chức năng cảm nhận sóng mang ảo, vector định vị mạng( NAV).

􀂙Trạm gởi có thể kiểm tra layer1 dò tìm xem môi trường có rỗi không?Trong một vài ví dụ: nếu môi trường truy xuất bị chiếm bởi một trạm khác qua đường NAV.


http://img244.imageshack.us/img244/6524/hinh1b.jpg (http://img244.imageshack.us/i/hinh1b.jpg/)
Hình 2.1- NAV.


NAV là thời gian được cập nhật khi gói dữ liệu được truyền. Frames 802.11 chứa một field thời gian. Giá trị thời gian này đủ lớn để frame có thể được truyền và nhận tín hiệu ACK. NAV chỉ được cập nhật khi field thời gian nhận được có giá trị lớn hơn giá trị thời gian hiện tại trong NAV. Ví dụ trong mô hình BSS Martha muốn gởi một frame đến George vì môi trường trong wireless là môi trường chia sẻ broadcast nên Vivian cũng sẽ nhận frame. Vivian sẽ cập nhật NAV với giá trị thời gian và không chấp nhận truyền cho đến khi nào NAV giảm xuống bằng không. Giá trị thời gian NAV chỉ được cập nhật khi Vivian nhận được frame có field thời gian lớn hơn giá trị NAV hiện tại.

http://img151.imageshack.us/img151/1550/hinh1moi.jpg (http://img151.imageshack.us/i/hinh1moi.jpg/)
Hình 2.2- Tiến trình cập nhật NAV.

Ryta
12-07-2009, 12:48
+ DCF: một trạm muốn truyền frame phải chờ một khoảng thời gian để môi trường ở trạng thái sẵn sàng, giá trị thời gian này được gọi là DCF interframe space(DIFS).


http://img440.imageshack.us/img440/2628/hinh23.jpg (http://img440.imageshack.us/i/hinh23.jpg/)

Hình 2.3- Thời gian để truy cập môi trường.


Khi khoảng thời gian DIFS trôi qua, môi trường mới ở trạng thái sẵn sàng và các trạm mới có thể truy cập.

Ở hình 2.5, Vivian và George muốn truyền frame thì Martha phải truyền xong. Cả 2 trạm cùng nhận giá trị NAV bằng nhau, và cả hai cùng lắng nghe môi trường rỗi và chấp nhận truyền frame đều đó dẫn đến xung đột, để tránh tình trạng này DCF sử dụng thuật toán lùi thời gian ngẫu nhiên( random backoff timer).

Thuật toán lùi thời gian ngẫu nhiên chọn lựa một giá trị từ 0 đến giá trị tranh chấp contention windown(CW). Các giá trị CW mặc định khác nhau phụ thuộc vào nhà sản xuất và giá trị này được lưu trữ trong card mạng(NIC) của các máy trạm. Dãy các giá trị lùi ngẫu nhiên này bắt đầu từ 0 và tăng dần đến giá trị lớn nhất CW, CW cũng sẽ thay đổi từ giá trị nhỏ nhất CWmin và dừng lại ở giá trị CWmax.


http://img41.imageshack.us/img41/6586/hinh24.jpg (http://img41.imageshack.us/i/hinh24.jpg/)

Hình 2.4- DCF sử dụng Random Backoff để truy cập môi trường.


Một trạm sẽ chọn ngẫu nhiên một giá trị giữa 0 và giá trị CW hiện tại. Giá trị ngẫu nhiên này là khe thời gian (slot time) mà máy trạm phải chờ trong suốt thời gian mà môi trường rỗi xảy ra tranh chấp. Thời gian rãnh là thời gian nhận được từ lớp vật lý dựa trên những đặc tính tần số của BSS.

Trở lại ví dụ, Vivian sẵn sàng để truyền dữ liệu. Giá trị thời gian đã giảm xuống bằng 0, và môi trường truyền cũng đã ở trạng thái rỗi. Vivian chọn ngẫu nhiên một giá trị thời gian từ 0 đến cw để lùi về chờ đợi chọn giá trị thời gian rãnh(slot times) trước khi truyền.


http://img8.imageshack.us/img8/1605/hinh25.jpg (http://img8.imageshack.us/i/hinh25.jpg/)

Hình 2.5- Truyền Frame sau khi Random Backoff.


http://img35.imageshack.us/img35/8534/hinh26.jpg (http://img35.imageshack.us/i/hinh26.jpg/)

Hình 2.6- Tiến trình truy cập môi trường DCF.


+ Frame tín hiệu( frame ACK): khi máy thu nhận một frame và nó sẽ gởi lại cho máy phát frame ACK để xác định rằng nó đã nhận Frame, nhưng trước khi truyền frame ACK máy thu cũng sẽ truy xuất môi trường.


http://img4.imageshack.us/img4/9682/hinh27.jpg (http://img4.imageshack.us/i/hinh27.jpg/)

Hình 2.7- Quá trình truyền frame ACK.


Đối với việc truyền frame ACK thì bỏ qua tiến trình random backoff . Sau khi nhận frame máy thu cũng sẽ chờ một khoảng thời gian rất ngắn trước khi truyền ACK, khoảng thời gian ngắn này được gọi SIFS( short interframe space). SIFS có giá trị ngắn hơn cả DIFS 2 slot time. SIFS bảo đảm tốt nhất cho máy thu có thể truy xuất được môi trường.

+ VẤN ĐỀ NODE ẨN VÀ RTS/CTS.
• Ta xét trường hợp sau:


http://img38.imageshack.us/img38/6141/hinh28c.jpg (http://img38.imageshack.us/i/hinh28c.jpg/)

Hình 2.8- Nút ẩn.


Node 2 có thể giao tiếp với node 1 và 3, nhưng nó ngăn không cho node 1 và 3 trao đổi trực tiếp với nhau vì sóng không thể đạt đến khoảng cách từ node 1 đến node 3. Vậy node 1 và 3 được gọi là các node ẩn. Nếu có một giao thức được sử dụng thì node 1 và node 3 có thể truyền cùng một lúc mà không phát hiện ra lỗi vì xung đột xảy ra tại node 2.

Xung đột xảy ra tại các node ẩn khó có thể dò tìm được. Wireless sử dụng cơ chế “ bán song công “ , tại một thời điểm một node không thể vừa truyền vừa nhận. Do đó để ngăn xung đột xảy ra, 802.11 cho phép các trạm sử dụng tín hiệu “ yêu cầu gởi( RTS) và xóa để gởi ( CTS)”. RTS giúp cho việc giữ liên kết sóng, và buộc các node khác phải lắng nghe nó.


http://img194.imageshack.us/img194/4827/hinh29.jpg (http://img194.imageshack.us/i/hinh29.jpg/)

Hình 2.9- Quá trình truyền thông giữa các node.


Node 1 gởi 1 frame, thì nó sẽ thực hiện gởi frame RTS, khi trạm đích nhận RTS thì nó sẽ gởi CTS để trả lời.Sau khi tiến trình gởi RTS và CTS thực hiện xong thì node 1 có thể truyền frame mà không sợ sự ảnh hưởng của các node ẩn khác.Tuy nhiên quá trình truyền RTS/ CTS đòi hỏi dung lượng phần cứng khá lớn. Do đó ta có thể thiết lập ngưỡng cho RTS( RTS threshold) nếu driver card 802.11 cho phép điều chỉnh.

(Hết chương 2 òy.)