Tấn công từ chối dịch vụ ( DENIAL OF SERVICE - DoS )
Tấn công từ chối dịch vụ ( DENIAL OF SERVICE - DoS ): trang này đã được đọc lần A. GIỚI THIỆU CHUNG.A.1. DoS attack là gì?DoS là làm cho các service bị tê liệt, ko còn đáp ứng được các request nữa. Loại attack này rất dễ thực hiện và lại rất khó bảo vệ hệ thống khỏi các DoS attack. vấn đề là Unix cho rằng hệ thống của users sẽ vẫn chạy được.A.2. Có Hệ điều hành nào an toàn hơn ko?Câu trả lời là ko. Tính an toàn của hệ thống phụ thụôc vào administrator.Hệ thống Unix phức tạp hơn và có nhiều build-in prog cũng như services. điều này cũng mở ra nhiều cách để crash the system từ bên trong hơn win NT & 95 network.Uniz có nhiều tools & prog để tìm ra các attack và giám sát users. Trong khi wind lại rất khó làm được.Một unix admin trung bình thì cũng có nhiều kinh ngiệm hơn là microsoft admin.Tóm lại unix an toàn hơn đối với DoS attack từ bên trong. Tuy nhiên microsoft lại có tính secure cao hơn đối với các attack từ bên ngoài chỉ vì nó có ít service hơn B. ĐIỂM CƠ BẢN CHO 1 ATTACK.B.1. SWAP SPACEhầu hết các system đều có vài trăm MB swap space để phục vụ client requests. Swap space thuờng dùng cho các process con có thời gian ngắn nên DoS có thể được dựa trên phương thức làm tràn đầy swap space B.2. BANDWIDTHnếu bandwith quá cao, network sẽ trở nên vô dụng. Do đó hầu hết Dos att tác động lên bandwith bằng nhiều cách B.3. KERNEL TABLESlàm tràn kernel tables có thể gây ra các vấn đề nghiêm trọng trên hệ thống đặc biệt là các h thống write caches và small write buffers.Kernel memory allocation cũng là tiêu điểm nhạy cảm. kernel có giới hạn kernelmap, nên nếu system đạt đến giới hạn này nó ko thể định vị thêm kernel memory và fải reboot. Kernel memory ko chỉ use cho RAM, CPUs, Screen . mà nó còn use cho các process thông thường. Nghĩa là bất cứ ht nào cũng có thể crashed nhanh chóng dễ dàng với những giải thuật nhỏ.đối với solaris 2x lệnh sar có thể đo lường và bào cáo về kernel memory đang dùng. nhưng sunOS 4x thì ko có lệnh sar. nếu bạn use Solaris, use lệnh sar –k 1 để lấy thông tin, lệnh netstat –k cũng cò thể dùng để xem kermel memory đã chiếm bao nhiêu trong subpaging B.4. RAMDos attack chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đề lớn. NFS và mailserver là dễ bị attack nhất vì chúng ko cần nhiều RAM. 1 NFS client thường sẽ tạo ra rất nhiều catching, nhưng 1 NFS client cũng có thể là anything trong prog mà bạn có thể tự viết lấy B.5. DISKS1 cách attack cổ điển là làm đầy harddisk. HD có thể bị overloaded và ko thể use bằng nhiều cách. .B.6. CACHESDoS attack liên quan đến caches được dựa trên phương pháp làm tắc nghẽn or ngăn ngừa cache.Trong solaris 2x:Directory name lookup cache: liên hệ tên file với vnode.Inode cache: thông tin cache đọc từ đĩa trong trường hợp cần đọc lại.Rnode cache: giữ thông tin về ht file NFS.Buffer cache: cache Inode làm tắc nghẽn gián tiếp I/O của đĩa thực B.7. INETD1 khi inetd bị crashed, tất cả các service khác đi qua inetd sẽ ko còn làm việc được nữa C. ATTACK TỪ BÊN NGOÀI C.1. Sự thuận lợi của Fingerhầu hết các prog finger đều hỗ trợ chuyển tiếp đến host khác. Vd: $finger @system.two.com@system.one.com finger đi qua system.one.com và system.two.com. do đó two sẽ tưởng là one finger mình. pp này dùng để che dấu cũng như cho các very dirty DoS attack. Hãy xem vd sau: $finger @@@@@@@@@@@@@@@@@@@@@@host.we.attack tất cả các @ sẽ nhận finger để finger host.we.attack rất nhiều lần làm host này bị ảnh hưởng rất lớn.biện pháp là cài đặt finger ko hỗ trợ chuyển tiếp như GNU finger, or bạn cũng có thể tắt finger service C.2. UDP AND SUNOS 4.1.3.sunOS 4.1.3 bị lỗi boot nếu bạn gởi tới 1 packet với thông tin sai trong header. Đây là nguyên nhân nếu như ip-options biểu diễn sai kích cỡ của packet.biện pháp: cài đặt patch đúng C.3. Làm tê liệt X-WINDOWSnếu host cho phép telnet tới X-Windows port (thường là từ 6000 đến 6025), bạn có thể làm tê liệt cả ht x-windows bằng cách tạo ra hàng loạt kết nối telnet or prog gởi hàng loạt XopenDisplay() đến port đó. điều này cũng có thể áp dụng cho Motif or Open windows.biện pháp: đóng kết nối tới x-windows port C.4. Cố ý sử dụng UDP SERVICESrất dễ use UDP services (như echo, time, datetime, chargen) lặp lại 1 cách liên tục nhờ các IP-spoofing thông thường. Vd: from-IP=127.0.0.1to-IP=system.we.attackpacket type:UDPfrom UDP port 7to UDP port 7header yêu cầu là packet đến từ 127.0.0.1 (lặp lại liên tục) và tiêu điểm là echo port tại system.we.attack. đến khi system.we.attack biết là 127.0.0.1 system.we.attack và vòng lặp được thiết lập. chú ý là system.we.attack trông giồng như DNS-name nhưng tiêu điểm luôn luôn là 1 IP number C.5. ATTACKING WITH LYNX CLIENTSwww server sẽ tách httpd process thành phản hồi cho các request từ client. Process chỉ kéo dài khoảng 1 giây và vì thế load sẽ ko thực hiện được nếu bạn use ps. DoS atack use hàng loạt w3 client (lynx client) là rất an toàn nhưng nên nhớ là lệnh netstat cũng có thể phát hiện ra attack.Httpd:s (như http-gw) .C.6. Telnetuse thử script này:while : ; dotelnet system.we.attack &doneatack kiểu này cũng tốn 1 ít bandwith, nhưng nó chẳng là gì so với pp finger or các pp khác. Nhưng 1 số firewalls & httpd:s lại nghĩ đây là vòng lặp và tự động tắt chúng, cho đến khi admin gởi lệnh kill - HUP.C.7. use telnet trong SOLARIS 2.4nều attacker tạo ra kết nối telnet tới solaris 2.4 host và thoát ra use:control -}quitthì inetd sẽ tiếp tục mãi mãi (ít nhất là vài trăm lần)biện pháp: cài đặt patch đúng C.8. làm sao để DISABLE ACCOUNTS1 vài ht disable accout sau n lần bad login or chờ n giây. bạn có thể use tíng năng này để lock out 1 user nào đó từ ht C.9. LINUX AND TCP TIME, DAYTIMEinetd trong linux có thể bị crash nếu gởi nhiều SYN packet tới daytime (port 13) or time (port 37).C.10. attack bằng chuyển tiếp ICMPgateways use chuyển tiếp ICMP để yêu cầu ht overide routing tables. để vô hiệu chuyển tiếp icmp, bạn fải biết kết nối hiện tại để gởi tới 1 route làm đứt kết nối or gởi tới host messages lỗi nều như kết nối đó ko use cryptationvd: (gởi messages lỗi)destination unreachabletime to live exceededparameter problempacket too bigmessage này sẽ reset kết nối C.11. BROADCAST STORMSđây là pp thông dụng nhất trong mạng mà host hoạt động như các gateway. pp cơ bản là gởi nhiều packet tới tất cả các host với đích đến ko có thực. mỗi host sẽ cố gắng chuyển từng packet dẫn đến packet đó được chuyển lòng vòng trong 1 thời gian dài và nếu có packet mới được tiếp tục gởi tới mạng sẽ nhanh chóng gặp rắc rối.loại attack này có thể là ping, finger, & sendmail. Nhưng hầu hết services có thể vô hiệu bằng vài cách khác C.12. SYN FLOODINGsyn packet được use trong 3-way handshake do đó syn flooding attack được dựa trên pp incomplete handshake. Attacker host gởi tới tấp các syn packet nhưng ko phản hồi lại các ACK packet.bạn có thể xem thêm về syn flooding tại:[.1.] http://www.eecs.nwu.edu/~jmyers/bugtraq/1354.htmlArticle by Christopher Klaus, including a "solution". [.2.] http://jya.com/floodd.txt2600, Summer, 1996, pp. 6-11. FLOOD WARNING by Jason Fairlane [.3.] http://www.fc.net/phrack/files/p48/p48-14.htmlIP-spoofing Demystified by daemon9 / route / infinityfor Phrack Magazine.C.13. PING FLOODINGunix: ping –s hostwindows 9x: ping –t –l 256 xxx.xxx.xxx.xxxex: ping –l 65510 address.to.the.machinenó có thể bị tê liệt or reboot.* Kernel phiên bản từ 2.0.7 đến 2.0.20 or AIX4, OSF, HPUX10.1, DUXIX 4.0 -->> crashed* OSF/1, 3.2C, solaris 2.4 x86 -->> reboot C.14. FLEXlmbất cứ host nào chạy FLEXlm có thể bị shutdown bằng lệnh:#lmdown –c /etc/licence.datlmdown – copyright © 1989, 1991 highland software, inc.shutting down FLEXlm on nodes: xxxare you sure? [y/n]: yshut down the node xxx#. . Tấn công từ chối dịch vụ ( DENIAL OF SERVICE - DoS ): trang này đã được đọc lần A. GIỚI THIỆU CHUNG.A.1. DoS attack là gì ?DoS là làm cho các service. SERVICESrất dễ use UDP services (như echo, time, datetime, chargen) lặp lại 1 cách liên tục nhờ các IP-spoofing thông thường. Vd: from-IP=127.0.0.1to-IP=system.we.attackpacket