Tải bản đầy đủ (.docx) (36 trang)

AN TOÀN THÔNG TIN ĐỀ TÀI TẤN CÔNG TỪ CHỐI DỊCH VỤ DoS VÀ DDoS

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 (656.97 KB, 36 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
=====o0o=====
THẢO LUẬN
MÔN HỌC: AN TOÀN THÔNG TIN
ĐỀ TÀI: TẤN CÔNG TỪ CHỐI DỊCH VỤ DoS VÀ DDoS
NHÓM: 02
Giáo viên giảng dạy: TS. Trần Đức Khánh
Sinh viên thực hiện: Vũ Thị Thùy Như
Phạm Thị Nhung
Nguyễn Thị Thi
Nguyễn Thị Nụ
Nguyễn Thị Thùy Liên
Lớp: 12BCNTT2
Hà Nội, tháng 06/2013
MỤC LỤC
Lời mở đầu 03
I. TỔNG QUAN 03
1 Các cuộc tấn công từ chối dịch vụ 03
2. Mục tiêu của các cuộc tấn công từ chối dịch vụ 04
3 Các dạng tấn công từ chối dịch vụ 04
II. TẤN CÔNG DOS 05
1. Định nghĩa DoS 05
2. Các mục đích của tấn công DoS 05
3 Mục tiêu sử dụng để tấn công 06
4 Các dạng tấn công DoS 06
5. Tấn công giao thức 06
5.1.Syn Flood 06
5.1.1. Giao thức bắt tay 3 bước TCP 06
5.1.2. Cơ chế tấn công Syn Flood 07
5.1.3. Cách thức tấn công Syn Flood 07


5.1.4. Cách phòng chống Syn Flood 08
5.2. ICMP Smurfing 08
5.2.1. ICMP 08
5.2.2. Cơ chế tấn công 09
5.2.3. Cách thức tấn công 09
5.2.4. Cách phòng chống ICMP Smurfing 10
6. DNS CACHE POISONING 10
6.1 DNS là gì? 10
6.2 Chức năng của DNS 10
6.3 Nguyên tắc làm việc của DNS 10
6.4 Cơ chế làm việc của DNS 11
6.5 Tấn công giả mạo DNS (DNS cache poisoning) 13
6.5.1 DNS Cache Poisoning là gì 14
6.5.2 Tấn công giả mạo DNS (DNS Cache Poisoning) 14
6.6 Biện pháp phòng chống tấn công giả mạo DNS Cache poisoning 18
III TẤN CÔNG DDOS 19
1. Định nghĩa 19
2. Chiến thuật tấn công DDoS 19
3. Mạng BOTNET 20
3.1 Botnet là gì? 20
2
3.2 Ý nghĩa của mạng Bot 20
3.3 Mục đích sử dụng mạng Botnets 21
3.4 Các bước xây dựng mạng BotNet? Cách phân tích mạng Bot 22
3.5 Cách hệ thống bị lây nhiễm và sử dụng Botnet 23
4. Mô hình tấn công DDoS 23
4. 1 Kỹ thuật tìm lỗ hổng: 25
4.2 Các dạng tấn công DDoS 30
5. Các công cụ tấn công DDoS 31
6. Biện pháp ngăn chặn 32

6.1 Giai đoạn ngăn ngừa 33
6.2 Giai đoạn đối đầu với cuộc tấn công DDoS 33
6.3 Giai đoạn sau tấn công 33
Kết luận 33
3
Lời mở đầu
Gần đây nhiều site và server tiêu biểu của chính phủ, ngân hàng, hãng truyền
thông, các cổng thanh toán điện tử … thậm chí cả các DNS root server đang phải đối
mặt với các tấn công từ chối dịch vụ.
Trong khi các đe dọa an ninh truyền thống có thể được xử lý bằng cách làm chặt
lại các chính sách bảo mật và chủ động phòng chống như là thiết lập tường lửa, cập
nhật các bản vá lỗi từ nhà sản xuất … Nhưng đối với Dos và DDoS thì những
phương pháp này tỏ không hiệu quả.
Trong khuôn khổ tìm hiểu của chúng em sẽ tìm hiểu phân loại các dạng thức tấn
công, cách thức tấn công và biện pháp ngăn chặn tấn công Dos và DDos.
Hiểu được vấn đề trên, trong khuôn khổ nhận thức của chúng em thảo luận về
vấn đề an toàn mạng với chủ đề tấn công từ chối dịch vụ Dos và DDoS. Chúng em đã
tập trung rất nhiều vào khâu tìm hiểu còn phần các giải pháp do hạn chế về mặt nhận
thức chúng em chưa tìm hiểu sâu được mong thầy và các bạn đóng góp thêm cho phần
thảo luận được hoàn thiện.
I. TỔNG QUAN
1 Các cuộc tấn công từ chối dịch vụ
Trong những năm qua đã diễn ra những cuộc tấn công DoS và DDos đáng chú ý:
- Năm 2000: các cuộc tấn công DDoS vào Yahoo, eBay, eTrade, Amazon.com
và CNN xuất phát từ các máy tính chạy Unix của các doanh nghiệp và các
trường đại học, nhưng sau đó vài tuần, malware chỉ đạo cuộc tấn công, có tên
gọi là Trinoo, chuyển sang các máy tính chạy Windows để khởi phát các cuộc
tấn công.
- Năm 2002: 13 máy chủ Internet cấp cao nhất (Internet root servers) bị tấn
công DDos, tuy nhiên các nhà quản trị hệ thống đã kịp thời phát hiện, kiểm

soát và ngăn chặn cuộc tấn công DDOs gây “sập” hệ thống mạng Internet.
Sau cuộc tấn công, các máy chủ này đã được thiết lập giới hạn Internet
Control Message Protocol (ICMP - các thông điệp được dùng để xác định khi
nào một hệ thống mạng có thể phân phối các gói tin) nhằm tránh tái diễn các
4
kiểu tấn công tương tự trong tương lai. 13 máy chủ Internet này chứa các thư
mục gốc (master directory) phân giải tên miền và địa chỉ IP.
- Ngày 15/8/2003, Microsoft đã chịu đợt tấn công DoS cực mạnh và làm gián
đoạn websites trong vòng 2 giờ
- Tháng 5/2007: Các trang web của chính phủ, ngân hàng, trường học tại
Estonia bị tê liệt do tấn công DDos.
- Năm 2007, sâu Storm xuất hiện và lây lan nhanh chóng. Một khi đã lây
nhiễm vào máy tính người dùng, sâu sẽ gửi đi hàng triệu thư rác. Trong suốt
đợt tấn công của sâu Storm, một số nhà nghiên cứu bảo mật nhận định rằng,
người đứng sau hoặc tự bản thân sâu Storm đang phát động cuộc tấn công
DDoS nhắm vào các nhà nghiên cứu, đang tìm cách khống chế nó. Sâu Storm
có thể phát hiện những ai đang thực hiện truy tìm các máy chủ phát lệnh tấn
công, và tiến hành trả đũa bằng cách phát động tấn công DDos nhắm vào
người đó, nhằm đánh sập kết nối Internet của họ.
- Năm 2007: Tấn công DDoS vào các trang web chính phủ, ngân hàng tại
Georgia, tổng cộng có 54 trang web là mục tiêu của cuộc tấn công này, trong
đó hầu hết là các trang web truyền thông, chính phủ, ngân hàng. Tại thời điểm
đó, nhiều nhà phân tích, cho rằng đây là cuộc tấn công “mềm” trước khi Nga
thực hiện cuộc tấn công quân sự vào Georgia. Tuy nhiên, sau đó, các cuộc
điều tra cho thấy cuộc tấn công DDoS này do các băng nhóm tội phạm ở Nga
thực hiện. Các tin tặc dùng các công cụ tấn công dựa trên HTTP, thay cho
ICMP.
- Tháng 8/2009, tấn công DDoS vào các trang mạng xã hội như Twitter,
Facebbok, LiveJournal và một số trang của Google, chỉ nhằm “đánh phá” các
trang blog, bài viết của blogger Cyxymu ở Georgia.

- Ngày 23/12/2009: Nhà cung cấp dịch vụ phân giải tên miền (DNS) cho
Amazon bị tấn công DDoS, khiến người dùng không thể truy cập vào máy
chủ Amazon.com và Amazon Web Service. Đây là thời điểm mua sắm sôi
động nhất trong năm tại các nước khu vực Bắc Mỹ.
- Ngày 7/12/2010, trang Visa.com bị nhóm tin tặc Anonymous tấn công DDoS.
Theo nhóm tin tặc, họ thực hiện cuộc tấn công này nhằm phản đối việc các
hãng tài chính khóa tài khoản của WikiLeaks, sau khi trang này dự kiến công
bố các tài liệu mật của Bộ ngoại giao Mỹ. Trước đó nhóm tin tặc này đã thực
hiện các cuộc tấn công các trang web Mastercard và PayPal.
5
- Giữa tháng 3/2013: Theo AP, Spamhaus, công ty Anh - Thụy Sĩ đã phải
hứng chịu một cuộc tấn công DDoS
2. Mục tiêu của các cuộc tấn công từ chối dịch vụ
Từ những cuộc tấn công từ chối dịch vụ đáng chú ý trên ta thấy rằng mục tiêu
của các cuộc tấn công thường vào các trang web lớn và các tổ chức thương mại điện tử
trên Internet
3 Các dạng tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ có 2 dạng:
- Tấn công DoS (Denial of Service): Tấn công từ một cá thể, hay tập hợp các
cá thể
- Tấn công DDoS (Distributed Denial of Service): Đây là sự tấn công từ một
mạng máy tính được thiết kế để tấn công tới một đích cụ thể nào đó.
II. TẤN CÔNG DOS
1. Định nghĩa DoS
Tấn công DoS (Denial of Service) là một kiểu tấn công để làm cho máy tính và
mạng không có khả năng phục vụ một cách thông thừơng. Hầu hết tấn công DoS đều
nhằm vào băng thông hoặc kết nối. Tấn công vào băng thông làm lụt đường truyền
trong mạng bằng khối lượng giao dịch mạng cực lớn, điều này sẽ tiêu tốn toàn bộ
nguồn lực của mạng trong khi các yêu cầu giao dịch hợp pháp lại không thực hiện
được. Các kiểu tấn công kết nối làm lụt máy tính bằng số lượng lớn các yêu cầu kết

nối, sẽ tiêu tốn toàn bộ các nguồn lực của hệ điều hành khiến cho máy tính không thể
xử lý các yêu cầu hợp pháp.
2. Các mục đích của tấn công DoS
- Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi đó
hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng
bình thường.
- Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào
dịch vụ.
- Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó
- Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập
vào.
6
- Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch vụ đó
như bị:
+ Disable Network - Tắt mạng
+ Disable Organization - Tổ chức không hoạt động
+ Financial Loss – Tài chính bị mất
3 Mục tiêu sử dụng để tấn công
Như chúng ta biết ở bên trên tấn công DoS xảy ra khi kẻ tấn công sử dụng hết tài
nguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình thường được
vậy các tài nguyên chúng thường sử dụng để tấn công là gì:
- Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên
- Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và CPU
Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS.
- Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều
hoà, hệ thống điện, hệt hống làm mát và nhiều tài nguyên khác của doanh nghiệp. Bạn
thử tưởng tượng khi nguồn điện vào máy chủ web bị ngắt thì người dùng có thể truy
cập vào máy chủ đó không.
- Phá hoại hoặc thay đổi các thông tin cấu hình.
- Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà…

4 Các dạng tấn công DoS
- Tràn kết nối (Connection Flooding): tấn công giao thức TCP, UDP, ICMP ví
dụ như tràn ngập ICMP với Smurf, Ping of Death
- DNS: tận dụng lỗi Bufer Overflow để thay đổi thông tin định tuyến: DNS
cache poisoning
5. Tấn công giao thức
5.1.Syn Flood
5.1.1. Giao thức bắt tay 3 bước TCP
- Client gửi gói tin SYN đến server -> TCB (Transmission Control Block)
chuyển sang trạng thái SYN-RECEIVED
- Server gửi trả lại gói tin SYN-ACK
- Client gửi gói tin ACK tới server -> TCB chuyển sang trạng thái
ESTABLISHED
 Kết nối được thiết lập
7
Hình 2.1: Giao thức bắt tay 3 bước
5.1.2. Cơ chế tấn công Syn Flood
- Khi kẻ tấn công gửi dòng lũ SYN dẫn đến tình trạng có quá nhiều TCB làm bộ
nhớ của host bị cạn kiệt
- Để phòng tránh việc bộ nhớ bị cạn kiệt, HĐH chỉ lưu giữ một số TCB xảy ra
đồng thời ở trạng thái SYN-RECEIVED
- Do hạn chế không gian lưu trữ nên khi có quá nhiều kết nối, một số kết nối hợp
lệ bị từ chối
5.1.3. Cách thức tấn công Syn Flood
- Kẻ tấn công gửi một loạt các gói tin SYN với địa chỉ ip không có thực đến hệ
thống đích cần tấn công
- Hệ thống đích gửi trở lại các địa chỉ không có thực đó và chờ đợi để nhận thông
tin phản hồi từ các địa chỉ ip giả , đưa các request chờ đợi này vào bộ nhớ, gây
lãng phí một lượng đáng kể bộ nhớ trên máy chủ
- Nếu kẻ tấn công gửi cùng một lúc nhiều gói tin có địa chỉ IP giả như vậy thì hệ

thống sẽ bị quá tải dẫn đến bị crash hoặc boot máy tính
8
Hình 2.2: Cách thức tấn công Syn Flood
5.1.4. Cách phòng chống Syn Flood
- Tăng kích thước hàng đợi kết nối
- Giảm khoảng thời gian thiết lập kết nối
- Sử dụng phần mềm
- IDS mạng
- Phương pháp phát hiện tấn công:
 SFD: Sử dụng mối quan hệ giữa cặp SYN-FIN
 SFD-BF: Cải tiến phương pháp SFD sử dụng Bloom Filter
5.2. ICMP Smurfing
5.2.1. ICMP
- ICMP (Internet Control Message Protocol) – Giao thức điều khiển truyền tin
trên mạng. Việc định tuyến qua các mạng sử dụng giao thức điều khiển truyền
tin ICMP để gửi thông báo làm những công việc sau: Điều khiển, thông báo lỗi
và chức năng thông tin cho TCP/IP.
9
- Khi một máy tính muốn kiểm tra một máy khác có tồn tại và đang hoạt động
hay không, nó gửi một thông báo Echo Request. Khi trạm đích nhận được
thông báo đó, nó gửi lại một Echo Reply. Lệnh ping sử dụng các thông báo
này. Ping là một lệnh phổ biến và thường được sử dụng để kiểm tra kết nối.
5.2.2. Cơ chế tấn công
Sử dụng các site khuếch đại để làm tăng lưu lượng giao dịch với đích bị tấn công
5.2.3. Cách thức tấn công
- Kẻ tấn công gửi các gói tin ICMP_ECHO_REQUEST với địa chỉ gửi nặc danh
tới 1 số địa chỉ broadcast trong subnet.
- Các máy trạm trong subnet nhận được gói tin này và gửi thông tin trả lời.
- Các trả lời này được gửi trực tiếp đến địa chỉ bị nặc danh.
- Thông thường việc này làm nghẽn đường truyền trong mạng của máy bị tấn

công. Cả đường truyền từ ISP đến hệ thống mạng của máy bị tấn công cũng bị
nghẽn.
- Kiểu tấn công này dùng để tấn công các webserver
Hình 2.3: Cách thức tấn công ICMP Smurfing
5.2.4. Cách phòng chống ICMP Smurfing
- Vô hiệu hóa chức năng directed broadcast tại bộ định tuyến
- Phối hợp với ISP để giới hạn lưu lượng ICMP
10
6. DNS CACHE POISONING
6.1 DNS là gì?
Hệ thống tên miền DNS (Domain Name System) là hệ thống phân giải tên
miền được phát minh vào năm 1984 cho Internet, dùng để ánh xạ giữa các tên miền
(tên logic có nghĩa, thí dụ: www.mydomain.com) và các địa chỉ IP (thí dụ:
192.168.0.2). DNS đưa ra một phương pháp đặc biệt để duy trì và liên kết các ánh xạ
này trong một thể thống nhất.
6.2 Chức năng của DNS
Trên phạm vi toàn cầu, các máy tính kết nối với mạng Internet cần có những địa
chỉ IP riêng và tạo ra những địa chỉ liên kết dạng URL (Universal Resource Locators)
duy nhất của mình.
Mỗi website cũng có một tên miền thể hiện bằng URL và một địa chỉ IP khác
nhau. Nhờ DNS, người sử dụng chỉ cần đưa URL hay còn gọi là đường kết nối (link)
cho trình trình duyệt (web browser) biết để tìm đến địa chỉ cần thiết.
Quá trình "dịch" tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập
được vào website là công việc của một máy chủ tên miền (DNS server). Các máy chủ
tên miền trợ giúp qua lại với nhau trên Internet để dịch một địa chỉ IP bất kỳ thành tên
logic của nó và ngược lại.
6.3 Nguyên tắc làm việc của DNS
• Mỗi nhà cung cấp dịch vụ Internet (ISP) có nhiệm vụ vận hành và duy trì các
máy chủ tên miền của mình. Nghĩa là khi một trình duyệt tìm kiếm địa chỉ của
một website thì máy chủ tên miền chịu trách nhiệm phân giải tên website này phải

là máy chủ DNS của chính ISP quản lý website đó chứ không phải là của một ISP
nào khác.
• Trên danh nghĩa, INTERNIC (Internet Network Information Center) là tổ chức tối
cao chuyên việc theo dõi các tên miền và các máy chủ tên miền tương ứng. Thực
tế, INTERNIC quản lý tất cả các máy chủ tên miền trên Internet chứ không phân
giải tên cho từng địa chỉ.
• DNS có khả năng truy vấn các máy chủ tên miền khác để tìm ra một cái tên đã
được phân giải. Máy chủ DNS của mỗi tên miền thường có hai công việc khác
biệt:
- Chịu trách nhiệm phân giải tên từ các máy bên trong miền về các địa chỉ
Internet, cả bên trong lẫn bên ngoài miền nó quản lý.
11
- Trả lời các máy chủ DNS bên ngoài đang cố gắng phân giải những cái tên bên
trong miền nó quản lý.
• Các máy chủ tên miền có khả năng ghi nhớ những tên vừa phân giải để dùng cho
những yêu cầu phân giải lần sau. Số lượng những tên phân giải được lưu lại tùy
thuộc vào quy mô của từng DNS.
Hình 2.2 - Hệ thống DNS (Domain Name System)
6.4 Cơ chế làm việc của DNS
Các máy tính kết nối với Internet sử dụng DNS để tạo địa chỉ liên kết dạng URL
(Universal Resource Locators).Mmỗi máy tính sẽ không cần sử dụng địa chỉ IP cho
kết nối mà chỉ cần sử dụng tên miền (domain name) để truy vấn đến kết nối đó.
Khi máy chủ DNS nhận được yêu cầu phân giải địa chỉ (request) từ máy trạm, nó
sẽ tra cứu bộ đệm (DNS Cache) và trả về địa chỉ IP tương ứng với tên miền mà máy
trạm yêu cầu. Trường hợp nếu không tìm thấy trong bộ đệm, máy chủ DNS sẽ chuyển
yêu cầu phân giải tới một máy chủ DNS khác.
Xét ví dụ và tham khảo hình vẽ dưới đây:
12
Hình 2.3 – Cơ chế làm việc của DNS
Giả sử PC A muốn truy cập đến trang web www.yahoo.com và server vnn chưa

lưu thông tin về trang web này trong DNS Cache của nó, các bước truy vấn sẽ diễn ra
như sau:
• Đầu tiên, PC A gửi một request đến server quản lý tên miền vnn để hỏi thông tin
về www.yahoo.com. Nhận thấy rằng, trong DNS Cache của mình không có lưu
thông tin về www.yahoo.com, Server quản lý tên miền vnnsẽ gửi một truy vấn
đến server top level domain (Top level domain là server lưu trữ thông tin về mọi
tên miền trên mạng).
• Khi nhận được request, top level domainsẽ gửi lại cho server quản lý tên miền
vnn địa chỉ IP của server quản lý miền com (gọi tắt server com).
• Khi có địa chỉ IP của server com thì lập tức server vnnsẽ hỏi server com thông tin
về yahoo.com. Server com quản lý toàn bộ những trang web có domain là com,
chúng sẽ gửi thông tin về địa chỉ IP của server yahoo.com cho server vnn.
• Lúc này, server vnn đã có địa chỉ IP của yahoo.com rồi. Nhưng PC A yêu cầu
dịch vụ www chứ không phải là dịch vụ ftp hay một dịch vụ nào khác. Do đó,
server vnn tiếp tục truy vấn tới server yahoo.com để yêu cầu thông tin về server
quản lý dịch vụ www của yahoo.com.
• Lẽ đương nhiên khi nhận được truy vấn thì server yahoo.com sẽ gửi lại cho server
vnn địa chỉ IP của server quản lý />13
• Cuối cùng là server vnn gửi lại địa chỉ IP của server quản lý www.yahoo.com cho
PC A và PC A kết nối trực tiếp đến nó. Và bây giờ thì server vnn đã có thông tin
về www.yahoo.com trong DNS Cache của mình cho những lần truy vấn đến sau
của các client khác.
6.5 Tấn công giả mạo DNS (DNS cache poisoning)
Lỗ hổng bảo mật DNS trên Internet
Lỗ hổng bảo mật trong DNS được chuyên gia Dan Kaminsky - Giám đốc Trung
tâm Penentration Testing của Hãng bảo mật IOActive công bố đầu tháng 7/2008
Lỗ hổng bảo mật DNS đang đặt các hệ thống máy chủ DNS tại Việt Nam cũng
như trên toàn thế giới trước nguy cơ bị tin tặc tấn công đầu độc trên diện rộng. Đây là
một lỗ hổng đặc biệt nghiêm trọng, nhất là khi hacker đã có phương thức mới để có
khả năng khai thác thành công lỗ hổng này. Điều này gây hoang mang cho nhiều quản

trị mạng khi không có công cụ để kiểm tra xem hệ thống máy chủ DNS của mình có
mắc lỗi này hay không và cách khắc phục như thế nào.
DNS là hệ thống phân giải tên miền, dùng để ánh xạ giữa tên miền (domain
name) sang địa chỉ Internet (IP). Theo giao thức này, máy chủ DNS khi nhận được yêu
cầu phân giải địa chỉ (request) từ máy trạm, nó sẽ tra cứu trong bộ đệm (cache) và trả
về địa chỉ IP tương ứng với tên miền mà máy trạm yêu cầu. Tuy nhiên, nếu không tìm
thấy trong bộ đệm, máy chủ DNS sẽ chuyển tiếp yêu cầu phân giải này tới một máy
chủ DNS khác để tìm ra địa chỉ mà máy trạm yêu cầu.
Với cách hoạt động như trên, hacker sẽ tấn công bằng cách can thiệp vào quá
trình tham chiếu giữa địa chỉ IP và tên miền của máy chủ DNS nhằm trả về một địa chỉ
IP sai lệch nằm trong sự kiểm soát của chúng.
Mục đích tấn công của mỗi hacker rất khác nhau: khi hệ thống DNS đã bị tấn
công, ta có thể truy cập sang một trang web không mong muốn, có thể đó là một trang
web độc hại hoặc một trang giả mạo nào đó với giao diện hoàn toàn giống. Sau khi ta
điền các thông tin cá nhân như password, tệ hơn nữa là các thông tin liên quan đến thẻ
tín dụng,….khi đó tất cả các thông tin này được hacker sử dụng và ta sẽ mất tiền, mất
quyền truy cập vào tài khoản của mình,…các website của doanh nghiệp có thể không
hoạt động được ….
Kỹ thuật tấn công kiểu này gọi là tấn công đầu độc bộ nhớ cache DNS (DNS
cache poisoning).
14
• DNS Cache Poisoning là gì
Giả mạo DNS (DNS Cache Poisoning) là một kỹ thuật tấn công MITM, theo đó
dữ liệu sai sẽ được đưa vào hệ thống tên miền (DNS) cho một máy chủ, để khi người
dùng duyệt đến một địa chỉ nào đó sẽ bị chuyển sang một địa chỉ khác mà không hề
hay biết. Ví dụ như người dùng duyệt đến địa chỉ www.abc.com có IP là
XXX.XX.XX.XX, thì trình duyệt sẽ được chuyển đến một địa chỉ www.abc.com giả
mạo cư trú ở địa chỉ IPYYY.YY.YY.YY với giao diện hoàn toàn giống với giao diện
khi dùng địa chỉ thật, đây là địa chỉ mà kẻ tấn công đã tạo trước để đánh cắp các thông
tin người dùng, chẳng hạn như tài khoản ngân hàng trực tuyến của người dùng…

Tấn công MITM là hình thức tấn công mà kẻ tấn công (attacker) nằm vùng trên
đường kết nối (mạng LAN) với vai trò là máy trung gian trong việc trao đổi thông tin
giữa hai máy tính, hai thiết bị, hay giữa một máy tính và server, nhằm nghe trộm,
thông dịch dữ liệu nhạy cảm, đánh cắp thông tin hoặc thay đổi luồng dữ liệu trao đổi
giữa các nạn nhân.
• Tấn công giả mạo DNS (DNS Cache Poisoning)
Hiện có hai cơ chế tấn công giả mạoDNS của hacker như sau:
 Giả mạo các phản hồi DNS
Hình 2.4 – Sơ đồ tấn công giả mạo phản hồi DNS
• Hacker gửi hàng loạt yêu cầu phân giải địa chỉ (DNS Requests) tới máy chủ
DNS nạn nhân (DNS Server A).
• Các tên miền cần phân giải đã được hacker tính toán sao cho DNS Server A
không thể tìm thấy trong bộ đệm (Cache) của nó và buộc phải chuyển tiếp
(Request forwarding) tới máy chủ DNS tiếp theo (DNS Server B). Máy A và B
có thể thuộc cùng một tổ chức hoặc các tổ chức khác nhau nhưng được thiết lập
để làm việc được với nhau. Mỗi trao đổi phân giải (tức là yêu cầu tìm đúng địa
15
chỉ IP cho một tên miền) giữa A và B được xác thực thông qua một mã số giao
dịch TID (Transaction ID) ngẫu nhiên. Thuật toán sinh ra các mã số này được
thiết lập sẵn cho các máy phân giải địa chỉ.
• Tuy nhiên, điểm yếu ở đây chính là việc số TID này chỉ là một số 16 bit (giá trị
nhỏ hơn 65535) và mọi trao đổi giữa A và B đều diễn ra trên một cổng cố định
của A. Sở dĩ nói đây là một điểm yếu bởi vì với phạm vi giá trị nhỏ hơn 65535 và
cổng giao dịch cố định thì hacker có thể biết được chính xác mã số giao dịch nào
đang được trao đổi giữa A và B.
• Sau đó, trước khi máy A chưa kịp nhận các gói tin trả lời từ máy B, hacker đã
gửi liên tiếp các gói tin giả mạo (fake responses) bản tin trả lời của máy B (tức là
một địa chỉ IP do hacker quản lý) tới cổng cố định nói trên của A. Chỉ cần một
trong các gói tin giả mạo này có TID trùng với TID mà máy A đang chờ thì máy
A sẽ chấp nhận. Lúc này, gói tin trả lời thật từ máy B (response) sẽ không được

máy A xử lý nữa, mà máy A sẽ gửi trả lại cho máy người dùng một địa chỉ IP sai
lệch (của hacker).
 Giả mạo địa chỉ DNS
Hình 2.5 - Tấn công giả mạo DNS bằng phương pháp giả mạo DNS ID
Theo như hình 2.5, cơ chế tấn công giả mạo địa chỉ DNS sẽ như sau:
Giả sử DNS Cache Server (như trên hình) đã có lưu thông tin địa chỉ của trang
example.jp, nhưng Hacker (Malicious User) lại thực hiện thay đổi địa chỉ này bằng
địa chỉ của một trang giả mạo khác (Bogus Website).
16
Khi máy tính nạn nhân (Internal User) tiến hành gửi yêu cầu đến DNS Cache
Server, thì DNS Cache Server sẽ vô tình gửi trả lại (response) thông tin địa chỉ của
example.jp đã bị giả mạo cho nạn nhân.
Sau khi nhận được địa chỉ đã giả mạo từ DNS Cache Server, nạn nhân sẽ vô tình
truy cập vào website độc hại (Bogus Website) mà kẻ tấn công đã tạo ra nhằm lấy cắp
thông tin mật.
Như vậy chúng ta có thể thấy, chính sự trao đổi giữa các máy chủ DNS trong quá
trình phân giải tên miền là một lỗ hổng để các hacker can thiệp vào, kết quả là trả về
các ứng dụng không mong muốn cho khách hàng, hoặc các ứng dụng ăn cắp thông tin
mà khách hàng không hề biết. Theo đánh giá của Dan Kaminsky có đến 84% máy chủ
mà ông kiểm tra đều dính phải lỗ hổng nguy hiểm này. Và hiện tại còn 31% server có
nguy cơ bị tấn công và ở Việt Nam, tình trạng các máy chủ DNS vẫn có nguy cơ bị
tấn công rất cao.
Lỗ hổng DNS cache poisoning đã xuất hiện lần đầu tiên vào những năm 90. Từ
đó đến nay, hacker đã sử dụng nhiều phương pháp khác nhau để khai thác lỗ hổng này.
Đây là lỗi trong thiết kế của giao thức DNS. Với mỗi phương pháp khai thác, các nhà
sản xuất phần mềm DNS Server cũng đã cung cấp các bản vá để ngăn chặn và vấn đề
đã được khắc phục.Tuy nhiên, gần đây hacker đã tìm ra được phương thức tấn công
mới, tiếp tục khai thác lỗ hổng DNS cache poisoning.
Subdomain Exploit DNS Cache Poisoning – Kiểu tấn công DNS Cache
Poisoning thời gian gần đây

Tấn công Subdomain Exploit DNS Cache Poisoning thực chất vẫn là tấn công
DNS Cache Poisoning. Nhưng điểm quan trọng nhất trong phương pháp khai thác lỗ
hổng DNS cache poisoning lần này là việc hacker sử dụng các tên miền con
(subdomain) để tạo ra các yêu cầu phân giải địa chỉ hợp lệ. Các tên miền con được tạo
ngẫu nhiên với số lượng lớn, điều này đảm bảo các tên miền này chưa từng tồn tại
trong cache của máy chủ A và buộc A phải tạo ra cùng số lượng tương ứng các yêu
cầu chuyển tiếp tới máy chủ B. Kết quả là xác suất một gói tin giả mạo trả lời của B do
hacker tạo ra có TID trùng với TID mà máy A đang chờ được nâng cao lên nhiều lần.
Cơ hội đầu độc thành công bộ đệm của máy chủ A cũng vì thế được nâng cao.
6.6 Biện pháp phòng chống tấn công giả mạo DNS Cache poisoning
17
Việc phòng chống tấn công giả mạo DNS khá là khó khăn vì có khá ít các dấu
hiệu của cuộc tấn công.Thông thường, ta không hề biết DNS của mình bị giả mạo cho
tới khi điều đó xảy ra. Những gì ta nhận được là một trang web khác hoàn toàn so với
những gì mong đợi. Trong các tấn công với chủ đích lớn, rất có thể ta sẽ không hề biết
rằng mình đã bị lừa nhập các thông tin quan trọng của mình vào một website giả mạo
cho tới khi nhận được cuộc gọi từ ngân hàng hỏi tại sao mình lại rút nhiều tiền đến
vậy. Mặc dù khó nhưng không phải không có biện pháp nào có thể phòng chống các
kiểu tấn công này, sau đây là một số biện pháp mà ta có thể thực hiện được.
• Bảo vệ mạng máy tính cá nhân
Các tấn công giống như trên thường được thực thi từ bên trong mạng của chúng
ta. Nếu các thiết bị mạng của chúng ta an toàn sẽ góp phần giảm được khả năng các
host bị thỏa hiệp và được sử dụng để khởi chạy tấn công giả mạo.
• Thận trọng khi duyệt Internet
Đối với người sử dụng cá nhân, cần thận trọng trong thời gian này khi truy cập
Internet.Nếu vào một website quen thuộc nhưng lại gặp hiện tượng không bình
thường, các cá nhân này nên thông báo ngay với quản trị mạng của cơ quan hoặc hỗ
trợ kỹ thuật của các ISP để có biện pháp xử lý kịp thời. Ngoài ra, chúng ta cũng nên
cập nhật đầy đủ các bản vá của hệ điều hành và phần mềm diệt virus để tránh nguy cơ
bị lây nhiễm mã độc.

• Sử dụng DNSSEC
DNSSEC là công nghệ an toàn mở rộng cho hệ thống DNS. Trong đó DNSSEC
sẽ cung cấp một cơ chế xác thực giữa các máy chủ DNS với nhau và xác thực cho từng
vùng dữ liệu để đảm bảo toàn vẹn dữ liệu.
Với cách thức tổ chức thêm những bản ghi mới và những giao thức đã được
chỉnh sửa nhằm chứng thực nguồn gốc và tính toàn vẹn dữ liệu cho hệ thống, với
DNSSEC, hệ thống DNS đã được mở rộng thêm các tính năng bảo mật và được tăng
cường độ an toàn, tin cậy, khắc phục được những nhược điểm của thiết kế sơ khai ban
đầu. Vừa đáp ứng được các yêu cầu thông tin định tuyến về tên miền, giao thức làm
việc giữa các máy chủ DNS với nhau, vừa đáp ứng được các yêu cầu bảo mật, tăng
cường khả năng dự phòng cho hệ thống.
Vì vậy, việc triển khai DNSSEC là cần thiết để đảm bảo an toàn cho hệ thống
DNS, các dịch vụ trực tuyến trên Internet.
18
• Kiểm tra lỗ hổng DNS Cache Poisoning
Ta có thể sử dụng phần mềm BkavDNSCheck để kiểm tra xem máy chủ DNS
của mình có lỗ hổng DNS Cache Poisoning hay không. Và thực hiện các biện pháp vá
lỗi cần thiết để bảo vệ DNS server.
Giới thiệu sơ lược về phần mềm BkavDNSCheck:
- Xuất xứ: Do Trung tâm An ninh mạng Bách Khoa (Bkis) phát hành vào ngày
25/07/2008.
- Tính năng: Cho phép kiểm tra, phát hiện hệ thống máy chủ DNS có lỗ hổng
Subdomain Exploit DNS Cache Poisoning hay không.
- Link download: />- Cùng với việc phát hành phần mềm này, Bkis cũng hướng dẫn cách vá lỗ hổng để
tránh nguy cơ bùng phát các cuộc tấn công vào hệ thống DNS tại Việt Nam.
 Ngoài ra, ta còn có thể sử dụng một số phần mềm khác để bảo vệ máy tính khỏi các
cuộc tấn công DNS Cache Poisoning như:
- Hitman Pro (32bit and 64bit versions): />- Kaspersky Labs TDSSKiller:
/>- McAfee Stinger:
/>- Microsoft Windows Defender Offline: />US/windows/what-is-windows-defender-offline

- Microsoft Safety Scanner: />us/default.aspx
- Norton Power Eraser: />- Trend Micro Housecall:
- MacScan: />- Avira’s DNS Repair-Tool: />knowledgebase-detail/kbid/1199
III TẤN CÔNG DDOS
1. Định nghĩa
Tấn công DDoS (Distributed Denial of Service) là sử dụng rất nhiều máy tính để
kết hợp với nhau để tấn công DDoS để phá hoại 1 hay nhiều mục tiêu. Sử dụng công
nghệ client/server thủ phạm có thể làm tăng hiệu quả của việc từ chối dịch vụ một
cách đáng kể bởi việc khai thác nguồn là các kẻ tòng phạm không cố ý. Thông thường
thì chương trình DDoS chính được cài đặt trên máy tính sử dụng một tài khoản bị đánh
cắp. Chương trình chủ tại 1 thời điểm nhất định sẽ liên lạc với 1 số lượng bất kì các
19
chương trình tác nhân đã được cài đặt trước đó ở các máy tính ở khắp nơi trên Internet.
Các tác nhân khi nhận được lệnh, sẽ bắt đầu tấn công. Sử dụng công nghệ client
/server chương trình chủ có thể tạo ra hàng trăm tới hàng ngàn chuơng trình tác nhân
chỉ trong vòng vài giây. Tổng hợp băng thông của số lượng lớn các chương trình tác
nhân lớn hơn rất nhiều lần so với năng lực uplink của bất kỳ website nào.
2. Chiến thuật tấn công DDoS
- Bước 1: Kẻ tấn công (attachker) xây dựng nên một hệ thống các máy trạm (Zombie)
bị kiểm soát (BOTNET) tức là những máy tính bị cài đặt các chương trình đặc biệt và
sẽ bị huy động tấn công theo sự điều khiển của kẻ tấn công.
- Bước 2: Kẻ tấn công ra lệnh cho các Zombie cùng tấn công/giám sát/lấy cắp thông
tin vào một địa chỉ nhất định theo một kịch bản cho trước.
Hình: 3.1: Tổng quan về một sơ đồ hình cây của tấn công DDoS
Client: Phần mềm khách được Hacker sử dụng để bắt đầu cuộc tấn công. Phần
mềm khách sẽ gửi các chuỗi lệnh đến các máy chủ dưới quyền.
Daemon: Các chương trình đang chạy trên một Zombie sẽ nhận chuỗi lệnh đến
từ Client và thực thi các lệnh đó. Daemon sẽ chịu trách nhiệm thực thi chi tiết cuộc tấn
công từ các dòng lệnh.
Các máy tham gia vào cuộc tấn công DDoS bao gồm:

Master: Một máy tính chạy các phần mềm khách.
Zombie: Một máy tính cấp dưới chạy quá trình Daemon.
20
Target (server): Mục tiêu của cuộc tấn công.
3. Mạng BOTNET
3.1 Botnet là gì?
Mạng Botnet là tập hợp của các máy tính bị nhiễm Backdoor do hacker phát tán.
Theo một khoảng thời gian nào đó, các máy tính này sẽ request tới một server nào đó
để nhận các thông tin điều khiển từ Hacker để thực hiện tấn công DDos, nếu có thông
tin ra lệnh tấn công, các máy tính này sẽ cùng lúc thực hiện request liên tục tới một
server cung cấp dịch vụ nào đó, khiến cho server này bị quá tải, không thể cung cấp
dịch vụ và cuộc tấn công DDoS đã diễn ra.
3.2 Ý nghĩa của mạng Bot
- Khi sử dụng một Tool tấn công DoS tới một máy chủ đôi khi không gây ảnh
hưởng gì cho máy chủ - Giả sử bạn sử dụng tool Ping of Death tới một máy chủ, trong
đó máy chủ kết nối với mạng tốc độ 100Mbps khi đó kết nối tới máy chủ tốc độ
3Mbps - Vậy tấn công của bạn không có ý nghĩa gì.
- Nhưng bạn hãy tưởng tượng có 1000 người như bạn cùng một lúc tấn công vào
máy chủ kia khi đó toàn bộ băng thông của 1000 người cộng lại tối đa đạt 3Gbps và
tốc độ kết nối của máy chủ là 100 Mbps vậy kết quả sẽ ra sao các bạn có khả năng
tưởng tượng.
- Kẻ tấn công xây dựng một mạng gồm hàng nghìn máy tính kết Internet (có
mạng BOT lên tới 400.000 máy). Vậy làm thể nào chúng có khả năng lợi dụng người
kết nối tới Internet để xây dựng mạng BOT?
- Khi có trong tay mạng BOT kẻ tấn công sử dụng những tool tấn công đơn giản
để tấn công vào một hệ thống máy tính. Dựa vào những truy cập hoàn toàn hợp lệ của
hệ thống, cùng một lúc chúng sử dụng một dịch vụ của máy chủ, bạn thử tưởng tượng
khi kẻ tấn công có trong tay 400.000 máy chủ và cùng một lúc ra lệnh cho chúng
download một file trên trang web của bạn. Và đó chính là DDoS – Distributed Denial
of Servcie.

3.3 Mục đích sử dụng mạng Botnets
- Tấn công Distributed Denial-of-Service - DDoS
+ Botnet được sử dụng cho tấn công DDoS
- Spamming
21
+ Mở một SOCKS v4/v5 proxy server cho việc Spamming
- Sniffing traffic
+ Bot cũng có thể sử dụng các gói tin nó sniffer (tóm được các giao tiếp trên
mạng) sau khi tóm được các gói tin nó cố gắng giải mã gói tin để lấy được các nội
dung có ý nghĩa như tài khoản ngân hàng và nhiều thông tin có giá trị khác của người
sử dụng.
- Keylogging
+ Với sự trợ giúp của Keylogger rất nhiều thông tin nhạy cảm của người dùng có
thể sẽ bị kẻ tấn công khai thác như tài khoản trên e-banking, cũng như nhiều tài khoản
khác.
- Cài đặt và lây nhiễm chương trình độc hại
+ Botnet có thể sử dụng để tạo ra mạng những mạng BOT mới.
- Cài đặt những quảng cáo Popup
+ Tự động bật ra những quảng cáo không mong muốn với người sử dụng.
- Google Adsense abuse
+ Tự động thay đổi các kết quả tìm kiếm hiển thị mỗi khi người dùng sử dụng
dịch vụ tìm kiểm của Google, khi thay đổi kết quả nó sẽ lừa người dùng kích vào
những trang web nguy hiểm.
- Tấn công vào IRC Chat Networks
+ Nó được gọi là clone attack
- Phishing
+ Mạng botnet còn được sử dụng để phishing mail nhằm lấy các thông tin nhạy
cảm của người dùng.
3.4 Các bước xây dựng mạng BotNet? Cách phân tích mạng Bot.
Để hiểu hơn về xây dựng hệ thống mạng BotNet chúng ta nghiên cứu từ cách lây

nhiễm vào một máy tính, cách tạo ra một mạng Bot và dùng mạng Bot này tấn công
vào một đích nào đó của mạng Botnet được tạo ra từ Agobot’s.
Bước 1: Cách lây nhiễm vào máy tính.
- Đầu tiên kẻ tấn công lừa cho người dùng chạy file "chess.exe", một Agobot
thường copy chúng vào hệ thống và sẽ thêm các thông số trong Registry để đảm bảo sẽ
22
chạy cùng với hệ thống khi khởi động. Trong Registry có các vị trí cho các ứng dụng
chạy lúc khởi động tại.
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
Bước 2: Cách lây lan và xây dựng tạo mạng BOTNET
- Sau khi trong hệ thống mạng có một máy tính bị nhiễm Agobot, nó sẽ tự động
tìm kiếm các máy tính khác trong hệ thống và lây nhiễm sử dụng các lỗ hổng trong tài
nguyên được chia sẻ trong hệ thống mạng.
- Chúng thường cố gắng kết nối tới các dữ liệu share mặc định dành cho các ứng
dụng quản trị (administrator or administrative) ví dụ như: C$, D$, E$ và print$ bằng
cách đoán usernames và password để có thể truy cập được vào một hệ thống khác và
lây nhiễm.
- Agobot có thể lây lan rất nhanh bởi chúng có khả năng tận dụng các điểm yếu
trong hệ điều hành Windows, hay các ứng dụng, các dịch vụ chạy trên hệ thống.
Bước 3: Kết nối vào IRC.
- Bước tiếp theo của Agobot sẽ tạo ra một IRC-Controlled Backdoor để mở các
yếu tố cần thiết, và kết nối tới mạng Botnet thông qua IRC-Controll, sau khi kết nối nó
sẽ mở những dịch vụ cần thiết để khi có yêu cầu chúng sẽ được điều khiển bởi kẻ tấn
công thông qua kênh giao tiếp IRC.
Bước 4: Điều khiển tấn công từ mạng BotNet.
- Kẻ tấn công điều khiển các máy trong mạng Agobot download những file .exe
về chạy trên máy.
- Lấy toàn bộ thông tin liên quan và cần thiết trên hệ thống mà kẻ tấn công muốn.
- Chạy những file khác trên hệ thống đáp ứng yêu cầu của kẻ tấn công.

- Chạy những chương trình DDoS tấn công hệ thống khác.
3.5 Sơ đồ cách hệ thống bị lây nhiễm và sử dụng Botnet
23
Hình 3.2 Sơ đồ cách hệ thống bị lây nhiễm và sử dụng Botnet
4. Mô hình tấn công DDoS
DDoS tấn công vào tài nguyên của nạn nhân. Tài nguyên có thể là băng thông
mạng, hiệu năng máy tính hay là cấu trúc dữ liệu trong OS. Khởi đầu 1 vụ DDoS, đầu
tiên hacker xây dựng 1 mạng máy tính mà hắn sẽ dùng làm phương tiện giao dịch với
các máy tính nạn nhân. Để tạo được mạng này, hacker phải tìm được chỗ yếu của
trang Web hay máy chủ trên mạng. Chỗ yếu này có thể là do máy chủ đó không cài
phần mềm diệt virus hay là phần mềm này không được update, cũng có thể là không
được vá đúng đắn. Kẻ tấn công sẽ xâm nhập vào máy chủ thông qua lỗ hổng này.
Bước tiếp theo, hacker sẽ cài vào trong host 1 chương trình – gọi là công cụ tấn
công( attack tools ). Chương trinh này chạy trong máy chủ và trở thành ký sinh, như
vậy hacker đã có thể điều khiển được host này, tập các máy bị nhiễm này sẽ trở thành
1 đội quân hung dữ đáng sợ.
Vấn đề là hacker tìm ra các host như thế nào và làm sao để cài được các công cụ
tấn công lên đó. Sự chuẩn bị khung cảnh là điều cốt yếu còn việc tìm lỗ hổng của host
và cài chương trình độc thì dễ dàng hơn. Hacker sẽ không tốn nhiều thời gian vì
chương trình tấn công có khả năng tự động tìm các lỗi bảo mật của hệ thống, phá hủy
và cái tiếp các chương trình cấn thiết cho cuộc tấn công. Sau đó hệ thống bị nhiếm mã
độc tìm các lỗ hổng ở các máy khác trong mạng, xâm nhập và lại cài vào trong các
máy “thứ 3”. Chính vì việc lây lan nhanh như vậy mà cuộc tấn công có thể mở rộng và
thực hiện 1 cách chớp nhoáng.
24
Kết quả của quá trình này tạo ra cuộc tấn công DDoS có mặt các thành phần :
hanlder( master ) và agent (slave hay daemon ). Có thể suy ra được từ cuộc tấn công
DDoS các vị trị tấn công trên mạng đã được dựng lên bởi vì các quá trình này tự tạo ra
các tín hiệu về số lượng lưu chuyển.
Hình 3.3: Sử dụng các handler để điều khiển tấn công

Hình 3.4: Sử dụng các mạng IRC để điều khiển, khuyếch đại và quản lý kết nối với
các máy tính trong mạng Botnet
4. 1 Kỹ thuật tìm lỗ hổng:
Kẻ tấn công sử dụng nhiều kỹ thuật khác nhau để tìm ra các lỗ hổng máy tính.
Các kỹ thuật quan trọng:
25

×