Tiêu đề: Tấn công bằng DDOS
DDOS - Distributed Denial Of Service ?
• 1998 Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli.
• Tháng 5 – 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng (DDOS)
• Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống.
DDOS – Distributed Denial Of Service ?
• Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiiên ra đời, Chương trình được Mixter Phát triển.
• Cuối tháng 9 năm 1999, Công cụ Stacheldraht đã bắt đầu xuất hiện trên những hệ thống của Châu âu và Hoa kỳ.
• Ngày 21 tháng 10 năm 1999 David Dittrich thuộc trường đại học Washington đã làm những phân tích về công cụ tấn công từ chối dịch vụ
•
DDOS - Distributed Denial Of Service ?
• Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000 ( TFN2K ).
• 10 : 30 / 7 – 2 -2000 Yahoo! ( Một trung tâm nổi tiếng ) đã bị tấn công từ chối dịch vụ và ngưng trệ hoạt động trong vòng 3 giờ đồng hồ. Web site Mail Yahoo và GeoCities đã bị tấn công từ 50 địa chỉ IP khác nhau với nhửng yêu cầu chuyễn vận lên đến 1 gigabit /s.
DDOS - Distributed Denial Of Service ?
• 8 -2 nhiều Web site lớn như Buy.com, Amazon.com, eBay, Datek, MSN, và CNN.com bị tấn công từ chối dịch vụ.
• Lúc 7 giờ tối ngày 9-2/2000 Website Excite.com là cái đích của một vụ tấn công từ chối dịch vụ, dữ liệu được luân chuyễn tới tấp trong vòng 1 giờ cho đến khi kết thúc, và gói dữ liệu đó đã hư hỏng nặng.
DDOS - Distributed Denial Of Service?
• Qua đó ta có thể thấy rõ những vụ tấn công từ chối dịch vụ (Denial Of Services Attack ) và những cuộc tấn công về việc gửi nhửng gói dữ liệu tới máy chủ (Flood Data Of Services Attack) tới tấp là những mối lo sợ cho nhiều mạng máy tính lớn và nhỏ hiện nay,
DDOS - Distributed Denial Of Service?
• Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông …. Lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker. Khi đó Server sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot.
•
DDOS - Distributed Denial Of Service?
• Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS.
DDOS - Distributed Denial Of Service?
• Ping Of Death.
Một số máy tính sẽ bị ngưng họat động, Reboot hoặc bị crash khi bị nhận những gói dữ liệu ping có kích thước lớn.
• Ví dụ như : ping địachỉ -n 1000
trong đó : số 1000 là số lần gửi gói dữ liệu.
• TCP/SYN Flooding:
Bước 1: Khách hàng gửi một TCP SYN packet đến cổng dịch vụ của máy chủ
Khách hàng =è SYN Packet ===è Máy chủ
DDOS - Distributed Denial Of Service?
• Bước 2 : Máy chủ sẽ phản hồi lại khách hàng bằng 1 SYN/ACK Packet và chờ nhận một 1 ACK packet từ khách hàng
Máy chủ è SYN/ACK Packet è Khách hàng
• Bước 3: Khách hàng phản hồi lại Máy chủ bằng một ACK Packet và việc kết nối hòan tất Khách hàng và máy chủ thực hiện công việc trao đổi dữ liệu với nhau.
Khách hàng è ACK Packet è Máy chủ
DDOS - Distributed Denial Of Service?
• Trong trường hợp Hacker thực hiện việc SYN Flooding bằng cách gửi tới tấp, hàng loạt TCP SYN packet đến cổng dịch vụ của máy chủ sẽ làm máy chủ bị quá tải và không còn khả năng đáp ứng được nữa.
DDOS - Distributed Denial Of Service?
• UDP/ICMP Flooding:
Hacker thực hiện bằng cách gửi 1 số lượng lớn các gói tin UDP/ICMP có kích thước lớn đến hệ thống mạng, khi hệ thống mạng chịu phải sự tấn công này sẽ bị qua tải và chiếm hết băng thông đường truyền đi ra bên ngòai của mạng này, vì thế nó gây ra nhửng ảnh hưởng rất lớn đến đường truyền cũng như tốc độ của mạng, gây nên những khó khăn cho khách hàng khi truy cập từ bên ngoài vào mạng này.
DDOS - Distributed Denial Of Service?
• Những điều kiện đủ để có những cuộc tấn công DoS Có hiệu quả:
Để có được những cuộc tấn công DOS có hiệu quả thông thường một Hacker phải lựa chọn cho mình những đường truyền có dung lượng lớn cũng như tốc độ máy được dùng làm công cụ tấn công. Nếu không hội tụ được những điều kiện trên thì cuộc tấn công sẽ không mang lại mấy khả quan.
DDOS - Distributed Denial Of Service?
• Nhưng với những tiện ích như Trinoo, TFN2K, Stacheldraht… người tấn công không phải chỉ dùng 1 nơi để tấn công mà sử dụng nhiều mạng lưới khác nhau để thực hiện việc tấn công đồng lọat. Các máy được dùng để tấn công thường là các máy có kết nối Internet bị người tấn công xâm nhập.
DDOS - Distributed Denial Of Service?
• Qua đó chúng tôi đã tham khảo và biết một số cách nhưng hầu hết không chống được một cách triệt để.
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ủ.
DDOS - Distributed Denial Of Service?
• 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.
DDOS - Distributed Denial Of Service?
• 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 …..
Flooding Data Attack ?
• 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 Hack 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:
Flooding Data Attack ?
• Dạng 1: Được chạy trên trên môi trường Windonw, Unix, Linux …
• 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.
Flooding Data Attack ?
• Dạng 1.
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 đó.
Flooding Data Attack ?
•
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 đó
Flooding Data Attack ?
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.
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.
Flooding Data Attack ?
• 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!.
Flooding Data Attack ?
• Url=http://www.vbuleetin.com/register.php&username=user+random(999999999)&passw ord=flood&passwordconfim=password&email=random(100 000000)+@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.
Flooding Data Attack ?
• 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….
Flooding Data Attack ?
• Đố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.
Flooding Data Attack ?
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.
Flooding Data Attack ?
• Đố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.
Flooding Data Attack ?
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.
Flooding Data Attack ?
• Dạng 2: Đượ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.
Flooding Data Attack ?
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.
Flooding Data Attack ?
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.
Flooding Data Attack ?
• 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.
Flooding Data Attack ?
Nếu hacker huy động hoặc hack đượ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 đó.
Flooding Data Attack ?
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ý.
Flooding Data Attack ?
• 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.
Flooding Data Attack ?
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.
Flooding Data Attack ?
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.
Anti Flooding Data Attack ?
• 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.
Anti Flooding Data Attack ?
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.
Anti Flooding Data Attack ?
Để 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).
In bài này | Gửi bài viết
Sưu tầm (Không rõ tên tác giả)
Giảm nguy cơ bị tấn công DoS cho Windows 2000 Server
Microsoft đưa ra một bài báo hướng dẫn 5 sửa đổi trong registry của Windows 2000 cho phép giảm khả năng bị tấn công từ chối dịch vụ (Denial of Service). Những chỉ dẫn này được áp dụng cho các hệ thống Win2k kết với mạng diện rộng (WAN) hoặc Internet hoặc những site yêu cầu an toàn thông tin đặc biệt.
Khi thay đổi các tham số này nhà quản trị site nên thận trọng, nên thay đổi các tham số này trên các hệ thống thử nghiệm trước để chắc chắn chúng hoạt động bình thường trước khi thay đổi trên hệ thống thực. Các tham số sai sẽ gây ảnh hưởng đến tất các các dịch vụ và ứng dụng của Win2K. Các tham số này đều nằm trong khoá: HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services.
Chống lại tấn công bằng cách làm lụt các gói SYN (SYN flooding actack)
Để hiểu về cách tấn công này, bạn phải hiểu tiến trình tạo một kết nối TCP/IP giữa hai hệ thống và cách mà các tin tặc lợi dụng để tạo nên một cuộc tấn công SYN flooding. Khi một hệ thống - gọi là hệ thống A - muốn tạo một kết nối tới hệ thống thứ hai - gọi là hệ thống B, hệ thống A sẽ gửi một gói tin SYN (cờ SYN trong phần header của gói tin TCP được bật) tới hệ thống B, hệ thống B nếu chấp nhận kết nối này thì nó sẽ gửi trả một gói SYN-ACK báo cho hệ thống A là nó chấp nhận kết nối, đến lúc này quá trình bắt tay đã hoàn tất một nửa (half open). Hệ thống A sau khi nhận được SYN-ACK thì trả lời bằng một gói ACK và kết nối đã được thiết lập. Tin tặc tấn công hệ thống B bằng cách gửi rất nhiều các gói SYN từ một địa chỉ IP thật hoặc địa chỉ IP giả yêu cầu thiết lập kết nối với hệ thống B nhưng không gửi gói ACK để hoàn tất kết nối, hệ thống B nếu không nhận được ACK của gói SYN-ACK thì sau một khoảng thời gian nhất định nó sẽ gửi lại gói SYN-ACK, tổng cộng có 5 lần gửi, khoảng thời gian chờ gói ACK từ hệ thống A trước khi gửi lại SYN-ACK được hệ thống B tăng lên, hành động này giúp cho các hệ thống có thể truyền tin qua một mạng chậm. Sau 5 lần gửi SYN-ACK, hệ thống B sẽ huỷ bỏ kết nối dang dở đó. Khoảng thời gian cần thiết để huỷ bỏ một kết nối như thế mất khoảng 3-4 phút, sau khi kết nối được huỷ bỏ, TCP chờ giải phóng cổng sẵn sàng cho kết nối mới mất thêm 3-5 phút nữa, tổng cộng hệ thống B mất 8 hoặc 9 phút cho một kết nối dang dở như thế. Do vậy nếu tin tặc gửi hàng loạt gói tin SYN mà không có gói tin ACK để hoàn thành kết nối, hệ thống B sẽ dễ dàng bị quá tải và không thể tiếp nhận được các kết nối TCP khác.
Windows 2000 kiểm soát nguy cơ bị tấn công SYN flooding bằng cách kiểm tra ba bộ đếm số cổng của TCP/IP, bao gồm số cổng đang kết nối dở dang (half open ports), số cổng đã hết thời gian chờ, số cổng đang thử gửi SYN-ACK. Khi ba giá trị này đến một ngưỡng nhất định, Win2k cho rằng nó bị tấn công DoS theo kiểu SYN flooding, và nó giảm thời gian chờ và số lần cố gắng gửi gói SYN-ACK nhằm mục đích giảm tải cho hệ thống. Cách xử sự của Win2k đối với tấn công SYN flooding tuỳ thuộc vào một giá trị có tên là SynAttackProtect:REG_DWORD, nằm trong khoá Tcpip\Parameters. Các giá trị mà SynAttackProtect nhận được là 0, 1, 2. Giá trị 0 (mặc định) chỉ định rằng TCP sẽ hoạt động bình thường. Giá trị 1 tăng mức độ bảo vệ cao hơn (giảm số lần cố gắng gửi lại gói SYN-ACK). Giá trị 2 là mức độ bảo vệ cao nhất, kết nối TCP sẽ kết thúc rất nhanh vì thời gian chờ cũng sẽ bị giảm đi. Lưu ý rằng với giá trị là 2 thì tuỳ chọn scalable windows và các tham số của TCP trên mỗi adapter (Initial RTT, window size) sẽ bị bỏ qua.
Chống lại sự chuyển hướng tới các gateway chết (Dead Gateway Redirect)
Khi thiết lập cấu hình cho card giao tiếp mạng (network adapter) bằng tay, bạn phải nhập địa chỉ TCP/IP, mặt nạ subnet, và gateway mặc định. TCP/IP sẽ gửi tất cả các gói có đích đến không cùng mạng con tới gateway này. Gateway có trách nhiệm dẫn đường các gói tin tới địa chỉ đích. Khi TCP/IP gửi gói tin đến gateway, gateway sẽ trả lời rằng nó đã tiếp nhận gói tin này. Nếu như gateway không hoạt động, nó sẽ không trả lời. Nếu TCP/IP không nhận được thông báo đã nhận từ 25% gói tin nó đã gửi, nó sẽ cho rằng gateway đã chết.
Để tránh trường hợp này, thường người ta thiết lập nhiều gateway, khi TCP/IP xác định rằng một gateway đã chết, nó sẽ chuyển sang sử dụng gateway tiếp theo trong danh sách. Cách cư xử của Win2k với gateway chết được quy định bởi một tham số là EnableDeadGWDetect:REG_DWORD nằm trong khoá Tcpip\Parameters với các giá trị là 0 (cấm) và 1 (cho phép). Microsoft khuyến cáo nên cấm Win2k nhận biết gateway chết, vì nó sẽ ngăn không cho TCP/IP gửi một gói tin đến một gateway không mong muốn khác mà tin tặc có thể lợi dụng để chặn các gói tin gửi ra ngoài mạng từ máy của bạn.
Để biết thêm chi tiết về các tham số khác, xin hãy tham khảo thêm tài liệu trên site của Microsoft: q315669
Tác giả: (Someone)
Bookmarks