AN TOÀN THÔNG TIN ĐỀ TÀI TẤN CÔNG TỪ CHỐI DỊCH VỤ DoS VÀ DDoS 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ụ.
Trang 1TRƯỜ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
Phạm Thị Nhung Nguyễn Thị Thi Nguyễn Thị Nụ Nguyễn Thị Thùy Liên
Hà Nội, tháng 06/2013
MỤC LỤC
Trang 2Lờ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
Trang 33.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
Trang 4Lờ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ềnthông, các cổng thanh toán điện tử … thậm chí cả các DNS root server đang phải đốimặ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ặtlạ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ậpnhậ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ươngphá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ấncô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ậnthứ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ầnthả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áctrường đại học, nhưng sau đó vài tuần, malware chỉ đạo cuộc tấn công, có têngọi là Trinoo, chuyển sang các máy tính chạy Windows để khởi phát các cuộctấ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ểmsoá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 InternetControl Message Protocol (ICMP - các thông điệp được dùng để xác định khinà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
Trang 5kiể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ôngDDoS 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ấncông, và tiến hành trả đũa bằng cách phát động tấn công DDos nhắm vàongườ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 Ngathự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 ở Ngathự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 choICMP
- 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áctrang 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áychủ 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áchãng tài chính khóa tài khoản của WikiLeaks, sau khi trang này dự kiến công
Trang 6bố 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ựchiện các cuộc tấn công các trang web Mastercard và PayPal.
- 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êucủ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 đềunhằ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ềntrong 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ếtnố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ùngbì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àodị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 đó
Trang 7- 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ậpvào.
- 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àinguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình thường đượcvậ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à CPUTime 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ềuhoà, 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ạnthử 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ể truycậ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
Trang 8- 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
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âylãng phí một lượng đáng kể bộ nhớ trên máy chủ
Trang 9- 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
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
Trang 10tin 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
- 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
Trang 115.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
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 địachỉ 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ácnhau 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ênlogic 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ácmá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ộtwebsite 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 ISPnào khác
Trên danh nghĩa, INTERNIC (Internet Network Information Center) là tổ chức tốicao 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ângiải tên cho từng địa chỉ
Trang 12 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ácbiệ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ý
- 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êntrong 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 chonhữ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ùythuộ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ếtnố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áytrạ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ểnyê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:
Trang 13Hì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 ranhư 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ý http://www.yahoo.com/.
Trang 14 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 Trungtâ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ảntrị 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 (domainname) sang địa chỉ Internet (IP) Theo giao thức này, máy chủ DNS khi nhận được yêucầ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ìmthấ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áychủ 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ấncông, ta có thể truy cập sang một trang web không mong muốn, có thể đó là một trangweb độ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ấtquyề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ônghoạ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).
Trang 15 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ườidù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ôngtin 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 tingiữ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 đổigiữa các nạn nhân
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
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 Akhô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
Trang 16có 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 địachỉ 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ố giaodịch TID (Transaction ID) ngẫu nhiên Thuật toán sinh ra các mã số này đượcthiế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ố địnhcủ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ộttrong 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 đượcmá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 sailệ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:
Trang 17Giả 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)
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ìnhtruy cập vào website độc hại (Bogus Website) mà kẻ tấn công đã tạo ra nhằm lấy cắpthô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ôngmới, tiếp tục khai thác lỗ hổng DNS cache poisoning
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ôngDNS 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ạongẫ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ạitrong 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êucầ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
Trang 18hacker 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
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ấuhiệ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 chotớ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ớinhữ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ếtrằ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ạocho 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 đếnvậ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áckiể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
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áchost bị thỏa hiệp và được sử dụng để khởi chạy tấn công giả mạo
Đố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ậpInternet.Nếu vào một website quen thuộc nhưng lại gặp hiện tượng không bìnhthườ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êncậ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
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ừngvù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 đã đượcchỉ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ớiDNSSEC, hệ thống DNS đã được mở rộng thêm các tính năng bảo mật và được tăngcườ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