Botnet có thể được dùng cho nhiều mục đích khác nhau, do mạng botnet là một mạng tập hợp của rất rất nhiều máy tính, nên hacker có thể dùng bonet để thực hiện các cuộc tấn công từ chối[r]
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Đề tài: Nghiên cứu tấn công từ chối dịch vụ (DDOS) các phương pháp tấn công và
phòng tấn công
Giáo Viên Hướng Dẫn: Th.s Nguyễn Tuấn Tú Sinh Viên Thực Tập
Lớp: CNTT1-K16
Hà Nội, 2017
Trang 2Mục lục
Chương 1: Tổng quan về DDos 3
1.1: DDos là gì: 3
1.2: Phân loại tấn công DDos 4
1.3 : Mục tiêu của các cuộc tấn công từ chối dịch vụ 9
Chương 2:Các phương pháp tấn công DDos 11
2.1: Botnets là gì 11
2.2: Mục đích sử dụng mạng Botnets 11
2.3: Botnet được điều khiển như thế nào? 14
2.4: Các bước xây dựng mạng Botnets 16
2.5: Cách phân tích mạng Bot 17
2.6: Các dấu hiệu nhận biết máy tính bị nhiễm virus 18
2.7: Mô hình tấn công 19
2.8: Kỹ thuật tìm kiếm lỗ hổng 22
Chương 3:Các phương pháp phòng tấn công 38
3.1: Biện pháp ngăn chặn 38
3.2: Giai đoạn ngăn ngừa 40
3.3: Giai đoạn đối đầu với cuộc tấn công 41
3.4: Giai đoạn sau tấn công DDos 41
Chương 4: Các ví dụ về tấn công DDos 42
4.1: Tấn công Smurf 42
4.2: Tấn công Buffer overflow 45
4.3: Tấn công Ping of Death 45
4.4: Tấn công Teardrop 47
4.5: Tấn công SYN 48
Trang 3Chương 1: Tổng quan về DDos 1.1: DDos là gì:
DDoS (Distributed Denial of Service Attack) là nhiều máy tính hoặc nhiều hệ thống máy tính cùng yêu cầu tài nguyên trên máy đích làm cho máy đích không đủ tài nguyên để phục vụ, hậu quả là có thể treo (mất khả năng phục vụ) và khởi động lại
Hacker thường tấn công từ chối dịch vụ thường nhắm vào các trang tin tức mạng hay máy chủ của các ngân hàng, cổng thanh toán thẻ tín dụng v.v
Hình 1.1: Cách thức DDos hoạt động
Cách thực hiện: Hacker có thể lợi dụng các máy chủ Free Proxy trên thể giới hoặc sử
dụng BOTNET để điều khiển của tấn công, hoặc viết các tools upload lên các diễn đàn để rồi các tools tự động gửi các yêu cầu tới các máy chủ cần tấn công
Hệ thống chống DDOS
Đối với Cloud Server và Cloud Desktop được cấu hình trực tiếp trên windows và cài soft chống DDOS lên
Đối với Cloud Datacenter có hệ thống chống DDOS vật lý và của VMware
Trang 4Chạy HA (High Availability): dự phòng, khi một server này gặp vấn đề, server khác sẽ được active, người dùng sẽ không nhận thấy bất cứ sự gián đoạn nào của dịch vụ
1.2: Phân loại tấn công DDos
Tấn công vào băng thông mạng
Trong phương pháp này kẻ tấn công điều khiển mạng lưới Agent đồng loạt gửi các gói tin ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị quá tải và không thể phục vụ được Ví dụ như trong trường hợp ICMP flood, nạn nhân sẽ phải gửi trả lại các gói tin ICMP_REPLY tương ứng Do số lượng của Agent gửi đến nạn nhân rất lớn nên việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng Trong trường hợp UDP flood cũng tương tự
Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận Hiện nay, với sự phát triển của các công cụDdos, hầu hết đều hỗ trợ giả mạo địa chỉ IP
Tấn công vào giao thức
Điển hình của phương pháp tấn công này là TCP SYN flood Kẻ tấn công lợi dụng quá trình bắt tay 3 bước trong giao thức TCP Kẻ tấn công liên tục khởi tạo kết nối TCP Nạn nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía máy khách
Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác là sẽ không làm gì cả như quá trình bắt tay 3 bước Cứ như vậy, nạn nhân sẽ tốn nhiều tài nguyên và
bộ nhớ để chờ các phiên TCP Do vậy nạn nhân sẽ không thể phục vụ được do tốn bộ nhớ
đề chờ các kết nối ảo do kẻ tấn công khởi tạo
Tấn công bằng những gói tin khác thường
Trong phương pháp này, kẻ tấn công dựa vào các điểm yếu của giao thức mạng Ví dụ khi tấn công Ping of Death Kẻ tấn công sẽ gửi một số gói tin ICMP có kích thước lớn hơn kích thước giới hạn Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận thấy rằng là gói tin quá lớn để xử lý
Trang 5Kết quả là hệ thống không thể xử lý được tình trạng bất thường này và sẽ bị treo Một trường hợp khác như tấn công Lan Attack Kẻ tấn công sẽ gửi các gói tin TCP SYN có địa chỉ nguồn, địa chỉ đích và số cổng giống nhau Nạn nhân sẽ liên tục khởi tạo và kết nối với chính nó Do vậy hệ thống sẽ bị treo hoặc bị chậm lại
Tấn công qua phần mềm trung gian
Trong phương pháp tấn công này, kẻ tấn công sẽ sử dụng một phần mềm hợp lệ trên máy nạn nhân Khai thác một số thuật toán và tiến hành đưa tham số trong trường hợp xấu nhất Do vậy, máynạn nhân sẽ phải xử lý quá trình này và có thể bị treo Đây là phương pháp tấn công khá đơn giản nhưng lại có hiệu quả rất cao Nhưng nguy hiểm hơn
cả là kẻ tấn công đã đột nhập được vào máy nạn nhân để có thể ăn cắp các thông tin cá nhân của nạn nhân
Một số các công cụ tấn công dùng Proxy
Trinoo
Trinoo cho phép kẻ tấn công kiểm soát một số máy để yêu cầu gửi đồng loạt các gói tin UDP làm tê liệt mục tiêu Master Trinoo có thể điều khiển các deamon trinoo như:
Đồng loạt gửi các gói tin UDP
Dừng việc gửi gói tin
Thay đổi cấu hình của các deamon trinoo
Flood Network (TFN)
Trang 6Hình 1.2: Công cụ tấn công Proxy bằng Flood Network (TFN)
TFN là công cụ tấn công vào băng thông TFN hỗ trợ tấn công các kỹ thuật ICMP
flood, UD.2 Tribe P flood, TCP SYN flood Hiên tại, TFN hỗ trợ việc giả mạo địa chỉ
IP Hoạt động hầu hết trên các hệ điều hành DDos
Trinity
Có thể nói Trinity là công cụ nguy hiểm nhất Nó có khả năng tấn công với hầu hết các
kỹ thuật như UDP, SYN và một số dạng flood khác Tuy nhiên nó còn có thể kết nối internet thông qua mạng Relay Chat (IRC) hoặc AOL’s ICQ Trinity thường sử dụng các cổng 6667 và cũng có thể là 1 chương trình backdoor lắng nghe ở cổng 33270 qua kết nối TCP
Knight
Knight là một cộng cụ hoạt động trên hệ điều hành windows Knight cung cấp các kỹ thuật tấn công như UDP flood, SYN flood Và nó có thể tự động update thông qua các giao thức http hoặcftp Knight được cài đặt sử dụng Trojan thông qua chương trình backdoor được gọi là Back Oifice Knight được sử dụng trong mô hình IRC-Based
Trang 7Kaiten chính là biến thể của Knight Kaiten hỗ trợ các kỹ thuật tấn công như UDP flood, TCP flood, SYN Có khả năng giả mạo địa chỉ IP Kaiten cũng là công cụ được sử dụng trong mô hình IRC-Based
Và một số các công cụ khác
MASTER HTTP
Hình 1.3: Master Http
LOIC (sourceforge.net/projects/loic/)
Hình 1.4: LOIC
Các cuộc tấn công từ chối dịch vụ
Trang 8 1998 Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli
Tháng 5 – 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng (DDOS)
Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống
Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiên ra đời Cuối tháng 9 năm 1999
Ngày 21 tháng 10 năm 1999 David Dittrich thuộc trường đại học Washington đã làm những phân tích về công cụ tấn công từ chối dịch vụ
Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000
( TFN2K )
7 – 2 -2000 Yahoo! ( Một trung tâm nổi tiếng ) đã bị tấn công từ chối dịch vụ và ngưng trệ hoạt động trong vòng 3 giờ đồng hồ Web site Mail Yahoo và GeoCities
đã bị tấn công từ 50 địa chỉ IP khác nhau với nhửng yêu cầu chuyễn vận lên đến 1 gigabit/s
8-2 nhiều Web site lớn như Buy.com, Amazon.com, eBay, Datek, MSN, và
CNN.com bị tấn công từ chối dịch vụ
Lúc 7 giờ tối ngày 9-2/2000 Website Excite.com là cái đích của một vụ tấn công
từ chối dịch vụ, dữ liệu được luân chuyễn tới tấp trong vòng 1 giờ cho đến khi kết thúc, và gói dữ liệu đó đã hư hỏng nặng
Qua đó ta có thể thấy rõ những vụ tấn công từ chối dịch vụ (Denial Of Services Attack ) và những cuộc tấn công về việc gửi nhửng gói dữ liệu tới máy chủ (Flood Data Of Services Attack) tới tấp là những mối lo sợ cho nhiều mạng máy tính lớn và nhỏ hiện nay
Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên
Trang 9server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông … Lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker Khi đó Server sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot
Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland
Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS
1.3 : Mục tiêu của các cuộc tấn công từ chối dịch vụ
Làm tiêu tốn tài nguyên của hệ thống,có thể làm hết băng thong,đầy dung lượng lưu trữ trên đĩa hoặc tăng thời gian xử lý
Phá vỡ các thành phần vật lý của mạng máy tính
Làm tắc nghẽn thông tin liên lạc bên ra bên ngoài
Phá vỡ các thông tin cấu hình như thông tin định tuyến
Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP
Làm quá tải năng lực xử lý,dẫn đến hệ thống không thể thực thi bất kỳ một công việc nào khác
Những lỗi gọi tức thì trong microcode của máy tính
Những lỗi gọi tức thì trong chuỗi chỉ thị,dẫn đến máy tính rơi vào tình trạng hoạt động không ổn định hoặc bị đơ
Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên hoặc bị tharshing.Ví dụ như sử dụng tất cả các năng lực có sẵn dẫn đến không một công việc thực tế nào có thể hoàn thành được
Gây crash hệ thống
Tấn công từ chối dịch vụ IFrame:Trong một trang HTML, có thể gọi đến một trang web nào đó với rất nhiều yêu cầu và trong rất nhiều lần cho đến khi băng thông của trang web đó bị quá hạn
Trang 10Nói tóm lại DDos là một cuộc tấn công,làm quá tải tài nguyên hệ thống làm nghẽn đường truyền…dẫn tới việc gián đoạn hoặc là hệ thống đó bị treo luôn và không thể sử dụng được
Trang 11Chương 2:Các phương pháp tấn công DDos
2.1: Botnets là gì
Botnet là các mạng máy tính được tạo lập từ các máy tính mà hacker có thể điều khiển
từ xa Các máy tính trong mạng botnet là máy đã bị nhiễm malware và bị hacker điều khiển Một mạng botnet có thể có tới hàng trăm ngàn, thậm chí là hàng triệu máy tính Nếu máy tính của bạn là 1 thành phần trong mạng botnet, có nghĩa là nó đã bị nhiễm 1 trong số các loại malware (như virus, sâu máy tính ) Hacker tạo ra mạng này sẽ sử dụng, điều khiển hàng trăm ngàn máy tính của nạn nhân để phục vụ cho mục đích riêng của chúng
2.2: Mục đích sử dụng mạng Botnets
Botnet có thể được dùng cho nhiều mục đích khác nhau, do mạng botnet là một mạng tập hợp của rất rất nhiều máy tính, nên hacker có thể dùng bonet để thực hiện các cuộc tấn công từ chối dịch vụ (DDoS) vào một máy chủ web nào đó Theo đó, hàng trăm ngàn máy tính sẽ "dội bom", truy cập vào một website mục tiêu tại cùng 1 thời điểm, khiến cho lưu lượng truy cập vào site đó bị quá tải Hậu quả là nhiều người dùng khi truy cập vào website đó thì bị nghẽn mạng dẫn tới không truy cập được