Bởi lẽ tấn công từ chối dịch vụ phân tán là kiểu tấn công làm cho hệ thống máytính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động.Trong các cuộc tấn công
Trang 1MỤC LỤC
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT DoS: Denial of Service: Tấn công từ chối dịch vụ.
DDoS: Distributed Denial of Service: Tấn công từ chối dịch vụ phân tán.
ICMP: Internet Control Message Protocol: Giao thức xử lý các thông báo trạng thái
cho IP (Transport Layer)
DNS: Domain Name System: Hệ thống tên miền.
SYN: The Synchronous Idle Character: Ký tự đồng bộ hoá.
ISP: Internet Service Provider: Nhà cung cấp dịch vụ Internet.
TCP/IP: Transmission Control Protocol and Internet Protocol: Gói tin TCP/IP là
một khối dữ liệu đã được nén, sau đó kèm thêm một header và gửi đến một máy tính khác Phần header trong một gói tin chứa địa chỉ IP của người gửi gói tin
UDP: User Datagram Protocol: Những gói tin có điểm xuất phát và điểm đích xác
định
IRC: Internet Relay Chat: Là một chương trình độc lập nơi mà bạn có thể tham gia
vào các kênh chat
Trang 3DANH MỤC HÌNH ẢNH
Trang 4MỞ ĐẦU
Lý do chọn đề tài
“Từ năm 1997, với sự ra đời của công cụ tấn công DDoS đầu tiên được công bốrộng rãi, Trinoo Nó dựa trên tấn công UDP flood và các giao tiếp master-slave (khiếncác máy trung gian tham gia vào trong cuộc tấn công bằng cách đặt lên chúng cácchương trình được điều khiển từ xa) Trong những năm tiếp theo, vài công cụ nữa đượcphổ biến – TFN (tribe flood network), TFN2K và Stacheldraht
Ngày 7/3/2000, yahoo.com đã phải ngưng phục vụ hàng trăm triệu user trêntoàn thế giới nhiều giờ liền Vài giờ sau, Yahoo đã tìm ra nguyên nhân gây nên tìnhtrạng này, họ đang phải gánh chịu một đợt tấn công DDoS với quy mô vài ngàn máytính liên tục gửi hàng triệu request đến các server dịch vụ làm các server này không thểphục vụ các user thông thường khác
Vài ngày sau, một sự kiện tương tự diễn ra nhưng có phần “ồn ào” hơn do mộttrong các nạn nhân mới là hãng tin CNN, amazon.com, buy.com, Zdnet.com, E-trade.com, Ebay.com Tất cả các nạn nhân là những gã khổng lồ trên Internet thuộcnhiều lĩnh vực khác nhau Theo Yankke Group, tổng thiệt hại do cuộc tấn công lên đến1.2 triệu USD, nhưng không đáng kể bằng sự mất mát về lòng tin của khách hàng, uytín của các công ty là không thể tính được
Làm đảo lộn mọi dự tính, thủ phạm là một cậu bé 15 tuổi người Canada, vớinickname “mafiaboy” Lại là một thiên tài bẩm sinh như Kevin Mitnick xuất hiện?Không Mafiaboy chỉ tìm tòi và download về một số chương trình công cụ của cáchacker Cậu đã dùng một công cụ DDoS có tên là TrinOO để gây nên các cuộc tấn côngkiểu DDoS khủng khiếp trên Một điểm đáng lưu ý khác là Mafiaboy bị bắt do tự khoekhoang trên các chatroom công cộng, không ai truy tìm được dấu vết của cậu bé này
Vào ngày 15 tháng 8 năm 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ờ
Vào lúc 15:09 giờ GMT ngày 27 tháng 3 năm 2003: toàn bộ phiên bản tiếng anhcủa website Al-Jazeera bị tấn công làm gián đoạn trong nhiều giờ
Trang 5Cá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ấncông DDos vào tháng 5/2007 Tuy nhiên, các trang web bị tấn công này đã khôi phụcnhanh chóng sau đó.
Năm 2007, sâu Storm xuất hiện và lây lan nhanh chóng Một khi đã lây nhiễmvào máy tính người dùng, sâu sẽ gửi đi hàng triệu thư rác Sâu Storm có thể phát hiệnnhữ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ả đũabằ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ốiInternet của họ
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 trangblog, bài viết của blogger Cyxymu ở Georgia
Nhà cung cấp dịch vụ phân giải tên miền cho Amazon bị tấn công DDoS, khiếnngười dùng không thể truy cập vào máy chủ Amazon.com và Amazon Web Servicesvào ngày 23/12/2009, đây là thời điểm mua sắm sôi động nhất trong năm tại các nướckhu 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àichí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ậtcủ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áctrang web Mastercard và PayPal
Ngày 4/3/2011, 40 trang web thuộc chính phủ Hàn Quốc tê liệt vì tấn côngDdoS
Trên đây là những cuộc tấn công trên là điển hình nhất về DDoS, nó nói lên mộtđặc điểm chết người của DDoS: Rất dễ thực hiện, hầu như không thể tránh, hậu quả rấtnặng nề.”
Đây chỉ là một trong số rất nhiều bài báo viết về DDoS, tuy khá ngắn gọn nhưngcũng đã nêu bật được những đặc điểm nổi bật nhất của DDoS: “Rất dễ thực hiện, hầunhư không thể tránh, hậu quả rất nặng nề” Một điều mà các chuyên gia ai cũng thừanhận, đó là nếu DDoS được thực hiện bởi một hacker có trình độ, thì việc chống đỡ làkhông thể Rất may mắn, giới hacker chính quy thế giới đã khai trừ kĩ thuật tấn côngnày, và chấm dứt mọi hoạt động nghiên cứu, trình diễn hay phát triển công cụ do chính
Trang 6bản thân họ cũng nhìn thấy mức độ nguy hiểm và không công bằng của kiểu tấn côngnày Bởi lẽ tấn công từ chối dịch vụ phân tán là kiểu tấn công làm cho hệ thống máytính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động.Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị "ngập" bởi hàng loạt các lệnhtruy cập từ lượng kết nối khổng lồ Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải vàkhông còn khả năng xử lý các yêu cầu Hậu quả là người dùng không thể truy cập vàocác dịch vụ trên các trang web bị tấn công DDoS.
Tuy rằng không còn là mới mẻ, nhưng DDoS vẫn tiếp tục gây rất nhiều thiệt hạicho cộng đồng mạng nói chung và cho các doanh nghiệp nói riêng Gần đây nhất là vụtấn công vào website Bkav, làm giảm uy tín và doanh thu của doanh nghiệp Cụ thể làchỉ 2 ngày sau khi bị tấn công vào Website nhánh webscan.bkav com.vn, từ tối ngày4/2/2012, trang chủ của Bkav tại địa chỉ www.bkav.com.vn đã không thể truy cập
Các khách hàng sử dụng phần mềm diệt virus Bkav bản mất phí Bkav Pro cũngkhông thể kết nối tới máy chủ để cập nhật các virus mới Trang web của Bkis bị DDoSlàm gián đoạn trong nhiều giờ liền và sau khi phối hợp với các bên liên quan, đã điềutra ra thủ phạm là một học sinh trung học ở Quảng Nam
Vậy làm sao để tránh hoặc ít nhất giảm được thiệt hại khi bị DDoS, em đã lựa
chọn đề tài :“Tìm hiểu cơ chế tấn công từ chối dịch vụ DDoS và cách phòng chống”.
Đề tài này không những phục vụ cho nhu cầu của bản thân mà còn giúp nâng cao ýthức của người dùng mạng Internet
Mục tiêu nghiên cứu
Mục tiêu nghiên cứu của bài tiểu luận (các kết quả cần đạt được):
- Tìm hiểu về DDoS.
- Phân loại các hình thức tấn công của DDoS.
- Tìm hiểu đặc tính lưu lượng mạng khi có và không có tấn công DDoS.
- Khảo sát các thuật toán và phương pháp phát hiện và giảm thiểu các cuộc tấn công của DDoS hiện đang được áp dụng.
Đối tượng và phạm vi nghiên cứu
Do tính chất đa dạng của DDoS nên không có giải pháp phòng chống DDoS nào
là tối ưu nhất cho mọi trường hợp Giải pháp mà bài tiểu luận đề cập đến là dành cho
Trang 7Tóm tắt cô đọng các nội dung chính
Ngoài phần mở đầu và phần kết luận, phần nội dung của bài tiểu luận gồm có 3 chương như sau:
Chương I Tổng quan về tấn công DoS và DDoS:
- Giới thiệu chung về DoS, phân loại các kiểu tấn công DoS
- Giới thiệu chung về DDoS, phân loại các kiểu tấn công DDoS
Chương II Các phương thức tấn công DDoS: Trình bày các phương thức,
cách thức tấn công DDoS, cách thức xây dựng mạng Botnet, giới thiệu một số công cụtấn công DDoS
Chương III Các biện pháp phòng chống tấn công DDoS: Trình bày các giải
pháp phát hiện, ngăn ngừa các cuộc tấn công DDoS
Trang 8CHƯƠNG I TỔNG QUAN VỀ TẤN CÔNG DOS VÀ DDOS1.1 Tấn công từ chối dịch vụ DoS
1.1.1 Giới thiệu tấn công DoS
Tấn công từ chối dịch vụ DoS là dạng tấn công nhằm ngăn chặn người dùng hợppháp truy nhập các tài nguyên mạng Tấn công DoS đã xuất hiện từ khá sớm, vào đầunhững năm 80 của thế kỷ trước Tấn công DoS là một kiểu tấn công mà một người làmcho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng
kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống
Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì chúng cốgắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùngbình thường đó là tấn công DoS
Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ thốngnhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp Như định nghĩatrên DoS khi tấn công vào một hệ thống sẽ khai thác những cái yếu nhất của hệ thống
để tấn công, những mục đích của tấn công DoS
1.1.2 Mục đích của tấn công DoS và hiểm họa
1.1.2.1 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ìnhthườ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 đó
- 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ị:
Trang 9+ Tổ chức không hoạt động.
+ Thiệt hại tài chính
1.1.2.2 Mục tiêu mà kẻ tấn công thường sử dụng tấn công DoS
Ta thấy, 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ì vậy các tàinguyên chúng thường sử dụng để tấn công là:
- 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, 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ề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 hòa
1.1.3 Các hình thức tấn công DoS cơ bản
1.1.3.1 Tấn công Smurf
Smurf : là một loại tấn công DoS điển hình Máy của attacker sẽ gởi rất nhiềulệnh ping đến một số lượng lớn máy tính trong một thời gian ngắn, trong đó địa chỉ IPnguồn của gói ICMP echo sẽ được thay thế bởi địa chỉ IP của nạn nhân, Các máy tínhnày sẽ trả lại các gói ICMP reply đến máy nạn nhân
Kết quả đích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP cực lớn vàlàm cho mạng bị rớt hoặc bị chậm lại, không có khả năng đáp ứng các dịch vụ khác
Trang 10Hình 1 Tấn công Smurf
1.1.3.3 Tấn công Buffer Overflow
Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượngthông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ
Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình vàđánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguyhiểm
Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể sẽxảy ra quá trình tràn bộ nhớ đệm
1.1.3.3 Tấn công Ping of Death
Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép của tin IP là65.536 bytes
Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện ở layer II.Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes Nhưng hệ điềuhành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn
Trang 11Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễdàng.
1.1.3.4 Tấn công Teardrop
Trong mạng chuyển mạch gói, dữ liệu được chia thành nhiều gói tin nhỏ, mỗigói tin có một giá trị offset riêng và có thể truyền đi theo nhiều con đường khác nhau
để tới đích Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu lại được kết hợplại như ban đầu
Lợi dụng điều này, hacker có thể tạo ra nhiều gói tin có giá trị offset trùng lặpnhau gửi đến mục tiêu muốn tấn công
Kết quả là máy tính đích không thể sắp xếp được những gói tin này và dẫn tới bịtreo máy vì bị "vắt kiệt" khả năng xử lý
1.1.3.5 Tấn công SYN
Hình 2 Tấn công SYN (mô hình bắt tay ba bước)
Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn công
Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối.Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý củamáy chủ Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request
Trang 12TCP SYN và lúc này máy chủ không còn khả năng đáp lại - kết nối không được thựchiện.
Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp của TCP theoThree-way
Quá trình TCP Three-way handshake (mô hình bắt tay ba bước) được thực hiện:Khi máy A muốn giao tiếp với máy B (1) máy A bắn ra một gói TCP SYN tới máy B -(2) máy B khi nhận được gói SYN từ A sẽ gửi lại máy A gói ACK đồng ý kết nối - (3)máy A gửi lại máy B gói ACK và bắt đầu các giao tiếp dữ liệu
Máy A và máy B sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một quátrình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để trao đổi
dữ liệu
1.2 Tấn công từ chối dịch vụ phân tán DDoS
1.2.1 Giới thiệu tấn công DDoS
Tấn công từ chối dịch vụ phân tán là một dạng phát triển ở mức độ cao của tấncông DoS được phát hiện lần đầu tiên vào năm 1999 Trên thực tế, tấn công từ chốidịch vụ phân tán là kiểu tấn công làm hệ thống máy tính hay hệ thống mạng quá tải,không thể cung cấp dịch vụ hoặc phải dừng hoạt động, song từ nhiều nguồn tấn côngkhác nhau, phân tán trên mạng Khác biệt cơ bản của tấn công DoS và DDoS là phạm
vi tấn công Trong khi lưu lượng tấn công DoS thường phát sinh từ một hoặc một số íthost nguồn, lưu lượng tấn công DDoS thường phát sinh từ rất nhiều host nằm rải ráctrên mạng Internet
Trang 13Hình 3 Mô hình tấn công DDoS
Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị “ngập” bởi hàng loạt cáclệnh truy cập từ lượng kết nối khổng lồ từ nhiều máy tấn công ở nhiều nơi Khi số lệnhtruy cập quá lớn, máy chủ sẽ quá tải và không có khả năng xử lý các yêu cầu Hậu quả
là người dùng không thể truy cập vào các dịch vụ trên các trang web bị tấn công DDoS
là DDoS sử dụng một mạng lưới tấn công rộng khắp, gồm nhiều máy tấn công nằm rảirác trên mạng Bằng cách tạo ra những gói tin cực nhiều đến một đích cụ thể, nó có thểgây tình trạng tương tự như hệ thống bị shutdown
Tấn công DDoS là một biến thể của Flooding DoS (Tấn công từ chối dịch vụtràn) Mục đích của hình thức này là gây tràn mạng đích Kẻ tấn công sau đó sẽ sửdụng toàn bộ lượng băng thông khổng lồ của BOTNET để làm tràn website đích Đó làcách phát động tấn công tốt nhất Một trong các kiểu tấn công phổ biến nhất được thựchiện thông qua sử dụng giao thức TCP (một giao thức hướng kết nối), gọi là TCP SYNflooding (tràn đồng bộ TCP) Cách thức hoạt động của chúng là gửi đồng thời cùng lúcmột số lượng khổng lồ yêu cầu kết nối TCP tới một Web Server (hoặc bất kỳ dịch vụnào khác), gây tràn tài nguyên server, dẫn đến tràn băng thông và ngăn không cho
Trang 14người dùng khác mở kết nối riêng của họ Quả là đơn giản nhưng thực sự nguy hiểm!Kết quả thu được cũng tương tự khi dùng giao thức UDP (một giao thức không kếtnối).
1.2.2 Các đặc tính của tấn công DDoS
- Nó được tấn công từ một hệ thống các máy tính cực lớn trên Internet, vàthường dựa vào các dịch vụ có sẵn trên các máy tính trong mạng BOTNET
- Các dịch vụ tấn công được điều khiển từ những "primary victim" trong khi cácmáy tính bị chiếm quyền sử dụng trong BOTNET được sử dụng để tấn công thườngđược gọi là "zombie"
- Là dạng tấn công rất khó có thể phát hiện bởi tấn công này được sinh ra từnhiều địa chỉ IP trên Internet
- Nếu một địa chỉ IP tấn công một công ty, nó có thể được chặn bởi Firewall
- Nếu nó từ 30.000 địa chỉ IP khác, thì điều này là vô cùng khó khăn
- Thủ phạm có thể gây nhiều ảnh hưởng bởi tấn công từ chối dịch vụ DoS, vàđiều này càng nguy hiểm hơn khi chúng sử dụng một hệ thống BOTNET trên internetthực hiện tấn công DoS và đó được gọi là tấn công DDoS
1.2.3 Tấn công DDoS không thể ngăn chặn hoàn toàn
Các dạng tấn công DDoS thực hiện tìm kiếm các lỗ hổng bảo mật trên các máytính kết nối tới Internet và khai thác các lỗ hổng bảo mật để xây dựng mạng BOTNETgồm nhiều máy tính kết nối tới Internet
Một cuộc tấn công DDoS tốt được thực hiện sẽ rất khó để ngăn chặn hoàn toàn.Nếu địa chỉ nguồn của gói tin có thể bị giả mạo, sau khi bạn không nhận được
sự phản hồi từ những địa chỉ nguồn thật thì bạn cần phải thực hiện cấm giao tiếp vớiđịa chỉ nguồn đó
Tuy nhiên một mạng BOTNET bao gồm từ hàng nghìn tới vài trăm nghìn địachỉ IP trên Internet và điều đó là vô cùng khó khăn để ngăn chặn tấn công
1.3 Kiến trúc tổng quan của DDoS Attack-network
Giờ đây không một kẻ tấn công nào sử dụng luôn địa chỉ IP để điều khiển mạngBOTNET tấn công tới đích, mà chúng thường sử dụng một đối tượng trung gian dưới
Trang 15đây là những mô hình tấn công DDoS Nhìn chung DDoS attack-network có hai môhình chính:
- Mô hình Agent – Handler
- Mô hình IRC – Based
Hình 4 Mô hình tổng quan DDoS Attack-network
1.3.1 Mô hình Agent – Handler
Hình 5 Mô hình Agent - Handler
Kẻ tấn công sử dụng các handler để điều khiển tấn công kiến trúc network kiểu Agent – Handler
attack-Theo mô hình này, attack-network gồm 3 thành phần: Agent, Client và Handler
Trang 16- Client: là software cơ sở để hacker điều khiển mọi hoạt động của network.
attack Handler: là một thành phần software trung gian giữa Agent và Client
- Agent: là thành phần software thực hiện sự tấn công mục tiêu, nhận điềukhiển từ Client thông qua các Handler
Attacker sẽ từ Client giao tiếp với Handler để xác định số lượng Agent đangonline, điều chỉnh thời điểm tấn công và cập nhật các Agent Tùy theo cách attackercấu hình attack-network, các Agent sẽ chịu sự quản lý của một hay nhiều Handler
Thông thường Attacker sẽ đặt Handler software trên một Router hay một server
có lượng traffic lưu thông nhiều Việc này nhằm làm cho các giao tiếp giữa Client,handler và Agent khó bị phát hiện Các gia tiếp này thông thường xảy ra trên cácprotocol TCP, UDP hay ICMP Chủ nhân thực sự của các Agent thông thường không hềhay biết họ bị lợi dụng vào cuộc tấn công kiểu DDoS, do họ không đủ kiến thức hoặccác chương trình Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầunhư không thể thấy ảnh hưởng gì đến hiệu năng của hệ thống
1.3.2 Mô hình IRC – Based
Hình 6 Mô hình IRC - Based
Kẻ tấn công sử dụng các mạng IRC để điều khiển, khuyếch đại và quản lý kếtnối với các máy tính trong mạng Botnet
Trang 17IRC là một hệ thống online chat multi user, IRC cho phép User tạo một kết nốiđến multi point với nhiều user khác và chat thời gian thực Kiến trúc của IRC networkbao gồm nhiều IRC server trên khắp internet, giao tiếp với nhau trên nhiều kênh
(channel) IRC network cho phép user tạo ba loại channel: public channel, private channel và secret channel.
+ Public channel: Cho phép user của channel đó thấy IRC name và nhận được
message của mọi user khác trên cùng channel
+ Private channel: được thiết kế để giao tiếp với các đối tượng cho phép.
Không cho phép các user không cùng channel thấy IRC name và message trên channel.Tuy nhiên, nếu user ngoài channel dùng một số lệnh channel locator thì có thể biếtđược sự tồn tại của private channel đó
+ Secret channel: tương tự private channel nhưng không thể xác định bằng
channel locator
Kiến trúc attack-network của kiểu IRC-Base
IRC – Based net work cũng tương tự như Agent – Handler network nhưng môhình này sử dụng các kênh giao tiếp IRC làm phương tiện giao tiếp giữa Client vàAgent (không sử dụng Handler) Sử dụng mô hình này, attacker còn có thêm một số lợithế khác như:
- Các giao tiếp dưới dạng chat message làm cho việc phát hiện chúng là vôcùng khó khăn
- IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị nghingờ
- Không cần phải duy trì danh sách các Agent, hacker chỉ cần logon vào IRCserver là đã có thể nhận được report về trạng thái các Agent do các channelgửi về
- Sau cùng: IRC cũng là một môi trường file sharing tạo điều kiện phát tán cácAgent code lên nhiều máy khác
Trang 181.4 Phân loại tấn công DDoS
Nhìn chung, có rất nhiều biến thể của kỹ thuật tấn công DDoS nhưng nếu nhìndưới góc độ chuyên môn thì có thể chia các biến thể này thành hai loại dựa trên mụcđích tấn công: Làm cạn kiệt băng thông và làm cạn kiệt tài nguyên hệ thống
Hình 7 là sơ đồ mô tả sự phân loại tấn công DDoS
Hình 7 Sơ đồ phân loại tấn công DDoS
1.4.1 Kiểu tấn công làm cạn kiệt băng thông của mạng (BandWith Depletion Attack)
BandWith Depletion Attack được thiết kế nhằm làm tràng ngập mạng mục tiêuvới những traffic không cần thiết, với mục địch làm giảm tối thiểu khả năng của cáctraffic hợp lệ đến được hệ thống cung cấp dịch vụ của mục tiêu
Có hai loại BandWith Depletion Attack:
+ Flood attack: Điều khiển các Agent gởi một lượng lớn traffic đến hệ thống
dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông
+ Amplification attack: Điều khiển các agent hay Client tự gửi message đến
một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửi message đến hệ
Trang 19thống dịch vụ của mục tiêu Phương pháp này làm gia tăng traffic không cần thiết, làmsuy giảm băng thông của mục tiêu.
1.4.1.1 Flood attack
Trong phương pháp này, các Agent sẽ gửi một lượng lớn IP traffic làm hệ thốngdịch vụ của mục tiêu bị chậm lại, hệ thống bị treo hay đạt đến trạng thái hoạt động bãohòa Làm cho các User thực sự của hệ thống không sử dụng được dịch vụ Ta có thểchia Flood Attack thành hai loại:
+ UDP Flood Attack: do tính chất connectionless của UDP, hệ thống nhận UDP
message chỉ đơn giản nhận vào tất cả các packet mình cần phải xử lý Một lượng lớncác UDP packet được gởi đến hệ thống dịch vụ của mục tiêu sẽ đẩy toàn bộ hệ thốngđến ngưỡng tới hạn Các UDP packet này có thể được gửi đến nhiều port tùy ý hay chỉduy nhất một port Thông thường là sẽ gửi đến nhiều port làm cho hệ thống mục tiêuphải căng ra để xử lý phân hướng cho các packet này Nếu port bị tấn công không sẵnsàng thì hệ thống mục tiêu sẽ gửi ra một ICMP packet loại “destination portunreachable” Thông thường các Agent software sẽ dùng địa chỉ IP giả để che giấuhành tung, cho nên các message trả về do không có port xử lý sẽ dẫn đến một đại chỉ Ipkhác UDP Flood attack cũng có thể làm ảnh hưởng đến các kết nối xung quanh mụctiêu do sự hội tụ của packet diễn ra rất mạnh
+ ICMP Flood Attack: được thiết kế nhằm mục đích quản lý mạng cũng như
định vị thiết bị mạng Khi các Agent gởi một lượng lớn ICMP_ECHO_REPLY đến hệthống mục tiêu thì hệ thống này phải reply một lượng tương ứng Packet để trả lời, sẽdẫn đến nghẽn đường truyền Tương tự trường hợp trên, địa chỉ IP của cá Agent có thể
bị giả mạo
1.4.1.2 Amplification Attack
Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ IPbroadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công Chức năngnày cho phép bên gửi chỉ định một địa chỉ IP broadcast cho toàn subnet bên nhận thay
Trang 20vì nhiều địa chỉ Router sẽ có nhiệm vụ gửi đến tất cả địa chỉ IP trong subnet đó packetbroadcast mà nó nhận được.
Attacker có thể gửi broadcast message trực tiếp hay thông qua một số Agentnhằm làm gia tăng cường độ của cuộc tấn công Nếu attacker trực tiếp gửi message, thì
có thể lợi dụng các hệ thống bên trong broadcast network như một Agent
Hình 8 Amplifier Network System
Có thể chia Amplification Attack thành hai loại, Smuft và Fraggle attack:
+ Smuft attack: Trong kiểu tấn công này attacker gởi packet đến network
amplifier (router hay thiết bị mạng khác hỗ trợ broadcast), với địa chỉ của nạn nhân.Thông thường những packet được dùng là ICMP ECHO REQUEST, các packet nàyyêu cầu yêu cầu bên nhận phải trả lời bằng một ICMP ECHO REPLY packet Networkamplifier sẽ gửi đến ICMP ECHO REQUEST packet đến tất cả các hệ thống thuộc địachỉ broadcast và tất cả các hệ thống này sẽ REPLY packet về địa chỉ IP của mục tiêutấn công Smuft Attack
+ Fraggle Attack: Tương tự như Smuft attack nhưng thay vì dùng ICMP ECHO
REQUEST packet thì sẽ dùng UDP ECHO packet gởi đếm mục tiêu Thật ra còn mộtbiến thể khác của Fraggle attack sẽ gửi đến UDP ECHO packet đến chargen port (port19/UNIX) của mục tiêu, với địa chỉ bên gửi là echo port (port 7/UNIX) của mục tiêu,
Trang 21REQUEST với địa chỉ bên nhận là một địa chỉ broadcast, toàn bộ hệ thống thuộc địachỉ này lập tức gửi REPLY đến port echo của nạn nhân, sau đó từ nạn nhân một ECHOREPLY lại gửi trở về địa chỉ broadcast, quá trình cứ thế tiếp diễn Đây chính là nguyênnhân Flaggle Attack nguy hiểm hơn Smuft Attack rất nhiều.
1.4.2 Kiểu tấn công làm cạn kiệt tài nguyên (Resource Deleption Attack)
Resource Deleption Attack là kiểu tấn công trong đó Attacker gửi những packetdùng các protocol sai chức năng thiết kế, hay gửi những packet với dụng ý làm tắcnghẽn tài nguyên mạng làm cho các tài nguyên này không phục vụ user thông thườngkhác được
1.4.2.1 Protocol Exploit Attack
+ TCP SYS Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ tin cậycao nên sử dụng phương thức bắt tay giữa bên gởi và bên nhận trước khi truyền dữliệu
Hình 9 Mô hình truyền - nhận dữ liệu (SYN REQEST packet)
Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLY nhưngkhông nhận được ACK packet cuối cùng sau một khoảng thời gian quy định thì nó sẽresend lại SYN/ACK REPLY cho đến hết thời gian timeout Toàn bộ tài nguyên hệthống “dự trữ” để xử lý phiên giao tiếp nếu nhận được ACK packet cuối cùng sẽ bị
“phong tỏa” cho đến hết thời gian timeout
Hình 10 Mô hình truyền - nhận dữ liệu (SYN/ACK REPLY)
Trang 22Nắm được điểm yếu này, attacker gửi một SYN packet đến nạn nhân với địa chỉbên gửi là giả mạo, kết quả là nạn nhân gởi SYN/ACK REPLY đến một địa chỉ khá và
sẽ không bao giờ nhận được ACK packet cuối cùng, cho đến hết thời gian timeout nạnnhân mới nhận ra được điều này và giải phóng các tài nguyên hệ thống Tuy nhiên, nếulượng SYN packet giả mạo đến với số lượng nhiều và dồn dập, hệ thống của nạn nhân
sẽ không thể xử lý được lượng lớn packet gửi đến và sẽ bị treo
1.4.2.2 Malformed Packet Attack
Malformed Packet Attack là cách tấn công dùng các Agent để gửi các packet cócấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bị treo
Có hai loại Malformed Packet Attack:
- IP address attack: dùng packet có địa chỉ gởi và nhận giống nhau làm cho hệđiều hành của nạn nhân không xử lý nổi và bị treo
- IP packet options attack: ngẫu nhiên hóa vùng OPTION trong IP packet và
Trang 231.5 Kết luận chương I
Trong chương I, tác giả đã đi sâu nghiên cứu và nêu định nghĩa, các đặc tính,phân loại tấn công DoS và DDoS, đặc biệt là tấn công DDoS Tất cả những cách tấncông trên đều nhằm mục đích làm giảm chức năng của hệ thống mạng và có thể dẫnđến đánh sập hệ thống, làm hệ thống không có khả năng hoạt động Những cuộc tấncông DDoS có thể phân tán, rải rác, khiến cho việc xác định kẻ tấn công là rất khókhăn Cần phải hiểu về hành vi, hoạt động của các luồng dữ liệu trong hệ thống để từ
đó phát hiện sớm và có những biện pháp hiệu quả để giảm thiểu tấn công DDoS
Trang 24CHƯƠNG II CÁC PHƯƠNG THỨC TẤN CÔNG DDOS2.1 Tổng quan về mạng Botnet
2.1.1 Ý 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 ảnhhưởng gì cho máy chủ - Giả sử ta 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 bạn kết nối tới máy chủ tốc độ 3Mbps Vậy cuộc tấn công đó không có ý nghĩa gì
-Nhưng hãy thử tưởng tượng có 1000 người 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ếtnối của máy chủ là 100 Mbps vậy kết quả sẽ ra sao
Để tạo ra những máy tính để thực hiện việc tấn công, kẻ tấn công xây dựng mộtmạ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) 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ôngvà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ủ
2.1.2 Mạng Bot
- BOT từ viết tắt của từ RoBOT
- IRC là một dạng truyền dữ liệu thời gian thực trên Internet Nó thường đượcthiết kế sao cho một người có thể nhắn được cho một group và mỗi người có thể giaotiếp với nhau với một kênh khác nhau được gọi là – Channels
- IRCbot - còn được gọi là zombie hay drone
- Đầu tiên BOT kết nối kênh IRC với IRC Server và đợi giao tiếp giữa nhữngngười với nhau
- Kẻ tấn công có thể điều khiển mạng BOT và sử dụng mạng BOT cũng như sửdụng nhằm một mục đích nào đó
- Nhiều mạng BOT kết nối với nhau người ta gọi là BOTNET - botnet
2.1.3 Mạng Botnet
Trang 25- Nó được sử dụng cho mục đích tấn công DDoS.
- Một mạng Botnet nhỏ có thể chỉ bao gồm 1000 máy tính nhưng bạn thử tưởngtượng mỗi máy tính này kết nối tới Internet tốc độ chỉ là 128Kbps thì mạng Botnet này
đã có khả năng tạo băng thông là 1000*128 ~ 100Mbps – Đây là một con số thể hiệnbăng thông mà khó một nhà Hosting nào có thể share cho mỗi trang web của mình
Hình 12 Mạng Botnet
2.1.4 Mục đích sử dụng mạng Botnet
- Botnet được sử dụng cho tấn công DDoS: Spamming
- 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ênmạ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ộidung 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ảnkhá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ữngquảng cáo Popup
Trang 26- 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ụngdị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àonhữ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ạycảm của người dùng
2.1.5 Các dạng của mạng Botnet
Nhiều kiểu bot đã được xây dựng và cho phép download được cung cấp nhannhản khắp Internet Mỗi kiểu có những thành phần đặc biệt riêng Chúng ta sẽ xem xétmột số bot phổ biến nhất và thảo những thành phần chính và các yếu tố phân biệt củachúng
2.1.5.1 GT-Bot
Tất cả các bot GT (Global Threat) đều dựa trên kiểu client IRC phổ biến dànhcho Windows gọi là mIRC Cốt lõi của các bot này là xây dựng tập hợp script (kịchbản) mIRC, được dùng để điểu khiển hoạt động của hệ thống từ xa Kiểu bot này khởichạy một phiên client nâng cao với các script điều khiển và dùng một ứng dụng thứhai, thông thường là HideWindows để ẩn mIRC trước người dùng máy tính đích Mộtfile DLL bổ sung sẽ thêm một số thành phần mới vào mIRC để các script có thể chiphối nhiều khía cạnh khác nhau trên máy tính bị chiếm quyền điều khiển
2.1.5.2 Agobot
Agobot là một trong những kiểu bot phổ biến nhất thường được các tay bẻ khoá(craker) chuyên nghiệp sử dụng Đây là những bot được viết bằng C++ trên nền tảngCross-platform và mã nguồn được tìm trên GPL Agobot được viết bởi Ago nick nameđược người ta biết đến là Wonk, một thanh niên trẻ người Đức – đã bị bắt hồi tháng 5năm 2004 với tội danh về tội phạm máy tính
Agobot có khả năng sử dụng NTFS Alternate Data Stream và như một loại