Tải bản đầy đủ (.pdf) (103 trang)

Nghiên cứu, xây dựng hệ thống mạng bảo mật tại chi nhánh ngân hàng thương mại cổ phần công thương việt nam

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.66 MB, 103 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

.......................................

PHAN THỊ HẰNG

NGHIÊN CỨU XÂY DỰNG HỆ THÔNGD MẠNG BẢO
MẬT TẠI CHI NHÁNH NGÂN HÀNG TMCP CÔNG
THƯƠNG VIỆT NAM

LUẬN VĂN THẠC SĨ KHOA HỌC

NGƯỜI HƯỚNG DẪN :

TS. PHẠM VĂN BÌNH

HÀ NỘI – 2010


LỜI CAM ĐOAN
Em cam đoan đây là Luận văn nghiên cứu của em.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố
trong bất kỳ Luận văn nào khác. Các số liệu mô phỏng được chú thích, trích dẫn
tham khảo từ bài báo, tài liệu gốc cụ thể.

Học viên thực hiện

Phan Thị Hằng

1




DANH MỤC VIẾT TẮT
Một số thuật ngữ viết tắt:
TÊN

TÊN ĐẦY ĐỦ

VIẾT TẮT

Ý NGHĨA

LAN

Local Area Network

Mạng cục bộ

WAN

Wide Area Network

Mạng diện rộng

OSI

Open System Interconnect

Mô hình kết nối các hệ thống mở


IP

Internet Protocol

Giao thức liên mạng

TCP

Transmission Control Protocol

Giao thức truyền dẫn hướng kết nối

UDP

User Datagram Protocol

Giao thức truyền dẫn không hướng kết nối

ICMP

Internet Control Message Protocol

Giao thức điều khiển các thông báo lỗi.

ARP

Address Resolution Protocol

Giao thức phân giải địa chỉ


SMTP

Simple

Mail

Transmission Giao thức truyền thư điện tử đơn giản

Protocol
SNMP

Simple

Network

Management Giao thức quản lý mạng đơn giản

Protocol
HTTP

Hyper Text Transmission Protocol

Giao thức truyền siêu ký tự (Web)

FTP

File Transfer Protocol

Giao thức truyền file


DoS

Denial Of Service

Tấn công từ chối dịch vụ

DDoS

Distributed DoS

Tấn công từ chối dịch vụ phân tán.

DES

Digital Encrypt Standard

Chuẩn mã hoá đối xứng

RSA

Ronald Rivest, Adi Shamir, and Thuật toán mã hoá công khai
Leonard Adleman

AH

Authentication Header

Header trong IPv6 nhằm bảo đảm tính chân
thực và toàn vẹn của gói tin trong quá trình
truyền


ESP

Encapsulating Security Payload

Hệ tự quản, tập hợp các thiết bị định tuyến có

2


cùng hệ quản trị
MAC

Message Authentication Code

Mã chứng thực bản tin

CA

Certificate Authority

Tổ chức chứng thực

SA

Security Association

Mối liên hệ bảo mật giữa hai thực thể giao tiếp.

IKE


Internet Key Exchange

Giao thức trao đổi khoá được sử dụng trong các
giao thức IP Sec và SSL.

PKI

Public Key Infastructure

Kiến trúc khoá công khai

SSL

Secure Socket Layer

Giao thức bảo mật lớp truyền dẫn.

IPSec

Internet Protocol Security

Giao thức bảo mật Internet

IPS

Intrusion Prevention System

Hệ thống phòng chống thâm nhập


IDS

Intrusion Detection System

Hệ thống phát hiện thâm nhập

ACL

Access Control List

Danh sách điều khiển truy nhập

NAT

Network Address Translation

Dịch địa chỉ mạng

RADIUS

Remote Authentication Dial-up Dịch vụ chứng thực người sử dụng quay số từ
User Service

xa

DNS

Domain Name Service

Dịch vụ tên miền


NHCT VN

Vietnam Joint Stock Commercial Ngân hàng TMCP Công Thương Việt Nam

BDS

Bank for Industry and Trade

(Vietinbank)

Branch Delivery System

Hệ thống xử lý giao dịch tại Vietinbank

NHĐT

Ngân hàng điện tử

3


DANH MỤC HÌNH
Hình 1.1: Cấu trúc một mạng máy tính đơn giản........................................................2
Hình 1.2: Cấu trúc phân lớp mô hình OSI ..................................................................2
Hình 1.3: Mô hình TCP/IP và OSI..............................................................................2
Hình 1.4: Chồng giao thức tương ứng của mô hình TCP/IP.......................................2
Hình 1.5: Giao tiếp vật lý và logic giữa các lớp .........................................................2
Hình 1.6: Cấu trúc dữ liệu tại mỗi tầng OSI ...............................................................2
Hình 1.7: Nguyên tắc phân mảnh gói số liệu IP .........................................................2

Hình 1.8: Thiết lập một kết nối TCP/IP ......................................................................2
Hình 1.9: Kết thúc một kết nối TCP/IP.......................................................................2
Hình 1.10: Dịch vụ định tuyến lại (ICMP Redirect)...................................................2
Hình 2.1: Mô hình cơ bản của một cuộc tấn công DDoS ...........................................2
Hình 3.1: Quá trình mã hoá lưu lượng IP Sec.............................................................2
Hình 3.2: Cấu trúc Authentication Header..................................................................2
Hình 3.3: Khuôn dạng gói IP trong các mode truyền .................................................2
Hình 3.4: Cấu trúc ESP ...............................................................................................2
Hình 3.5: Một gói IP được bảo vệ bởi ESP trong Transport mode ............................2
Hình 3.6: Một gói IP được bảo vệ bởi ESP trong Tunnel mode.................................2
Hình 3.7: Vị trí của SSL trong chồng giao thức TCP/IP ............................................2
Hình 3.8: Cấu trúc bản tin SSL Handshake Protocol.................................................2
Hình 3.9: Quá trình bắt tay giữa hai thực thể giao tiếp IP Sec ...................................2
Hình 3.10: Cấu trúc bản tin SSL Record Protocol......................................................2
Hình 3.11: Các bước xử lý phần dữ liệu .....................................................................2
Hình 3.12: NAT thay thế địa chỉ nguồn và cổng nguồn .............................................2
Hình 3.13: Hoạt động của Web Proxy ........................................................................2
Hình 4.1: Quy trình bảo mật mạng .............................................................................2
Hình 4.2: Cấu trúc một hệ thống mạng bảo mật .........................................................2
Hình 4.3: Cấu trúc hệ thống mạng bảo mật cho một chi nhánh của NHCT VN ........2

4


DANH MỤC BẢNG
Bảng 1-1: Bảng so sánh giao thức TCP và UDP ........................................................2
Bảng 4-1: Phân bộ địa chỉ cho các VLAN..................................................................2

5



MỞ ĐẦU
Ngày nay, với tốc độ phát triển mạnh mẽ của mạng toàn cầu đã đem lại
những lơi ích to lớn về mặt kinh tế và xã hội, giúp cho các doanh nghiệp làm
việc, giao dịch và trao đổi thông tin với nhau một cách nhanh chóng; kết nối
người với người trên cộng đồng Internet. Tuy nhiên, chính những lợi thế đó nên
nó đã là nơi lý tưởng để tội phạm, hacker sử dụng, khai thác với nhiều mục đích
khác nhau. Hacker là một cộng đồng gồm nhiều tin tặc và thường không lộ diện,
động cơ và mục đích tấn công vào hệ thống mạng của họ đã thay đổi rất nhiều,
từ việc muốn nổi tiếng, gây phiền toái trêu chọc mọi người nay đã chuyển sang
mục đích tấn công để ăn cắp thông tin, tiền bạc, thay đổi cấu hình hệ thống với
mục đích đánh sập hệ thống, nhằm cạnh tranh với đối thủ trong kinh doanh, kể
cả trong lĩnh vực quân sự. Vì thế mức độ nguy hiểm là rất lớn và không thể
lường hết được. Do vậy, vấn đề bảo mật đã trở thành chủ đề nóng bỏng trên
Internet!
Xuất phát từ thực tiễn trên hàng loạt vấn đề về thông tin và an toàn thông
tin đang đặt ra những thách thức vô cùng lớn. Việc tìm hiểu, nghiên cứu, xây
dựng, và quản lý một hệ thống mạng đảm bảo về an ninh đang là một vấn đề rất
cần thiết đối với mỗi công ty/tổ chức để đảm bảo quá trình làm việc, giao dịch
và trao đổi thông tin được liên tục. Tuy nhiên, trình độ phát triển của các hacker
cũng ngày càng giỏi hơn trong khi đó các hệ thống vẫn còn chậm chạp trong
việc xử lý các lỗ hổng của mình. Điều đó đòi hỏi người quản trị mạng phải có
những kiến thức tốt về bảo mật để có thể giữ vững an toàn thông tin cho hệ
thống.
Trong khuôn khổ đề tài, dưới sự giúp đỡ của thầy giáo TS Phạm Văn Bình,
em đã tìm hiểu được một số vấn đề về an ninh mạng máy tính, quá trình giao
tiếp của các thực thể trong mạng máy tính, các điểm yếu trong mạng cùng vai
trò quan trọng của các phương pháp mã hoá. Các dấu hiệu tấn công và một số
phương án, biện pháp đối phó với các cuộc tấn công đó. Từ đó đưa ra phương
pháp thiết kế một mạng bảo mật, ứng dụng tại chi nhánh NHCT VN.


6


Do đó, nội dung của bản luận văn này bao gồm những nội dung sau:
– Trình bày khái quát về mạng máy tính. Giới thiệu kiến trúc phân tầng OSI, từ
đó đề cập chồng giao thức quan trọng TCP/IP, giao thức liên mạng IP, TCP
và UDP; giao thức điều khiển ICMP và ARP.
– Giới thiệu một số dịch vụ thông tin trên mạng trong lĩnh vực ngân hàng.
– Trình bày các lĩnh vực chính trong an ninh mạng máy tính, các loại hình tấn
công và xâm nhập bất hợp pháp trong mạng máy tính, phân tích các loại hình
tấn công mạng để từ đó đưa ra các phương pháp đối phó phù hợp thông qua
các giao thức tăng cường bảo mật, các công nghệ bảo vệ mạng.
– Thực hiện thiết kế mô hình mạng có khả năng đảm bảo an toàn tại chi nhánh
NHCT VN.
– Phân tích, đánh giá mô hình mạng đã đưa ra.
Em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Phạm Văn Bình đã luôn tận
tình chỉ bảo, hướng dẫn em hoàn thành bản luận văn này.
Tuy nhiên, do thời gian còn rất hạn chế, hơn nữa vấn đề nêu ra trong luận
văn cũng là một vấn đề phức tạp, nên bài luận văn này không tránh khỏi những
thiếu sót. Nhiều dấu hiệu tấn công phức tạp chưa được giải quyết. Trong thời
gian tới, với sự bổ sung đầy đủ hơn về kiến thức, em hy vọng sẽ hoàn thiện thêm
và nghiên cứu sâu hơn về đề tài này.
Kính mong nhận được sự thông cảm và đóng góp ý kiến của các thầy cô
cùng bạn bè, đồng nghiệp.

7


CHƯƠNG 1. LÝ THUYẾT CHUNG VỀ MẠNG MÁY TÍNH

1.1. KHÁI QUÁT MẠNG MÁY TÍNH
Mạng máy tính là sự kết hợp của hai hay nhiều máy tính với nhau thông qua các
thiết bị xử lý (hub, switch..) và các phương tiện truyền thông (giao thức mạng,
môi trường truyền dẫn) theo một kiến trúc nào đó nhằm mục đích thông tin, chia
sẻ tài nguyên (phần mềm, dữ liệu ...), thiết bị ngoại vi (máy in, máy quét..) hoặc
sức mạnh xử lý.

Hình 1.1: Cấu trúc một mạng máy tính đơn giản
Mạng máy tính bao gồm các thành phần chính sau:
– Máy phục vụ (Server): Chia sẻ các tài nguyên và dịch vụ nói chung cho
mạng:
+ Các tài nguyên (Resources): Dữ liệu, các ứng dụng và các phần cứng được
cung cấp bởi các Servers trên mạng cho các Client.
+ Các dịch vụ mạng (Network services): thư điện tử (email), in ấn, chia sẻ
file, truy xuất Internet, truy cập từ xa (Remote Access), quay số từ xa
(remote dial-in), giao tiếp (communication) và dịch vụ quản trị
(management services).
– Máy khách (Client): Sử dụng các dịch vụ mạng mà Servers cung cấp.

8


– Giao thức mạng (Network protocol): Ngôn ngữ cho phép các thực thể mạng,
các hệ thống giao tiếp và trao đổi dữ liệu với nhau, ví dụ: Sequence Packet
Exchange/Internetwork Packet Exchange (SPX/IPX), Transmission Control
Protocol/Internetwork Protocol (TCP/IP), NetBIOS Exchange User Interface
(NEtBEUI)...
– Cấu trúc mạng (Network topology): Topo mạng là cách kết nối các máy tính
với nhau về mặt hình học nên gọi là tôpô của mạng.
– Môi trường truyền dẫn (Transmission media): Kết nối vật lý giữa các máy

tính cho phép chúng truyền tín hiệu tín hiệu qua lại với nhau: Cáp mạng,
wireless.
Mạng máy tính tạo ra môi trường làm việc với nhiều người sử dụng phân tán,
cho phép nâng cao hiệu quả khai thác tài nguyên chung rất nhiều so với khi từng
máy hoạt động đơn lẻ.
Mạng máy tính có những ưu điểm so với sử dụng các máy tính riêng rẻ:
– Chia sẻ dữ liệu: Những dữ liệu dùng chung cho nhiều người trên mạng có thể
được tập trung trên một máy. Nếu lựa chọn một máy tính để lưu trữ và cho
phép các máy tính khác trên mạng sử dụng dữ liệu này sẽ làm tăng khả năng
tập trung và duy trì các thông tin. Máy tính có các tính năng trên gọi là máy
chủ phục vụ (server) có các phần mềm và hệ điều hành đặc biệt dành riêng.
Điều này cho phép:
+ Nhiều người có thể sử dụng chung một phần mềm tiện ích.
+ Một nhóm người cùng thực hiện một đề án sẽ dùng chung dữ liệu, dùng
chung một tập tin chính (master file) của đề án, giúp họ trao đổi thông tin
với nhau một cách dễ dàng.
– Chia sẻ tài nguyên phần cứng: Mạng máy tính có thể chia sẻ các tài nguyên
phần cứng: fax, modems, máy quét (scanners), đĩa cứng (hard - disks), đĩa
mềm (floppy - disks), ổ đĩa CD (CD- ROMS), Băng từ (Tape), máy vẽ

9


(Plotter)... Nhiều máy tính có thể dùng chung một thiết bị phần cứng để tiết
kiệm chi phí.
– Duy trì dữ liệu: Một mạng máy tính cho phép các dữ liệu quan trọng được tự
động lưu trữ dự phòng tới một nơi để tránh bị lỗi khi có sự cố. Việc bảo trì từ
dữ liệu, sao lưu trên từng máy độc lập là một công việc hết sức khó khăn và
tốn nhiều thời gian. Nếu chỉ sử dụng một nơi để lưu trữ các dữ liệu dự phòng
(thông thường là lưu trữ vào băng từ trên một máy chủ của mạng), sẽ dễ

dàng tìm kiếm để khôi phục lại dữ liệu đã bị mất.
– Tăng độ tin cậy của hệ thống nhờ khả năng thay thế khi xảy ra sự cố đối với
một máy tính nào đó (đặc biệt quan trọng đối với các ứng dụng thời gian
thực).
– Bảo vệ dữ liệu: Mạng máy tính cung cấp một môi trường bảo mật cho toàn
mạng. Với các máy tính độc lập, khi truy cập vào máy tính đó có nghĩa là
truy cập được tất cả các thông tin có trên máy. Mạng máy tính cung cấp cơ
chế bảo mật (security) bằng mật khẩu (password), cho phép máy chủ mạng
phân biệt quyền hạn sử dụng của từng người dùng. Ví dụ, trong hệ thống
quản trị tài khoản người sử dụng trên nền tảng Windows Server Active
Directory (AD) của Vietinbank, người quản trị hệ thống có thể đặt chính
sách yêu cầu mức độ phức tạp của mật khẩu để trách việc hacker mò ra mật
khẩu của người dùng do việc đặt mật khẩu quá đơn giản theo ngày sinh, số
chứng minh thư nhân dân...có chính sách bắt người dùng phải đổi mật khẩu
định kỳ, một số máy chủ quan trọng, một mật khẩu truy cập còn được tạo bởi
2 đến 3 người quản trị, mỗi người chỉ biết một đoạn của mật khẩu...Bên cạnh
đó, tùy thuộc vào mức độ cần bảo mật đối với máy chủ, các công nghệ bảo
mật khác cũng được kếp hợp, người truy cập sau khi gõ user mật khẩu, còn
phải gõ thêm một đoạn mã khác như từ thẻ của Entrust, RSA.
– Liên lạc với nhau: Mạng máy tính cũng có thể cho phép mọi người có thể dễ
dàng liên lạc với nhau thông qua các dịch vụ như thư điện tử (email), dịch vụ
chat, dịch vụ truyền file (FTP), dịch vụ Web... Một trong những lợi ích lớn

10


nhất của mạng đó là thư điện tử. Những người sử mạng có thể ngay tức khắc
gửi các thông điệp tới những người khác thông qua thư điện tử (electronic
mail). Có thể gửi kèm các tài liệu vào thư điện tử và có thể gửi chuyển tiếp
cho nhiều người. Với tính năng này đã xóa bỏ rào cản về khỏang cách địa lý

giữa những người dùng trong mạng muốn chia sẻ và trao đổi dữ liệu với
nhau. Đối với các kiểu dữ liệu như truy cập qua http(web), truyền file(FTP),
đã có các công nghệ bảo mật hỗ trợ như Firewall, công nghệ chống đánh phá
như module IPS được tích hợp trên firewall ASA5520, hay những sản phẩm
công nghệ chống đánh phá chuyên dụng và mạnh hơn nhiều cho những vùng
cần bảo vệ nghiêm ngặt như Tipping point.... Bên cạnh đó, việc quét virus,
mã độc nhằm ngăn chặn thư rác, spam mail cũng được thực hiện bởi các
công nghệ quét virus: quét virus cho các luồng dữ liệu http bởi IWSS
(InterScan Web Security Suite của TrendMicro), quét virus trên luồng dữ
liệu ftp và email bởi IMSS của TrendMicro (InterScan™ Messaging Security
Suite ), quét virus và spyware cho các mailbox trên mail Server bằng phần
mềm antivirus Sysmatec
– Tăng tính hiệu quả của hệ thống: Cho phép người lập trình ở Trung tâm máy
tính này có thể sử dụng các chương trình tiện ích, vùng nhớ của một trung
tâm máy tính khác đang rỗi.
1.2. GIAO THỨC MẠNG TCP/IP

1.2.1.1. Kiến trúc phân tầng OSI
Khi thiết kế mạng máy tính, các nhà thiết kế tự do lựa chọn kiến trúc riêng của
mình. Từ đó dẫn đến tình trạng không tương thích giữa các mạng (phương pháp
truy cập đường truyền, giao thức sử dụng...). Chính sự không tương thích này
làm trở ngại cho sự tương tác của người sử dụng các mạng khác nhau, nhất là
trong xu thế nhu cầu trao đổi thông tin ngày càng cao thì sự không tương thích
đó là không thể chấp nhận được. Trước tình hình đó, các nhà sản xuất, các nhà
nghiên cứu thông qua các tổ chức chuẩn hóa quốc tế đã xây dựng một khung

11


chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản

phẩm mạng, và mô hình OSI (Open systems Interconnection) đã ra đời năm
1984 bởi tổ chức tiêu chuẩn quốc tế OSI.
Với sự ra đời của mô hình tham chiếu OSI thì mỗi hệ thống mạng sẽ được phân
cấp thành các chức năng nhỏ, độc lập và “dựa vào nhau, có tác dụng tương hỗ
cho nhau". Điều này cho phép giảm độ phức tạp thiết kế và thực hiện hệ thống
thông qua việc xác định các chức năng cấu thành hệ thống và giao diện giữa các
chức năng đó mà không qui định bắt buộc phải thực hiện các chức năng đó như
thế nào, đồng thời nó còn cho phép thực hiện việc kết nối mở các hệ thống
không đồng nhất, nghĩa là kết nối giữa các hệ thống có kiến trúc phần cứng,
phần mềm hệ thống và cấu trúc số liệu không giống nhau. Mô hình 7 mức OSI là
mô hình kết nối mở các hệ thống tính toán được xây dựng trên nguyên tắc phân
mức chức năng như vậy.

Hình 1.2: Cấu trúc phân lớp mô hình OSI
Mô hình OSI chia kiến trúc mạng thành 7 tầng với những chức năng chuyên biệt
cho từng tầng, trong đó hai tầng đồng mức khi khi liên kết với nhau phải sử
dụng một giao thức chung. Trong mô hình OSI có hai loại giao thức chính được
áp dụng:

12


– Giao thức hướng kết nối (connection-oriented): 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, các gói tin được trao đổi
thông qua liên kết này. Khi không còn nhu cầu trao đổi thông tin thì hủy liên
kết logic. Với cách thiết lập liên kết logic trước khi truyền tin sẽ nâng cao độ
an toàn trong việc truyền dữ liệu
– Giao thức không liên kết (Connectionless): trước khi truyền dữ liệu không
cần thiết lập liên kết logic và mỗi gói tin được truyền độc lập với các gói tin
trước hoặc sau nó.

1) Tầng ứng dụng (Application Layer)
Là tầng gần với người sử dụng nhất. Nó quy định giao diện giữa người sử dụng
và môi trường OSI, cung cấp phương tiện cho người dùng truy cập các thông tin
và dữ liệu trên mạng thông qua chương trình ứng dụng (các chương trình xử lý
kí tự, bảng biểu, thư tín..), các giao thức (HTTP, FTP, SMTP, POP3, Telnet...).
2) Tầng biểu diễn thông tin (Presentation Layer)
Tầng này hoạt động như bộ phiên dịch dữ liệu cho mạng. Nó thực hiện việc
chuyển đổi cú pháp dữ liệu để đáp ứng yêu cầu truyền dữ liệu của các ứng dụng
qua môi trường OSI. Nói cách khác tầng này sẽ định dạng dữ liệu từ lớp 7 đưa
xuống rồi gửi đi đảm bảo sao cho bên thu có thể đọc được dữ liệu của bên phát.
Các chủân định dạng dữ liệu của tầng này gồm: GIF, JPEG, PICT, MP3,
MPEG... Ngoài ra nó còn nén dữ liệu truyền và mã hóa chúng trước khi truyền
để bảo mật.
3) Tầng phiên (Session Layer)
Tầng phiên cung cấp các chức năng quản lý truyền thông giữa các ứng dụng
chạy trên các máy tính khác nhau như: Thiết lập, duy trì, đồng bộ hoá và huỷ bỏ
các phiên làm việc giữa các ứng dụng. Ngoài ra nó còn thực hiện nhiều chức
năng hỗ trợ khác nhau, cho phép các quy trình giao tiếp trên mạng như chứng
thực người sử dụng và bảo vệ truy cập tài nguyên. Các giao thức hoạt động ở
tầng này là: NFS, X-Window System, ASP.

13


4) Tầng giao vận (Transport layer)
Thực hiện việc truyền dữ liệu giữa hai đầu giao tiếp thông qua việc xác định địa
chỉ trên mạng (Address port để phân biệt được ứng dụng trao đổi), tiến hành
kiểm soát lỗi và điều khiển luồng dữ liệu giữa hai đầu mút truyền dữ liệu nếu
cần. Nó cũng có thể thực hiện việc ghép kênh, cắt hợp dữ liệu nếu cần. Nói
chung, nhiệm vụ của tầng này đảm bảo cho Datagram được chuyển giao theo

thứ tự gửi đi và không bị mất mát hay trùng lặp. Các giao thức chính tại đây
gồm TCP, UDP, SPX. Thiết bị mạng hoạt động tại tầng này là gateway, firewall.
5) Tầng mạng ( Network Layer)
Định vị và quản lý địa chỉ logic mạng, quản lý đường đi giữa các node bên trong
mạng chuyển mạch gói và quyết định dữ liệu sẽ đi theo lộ trình vật lý nào, căn
cứ vào điều kiện hiện tại của mạng, độ ưu tiên của dịch vụ và các điều kiện khác
(chức năng định tuyến), các gói tin này có thể phải đi qua nhiều chặng trước khi
đến được đích cuối cùng mà vẫn duy trì chất lượng dịch vụ QoS mà tầng giao
vận yêu cầu. Các giao thức hay được sử dụng ở đây là IP, RIP, IPX, OSPF...
Thiết bị mạng hoạt động tại tầng này là router.
6) Tầng liên kết dữ liệu(Datalink Layer)
Tầng này có chức năng cung cấp các phương tiện để truyền thông tin qua liên
kết vật lý đảm bảo tin cậy thông qua các cơ chế đồng bộ hoá, kiểm soát lỗi và
điều khiển luồng dữ liệu, báo nhận và phục hồi lỗi xảy ra ở tầng vật lý. Dữ liệu
được truyền dưới dạng bit tại các khung (frame). Thiết bị mạng hoạt động tại
tầng này là switch.
7) Tầng vật lý (Physical Layer)
Nhìn chung, chức năng của tầng vật lý liên quan tới việc biểu diễn các bit thông
tin các giao thức điều khiển việc truyền các bit qua đường truyền vật lý. Theo
tiêu chuẩn ISO thì tầng vật lý cung cấp các chuẩn về điện, dây cáp, đầu nối, kỹ
thuật nối mạch điện, điệp áp, tốc độc cáp truyền dẫn, giao diện kết nối và các

14


mức nối kết. Thiết bị mạng hoạt động tại tầng này là Repeater.
Mức này đảm bảo các công việc sau:
– Biến đổi số liệu từ dạng song song(Byte/Word) sang dạng nối tiếp(Bit) và
ngược lại.
– Biến đổi và truyền số liệu dưới dạng bit trên kênh truyền vật lý cụ thể.

– Thích ứng về tính chất điện, tính chất cơ học giữa thiết bị cuối với môi
trường truyền dẫn(ví dụ: mức tín hiệu điện, ổ nối dây dẫn...).

1.2.1.2. Chồng giao thức TCP/IP
Chồng giao thức TCP/IP được phát triển lần đầu tiên bởi Bộ Quốc Phòng Mỹ,
sau đó TCP đã trở thành một chuẩn công nghiệp được hỗ trợ bởi phần lớn các hệ
điều hành thông dụng (UNIX, DOS, Windows, Macintosh, và Netware) với các
ưu điểm:
– Tính có thể định tuyến và mở rộng được
– Tính mở
– Là một chuẩn đã được kiểm nghiệm nên ổn định
Với các lý do nêu trên nên các mạng máy tính hiện nay và đặc biệt là mạng
Internet chủ yếu sử dụng chồng giao thức TCP/IP như là giao thức chuẩn chung.
Do đó, việc tìm hiểu một cách sâu sắc các giao thức trong chồng giao thức
TCP/IP cũng như sự hoạt động của nó giúp cho chúng ta thấy được mạng máy
tính hoạt động như thế nào, có những đặc trưng, những điểm yếu gì. Những kẻ
tấn công đã lợi dụng những yếu điểm đó như thế nào để thực hiện các cuộc tấn
công của mình và chúng ta cần phải làm gì để đảm bảo cho mạng máy tính của
mình được an toàn trước những cuộc tấn công đó.
TCP/IP được phân thành 4 lớp và được so sánh với các lớp tương đương trong
mô hình tham chiếu hệ thống mở OSI giống như hình sau:

15


Hình 1.3: Mô hình TCP/IP và OSI
TCP/IP thực chất là một họ giao thức (chồng giao thức) cho phép các hệ thống
mạng cùng làm việc với nhau thông qua việc cung cấp phương tiện truyền thông
liên mạng.


Hình 1.4: Chồng giao thức tương ứng của mô hình TCP/IP

16


Hình 1.5: Giao tiếp vật lý và logic giữa các lớp
Dữ liệu được đưa xuống từ lớp ứng dụng, sau đó tới lớp transport, tiếp theo tới
lớp Internet và cuối cùng là tới lớp network, mỗi giao thức thực hiện chức năng
xử lý luồng dữ liệu này bằng cách bao bọc các giao thức ở trên nó và đặt thêm
một header điều khiển của mình vào phía trước luồng dữ liệu. Đối với một số
ứng dụng quan trọng thì việc mã hóa luồng dữ liệu trước khi truyền đi là rất
quan trọng, nhất là các giao dịch tại các công ty tài chính, ngân hàng thì điều này
càng cần thiết hơn. Hiện nay, tại Vietinbank đã ứng dụng công nghệ LSP
(Layered Service Provider) hoạt động tại tầng 2,4 (nằm giữa lớp 1 và lớp 2) để
mã hóa luồng dữ liệu trước khi truyền từ PC client lên Server (chạy ứng dụng
core-banking) trong giao dịch BDS, nhằm tiết kiệm bằng thông đường truyền,
tăng tốc độ giao dịch và tăng mức độ bảo mật.

Hình 1.6: Cấu trúc dữ liệu tại mỗi tầng OSI

17


Hệ thống nhận dòng dữ liệu này theo thứ tự ngược lại, các header được loại bỏ
và dòng dữ liệu lại được gửi lên các lớp trên. Sự mở rộng này cung cấp sự linh
hoạt bởi vì các lớp trên không cần quan tâm đến các công nghệ được sử dụng ở
các lớp dưới.

1.2.1.3. Giao thức liên mạng IP
Internet Protocol(IP) là một giao thức hướng dữ liệu được sử dụng bởi các máy

chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói. Nó
là giao thức đầu tiên của mô hình OSI, và cũng là một phần của TCP/IP. Mặc dù
trong giao thức IP có từ Internet, nhưng nó không chỉ được sử dụng trên mạng
Internet mà nó còn được sử dụng ở các mạng chuyên dụng khác mà không liên
quan gì đến Internet.
Nhiệm vụ chính của IP là đánh địa chỉ các gói dữ liệu của thông tin giữa các
máy tính và quản lý các quá trình xử lý các gói dữ liệu này. Giao thức IP có một
định nghĩa hình thức về cách bố trí các gói dữ liệu và khuôn dạng của phần
Header chứa các thông tin về các gói dữ liệu đó. IP đảm nhiệm việc định tuyến
đường truyền để xác định gói dữ liệu phải đi đến đâu và có khả năng điều chỉnh
đường truyền trong trường hợp gặp trục trặc.
IP là một giao thức kiểu không kết nối (Connectionless). IP cung cấp dịch vụ
chuyển gói tin với phương thức "Nỗ lực hết mình" đến đích. Nỗ lực hết mình ở
đây có nghĩa là IP không cung cấp chức năng theo dõi và kiểm tra lỗi gói tin, nó
chỉ cố gắng chuyển gói tin đến được đích nhưng không có sự đảm bảo độ tin
cậy. Nếu độ tin cậy là yếu tố quan trọng thì IP phải hoạt động với một giao thức
tầng trên tin cậy (chẳng hạn TCP). Đơn vị dữ liệu được dùng trong IP gọi là
Datagram. IP là sự lựa chọn tốt nhất cho bất cứ mạng nào kết nối thông tin theo
kiểu từ máy tới máy. Giao thức IP cho phép một gói dữ liệu có kích thước tối đa
là 65.535 byte, kích thước này là quá lớn để các mạng có thể xử lý được, do đó
phải có quá trình phân mảnh các gói dữ liệu để truyền và lắp ráp lại thông tin tại
trạm đích nếu cần thiết.

18


1) Quá trình phân mảnh gói dữ liệu
Các gói số liệu IP phải được nhúng trong các khung số liệu của mức liên kết số
liệu tương ứng, trước khi chuyển tiếp trong mạng. Quá trình nhận một gói số
liệu IP diễn ra ngược lại. Ví dụ: Mạng Ethernet ở mức liên kết số liệu, khi gửi

một gói IP cho mức Ethernet, IP chuyển cho mức liên kết số liệu các thông số
địa chỉ Ethernet đích, kiểu khung Ethernet(0x0800) và cuối cùng là gói IP. Mức
liên kết số liệu đặt địa chỉ Ethernet nguồn là địa chỉ kết nối mạng của mình và
tính toán giá trị tổng kiểm tra (checksum). Trường type chỉ ra kiểu khung là
0x0800 đối với số liệu IP. Mức liên kết số liệu sẽ chuyển khung số liệu theo
thuật toán truy nhập Ethernet.
Một gói IP có độ dài tối đa 65535 byte, trong khi đó hầu hết các mức liên kết số
liệu chỉ hỗ trợ các khung số liệu nhỏ hơn độ lớn tối đa của gói số liệu IP nhiều
lần (ví dụ độ lớn tối đa của một khung số liệu Ethernet là 1500byte). Vì vậy, cần
thiết phải có cơ chế phân mảnh khi phát và hợp nhất mảnh khi thu đối với gói số
liệu IP.
Người ta định nghĩa độ dài tối đa của một gói số liệu liên kết là MTU
(Maximum Transmit Unit). Sự phân mảnh (fragment) xảy ra khi một gói tin IP
đi từ mạng này qua mạng kia có đơn vị truyền tải tối đa MTU nhỏ hơn kích
thước của gói tin. Ví dụ, MTU của chuẩn Ethernet là 1500 byte. Nếu một gói tin
lớn hơn 1500byte, nó cần phải được chia mảnh bởi router đưa nó đến với mạng
Ethernet đó. Sự phân mảnh cũng có thể xảy ra nếu một host cần phải truyền một
gói tien vào một mạng mà gói tin đó có kích thước lớn hơn MTU của mạng. Các
phân mảnh có thể được chia nhỏ nữa nếu chúng phải đi qua những mạng có
MAT nhỏ hơn kích thước của phân mảnh. Mặc dù sự phân mảnh là hòan tòan
hoàn hảo trong tình huống bình thường, nhưng người ta có thể phân mảnh một
cách thủ công cho mục đích tránh phát hiện bởi các router và các hệ thống thăm
dò tấn công mà không được trang bị khả năng giải quyết với sự phân mảnh.
Ví dụ: Nếu muốn gửi một gói số liệu IP gồm 2000 byte qua Ethernet, phải chia

19


gói IP thành 2 gói nhỏ hơn, mỗi gói vừa với giới hạn MTU của Ethernet.
Gói tin ban đầu:

Original
Packet

IP

04 05

00

1 1 1 1

000

05

checksume

06

2000
0

128.83.24.13

192.10.2.5
Data
1980 Byte
Các gói tin sau khi được phân mảnh:
Fragment One
04 05


00

Fragment Two
1500

04 05

0

1 1 1 1

000

05

Checksume

1 1 1 1

001

05

checksum

06

00
06


128.83.24.13

128.83.24.13

192.10.2.5

192.10.2.5

520
185

Data

Data
1480 Byte

500 Byte

Hình 1.7: Nguyên tắc phân mảnh gói số liệu IP
IP dùng cờ MF (3 bít thấp của trường Flags trong phần đầu gói IP) và trường
Fragment Offset của gói IP (đã bị phân đoạn) để định danh gói IP đó là một
phân đoạn và vị trí của phân đoạn này trong gói IP gốc. Các gói dùng trong
chuỗi phân mảnh đều có trường này giống nhau. Cờ MF bằng không nếu là gói
đầu của chuỗi phân mảnh và 1 nếu là gói cuối phân mảnh.
Để có thể tái hợp chúng lại thành trạng thái ban đầu tại phía thu, thì phần tiêu đề
của gói tin phân mảnh cần phải mang các thông tin sau:
– Số định danh IP: Tất cả các phân mảnh từ cùng một gói tin phải được gắn
với những phân mảnh còn lại bằng cách gắn cho tất cả chúng một số định


20


danh duy nhất. Số này được sao chéo từ một trường trong IP header và được
gọi là số định danh IP (số định danh phân mảnh).
– Fragment Offset: Mỗi phân mảnh mang theo một số offset để cho biết vị trí
của nó trong gói tin ban đầu
– Payload Length: Mỗi phân mảnh phải cho biết độ Payload mà nó mang theo
– MF: Mỗi phân mảnh phải cho biết có phân mảnh nào đi sau nó nữa hay
không, thông qua trường MF? Phân mảnh cuối cùng có MF = 0 phần tiêu đề
của gói số liệu IP có thông tin về phân mảnh và xác định các mảnh có quan
hệ phụ thuộc để hợp thành sau này
Quá trình hợp nhất diễn ra ngược lại với quá trình phân mảnh. Khi IP nhận được
một gói phân mảnh, nó giữ phân mảnh đó trong vùng đệm, cho đến khi nhận
được hết các gói IP trong chuỗi phân mảnh có cùng trường định danh. Khi phân
mảnh đầu tiên được nhận, IP khởi động một bộ đếm thời gian (giá trị ngầm định
là 15s). IP phải nhận hết các phân mảnh kế tiếp trước khi đồng hồ tắt. Nếu
không, IP phải huỷ tất cả các phân mảnh trong hàng đợi hiện thời có cùng
trường định danh.
Khi nhận được hết các phân mảnh, IP thực hiện hợp nhất các gói phân mảnh
thành gói IP gốc và sau đó xử lý gói số liệu này như một gói số liệu IP bình
thường. IP thường chỉ thực hiện hợp nhất các gói tại hệ thống đích nơi gói số
liệu được chuyển đến.
Trong quá trình truyền dữ liệu, một gói dữ liệu (Datagram) có thể được truyền
qua nhiều mạng khác nhau. Một gói dữ liệu nhận được từ một mạng nào đó có
thể quá lớn để truyền đi trong một gói đơn ở một mạng khác, bởi vậy mỗi loại
cấu trúc mạng cho phép một đơn vị truyền cực đại MTU (Maximum
Tranmission Unit) khác nhau.
Hậu quả của việc phân mảnh dữ liệu là các gói tin bị phân mảnh sẽ đến đích
chậm hơn so với một gói không bị phân mảnh. Vì vậy phần lớn các ứng dụng

đều tránh không sử dụng kỹ thuật này nếu có thể. Vì sự phân mảnh tạo ra các

21


gói dữ liệu với các header riêng biệt nên quá trình xử lý sẽ làm giảm tính năng
của mạng. Hơn nữa vì IP là một giao thức không tin cậy nên bất kỳ một gói tin
phân mảnh nào bị mất thì tất cả các mảnh khác sẽ phải truyền lại. Chính vì lý do
này nên phải gửi các gói dữ liệu lớn nhất cho phép để không bị phân mảnh, giá
trị này là Path MTU.
Hơn nữa, việc phân mảnh gói IP cũng hàm chứa những nguy hiểm bởi nó đã
cung cấp một mẫu đất màu mỡ cho giới hacker khai thác với một lượng lớn các
loại tấn công khác nhau, mà điển hình là tấn công teardrop. Một tập các phân
mảnh dị hình hoặc chưa hoàn chỉnh vẫn là vấn đề lớn đối với một host. Ví dụ,
gần đây là một chương trình được biết đến như Jolt2 có thể gây ra cuộc tấn công
từ chối dịch vụ thông qua làm cạn kiệt tài nguyên của host chỉ đơn giản bằng
cách gửi liên tiếp các fragment có offset khác 0 đến host Windows.
2) Định tuyến IP
Định tuyến là quá trình gửi các gói dữ liệu từ nguồn đến địa chỉ đích trên mạng,
giữa các mạng hoặc mạng con thông qua qua việc sử dụng một thiết bị lớp 3
(Router)
Định tuyến IP dựa trên nguyên tắc đánh địa chỉ IP như sau:
-

Các trạm làm việc kết nối trong một mạng “vật lý” phải có cùng phần địa
chỉ mạng IP. Việc định tuyến IP đồng nghĩa với việc xác định đường tới
mạng IP.

-


Mỗi kết nối mạng phải có một địa chỉ mức liên kết xác định, ứng với một
địa chỉ mức liên kết có một địa chỉ IP và ngược lại.

Việc định tuyến IP dựa trên bảng định tuyến, được lưu trữ tại mỗi trạm làm việc
và thiết bị định tuyến. Bảng định tuyến cho biết các số liệu sau:
-

Địa chỉ mạng đích.

-

Địa chỉ IP của thiết bị chuyển tiếp (Gateway).

-

Cờ cho biết, đối với mỗi địa chỉ mạng đích có thể đạt tới trực tiếp qua kết
nối mạng vật lý hay phải qua thiết bị chuyển tiếp khác (Flag).

Căn cứ vào những nguyên tắc nêu trên, thuật toán định tuyến IP được mô tả như

22


sau:
– Giảm trường TTL của gói IP.
– Nếu TTL=0 thì:
o Huỷ gói
o Gửi thông điệp ICMP báo lỗi cho thiết bị gửi.
– Nếu địa chỉ đích là một trong các địa chỉ IP của các kết nối mạng trên hệ
thống, nghĩa là gói số liệu IP được gửi cho chính hệ thống này, thì xử lý gói

số liệu IP tại chỗ.
– Xác định địa chỉ mạng đích bằng cách nhân logic (AND) mặt nạ mạng
(network mask) với địa chỉ IP đích.
– Nếu địa chỉ mạng đích không tìm thấy trong bảng định tuyến thì huỷ bỏ gói
số liệu này và gửi thông điệp ICMP báo lỗi “mạng đích không đến được” cho
thiết bị gửi.
– Nếu địa chỉ mạng đích bằng địa chỉ mạng của hệ thống, nghĩa là thiết bị đích
được kết nối trong cùng mạng với hệ thống thì tìm địa chỉ mức liên kết tương
ứng trong bảng thích ứng địa chỉ IP-MAC, nhúng gói tin trong gói số liệu
mức liên kết và chuyển tiếp gói số liệu đến đích.
– Trong trường hợp địa chỉ mạng đích không bằng địa chỉ mạng của hệ thống
thì chuyển tiếp đến thiết bị định tuyến cùng mạng.

1.2.1.4. Giao thức TCP và UDP
Giao thức Transmission Control Protocol(TCP) và User Datagram Protocol
(UDP) là hai giao thức cơ bản hoạt động ở tầng Transport của mô hình TCP, và
cùng sử dụng giao thức IP trong tầng Network.
1) Giao thức TCP
TCP là một giao thức hướng kết nối (connection oriented), nghĩa là cần phải
thiết lập liên kết logic giữa một cặp thực thể TCP trước khi chúng trao đổi dữ
liệu với nhau. Một tiến trình ứng dụng trong một máy tính truy nhập vào các

23


dịch vụ của giao thức TCP thông qua một cổng (port) của TCP (2byte).
Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy
nhất trong liên mạng. Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa
một cặp đầu nối TCP/IP. Một đầu nối TCP/IP có thể tham gia nhiều liên kết với
các đầu nối TCP/IP ở xa khác nhau.

TCP cung cấp khả năng truyền dữ liệu một cách an toàn giữa các thành viên
trong liên mạng. Cung cấp các chức năng kiểm tra tính chính xác của dữ liệu khi
đến đích và truyền lại dữ liệu khi có lỗi xảy ra. TCP cung cấp các chức năng
chính sau:
– Thiết lập, duy trì, giải phóng kiên kết giữa hai thực thể TCP.
– Phân phát gói tin một cách tin cậy.
– Tạo số thứ tự (Sequencing) các gói dữ liệu.
– Điều khiển lỗi.
– Cung cấp khả năng đa kết nối cho các quá trình khác nhau giữa các thực thể
nguồn và đích thông qua việc sử dụng số hiệu cổng.
– Truyền dữ liệu theo chế độ song công (full-Duplex).
TCP có những đặc điểm sau:
– Hai nút liên kết với nhau phải trao đổi, đàm phán với nhau về các thông tin
liên kết. Hội thoại, đàm phán nhằm ngăn chặn sự tràn lụt và mất dữ liệu khi
truyền.
– Nút nhận phải gửi xác nhận cho nút gửi biết rằng nó đã nhận được gói dữ
liệu.
– Các gói tin có thể đến đích không đúng theo thứ tự, TCP nhận sắp xếp lại.
– Hệ thống chỉ gửi lại gói tin bị lỗi, không loại bỏ toàn bộ dòng dữ liệu.
Thiết lập và kết thúc kết nối TCP:
Như ta đã biết, TCP là một giao thức kiểu có liên kết, tức là cần phải có giai
đoạn thiết lập một liên kết giữa một cặp thực thể TCP trước khi truyền dữ liệu

24


×