Mình sẽ giải thích cho các bạn về cách tấn công website cũng như hệ thống mạng ghê gớm nhất ở hiện tại...đó chính là DDOS
Vâng, nội dung của bài viết An ninh mạng cơ bản hôm nay với chủ đề "DDOS :Tấn công và phòng thủ"bao gồm những nội dung cơ bản dưới đây
1. KHÁI NIỆM DoS (Denial of Service)
1.1. Tấn công từ chối dịch vụ
- Tấn công từ chối dịch vụ là kiểu tấn công vào máy tính hoặc một mạng để ngăn chặn sự truy cập hợp pháp.
- Trên kiểu tấn công DoS, attackers làm tràn ngập hệ thống của victim với luồng yêu cầu dịch vụ không hợp pháp làm quá tải nguồn (Server), ngăn chặn server thực hiện nhiệm vụ hợp lệ.
- Là một kiểu tấn công mà một người làm cho 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. Thường là với mục đích làm chậm quá trình truy cập vào dịch vụ của máy tính, làm chậm/ngắt kết nối giữa 2 máy tính hoặc 1 máy tính kết nối vào mạng. Nói tóm lại DoS là dùng 1 (hay 1 vài) máy tính để tấn công.
1.2. Tấn công từ chối dịch vụ phân tán DDos (Distribute Denial of Service)
- Tấn công từ chối dịch vụ phân tán hay DDoS (Distribute Denial of Service) bao gồm các thỏa hiệp của hệ thống để tấn công mục tiêu duy nhất, là nguyên nhân người sử dụng bị từ chối dịch vụ của hệ thống.
- Để khởi động một cuộc tấn công DDoS, một kẻ tấn công sử dụng botnet và tấn công một hệ thống duy nhất.
- Là DoS nhưng dùng cả 1 hay nhiều mạng máy tính cùng tấn công. Để kêu gọi được nhiều máy tính khác tấn công cùng lúc thì thường dùng botnet. Hãy tưởng tượng bạn đang chat yahoo và có 1 triệu người chat liên tục cho bạn => treo máy. Server cũng vậy. Khi có số lượng lớn máy tính cùng spam hay tải 1 file thì gây ra quá tải (overload) và gây treo hoặc ít nhất cũng gây lỗi => từ lỗi đó thừa cơ xâm nhập hoặc khai thác 1 lỗ hổng khác.
1.3. Dấu hiệu khi bị tấn công DoS
Thông thường thì hiệu suất mạng sẽ rất chậm.
Không thể sử dụng website.
Không truy cập được bất kỳ website nào.
Tăng lượng thư rác nhanh chóng.
1.4. 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ì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ào dị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ập và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ị:
+ Tắt mạng .
+ Tổ chức không hoạt động.
+ Tài chính bị mất.
2. KỸ THUẬT TẤN CÔNG DOS
2.1. Tấn công băng thông
Tấn công băng thông nhằm làm tràn ngập mạng mục tiêu vớ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ác traffic 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ệ thố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àm suy giảm băng thông của mục tiêu.
2.2. Tấn công tràn ngập yêu cầu dịch vụ
Một kẻ tấn công hoặc nhóm zombie cố gắng làm cạn kiệt tài nguyên máy chủ bằng cách thiết lập và phá hủy các kết nối TCP. Nó bắt đầu gửi yêu cầu trên tất cả kết nối và nguồn gốc từ server kết nối tốc độ cao.
2.3. Tấn công tràn ngập SYN
Transfer Control Protocol hỗ trợ truyền nhận với độ tin cậy cao 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. Bước đầu tiên, bên gửi gởi một SYN REQUEST packet (Synchronize). Bên nhận nếu nhận được SYN REQUEST sẽ trả lời bằng SYN/ACK REPLY packet. Bước cuối cùng, bên gửi sẽ truyền packet cuối cùng ACK và bắt đầu truyền dữ liệu.
Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLY nhưng khô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.
Nắ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ác và sẽ không bao giờ nhận được ACK packet cuối cùng, cho đến hết thời gian timeout nạn nhâ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ếu lượ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 có thể bị hết tài nguyên.
2.4. Tấn công tràn ngập ICMP
2.3. Tấn công tràn ngập SYN
Transfer Control Protocol hỗ trợ truyền nhận với độ tin cậy cao 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. Bước đầu tiên, bên gửi gởi một SYN REQUEST packet (Synchronize). Bên nhận nếu nhận được SYN REQUEST sẽ trả lời bằng SYN/ACK REPLY packet. Bước cuối cùng, bên gửi sẽ truyền packet cuối cùng ACK và bắt đầu truyền dữ liệu.
Nếu bên server đã trả lời một yêu cầu SYN bằng một SYN/ACK REPLY nhưng khô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.
Nắ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ác và sẽ không bao giờ nhận được ACK packet cuối cùng, cho đến hết thời gian timeout nạn nhâ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ếu lượ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 có thể bị hết tài nguyên.
2.4. Tấn công tràn ngập ICMP
Kiểu tấn công ICMP là thủ phạm gửi số lượng lớn của gói tin giả mạo địa chỉ nguồn tới server đích để phá hủy nó và gây ra ngừng đáp ứng yêu cầu TCP/IP.
Sau khi đến ngưỡng ICMP đạt đến, các router từ chối yêu cầu phản hồi ICMP từ tất cả địa chỉ trên cùng vùng an toàn cho phần còn lại.
2.5. Tấn công điểm nối điểm
Dùng điểm nối điểm để tấn công, kẻ tấn công chỉ đạo clients của mô hình điểm nối điểm chia sẽ file trung tâm gây ngắt kết nối từ mạng của họ và kết nối tới website giả mạo của victim.
Kẻ tấn công khai thác lỗ hổng tìm thấy trên mạng dùng giao thức DC++(kết nối trực tiếp), cho phép hoán đổi file giữa các tin nhắn clients ngay lập tức.
Dùng phương pháp này, kẻ tấn công chạy tấn công DoS rất lớn và làm hại website.
2.6. Tấn công cố định DoS
Tấn công cố định DoS hay PDoS còn được gọi như phlashing, là một cuộc tấn công gây tổn thương một hệ thống nhiều đến nổi nó đòi hỏi phải thay thế hoặc cài đặt lại phần cứng, Không giống như các cuộc tấn công DDoS, PDoS một cuộc tấn công khai thác lỗ hổng bảo mật cho phép quản trị từ xa trên các giao diện quản lý phần cứng của nạn nhân, chẳng hạn như router, máy in, hoặc phần cứng mạng khác.
Tấn công thực hiện dùng phương pháp như "xây dựng hệ thống”. Dùng phương pháp này, kẻ tấn công gửi cập nhập phần cứng lừa đảo tới victim.
2.7. Tấn công tràn ngập ở cấp độ dịch vụ
Tấn công làm tràn ở cấp độ ứng dụng là kết quả mất dịch vụ của mạng đặc biệt như là: email, tài nguyên mạng, tạm thời ngừng ứng dụng và dịch vụ,... Dùng kiểu tấn công này, kẻ tấn công phá hủy mã nguồn chương trình và file làm ảnh hưởng tới hệ thống máy tính.
Tấn công làm tràn ngập ở cấp độ ứng dụng, kẻ tấn công cố gắng:
Sau khi đến ngưỡng ICMP đạt đến, các router từ chối yêu cầu phản hồi ICMP từ tất cả địa chỉ trên cùng vùng an toàn cho phần còn lại.
2.5. Tấn công điểm nối điểm
Dùng điểm nối điểm để tấn công, kẻ tấn công chỉ đạo clients của mô hình điểm nối điểm chia sẽ file trung tâm gây ngắt kết nối từ mạng của họ và kết nối tới website giả mạo của victim.
Kẻ tấn công khai thác lỗ hổng tìm thấy trên mạng dùng giao thức DC++(kết nối trực tiếp), cho phép hoán đổi file giữa các tin nhắn clients ngay lập tức.
Dùng phương pháp này, kẻ tấn công chạy tấn công DoS rất lớn và làm hại website.
2.6. Tấn công cố định DoS
Tấn công cố định DoS hay PDoS còn được gọi như phlashing, là một cuộc tấn công gây tổn thương một hệ thống nhiều đến nổi nó đòi hỏi phải thay thế hoặc cài đặt lại phần cứng, Không giống như các cuộc tấn công DDoS, PDoS một cuộc tấn công khai thác lỗ hổng bảo mật cho phép quản trị từ xa trên các giao diện quản lý phần cứng của nạn nhân, chẳng hạn như router, máy in, hoặc phần cứng mạng khác.
Tấn công thực hiện dùng phương pháp như "xây dựng hệ thống”. Dùng phương pháp này, kẻ tấn công gửi cập nhập phần cứng lừa đảo tới victim.
2.7. Tấn công tràn ngập ở cấp độ dịch vụ
Tấn công làm tràn ở cấp độ ứng dụng là kết quả mất dịch vụ của mạng đặc biệt như là: email, tài nguyên mạng, tạm thời ngừng ứng dụng và dịch vụ,... Dùng kiểu tấn công này, kẻ tấn công phá hủy mã nguồn chương trình và file làm ảnh hưởng tới hệ thống máy tính.
Tấn công làm tràn ngập ở cấp độ ứng dụng, kẻ tấn công cố gắng:
- Tràn ngập ứng dụng web tới lưu lượng người sử dụng hợp lệ.
- Ngắt dịch vụ cụ thể của hệ thống hoặc con người.
- Làm tắt nghẽn cơ sở dữ liệu của ứng dụng kết nối bằng truy vấn thủ công nguy hiểm SQL.
3. MẠNG BOTNET
3.1. Khái niệm botnet
Botnet là từ chỉ một tập hợp các rô bôt phần mềm hoặc các con bot hoạt động một cách tự chủ. Từ này còn được dùng để chỉ một mạng các máy tính sử dụng phần mềm tính toán phân tán.
3.2. Hoạt động
Tuy từ "botnet" có thể dùng để chỉ một nhóm bot bất kỳ, chẳng hạn IRC bot, từ này thường được dùng để chỉ một tập hợp các máy tính đã bị tấn công và thỏa hiệp và đang chạy các chương trình độc hại, thường là sâu máy tính, trojan horse hay backdoor, dưới cùng một hạ tầng cơ sở lệnh và điều khiển. Một chương trình chỉ huy botnet có thể điều khiển cả nhóm bot từ xa, thường là qua một phương tiện chẳng hạn như IRC, và thường là nhằm các mục đích bất chính. Mỗi con bot thường chạy ẩn và tuân theo chuẩn RFC 1459 (IRC). Thông thường, kẻ tạo botnet trước đó đã thỏa hiệp một loạt hệ thống bằng nhiều công cụ đa dạng (tràn bộ nhớ đệm, ...). Các bot mới hơn có thể tự động quét môi trường của chúng và tự lan truyền bản thân bằng cách sử dụng các lỗ hổng an ninh và mật khẩu yếu. Nếu một con bot có thể quét và tự lan truyền qua càng nhiều lỗ hổng an ninh, thì nó càng trở nên giá trị đối với một cộng đồng điều khiển botnet.
Các botnet đã trở nên một phần quan trọng của Internet, tuy chúng ngày càng ẩn kĩ. Do đa số các mạng IRC truyền thống thực hiện các biện pháp cấm truy nhập đối với các botnet đã từng ngụ tại đó, những người điều khiển botnet phải tự tìm các server cho mình. Một botnet thường bao gồm nhiều kết nối, chẳng hạn quay số, ADSL và cáp, và nhiều loại mạng máy tính, chẳng hạn mạng giáo dục, công ty, chính phủ và thậm chí quân sự. Đôi khi, một người điều khiển giấu một cài đặt IRC server trên một site công ty hoặc giáo dục, nơi các đường kết nối tốc độ cao có thể hỗ trợ một số lớn các bot khác. Chỉ đến gần đây, phương pháp sử dụng bot để chỉ huy các bot khác mới phát triển mạnh, do đa số hacker không chuyên không đủ kiến thức để sử dụng phương pháp này.
3.3. Xây dựng và khai thác
Ví dụ này minh họa cách thức một botnet được tạo và dùng để gửi thư rác (spam).
- Một điều phối viên botnet phát tán virus hoặc sâu máy tính, làm nhiễm các máy tính cá nhân chạy Windows của những người dùng bình thường, dữ liệu của virus hay sâu đó là một ứng dụng trojan -- con bot.
- Tại máy tính bị nhiễm, con bot đăng nhập vào một server IRC nào đó (hay là một web server). Server đó được coi là command-and-control server (C&C).
- Một người phát tán spam mua quyền truy nhập botnet từ điều phối viên.
- Người phát tán spam gửi các lệnh qua IRC server tới các máy tính bị nhiễm, làm cho các máy tính này gửi các thông điệp rác tới các máy chủ thư điện tử.
Các botnet được khai thác với nhiều mục đích khác nhau, trong đó có các tấn công từ chối dịch vụ, tạo và lạm dụng việc gửi thư điện tử để phát tán thư rác (xem Spambot), click fraud, và ăn trộm các số serial của ứng dụng, tên đăng nhập, và các thông tin tài chính quan trọng chẳng hạn như số thẻ tín dụng.
Cộng đồng điều khiển botnet luôn có một cuộc đấu tranh liên tục về việc ai có được nhiều bot nhất, nhiều băng thông nhất, và số lượng lớn nhất các máy tính "chất lượng cao" bị nhiễm, chẳng hạn như máy tính tại trường đại học, các công ty, hay thậm chí cả trong các cơ quan chính phủ.
4.Cách phòng tránh
Hiện nay vẫn chưa có cách ngăn chặn hoàn toàn DDOS,tuy nhiên chúng ta có thể sử dụng tường lửa (firewall) để phòng chống & hạn chế một phần sức mạnh & tác hại của nó. Dưới đây là chi tiết hướng dẫn cách cài đặt một firewall đơn giản nhưng không kém phần hiệu quả nhằm giảm thiểu "cơn giận" của "con quái thú" DDoS.
Bước 1: Tạo file .htaccess tại thư mục bị DDoS access/request liên tục (thông thường là các thư mục public_html, forum, diendan, 4rum, shop, blog, f v.v...). Nội dung file như sau:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tendomain.com [NC]
RewriteRule !antiddos.phtml http://tendomain.com/antiddos.phtml?%{REQUEST_URI} [QSA]
Bước 2: Tại cùng thư mục, tạo file antiddos.phtml với nội dung:
$text=$HTTP_SERVER_VARS['QUERY_STRING'];
$text = preg_replace("#php\&#si",'php?',$text);
echo('
tendomain.com'.$text.'>[Click vao day]
de vao dien dan.');
?>
3.1. Khái niệm botnet
Botnet là từ chỉ một tập hợp các rô bôt phần mềm hoặc các con bot hoạt động một cách tự chủ. Từ này còn được dùng để chỉ một mạng các máy tính sử dụng phần mềm tính toán phân tán.
3.2. Hoạt động
Tuy từ "botnet" có thể dùng để chỉ một nhóm bot bất kỳ, chẳng hạn IRC bot, từ này thường được dùng để chỉ một tập hợp các máy tính đã bị tấn công và thỏa hiệp và đang chạy các chương trình độc hại, thường là sâu máy tính, trojan horse hay backdoor, dưới cùng một hạ tầng cơ sở lệnh và điều khiển. Một chương trình chỉ huy botnet có thể điều khiển cả nhóm bot từ xa, thường là qua một phương tiện chẳng hạn như IRC, và thường là nhằm các mục đích bất chính. Mỗi con bot thường chạy ẩn và tuân theo chuẩn RFC 1459 (IRC). Thông thường, kẻ tạo botnet trước đó đã thỏa hiệp một loạt hệ thống bằng nhiều công cụ đa dạng (tràn bộ nhớ đệm, ...). Các bot mới hơn có thể tự động quét môi trường của chúng và tự lan truyền bản thân bằng cách sử dụng các lỗ hổng an ninh và mật khẩu yếu. Nếu một con bot có thể quét và tự lan truyền qua càng nhiều lỗ hổng an ninh, thì nó càng trở nên giá trị đối với một cộng đồng điều khiển botnet.
Các botnet đã trở nên một phần quan trọng của Internet, tuy chúng ngày càng ẩn kĩ. Do đa số các mạng IRC truyền thống thực hiện các biện pháp cấm truy nhập đối với các botnet đã từng ngụ tại đó, những người điều khiển botnet phải tự tìm các server cho mình. Một botnet thường bao gồm nhiều kết nối, chẳng hạn quay số, ADSL và cáp, và nhiều loại mạng máy tính, chẳng hạn mạng giáo dục, công ty, chính phủ và thậm chí quân sự. Đôi khi, một người điều khiển giấu một cài đặt IRC server trên một site công ty hoặc giáo dục, nơi các đường kết nối tốc độ cao có thể hỗ trợ một số lớn các bot khác. Chỉ đến gần đây, phương pháp sử dụng bot để chỉ huy các bot khác mới phát triển mạnh, do đa số hacker không chuyên không đủ kiến thức để sử dụng phương pháp này.
3.3. Xây dựng và khai thác
Ví dụ này minh họa cách thức một botnet được tạo và dùng để gửi thư rác (spam).
- Một điều phối viên botnet phát tán virus hoặc sâu máy tính, làm nhiễm các máy tính cá nhân chạy Windows của những người dùng bình thường, dữ liệu của virus hay sâu đó là một ứng dụng trojan -- con bot.
- Tại máy tính bị nhiễm, con bot đăng nhập vào một server IRC nào đó (hay là một web server). Server đó được coi là command-and-control server (C&C).
- Một người phát tán spam mua quyền truy nhập botnet từ điều phối viên.
- Người phát tán spam gửi các lệnh qua IRC server tới các máy tính bị nhiễm, làm cho các máy tính này gửi các thông điệp rác tới các máy chủ thư điện tử.
Các botnet được khai thác với nhiều mục đích khác nhau, trong đó có các tấn công từ chối dịch vụ, tạo và lạm dụng việc gửi thư điện tử để phát tán thư rác (xem Spambot), click fraud, và ăn trộm các số serial của ứng dụng, tên đăng nhập, và các thông tin tài chính quan trọng chẳng hạn như số thẻ tín dụng.
Cộng đồng điều khiển botnet luôn có một cuộc đấu tranh liên tục về việc ai có được nhiều bot nhất, nhiều băng thông nhất, và số lượng lớn nhất các máy tính "chất lượng cao" bị nhiễm, chẳng hạn như máy tính tại trường đại học, các công ty, hay thậm chí cả trong các cơ quan chính phủ.
4.Cách phòng tránh
Hiện nay vẫn chưa có cách ngăn chặn hoàn toàn DDOS,tuy nhiên chúng ta có thể sử dụng tường lửa (firewall) để phòng chống & hạn chế một phần sức mạnh & tác hại của nó. Dưới đây là chi tiết hướng dẫn cách cài đặt một firewall đơn giản nhưng không kém phần hiệu quả nhằm giảm thiểu "cơn giận" của "con quái thú" DDoS.
Bước 1: Tạo file .htaccess tại thư mục bị DDoS access/request liên tục (thông thường là các thư mục public_html, forum, diendan, 4rum, shop, blog, f v.v...). Nội dung file như sau:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tendomain.com [NC]
RewriteRule !antiddos.phtml http://tendomain.com/antiddos.phtml?%{REQUEST_URI} [QSA]
Bước 2: Tại cùng thư mục, tạo file antiddos.phtml với nội dung:
$text=$HTTP_SERVER_VARS['QUERY_STRING'];
$text = preg_replace("#php\&#si",'php?',$text);
echo('
tendomain.com'.$text.'>[Click vao day]
de vao dien dan.');
?>