2.1.4.1. Tấn công SYN.
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ủa má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 TCP 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ực hiện.
Hình 8 Mô hình tấn công bằng cácgói SYN
Để thiết lập một kết nối, giao thức TCP sử dụng một quy trình bắt tay 3 bước (3-way handshake).
31
Hình 9 Quá trình bắt tay 3 bước
Bước 1: Client (máy khách) sẽ gửi các gói tin (packet chứa SYN=1) đến máy chủđể yêu cầu kết nối.
Bước 2: Khi nhận được gói tin này, server sẽ gửi lại gói tin SYN/ACK để thông báo cho client biết là nó đã nhận được yêu cầu kết nối và chuẩn bị tài nguyên cho việc yêu cầu này. Server sẽ giành một phần tài nguyên hệ thống như bộ nhớ đệm (cache) để nhận và truyền dữ liệu.
Bước 3: Cuối cùng, client hoàn tất việc bắt tay ba lần bằng cách hồi âm lại gói tin chứa ACK cho server và tiến hành kết nối.
Hình 10 Mô hình gửi gói SYN tới địa chỉ IP giả
Do TCP là thủ tục tin cậy trong việc giao nhận (end-to-end) nên trong lần bắt tay thứ hai, server gửi các gói tin SYN/ACK trả lời lại client mà không nhận lại được hồi âm của client để thực hiện kết nối thì nó vẫn bảo lưu nguồn tài nguyên
32
chuẩn bị kết nối đó và lặp lại việc gửi gói tin SYN/ACK cho client đến khi nào nhận được hồi đáp của máy client.
Nếu quá trình đó kéo dài, server sẽ nhanh chóng trở nên quá tải, dẫn đến tình trạng crash (treo) nên các yêu cầu hợp lệ sẽ bị từ chối không thểđáp ứng được.
2.1.4.2. Tấn công Land Attack.
Tấn công từ chối dịch vụ Land Attack cũng gần giống như tấn công SYN Attack, nhưng thay vì sử dụng các địa chỉ IP không có thực, hacker sẽ dùng chính địa chỉ IP của hệ thống cần tấn công làm địa chỉ nguồn.
2.1.4.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ều hà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 giản là sẽ bịgián đoạn giao tiếp.
2.1.4.4. 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ều lệ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ỉ IP nguồ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ính nà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
33
2.1.4.5. Tấn công kiểu Tear Drop.
Trong mạng chuyển mạch gói, dữ liệu được chia nhỏ làm nhiều gói tin, mỗi gói tin có một giá trị gọi là offset riêng và có thể truyền đi theo đường để tới đích. Tại đích nhờ vào các giá trị offset của từng gói tin mà dữ liệu lại được kết hợp 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ặp để gửi đến mục tiêu. Khi đó đích sẽ không thể lọc được hết gói tin trùng lặp và sẽ bị treo do hết năng lực của hệ thống.
2.2. TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN (DDoS) 2.2.1. Khái niệm 2.2.1. Khái niệm
Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial of Service) là một dạng của tấn công từ chối dịch vụ(DoS) nhưng kẻ tấn công sử dụng nhiều máy cùng một lúc để thực hiện các cuộc tấn công, nhằm nâng cao hiệu quả, cũng như khảnăng phá hủy.
Hình 12 Mô hình tấn công từ chối dịch vụ phân tán (DdoS)
Trong hình 2.3.1 ta thấy hình thức tấn công được thể hiện như sau: kẻ tấn công tìm cách chiếm dụng và điều khiển nhiều máy tính hoặc mạng máy tính trung gian từ nhiều nơi đểđồng loạt gửi ồạt các gói tin với sốlượng rất lớn cùng một lúc.
34
- Làm cạn kiệt băng thông.
- Làm cạn kiệt tài nguyên hệ thống.
- Một cuộc tấn công từ chối dịch vụ có thể bao gồm cả việc thực thi malware nhằm: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.
- 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.
2.2.2. Đặc tính 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ác máy tính bị chiếm quyền sử dụng trong mạng Bot được sử dụng để tấn công thường được gọi là "secondary victims".
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.
2.2.3. Công cụ DdoS dạng Agent – Handler:
Kẻ tấn công sử dụng các handler đểđiều khiển tấn công.
35
Theo mô hình này, attack-network gồm 3 thành phần: Agent, Client và Handler.
Client: là phần mềm cơ sở để hacker điều khiển mọi hoạt động của attack- network.
Agent : là thành phần mềm thực hiện sự tấn công mục tiêu, nhận điều khiển từ Client thông qua các Handler.
Handler: là một thành phần software trung gian giữa Agent và Client.
Attacker sẽ từ Client giao tiếp với các Handler để xác định số lượng Agent đang online, đ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 attacker cấu hình attack-network, các Agent sẽ chịu sự quản lý của một hay nhiều Handler.
2.2.4. Công cụ tấn công DdoS dạng IRC – Based:
Internet Relay Chat(IRC) là một hệ thống online chat multiuser, IRC cho phép User tạo một kết nối multIPoint đến nhiều user khác và chat thời gian thực.
Hình 14 Kiến trúc DdoS atttrack-network kiểu IRC-Base
IRC – Based Network cũng tương tựnhư Agent – Handler network. Mô hình trên 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. Kiến trúc của IRC network bao gồm nhiều IRC server trên khắp Internet, giao tiếp với nhau trên nhiều kênh. IRC network cho phép người sử dụng tạo ba loại channel: public, private và serect.
Public channel: Cho phép người sử dụng của kênh đó thấy IRC name và nhận được tin nhắn của mọi người sử dụng cùng kênh
36
Private channel: được thiết kếđể giao tiếp với các đối tượng được cho phép. Không cho phép người sử dụng cùng kênh thấy IRC tên và tin nhắn trên kênh. Tuy nhiên, nếu người sử dụng ngoài kênh dùng một số lệnh channel locator thì có thể biết được sự tồn tại của private channel đó.
Secrect channel: tương tự private channel nhưng không thể xác định bằng channel locator.
2.2.5. DNS Amplification Attacks
Tấn công DNS Amplification Attacks là một dạng của tấn công DDoS, trong đó kẻ tấn công sử dụng các máy chủ DNS trả lời query DNS từ bất kỳ Ip nào để làm tràn băng thông của đối tượng cần tấn công.
Để thực hiện một cuộc tấn công DNS Amplification Attacks kẻ tấn công sử các máy chủ DNS mở để làm tràn băng thông của mục tiêu tấn công. Để làm được việc này kẻ tấn công sẽ gửi các truy vấn DNS đến các máy chủ DNS mở với địa chỉ ip nguồn của gói tin là địa chỉ ip của mục tiêu cần tấn công. Khi các máy chủ DNS mở gửi thông tin DNS trả lời, toàn bộ sẽ được gửi đến mục tiêu cần tấn công. Để tăng hiệu quả của cuộc tấn công kẻ tấn công thường gửi truy vấn mà kết quả trả về càng nhiều thông tin càng tốt.
Các cuộc tấn công DNS Amplification Attacks được ghi nhận thì DNS request giảđịa chỉ ip gửi bởi kẻ tấn công thường là kiểu “ANY” ( thông tin trả về sẽ là tất cả thông tin về domain trong truy vấn). Trường hợp này kích thước của gói tin trả về thường lớn hơn rất nhiều so với kích thước của DNS request. Do đó với băng thông vừa phải kẻ tấn công có thể tạo ra một băng thông rất lớn đánh vào mục tiêu. Thêm vào đó gói tin trả vềđến từcác địa chỉ hợp lệdo đó việc ngăn chặn cuộc tấn công kiểu này rất khó khăn.
37
Hình 15 Mô tả DNS Aplification Attacks
http://securityaffairs.co/wordpress/3184/cyber-crime/anonymous-dns-amplification-attacks-for- operation-global-blackout.html
Hình 18 Boot net gửi địa chỉ giả mạo để cần mở tới các yêu cầu. Máy khách gửi yêu cầu đến máy chủ DNS, DNS server giữ nguyên yêu cầu rồi chuyển tới name sever Root để nhận được phản hồi. Mỗi yêu cầu được gửi tới DNS máy chủ bao gồm địa chỉ nguồn mà cần có câu trả lời nên được gửi tới, tuy nhiên địa chỉ IP này có thể giả mạo, do đó yêu cầu có thểđược gởi đi từ một địa chỉ IP nhưng DNS sever sẽnghĩ nó được gởi đi từđịa chỉ khác nên trả lời lại. Quá trình được lặp đi lặp lại. Và các hệ thống máy khách không biết được là mình đang bị tấn công thông qua máy chủ DNS. Về cơ bản người dùng có thể nhận biết được máy tính cá nhân của mình đang bị tấn công qua hệ thống DNS máy chủ .
Giải pháp phòng tránh cho hình thức này là người sử dụng cần thiết lập địa chỉ DNS server trỏ về các DNS server tin cậy, thường xuyên kiểm tra các thông số cấu hình DNS, cài đặt các phần mềm antivirus để bảo vệ máy tính và truy cập tốt hơn. (https://www.us-cert.gov/ncas/alerts/TA13-088A)
38
2.2.6. Lợi dụng lỗ hổng giao thức HTTP POST Ddos
Http post ddos được phát hiện vào khoảng tháng 9/2009 bởi Wong Onn Chee
.
Hình 16 Mô hình OSI
HTTP POST DDoS dựa trên một lỗ hổng của phần mềm của phương thức POST trong HTTP nhằm kéo dài thời gian kết nối để làm cạn kiệt tài nguyên máy chủ. Khi dữ liệu quá nhiều được gửi đến máy đích đồng thời thì lúc đó máy chủ trở nên quá tải.
Mục đích của http post ddos là lợi dụng lỗ hổng của giao thức TCP/IP để tấn công vào hệ thống.
Một kẻ tấn công sẽ gửi một sốlượng lớn các yêu cầu kết nối tới máy chủ nhờ HTTP POST.
Một trong những kết nối này có nội dung dài (VD: Content-Length =1KB) khi đó các máy chủ sẽ chờ nội dung là 1KB từ một trong những kết nối. Gửi một thời gian kết nối dài (VD: 1 byte cho mỗi 110 giây). Server sẽ kết nối mở trong một thời gian rất dài. Cứ nhân kết nối như vậy với 20000 và máy chủ ta sẽđược một tấn công Ddos. Hầu hết các máy chủ web chỉ có thể chấp nhận giá trị nội dung của một yêu cầu HTTP POST lên tới 2GB.
HTTP POST hoạt động và tấn công vào lớp thứ 7 lớp ứng dụng (Layer 7 - Application). VD: HTTP / HTTPs, FTP, SMTP…
39
Vì đây là phương thức mới, vì thế để nó mở rộng hơn, mức độ tấn công cao hơn trước rất nhiều, ngoài ra để phát hiện và hạn chế cũng phức tạp hơn so với trước đó.
2.3. TẤN CÔNG TỪ CHỐI DỊCH VỤ PHẢN XẠ (DRDoS).
DRDoS là sự phối hợp giữa hai kiểu DoS và DDoS. Nó có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa nhiều máy tính để chiếm dụng băng thông như kiểu DdoS
Hình 17 Tấn công từ chối dịch vụ phản xạ
Kẻ tấn công thực hiện bằng cách giả mạo địa chỉ của máy chủ mục tiêu rồi gửi yêu cầu SYN đến các máy chủ lớn để các máy chủ này gửi các gói tin SYN/ACK đến máy chủ mục tiêu. Quá trình cứ lặp lại liên tục với nhiều máy chủ lớn tham gia nên máy chủ mục tiêu nhanh chóng bị quá tải, băng thông bị chiếm dụng bởi máy chủ lớn, dẫn đến máy chủ mục tiêu không thể hoạt động bình thường.
2.4. PHÒNG CHỐNG TẤN CÔNG DDOS VỚI CỔNG THÔNG TIN 2.4.1. Nguyên tắc phòng chống tấn công 2.4.1. Nguyên tắc phòng chống tấn công
Nguyên tắc chống tấn công DoS là cần phải lọc và gạt bỏ được các luồng tin tấn công, và tốt hơn nữa là ngặn chặn được các nguồn tấn công. Để chống DDoS phải vô hiệu hóa được hoạt động của các mạng botnet. Để làm được điều này một
40
cách hiệu quảthường đòi hỏi các biện pháp điều phối ứng cứu sự cốở quy mô quốc gia hay thậm chí phối hợp nhiều nước.
Đối với các cơ quan nhà nước đang quản trị và sử dụng cổng thông tin điện tử khi phát hiện tấn công DoS/DdoS cần áp dụng các biện pháp và công cụ kỹ thuật tại chỗ cần được thực hiện để nâng cao năng lực bảo vệ các cổng thông tin điện tử.. Bên cạnh đó các đơn vị quản lý cổng thông tin điện tử cần báo cho Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) càng sớm càng tốt để nhận được sự hỗ trợ.
2.4.2. Một số biện pháp kỹ thuật phòng chống tấn công từ chối dịch vụ:
- Tăng cường khảnăng xử lý của hệ thống:
• Tối ưu hóa các thuật toán xử lý, mã nguồn của máy chủ web,
• Nâng cấp hệ thống máy chủ,
• Nâng cấp đường truyền và các thiết bị liên quan,
• Cài đặt đầy đủ các bản vá cho hệ điều hành và các phần mềm khác để phòng ngừa khảnăng bị lỗi tràn bộđệm, cướp quyền điều khiển, v.v... - Hạn chế số lượng kết nối tại thiết bị tường lửa tới mức an toàn hệ thống cho
phép.
- Sử dụng các tường lửa cho phép lọc nội dung thông tin (tầng ứng dụng) để ngăn chặn các kết nối nhằm tấn công hệ thống.
- Phân tích luồng tin để phát hiện các dấu hiệu tấn công và cài đặt các tường lửa cho phép lọc nội dung thông tin (tầng ứng dụng) ngăn chặn theo các dấu hiệu đã phát hiện.
2.4.3. Một số công cụ kỹ thuật phòng chống tấn công từ chối dịch vụ:
Tùy khả năng đầu tư, các cổng thông tin điện tử có thể trang bị giải pháp hoặc sử dụng dịch vụ chống DoS/DDoS với các công cụ kỹ thuật sau:
- Sử dụng hệ thống thiết bị, phần mềm hoặc dịch vụ giám sát an toàn mạng (đặc biệt vềlưu lượng) để phát hiện sớm các tấn công từ chối dịch vụ.
41
- Sử dụng thiết bị bảo vệ mạng có dịch vụ chống tấn công DDoS chuyên nghiệp kèm theo, ví dụnhư: Arbor, Checkpoint, Imperva, Perimeter,...
2.4.4. Giải pháp phòng chống DDOS.
Đối với tấn công DDOS vẫn chưa có giải pháp ngăn chặn triệt để kiểu tấn công DDoS, chỉ thể hạn chế phần nào thiệt hại hay giảm bớt cường độ tấn công như: Dùng tính năng lọc dữ liệu của router/firewall để loại bỏ các packet không mong muốn, giảm lượng lưu thông trên mạng và tải của máy chủ; Sử dụng các tính năng cho phép đặt rate limit trên router/firewall để hạn chế số lượng packet vào hệ thống; Thiết lập hệ thống cảnh báo phát hiện tấn công, và phòng chống tấn công; Giả lập máy chủ giả giống với máy chủ chính để hacker tấn công sang địa chỉ giả đó.
Hiện nay trên thế giới có rất nhiều cách phòng chống DDoS nói chung và phòng chống DDoS cho máy chủ Web nói riêng như sử dụng Firewall, triển khai IPS (Intrusion Prevention System- Hệ thống chống xâm nhập), load balancing (cân bằng tải), WAF (Tường lửa ứng dụng web). Trong luận văn này tác giả xin chọn giải pháp IDS/IPS cho việc phòng chống tấn công DdoS. Bởi hệ thống này kết hợp được những ưu điểm của hệ thống Firewall, nó có khả nǎng phát hiện các cuộc tấn