Kẻ tấn công sẽ gửi các thông điệp đến một máy tính sử dụng một địa chỉ IP giả mạo với mục đích lừa gạt để người nhận tin rằng thông điệp được phát ra từ một máy tính đáng tin cậy.. Giả
Trang 1AN TOÀN THÔNG TIN CHO CÁN BỘ KỸ THUẬT
Học viện Công nghệ Bưu chính Viễn thông
CÁC KỸ THUẬT TẤN CÔNG PHỔ BIẾN
VÀO HỆ THỐNG THÔNG TIN
CHUYÊN ĐỀ 3
Trang 2TỔNG QUAN NỘI DUNG
1 Khái quát kỹ thuật tấn công hệ thống máy
Trang 32 Một số kỹ thuật tấn công phổ biến
1 Tấn công Spoofing
2 Tấn công IP Fragmentation
3 Tấn công Packet Sniffing
4 Tấn công MitM (Man-in-the-Middle)
5 Tấn công Replay
6 Tấn công Session Hijacking
7 Tấn công TCP Sequence Prediction
5
2 Một số kỹ thuật tấn công phổ biến
8 Tấn công DoS và DDoS
Ping of Death
Land Attack
SYN Flooding
9 Tấn công DNS
10 Tấn công Buffer Overflow
11 Tấn công Format String
12 Tấn công Back Door
13 Tấn công kiểu Social Engineering
Trang 42.1 Tấn công giả mạo (Spoofing)
Spoofing
Tấn công giả mạo (Spoofing) là tình huống một người/một
chương trình giả mạo thành công là một người khác/một
chương trình khác bằng cách làm sai lệch dữ liệu và do đó
đạt được một lợi thế không chính đáng
Có nhiều loại tấn công giả mạo như:
Giả mạo IP
Giả mạo MAC
Giả mạo URL
Giả mạo ARP
Giả mạo DNS
Trang 5Giả mạo địa chỉ IP
Giả mạo địa chỉ IP là kỹ thuật được dùng để chiếm quyền
truy cập trái phép vào máy tính Kẻ tấn công sẽ gửi các
thông điệp đến một máy tính sử dụng một địa chỉ IP giả mạo
với mục đích lừa gạt để người nhận tin rằng thông điệp
được phát ra từ một máy tính đáng tin cậy
Có nhiều kỹ thuật hacker sử dụng để lấy được các địa chỉ IP
tin cậy, sau đó sửa đổi tiêu đề gói tin để chèn các địa chỉ giả
mạo Tuy nhiên, các router và firewall thế hệ mới với cấu
hình thích hợp có thể ngăn chặn được giả mạo IP
9
A 10.10.10.1
www.abc.com 124.111.1.10 http://www.abc.com
10.10.10.1
Src_IP
124.111.1.10 dst_IP
Any (>1024) Src_port
80 dst_port
11.11.11.1
Src_IP
134.117.1.60 dst_IP
Any (>1024) Src_port
80 dst_port Giả mạo
Giả mạo địa chỉ IP (tiếp)
Trang 6Giả mạo địa chỉ IP (tiếp)
11
Tại sao dễ dàng thực hiện tấn công giả mạo IP?
Các lỗi trong cấu hình router
Router chỉ quan tâm các địa chỉ đích
Việc xác thực chỉ dựa trên các địa chỉ nguồn
Thay đổi các trường trong gói tin IP rất dễ dàng
Trang 7Các biến thể của tấn công giả mạo IP
Có một số tấn công sử dụng giả mạo IP:
1 Non-blind spoofing
2 Blind spoofing
3 Tấn công chiếm kết nối (connection hijacking)
4 Tấn công từ chối dịch vụ (DoS)
5 Tấn công Smurf
13
Các biến thể của tấn công giả mạo IP (tiếp)
1 Non-blind spoofing
Tấn công này xảy ra khi kẻ tấn công nằm trên cùng subnet
với mục tiêu bị tấn công Khi đó, mục tiêu bị tấn công có thể
quan sát được các trường sequence và acknowledgement
của các gói tin
Trang 8Người gửi
Nạn nhân
partner
Tôi đã nhận được gói
tin từ bạn tôi Tôi sẽ xử
Trang 9Các biến thể của tấn công giả mạo IP (tiếp)
2 Blind spoofing
Tấn công này có thể xảy ra từ bên ngoài, do đó không thể
truy cập được giá trị sequence và acknowledgement của gói
tin Kẻ tấn công thường gửi nhiều gói tin đến các máy tính
mục tiêu để lấy mẫu giá trị sequence
Tấn công này sử dụng giả mạo để can thiệp vào một kết nối
(hoặc tạo ra một kết nối) không cùng subnet với mục tiêu
17
Người gửi
Ô hay, có rất nhiều
gói tin đến Nhưng
gói nào mới là thật
sự?
flooding attack
Nạn nhân
Trang 10Các biến thể của tấn công giả mạo IP (tiếp)
3 Tấn công chiếm kết nối (connection hijacking)
Trong kiểu tấn công này, bên tấn công chặn một kết nối hợp
lệ giữa hai host để kiểm soát thông tin và sau đó loại bỏ
hoặc thay đổi các thông tin được gửi bởi một trong những
bên tham gia lúc đầu mà họ không biết
19
Người gửi
Gói tin IP giả mạo
reflector
src: nạn nhân dst: reflector
Ô hay, có quá
nhiều gói tin trả
Reflection attack
Trang 11Các biến thể của tấn công giả mạo IP (tiếp)
4 Tấn công từ chối dịch vụ (DoS)
Khi tiến hành các cuộc tấn công, kẻ tấn công giả mạo IP
nguồn khiến việc truy tìm và ngăn chặn DoS trở nên khó
khăn Do đó khi nhiều máy đã bị hack tham gia vào các cuộc
tấn công, rất khó khăn để có thể nhanh chóng ngăn chặn
các lưu lượng truy cập này
Giả mạo IP hầu như luôn được sử dụng trong tấn công từ
chối dịch vụ (DoS), trong đó kẻ tấn công tiêu hao băng thông
và tài nguyên bằng cách gây ngập lụt các mục tiêu với rất
nhiều gói tin trong một khoảng thời gian ngắn
21
Các biến thể của tấn công giả mạo IP (tiếp)
5 Tấn công Smurf
Gửi gói tin ICMP ping với địa chỉ IP nguồn giả mạo tới một
mạng LAN, rồi sau đó gói tin này sẽ được quảng bá đến tất
cả các host trên mạng LAN
Mỗi host sẽ gửi một gói tin trả lời đến địa chỉ IP giả mạo, từ
đó dẫn tới từ chối dịch vụ
Trang 12Giống gói tin ping hợp lệ
“Bạn còn sống chứ?”
yêu cầu từ nạn nhân
Mọi host trong mạng gửi gói
ping trả lời (ICMP
Echo Reply) tới nạn nhân
Luồng các gói tin ping trả lời tràn ngập máy nạn nhân
Giả mạo địa chỉ MAC
Kẻ tấn công nghe lén địa chỉ MAC của máy trạm hợp pháp
trong mạng, sau đó dùng địa chỉ MAC đó để truy cập mạng
Bằng cách dùng địa chỉ MAC ăn cắp được của nạn nhân, kẻ
tấn công có thể nhận được tất cả các lưu lượng đi từ máy
nạn nhân tới đích
Trang 13Giả mạo địa chỉ MAC (tiếp)
Nếu MAC được quyền thực thi trong mạng, kẻ tấn công có
thể có quyền thực thi trong mạng đó
Kẻ tấn công có thể tiến hành nhận dạng một ai đó trên mạng
Công cụ giả mạo MAC trên MS Windows:
SMAC 2.0
25
Email Spoofing
Trang 1416-bit identifier
header checksum
time to live
32 bit địa chỉ IP nguồn
tổng hợp
tổng độ dài datagram (bytes)
giao thức lớp trên
head.
len
type of service
offset upper
layer
32 bit địa chỉ IP đích
timestamp ghi nhận đường đi, danh sách các
Trang 151 datagram lớn thành một vài datagram nhỏ hơn
Phân mảnh và tập hợp lại gói tin IP
Trang 16Tấn công phân mảnh IP (tiếp)
Router và Internet Gateway là các thiết bị chung
Các gói tin được phân mảnh không đúng thường được
chuyển tiếp với lưu lượng khác
Yêu cầu “kiểm tra Statefull”
31
2.3 Tấn công Packet Sniffing
Trang 17Định tuyến IP
Định tuyến internet sử dụng địa chỉ IP số
Định tuyến điển hình sử dụng một số hops
Source Destination Sequence
Packet
121.42.33.12
121.42.33.1
132.14.11.51 132.14.11.1
33
Packet Sniffing
Promiscuous Network Interface Card (Cạc giao diện mạng
ngẫu nhiên) đọc tất cả các gói tin
Đọc tất cả các dữ liệu được mã hóa (e.g., “ngrep”)
ftp, telnet gửi mật khẩu rõ ràng
Eve
Network
Trang 18Xem xét các thiết bị kết nối
Không sử dụng CSMA/CD tại hub:
các adapter sẽ phát hiện xung đột
Cung cấp chức năng quản trị mạng
twisted pair
hub
Trang 19 Kẻ tấn công nằm bên
trong firewall
Yêu cầu:
Host của kẻ tấn công được
kết nối với môi trường chia
Phân tích gói tin
Lấy và chuyển đi
Các userid và password
Số thẻ tín dụng
Các cuộc hội thoại email bí mật
Tấn công Island hopping:
Đi qua các máy tính đơn (ví dụ,
vi rút)
Cài đặt sniffer, quan sát password, đi qua nhiều máy, cài đặt các sniffer
37
Sniffing thụ động
Dễ dàng sniff:
Lưu lượng 802.11 (802.11 traffic)
Lưu lượng Ethernet qua một hub
• Bất kỳ gói tin nào gửi cho hub cũng được quảng bá đến tất cả các giao diện
• Không đúng cho một switch
Lưu lượng cable modem
Các sniffer thông dụng
Wireshark
tcpdump (for unix)
Snort (sniffing và kiểm tra xâm nhập)
Trang 20Sniffing chủ động qua một switch
switch
Kẻ tấn công
Nạn nhân
Làm thế nào kẻ tấn công có thể sniff các gói tin đến/từ một nạn nhân?
Có thể lấy được các gói tin của nạn nhân đi đến kẻ tấn công!
Switch gửi quảng bá các gói tin thật đến tất cả các liên kết
Sniff tất cả các gói tin quảng bá
Trang 21Cách phòng thủ
Gắn các địa chỉ MAC vào cổng switch
Có sẵn trên các switch cao cấp
Cấu hình phức tạp
Ưu tiên cho ánh xạ hiện có
Chỉ thay thế chúng khi timeout đã hết
41
Sniffing qua LAN: phá hoại bảng ARP của nạn nhân
Kẻ tấn công
Thế giới bên ngoài
Router mặc định cho LAN
switch Nạn nhân
(1) Gửi các đáp ứng ARP giả,
ánh xạ địa chỉ IP của router
thành địa chỉ MAC của kẻ
tấn công
(2) Nạn nhân gửi lưu lượng đã đến
ra thế giới bên ngoài Bảng ARP bị
phá hoại là nguyên nhân làm cho lưu
lượng được gửi đến kẻ tấn công.
(3) Các gói tin được chuyển tiếp từ host của kẻ tấn công tới router mặc định.
(0) Sniff tất cả các frame đến
Cấu hình để các gói IP đến từ nạn nhân được chuyển tiếp đến router mặc định
Ý tưởng: có lưu lượng của
client được chuyển đến kẻ
tấn công
Trang 22 Mã hóa dữ liệu: IPsec, SSL, PGP, SSH
Không sử dụng hub: chuyển hoàn toàn sang mạng chuyển mạch.
Sử dụng mã hóa cho cả không dây và các kênh cáp.
Cấu hình các switch với địa chỉ MAC
Tắt tính năng tự học (biết ánh xạ giữa các cổng và các địa chỉ MAC)
Loại bỏ vấn đề tràn bộ nhớ
Các hệ thống kiểm tra xâm nhập
Xem xét được số lượng lớn đáp ứng ARP
Honeypot
Tạo mật khẩu giả mạo và gửi mật khẩu qua mạng
Trang 24Các kịch bản tấn công MITM
Cách tấn công khác nhau trong các tình huống khác nhau
LOCAL AREA NETWORK:
- Phá hoại ARP - Giả mạo DNS - STP mangling
- Đánh cắp cổng
TỪ LOCAL TỚI REMOTE (qua gateway):
- ICMP redirection - Giả mạo IRDP - route mangling
REMOTE:
- Phá hoại DNS - traffic tunneling - route mangling
47
Ví dụ local MIMT: giả mạo DNS
Nếu kẻ tấn công nghe trộm được ID của bản tin DNS
request, họ có thể gửi trả lời trước server DNS thật
10.1.1.50
MITM
10.1.1.1
Trang 25Các công cụ dùng trong giả mạo DNS
Ví dụ local tới remote MIMT: chuyển hướng ICMP
Nếu kẻ tấn công có thể bắt chuyển hướng gói ICMP nhằm
chuyển lưu lượng tới chúng
H
T
ICMP redirect to AT
Trang 26Các công cụ dùng trong chuyển hướng ICMP
IRPAS icmp_redirect(Phenoelit)
Trang 28{“trừ $100 từ credit card”} AET-secret
{“trừ $100 từ credit card”}AET-secret
Trang 29Tấn công lặp lại (tiếp)
Sau đó, kẻ tấn công truyền lại (lặp lại) thông điệp tới host
đích ban đầu
Không cần thiết phải đọc được thông điệp để truyền lại
57
Tấn công lặp lại (tiếp)
Tại sao lại thực hiện tấn công lặp lại?
Để chiếm quyền truy cập tới tài nguyên bằng cách lặp lại thông điệp
xác thực
Trong tấn công DoS, được dùng để gây nhiễu host đích
Trang 302.6 Tấn công chiếm đoạt phiên
Trang 31Chi tiết tấn công session hijacking
Kẻ tấn công trên đoạn lưu lượng giữa Alice và Bob
Kẻ tấn công sniff các gói tin
Nhìn thấy các gói tin TCP giữa Bob và Alice và các số thứ tự
(sequence number) của chúng.
Kẻ tấn công nhảy vào, gửi các gói TCP tới Bob; địa chỉ IP
nguồn = Địa chỉ IP của Alice
Lúc này Bob sẽ nghe lệnh được gửi từ kẻ tấn công, vì nghĩ là nó được
2 Để đồng bộ hóa, Alice gửi segment với số thứ tự (seq#) đúng.
Bob nhận được segments
Ghi đè lên bảng ARP IP-to-MAC
Segments của Alice sẽ không tới được Bob và ngược lại.
Nhưng kẻ tấn công sẽ tiếp tục nghe ngóng các segments từ phía Bob, liên
Trang 32Các công cụ session Hijacking
Trang 33Số thứ tự TCP (TCP Sequence Numbers)
Số thứ tự (32 bits) – có hai vai trò:
Nếu cờ SYN được lập, thì đây là số thứ tự khởi tạo Số thứ tự của
byte dữ liệu đầu tiên thực tế là số thứ tự này công thêm 1.
Nếu cờ SYN bị xóa, thì đây là số thứ tự tích lũy của byte dữ liệu đầu
tiên của gói tin này cho phiên hiện tại.
Số báo nhận (Acknowledgment number) (32 bits)
Nếu cờ ACK được lập thì đây là số thứ tự tiếp theo mà bên nhận
Chú ý:Bên gửi và bên nhận TCP
thiết lập “kết nối” trước khi trao đổi
dữ liệu
khởi tạo các biến TCP:
các số thứ tự đoạn
thông tin các bộ đệm, điều
khiển luồng (như RcvWindow)
client: người khởi xướng kết nối
Socket clientSocket = new
• không phải dữ liệu
Bước 2: server host nhận SYN, trả lời với đoạn SYNACK
• server cấp phát các bộ đệm
• xác định số thứ tự khởi đầu
Bước 3: client nhận SYNACK, trả lời với đoạn ACK (có thể chứa dữ liệu)
Trang 34TCP quản lý kết nối (tiếp)
Bước 2:server nhận FIN, trả lời
với ACK Đóng kết nối, gửi FIN
TCP quản lý kết nối (tiếp)
Bước 3:client nhận FIN, trả lời
với ACK
Trong khoảng “thời gian
chờ” – sẽ phản hồi với ACK
để nhận các FIN
Bước 4:server , nhận ACK Kết
nối đã đóng
Chú ý:với một sửa đổi nhỏ, có
thể quản lý nhiều FIN đồng
Trang 35Tấn công dự đoán số thứ tự TCP (TCP sequence prediction)
Dự đoán số thứ tự được dùng để xác định các gói tin trong
một kết nối TCP, và sau đó giả mạo các gói tin
Kẻ thù: không có toàn quyền kiểm soát mạng, nhưng có thể
chèn các gói tin với địa chỉ IP giả
Ví dụ, điều khiển một máy tính trên mạng cục bộ.
Số thứ tự TCP được dùng để xác thực các gói tin
Khởi tạo seq# cần tiên đoán ở mức độ cao
Nếu kẻ tấn công biết seq # khởi tạo và tính được lưu lượng gửi, thì có
thể ước lượng giá trị có khả năng hiện tại.
Một số cài đặt dễ bị công kích
69
Blind TCP Session Hijacking
A, B kết nối tin cậy
Gửi các gói tin với số thứ tự dự đoán được.
E đóng vai B tới A
Mở kết nối tới A để lấy số thứ tự khởi tạo
Hàng đợi DoS của B
Gửi các gói tin tới A mà tương tự như của B truyền đi
E không thể nhận được, nhưng có thể thực hiện lệnh trên A
Server A
B
E
Trang 36Các điểm yếu từ Session Hijacking
Chèn dữ liệu vào trong một lưu lượng không được mã hóa
từ server đến server, như trao đổi e-mail, các chuyển vùng
DNS, …
Chèn dữ liệu vào lưu lượng không được mã hóa từ client
đến server, như tải tệp ftp, các đáp ứng http
Địa chỉ IP thường được dùng để kiểm tra sơ bộ trên các
tường lửa hoặc tại mức dịch vụ
Giấu nguồn gốc của tấn công độc hại
Thực hiện các cuộc tấn công MITM trên các giao thức mật
mã yếu
Thường dẫn đến cảnh báo cho người dùng là được bỏ qua.
Tấn công từ chối dịch vụ, như là đặt lại các kết nối
71
DoS bị công kích bởi session hijacking
Giả sử kẻ tấn công có thể đoán số thứ tự cho một kết nối
đang tồn tại:
Kẻ tấn công có thể gửi gói tin Reset tới kết nối đóng Kết quả trong
DoS.
Bài toán thành công, cơ bản là 1/2 32 (32-bit seq.#).
Hầu hết các hệ thống cho phép chấp nhận một cửa sổ lớn seq #.
• Xác xuất thành công cao hơn nhiều
Tấn công hiệu quả nhất chống lại các kết nối có thời gian
tồn tại lâu, ví dụ BGP
Trang 372.8 Tấn công DoS và DDoS
Áp đảo liên kết truyền thông với các gói tin
Sức mạnh trong tấn công ngập lụt nằm trong khối
Ngăn chặn truy nhập bởi người dùng hợp pháp hoặc
dừng các tiến trình hệ thống quan trọng
Trang 38DoS và DDoS
DoS:
Nguồn tấn công là số lượng nhỏ các nút
IP nguồn điển hình bị giả mạo
Land: gửi gói tin giả mạo
với địa chỉ/cổng nguồn và
xem tại http://www.cert.org/advisories/CA-1997-28.html
Trang 39Áp đảo băng thông liên kết với các gói tin
Lưu lượng tấn công được tạo ra tương tự như lưu lượng
hợp pháp, gây trở ngại cho phát hiện
Luồng lưu lượng phải tiêu tốn nguồn tài nguyên băng thông
của mục tiêu
Kẻ tấn công cần gắn kết với nhiều hơn một máy => DDoS
Có thể dễ dàng hơn để đạt được mục tiêu lấp đầy băng
thông upstream: truy nhập async
Ví dụ: tấn công các seed của BitTorrent
bot
bot
Kẻ tấn công chiếm giữ nhiều máy, gọi là “bots” Các bots tiền năng là các máy dễ bị công kích.
Các tiến trình của bot
sẽ đợi lệnh từ kẻ tấn công
để làm ngập lụt mục tiêu
Trang 40DDoS: Tấn công phản xạ
Kẻ tấn công
Nạn nhân
DNS server DNS server
DDoS: Tấn công phản xạ (tiếp)
Địa chỉ IP nguồn giả mạo = IP của nạn nhân
cầu ngắn:khuếch đại
Nếu không có khuếch đại: nên làm gì?
Tấn công tháng 1 năm 2001:
Yêu cầu bản ghi DNS lớn
Tạo ra lưu lượng 60-90 Mbps
Tấn công phản xạ có thể cũng được thực hiện với Web hoặc
các dịch vụ khác
Trang 41 Cung cấp lọc chống giả mạo
đi ra trên router ngoài.
Lọc các gói tin nguy hiểm
Các tấn công lỗ hổng
Hệ thống ngăn chặn xâm
nhập
Dự phòng tài nguyên lớn
Băng thông dồi dào
Tài nguyên server lớn
ISP cũng cần băng thông dồi dào
Nhiều ISPs
Chữ ký, phát hiện bấtthường và lọc
Trang 42Tấn công DoS: Ping of Death (tiếp)
ICMP Echo Request (Ping) là 56 bytes
Nếu một thông điệp ping lớn hơn 65536 bytes (là kích thước
lớn nhất của một gói tin IP), thì có thể làm cho một số máy bị
sập khi tập hợp lại gói tin
Các hệ thống windows cũ
83
Tấn công DoS: LAND
Local Area Network Denial
Gói tin giả mạo với tập cờ SYN
Gửi tới cổng mở
Địa chỉ/Cổng nguồn giống địa chỉ/cổng đích
Nhiều hệ điều hành bị khóa
Là một loại tấn công DoS lớp 4