Bài giảng An ninh mạng - Bài 11: An toàn bảo mật các giao thức mạng - Bùi Trọng Tùng
BÀI 11.
AN TOÀN BẢO MẬT
CÁC GIAO THỨC MẠNG
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
1
Nội dung
• Tổng quan về mạng máy tính
• An toàn bảo mật một số giao thức trong TCP/IP
• An toàn bảo mật định tuyến, chuyển mạch
2
1
1. Tổng quan về mạng máy tính
• Mạng máy tính là gì?
• Giao thức?
• Hạ tầng mạng Internet
Backbone
ISP
ISP
3
Kiến trúc phân tầng
Ứng dụng
- Cung cấp dịch vụ cho người dùng
- Gồm 2 tiến trình: client và server
- Sử dụng dịch vụ của tầng giao
tiến trình
Giao vận
Mạng
Liên kết dữ liệu
Vật lý
- Giao thức tầng ứng dụng: DNS,
DHCP, HTTP, SMTP, POP, IMAP...
4
2
Kiến trúc phân tầng (tiếp)
Ứng dụng
- Điều khiển quá trình truyền dữ
liệu giữa các tiến trình.
- Dồn kênh/Phân kênh: số hiệu
cổng dịch vụ
Giao vận
- TCP: hướng liên kết, tin cậy,
truyền theo dòng byte
- UDP: hướng không liên kết,
truyền theo bức tin (datagram)
Mạng
Liên kết dữ liệu
Vật lý
5
Kiến trúc phân tầng (tiếp)
Ứng dụng
Kết nối liên mạng (Internetworking):
- Đóng gói, phân mảnh dữ liệu
Giao vận
- Định tuyến
- Chuyển tiếp gói tin
- Đảm bảo chất lượng dịch vụ
Mạng
Liên kết dữ liệu
Vật lý
6
3
Kiến trúc phân tầng (tiếp)
Ứng dụng
- Điều khiển truyền dữ liệu trên
từng liên kết vật lý: đóng gói,
đồng bộ, phát hiện và sửa lỗi
- Chuyển mạch dữ liệu giữa các
liên kết vật lý
- Điều khiển truy cập đường
truyền
Giao vận
Mạng
Liên kết dữ liệu
Vật lý
- Hỗ trợ truyền thông quảng bá
- VLAN
7
Kiến trúc phân tầng (tiếp)
Ứng dụng
Giao vận
Mạng
Liên kết dữ liệu
- Mã hóa bit thành tín hiệu
- Điều chế tín hiệu và truyền tín
hiệu trên liên kết vật lý
Vật lý
8
4
Kiến trúc phân tầng (tiếp)
Ứng dụng
Chỉ triển khai
trên các hệ
thống đầu
cuối
Giao vận
Mạng
Triển khai trên
Liên kết dữ liệu
Vật lý
tất cả các hệ
thống con
Khác nhau trên
các đường truyền
vật lý khác nhau
9
Chồng giao thức (protocol stack)
Giao thức ứng dụng
Ứng dụng
Giao vận
Ứng dụng
TCP/UDP
Giao vận
Giao thức
liên kết dữ
liệu
Giao thức
liên kết dữ
liệu
Liên kết
dữ liệu
Liên kết dữ liệu
Vật lý
Liên kết dữ liệu
Vật lý
Vật lý
Tín hiệu
Tín hiệu
10
5
Đóng gói dữ liệu (TCP)
• Nút gửi: Thêm thông tin điều khiển (header)
• Nút nhận: Loại bỏ thông tin điều khiển
TCP Header
Dữ liệu/thông điệp tầng ứng dụng
message
Ứng dụng
Giao vận (TCP, UDP)
Mạng (IP)
segment
packet
TCP data
TCP data
TCP data
IP TCP data
frame
Liên kết dữ liệu
Vật lý
ETH IP TCP data ETF
IP Header
Link (Ethernet)
Header
Link (Ethernet)
Trailer
11
Những khó khăn với bài toánATBM mạng
máy tính (nhắc lại)
• Hệ thống mở
• Tài nguyên phân tán
• Người dùng ẩn danh
• TCP/IP được không được thiết kế để đối mặt với các
nguy cơ ATBM
Không xác thực, giữ bí mật dữ liệu trong gói tin
12
6
2. TẤN CÔNG CÁC GIAO THỨC TẦNG ỨNG DỤNG
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
13
1.1. Tấn công dịch vụ DNS
• Tên miền (domain name): định danh trên tầng ứng dụng
cho nút mạng cung cấp dịch vụ
• Domain Name System
• Dịch vụ DNS: phân giải tên miền thành địa chỉ IP và
ngược lại
14
7
Hệ thống tên miền
Không gian tên miền
Kiến trúc : hình cây
Root
Zone
Mỗi nút là một tập hợp các
bản ghi mô tả tên miền tương
ứng với nút lá đó.
SOA
NS
A
PTR
CNAME
15
Hệ thống máy chủ DNS
• Máy chủ tên miền gốc (Root server)
Trả lời truy vấn cho các máy chủ cục bộ
Quản lý các zone và phân quyền quản lý cho máy chủ cấp dưới
Có 13 máy chủ gốc trên mạng Internet
16
8
Hệ thống máy chủ (tiếp)
• Máy chủ tên miền cấp 1 (Top Level Domain)
Quản lý tên miền cấp 1
• Máy chủ của các tổ chức: của ISP
• Máy chủ cục bộ: dành cho mạng cục bộ
17
Phân giải tên miền
• Phân giải tương tác: Cơ chế mặc định trên các máy chủ DNS
Tải đặt lên máy chủ tên miền
root
gốc rất lớn. Thực tế máy chủ
server
DNS cục bộ thường đã biết các
máy chủ TLD (cơ chế cache).
202.191.56.65
TLD
server
Hỏi dns.hust.edu.vn
dns.vn
Local/ISP
server
Authoritative
DNS server
dns.hust.edu.vn
18
9
Phân giải tên miền
• Phân giải đệ quy
Root
server
soict.hust.edu.vn
202.191.56.65
202.191.56.65
soict.hust.edu.vn
TLD
202.191.56.65
Local/ISP
server
server
dns.vn
soict.hust.edu.vn
Tải đặt lên các máy chủ cấp trên
rất lớn. Thực tế máy chủ tên miền
gốc và máy chủ cấp 1 không thực
hiện phân giải đệ quy
Authoritative
DNS server
dns.hust.edu.vn
19
Thông điệp DNS
• DNS Query và DNS Reply
SRC = 53
checksum
DST = 53
length
Chung khuôn dạng
• QUESTION: tên miền cần
truy vấn
Identification
#Question
Flags
#Answer RRs
s
Số lượng: #Question
• ANSE: htt
Số lượng: #Answer RRs
QUESTION
• AUTHORITY: địa chỉ
server trả lời truy vấn
• ADDITIONAL: thông tin
phân giải tên miền cho các
địa chỉ khác
ANSWER
AUTHORITY
ADDITIONAL
20
10
dig linux.com
; <> DiG 9.9.2-P1 <> linux.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21655
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2,
ADDITIONAL: 3
TTL: thời gian(s) lưu giữ
;; QUESTION SECTION:
;linux.com. IN A
trả lời trong cache
;; ANSWER SECTION:
linux.com. 1786 IN A 140.211.167.51
linux.com. 1786 IN A 140.211.167.50
;; AUTHORITY SECTION:
linux.com. 86386 IN NS ns1.linux-foundation.org.
linux.com. 86386 IN NS ns2.linux-foundation.org.
;; ADDITIONAL SECTION:
ns1.linux-foundation.org. 261 IN A 140.211.169.10
ns2.linux-foundation.org. 262 IN A 140.211.169.11
21
Một số dạng tấn công DNS
• Tấn công vào máy chủ cung cấp dịch vụ:
DoS/DDoS, tấn công khai thác các lỗi phần mềm
• Tấn công vào giao thức DNS:
DNS cache poisioning
DNS rebinding
DNS Amplification attack
22
11
DNS cache poisoning
(2a) a.bank.com
QID=x1
(1) Query:
a.bank.com
Local
DNS
Resolver
User
Browser
ns.bank.com
(3) Ipaddr
(bị Resolver từ chối do
đến sau)
(2b) các thông điệp trả lời có
QueryID ngẫu nhiên y1, y2, …
NS bank.com=ns.bank.com
A ns.bank.com=attackerIP
Kẻ tấn công thành công nếu
Attacker
j: x = y
1
j
Nội dung thông điệp trả lời
được lưu trên bộ đệm của
Local DNS Resolver
23
DNS cache poisioning (tiếp)
• Nếu giá trị QueryID được sử dụng là ngẫu nhiên, xác suất
thành công của kẻ tấn công không cao:
P = k/216
Thông điệp giả mạo có giá trị QueryID phù hợp phải đến trước
thông điệp của DNS server tin cậy
•
Tấn công DoS vào máy chủ NS
Sử dụng kỹ thuật tấn công ngày sinh
24
12
DNS cache poisioning (D.Kaminsky ‘08)
• Kẻ tấn công gửi một loạt các yêu cầu truy vấn tên miền
không tồn tại có cùng tên miền cấp trên với tên miền giả
mạo
Ví dụ: random1.google.com, random2.google.com,…
• Gửi các thông điệp trả lời giả mạo với thông tin thêm vào
phần Authority và Additional
• Phòng chống: DNS server sử dụng số hiệu cổng ngẫu
nhiên khi gửi thông điệp truy vấn
25
DNS cache poisioning (D.Kaminsky ‘08)
;; QUESTION SECTION:
;random6.google.com. IN A
;; ANSWER SECTION:
random6.google.com. 21600 IN A don’t matter
;; A
goog
;; ADDITIONAL SECTION:
mail.google.com. 86386 IN A 6.7.8.9
26
13
DNS Rebinding
ns.evil.com
(1b) 171.64.7.115 TTL = 0
DNS server
(3b) 192.168.0.100
(2) HTTP Messages
(4) attack
web server
corporate
web server
171.64.7.115
192.168.0.100
27
Phòng chống tấn công DNS Rebinding
• Trình duyệt: DNS Pinning
Từ chối thay đổi ánh xạ tên miền sang địa chỉ IP khác trong một
khoảng thời gian
Hạn chế tương tác với proxy, VPN, Dynamic DNS
• Máy trạm người dùng: sử dụng dịch vụ DNS tin cậy
• Máy chủ:
miền không nhận diện được
Xác thực người dùng
• Firewall: chặn các thông điệp DNS Reponse phân giải
tên miền thành 1 địa chỉ cục bộ
28
14
Làm thế nào để dịch vụ DNS an toàn hơn
• Ý tưởng cơ bản: sử dụng mật mã học
• Giải pháp 1: sử dụng kết nối SSL/TLS
Phân tích?
• Giải pháp 2: chứng thực bản ghi DNS
DNSSEC
Phân tích?
29
1.2. Tấn công dịch vụ DHCP
• Dynamic Host Configuration Protocol
• Cấp phát các cấu hình IP tự động cho máy trạm:
Địa chỉ IP
Địa chỉ gateway router
Địa chỉ DNS server
• Sử dụng UDP, cổng 67
30
15
Hoạt động của DHCP
DHCP
server
New
client
Thông điệp DHCP
Offer có địa chỉ IP,
ời
gian sử dụng cấp
phát cho client
Kẻ tấn công
bên trong có
thể nghe thấy
một máy trạm
mới phát yêu
Kẻ tấn công bên trong có
thể phát thông điệp DHCP
Offer trước server
cầu DHCP
31
Các nguy cơ tấn công DHCP
• Lỗ hổng: Bất kỳ máy trạm nào yêu cầu cũng được cấp
phát địa chỉ IP
Nguy cơ: Tấn công DoS làm cạn kho địa chỉ
• Lỗ hổng: Không có xác thực cho các thông tin cấp phát từ
DHCP server:
Nguy cơ: Thay địa chỉ DNS server tin cậy bằng địa chỉ DNS của kẻ
Nguy cơ: Thay địa chỉ default router, cho phép kẻ tấn công:
Chặn bắt, do thám thông tin
Tấn công phát lại
Tấn công man-in-the-middle
• Phòng chống: DHCP Snooping
32
16
3. TẤN CÔNG GIAOTHỨC TCP
Bùi Trọng Tùng,
Viện Công nghệ thông tin và Truyền thông,
Đại học Bách khoa Hà Nội
33
Nhắc lại về TCP
• Transmission Control Protocol
• Hướng liên kết (connection-oriented), tin cậy:
Thiết lập liên kết: bắt tay 3 bước
Truyền dữ liệu
Kết thúc liên kết
•
• Điều khiển luồng
• Điều khiển tắc nghẽn
34
17
Nguy cơATBM với TCP (Tính sẵn sàng)
• Tấn công DoS – SYN Flooding
Kẻ tấn công gửi hàng loạt gói tin SYN với địa chỉ nguồn là các địa
chỉ IP giả
Server gửi lại SYN/ACK, chuẩn bị tài nguyên để trao đổi dữ liệu,
chờ ACK trong thời gian time-out
tấn công thành công nếu trong thời gian time-out làm cạn kiệt tài
nguyên của ứng dụng, máy chủ vật lý
Server
Client (initiator)
Server chờ ACK
từ client
Kẻ tấn công
không gửi lại
ACK
35
Tấn công can thiệp vào kết nối TCP
• Quá trình trao đổi dữ liệu kết thúc bình thường: giao thức
TCP cho phép 2 bên đóng liên kết một cách độc lập (gửi
gói tin FIN)
Tin cậy: chờ nhận ACK
Liên kết chỉ thực sự hủy khi 2 bên đã đóng
• Ngược lại, nếu quá trình trao đổi dữ liệu không thể kết
các gói tin lỗi), gói tin RST (reset) được gửi đi:
Việc đóng liên kết xuất phát từ một bên
Không cần chờ ACK
Liên kết được hủy nếu Sequence Number là phù hợp
kẻ tấn công có thể ngắt kết nối đột ngột của người dùng nếu biết
được thông tin về số hiệu cổng, Sequence Number
36
18
RST Injection
Client (initiator)
Server
IP address 1.2.1.2, port 3344
IP address 9.8.7.6, port 80
...
Attacker chèn gói tin RST
IP address 6.6.6.6, port N/A
SrcA=9.8.7.6, SrcP=80,
DstA=1.2.1.2, DstP=3344,
RST, Seq = y+1, Ack = x+16
Client từ chối
các dữ liệu
được gửi từ
server thực sự
X
37
Data Injection
Client (initiator)
Server
IP address 1.2.1.2, port 3344
IP address 9.8.7.6, port 80
...
Attacker chèn dữ liệu giả
IP address 6.6.6.6, port N/A
ACK, Seq = y+1, Ack = x+16
Data=“200 OK … <poison> …”
Client tiếp tục
quá trình với dữ
liệu giả
Client từ chối
gói tin vì Seq.
Number không
phù hợp
38
19
Tấn công kết nối TCP trong trường hợp
không biết thông tin về kết nối
• Nhận xét: trong các kịch bản tấn công trên, kẻ tấn công
cần phải theo dõi các thông số trên kết nối (cổng,
Sequence Number...)
• Trong trường hợp không có các thông tin này, kẻ tấn công
vẫn có thể thực hiện bằng cách đoán nhận
• Hoặc đơn giản hơn: giả mạo kết nối TCP
• Phòng chống?
39
Tấn công giả mạo kết nối TCP
Client
Server
IP address 1.2.1.2, port N/A
IP address 9.8.7.6, port 80
Giả mạo
client
SrcA=1.2.1.2, SrcP=5566,
DstA=9.8.7.6, DstP=80, SYN, Seq = z
Attacker
không biết
gó
Điều gì cản trở attacker
thực hiện thành công?
Attacker phải hoàn thành được
giai đoạn bắt tay 3 bước
SrcA=1.2.1.2, SrcP=5566, DstA=9.8.7.6,
DstP=80, ACK, Seq = z+1, ACK = y+1
40
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An ninh mạng - Bài 11: An toàn bảo mật các giao thức mạng - Bùi Trọng Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_an_ninh_mang_bai_11_an_toan_bao_mat_cac_giao_thuc.pdf

