• Thứ Năm, 30/03/2006 23:26 (GMT+7)

    Cảnh giác với "Tấn công từ chối dịch vụ"

    Đây chính là loại hình tấn công phổ biến và nguy hiểm đối với các ứng dụng, dịch vụ trên mạng. Vì vậy, hiểu và nắm được các biện pháp phòng chống đối với từng kiểu tấn công từ chối dịch vụ trên từng hệ thống sẽ giúp bạn nâng cao độ an toàn và chất lượng dịch vụ của hệ thống thông tin.

    Thế nào là tấn công từ chối dịch vụ?
    Denial of Service (DoS) - tấn công từ chối dịch vụ - là một hình thức phá hoại trên mạng, theo đó, hacker (tin tặc) lợi dụng điểm yếu hoặc lỗi an toàn thông tin của một hệ thống mạng cung cấp dịch vụ để làm ngưng trệ hoặc ngăn cản người dùng truy nhập dịch vụ đó; buộc nhà quản trị mạng phải tạm ngừng cung cấp dịch vụ và khởi động lại hệ thống.

    Việc ngừng hoạt động của hệ thống dịch vụ thường gây thiệt hại khó có thể tính chính xác: đó là tổng của thiệt hại trực tiếp về tiền bạc, uy tín cho nhà cung cấp dịch vụ, và thiệt hại gián tiếp của khách hàng sử dụng dịch vụ. Đôi khi, dù chỉ làm chậm và giảm khả năng phục vụ của hệ thống, song loại tấn công này cũng dẫn tới những thiệt hại đáng kể.

    Các loại tấn công từ chối dịch vụ
    Có hai loại tấn công từ chối dịch vụ, dựa theo đặc điểm của hệ thống bị tấn công: gây quá tải khiến hệ thống mất khả năng phục vụ; hoặc làm cho hệ thống bị treo, tê liệt do tấn công vào đặc điểm của hệ thống hoặc lỗi về an toàn thông tin.

    Với loại thứ nhất, việc gây quá tải có thể thực hiện được nếu như tin tặc gửi rất nhiều yêu cầu dịch vụ, bắt chước như người dùng thực sự yêu cầu đối với hệ thống. Để giải quyết một yêu cầu dịch vụ, hệ thống phải tốn một lượng tài nguyên nhất định của mình (CPU, bộ nhớ, đường truyền...). Mỗi hệ thống dịch vụ được thiết kế có tổng lượng tài nguyên là giới hạn, do vậy khi nhận được quá nhiều yêu cầu dịch vụ giả của tin tặc, hệ thống sẽ sử dụng toàn bộ tài nguyên của mình để đáp ứng các yêu cầu đó và không còn tài nguyên để phục vụ các yêu cầu thực sự của người dùng, và người dùng không thể truy nhập được vào hệ thống. Hình thức phổ biến của kiểu tấn công gây quá tải này là tấn công từ chối dịch vụ phân tán, tạo ra yêu cầu dịch vụ giả từ nhiều địa chỉ, khiến cho nhà quản trị hệ thống không phân biệt được đó có phải là một cuộc tấn công từ chối dịch vụ hay không? Tuy nhiên, để thực hiện được kiểu tấn công này, tin tặc phải có khả năng mạnh về tài nguyên.

    Với loại thứ hai, tin tặc lợi dụng kẽ hở an toàn thông tin của hệ thống để gửi các yêu cầu hoặc các gói tin không hợp lệ (không đúng theo tiêu chuẩn) một cách cố ý, khiến cho hệ thống bị tấn công khi nhận được yêu cầu hay gói tin này, xử lý không đúng hoặc không theo trình tự đã được thiết kế, dẫn đến sự sụp đổ của chính hệ thống đó. Phần lớn các kẽ hở này xuất phát từ lỗi của phần mềm: nhà sản xuất phần mềm không lường trước hết các khả năng xảy ra với phần mềm, do vậy khi tin tặc gửi những thứ không nằm trong khả năng đã dự tính thì phần mềm dễ dàng bị lỗi, gây đổ vỡ hệ thống. Ví dụ điển hình cho lỗi này là kiểu tấn công Ping of Death vào năm 1995, gây treo hoặc đổ vỡ cho rất nhiều hệ thống. Ngoài ra, một số ít các kẽ hở lại xuất phát từ chính nguyên lý hoạt động của hệ thống, đặc biệt là nguyên lý của bộ giao thức mạng TCP/IP. Ví dụ điển hình của kiểu tấn công này là SYN flooding, gây cho hệ thống dịch vụ mất khả năng tiếp nhận kết nối TCP.

    Phương pháp nào để phòng chống?
    Hiện tại chưa có biện pháp hữu hiệu nào để phòng chống tấn công từ chối dịch vụ, nhất là kiểu tấn công gây quá tải hệ thống dịch vụ. Nhà cung cấp dịch vụ chỉ có thể hạn chế hoặc giữ cho hệ thống của mình không bị sụp đổ chứ khó có thể giữ cho dịch vụ của mình luôn sẵn sàng trước mọi cuộc tấn công từ chối dịch vụ.

    Biện pháp tốt nhất hiện nay để chống lại các cuộc tấn công từ chối dịch vụ, nhất là kiểu tấn công dựa vào lỗi an toàn thông tin của hệ thống, là nhà cung cấp dịch vụ phải liên tục cập nhật phiên bản sửa lỗi phần mềm mới nhất cho hệ thống của mình. Đồng thời, các nhà cung cấp dịch vụ phải xây dựng và quản trị hệ thống sao cho chúng ít có khả năng bị lợi dụng để phát động tấn công từ chối dịch vụ đối với các dịch vụ khác.

    VASC InfoSec (P.506, Toà nhà Sao Bắc, 4 Dã Tượng, Hà Nội
    Website: http://infosec.vasc.com.vn
    Email: securrity@vasc.com.vn)

    Kịch bản cho một cuộc tấn công dạng"từ chối dịch vụ phân tán"
    Trong năm 2000, nhiều hacker đã chuẩn bị kịch bản cho cuộc tấn công theo một kỹ thuật mới và nguy hiểm hơn: kỹ thuật "Từ chối dịch vụ phân tán" (DDoS - Distributed Denial of Service), sử dụng một số lượng lớn các máy tính "vô danh" được liên kết với nhau để đồng loạt tấn công làm tê liệt các website lớn mà người ta vẫn nghĩ là "bất khả xâm phạm" (như Yahoo!, Amazon.com, Buy.com, eBay, CNN...). Vấn đề "tệ hại" ở chỗ: hầu như không thể lần theo dấu vết của các cuộc tấn công kiểu này (và nếu có thể, thì cũng phải mất nhiều thời gian và công sức). Hiện thời, chưa có cách nào hiệu quả để chống lại các cuộc tấn công DDoS.

    Để có thể hiểu rõ sức "tàn phá" của các cuộc tấn công kiểu DDoS, chúng ta thử tìm hiểu kỹ thuật mà hacker đã sử dụng:

    Bước 1: Thủ phạm (hacker) sử dụng phần mềm đặc biệt để dò các cổng dịch vụ nhằm tìm ra máy tính có hệ thống bảo mật kém trên internet. Khi đã tìm ra "đối tượng", đầu tiên hacker sẽ cài đặt lên đó một phần mềm che dấu sự đột nhập và cả những hoạt động sau này của họ. Tiếp theo, cài đặt phần mềm điều khiển từ xa để có thể "ra lệnh" cho những máy tính này khi cần thiết. Hacker cấu hình những phần mềm này để tự động kích hoạt khi máy tính được bật lên, tất nhiên không để cho người chủ của máy tính biết được sự xâm nhập của chúng. Cuối cùng, hacker ghi nhận lại địa chỉ internet của những máy tính này để sử dụng khi cần. Thường phần mềm của hacker sẽ tự động hoá quá trình này, coi như đã chuẩn bị đầy đủ "vũ khí" để tấn công.

    Bước 2: Thủ phạm dùng những máy tính trên để tiếp tục chiếm được quyền điều khiển nhiều máy tính khác theo cùng kiểu tiếp cận như  bước  1 (tìm kiếm những máy tính "yếu" và cài đặt phần mềm điều khiển từ xa). Như vậy, số lượng máy tính mà thủ phạm nắm quyền điều khiển sẽ tăng lên theo cấp số nhân!

    Bước 3: Thủ phạm tập hợp tất cả những máy tính mà họ đã thâm nhập được để chuẩn bị cho một cuộc tấn công dạng DDoS. Số máy tính này có thể lên đến con số hàng ngàn, và thật ra thủ phạm đã lưu trữ địa chỉ internet của tất cả máy tính này để có thể gửi lệnh tấn công cùng lúc.

    Bước 4: Thủ phạm gửi các tập lệnh điều khiển tấn công đến tất cả các máy tính đã "thu thập" được. Các lệnh điều khiển này bao gồm các chỉ dẫn và phương pháp tấn công mà họ ưa thích (Ping Of Death, UDP Flood, v.v...).

    Bước 5: Tất cả máy tính trong "hệ thống" liên tục gửi lệnh để tấn công "con mồi". Theo thống kê của Tổ Chức Bảo Mật và Quản Trị Mạng (SANS Institute - http://www.sans.org), cuộc tấn công của hacker vào website Yahoo! trong tháng 2/2000 đã có lưu lượng lên tới hàng gygabyte trên một giây!

    Bước 6: Những website bị tấn công thường không thể ngăn chặn được lưu lượng tấn công khổng lồ như trên và đành bị tổn thất hoặc ngưng hoạt động tạm thời. Cũng trong cuộc tấn công kể trên, Yahoo! đã bị tê liệt trong vòng 3 giờ bởi một cuộc tấn công dạng DDoS từ 3.500 máy tính trên toàn thế giới.

    Bước 7: Khi thủ phạm quyết định ngưng cuộc tấn công và gửi một chỉ dẫn đến các máy tính tham gia vào "trận đánh". Chính bởi vì thủ phạm không bao giờ tấn công trực tiếp vào "con mồi" nên cơ quan điều tra rất khó lần theo dấu vết của họ. Với đặc điểm trên, khó có ai khác ngoài thủ phạm có thể ngưng cuộc tấn công, bởi vì không thể ngay lập tức biết được đâu là nguồn gốc của cuộc tấn công trong số hàng ngàn máy tính nằm rải rác trong internet rộng lớn.    

    (A.I. Group)

     

    ID: B0205_40