Upload
manhluusang
View
50
Download
2
Embed Size (px)
Citation preview
MỤC LỤC
Lời mở đầu................................................................................................................3
CHƯƠNG I: CƠ SỞ LÝ THUYẾT.........................................................................8
1.1. Tổng quan về mạng diện rộng (Wide Area Network )...............................8
1.1.1. Giới thiệu về WAN.............................................................................8
1.1.2. Giới thiệu về router trong mạng WAN............................................10
1.1.3 Router LAN và WAN.......................................................................12
1.1.4 Vai trò của router trong mạng WAN................................................14
1.1.5. Các công nghệ trong WAN...............................................................16
1.2 Mô hình OSI (Open System Interconnect)..................................................17
1.2.1 các giao thức trong mô hình OSI........................................................17
1.2.2Các chức năng chủ yếu của các tầng trong mô hình OSI....................18
1.3 Kiến trúc địa chỉ IP và địa chỉ MAC...........................................................19
1.3.1 kiến trúc địa chỉ IP..............................................................................19
1.3.2 Địa chỉ MAC......................................................................................22
1.3.2.1. Địa chỉ MAC..................................................................................22
1.3.2.2. Chức năng chuyển mạch của switch...............................................23
1.4 Một số kiểu tấn công cơ bản......................................................................26
1.4.1. Phương thức tấn công........................................................................26
1.4.2. Cách phòng chống.............................................................................28
1.4.3 Giới thiệu chung về giao thức ARP....................................................29
1.4.4 Quá trình gửi bản tin ARP..................................................................30
1.4.5. Quá trình nhận bản tin ARP..............................................................31
1.4.6. Các đặc điểm của giao thức ARP......................................................32
1.4.7. Các phương thức tấn công.................................................................33
1.4.8. Giả mạo ARP (ARP spoofing)..........................................................33
1.4.9. Cách phòng chống.............................................................................34
Chương II: TẤN CÔNG VLAN.............................................................................35
1
2.1. Giới thiệu chung về VLAN........................................................................35
2.2. Đóng gói VLAN.........................................................................................36
2.3. Quá trình xử lí bản tin đóng gói VLAN.....................................................38
2.3.1. Xử lí gói tin đầu vào.............................................................................38
2.3.2. Quá trình lọc bản tin.............................................................................39
2.3.3. Quá trình gửi bản tin............................................................................41
2.4. Giao thức trunking động DTP (Dynamic Trunking Protocol)...................42
2.5. Giao thức VTP (VLAN Trunking Protocol)..............................................42
2.5.1. Chế độ VTP (VTP mode).....................................................................43
2.5.2. Bản tin VTP..........................................................................................43
2.6. Các kiểu tấn công trong VLAN và cách phòng chống...............................47
2.6.1. Giả mạo DTP........................................................................................47
2.6.2. Đóng gói giả mạo VLAN.....................................................................48
Chương III: CHƯƠNG TRÌNH MÔ PHỎNG VLAN..........................................50
3.1. Chương trình giả mạo địa chỉ MAC...........................................................50
3.2. Tấn công đóng gói giả mạo VLAN............................................................52
3.2.1. Tấn công đóng gói giả mạo VLAN:.....................................................52
3.2.2. Tấn công giả mạo VTP.........................................................................57
3.2.3. Nhận xét...............................................................................................62
Kết luận63
Hướng phát triển của đề tài.....................................................................................64
Tài liệu tham khảo..................................................................................................65
2
Lời mở đầu
Trong thời đại công nghệ thông tin toàn cầu ngày nay, an ninh mạng là một
trong những vấn đề nổi cộm và được nhiều người nói đến. Khi nói đến an ninh
mạng người ta thường nói đến các kiểu tấn công, các phương pháp đột nhập; lấy
trộm thông tin…. Để đảm bảo mạng của mình có thể chống lại các cuộc tấn công
trên, các công ty thường sử dụng các công cụ như bức tường lửa hay sử dụng các
hệ thống phát hiện xâm nhập IDS….
Tuy nhiên các nhà quản trị mạng lại quên mất một điều rằng các nguy cơ
tấn công không chỉ đến từ các mạng bên ngoài mà còn tiềm ẩn ngay trong mạng
nội bộ của công ty mình. Các cuộc tấn công này có thể diễn ra dễ dàng và nguy
hiểm hơn một phần chính là do sự chủ quan của các nhà quản trị mạng. Bởi vì nếu
như các công cụ kể trên làm việc rất tốt với lớp trên của mô hình OSI (từ lớp 3 trở
lên) thì lại hoàn toàn không có tác dụng gì với các gói tin lớp 2.
Như ta đã biết, mô hình OSI là một mô hình tham chiếu bao gồm 7 lớp có
các chức năng độc lập với nhau và chỉ tương tác qua lại lẫn nhau tại phần giao
diện của hai lớp. Điều này cho phép các lớp có thể phát triển mở rộng một cách rất
linh động mà không làm ảnh hưởng đến các lớp khác cũng như không làm ảnh
hưởng đến giao diện chuẩn của nó với các lớp khác.
Tuy nhiên điều này cũng đem lại một điểm hạn chế lớn: nếu như một lớp bị
tấn công thì việc liên lạc trao đổi thông tin sẽ bị làm tổn hại mà các lớp khác lại
không hề biết gì.
3
Như trong sơ đồ trên, an toàn của cả hệ thống sẽ tương đương với mức độ
an toàn của kết nối yếu nhất trong đó. Lớp 2 cũng dễ bị ảnh hưởng của các cuộc
tấn công như các lớp khác, tuy nhiên khả năng bị tấn công của lớp này có thể cao
hơn gấp bội nếu như người quản trị hệ thống không coi trọng việc đảm bảo an
toàn cho lớp này.
Có lẽ là tính độc lập. Sự độc lập của lớp này cho phép nó có khả nǎng liên
tác (interoperability) và khả nǎng kết nối (interconnectivity) rất mạnh. Tuy nhiên,
xét về phương diện an ninh, điều này lại tạo ra những thách thức không nhỏ do"bị"
thoả hiệp ngay lập tức. Hệ thống an ninh của mạng chỉ mạnh khi lớp 2, tuyến
phòng về yếu nhất này, cũng phải đủ mạnh.
Đặc điểm nào của lớp 2 (lớp Liên kết dữ liệu) là đáng chú ý nhất. Có lẽ là
tính độc lập. Sự độc lập của lớp này cho phép nó có khả nǎng liên tác
(interoperability) và khả nǎng kết nối (interconnectivity) rất mạnh. Tuy nhiên, xét
về phương diện an ninh, điều này lại tạo ra những thách thức không nhỏ do"bị"
thoả hiệp ngay lập tức. Hệ thống an ninh của mạng chỉ mạnh khi lớp 2, tuyến
phòng về yếu nhất này, cũng phải đủ mạnh.
Ai quan tâm đến lớp 2?
4
Thông thường, các hoạt động của mạng thường theo một lịch trình. Một bộ phận
sẽ thực hiện các tác vụ về vận hành mạng - các nhân viên quản trị mạng (network
administrator) và một bộ phận thực hiện các tác vụ về an ninh mạng - các nhân
viên an ninh mạng (security administrator). Tuy nhiên, các hoạt động này thường
kết thúc ở các lớp trên lớp 2.
Các nhân viên quản trị mạng thường sử dụng các mạng LAN ảo (Virtual
LAN). Rất nhiều tuyến kết nối của VLAN đều vào/ra trên cùng một thiết bị
chuyển mạch (LAN switch). Khi các nhân viên an ninh mạng yêu cầu có một phân
đoạn mạng mới, các nhân viên quản trị mạng sẽ tạo ra một mạng VLAN và cung
cấp cho bộ phận an ninh một vùng địa chỉ. Bên an ninh không biết là họ đang sử
dụng VLAN và họ cũng không quan tâm bên vận hành mạng làm gì với switch.
Bộ phận an ninh mạng thậm chí còn thường xuyên không quan tâm đến lớp 2 mà
họ chỉ tập trung vào lớp 3 và các lớp cao hơn.
Sự khác biệt về quan điểm còn thể hiện ở chính các thiết bị trên mạng. Các
Firewall thường được thiết lập với cấu hình bảo mật cao nhất khi chúng lần đầu
được cài đặt. Theo mặc định, cho đến khi chúng được điều chỉnh thì chúng không
cho phép trao đổi thông tin. Các thiết bị chuyển mạch và các thiết bị định tuyến lại
hoàn toàn trái ngược. Chúng được thiết kế theo xu hướng "khuyến khích truyền
thông". Khi thực hiện chức nǎng của mình - mở các kết nối - chúng có thể tạo ra
các lỗ hổng bảo mật kế thừa vì thế các switch và router thường tích hợp sẵn các
tính nǎng bảo mật bên trong. Tuy nhiên, những tính nǎng và khả nǎng này của
chúng không được kích hoạt trừ khi các nhân viên quản trị mạng bật các tính nǎng
đó lên. Thông thường thì các tính nǎng này không được sử dụng, hoặc được sử
dụng không đúng cách.
Một cuộc khảo sát an ninh và tội phạm máy tính nǎm 2002 do Viện nghiên
cứu an ninh máy tính và Cục điều tra liên bang Mỹ tiến hành cho thấy sự gia tǎng
đáng kể các kiểu tấn công trên mạng (http://gocsi.com). Nǎm 1996, phần lớn các
vụ tấn công đến từ các hệ thống bên trong. Phần còn lại đến từ khu vực dial-up và
quét cổng Internet. Đến cuối nǎm 2002, số lượng và chủng loại các vụ tấn công đã
5
thay đổi. Hơn 70% các vụ tấn công được thực hiện theo kiểu quét cổng từ bên
ngoài và 30% xuất phát từ hệ thống bên trong. Tuy nhiên, số lượng các vụ tấn
công từ bên trong vẫn còn rất lớn và thiệt hại mà kiểu tấn công này gây ra còn lớn
hơn rất nhiều so với các vụ tấn công từ bên ngoài.
Theo các cuộc thăm dò mới đây cho thấy có rất nhiều người quản trị đã
không quan tâm đến vấn đề an ninh này. Với các câu hỏi như :
Bạn đang sử dụng biện pháp an ninh nào ở lớp 2?
Bạn có thường xuyên sử dụng mạng LAN ảo (VLAN) không?
Bạn có bao giờ đặt các mức an ninh khác nhau lên cùng một switch
sử dụng VLAN không?
Quá trình cấp phát địa chỉ cho từng phân đoạn mạng là gì?
Thì hầu hết các câu trả lời với hầu hết các nhà quản trị mạng là:
Có các vấn đề về an ninh xảy ra với lớp 2 à?
Tôi sử dụng mạng LAN ảo thường xuyên.
Nếu một người làm công tác bảo mật yêu cầu tôi cấp cho anh ta một
phân đoạn mạng mới, tôi sẽ tạo một VLAN và gán địa chỉ cho anh
ta.
Câu trả lời với hầu hết các nhà an ninh mạng là:
Tôi chỉ quản lí các vấn đề về an ninh từ lớp 3 trở lên.
Tôi chẳng có ý kiến gì nếu chúng tôi đang sử dụng VLAN.
Tại sao tôi lại phải quan tâm đến những việc mà một ai đó đang làm
với một mạng chuyển mạch.
Tôi yêu cầu người quản trị mạng một phân đoạn mạng và họ cấp cho
tôi port và địa chỉ.
Vấn đề đặt ra ở đây là ta phải nắm được các kiểu tấn công mà một hacker
có thể tiến hành nhằm làm tổn hại đến hệ thống đồng thời phải đưa ra các cách
phòng ngừa hiệu quả nhất làm giảm thiểu hậu quả mà các cuộc tấn công gây ra.
Trong đề tài này, em xin được đề cập đến các kiểu tấn công chủ yếu vào lớp 2 bao
gồm Ba chương chính:
6
Chương I: Cơ sở lý thuyết
+ Tổng quan về WAN
+ Mô hình OSI, bộ giao thức TCP/IP
+ Khái niệm về địa chỉ IP và địa chỉ MAC
+ Giới thiệu về các kiểu tấn công
Chương II: Kiểu tấn công của VLAN
Chương III: Chương trình mô phỏng VLAN
Các chương bao gồm phần lí thuyết chung về các giao thức, điểm yếu của
các giao thức mà kẻ tấn công có thể lợi dụng, các kiểu tấn công cũng như các
phương pháp phòng chống.
Em xin bày tỏ lòng cảm ơn sâu sắc tới Ban chủ nhiệm khoa, các thầy cô
giáo đã tận tình giảng dậy, trang bị cho chúng em những vốn kiến thức, và kinh
nghiệm quý báu, cung cấp cho chúng em những điều kiện và môi trường học tập
tốt nhất. Để hoàn thành được đề tài này em xin cảm ơn chân thành tới Thầy Lê
Tuấn Anh. Thầy đã tận tình hướng dẫn và chỉ bảo để em có thể hoàn thành đề tài
một cách tốt nhất.
Thái Nguyên 10/03/2011
7
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về mạng diện rộng (Wide Area Network )
1.1.1. Giới thiệu về WAN
WAN là mạng truyền dữ liệu qua những vùng địa lý rất rộng lớn như các
bang, tỉnh, quốc gia… Các phương tiện truyền dữ liệu trên WAN được cung cấp
bởi các nhà cung cấp dịch vụ, ví dụ như các công ty điện thoại.
Mạng WAN có một số đặc điểm sau:
- WAN dùng để kết nối các thiết bị ở cách xa nhau bởi những vùng địa lý
lớn.
- Wan sử dụng dịch vụ của các công ty cung cấp dịch vụ, ví dụ như:
Regional Bell Operating Companies (RBOCs), Sprint, MCI, VPM internet
servies, Inc, Altantes.net….
- WAN sử dụng nhiều loại liên kết nối tiếp khác nhau.
- WAN có một số điểm khác với LAN. Ví dụ như: LAN được sử dụng để kết
nối các máy tính đơn lẻ, các thiết bị ngoại vi, các thiết bị đầu cuối và nhiều
thiết bị khác trong cùng một toà nhà hay trong một phạm vi địa lý nhỏ.
Trong khi đó WAN được sử dụng để kết nối các mạng qua những vùng địa
lý lớn. Các công ty thường sử dụng WAN để kết nối các chi nhánh của
mình, nhờ đó mà thông tin được trao đổi dễ dàng giữa các trung tâm.
Mạng WAN hoạt động chủ yếu ở lớp vật lý và lớp liên kết dữ liệu của mô hình
OSI. WAN kết nối các mạng LAN lại với nhau. Do đó, WAN có thực hiện chuyển
đổi các gói dữ liệu giữa router, switch và các mạng LAN mà nó kết nối.
Sau đây là các thiết bị được sử dụng trong WAN:
- Router: cung cấp nhiều dịch vụ khác nhau, bao gồm Internet và các giao
tiếp WAN.
8
- Loại switch được sử dụng trong WAN cung cấp kết nối cho hoạt động
thông tin liên lạc bằng thoại, video và dữ liệu.
- Modem: bao gồm: giao tiếp với dịch vụ truyền thoại; CSU/DSU (Channel
service units/Digital service units) để giao tiếp với dịch vụ T1/E1; TA/NT1
( Terminal Adapters/ Network Termination 1) để giao tiếp với dịch vụ
ISDN ( Integrated Services Digital Network).
- Server thông tin liên lạc: tập trung xử lý cuộc gọi của người dùng.
Các giao thức ở lớp liên kết dữ liệu của mạng WAN mô tả về cách thức mà các
gói dữ liệu được vận chuyển giữa các hệ thống trên một đường truyền dữ liệu. Các
giao thức này được thiết kế cho các dịch vụ chuyển mạch điểm-đến-điểm, đa
điểm, đa truy cập, ví dụ như: FrameRelay.
Các tiêu chuẩn của mạng WAN được định nghĩa và quản lý bởi các tổ chức quốc
tế sau:
- Liên hiệp viễn thông quốc tế - lĩnh vực tiêu chuẩn viễn thông- ITU-T
( International TelecommunicationUnion-Telecommunication
- Standardization Sector), trước đây là Uỷ ban cố vấn điện thoại và điện tín
quốc tế - CCITT ( Consultative Committee for International Telegraph and
Telephone).
- Tổ chức quốc tế về tiêu chuẩn – ISO ( International Organization for
Standardization).
- Tổ chức đặc trách về kỹ thuật Internet – IETF ( Internet Engineering Ták
Force).
9
Hình 1.1: Các thiết bị WAN
Liên hiệp công nghiệp điện tử - EIA ( Electronic Industries Association).
1.1.2 Giới thiệu về router trong mạng WAN
Router là một loại máy tính đặc biệt. Nó cũng có các thành phần cơ bản
giống như máy tính: CPU, bộ nhớ, system bus và các cổng giao tiếp. Tuy nhiên
router được thiết kế là để thực hiện một số chức năng đặc biệt. Ví dụ: router kết
nối hai hệ thống mạng với nhau và cho phép hai hệ thống này có thể liên lạc với
nhau, ngoài ra router còn thực hiện việc chọn lựa đường đi tốt nhất cho dữ liệu.
Cũng giống như máy tính cần phải có hệ điều hành để chạy các chương trình ứng
dụng thì router cũng cần phải có hệ điều hành để chạy các tập tin cấu hình. Tập tin
cấu hình chứa các câu lệnh và các thông số để điều khiển luồng dữ liệu ra/ vào trên
router. Đặc biệt là router còn sử dụng các giao thức định tuyến để quyết định chọn
đường đi tốt nhất cho các gói dữ liệu. Do đó, tập tin cấu hình cũng chứa các thông
tin để cài đặt và chạy các giao thức định tuyến trên router.
Các thành phần chính bên trong router bao gồm: bộ nhớ RAM, NVRAM, bộ nhớ
flash, ROM và các cổng giao tiếp.
RAM, hay còn gọi là RAM động ( DRAM – Dynamic RAM) có các đặc điểm và
chức năng như sau:
Lưu bảng định tuyến.
- Lưu bảng ARP.
- Có vùng bộ nhớ chuyển mạch nhanh.
10
Hình 1.2
- Cung cấp vùng nhớ đệm cho các gói dữ liệu.
- Duy trì hàng đợi cho các gói dữ liệu.
- Cung cấp bộ nhớ tạm thời cho tập tin cấu hình của router khi router dang
hoạt động
- Thông tin trên RAM sẽ bị xoá mất khi router khởi động lại hoặc bị tắt điện.
Đặc điểm và chức năng của NVRAM:
- Lưu giữ tập tin cấu hình khởi động của router.
- Nội dung của NVRAM vẫn được lưu giữ khi router khởi động lại hoặc bị
tắt điện.
Đặc điểm và chức năng của bộ nhớ Flash:
- Lưu hệ điều hành IOS.
- Có thể cập nhật phần mềm lưu trong Flash mà không cần thay đổi chip trên
bộ xử lý.
- Nội dung của Flash vẫn được lưu giữ khi router khởi động lại hoặc khi tắt
điện.
- Ta có thể lưu nhiều phiên bản khác nhau của phần mềm IOS trong Flash.
- Flash là loại ROM xoá và lập trình được (EPROM).
Đặc điểm và chức năng của ROM:
- Lưu giữ các câu lệnh của chương trình tự kiểm tra khi khởi động – POST
( Power-on Self Test).
- Lưu chương trình bootstrap và hệ điều hành cơ bản.
- Bạn phải thay thế chip trên mainboard nếu bạn muốn nâng cấp phần mềm
trong ROM.
Đặc điểm và chức năng của các cổng giao tiếp:
- Kết nối router vào hệ thống mạng để nhận và chuyển gói dữ liệu.
- Các cổng có thể gắn trực tiếp trên mainboard hoặc là dưới dạng card rời
11
1.1.3 Router LAN và WAN
Router vừa được sử dụng để phân đoạn mạng LAN vừa là thiết bị chính trong
mạng WAN. Do đó, trên router có cả cổng giao tiếp LAN và WAN. Thực chất là
các kỹ thuật WAN được sử dụng để kết nối các router, router này giao tiếp với
router khác qua đường liên kết WAN. Router là thiết bị xương sống của mạng
Intranet lớn và mạng Internet. Router hoạt động ở lớp 3 và thực hiện chuyển gói
dữ liệu dựa trên địa chỉ mạng. Router có hai chức năng chính là: chọn đường đi tốt
nhất và chuyển mạch gói dữ liệu. Để thực hiện hai chức năng này, mỗi router phải
xây dựng một bảng định tuyến và thực hiện trao đổi thông tin định tuyến với nhau.
12
Hình.1.3.a: Các phân đoạn mạng LAN và với router
Người quản trị mạng có thể duy trì bảng định tuyến bằng cách cấu hình định tuyến
tĩnh, nhưng thông thường thì bảng định tuyến được lưu giữ động nhờ các giao thức
định tuyến thực hiện trao đổi thông tin mạng giữa các router.
13
Hình 1.3b: Kết nối router bằng các công nghệ WAN
Hình 1.3c
Ví dụ: Nếu máy tính X muốn thông tin liên lạc với máy tính Y ở một châu lục
khác và với máy tính Z ở một vị trí khác nữa trên thế giới, khi đó cần phải có định
tuyến để có thể truyền dữ liệu và đồng thời cũng cần phải có các đường dự phòng,
thay thế để đảm bảo độ tin cậy. Rất nhiều thiết kế mạng và công nghệ được đưa ra
để cho các máy tính như X, Y, Z có thể thông tin liên lạc với nhau.
Một hệ thống mạng được cấu hình đúng phải có các đặc điểm sau:
Có hệ thống địa chỉ nhất quán từ đầu cuối đến đầu cuối.
Cấu trúc địa chỉ phải thể hiện được cấu trúc mạng.
Chọn được đường đi tốt nhất
.Định tuyến động và tĩnh.
Thực hiện chuyển mạch.
1.1.4 Vai trò của router trong mạng WAN
Mạng WAN hoạt động chủ yếu ở lớp vật lý liên kết dữ liệu.
Điều này không có nghĩa là năm lớp còn lại của mô hình OSI không có trong
mạng WAN. Điều này đơn giản có nghĩa là mạng WAN chỉ khác với mạng LAN ở
lớp vật lý và liên kết dữ liệu.Hay nói cách khác là các tiêu chuẩn và giao thức sử
dụng trong mạng WAN ở lớp 1 và lớp 2 là khác với mạng LAN.
14
Hình 1.4a . Vai trò của Router trong WAN
Lớp vật lý trong mạng WAN mô tả các giao tiếp thiết bị dữ liệu đầu cuối DTE
(Data Terminal Equipment) và thiết bị đầu cuối mạch dữ liệu DCE (Data Circuit –
termination Equipment).Thông thường,DCE là thiết bị ở phía nhà cung cấp dịch
vụ và DTE là thiết bị kết nối vào DCE. Theo mô hình này thì DCE có thể là
modem hoặc CSU/DSU.
Chức năng chủ yếu của Router là định tuyến.Hoạt động định tuyến diễn ra ở
lớp ba - lớp mạng trong khi WAN hoạt động ở lớp một và hai. Vậy Router là thiết
bị LAN hay WAN? Câu trả lời là cả hai. Router có thể là thiết bị LAN và
hoặcWAN hoặc thiết bị trung gian giữa LAN và WAN hoặc có thể là LAN và
WAN cùng một lúc.
Một trong những nhiệm vụ của Router trong mạng WAN là định tuyến gói
dữ liệu ở lớp ba, đây cũng là nhiệm vụ của Router trong mạng LAN. Tuy nhiên,
định tuyến không phải là nhiệm vụ chủ yếu của Router trong mạng WAN. Khi
Router sử dụng các chuẩn và giao thức của lớp vật lí và lớp liên kết dữ liệu để kết
nối các mạng WAN thì lúc này nhiệm vụ chính của Router trong mạng WAN
không phải là định tuyến nữa mà là cung cấp kết nối giữa các mạng WAN với các
chuẩn vật lý và liên kết dữ liệu khác nhau.
15
1.4.b Chức năng chủ yếu của Router trong WAN
1.1.5. Các công nghệ trong WAN.
1.1.5.1. Kênh tryền số (dial up)
Modem và đường điện thoại quay số dùng tin hiệu tương tự cung cấp kết
nối chuyển mạch, dung lượng thấp, phù hợp cho nhu cầu truyền dữ liệu tốc độ
thấp rẻ tiền. Điện thoại truyền thống sử dụng cáp đồng kết nối từ máy điện thoại
của thuê bao đến tổng đài mạng điện thoại chuyển mạch công cộng. Tín hiệu
truyền đi trên đường truyền này là tín hiệu tương tự biến đổi liên tục để truyền
tiếng nói. Do đó,đường truyền này không phù hợp với tín hiệu số nhị phân của
máy tính. Modem tại đầu phát phải thực hiện điều chế tín nhị phân sang tín hiệu
tương tự rồi mới đưa tin hiệu sang đường truyền. Modem tại đầu thu giải điều chế
tín hiệu tương tự thành tín hiệu nhị phân như ban đầu.
Đặc điểm vật lý của đường truyền và kết nối PSTN ( Public switched
telephone network) khiến tốc độ của tin hiệu bị hạn chế. Giới hạn trên là khoảng
33kb/s. Tốc độ này có thể tăng lên khoảng 56kb/s nếu tín hiệu được truyền trực
tiếp qua một kết nối số.
Đối với những doanh nghiệp nhỏ thì đường truyền này phù hợp vì họ chỉ cần trao
đổi các thông tin về bảng lương, giá cả, các báo cáo thông thường và email. Hơn
nữa, họ có thể sử dụng cách quay số tự động vào ban đêm hoặc ngày nghỉ cuối
tuần để truyền tải dữ liệu có dung lượng lớn và dữ liệu dự phòng, vì trong những
khoảng thời gian này mức giá cước thấp hơn bình thường. Tổng chi phí cước phụ
thuộc vào khoảng cách các điểm kết nối, thời gian thực hiện cuộc gọi.
Ưu điểm của modem và đường truyền tương tự là thực hiện đơn giản ở mọi nơi,
chi phí thấp.
Nhược điểm là tốc đọ thấp, thới gian thực hiện kết nối lâu, có thời gian trễ và
nghẽn mạch, việc truyền thoại và video không tốt với tốc độ thấp như vậy.
16Hình 1.5 Mô hình kết nối dùng một đường điện thoại
1.2 Mô hình OSI (Open System Interconnect)
Ở thời kỳ đầu của công nghệ nối mạng, việc gửi và nhận dữ liệu ngang qua
mạng thường gây nhầm lẫn do các công ty lớn tự đề ra các tiêu chuẩn riêng cho
hoạt động kết nối máy tính.
Năm 1984, tổ chức tiêu chuẩn hóa quốc tế - OSI (International Standard
Ỏganization) chính thức đưa ra mô hình OSI (Open Systems Interconnection) là
tập hợp các đặc điểm kỹ thuật mô tả kiến trúc mạng giành cho việc kết nối các
thiết bị không cùng chủng loại.
Mô hình OSI được chia làm bảy tầng, mỗi tầng bao gồm những hoạt động
thiết bị và giao thức mạng khác nhau.
Mô hình OSI bảy tầng
1.2.1 các giao thức trong mô hình OSI
Trong mô hình OSI có hai loại giao thức chính được áp dụng: Giao thức có
liên kết và giao thức không có liên kết:
- Giao thức có liên kết: trước khi truyền dữ liệu, hai tầng đồng mức cần thiết
lập một liên kết logic và các gói tin được trao đổi thông qua liên kết này.
Việc có liên kết logic sẽ nâng cao độ an toàm trong truyền dữ liệu.
- Giao thức không liên kết: Trước khi truyền dữ liệu không thiết lập liên kết
logic và mỗi gói tin được truyền độc lập với gói tin hoặc sau nó.
Như vậy Với giao thức co liên kết, quá trình truyền thông phải gồm ba giai
đoạn phân biệt:
17
- Thiết lập liên kết (logic): Hai thực thể đồng mức ở hai hệ thống thương
lượng với nhau về tập các tham só sẽ sử dụng trong giai đoạn sau (truyền
dữ liệu).
- Truyền dữ liệu: Dữ liệu được truyền với các cơ chế kiểm soát và quản lý
kèm theo (như kiểm soát lỗi, kiểm soát luồng dữ liệu…) để tăng cường độ
tin cậy và hiệu quả của việc truyền dữ liệu.
- Hủy bỏ liên kết (logic): Giải phóng tài nguyên hệ thống đã được cấp phát
cho liên kết để dùng cho liên kết khác. Đối với giao thức không liên kết thì
chỉ có duy nhất một giai đoạn truyền dữ liệu mà thôi.
1.2.2 Các chức năng chủ yếu của các tầng trong mô hình OSI
* Tầng vật lý (Physical): là tầng cuối cùng của mô hình OSI. Nó mô tả các đặc
trưng vật lý của mạng: các loại cáp được dùng để nối các thiết bị, các loại đầu nối
được dùng…mặt khác tầng vật lý cung cấp các đặc trưng điện của các tín hiệu,
được dùng để khi chuyển dữ liệu trên cáp từ một máy tính này đến một máy tính
khác.
* Tầng liên kết dữ liệu (datalink): Là tầng mà ở đó ý nghĩa được gán cho các bít
được truyền trên mạng, tầng liên kết dữ liệu phải được quy định được các kích
thước, địa chỉ máy gửi và nhận của mỗi gói tin được gửi đi. Tầng liên kết dữ liệu
có hai phương thức liên kết dựa trên cách kết nối các máy tính, đó là phương thức
“điểm -điểm” và phương thức “Điểm – nhiều điểm”. với phương thức “Điểm-
điểm”các đường truyền riêng biệt được thiết lập để nối các cặp máy tính lại với
nhau. Phương thức điểm- nhiều điểm” tất cả các máy phân chia chung một đường
truyền vật lý.
* Tầng mạng(networt): nhắm đến việc kết nối các mạng với nhau bằng cách tìm
đường (routing) cho các gói tin từ một mạng này đến một mạng khác. Tầng mạng
là quan trọng nhất khi liên kết hai loại mạng khác nhau như mạng Etherrnet với
mạng Token Ring. Khi đó phải tìm một bộ tìm đường để chuyển các gói tin từ
mạng này sang mạng khác và ngược lại.
18
* Tầng vận chuyển (Transport): là tầng cung cấp các chức năng cần thiết giữa
tầng mạng và các tầng trên. Nó là tầng cao nhất có liên quan đến các giao thức trao
đổi dữ liệu giữa các hệ thống mở. Nó cũng là tầng dưới cung cấp cho người sử
dụng các phục vụ vận chuyển.
Tầng vận chuyển còn là tầng cơ sở mà ở đó một máy tính của mạng chia sẻ thông
tin với một máy khác, thông thường tầng vân chuyển đánh số các gói tin và đảm
bảo chúng chuyển theo đúng thứ tự.
* Tầng giao dịch (session): Thiết lập “các giao dịch” giữa các trạm trên mạng. Ở
một thời điểm chỉ có một người sử dụng có quyền đặc biệt được gọi các dịch vụ
nhất định của tầng giao dịch. Tầng giao dịch có các hàm cơ bản sau:
- Give Token cho phép người sử dụng chuyển một token cho một người
sử dụng khác của một liên kết giao dịch.
- Please Token cho phép người sử dụng chưa có token có thể yêu cầu
token đó.
- Give control dùng để chuyển tất các token từ một người sử dụng sang
một người sử dụng khác.
* Tầng thể hiện (Presentation): Tầng thể hiện chịu trách nhiệm chuyển đổi dữ
liệu gửi đi trên mạng từ một loại biểu diễn nay sang một loại biểu diễn khác. Tầng
này cũng có thể được dùng kĩ thuật mã hóa để xáo trộn các dữ liệu trước khi
truyền đi và giải mã ở đầu đến để bảo mật. Ngoài ra tầng thể hiện cũng có thể
dùng các kỹ thuật nén sao cho chỉ cần một ít byte dữ liệu để thể hiện thông tin khi
nó được truyền ở trên mạng.
* Tầng ứng Dụng (Application): Là tầng cao nhất của mô hình OSI. Nó xác định
giao diện giữa người sử dụng và môi trường OSI và giải quyết các kỹ thuật mà các
chương trình ứng dụng dùng để giao tiếp với mạng.
1.3 Kiến trúc địa chỉ IP và địa chỉ MAC
1.3.1 kiến trúc địa chỉ IP
Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của
bộ giao thức TCP/IP. Mục đích của giao thức liên mạng IP là cung cấp khả năng
19
kết nối các mạng con thành liên mạng để truyền dữ liệu. IP là giao thức cung cấp
dịch vụ phân phát datagram theo kiểu không liên kết và thông tin tin cậy, nghĩa là
không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu, không đảm bảo
rằng datagram sẽ tới đích và không duy trì bất cứ thông tin nào về những datagram
đã gửi đi.
Địa chỉ IP (IPv4): Địa chỉ Ip (IPv4) có độ dài 32 bit và được tách thành 4
vùng, mỗi vùng (mỗi vùng một byte) thường được biểu diễn dưới dạng thập phân
và được cách nhau bởi dấu chấm (.).
VD: 203.162.7.92.
Địa chỉ IPv4 được chia thành 5 lớp A, B, C, D, E, trong đó ba lớp A, B ,C
được dùng để cấp phát. Các lớp này được dùng để phân biệt bởi các bít đầu tiên
trong địa chỉ.
Lớp A (0) cho phép định danh tới 126 mạng với tối đa 16 triệu trạm trên
mỗi mạng. Lớp này thường được dùng cho các mạng có số trạm cực lớn và rất khó
được cấp.
Lớp B (10) cho phép định danh tới 16384 mạng với tối đa 65534 trạm trên
mỗi mạng. lớp địa chỉ này phù hợp với nhiều yêu cầ nên được cấp phát nhiều nên
hiện nay đã trở nên khan hiếm.
Lớp C (110) cho phép định danh tới hai triệu mạng với tối đa 254 trạm trên
mỗi mạng. lớp này được dùng cho các, mạng có ít trạm.
Lớp D (1110) dùng để gửi gói tin IP đến một nhóm các trạm trên mạng
Lớp E (11110) dùng để dự phòng.
Dưới đây là bảng các địa chỉ Internet:
20
Lớp Khoảng Cách địa chỉ
A
B
C
D
E
0.0.0.0 đến 127.255.255.255
128.0.0.0 đến 191.255.255.255
192.0.0.0 đến 223.255.255.255
224.0.0.0 đến 239.255.255.255
240.0.0.0 đến 247.255.255.255
* Địa chỉ mạng con: Đối với địa chỉ lớp A,B số trạm trong một mạng là quá lớn
và trong thực tế thường không có một số lượng trạm lớn như vậy kết nối vào một
mạng đơn lẻ. Địa chỉ mạng con cho phép chỉ một mạng lớn thành các mạng con
nhỏ hơn. Người quản trị mạng có thể dùng một số bít đầu tiên của từng số hostid
trong địa chỉ IP để đặt địa chỉ mạng con. Chẳng hạn đối với một địa chỉ thuộc lớp
A, việc chia địa chỉ mạng có thể được thực hiện như sau:
Việc chia địa chỉ mạng con là hoàn toàn trong suất đối với các router nằm
bên ngoài mạng, nhưng nó là không trong suất đối với các router nằm bên trong
mạng.
*Mặt nạ địa chỉ mạng con: Bên cạnh địa chỉ IP, một trạm cũng cần được biết
việc định dạng địa chỉ mạng con: bao nhiêu bít trong trường hostid được dùng cho
phần địa chỉ mạng con. Thông tin này được chỉ ra trong trong mặt lạ địa chỉ mạng
con (subnet mask). Subnet mask cũng là một số 32 bit với các bít tương ứng với
phần netid và subnetid được đặt bằng 1 còn các bít còn lại được đặt băng 0.
Như vậy địa chỉ thực của một trạm sẽ là hợp của địa chỉ IP và subnet mask.
Ví dụ như địa chỉ lớp C: 203.162.7.92, trong đó:
203.162.7 : địa chỉ mạng
92: địa chỉ Ip của mạng
* Phân mảnh và hợp nhất các gói IP
Phân mảnh dữ liêu là một trong những chức năng quan trọng của giao thức
IP. Khi tầng IP nhận được IP datagram để gửi đi, IP sẽ so sánh kích thước của
21
datagram để gửi đi, IP sẽ so sánh kích thước của datagram với kích thước cực đại
cho phép MTU (Maximum Transfer Unit) vì tầng dữ liệu qui định kích thước lớn
nhất của frame có thể truyền tải được, và sẽ phân mảnh nếu lớn hơn. Một IP
datagram bị phân mảnh sẽ được ghép lại bởi tầng IP của trạm nhận với các thông
tin từ phần header như indentification,flag và fragment offset. Tuy nhiên nếu một
phần của datagram bị mất trên đường truyền thì toàn bộ datagram phải được
truyền lại.
1.3.2 Địa chỉ MAC
Phần này, em xin trình bày qua về địa chỉ MAC; chức năng chuyển mạch
của một switch (lấy switch của Cisco làm ví dụ) dựa vào bảng CAM (Content
Address Memory) và việc lợi dụng bảng CAM để tấn công switch.
1.3.2.1. Địa chỉ MAC
Địa chỉ MAC (Media Access Control) : là kiểu địa chỉ vật lí, đặc trưng cho
một thiết bị hoặc một nhóm các thiết bị trong mạng LAN. Địa chỉ này được dùng
để nhận diện các thiết bị giúp cho các gói tin lớp 2 có thể đến đúng đích.
Một địa chỉ MAC bao gồm 6 byte và thường được viết dưới dạng hexa, với các
thiết bị của Cisco, địa chỉ này được viết dưới dạng 4 số hecxa ,ví dụ:
0000.0C12.FFFF là một địa chỉ MAC hợp lệ. Để đảm bảo địa chỉ MAC của một
thiết bị là duy nhất, các nhà sản xuất cần phải ghi địa chỉ đó lên ROM của thiết bị
phần cứng và định danh của nhà sản xuất sẽ được xác định bởi 3 byte đầu OUI
(Organizationally Unique Identifier).
Địa chỉ MAC được phân làm 3 loại
Unicast: đây là loại địa chỉ dùng để đại diện cho một thiết bị duy nhất.
Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong
mạng LAN. Địa chỉ được dùng trong trường hợp một ứng dụng có thể
muốn trao đổi với một nhóm các thiết bị. Bằng cách gửi đi một bản tin có
địa chỉ multicast; tất cả các thiết bị trong nhóm đều nhận và xử lí gói tin
trong khi các thiết bị còn lại trong mạng sẽ bỏ qua. Giao thức IP cũng hỗ
trợ truyền multicast. Khi một gói tin IP multicast được truyền qua một
22
mạng LAN, địa chỉ MAC multicast tương ứng với địa chỉ IP sẽ là
0100.5exxx.xxxx.
Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một mạng
LAN. Điều đó cũng có nghĩa là nếu một gói tin có địa chỉ MAC là
FFFF.FFFF.FFFF được gửi đi thì tất cả các thiết bị trong mạng LAN đều
phải thu nhận và xử lí.
1.3.2.2. Chức năng chuyển mạch của switch
Việc đưa thiết bị chuyển mạch vào một mạng LAN có nhiều mục đích
nhưng mục đích quan trong nhất là để chia một mạng LAN ra thành nhiều vùng
khác nhau nhằm giảm thiểu việc xung đột gói tin khi có quá nhiều thiết bị được
nối vào cùng một môi trường truyền dẫn. Các vùng được phân chia này được gọi
là các collision domain.Chức năng chính của switch là vận chuyển các frame lớp 2
qua lại giữa các collision domain này. Các collision domain này còn được gọi là
các đoạn mạng LAN (LAN segment).
Để có thể vận chuyển chính xác được gói tin đến đích, switch cần phải có
một sơ đồ ánh xạ giữa địa chỉ MAC của các thiết bị vật lí gắn tương ứng với cổng
nào của nó. Sơ đồ này được lưu lại trong switch và được gọi là bảng CAM
(Content Address Memory).
Quá trình vận chuyển gói tin qua switch có thể được mô tả như sau:
Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ
cập nhật với cổng tương ứng. Nếu địa chỉ MAC nguồn đã tồn tại trong bảng
nhưng với một cổng khác, switch sẽ báo lỗi “MAC flapping” và huỷ gói tin.
Nếu địa chỉ đích của gói tin là địa chỉ multicast hoặc địa chỉ broadcast hoặc
là địa chỉ unicast nhưng ánh xạ của địa chỉ này không tồn tại trong bảng
CAM trước đó thì gói tin sẽ được gửi ra tất cả các cổng của switch trừ cổng
mà nó nhận được gói tin.
Nếu địa chỉ đích của gói tin là địa chỉ unicast và ánh xạ của địa chỉ tồn tại
trong bảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng
23
mà gói tin cần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có
trong bảng CAM.
Các trường hợp còn lại, gói tin sẽ bị huỷ.
Ví dụ:
Hình 1.6: Chức năng chuyển mạch của switch
Trong ví dụ trên, khi host A gửi bản tin đến host B. Do switch chưa có địa
chỉ MAC của B trong bảng CAM của mình nên switch sẽ gửi broadcast ra mọi
cổng còn lại đồng thời sẽ lưu lại địa chỉ MAC của A vào bảng CAM. Sau khi host
B nhận được bản tin từ A; B gửi lại tin cho A. Khi đó, switch đã có địa chỉ của A
nên sẽ gửi unicast tới port 1 đồng thời cập nhật địa chỉ MAC của B vào bảng
CAM.
Các thao tác đối với bảng CAM của một switch [1]:
Để xem nội dung bảng CAM của switch, dùng lệnh:
24
Switch# show mac address-table dynamic [address mac-address
interface type mod/num |vlan vlan-id]
Lệnh này sẽ liệt kê tất cả các địa chỉ MAC mà switch học được. Nếu muốn cụ thể
hơn, có thể tìm được vị trí của host đã gắn vào switch bằng cách chỉ
ra địa chỉ của nó hoặc có thể tìm được những địa chỉ MAC đã được học từ một
giao diện nào đó.
Ví dụ: Host có địa chỉ MAC 0050.8b11.54da đã được gắn vào cổng
Fastethernet 0/1 của switch:
Hình 1.2: Nội dung bảng CAM của switch.
Xem kích thước bảng CAM của switch, dùng lệnh:
Switch# show mac address-table count
Xoá các ánh xạ trong bảng CAM, dùng lệnh:
Switch# clear adress-table dynamic [address mac-address |
interface type mod/num |vlan vlan-id]
25
1.4 Một số kiểu tấn công cơ bản
a, Kiểu tấn công làm tràn bảng CAM (MAC flooding)
1.4.1. Phương thức tấn công
Kiểu tấn công làm tràn bảng CAM dựa vào điểm yếu của thiết bị chuyển
mạch: bảng CAM chỉ chứa được một số hữu hạn các ánh xạ (ví dụ như switch
Catalysh 6000 có thể chứa được tối đa 128000 ánh xạ) và các ánh xạ này không
phải tồn tại mãi mãi trong bảng CAM [4]. Sau một khoảng thời gian nào đó,
thường là 300 s; nếu địa chỉ này không được dùng trong việc trao đổi thông tin thì
nó sẽ bị gỡ bỏ khỏi bảng.
Khi bảng CAM được điền đầy, tất cả thông tin đến sẽ được gửi đến tất cả các cổng
của nó trừ cổng nó nhận được. Lúc này chức năng của switch không khác gì chức
năng của một hub.
26
Ví dụ:
Hình 1.7: Mô hình tấn công làm ngập bảng CAM
Trong ví dụ trên, host C của kẻ tấn công gửi đi liên tục hàng loạt các bản tin
có địa chỉ MAC nguồn là địa chỉ giả mạo (host X và host Y). Switch sẽ cập nhật
địa chỉ của các host giả mạo này vào bảng CAM. Kết quả là khi host A gửi tin đến
cho host B, địa chỉ của B không tồn tại trong bảng nên gói tin được switch gửi ra
các cổng của nó và bản tin A chỉ gửi riêng cho B cũng sẽ được chuyển đến C.
27
1.4.2. Cách phòng chống
Nguyên lí chung của các phương pháp phòng chống là không để các gói tin
có địa chỉ MAC lạ đi qua switch. Phương pháp phòng chống hiệu quả nhất là cấu
hình port security trên switch [1]. Đây là một đặc trưng cấu hình cho phép điều
khiển việc truy cập vào cổng switch thông qua địa chỉ MAC của thiết bị gắn vào.
Khi switch nhận được một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC nguồn
của gói tin với danh sách các địa chỉ đã được cấu hình trước đó. Nếu hai địa chỉ
này khác nhau thì tuỳ theo sự cấu hình của người quản trị mà switch sẽ xử lí gói
tin đến với các mức độ khác nhau.
Các lệnh cấu hình port security:
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security: cho phép cổng được hoạt
động trong chế độ port-security.
Switch(config-if)# switchport port-security maximum value (tuỳ chọn):
câu lệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự
động và cho phép các thiết bị này truyền dữ liệu qua. Mặc định thì cổng chỉ
cho phép một địa chỉ MAC (một thiết bị) được gán vào và số địa chỉ có thể
nằm trong khoảng từ 1 đến 1024.
Switch(config-if)# switchport port-security mac-address mac_address
(tuỳ chọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ
MAC, có thể gán tĩnh một số địa chỉ MAC có thể truy cập vào một port.
Nếu số lượng địa chỉ gán tĩnh mà nhỏ hơn số địa chỉ MAC switch có thể
học tự động thì số địa chỉ MAC còn lại sẽ được học tự động.
Switch(config-if)# switchport port-security violation {protect | restrict |
shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến
hành khi một gói tin đến không phù hợp với yêu cầu của port-security (khi
có nhiều hơn số địa chỉ MAC tối đa được học hoặc khi gói tin đến có địa
28
chỉ MAC khác so với các địa chỉ MAC đã được cấu hình tĩnh). Các biện
pháp xử lí có thể là :
1. shutdown: cổng sẽ bị ngừng hoạt động; không nhận và chuyển gói
tin.
2. restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi
qua; các gói tin vi phạm sẽ bị huỷ. Đồng thời số lượng các bản tin vi
phạm sẽ được thống kê và báo cho người quản trị biết.
3. protect: cũng giống như trong trường hợp restrict, tuy nhiên việc vi
phạm sẽ không được ghi lại.
Phương pháp này tuy có yêu cầu công việc của người quản trị tăng lên đôi chút tuy nhiên
nó là phương pháp rất hiệu quả để khoá các gói tin không rõ nguồn gốc có ý định tấn
công vào switch.
b, Tấn công ARP
Phần này sẽ giới thiệu qua giao thức ARP; việc lợi dụng điểm yếu của giao
thức là ARP luôn xử lí các gói tin phúc đáp cho dù không có yêu cầu để tấn công
theo kiểu giả mạo đồng thời đề ra một số cách phòng chống.
1.4.3 Giới thiệu chung về giao thức ARP
ARP (Address Resolution Protocol) [15]: Đây là giao thức dùng để chuyển đổi
giữa địa chỉ lớp 3 thành địa chỉ vật lí lớp 2. Sở dĩ cần phải có giao thức chuyển đổi
như vậy là do có nhiều giao thức lớp 3 như IP; IPX,… mỗi giao thức lại có qui
ước về địa chỉ logic riêng. Khi được đóng gói vào một frame tại lớp thì tất cả các
địa chỉ này cần phải được qui đổi thành một kiểu địa chỉ thống nhất (địa chỉ MAC)
nhằm giúp cho mọi thiết bị có thể trao đổi với các thiết bị khác khi chúng nằm
trong cùng một môi trường truyền dẫn vật lí.
Mặc dù ARP là giao thức lớp 3, tuy nhiên nó lại được coi là giao thức IP cấp thấp
bởi vì gói tin ARP không được đóng gói với header của các giao thức lớp 3 mà
được đóng gói bởi frame lớp 2. ARP không chỉ được sử dụng trong mạng LAN
ethernet mà còn có thể sử dụng cho các mạng LAN dạng token ring hoặc FDDI.
29
Tuy nhiên do việc sử dụng mạng LAN ethernet ngày nay là quá phổ biến nên
trong báo cáo này, em chỉ đề cập tới ARP chạy trong mạng LAN ethernet.
Cấu trúc một bản tin ARP bao gồm các trường:
Hardware type Protocol type
HW addr
length
Protocol addr length Opcode
Source HW addr
Source Protocol addr
Destination HW addr
Destination Protocol addr
Trong đó:
Hardware type và protocol type qui định kiểu của phần cứng và của
protocol được dùng ở lớp network.
Opcode: cho biết bản tin ARP là yêu cầu (=1) hoặc phúc đáp (=2)
HW addr length: độ dài của địa chỉ vật lí.
Protocol addr length: độ dài của địa chỉ logic.
4 trường còn lại là địa chỉ vật lí và địa chỉ logic nguồn và đích.
1.4.4 Quá trình gửi bản tin ARP
Khi một gói tin được gửi từ lớp mạng xuống, module Address Resolution ở
lớp dưới cần phải chuyển đổi <kiểu protocol, kiểu địa chỉ logic đích> thành địa chỉ
vật lí 48 bit.
Khi đó module này sẽ kiểm tra trong bảng ánh xạ của nó gọi là ARP cache
để tìm xem có một cặp ánh xạ giữa địa chỉ logic đích với một địa chỉ vật lí nào đó
hay không.
Nếu tìm được một ánh xạ như vậy, module sẽ trả về địa chỉ vật lí và địa chỉ
này sẽ được dùng để chuyển đến đúng đích. Nếu không có ánh xạ như vậy, nó sẽ
30
gửi đi bản tin ARP có địa chỉ vật lí đích là địa chỉ broadcast và Opcode=1. Bản tin
này sẽ được gửi đến tất cả các thiết bị có trong mạng.
Ví dụ: một máy có địa chỉ IP là 192.168.1.1 muốn gửi đi bản tin ARP để tìm địa
chỉ vật lí của máy có địa chỉ IP 192.168.1.2 thì bản tin ARP request sẽ có cấu trúc:
0x1 0x800
0x30 0x20 0x1
11:22:33:AA:BB:CC
192.168.1.1
FF:FF:FF:FF:FF:FF
192.168.1.2
1.4.5. Quá trình nhận bản tin ARP
Khi một host trên mạng nhận được bản tin yêu cầu ARP, nó sẽ xử lí như sau:
Kiểm tra xem có cùng HW type, Protocol type không. Nếu có, nó sẽ kiểm
tra xem <protocol type, kiểu địa chỉ logic người gửi> có tồn tại trong bảng
ARP cache của nó hay không. Nếu có thì cập nhật lại địa chỉ MAC tương
ứng nếu thấy có thay đổi và đặt cờ Merge-flag = true.
Kiểm tra xem địa chỉ logic của nó có trùng với địa chỉ logic đích mà gói tin
gửi đến hay không. Nếu có và cờ Merge là false, nó sẽ cập nhật <protocol
type, kiểu địa chỉ logic và vật lí của người gửi> vào bảng ARP cache của
mình. Nếu không, gói tin ARP request sẽ bị hủy.
Kiểm tra opcode: nếu opcode là request thì gửi lại bản tin ARP theo dạng
unicast thông báo cho máy yêu cầu biết được địa chỉ MAC của mình.
Thiết bị yêu cầu, sau khi nhận được bản tin ARP reply, sẽ cập nhật lại bảng
ARP cache của mình và chuyển frame đến đích theo địa chỉ MAC nhận
được. Trong trường hợp không có một bản tin reply nào đến có nghĩa là
thiết bị mà nó muốn trao đổi không nằm cùng mạng LAN với nó, nếu trong
mạng có cấu hình proxy ARP (thiết bị dùng để trả lời các ARP request) thì
31
proxy ARP này sẽ có nhiệm vụ gửi bản tin ARP phúc đáp với địa chỉ MAC
của nó như thể là phúc đáp của máy đích. Khi đó gói tin lớp 2 sẽ được đóng
gói với địa chỉ MAC là địa chỉ MAC của proxy ARP và mọi thông tin sẽ
được gửi đến proxy ARP này. Nếu không tồn tại proxy ARP trong mạng;
gói tin sẽ bị huỷ và thông báo lỗi lên lớp trên.
1.4.6. Các đặc điểm của giao thức ARP
Mỗi ánh xạ IP-MAC trong ARP cache đều chỉ tồn tại trong một khoảng
thời gian cố định (trừ các ánh xạ đã được đặt tĩnh). Việc đề ra khoảng thời gian
này là cần thiết khi một host nào đó:
1. Di dời khỏi mạng hoặc kết nối của host vào mạng bị hỏng
2. Địa chỉ logic của host được gán lại cho một địa chỉ vật lí mớiKhi đó
bảng ARP cache của host có thể bị xoá trắng, tuy nhiên ánh xạ địa chỉ
MAC-địa chỉ logic của nó vẫn còn tồn tại trong các bảng ARP cache
của các máy khác. Điều này có thể dẫn đến trường hợp gói tin vẫn
truyền đi được nhưng không đến được đích.
Biện pháp khắc phục trong trường hợp thứ nhất có thể là:
Khi thiết lập kết nối bị hỏng, module Address Resolution cần phải được
thông báo để loại bỏ ánh xạ ra khỏi bảng ARP cache của nó hoặc đặt một
khoảng thời gian timeout cho mỗi kết nối giữa hai máy. Mỗi khi một máy
nhận được bất kì một gói tin nào đó từ máy kia, nó sẽ gia hạn thời gian
timout cho ánh xạ và sau khoảng thời gian timeout mà nó vẫn không nhận
được bản tin nào từ máy kia, ánh xạ giữa địa chỉ MAC-địa chỉ logic của
máy kia sẽ bị loại bỏ khỏi bảng ARP cache của nó.
Sử dụng một module xử lí thời gian timeout. Sau một khoảng thời gian nào
đó, module này sẽ thực hiện việc loại bỏ ánh xạ ra khỏi bảng ARP cache.
Tuy nhiên, trước khi tiến hành việc loại bỏ, module sẽ gửi đi một bản tin
ARP request đến host cần phải loại bỏ. Nếu sau một khoảng thời gian rất
ngắn mà nó không nhận được bản tin ARP reply từ host đó, nó sẽ tiến hành
loại bỏ ánh xạ ra khỏi bảng.
32
Biện pháp khắc phục trong trường hợp thứ hai: khi nhận được một bản tin ARP,
host sẽ kiểm tra xem địa chỉ vật lí nguồn đã tồn tại trong bảng ARP cache của nó
chưa, nếu đã tồn tại rồi thì nó sẽ ghi đè địa chỉ mới này lên.
Đặc điểm stateless của ARP:
1. Khi một host nhận được một bản tin ARP reply, nó sẽ cập nhật lại
thông tin vào ARP cache mặc dù nó không gửi đi ARP request.
2. Gratuitous ARP: đây là một bản tin được gửi đi bởi một host, yêu
cầu địa chỉ MAC cho chính địa chỉ IP của nó. Trường hợp này xảy
ra khi trong mạng LAN có một host khác cũng có cùng địa chỉ IP
hoặc có một host tuyên bố rằng nó vừa thay đổi địa chỉ MAC.
1.4.7. Các phương thức tấn công
Lợi dụng điểm yếu của giao thức ARP là giao thức stateless: có nghĩa là một host khi
nhận bản tin reply vẫn cập nhật thông tin trong đó vào ARP cache mặc dù nó hoàn toàn
không gửi đi ARP request; kẻ tấn công lợi dụng điểm yếu này để gửi đi bản tin gratuitous
giả mạo địa chỉ MAC nguồn tới máy nạn nhân. Kết quả là mọi thông tin máy
bị tấn công gửi đi tới một host có địa chỉ IP được chứng thực sẽ được chuyển qua máy
của kẻ tấn công trước tiên. Một loạt các hình thức là hệ quả của kiểu tấn công giả mạo
này có thể là: DoS; man-in-the-middle (MITM); chiếm đường truyền hoặc phiên truyền []
…
1.4.8. Giả mạo ARP (ARP spoofing)
Có hai hình thức dựa trên kiểu giả mạo ARP này:
Hình thức thứ nhất: kẻ tấn công gửi đi bản tin ARP reply với địa chỉ MAC là địa
chỉ broadcast ở lớp 2 FF:FF:FF:FF:FF:FF. Kết quả là thông tin máy nạn nhân khi
gửi unicast đến một host nào đó cũng bị coi là gửi đến tất cả các host trong mạng.
Hình thức thứ hai: kẻ tấn công gửi ra toàn mạng bản tin ARP reply giả mạo địa
chỉ MAC của một server nào đó trong mạng bằng một địa chỉ MAC không tồn tại.
Kết quả là khi các host yêu cầu một dịch vụ nào đó trên server thì sẽ không được
đáp ứng. Gói tin yêu cầu có gửi đi nhưng sẽ bị huỷ vì không có host nào nhận cả.
Đây chính là kiểu tấn công DoS.
33
C, Kiểu tấn công Man-in-the-middle (MITM)
Theo cách tấn công này, kẻ tấn công sẽ dùng bản tin ARP reply giả mạo gửi đến
cả hai máy nạn nhân. Ví dụ:
Hình 1.8: Sơ đồ tấn công Man-in-the-middle
Giả sử có hai máy A và B cần trao đổi thông tin với nhau. Máy X gửi bản
tin ARP reply cho máy A với địa chỉ IP nguồn là địa chỉ của B còn địa chỉ MAC
nguồn là địa chỉ của X. Ngược lại; X cũng gửi tới B bản tin giả mạo với địa chỉ IP
nguồn là địa chỉ IP của A và địa chỉ MAC nguồn là địa chỉ MAC của X.
Kết quả là khi A và B trao đổi thông tin với nhau; toàn bộ thông tin này sẽ được
trung chuyển qua X mà hai host này không hề hay biết. Kẻ tấn công có thể thay
đổi hoặc đánh cắp thông tin tuỳ theo ý định tấn công. Tuy nhiên, để thực hiện
thành công kiểu tấn công này, trên máy của kẻ tấn công phải sử dụng phần mềm
chuyển gói tin thời gian thực: gói tin đến từ A hoặc B phải được gửi đi ngay tức
khắc và mọi gói tin đều phải giữ nguyên thông số TTL (time to live).
1.4.9. Cách phòng chống
Việc phòng chống kiểu tấn công gửi bản tin ARP giả mạo nói riêng và các bản tin
giả mạo khác nói chung có thể được tiếp cận theo nhiều hướng: hướng thứ nhất là
làm cách nào đó đảm bảo rằng người dùng được cấp quyền tham gia vào mạng là
những người đáng tin cậy (có thể coi hướng tiếp cận này là kiểu chứng thực hướng
người dùng) hoặc cấp quyền cho một số hạn chế người dùng tham gia vào
mạng.Ví dụ như chứng thực kiểu port-based dựa vào chuẩn 802.1x; cấu hình static
ARP. Hướng tiếp cận thứ hai là cải tiến các giao thức lớp 2; thêm vào các giao
thức đó các thông tin chứng thực. Ví dụ như việc sử dụng giao thức S-ARP.
Hướng tiếp cận thứ ba là sử dụng phần mềm phát hiện gói tin giả mạo.
34
Chương II: TẤN CÔNG VLAN
2.1. Giới thiệu chung về VLAN
Như ta đã biết, một mạng LAN là một tập các thiết bị nằm trong cùng một
broadcast domain, điều đó có nghĩa là nếu một thiết bị nào đó gửi bản tin
broadcast thì tất cả các thiết bị còn lại sẽ nhận được bản tin broadcast đó.
Một vấn đề nảy sinh: nếu như một tổ chức có hai phòng ban làm việc riêng biệt và
không muốn phòng này sẽ trao đổi thông tin với phòng kia mà người ta lại chỉ có
một mạng LAN mà thôi. Điều đó đòi hỏi switch có khả năng phân chia thành
nhiều mạng LAN khác nhau nhưng đây là các mạng LAN ảo (Virtual LAN) bởi vì
các thiết bị tuy cùng một môi trường truyền dẫn nhưng sẽ không trao đổi thông tin
với nhau. Như vậy khả năng chia thành các mạng LAN ảo của switch sẽ đem lại
rất nhiều lợi ích:
Có khả năng phân nhóm một cách logic người dùng thay vì nhóm họ theo
vị trí.
Làm giảm chi phí vận chuyển các gói tin broadcast do đã thu hẹp kích
thước của các broadcast domain.
Tăng cường an ninh: Các thiết bị thuộc các VLAN khác nhau sẽ không thể
trao đổi thông tin với nhau nếu không có định tuyến giữa các VLAN.
Ví dụ về VLAN:
35
Hình 2.1: Lợi ích của việc chia VLAN
Nếu không có cấu hình VLAN thì hai phòng Accounting và Engineering
đều thuộc cùng một mạng LAN, như vậy, bất cứ một thông tin broadcast nào từ
phòng này gửi đi thì phòng kia đều nhận được. Tuy nhiên, khi cấu hình VLAN,
một bản tin broadcast được gửi từ một thành viên Accounting sẽ được gửi ra cổng
high speed của switch A đến switch B và được B gửi đến các thành viên của
phòng Accounting nằm trên nó và do đó các thành viên phòng Engineering sẽ
không nhận được bản tin broadcast này.
2.2. Đóng gói VLAN
Một VLAN có thể trải dài trên nhiều switch khác nhau, tuy nhiên để hai
user thuộc cùng một VLAN nhưng ở trên 2 switch khác nhau có thể trao đổi thông
tin được với nhau thì hai switch này cần phải cấu hình một đường trunk. Việc cấu
hình này thực chất là để đóng gói gói tin ethernet vào một gói mới có đính thêm
các VLAN ID nhằm mục đích là để phân biệt bản tin nào là thuộc vào VLAN nào
(hình 4.1). Có hai phương pháp đóng gói trunk một gói tin ethernet: kiểu ISL
(Inter Switch Link) của Cisco và chuẩn 802.1q của IEEE.
Cấu trúc một gói tin đóng theo kiểu ISL (Inter Switch Link) có dạng:
36
Hình 2.2: Cấu trúc đóng gói ISL.
Trong khi chuẩn ISL của Cisco dùng đến hai trường (30 byte) để đóng gói
một frame ethernet thì chuẩn 802.1q của IEEE chỉ chèn thêm 4 byte vào frame
ethernet để có thể nhận diện một VLAN.
Cấu trúc một bản tin được đóng gói theo chuẩn 802.1q [18] có dạng:
Hình 2.3: Cấu trúc đóng gói 802.1q
Trong đó :
TCI (Tag Control Information: 4 byte): được thêm vào ngay sau địa chỉ
MAC nguồn.
37
TFT (Tagged Frame Type: 2 byte): có giá trị hexa là 8100 : chỉ ra rằng
frame ethernet được đóng gói theo chuẩn IEEE 802.1q/802.1p.
Priority (3 bit) :chỉ ra các mức độ ưu tiên của gói tin (dùng cho QoS).
CFI (Canonical Format Indicator: 1 bit): có giá trị bằng 0 nếu địa chỉ MAC
có định dạng ethernet.
VID (VLAN ID: 12 bit): chỉ ra số hiệu của VLAN mà bản tin thuộc về (có
giá trị từ 0 đến 4095)
Điểm khác biệt quan trọng giữa hai kiểu đóng gói trên là giao thức 802.1q có hỗ
trợ native VLAN: đây là một kiểu VLAN mà khi một host thuộc vào VLAN đó,
bản tin của nó gửi qua đường trunk sẽ không cần phải đóng gói tagging.
2.3. Quá trình xử lí bản tin đóng gói VLAN
Quá trình xử lí bản tin của switch khi trên switch đó cấu hình VLAN được
thực hiện thông qua ba bước: bước xử lí gói tin đầu vào (Ingress Process); quá
trình lọc bản tin (Forwarding Process) và quá trình xử lí gói tin đầu ra [12].Cả ba
quá trình xử lí có thể được biểu diễn bởi sơ đồ:
Hình 2.4: Quá trình xử lí bản tin đóng gói VLAN
2.3.1. Xử lí gói tin đầu vào
Mỗi một cổng trên switch đều có khả năng cho qua các gói tin được đóng
gói VLAN hoặc không. Qui tắc vào (Ingress Rule) có nhiệm vụ kiểm tra xem gói
tin đầu vào có được đóng gói hay không và phải phân loại chúng vào các VLAN
tương ứng.
38
Hình 2.5: Quá trình xử lí gói tin đầu vào
Qui tắc đó được phát biểu như sau:
Nếu gói tin được đóng gói VLAN và VID trong VLAN tag là xác định thì
quá trình xử lí gói tin đầu vào sẽ chuyển gói tin này sang quá trình lọc gói
tin Forwarding Process (áp dụng cho trường hợp cổng được cấu hình
trunk).
Nếu gói tin đầu vào chưa được đóng gói hoặc đã được đóng gói nhưng
VLAN ID là một số không xác định (đối với trường hợp các gói tin dùng
trong QoS) thì switch sẽ phải đóng gói VLAN cho gói tin với VID chính là
VID của VLAN mà cổng trên switch thuộc vào (VID này còn được gọi là
Port ID).
Sau quá trình xử lí gói tin đầu vào, mọi gói tin sẽ đều được đóng gói VLAN.
2.3.2. Quá trình lọc bản tin
Quá trình này sẽ quyết định gửi đi gói tin nhận được từ quá trình trước
thông qua bảng cơ sở dữ liệu lọc (Filtering Database) hoặc dựa vào bảng VLAN
Forwarding List (còn được gọi là Egress List). Điều đó có nghĩa là : nếu muốn một
gói tin đóng gói VLAN được gửi ra một cổng nào cụ thể thì cổng ra phải thuộc
VLAN đó. Chú ý: cổng được cấu hình trunk được coi là cổng thuộc về tất cả các
VLAN.
Cấu tạo của bảng lọc (chính là bảng CAM của switch) bao gồm các trường:
địa chỉ MAC; VLAN ID; số hiệu cổng (port number). Bảng này được xây dựng
khi switch nhận được gói tin trên một cổng; địa chỉ MAC trong bảng sẽ là địa chỉ
MAC nguồn của gói tin.
39
Bảng Egress List: là một tập hợp các cổng có thể được dùng để vận chuyển
frame dữ liệu cho một VLAN nào đó. Bảng này cập nhật khi người quản trị cấu
hình đường trunk hoặc khi người quản trị cấu hình một cổng của switch tham gia
vào một VLAN nào đó. Ví dụ với sơ đồ kết nối sau:
Hình 2.6: Sơ đồ cấu hình VLAN 802.1q
40
Bảng FID trên switch 1 có dạng:
MAC VLAN ID Port
1:1:1:1:1:1 1 1
2:2:2:2:2:2 2 2
3:3:3:3:3:3 3 7
4:4:4:4:4:4 1 7
Bảng Egress List trên switch 1 có dạng:
VLAN Port
1 1 , 7
2 2
3 7
Khi switch nhận được gói tin, sẽ có hai trường hợp xảy ra:
Nếu gói tin nhận được là gói tin broadcast; switch sẽ xác định VLAN ID
của gói tin này, sau đó sẽ gửi gói tin ra tất cả các cổng thuộc về VLAN đó
(dựa vào bảng Egress List).
Nếu gói tin nhận được có dạng unicast; switch sẽ kiểm tra địa chỉ MAC
đích của gói tin và VLAN ID có phù hợp với ánh xạ trong bảng lọc hay
không. Nếu có, gói tin sẽ được gửi đi (dựa vào bảng FID). Nếu không, gói
tin sẽ được gửi broadcast ra tất cả các cổng thuộc cùng VLAN với nó (dựa
vào bảng Egress List).
2.3.3. Quá trình gửi bản tin
Quá trình này chỉ xác định xem gói tin gửi đi có phải đóng gói tag hay
không dựa vào VLAN ID của gói tin. Nếu gói tin có VLAN ID trùng với VLAN
ID của native VLAN cấu hình trên đường trunk hoặc địa chỉ MAC đích trùng với
địa chỉ của thiết bị gắn trực tiếp với cổng của switch (trường hợp nguồn và đích
cùng nằm trên một switch) thì gói tin sẽ không cần phải đóng gói tag. Tất cả các
41
trường hợp còn lại, gói tin cần phải giữ nguyên gói đã đóng để chuyển ra khỏi
cổng của switch.
2.4. Giao thức trunking động DTP (Dynamic Trunking Protocol)
Để liên kết giữa hai switch trở thành một đường trunk, có thể cấu hình bằng
tay chế độ trunk cho hai cổng hoặc có thể tiến hành một cách tự động nhờ vào giao
thức DTP.
Các cổng trunk của switch có thể ở một trong ba chế độ:
Trunk: đặt cổng ở trạng thái trunk vĩnh viễn.
Dynamic desirable (mặc định): không cần quan tâm trạng thái của cổng
đằng kia thế nào, liên kết giữa hai switch qua cổng này sẽ trở thành đường
trunk.
Dynamic auto: đây là chế độ đàm phán thụ động, điều đó có nghĩa là nếu
cổng còn lại ở trong chế độ trunk hoặc dynamic desirable thì đường trunk
sẽ được thiết lập còn nếu ở trong chế độ dynamic auto, đường trunk sẽ
không được thiết lập.
Trong tất cả các chế độ, các DTP frame sẽ được gửi đi với chu kì 30s nhằm duy trì
kết nối trunk giữa hai switch. Tuy nhiên trong một số trường hợp đường trunk
giữa hai switch cần được yêu cầu cấu hình bằng tay và do đó các đường trunk sẽ
không thể được thiết lập thông qua đàm phán.
2.5. Giao thức VTP (VLAN Trunking Protocol)
Các switch của Cisco sử dụng giao thức độc quyền VTP (VLAN trunking
protocol) để trao đổi các thông tin về cấu hình VLAN với nhau. VTP cho phép
xoá, sửa, thay đổi tên của các VLAN thông qua nhiều switch nhằm giảm công sức
của người quản trị và giảm thiểu các sai sót như cấu hình sai VLAN.
Như vậy thay vì phải đến từng switch để cấu hình chia VLAN; người quản trị chỉ
cần đứng trên một switch duy nhất; thực hiện các thao tác tạo, xoá, sửa và sau đó
là phát tán thông tin cấu hình ra các switch khác. Để có thể chia sẻ được thông tin;
các switch phải nằm trong cùng một miền quản trị (VTP domain) .
42
2.5.1. Chế độ VTP (VTP mode)
Khi tham gia vào một VTP domain, mỗi switch cần được cấu hình để hoạt
động ở một trong ba chế độ sau:
Chế độ server: switch có thể tạo, xoá, sửa hoặc cấu hình các tham số khác
cho toàn bộ VTP domain và server sẽ lưu lại cấu hình này trong NVRAM
(đây là một loại bộ nhớ có thể lưu lại thông tin cấu hình cho lần hoạt động
tiếp theo của switch). Thông tin này sẽ được cập nhật cho các switch client
trong cùng VTP domain với server switch. Theo mặc định thì một switch sẽ
ở chế độ server và mỗi VTP domain cần ít nhất một VTP server switch.
Chế độ client: switch không có quyền thay đổi, xoá sửa các thông tin cấu
hình mà chỉ được lắng nghe và sửa cấu hình VLAN của nó theo những
thông tin này. Các thông tin cấu hình này cũng chỉ được lưu tạm thời vào
bộ nhớ RAM của switch và đồng thời được forward theo các đường trunk
tới các switch khác.
Chế độ transparent: Để tránh không trao đổi thông tin VTP với các switch
của Cisco, không có cách nào có thể loại bỏ tính năng này đi được. Thay
vào đó, Cisco định ra một chế độ làm việc thứ ba cho các VTP switch: chế
độ transparent. Trong chế độ này, switch chỉ có thể tạo VLAN trên chính
switch đó và không được phát tán thông tin cấu hình VLAN của nó tới các
switch khác. Switch vẫn nhận và chuyển đi thông tin cấu hình VTP mà
server gửi tới nhưng nó không cập nhật vào RAM của mình.
2.5.2. Bản tin VTP
Trong các thông tin VTP mà server switch gửi đi có một tham số quan
trọng phục vụ cho việc đồng bộ hoá thông tin cấu hình VLAN trong VTP domain:
tham số revision number. Khi server gửi đi bản tin VTP đầu tiên, bản tin này sẽ
chứa revision number =0. Mỗi khi có một sự thay đổi cấu hình VLAN, số này sẽ
tự động tăng lên một. Khi một client switch nhận được bản tin VTP, nó sẽ so sánh
revision number của bản tin nhận được với số mà nó đang lưu giữ. Nếu số này lớn
43
hơn, client switch sẽ cập nhật thông tin VTP và ngược lại nó sẽ bỏ qua thông tin
do server gửi đến.
Khi có một switch mới tham gia vào VTP domain, nhất thiết phải đặt lại
revision number của nó về 0. Điều này có thể được thực hiện theo một trong hai
cách:
Chuyển VTP mode của switch về transparent, sau đó chuyển sang chế độ
server.
Chuyển VTP domain name của switch sang một VTP domain giả, sau đó
chuyển ngược domain name này về tên cũ.
Các bản tin quảng cáo VTP được gửi đi dưới dạng multicast và ở một trong ba
dạng:
Summary advertisements: VTP domain server sẽ gửi đi bản tin này theo
chu kì 300s hoặc khi cấu hình VLAN có thay đổi.
Cấu trúc của bản tin:
Hình 2.7 : Cấu trúc bản tin quảng cáo VTP rút gọn.
Trong đó:
Followers: chỉ ra có bao nhiêu bản tin VTP subset đi kèm theo
bản tin tóm tắt này; trường này có giá trị từ 0 đến 255.
MgmtD Len : độ dài của VTP domain name.
Management Domain Name: tên của VTP domain.
Updater Identity : là địa chỉ IP của switch cuối cùng tăng
revision number lên.
44
Update Timestamp: ghi ngày, giờ kể từ khi revision number
được tăng lên lần cuối.
MD5 Digest: kết quả của hàm băm MD5 áp dụng vào VTP
password + VTP header. Khi các switch nhận được bản tin
VTP; nó sẽ tính toán và kiểm tra lại thông số này xem có khớp
không. Nếu không khớp, gói tin quảng cáo đó sẽ bị hủy.
Subset advertisements: bản tin này được gửi ngay sau khi bản tin tóm tắt
đã được gửi đi, nó bao gồm các thông tin thay đổi cụ thể về cấu hình
VLAN trong mạng. Cấu trúc bản tin:
Hình 2.8: Cấu trúc bản tin VTP subset.
Bản tin quảng cáo subset cũng có thể được gửi đi trong trường hợp: dừng
hoạt động (suspend) hoặc kích hoạt lại hoạt động của một VLAN; thay đổi tên hay
thay đổi MTU của gói tin khi đi qua VLAN.
Một trường quan trọng trong bản tin subset này là thông tin về các VLAN (VLAN
info field) có trong mạng. Trường này lại là một bản ghi có cấu trúc như sau:
Hình 2.9: Trường VLAN info
Trong đó:
45
Status: chỉ ra trạng thái của VLAN: đang hoạt động (activate)
hay bị dừng hoạt động (suspend).
VLAN-Type: kiểu Ethernet; token ring….
ISL VLAN-id: chỉ ra số hiệu của VLAN.
MTU size: kích thước lớn nhất của một bản tin có thể được hỗ
trợ bởi VLAN.
802.10 Index: dùng cho VLAN có FDDI trunk.
VLAN-name: tên của VLAN tương ứng.
Advertisement requests: đây là kiểu bản tin được gửi đi bởi một switch
client trong trường hợp switch bị khởi động lại và mất toàn bộ thông tin cấu
hình VTP hoặc trong trường hợp switch nhận được bản tin VTP có revision
number lớn hơn số mà nó hiện có. Do đó nó có thể gửi yêu cầu đến VTP
domain server để được cung cấp thông tin cấu hình chính xác. Cấu trúc bản
tin:
Hình 2.10: Cấu trúc bản tin VTP yêu cầu.
Sau khi server nhận được yêu cầu này, nó sẽ gửi trả lại hai bản tin summary
và subset.
46
2.6. Các kiểu tấn công trong VLAN và cách phòng chống
Các kiểu tấn công trong VLAN đều được tiến hành lợi dụng điểm yếu của
hai giao thức DTP và VTP.
2.6.1. Giả mạo DTP
Kiểu tấn công này dựa vào giao thức DTP (giao thức dùng để đàm phán
trunk mode giữa hai switch). Mô hình tấn công:
Hình 2.11: Mô hình tấn công giả mạo DTP.
Như hình trên ta thấy, kẻ tấn công có thể gửi đi bản tin DTP giả mạo và do
đó liên kết giữa máy trạm và switch trở thành một liên kết trunk. Nói một cách
khác, máy trạm của kẻ tấn công trở thành thành viên của tất cả các VLAN. Tuy
nhiên kiểu tấn công này đòi hỏi NIC của máy trạm phải có khả năng trunking. Hậu
quả của kiểu tấn công này là kẻ tấn công có thể lấy được thông tin của rất nhiều
VLAN khác nhau.
Cách tấn công này có thể được loại bỏ bằng cách disable DTP trên port của
switch bằng câu lệnh:
Switch (config-if)# switchport nonegotiate
với việc cấu hình này thì các bản tin DTP hoàn toàn không được trao đổi qua lại.
47
2.6.2. Đóng gói giả mạo VLAN
Mô hình tấn công:
Hình 2.12: Mô hình tấn công đóng gói giả mạo VLAN.
Trong hình trên, ta có thể thấy kẻ tấn công gửi đi bản tin được đóng gói
802.1q của VLAN 2. Khi bản tin được gửi đến switch thứ nhất, do kẻ tấn công ở
VLAN 1 là native VLAN trên đường trunk; do đó, switch sẽ không đóng gói
VLAN 1 mà chỉ gửi gói tin đã đóng gói VLAN 2 ra đường trunk.. Khi gói tin đến
switch thứ hai; switch này sẽ gỡ bỏ tag VLAN 2 ra và gửi đến địa chỉ của nạn
nhân. Tuy nhiên với kiểu tấn công này, kẻ tấn công chỉ có thể gửi bản tin đi chứ
không thể nhận được bản tin về.
Các điều kiện để kiểu tấn công này có thể được thực hiện thành công:
Kẻ tấn công được truy cập vào cổng có VLAN ID trùng với VLAN
ID của native VLAN trên đường trunk: đảm bảo gói tin khi đi qua sẽ
không bị đóng gói VLAN một lần nữa.
Kẻ tấn công phải biết được địa chỉ MAC của máy nạn nhân.
Cách phòng chống kiểu tấn công có thể là : người quản trị cấu hình native VLAN
trên đường trunk là một số khó đoán hoặc chuyển sang dùng giao thức đóng gói
ISL (trong các trường hợp là thiết bị của Cisco) bởi vì giao thức này không hỗ trợ
native VLAN.
48
2.6.3. Giả mạo VTP
Mô hình tấn công:
Hình 2.13: Mô hình tấn công giả mạo VTP
Kẻ tấn công có thể gửi đi bản tin VTP giả mạo với số revision number rất
lớn để đảm bảo các switch khác phải cập nhật lại cấu hình VLAN của nó. Hậu quả
của kiểu tấn công này sẽ đặc biệt nghiêm trọng nếu như cấu hình VLAN trong
VTP domain bị xoá trắng hoàn toàn.
Cách phòng chống: Do yêu cầu cổng trên máy của kẻ tấn công phải có khả năng
hỗ trợ trunking để đàm phán liên kết trunk với switch; trong trường hợp này, chỉ
cần cấu hình cổng trên switch ở trong chế độ không đàm phán trunking thông qua
lệnh:
Switch (config-if)# switchport mode access
Switch (config-if)# switchport nonegotiate
Bên cạnh đó, kẻ tấn công muốn thực hiện thành công thì cần phải biết VTP
domain name và VTP password của switch. Do đó trên switch cần cấu hình thêm
VTP password:
Switch(vlan-data)#vtp password password
49
Chương III: CHƯƠNG TRÌNH MÔ PHỎNG VLAN
3.1. Chương trình giả mạo địa chỉ MAC
- Thiết bị: 2 PC trong đó PC của kẻ tấn công, cài đặt phần mềm giả mạo địa chỉ
MAC và phần mềm bắt gói tin
- PC của kẻ tấn công cài phần mềm giả mạo địa chỉ MAC là: SMAC 2.0
- Phần mềm bắt gói tin: Wrieshark 1.0
- Thư viện hỗ trợ: Winpcap 4.0.2
- Hệ điều hành ảo: WinXP Wordstation 6.0
-Các bước thực hiện:
Bước 1: Kẻ tấn công dung phần mềm giả mạo địa chỉ MAC để thay đổi địa
chỉ MAC
Hình 3.1: Mô tả phần mềm giả mạo địa chỉ MAC
Bước 2: Kiểm tra địa chỉ Mac bằng lệnh : cmd\ IPconfig all
Bước 3: Mục đích của thí nghiệm này là để kiểm tra máy còn lại có bị nghe
trộm không. Để đơn giản cho việc kiểm tra ta ping IP của máy nạn nhân và
dung phần mềm WireShark trên máy tấn công bắt gói tin ICMP kết quả là:
50
Hình 3.2: mô tả phần mềm bắt gói tin
Dựa theo kết quả phân tích gói tin:
Như ta đã thấy từ các gói tin bị bắt được, phần mềm sẽ đọc ra địa chỉ MAC nguồn
của gói tin. Nếu trong khoảng thời gian nhất định số địa chỉ MAC nguồn là quá
lớn, phần mềm sẽ ghi lại kết quả và báo cáo người quản trị biết rằng đã có tấn
công trong mạng.
Nhận xét:
Nhược điểm thứ nhất: do phải xử lý quá nhiều gói tin trong khoảng thời
gian ngắn, hiệu quả của máy sẽ giảm. Số lượng gói tin ở đây không chỉ là các bản
tin giả mạo mà tất cả các bản tin khác được gửi đến sau khi bị tấn công
Nhược điểm thứ hai: khi một switch bị tran bảng CAM thì switch bên cạnh
nếu cấu hình VLAN cùng với VLAN của kẻ tấn công thì cũng bị tran bảng.
51
Do đó tất cả các switch trong mạng có cùng VLAN và có liên kết trunk với
nhau thì bảng CAM đều bị tran
3.2. Tấn công đóng gói giả mạo VLAN
3.2.1. Tấn công đóng gói giả mạo VLAN:
Sơ đồ thí nghiệm:
Hình 3.3: Mô hình thí nghiệm kiểu tấn công đóng gói giả mạo VLAN
Yêu cầu thiết bị:
-2 switch Cisco 2924, IOS 11.2.
-2 PC : một cho kẻ tấn công và một cho nạn nhân; trên máy của kẻ tấn công có sử
dụng phần mềm đóng gói VLAN: dot1q.
Các bước tiến hành:
Bước 1: Bước chuẩn bị : chia VLAN trên hai switch; cấu hình trunk trên
cổng fa0/24. Đưa các cổng vào các VLAN tương ứng.
Cấu hình trên switch 1 (switch 2 cấu hình tương tự):
Chia 3 VLAN:
Switch # vlan database
Switch (vlan-data)# vlan 1
Switch (vlan-data)# vlan 2
Switch (vlan-data)# vlan 3
Switch (vlan-data)# exit
52
Đưa cổng 1; cổng 9 và cổng 16 vào các VLAN tương ứng 1 ; 2; 3. Ví dụ
cho cổng 9 vào VLAN 2:
Switch (config-if)# switchport mode access
Switch (config-if)# switchport access vlan 2
Cấu hình trunk trên cổng fa 0/24:
Switch (config-if)# switchport trunk encapsulation dot1q
Switch (config-if)# switchport trunk native vlan 1
Switch (config-if)# switchport mode trunk
Bước 2: Kẻ tấn công gửi đi bản tin đóng gói VLAN giả mạo tới máy nạn
nhân; ví dụ một gói tin giả mạo dùng dot1q:
C:>dot1q –d 2:2:2:2:2:2 –s 1:1:1:1:1:1
Hình 3.4: Gói tin giả mạo VLAN 2
Sau khi cho máy của kẻ tấn công và nạn nhân nằm trên các VLAN khác nhau
đồng thời gói tin giả mạo cũng được gửi đi với VLAN ID khác nhau. Kết quả thu
được:
Trường hợp máy của kẻ tấn công và nạn nhân nằm trên hai switch khác nhau:
53
Hình 3.5: Kết quả tấn công giả mạo VLAN trong trường hợp khác switch.
Nhận xét:
Từ bảng trên ta thấy từ VLAN 1 (native VLAN trên đường trunk) có thể đi
sang bất kì một VLAN nào khác nhưng không có trường hợp hai VLAN khác
native VLAN như VLAN 2 và 3 có thể sang được lẫn nhau.
Giải thích kết quả:
Từ VLAN 1 có thể đến được VLAN 2:
Hình 3.6 : Sơ đồ giải thích 1.
54
(trong sơ đồ trên thì Di : địa chỉ đích thuộc VLAN i; Si: địa chỉ nguồn thuộc
VLAN I, Vi: tag đóng gói VLAN i).
Quá trình chuyển bản tin được giải thích như sau:
Bản tin được đóng gói trunk có tag là VLAN ID 2 sau khi được chuyển đến
cổng của switch. Do cổng này hoạt động trong chế độ access nên nó sẽ
không hiểu tag đã được đóng gói nên chỉ coi phần này như một phần của dữ
liệu. Switch nhận thấy gói tin nhận được trên cổng 1 mà lại chưa được đóng
gói nên sẽ đóng gói VLAN với VLAN ID =1.
Bản tin được chuyển sang quá trình forwarding. Switch tìm kiếm ánh xạ
giữa D2 và V1 trong bảng FID (do đây là gói tin unicast). Tuy nhiên, do
ánh xạ này không tồn tại nên switch sẽ gửi bản tin này ra mọi cổng của
VLAN 1 trừ cổng nó nhận được bản tin dựa vào Egress List. Vì cổng trunk
thuộc mọi VLAN nên bản tin trên cũng được gửi ra cổng này và được đánh
dấu là untag vì VLAN 1 chính là native VLAN trên trunk.
Bản tin được gửi đi qua đường trunk đến switch 2. Switch 2 nhận thấy đây
là bản tin đã được đóng gói nên sẽ kiểm tra trong bảng FID có tồn tại ánh
xạ D2 và V2 hay không. Do tồn tại ánh xạ nên bản tin sẽ được chuyển đến
máy của nạn nhân.
Từ VLAN 2 không thể đến được VLAN 3:
Hình 3.7: Sơ đồ giải thích 2.
55
Gói tin sau khi ra khỏi switch 1 vẫn phải đóng gói tag VLAN 2. Sau khi
switch 2 nhận được bản tin gửi qua đường trunk; do bản tin đã được đóng gói;
switch 2 kiểm tra xem ánh xạ giữa D3 và V2 đã tồn tại trong bảng chưa. Do ánh
xạ này chưa tồn tại nên bản tin sẽ được gửi ra mọi cổng của VLAN 2 (trừ cổng
24). Các cổng còn lại 9-16 đều là các đầu cuối và do không có máy nào có địa chỉ
MAC trùng với D3 (máy có địa chỉ MAC D3 nằm trên cổng 17) nên khi nhận
được gói tin gửi đến, các máy này đều huỷ gói tin đi. Kết quả là gói tin được đóng
gói giả mạo VLAN 3 sẽ không bao giờ đến được đích.
Bước 3: Thay vì cho máy tấn công và máy nạn nhân nằm trên hai switch
khác nhau, ta cho máy tấn công và máy nạn nhân nằm trên cùng một
switch. Kết quả sau khi cho các máy này thuộc vào các VLAN khác nhau:
Hình 3.8: Kết quả tấn công giả mạo VLAN trong trường hợp cùng switch.
Nhận xét: So với trường hợp tấn công khác switch thì trong trường hợp cùng
switch ta thu được kết quả tương tự : Từ VLAN 1 có thể đến được các VLAN
khác.
56
3.2.2. Tấn công giả mạo VTP
Sơ đồ thí nghiệm:
Hình 3.9: Sơ đồ tấn công giả mạo VTP.
Cấu hình thiết bị:
-Hai switch Cisco 2950
-Ba PC trong đó PC 1 là máy của kẻ tấn công có cài phần mềm giả mạo VTP:
vtpdown
Các bước tiến hành:
Bước 1: (chuẩn bị): Tạo một số VLAN trên switch 1: VLAN 2,3,4,5,6,10;
cấu hình cho switch này là VTP server; đặt VTP domain name là steve. Cấu
hình cho switch 2 là VTP client.
Tạo VLAN trên switch 1:
Switch # vlan database
Switch (vlan-data)# vlan 2
Switch (vlan-data)# vlan 3
Switch (vlan-data)# vlan 4
Switch (vlan-data)# vlan 5
Switch (vlan-data)# vlan 6
Switch (vlan-data)# vlan 10
57
Switch (vlan-data)# exit
Đặt chế độ server cho switch 1; chế độ client cho switch 2:
Switch (vlan-data)# vtp server
Switch (vlan-data)# vtp client
Đặt vtp domain name trên switch 1 và switch 2
Switch (vlan-data)#vtp domain steve
Kiểm tra vlan database trên switch 2: đã có các VLAN được tạo ra bởi
switch 1 hay chưa. Kết quả :
Hình 3.10: VLAN database trên switch 1.
58
Kiểm tra số revision:
Hình 3.11: Hiển thị trạng thái switch 2
Bước 2: Kẻ tấn công gửi đi bản tin VTP giả mạo đến switch 2. Tuy nhiên
trước đó, nó cần phải gửi đi bản tin DTP giả mạo để liên kết giữa PC 1 và
switch 1 là liên kết trunk. Bản tin giả mạo được gửi đi nhờ phần mềm VTP
down:
C:> vtpdown
Phần mềm này sẽ gửi đi hai bản tin VTP liên tiếp: Bản tin VTP tóm tắt và bản tin
VTP subset.
Nội dung hai bản tin giả mạo bắt được là:
59
Hình 3.12: Bản tin VTP tóm tắt giả mạo.
Hình 3.13: Bản tin VTP subset giả mạo
60
Bước 3: Kiểm tra VLAN database của switch client:
Hình 3.14: VLAN database của switch sau khi bị tấn công
Kiểm tra trạng thái VTP trên switch server:
Hình 3.15: Trạng thái vtp trên switch server
Trạng thái vtp trên switch client
Hình 3.16: Trạng thái vtp trên switch client.
61
Từ các kết quả đạt được ở trên, ta có thể thấy các switch đã chịu ảnh hưởng
của kiểu tấn công VTP giả mạo. Cụ thể là cả hai switch đều cập nhật bản tin có
revision number lớn hơn (27).
Bước 4: Kiểm tra hậu quả của kiểu tấn công : từ PC 3 trên switch 2 ping
thử PC 2 trên switch 1. Bắt gói tin ICMP nhận được trên PC 1 của kẻ tấn
công.
3.2.3. Nhận xét
Qua các thí nghiệm về tấn công đóng gói giả mạo VLAN và tấn công giả mạo
VTP, ta có thể thấy rằng thực tế các kiểu tấn công này không khó để có thể phòng
chống. Tuy nhiên nếu một người quản trị mạng không ý thức được các kiểu tấn
công này thì mục tiêu về an ninh khi chia VLAN sẽ không được thực hiện và do
đó kẻ tấn công có thể dễ dàng nghe lén được thông tin.
62
Kết luận
Qua quá trình làm đề tài em có thể đưa ra kết luận: điểm yếu lớn nhất của
các giao thức lớp 2 là thiếu sự chứng thực. Điều này có thể hiểu được là do nhiều
người quan niệm rằng các giao thức lớp hai chỉ hoạt động trong mạng cục bộ nên
việc chứng thực cho chúng là không cần thiết. Tuy nhiên qua các thí nghiệm ở
trên, ta có thể thấy rằng chính nhờ sự chủ quan đó mà các cuộc tấn công có thể
diễn ra một cách dễ dàng hơn. Các biện pháp phòng chống với các kiểu tấn công
này không có gì quá khó khăn, tuy nhiên vấn đề ở đây là các nhà quản trị mạng
phải ý thức được những nguy hiểm mà kẻ tấn công có thể gây ra trong chính mạng
cục bộ của mình.
Về phần đề tài, em thấy phần lí thuyết đã được em trình bày khá kĩ tuy rằng
vẫn còn nhiều lỗi thiếu sót. Về phần thí nghiệm, em mới chỉ thực hiện được hai thí
nghiệm đơn giản. Một phần là do yếu tố chủ quan bởi vì em nghĩ là các thí nghiệm
này có thể tiến hành trên bất cứ thiết bị lớp hai của bất cứ nhà sản xuất nào. Một
phần là do yếu tố khách quan bởi vì em đã không có đủ các thiết bị để có thể tiến
hành tất cả các thí nghiệm đề ra. Tuy nhiên em nghĩ là đã thành công trong việc
giải thích các kết quả thí nghiệm mà người khác đã tiến hành.
63
Hướng phát triển của đề tài
Việc thêm các thông tin chứng thực vào các giao thức lớp 2 sẽ đem lại hiệu
quả rõ rệt (ví dụ như việc sử dụng giao thức S-ARP). Tuy nhiên không phải giao
thức nào cũng có thể triển khai việc thêm phần chứng thực đó vào. Ví dụ như các
giao thức như STP; VTP hay DTP là những giao thức chạy trên các thiết bị mạng
lớp 2. Nếu muốn triển khai phần chứng thực vào các giao thức này thì cần thiết
phải viết lại hệ điều hành cho các thiết bị này mà điều này lại phụ thuộc hoàn toàn
vào nhà sản xuất. Do đó các biện pháp phòng chống bằng cách lợi dụng các đặc
trưng của thiết bị vẫn là các phương án phòng chống hiệu quả nhất.
Trong đề tài tốt nghiệp này, em mới chỉ đề cập đến một số phương thức tấn
công dựa vào các giao thức lớp 2 như ARP; STP; DTP hay VTP. Bên cạnh đó, còn
có một số kiểu tấn công khác như tấn công dựa vào giao thức CDP (Cisco
Discovery Protocol); giao thức RSTP (Rapid STP): giao thức cải tiến của giao
thức STP; tấn công vào PVLAN (Private VLAN)….cũng cần được nghiên cứu
xem xét một cách cẩn thận để có thể đề ra các cách phòng chống thích hợp.
64
Tài liệu tham khảo
1. David Hucaby
“CCNP BCMSN Exam Certification Guide”, NXB Cisco Press, 2003.
2. Wendell Odom
“CCNA Intro Exam Certification Guide”, NXB Cisco Press, 2003.
3. Steve A. Rouiller
“Virtual LAN Security: weaknesses and countermeasures”
www. security docs.com/Architecture/VLAN
4. http://www.nextsecurity.net
65