Thứ Tư, 27 tháng 10, 2010

Cách thức phòng chống DDOS

1. Khi bạn phát hiện máy chủ mình bị tấn công hãy nhanh chóng truy tìm địa chỉ IP đó và cấm không cho gửi dữ liệu đến máy chủ.
2. 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ủ.
3. 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.
4. Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi cho hệ thống đó hoặc thay thế.
5. Dùng một số cơ chế, công cụ, phần mềm để chống lại TCP SYN Flooding.
6. Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt hơn. Nếu được có thể nâng cấp các thiết bị phần cứng để nâng cao khả năng đáp ứng của hệ thống hay sử dụng thêm các máy chủ cùng tính năng khác để phân chia tải.
7. Tạm thời chuyển máy chủ sang một địa chỉ khác.
Flooding Data Attack ?

• Hoàn toàn khác với DDos về khả năng tấn công cũng như sự huy động tấn công rất dễ dàng để làm tràn ngập dữ liệu (Flood data attack !) được phát triển ở rất nhiều dạng nó dựa vào những lỗi của hầu hết các mã nguồn mở của ASP, PHP, JSP, CGI …..

• Với DDOS như chúng ta đã biết khi một số Hacker muốn mở những cuộc tấn công đều phải hội tụ những điều kiện, là phải dùng những máy chủ có đường truyền cao và thường thì phải @hắc vào server đó mới có thể huy động làm công cụ tấn công được, ngược lại với Flood data attack việc huy động quá dễ, nó chia ra làm 2 dạng tấn công như sau:

• Dạng 1: Được chạy trên trên môi trường Windonw, Unix, Linux …

Với kích thước từ 500 byte đến 1Kb các Hacker dễ dàng đính kèm vào một Website nào đó có nhiều người hiện đang có mặt truy cập trên Website đó. Với đọan mã trên ta có thể thấy Hacker đã đặt kích thước tập tin Flooddata.swf ở chế độ Chiều rộng (width) là bằng 0 và chiều cao (height) cũng bằng 0 như thế tập tin này sẽ không thể hiển thị được trên trên trang Web đó.

Khi người sử dụng vào Website này lập tức sẽ kích họat chương trình Flood Data Attack ! của Hacker tại địa chỉ là http://noitancong.com/filedata.swf và Hacker cũng dễ dàng điều khiển chương trình bằng 1 file nguồn ở 1 Website nào đó của Hacker trên mạng mà Hacker đó đặt ra trong chương trình Flooding data Attack.

Hacker có thể kiểm soát được số người hiện đang kích hoạt chương trình Flood data của mình trên Website đó và khi nào Hacker cảm thấy số lượng người đang kích hoạt chương trình đã đủ để việc tấn công một Website nào đó trên mạng thành công thì công việc đó có thể được bắt đầu.

Ví dụ như hacker vào một địa chỉ như http://www.vbuleetin.com để thực hiện công việc tấn công trang này hacker cần phải tìm những nơi có sự trao đổi dữ liệu cho nhau như Register, Search, Login, Sendmail ….. Sau khi đã thu thập được những thành phần trên Hacker bắt đầu thực hiện lấy những đầu vào(input) và gán nhửng giá trị đầu vào trên lên nơi điều khiển của chương trình Flood data attack!.

Ví dụ phần trên sẽ được gán với biến như sau :
Url=http://www.vbuleetin.com/register.php&username=user + random(999999999)&password = flood&passwordconfim=password&email=random(1000000 00)+@vbulleetin.com
Trong đó Url là giá trị của Website bị tấn công, Username với giá trị là một user nào đó do hacker đặt ra và cộng với biến ngẫu nhiên ở sau mỗi user mà hacker đặt ra là khác nhau. Một khi Website này bị tấn công, toàn bộ họat động của Server chứa Website đó sẽ bị hậu quả rất ngiêm trọng tùy theo số lượng người kích họat vào chương trình Flood data attack! Của hacker đó, Lúc này những phần bị ảnh hưởng sẽ là MailServer, MySQL, PHP, Apache, FTP….

• Đối với MySQL : Khi bị Flood data attack! Những yêu cầu sẽ được gửi liên tục đến Server và được chuyển qua MySQL xử lý với số lượng lớn và nối tiếp nhau cho đến khi quá tải chương trình MySQL sẽ hòan toàn bị vô tác dụng song song với việc ảnh hưởng đến MySQL là việc ảnh hưởng đến MailServer.

Với giá trị là random(100000000)+@vbuleetin.com thì khi thực thi nó sẽ gửi từ ‘1@vbuleetin.com’ cho đến ‘100000000@vbuleetin.com’ tất nhiên nhửng email này sẽ không có thực đối với trang chủ của Website ‘http://www.vbuleetin.com.

• Đối với sẽ những địa chỉ email này MailServer đưa vào danh sách "Msgs Failed" nhưng với giá trị là @vbulletin.com thì hầu hết một nhà cung cấp "domain" và "hosting" sẽ chuyển về một số email mặc định như là postmaster, admin, administrator, supervisor, hostmaster, webmaster.

Những Hacker có thể lợi dụng những Form mail trong việc trao đổi thông tin giữa khách hàng với chủ cung cấp dịch vụ để thực hiện những cuộc tấn công, những cuốc tấn công này thường rất nguy hiễm vì có thể trong 1 giây Hacker thực hiện từ 100 lần đến hàng nghìn lần với những yêu cầu SendEmail từ 1 user trên server đó đến MailServer.

• Dạng 2: Được đính kèm trên các Website và nhận lệnh tấn công từ một địa chỉ nào đó trên Mạng toàn cầu.

Được chạy dưới dạng file.exe với dạng thức này thì khả năng tấn công vẫn giống như cách tấn công nằm trên website nhưng khả năng tấn công được nâng thêm nhiều dạng như Ping, Flood Ftp, Flood Smtp… tùy vào khả năng phát triển của Hacker.
Cũng giống như chương trình Flood data attack! Được gắn trên website dạng .exe này cũng được điều khiển từ 1 Website. Thường thì nơi điều khiển được đặt chung 1 nơi để tiện cho việc điều khiển.

Với những phương thức tấn công như vậy ta cũng có thể thấy được tầm nguy hiểm của nó nếu như được đặt trên một server với số lượng người truy cập đông như Google hoặc 1 Website nổi tiếng nào đó thì sức phá hoại của nó là rất khủng khiếp.

• Với 1 client/1s có thể gửi từ 3 - 8 yêu cầu có thực đến máy chủ thực thi và xử lý thông qua đó nó có thể ảnh hưởng đến Php, Apache, Phpmail, MySQL, FTP …., Tùy theo những mã nguồn của ASP, PHP, JSP, CGI, PL hoặc chung quy là những mã nguồn có liên quan đến công việc xuất và nhập dữ liệu.

Nếu hacker huy động hoặc @hắc được những server hoặc Website nào đó có số lượng người Online khoảng 2000 thì trong 1 giây Server đó sẽ phải thực thi khoảng 6000 yêu cầu từ các client gửi đến Server đó.

Ví dụ : Có User nằm trên server X nào đó user đó có cài đặt mã nguồn mở như Forum IPB (Invision Power Boards) khi hacker sử dụng mục đăng ký làm nơi tấn công Flood data thì trong vòng một giây như phần trên đã nêu sẽ có khoãng 6000 nickname được khởi tạo đi kèm theo đó là 6000 yêu cầu đã được mã nguồn mử thiết lập khi đăng ký và sẽ kèm theo việc gửi email đến các địa chỉ đã đăng ký.

• Như vậy đi kèm với 6000 nickname trên, MailServer sẽ phải gửi đi 6000 yêu cầu trong vòng 1/s việc này nếu như bị kéo dài từ 5 - 10 phút thì Server đó hầu như sẽ không còn họat động được.

Bandwith lúc này có thể tăng 5 - 10 MB/s cộng thêm data khi được chuyển đến MySQL lúc này có thể đạt tới 5 -7 MB/s nữa khi đó toàn bộ các phần mềm như Apache, MailServer, PHP, MySQL, FTP đều bị ngưng họat động. Lúc đó server có thể sẽ bị reboot.
Vì Hacker sử dụng phương tiện tấn công Online trên Website và dựa vào lượng khách truy cập thông tin ở nhiều Website nên phương pháp này hầu như rất khó chống, mỗi ngày Hacker có thể dùng hàng ngàn địa chỉ IP trên khắp thế giới để thực hiện việc tấn công như thế ta có thể thấy nó đơn giản so với DDos rất nhiều nhưng sự nguy hiểm có lẽ hơn hẳn DDos. Vì Flooding Data Attack tấn công theo dạng địa chỉ ‘http://victim.com/data.php&bien1&bien2&bien3’ theo cổng GET hoặc POST vì vậy, cho dù bất cứ lý do gì khi tấn công cũng phải đi qua hướng này.

Do lỗi được xuất hiện ở các mã nguốn ASP hay PHP nên cách tốt nhất là sửa và xem lại những mã nguồn mà người sử dụng muốn đưa lên mạng. Để tránh bị Flood data Attack! Thì cách phòng chống tạm thời vẫn là thêm một chuỗi ngẫu nhiên trên mỗi Form có sự xuất và nhập dữ liệu tuy nhiên những cách trên chưa phải là những cách hòan thiện để chống lại nhửng cuộc tấn công tràn ngập dữ liệu (Flooding Data Attack).

Tấn công DDOS sẽ luôn là mối đe dọa hàng đầu đến các hệ thống trên thế giới. Về kỹ thuật, hầu như chúng ta có thể hy vọng attacker sử dụng những công cụ v cĩ hiểu biết kém cỏi về các protocol để có thể nhận biết và lọai trừ các traffic gây nên cuộc sống. Một điều mà các chuyên gia ai cũng thừa nhậ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ể. Cách đây 4 năm, giới hacker chính quy thế giới đ khai tứ kỹ thuật tấn công này và chấm dứt mọi hoạt động nghiên cứu-trình diễn hay pht tn công cụ do chính bả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ông này. Đối với hacker đẳng cấp thì “Hacking is get root”.
Với một hạ tầng mạng hết sức yếu kém, cùng với nền thương mại [w]điện[/w] tử mới được hình thành, DDOS sẽ là một mối nguy hại rất lớn cho Internet Việt Nam. Commaz ku gọi sự hợp tác với hỗ trợ của tất cả thành viên cộng đồng Internet Việt Nam, hy cĩ một cái nhìn với hành động thật chín chắn, DDOS là một hành động hết sức vô ý nghĩa về mọi mặt.

Tấn công từ chối dịch vụ (DoS) là các cuộc tấn công trên hệ thống mạng nhằm ngăn cản những truy xuất tới một dịch vụ. Tấn công DoS phá hủy dịch vụ mạng bằng cách làm tràn ngập số lượng kết nối, quá tải server hoặc chương trình chạy trên server, tiêu tốn tài nguyên của server, hoặc ngăn chặn người dùng hợp lệ truy nhập tới dịch vụ mạng.

Có rất nhiều các phương cách để thực hiện các cuộc tấn công từ chối dịch vụ, vì thế cũng có rất nhiều cách phân loại DoS.

Cách phân loại phổ biến thường dùng dựa vào giao thức trong hình thức tấn công của DoS, ví dụ như tràn ngập ICMP với Smurf, Ping of Death, khai thác điểm yếu của TCP trong hoạt động của giao thức và phân mảnh gói tin với SYN flood, LanD attacks, TearDrop hay trên mức dịch vụ như với Flash Crowds (ở Việt Nam thường biết đến với tên X-flash).

Phân loại theo phương thức tấn công, DoS có thể được thực hiện bằng một vài gói tin đơn lẻ gửi thẳng tới server gây rối loạn hoạt động (như slammer worm), hoặc kích hoạt để gửi từ nhiều nguồn (từ chối dịch vụ phân tán DdoS). Tấn công có thể thực hiện trên mạng Internet (sử dụng ngay các web server), hoặc broadcast trong mạng bên trong (insider attacks như với Blaster worm), trên mạng P2P (P2P index poinsioning) hay Wireless (WLAN authentication rejection attack- spoof sender). Tuy nhiên, có thể thấy các cách phân loại trên dựa chủ yếu vào cách nhìn từ sự phát sinh tấn công, và vì thế, không hệ thống hóa được phương thức phòng tránh.

Một cách chung nhất, có 7 phạm trù các tổ chức cần xem xét khi đối phó với các mối đe dọa về DoS như sau:

1. Phòng ngừa các điểm yếu của ứng dụng (Application Vulnerabilities)

Các điểm yếu trong tầng ứng dụng có thể bị khai thác gây lỗi tràn bộ đệm dẫn đến dịch vụ bị chấm đứt. Lỗi chủ yếu được tìm thấy trên các ứng dụng mạng nội bộ của Windows, trên các chương trình webserver, DNS, hay SQL database. Cập nhật bản vá (patching) là một trong những yêu cầu quan trọng cho việc phòng ngừa. Trong thời gian chưa
thể cập nhật toàn bộ mạng, hệ thống phải được bảo vệ bằng bản vá ảo (virtual patch). Ngoài ra, hệ thống cần đặc biệt xem xét những yêu cầu trao đổi nội dung giữa client và server, nhằm tránh cho server chịu tấn công qua các thành phần gián tiếp (ví dụ SQL injection).

2. Phòng ngừa việc tuyển mộ zombie

Zombie là các đối tượng được lợi dụng trở thành thành phần phát sinh tấn công. Một số trường hợp điển hình như thông qua rootkit (Sony hay Symantec), hay các thành phần hoạt động đính kèm trong mail, hoặc trang web, ví dụ như sử dụng các file jpeg khai thác lỗi của phần mềm xử lý ảnh, các đoạn mã đính kèm theo file flash, hoặc trojan cài đặt theo phishing, hay thông qua việc lây lan worm (Netsky, MyDoom, Sophos). Để phòng chống, hệ thống mạng cần có những công cụ theo dõi và lọc bỏ nội dung (content filtering) nhằm ngăn việc tuyển mộ zombie của hacker.

3. Ngăn ngừa kênh phát động tấn công sử dụng công cụ

Có rất nhiều các công cụ tự động tấn công DoS, chủ yếu là tấn công phân tán DDoS như TFN, TFN2000 (Tribe Flood Network) tấn công dựa trên nguyên lý Smurf, UDP, SYN, hay ICMP; Trinoo cho UDP flood; Stacheldraht cho TCP ACK, TCP NULL, HAVOC, DNS flood, hoặc tràn ngập TCP với packets headers ngẫu nhiên. Các công cụ này có đặc điểm cần phải có các kênh phát động để zombie thực hiện tấn công tới một đích cụ thể. Hệ thống cần phải có sự giám sát và ngăn ngừa các kênh phát động đó.

4. Ngăn chặn tấn công trên băng thông.

Khi một cuộc tấn công DdoS được phát động, nó thường được phát hiện dựa trên sự thay đổi đáng kể trong thành phần của lưu lượng hệ thống mạng. Ví dụ một hệ thống mạng điển hình có thể có 80% TCP và 20% UDP và ICMP. Thống kê này nếu có thay đổi rõ rệt có thể là dấu hiệu của một cuộc tấn công. Slammer worm sẽ làm tăng lưu lượng UDP, trong khi Welchi worm sẽ tạo ra ICMP flood. Việc phân tán lưu lượng gây ra bởi các worm đó gây tác hại lên router, firewall, hoặc cơ sở hạ tầng mạng. Hệ thống cần có những công cụ giám sát và điều phối băng thông nhằm giảm thiểu tác hại của tấn công dạng này.

5. Ngăn chặn tấn công qua SYN.

SYN flood là một trong những tấn công cổ nhất còn tồn tại được đến hiện tại, dù tác hại của nó không giảm. Điểm căn bản để phòng ngừa việc tấn công này là khả năng kiểm soát được số lượng yêu cầu SYN-ACK tới hệ thống mạng.

6. Phát hiện và ngăn chặn tấn công tới hạn số kết nối.

Bản thân các server có một số lượng tới hạn đáp ứng các kết nối tới nó. Ngay bản thân firewall (đặc biệt với các firewall có tính năng stateful inspection), các kết nối luôn được gắn liền với bảng trạng thái có giới hạn dung lượng. Đa phần các cuộc tấn công đều sinh số lượng kết nối ảo thông qua việc giả mạo. Để phòng ngừa tấn công dạng này, hệ thống cần phân tích và chống được spoofing. Giới hạn số lượng kết nối từ một nguồn cụ thể tới server (quota).

7. Phát hiện và ngăn chặn tấn công tới hạntốc độ thiết lập kết nối.

Một trong những điểm các server thường bị lợi dụng là khả năng các bộ đệm giới hạn giành cho tốc độ thiết lập kết nối, dẫn đến quá tải phải chịu sự thay đổi đột ngột về số lượng sinh kết nối. Ở đây việc áp dụng bộ lọc để giới hạn số lượng kết nối trung bình rất quan trọng. Một bộ lọc sẽ xác định ngưỡng tốc độ kết nối cho từng đối tượng mạng. Thông thường, việc này được đo bằng số lượng kết nối trong thời gian nhất định để cho phép sự dao động trong lưu lượng.

Các phân tích ở trên được dựa trên những ngầm định cơ bản sau trong việc bảo vệ hệ thống.

1. Đó là các thiết bị bảo vệ cần được đặt trên luồng thông tin và thực hiện trực tiếp việc ngăn ngừa. Điều này xuất phát từ lý do cho tốc độ của một cuộc tấn công (ví dụ khoảng 10.000 đăng ký thành viên trên 1s hướng tới 1 server, hoặc phát tán worm với tốc độ 200s trên hệ thống mạng Ethernet 100M). Với tốc độ như vậy, cách thức phòng ngừa dạng phát hiện thông báo ngăn chặn (Host Shun và TCP Reset) không còn phù hợp.

2. Các cuộc tấn công từ chối dịch vụ chủ yếu nhắm tới khả năng xử lý của hệ thống mạng mà đầu tiên là các thiết bị an ninh thông tin. Năng lực xử lý của IPS hoặc các thành phần content filtering là một trong những điểm cần chú ý, đặc biệt ở sự ổn định trong việc xử lý đồng thời các loại lưu lượng hỗn tạp với kích thước gói tin thay đổi.

3. Các cuộc tấn công luôn được tích hợp (blend attacks) với sự tổng hợp các phương thức khác nhau. Chính vì vậy, tầm quan trọng của việc phòng ngừa những dấu hiệu lây nhiễm đơn giản là bước đầu tiên để ngăn chặn những cuộc tấn công từ chối dịch vụ.
Trong hệ thống tổng thể về security, để đối phó với các cuộc tấn công từ chối dịch vụ, thì thành phần IPS được coi là quan trọng nhất ở tính trong suốt với người dùng, nên việc phân tích các luồng thông tin trao đổi giữa server và người dùng không bị ảnh hưởng bởi các luồng tấn công hướng thẳng đến nó.

Không có nhận xét nào:

Đăng nhận xét