3 . Phân loại tấn công DDoS
Tính chất phân phối của các cuộc tấn công DDoS làm cho chúng ta rất khó khăn trong các cuộc tấn công lẫn nhau hoặc tìm lại thông tin. Những kẻ tấn công thường sử dụng địa chỉ giả mạo để che giấu thân phận thực sự của họ, chính vì điều đó đã làm cho việc lấy lại thông tin sau cuộc tấn công khó khăn hơn. Hơn nữa, có những lổ hổng bảo mật trong nhiều máy chủ mà kẻ tấn công có thể khai thác. Hơn thế nữa, sự cố của các cuộc tấn công nhằm vào các lớp ứng dụng đang gia tăng nhanh chóng . Một trong những bước cần thiết hướng tới việc phát triển một cơ chế phòng vệ toàn diện DDoS là phải hiểu tất cả các khía cạnh của cuộc tấn công DDoS. Phân loại của các cuộc tấn công DDoS đã được đề cập đến nhiều trong thập kỷ qua. Trong cuộc khảo sát này, chúng ta quan tâm tới việc phân loại các cuộc tấn công DDoS tràn bộ đệm trên các tầng giao thức mà tại đó là nơi các cuộc tấn công hoạt động. Chúng em xem xét sự cố về tấn công tràn bộ nhớ khác nhau của mỗi loại, một số trong đó đã được ghi nhận và ứng dụng, phần còn lại là xu hướng hiện nay của các cuộc tấn công tràn bộ nhớ. Chúng em tập trung vào kiểu tấn công flooding vì đây là một trong những hình thức tấn công phổ biến nhất hiện nay. Tấn công lổ hổng hoặc tấn công vào lỗi trong phần mềm để làm tắt dịch vụ, không phải là trọng tâm của bài báo cáo này.
Như chúng ta đề cập trước đó, các cuộc tấn công flooding được chia thành hai loại chính dựa theo tầng giao thức mà nó hoạt động và một loại dựa trên mạng botnet:
3.1. Lớp mạng, tấn công tràn ngập DDoS tầng vận chuyển
Các cuộc tấn công hầu hết sử dụng các giao thức trao đổi gói tin TCP, UDP, ICMP và DNS. Có bốn kiểu tấn công thuộc dạng này:
a) Tấn công tràn ngập
Những kẻ tấn công tập trung làm gián đoạn kết nối người dùng bằng cách cạn kiệt băng thông mạng của nạn nhân (Ví dụ : có thể sử dụng địa chỉ giả mạo/ không giả mạo, UDP flood, ICMP flood, DNS flood, VoIP flood …..). Đặc trưng nhận biết: truy cập dịch vụ dựa trên nền giao thức bị chậm hoặc dừng hẳn, không trả lời yêu cầu của người dùng.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
b) Tấn công tràn ngập khai thác giao thức
Những kẻ tấn công khai thác các tính năng cụ thể hoặc lỗi khi xây dựng một số giao thức của nạn nhân để tiêu thụ một lượng bộ nhớ của máy nạn nhân.
Đặc trưng nhận biết: Ứng dụng, dịch vụ bị ngừng đột ngột.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
c) Tấn công tràn ngập dựa trên sự phản xạ
Các kẻ tấn công thường gửi các yêu cầu giả mạo thay vì gửi trực tiếp đến người nhận, do đó, theo phản xạ thì nạn nhân sẽ gửi các câu trả lời tới địa chỉ giả mạo đó và như vậy các kẻ tấn công đã lấy cấp được thông tin của nạn nhân.
Đặc trưng nhận biết: Bị mất thông tin cá nhân, tài khoản mà không rõ nguyên do.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
d) Tấn công tràn ngập dựa trên sự khuếch đại
Các kẻ tấn công khai thác dịch vụ để tạo ra các thông báo lớn hoặc nhiều thông báo cho các nạn nhân, nhằm mục đích khuếch đại đường truyền tương tác với các nạn nhân. BotNets được dùng cho cả mục đích phản xạ lại thông tin và khuếch đại đường truyền. Phản xạ và khuếch đại kỹ thuật thường được sử dụng song song như trong trường hợp của dạng tấn công Smurf, kẻ tấn công gửi các yêu cầu với địa chỉ IP nguồn là giả mạo đến một số lượng lớn các nạn nhân bằng cách khai thác tính năng IP phát sóng của các gói dữ liệu.
Đặc trưng nhận biết: Xuất hiện nhiều gói tin giả mạo yêu cầu gửi thông báo đến người dùng.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
3.2. Tấn công tràn ngập DDoS tầng ứng dụng
Những cuộc tấn công tập trung làm gián đoạn dịch vụ của người dùng bằng cách sử dụng hết các nguồn tài nguyên của máy chủ (Ví dụ: CPU, bộ nhớ, băng thông,…). Trong tấn công DDoS, các cuộc tấn công này thường tiêu thụ ít băng thông và âm thầm so với các cuộc tấn công khác, hoạt động rất giống với các cuộc trao đổi thông thường.
Tuy nhiên, khi đã nhắm vào các mục tiêu thì các cuộc tấn công DDoS flooding thường có tác động giống với các dịch vụ đang hoạt động như là HTTP, DNS, SIP,.. Dưới đây chúng em mô tả ngắn gọn về tấn công làm đầy bộ nhớ của DNS và SIP, là hai giao thức quang trọng và thường bị tấn công nhất.
Phản xạ, khuếch đại dựa trên các cuộc tấn công tràn ngập
Những cuộc tấn công sử dụng các kỹ thuật tương tự như các cuộc tấn công về mạng hoặc vận chuyển các gói tin (Ví dụ: gửi các yêu cầu với số lượng lớn tới các nơi nhận và trả lời của các giao thức với địa chỉ nguồn giả mạo). Ví dụ, các cuộc tấn công vào giao thức DNS sử dụng cả hai kỹ thuật phản chiếu và khuếch đại. Những kẻ tấn công tạo ra các câu truy vấn nhỏ với địa chỉ IP giả mạo tới DNS có thể tạo ra một khối lưu lượng mạng đáng kể từ các thông điệp trả lời của DNS, các thông điệp trả lời có thể lớn hơn nhiều so với các câu truy vấn được gửi tới DNS. Sau đó khối lượng lớn lưu lượng mạng sẽ được hướng tới hệ thống nhằm mục tiêu làm tê liệt.
a) Tấn công tràn ngập HTTP Có 4 kiểu tấn công thuộc dạng này:
Tấn công tràn ngập mức phiên kết nối (Session):
Trong kiểu tấn công này, yêu cầu mức phiên kết nối từ những kẻ tấn công là cao hơn so với yêu cầu của người sử dụng. Do đó, điều này làm cạn kiệt các nguồn tài nguyên và dẫn đến tấn công tràn bộ nhớ trên các máy chủ. Một trong những cuộc tấn công nổi tiếng thuộc loại này là tấn công làm đầy nơi nhận và trả lời của HTTP, khi đó kẻ tấn công tạo ra số lượng lớn các yêu cầu đến các cổng trả lời của HTTP và làm sập trang chủ web của nạn nhân. Các kẻ tấn công thường sử dụng botnets để thực hiện các cuộc tấn công, vì chương trình đó có thể tạo ra một số lượng lớn các yêu cầu hợp lệ. Các cuộc tấn công vào HTTP thường là các cuộc tấn công không giả mạo.
Tấn công tràn ngập gửi yêu cầu (Request):
Trong kiểu tấn công này, kẻ tấn công gửi phiên có chứa số lượng nhiều hơn các yêu cầu bình thường và dẫn đến một cuộc tấn công DDoS tràn bộ đệm trên máy chủ. Một trong những cuộc tấn công nổi tiếng của loại này là các tấn công gửi các phiên đơn tới HTTP. Cuộc tấn công này là biến thể của của các cuộc tấn công HTTP mà sử dụng các tính năng của HTTP 1.1 cho phép nhiều yêu cầu trong một phiên HTTP. Do đó, kẻ tấn công có thể giới hạn tỷ lệ phiên của một cơ chế phòng vệ HTTP và vượt qua giới hạn phòng vệ của nhiều hệ thống an ninh.
Tấn công bất đối xứng (Asymmetric)
Trong kiểu tấn công này, kẻ tấn công gửi các phiên có chứa các yêu cầu làm việc với số lượng lớn. Ở đây, chúng em liệt kê một số các cuộc tấn công nổi tiếng trong thể loại này.
Tràn ngập nhiều HTTP nhận/gửi (nhiều đơn yêu cầu động) Cuộc tấn công này cũng là một biến thể của các cuộc tấn công HTTP. Ở đây, một kẻ tấn công tạo ra nhiều yêu cầu HTTP bằng cách hình thành một gói duy nhất được nhúng nhiều lần, với các điều kiện và chỉ cho phép gói tin đó hoạt động trên một phiên của HTTP. Cách tấn công này vẫn có thể duy trì tải cao trên máy chủ của nạn nhân với một tốc độ gói tấn công thấp đến mức làm cho những kẻ tấn công gần như vô hình.
Lỗi ứng dụng
Trong cuộc tấn công này, kẻ tấn công tận dụng nhược điểm của các trang web có thiết kế kém hoặc nhập không đúng với cơ sở dữ liệu. Ví dụ, họ có thể sử dụng kết nối SQL để tạo ra các yêu cầu khóa truy vấn tới cơ sở dữ liệu.
Tấn công kiểu chậm gửi yêu cầu và phản hồi (request/response)
Trong kiểu tấn công này, kẻ tấn công gửi các phiên có chứa các yêu cầu cao. Có một số vụ tấn công nổi tiếng trong thể loại này mà chúng em mô tả trong phần sau.
Tấn công SlowLoris
SlowLoris là một cuộc tấn công HTTP có thể làm tắt một máy chủ web bằng cách sử dụng tối đa lưu lượng của nhiều máy hoặc có thể là một máy. Kẻ tấn công gửi các yêu cầu tới phiên HTTP một cách liên tục và triển khai nhanh chóng, cập nhật chậm rãi, và không thể tắt. Các cuộc tấn công vẫn tiếp tục cho đến khi tất cả các cổng có sẵn bị chiếm bởi những yêu cầu này và máy chủ Web trở nên đống băng. Địa chỉ nguồn tấn công thường không được giả mạo.
Tấn công phân mảnh HTTP
Tương tự như Slowloris, mục tiêu của cuộc tấn công này là để làm sập một máy chủ Web bằng cách đưa ra các kết nối HTTP trong một thời gian dài mà không gây bất kỳ báo động nào. Những kẻ tấn công thiết lập một kết nối HTTP có hiệu lực với một máy chủ web. Sau đó, họ phân mảnh gói tin HTTP vào các mảng nhỏ và gửi từng đoạn mảnh này một cách chậm rãi nhưng trong thời gian máy chủ cho phép. Sử dụng phương pháp này, bằng cách mở nhiều phiên trên mỗi bot, kẻ tấn công âm thầm có thể mang xuống một máy chủ Web chỉ với một số ít các chương trình.
Tấn công Slowpost
Khác với cuộc tấn công Slowloris, khi mà slowloris gửi gói tin và làm sập máy chủ web quá chậm. Các kẻ tấn công sẻ gửi một gói tin thông báo HTTP hoàn chỉnh có nội dung đầu là nội dung có chiều dài và ở phần thân của thông báo nó sẻ gửi một yêu cầu để thực hiện việc trao đổi thông tin. Sau đó nó sẽ gửi dữ liệu để điền vào nội dung thư với tỉ lệ của một byte mỗi hai phút. Do đó, máy chủ phải chờ cho gói tin phần thân được hoàn thành, trong khi đó kỹ thuật tấn công Slowpost phát triển nhanh chóng và là nguyên nhân của tấn công DDoS flooding trên các web server.
Tấn công Slowreading
Shekyan trình bày một kiểu tấn công trong thể loại này hoạt động bằng cách từ từ đọc các phản hồi thay vì chậm gửi các yêu cầu. Cuộc tấn công này đạt được mục đích của nó bằng cách thiết lập một cửa sổ nhận có kích thước nhỏ hơn so với các máy chủ mục tiêu. Các giao thức TCP duy trì mở các kết nối ngay cả khi không có dữ liệu truyền, do đó, kẻ tấn công có thể buộc các máy chủ để giữ một số lượng lớn các kết nối mở và cuối cùng gây ra các cuộc tấn công DDoS tràn bộ đệm trên các máy chủ.
3.3 Tấn công DDoS dựa trên botnet
Như đã đề cập trước đó, các botnet là cơ chế chủ đạo tạo điều kiện thuận lợi cho các cuộc tấn công DDoS Flooding trên mạng máy tính hoặc các ứng dụng. Hầu hết các cuộc tấn công DDoS flooding vào lớp ứng dụng gần đây đã sử dụng botnet. Trong phần này, chúng em trình bày một nghiên cứu toàn diện kiến trúc botnet hiện hành và các công cụ đã được sử dụng để khởi động các cuộc tấn công DDoS flooding.
Theo Peng at al. có hai nguyên do chính làm cho sự phát triển của một cơ chế DDoS phòng thủ hiệu quả đặc biệt là khi có các cuộc tấn công zombies vào các máy chủ làm tràn bộ đệm của máy chủ. Đầu tiên, một số lượng lớn các zombies tham gia vào các cuộc tấn công tạo điều kiện cho kẻ tấn công để thực hiện các cuộc tấn công lớn hơn về quy mô và đột phá hơn. Thứ hai, địa chỉ IP zombie thường giả mạo dưới sự kiểm soát của kẻ tấn công, mà làm cho nó rất khó khăn để traceback lưu lượng tấn công ngay cả đến các zombies.
Thông thường, một nhóm các zombies mà được điều khiển bởi một kẻ tấn công tạo thành một botnet. Botnet bao gồm masters, handlers, and bots như mô tả trong hình. The Handlers có nghĩa là một phương tiện giao tiếp của những kẻ tấn công sử dụng để giao tiếp gián tiếp với các chương trình của họ. Ví dụ, handlers có thể là một ứng dụng được cài đặt trên một máy đã bị nhiễm mà kẻ tấn công tận dụng nó để gửi cấc gói tin liên lạc với nhau. Tuy nhiên, hầu hết các chương trình cài đặt lại dấu ấn độc đáo đằng sau đó và phát hiện được với các phần mềm diệt virus hiện hành. Do đó, hiện nay những kẻ tấn công sử dụng các phương pháp khác Internet Relay Chat để giao tiếp với chương trình của mình để gửi các lệnh và kiểm soát chúng.
Bots là những thiết bị đã bị xâm nhập bởi các bộ xử lý. Bots là những hệ thống mà sau này sẽ thực hiện các cuộc tấn công vào hệ thống của nạn nhân. Hình trên cho thấy tất cả các yếu tố của một botnet. Botnet có thể có hàng trăm triển khai khác nhau. Dựa vào cách chương trình được kiểm soát bởi master các botnet được phân thành ba loại chính: IRC-based, Web-based, and P2P-based. Kể từ khi hai loại đầu tiên đã được sử dụng rộng rãi để khởi động các cuộc tấn công DDoS flooding, chúng em giải thích ngắn gọn cho họ và giới thiệu một số công cụ đã được sử dụng trong mỗi loại.
IRC-based
IRC là một giao thức tin nhắn tức thời trên mạng dạng văn bản trên mạng Internet. Nó có mô hình client/server với kiến trúc là các kênh mặc định để giao tiếp giữa các máy chủ. IRC có thể kết nối hàng trăm khách hàng thông qua nhiều máy chủ. Sử dụng các kênh IRC giống như xử lý, những kẻ tấn công có thể sử dụng cổng IRC để gửi lệnh đến chương trình khiến nó khó khăn hơn trong việc theo dõi lệnh DDoS và kiểm soát cấu trúc. Hơn nữa, kẻ tấn công có thể dễ dàng che giấu sự hiện diện của mình vì khối lượng lớn lưu lượng truy cập các máy chủ IRC này thường có. Ngoài ra, kẻ tấn công có thể dễ dàng chia sẻ các tập tin để phân phối mã độc hại. Hơn nữa, những kẻ tấn công có thể chỉ cần đăng nhập vào các máy chủ IRC và xem danh sách của tất cả các chương trình có sẵn thay vì duy trì danh sách của họ ở nội bộ tại trang web của họ. Các hạn chế lớn của các botnet bằng lệnh tập trung và điều khiển (C & C) cơ sở hạ tầng như botnet IRC-based là máy chủ, là một nguyên nhân chính của thất bại. Đó là, toàn bộ mạng botnet có thể bị tắt nếu các defender ghi lại. Một vài công cụ botnet IRC-based nổi tiếng đã được phát triển và sử dụng trong những năm qua cho tung ra cuộc tấn công DDoS như: Trinity v3 (thực hiện UDP, TCP SYN, TCP ACK, và các cuộc tấn công ngập lục TCP NUL), và Kaiten các máy chủ C & C.
Web-based
Gần đây hơn, các botnet đã bắt đầu sử dụng HTTP là một giao thức truyền thông để gửi lệnh đến chương trình làm cho nó khó khăn hơn để theo dõi DDoS câu lệnh và kiểm soát cấu trúc. Botnet dựa trên web không duy trì kết nối với một máy chủ C & C như IRC dựa trên botnet làm. Thay vào đó, mỗi bot Web download định kỳ các hướng dẫn sử dụng các yêu cầu web. Botnet trên web là lén lút vì chúng ẩn mình trong traffic HTTP hợp pháp. Bots được cấu hình và kiểm soát thông qua các tập lệnh PHP phức tạp và họ sử dụng giao tiếp được mã hóa qua giao thức HTTP (port 80) hoặc HTTPS (port 443). Ba trong số các công cụ botnet dựa trên Web nổi tiếng và sử dụng rộng rãi là: BlackEnergy, Low-Orbit Ion Cannon (Loic) ,và Al.di.
Một số các botnet cũng có thể cung cấp cho khách hàng của họ với một số dịch vụ nguy hiểm bổ sung. Ví dụ, McAfee báo cáo rằng trong một vụ tấn công DDoS gần đây chống lại các trang web chính phủ Hàn Quốc, các botnet đã được sử dụng để khởi động các cuộc tấn công đã sử dụng kỹ thuật khả năng phục hồi để trốn tránh bắt giữ của nó. Mã này cũng có khả năng phá hoại trọng tải của nó để tiêu diệt các máy đã bị chiếm, bất cứ khi nào cần thiết, bằng cách ghi đè và xóa tất cả các dữ liệu trên ổ đĩa cứng.
Tính chất phân phối của các cuộc tấn công DDoS làm cho chúng ta rất khó khăn trong các cuộc tấn công lẫn nhau hoặc tìm lại thông tin. Những kẻ tấn công thường sử dụng địa chỉ giả mạo để che giấu thân phận thực sự của họ, chính vì điều đó đã làm cho việc lấy lại thông tin sau cuộc tấn công khó khăn hơn. Hơn nữa, có những lổ hổng bảo mật trong nhiều máy chủ mà kẻ tấn công có thể khai thác. Hơn thế nữa, sự cố của các cuộc tấn công nhằm vào các lớp ứng dụng đang gia tăng nhanh chóng . Một trong những bước cần thiết hướng tới việc phát triển một cơ chế phòng vệ toàn diện DDoS là phải hiểu tất cả các khía cạnh của cuộc tấn công DDoS. Phân loại của các cuộc tấn công DDoS đã được đề cập đến nhiều trong thập kỷ qua. Trong cuộc khảo sát này, chúng ta quan tâm tới việc phân loại các cuộc tấn công DDoS tràn bộ đệm trên các tầng giao thức mà tại đó là nơi các cuộc tấn công hoạt động. Chúng em xem xét sự cố về tấn công tràn bộ nhớ khác nhau của mỗi loại, một số trong đó đã được ghi nhận và ứng dụng, phần còn lại là xu hướng hiện nay của các cuộc tấn công tràn bộ nhớ. Chúng em tập trung vào kiểu tấn công flooding vì đây là một trong những hình thức tấn công phổ biến nhất hiện nay. Tấn công lổ hổng hoặc tấn công vào lỗi trong phần mềm để làm tắt dịch vụ, không phải là trọng tâm của bài báo cáo này.
Như chúng ta đề cập trước đó, các cuộc tấn công flooding được chia thành hai loại chính dựa theo tầng giao thức mà nó hoạt động và một loại dựa trên mạng botnet:
3.1. Lớp mạng, tấn công tràn ngập DDoS tầng vận chuyển
Các cuộc tấn công hầu hết sử dụng các giao thức trao đổi gói tin TCP, UDP, ICMP và DNS. Có bốn kiểu tấn công thuộc dạng này:
a) Tấn công tràn ngập
Những kẻ tấn công tập trung làm gián đoạn kết nối người dùng bằng cách cạn kiệt băng thông mạng của nạn nhân (Ví dụ : có thể sử dụng địa chỉ giả mạo/ không giả mạo, UDP flood, ICMP flood, DNS flood, VoIP flood …..). Đặc trưng nhận biết: truy cập dịch vụ dựa trên nền giao thức bị chậm hoặc dừng hẳn, không trả lời yêu cầu của người dùng.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
b) Tấn công tràn ngập khai thác giao thức
Những kẻ tấn công khai thác các tính năng cụ thể hoặc lỗi khi xây dựng một số giao thức của nạn nhân để tiêu thụ một lượng bộ nhớ của máy nạn nhân.
Đặc trưng nhận biết: Ứng dụng, dịch vụ bị ngừng đột ngột.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
c) Tấn công tràn ngập dựa trên sự phản xạ
Các kẻ tấn công thường gửi các yêu cầu giả mạo thay vì gửi trực tiếp đến người nhận, do đó, theo phản xạ thì nạn nhân sẽ gửi các câu trả lời tới địa chỉ giả mạo đó và như vậy các kẻ tấn công đã lấy cấp được thông tin của nạn nhân.
Đặc trưng nhận biết: Bị mất thông tin cá nhân, tài khoản mà không rõ nguyên do.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
d) Tấn công tràn ngập dựa trên sự khuếch đại
Các kẻ tấn công khai thác dịch vụ để tạo ra các thông báo lớn hoặc nhiều thông báo cho các nạn nhân, nhằm mục đích khuếch đại đường truyền tương tác với các nạn nhân. BotNets được dùng cho cả mục đích phản xạ lại thông tin và khuếch đại đường truyền. Phản xạ và khuếch đại kỹ thuật thường được sử dụng song song như trong trường hợp của dạng tấn công Smurf, kẻ tấn công gửi các yêu cầu với địa chỉ IP nguồn là giả mạo đến một số lượng lớn các nạn nhân bằng cách khai thác tính năng IP phát sóng của các gói dữ liệu.
Đặc trưng nhận biết: Xuất hiện nhiều gói tin giả mạo yêu cầu gửi thông báo đến người dùng.
Phát hiện (tự động): Sử dụng các phần mềm bắt gói tin như Wireshark để phát hiện tấn công hoặc các phần mềm, ứng dụng tương tự.
3.2. Tấn công tràn ngập DDoS tầng ứng dụng
Những cuộc tấn công tập trung làm gián đoạn dịch vụ của người dùng bằng cách sử dụng hết các nguồn tài nguyên của máy chủ (Ví dụ: CPU, bộ nhớ, băng thông,…). Trong tấn công DDoS, các cuộc tấn công này thường tiêu thụ ít băng thông và âm thầm so với các cuộc tấn công khác, hoạt động rất giống với các cuộc trao đổi thông thường.
Tuy nhiên, khi đã nhắm vào các mục tiêu thì các cuộc tấn công DDoS flooding thường có tác động giống với các dịch vụ đang hoạt động như là HTTP, DNS, SIP,.. Dưới đây chúng em mô tả ngắn gọn về tấn công làm đầy bộ nhớ của DNS và SIP, là hai giao thức quang trọng và thường bị tấn công nhất.
Phản xạ, khuếch đại dựa trên các cuộc tấn công tràn ngập
Những cuộc tấn công sử dụng các kỹ thuật tương tự như các cuộc tấn công về mạng hoặc vận chuyển các gói tin (Ví dụ: gửi các yêu cầu với số lượng lớn tới các nơi nhận và trả lời của các giao thức với địa chỉ nguồn giả mạo). Ví dụ, các cuộc tấn công vào giao thức DNS sử dụng cả hai kỹ thuật phản chiếu và khuếch đại. Những kẻ tấn công tạo ra các câu truy vấn nhỏ với địa chỉ IP giả mạo tới DNS có thể tạo ra một khối lưu lượng mạng đáng kể từ các thông điệp trả lời của DNS, các thông điệp trả lời có thể lớn hơn nhiều so với các câu truy vấn được gửi tới DNS. Sau đó khối lượng lớn lưu lượng mạng sẽ được hướng tới hệ thống nhằm mục tiêu làm tê liệt.
a) Tấn công tràn ngập HTTP Có 4 kiểu tấn công thuộc dạng này:
Tấn công tràn ngập mức phiên kết nối (Session):
Trong kiểu tấn công này, yêu cầu mức phiên kết nối từ những kẻ tấn công là cao hơn so với yêu cầu của người sử dụng. Do đó, điều này làm cạn kiệt các nguồn tài nguyên và dẫn đến tấn công tràn bộ nhớ trên các máy chủ. Một trong những cuộc tấn công nổi tiếng thuộc loại này là tấn công làm đầy nơi nhận và trả lời của HTTP, khi đó kẻ tấn công tạo ra số lượng lớn các yêu cầu đến các cổng trả lời của HTTP và làm sập trang chủ web của nạn nhân. Các kẻ tấn công thường sử dụng botnets để thực hiện các cuộc tấn công, vì chương trình đó có thể tạo ra một số lượng lớn các yêu cầu hợp lệ. Các cuộc tấn công vào HTTP thường là các cuộc tấn công không giả mạo.
Tấn công tràn ngập gửi yêu cầu (Request):
Trong kiểu tấn công này, kẻ tấn công gửi phiên có chứa số lượng nhiều hơn các yêu cầu bình thường và dẫn đến một cuộc tấn công DDoS tràn bộ đệm trên máy chủ. Một trong những cuộc tấn công nổi tiếng của loại này là các tấn công gửi các phiên đơn tới HTTP. Cuộc tấn công này là biến thể của của các cuộc tấn công HTTP mà sử dụng các tính năng của HTTP 1.1 cho phép nhiều yêu cầu trong một phiên HTTP. Do đó, kẻ tấn công có thể giới hạn tỷ lệ phiên của một cơ chế phòng vệ HTTP và vượt qua giới hạn phòng vệ của nhiều hệ thống an ninh.
Tấn công bất đối xứng (Asymmetric)
Trong kiểu tấn công này, kẻ tấn công gửi các phiên có chứa các yêu cầu làm việc với số lượng lớn. Ở đây, chúng em liệt kê một số các cuộc tấn công nổi tiếng trong thể loại này.
Tràn ngập nhiều HTTP nhận/gửi (nhiều đơn yêu cầu động) Cuộc tấn công này cũng là một biến thể của các cuộc tấn công HTTP. Ở đây, một kẻ tấn công tạo ra nhiều yêu cầu HTTP bằng cách hình thành một gói duy nhất được nhúng nhiều lần, với các điều kiện và chỉ cho phép gói tin đó hoạt động trên một phiên của HTTP. Cách tấn công này vẫn có thể duy trì tải cao trên máy chủ của nạn nhân với một tốc độ gói tấn công thấp đến mức làm cho những kẻ tấn công gần như vô hình.
Lỗi ứng dụng
Trong cuộc tấn công này, kẻ tấn công tận dụng nhược điểm của các trang web có thiết kế kém hoặc nhập không đúng với cơ sở dữ liệu. Ví dụ, họ có thể sử dụng kết nối SQL để tạo ra các yêu cầu khóa truy vấn tới cơ sở dữ liệu.
Tấn công kiểu chậm gửi yêu cầu và phản hồi (request/response)
Trong kiểu tấn công này, kẻ tấn công gửi các phiên có chứa các yêu cầu cao. Có một số vụ tấn công nổi tiếng trong thể loại này mà chúng em mô tả trong phần sau.
Tấn công SlowLoris
SlowLoris là một cuộc tấn công HTTP có thể làm tắt một máy chủ web bằng cách sử dụng tối đa lưu lượng của nhiều máy hoặc có thể là một máy. Kẻ tấn công gửi các yêu cầu tới phiên HTTP một cách liên tục và triển khai nhanh chóng, cập nhật chậm rãi, và không thể tắt. Các cuộc tấn công vẫn tiếp tục cho đến khi tất cả các cổng có sẵn bị chiếm bởi những yêu cầu này và máy chủ Web trở nên đống băng. Địa chỉ nguồn tấn công thường không được giả mạo.
Tấn công phân mảnh HTTP
Tương tự như Slowloris, mục tiêu của cuộc tấn công này là để làm sập một máy chủ Web bằng cách đưa ra các kết nối HTTP trong một thời gian dài mà không gây bất kỳ báo động nào. Những kẻ tấn công thiết lập một kết nối HTTP có hiệu lực với một máy chủ web. Sau đó, họ phân mảnh gói tin HTTP vào các mảng nhỏ và gửi từng đoạn mảnh này một cách chậm rãi nhưng trong thời gian máy chủ cho phép. Sử dụng phương pháp này, bằng cách mở nhiều phiên trên mỗi bot, kẻ tấn công âm thầm có thể mang xuống một máy chủ Web chỉ với một số ít các chương trình.
Tấn công Slowpost
Khác với cuộc tấn công Slowloris, khi mà slowloris gửi gói tin và làm sập máy chủ web quá chậm. Các kẻ tấn công sẻ gửi một gói tin thông báo HTTP hoàn chỉnh có nội dung đầu là nội dung có chiều dài và ở phần thân của thông báo nó sẻ gửi một yêu cầu để thực hiện việc trao đổi thông tin. Sau đó nó sẽ gửi dữ liệu để điền vào nội dung thư với tỉ lệ của một byte mỗi hai phút. Do đó, máy chủ phải chờ cho gói tin phần thân được hoàn thành, trong khi đó kỹ thuật tấn công Slowpost phát triển nhanh chóng và là nguyên nhân của tấn công DDoS flooding trên các web server.
Tấn công Slowreading
Shekyan trình bày một kiểu tấn công trong thể loại này hoạt động bằng cách từ từ đọc các phản hồi thay vì chậm gửi các yêu cầu. Cuộc tấn công này đạt được mục đích của nó bằng cách thiết lập một cửa sổ nhận có kích thước nhỏ hơn so với các máy chủ mục tiêu. Các giao thức TCP duy trì mở các kết nối ngay cả khi không có dữ liệu truyền, do đó, kẻ tấn công có thể buộc các máy chủ để giữ một số lượng lớn các kết nối mở và cuối cùng gây ra các cuộc tấn công DDoS tràn bộ đệm trên các máy chủ.
3.3 Tấn công DDoS dựa trên botnet
Như đã đề cập trước đó, các botnet là cơ chế chủ đạo tạo điều kiện thuận lợi cho các cuộc tấn công DDoS Flooding trên mạng máy tính hoặc các ứng dụng. Hầu hết các cuộc tấn công DDoS flooding vào lớp ứng dụng gần đây đã sử dụng botnet. Trong phần này, chúng em trình bày một nghiên cứu toàn diện kiến trúc botnet hiện hành và các công cụ đã được sử dụng để khởi động các cuộc tấn công DDoS flooding.
Theo Peng at al. có hai nguyên do chính làm cho sự phát triển của một cơ chế DDoS phòng thủ hiệu quả đặc biệt là khi có các cuộc tấn công zombies vào các máy chủ làm tràn bộ đệm của máy chủ. Đầu tiên, một số lượng lớn các zombies tham gia vào các cuộc tấn công tạo điều kiện cho kẻ tấn công để thực hiện các cuộc tấn công lớn hơn về quy mô và đột phá hơn. Thứ hai, địa chỉ IP zombie thường giả mạo dưới sự kiểm soát của kẻ tấn công, mà làm cho nó rất khó khăn để traceback lưu lượng tấn công ngay cả đến các zombies.
Thông thường, một nhóm các zombies mà được điều khiển bởi một kẻ tấn công tạo thành một botnet. Botnet bao gồm masters, handlers, and bots như mô tả trong hình. The Handlers có nghĩa là một phương tiện giao tiếp của những kẻ tấn công sử dụng để giao tiếp gián tiếp với các chương trình của họ. Ví dụ, handlers có thể là một ứng dụng được cài đặt trên một máy đã bị nhiễm mà kẻ tấn công tận dụng nó để gửi cấc gói tin liên lạc với nhau. Tuy nhiên, hầu hết các chương trình cài đặt lại dấu ấn độc đáo đằng sau đó và phát hiện được với các phần mềm diệt virus hiện hành. Do đó, hiện nay những kẻ tấn công sử dụng các phương pháp khác Internet Relay Chat để giao tiếp với chương trình của mình để gửi các lệnh và kiểm soát chúng.
Hình: Mô hình botnet
Bots là những thiết bị đã bị xâm nhập bởi các bộ xử lý. Bots là những hệ thống mà sau này sẽ thực hiện các cuộc tấn công vào hệ thống của nạn nhân. Hình trên cho thấy tất cả các yếu tố của một botnet. Botnet có thể có hàng trăm triển khai khác nhau. Dựa vào cách chương trình được kiểm soát bởi master các botnet được phân thành ba loại chính: IRC-based, Web-based, and P2P-based. Kể từ khi hai loại đầu tiên đã được sử dụng rộng rãi để khởi động các cuộc tấn công DDoS flooding, chúng em giải thích ngắn gọn cho họ và giới thiệu một số công cụ đã được sử dụng trong mỗi loại.
IRC-based
IRC là một giao thức tin nhắn tức thời trên mạng dạng văn bản trên mạng Internet. Nó có mô hình client/server với kiến trúc là các kênh mặc định để giao tiếp giữa các máy chủ. IRC có thể kết nối hàng trăm khách hàng thông qua nhiều máy chủ. Sử dụng các kênh IRC giống như xử lý, những kẻ tấn công có thể sử dụng cổng IRC để gửi lệnh đến chương trình khiến nó khó khăn hơn trong việc theo dõi lệnh DDoS và kiểm soát cấu trúc. Hơn nữa, kẻ tấn công có thể dễ dàng che giấu sự hiện diện của mình vì khối lượng lớn lưu lượng truy cập các máy chủ IRC này thường có. Ngoài ra, kẻ tấn công có thể dễ dàng chia sẻ các tập tin để phân phối mã độc hại. Hơn nữa, những kẻ tấn công có thể chỉ cần đăng nhập vào các máy chủ IRC và xem danh sách của tất cả các chương trình có sẵn thay vì duy trì danh sách của họ ở nội bộ tại trang web của họ. Các hạn chế lớn của các botnet bằng lệnh tập trung và điều khiển (C & C) cơ sở hạ tầng như botnet IRC-based là máy chủ, là một nguyên nhân chính của thất bại. Đó là, toàn bộ mạng botnet có thể bị tắt nếu các defender ghi lại. Một vài công cụ botnet IRC-based nổi tiếng đã được phát triển và sử dụng trong những năm qua cho tung ra cuộc tấn công DDoS như: Trinity v3 (thực hiện UDP, TCP SYN, TCP ACK, và các cuộc tấn công ngập lục TCP NUL), và Kaiten các máy chủ C & C.
Web-based
Gần đây hơn, các botnet đã bắt đầu sử dụng HTTP là một giao thức truyền thông để gửi lệnh đến chương trình làm cho nó khó khăn hơn để theo dõi DDoS câu lệnh và kiểm soát cấu trúc. Botnet dựa trên web không duy trì kết nối với một máy chủ C & C như IRC dựa trên botnet làm. Thay vào đó, mỗi bot Web download định kỳ các hướng dẫn sử dụng các yêu cầu web. Botnet trên web là lén lút vì chúng ẩn mình trong traffic HTTP hợp pháp. Bots được cấu hình và kiểm soát thông qua các tập lệnh PHP phức tạp và họ sử dụng giao tiếp được mã hóa qua giao thức HTTP (port 80) hoặc HTTPS (port 443). Ba trong số các công cụ botnet dựa trên Web nổi tiếng và sử dụng rộng rãi là: BlackEnergy, Low-Orbit Ion Cannon (Loic) ,và Al.di.
Một số các botnet cũng có thể cung cấp cho khách hàng của họ với một số dịch vụ nguy hiểm bổ sung. Ví dụ, McAfee báo cáo rằng trong một vụ tấn công DDoS gần đây chống lại các trang web chính phủ Hàn Quốc, các botnet đã được sử dụng để khởi động các cuộc tấn công đã sử dụng kỹ thuật khả năng phục hồi để trốn tránh bắt giữ của nó. Mã này cũng có khả năng phá hoại trọng tải của nó để tiêu diệt các máy đã bị chiếm, bất cứ khi nào cần thiết, bằng cách ghi đè và xóa tất cả các dữ liệu trên ổ đĩa cứng.