• Thứ Tư, 25/05/2005 10:36 (GMT+7)

    Man In The Middle và phương pháp phòng chống


    Để chẩn đoán và khắc phục sự cố mạng, các nhà quản trị hệ thống thường sử dụng các chương trình phân tích gói tin như Network Monitor, Sniffer Pro... Tuy nhiên, đây cũng là những công cụ thường được hacker sử dụng để “nghe lén” hệ thống mạng và lấy cắp các thông tin nhạy cảm như username (tên đăng nhập), password (mật mã đăng nhập) hay các thông tin quan trọng khác.

    Để đối phó với mối nguy hiểm này, chúng ta sử dụng thiết bị chuyển mạch như switch để bảo đảm các gói tin chỉ được truyền đến đúng máy tính có địa chỉ thích hợp chứ không truyền cho tất cả các máy trong hệ thống mạng nội bộ (LAN) mà người ta thường gọi bằng thuật ngữ truyền thông broadcast.

    Nhưng thật không may, ngay cả với mạng dùng switch chúng ta vẫn có thể bị tấn công bởi các chương trình phân tích gói tin mạnh như dsniff, snort hay ettercap (chương trình được mệnh danh là Lord Of The TokenRing). Ettercap có thể giả danh địa chỉ MAC của card mạng máy tính bị tấn công, thay vì gói tin được truyền đến máy tính cần đến thì nó lại được chuyển đến máy tính có cài đặt ettercap trước rồi sau đó mới truyền đến máy tính đích. Đây là một dạng tấn công rất nguy hiểm được gọi là Man In The Middle, trong trường hợp này phiên làm việc giữa máy gửi và máy nhận vẫn diễn ra bình thường nên người sử dụng không hề hay biết mình đang bị tấn công, giống như trường hợp bị đặt máy nghe lén mà chúng ta thường gặp trên phim ảnh. Những chương trình dạng này thường được gọi là sniffer.

    Trong quá trình tư vấn cho một số công ty cũng như giảng dạy, tôi nhận thấy đây là một trong những trường hợp tấn công thường xảy ra nhất và do chính người sử dụng trong mạng nội bộ gây ra (hoặc những người có khả năng tương tác trực tiếp với hệ thống).

    Những nhà quản trị hệ thống hay người chịu trách nhiệm về vấn đề an toàn cho dữ liệu trong quá trình truyền thông cần phải nắm rõ cả hai khía cạnh của vấn đề: cách tấn công và giải pháp phòng ngừa, nói theo ngôn ngữ binh pháp là biết người biết ta, trăm trận không nguy.

    Man In The Middle với Ettercap
    Bạn có thể tải ettercap từ website http://rpmfind.net hay http://ettercap.sourceforge.net, và tiến hành cài đặt trên một máy chạy hệ điều hành Linux như sau (ettercap cũng có phiên bản cho Windows XP/2000):

    #rpm –ivh ettercap-0.6.9-1.7.2.i386

    Nếu tập tin ettercap là tập tin nén dạng tar thì hãy giải nén bằng lệnh tar và tiến hành cài đặt bằng các dòng lệnh:

    #tar –zxvf ettercap-0.6.9-1.7.2.i386.tar
    #cd ettercap-0.6.9-1.7.2
    #./configure && make && make install

    Sau khi cài đặt hoàn tất, ta khởi động quá trình phân tích gói tin bằng cách gõ lệnh ettercap (ở cửa sổ console), chọn card mạng muốn kiểm tra. Sau khi kiểm tra xong, màn hình ettercap sẽ xuất hiện danh sách các máy tính đang hoạt động trong mạng được chia làm hai phần nguồn (bên trái) và đích (bên phải).
    Để lưu giữ được nhiều thông tin nhất, ta có thể để trống khung nguồn và chọn đích là default gateway trên hệ thống của mình, nghĩa là bạn sẽ đứng giữa thiết bị dùng để truy cập các lớp mạng khác (thông thường là mạng Internet) và các máy trạm trong mạng. Nhấn phím A để bắt đầu “bắt” các gói tin, chỉ sau một thời gian ngắn bạn sẽ thấy rất nhiều thông tin xuất hiện trên màn hình, trong đó có những thông tin nhạy cảm như username, password của các ứng dụng quan trọng được truyền đi mà không được mã hóa như pop3, ftp... (Hình 1).
    Thậm chí, bạn có thể bắt giữ được cả những tin nhắn của Y!Messenger bằng cách chọn chỉ mục tương ứng rồi nhấn Enter (Hình 2).
    Hoặc khi người sử dụng đang xem các tập tin trên Internet hay tải về thông qua giao thức http, bạn cũng có thể bắt giữ bằng cách nhấn phím P và chọn plug-in thứ 13.
    Bạn có thể lưu các thông tin bắt được thành một tập tin bằng cách nhấn phím L.

    Giải pháp phòng chống
    Qua một số ví dụ trên, chúng ta nhận thấy các thông tin quan trọng và những tập tin riêng tư có thể bị đánh cắp khá dễ dàng. Để phòng ngừa các trường hợp như vậy, chúng ta không nên tiến hành các hình thức chứng thực username và password dưới dạng văn bản đơn thuần (không mã hóa) mà nên mã hóa chúng bằng IPSec hay SSL. Tuy nhiên, không phải lúc nào chúng ta cũng có thể thực hiện được các giải pháp này và cũng không phải lúc nào các giải pháp đó cũng mang lại hiệu quả tốt nhất (vẫn có thể bị các chương trình như dsniff hay ettercap bẻ khoá). Do đó, trong vai trò quản trị mạng, cách tốt nhất là bạn thường xuyên giám sát các hành động bất thường trong hệ thống của mình để đưa ra hành động thích hợp.
    Như trong trường hợp ở trên, hệ thống bị tấn công do cơ chế giả danh ARP (hay còn gọi bằng thuật ngữ “spoofing arp”) - một giao thức dùng để phân giải địa chỉ vật lý MAC của máy tính. Ta có thể dùng arpwatch giám sát các thông tin arp trong hệ thống để phát hiện khi bị tấn công bằng các phương pháp spoofing arp hay sniffer. Hoặc bạn tiến hành cài đặt các hệ thống IDS như Snort, GFI để phát hiện các hành động bất thường trên mạng.
    Thật tế, bạn có thể dùng chính etteracp để dò tìm ra chính nó cũng như các chương trình sniffer khác trên mạng theo phương pháp Dĩ Độc Trị Độc. Ettercap có hai plug-in rất hữu ích, một dùng để tìm kiếm các máy tính chạy chương trình ettercap khác trên mạng và plug-in còn lại dùng để phát hiện các chương trình sniffer khả nghi khác. Ví dụ, nếu nghi ngờ có ai đó đang “nghe lén” trên mạng, bạn khởi động ettercap và nhấn phím P sau đó chọn plug-in đầu tiên sẽ tìm ra các máy đang chạy ettercap. Còn khi đối phương sử dụng các chương trình khác như dsniff, ta có thể dò tìm thông qua plug-in thứ 15 là arpcop, lúc đó một cửa sổ mới sẽ hiển thị những máy tính đang chạy các chương trình spoofing arp trên mạng.
    Khi xác nhận được đối tượng, ta có thể tiến hành cô lập máy tính này khỏi mạng ngay lập tức bằng cách chọn P và chọn plug-in thứ 23 tên là leech và sau đó chọn Yes, nhấn Enter. Một số người quản trị hệ thống còn dùng ettercap để phát hiện các máy bị nhiễm virus đang phát tán trên mạng rồi cô lập chúng bằng leech sau đó diệt bằng các chương trình chống virus rất hiệu quả.

    Kết luận
    Cách tốt nhất để giữ an toàn cho hệ thống mạng của mình là nên thường xuyên giám sát hệ thống cũng như có các chính sách để ngăn ngừa các trường hợp gây hại vô tình hay cố ý của người sử dụng. Thông qua việc thực hiện các chính sách hợp lý, chúng ta có thể quy định những chương trình không nên sử dụng cũng như các hành động bị nghiêm cấm, như tiến hành thao tác phân tích gói tin, trừ khi phục vụ cho mục đích đặc biệt để xử lý sự cố mạng. Hy vọng bài viết này sẽ giúp bạn có được những biện pháp thích hợp để phòng chống và giảm thiểu tối đa những thiệt hại cho mạng.

    An Toàn
    securiteam@consultant.com
     

    ID: A0505_122