Tổng lượt truy cập

Tuesday, November 17, 2009

Các kiểu tấn công thường gặp

Đây chỉ là nội dung lý thuyết đơn thuần, nhưng nếu các bạn nắm được chúng ta dễ dàng debug một cuộc tấn công. Có nhiều cách khác nhau để tấn công vào một hệ thống đích. Có thể thực hiện việc đó bằng cách khai thác các điểm yếu đã biết trong một phần mềm hoặc lợi dụng các chính sách an ninh của tổ chức không được chặt chẽ. Một số kiểu tấn công và điểm yếu, bao gồm:

• Tấn công tràn bộ đệm - Buffer Overflow.

• Tấn công từ chối dịch vụ - Denial of Service (DoS).

• Tấn công từ chối dịch vụ phân tán - Distributed Denial of Service (DDoS).

• Cấu hình sai - Misconfigurations.

• Lạm dụng sự tin cậy.

• Tấn công Brute force.

• Các dịch vụ CGI (Computer Graphics Interface) và WWW.

• Cửa sau - Back doors và Trojans.

1. Tấn công tràn bộ đệm - Buffer Overflow Attacks

Kiểu tấn công này khai thác các phần mềm được viết không tốt để kẻ tấn công có thể thực thi bất kỳ mã lệnh nào trong hệ thống đích. Tình trạng tràn bộ đệm có thể xảy ra đối với một chương trình trong máy chủ, chương trình này sẵn dùng với những người dùng trong mạng, hoặc xảy ra đối với các chương trình trong hệ điều hành đa người dùng. Khi tình trạng này xảy ra, kẻ tấn công có thể thực hiện bất kỳ mã lệnh nào với đặc quyền của dịch vụ bị tấn công đó.

Ví dụ:

Nếu tiện ích sendmail (gửi thư điện tử) đang thực hiện với đặc quyền gốc - root privileges và xảy ra tình trạng tràn bộ đệm - buffer overflow, khi đó các lệnh thực hiện qua việc tràn bộ nhớ, sẽ cung cấp cho kẻ tấn công một cách thức để thực hiện các lệnh với đặc quyền gốc đó.

2. Tấn công từ chối dịch vụ - Denial of Service (DoS)

Tấn công từ chối dịch vụ - DoS là kết quả của việc những người dùng hợp pháp không thực hiện được các dịch vụ xác định của họ. Các tấn công loại này thường nhằm vào một trong ba đích sau:

- Kết nối mạng cung cấp truy nhập tới dịch vụ đó:

Bằng cách làm tràn lưu thông mạng, băng thông dành cho dịch vụ sẽ ít đi. Và nếu băng thông bị chiếm nhiều quá có thể dẫn đến dịch vụ bị từ chối đối với những người dùng hợp pháp.

Ví dụ:

Một ví dụ điển hình cho loại này là tấn công Smurf, dữ liệu sẽ được truyền –broadcast tới tất cả các địa chỉ trong mạng, địa chỉ người của lưu thôgn được coi là máy đích. Sau đó, tất cả các máy sẽ phản hồi lại máy đích này trong cùng một thời điểm gây một lượng lớn lưu thông trong mạng, dẫn đến tràn băng thông.

- Hệ điều hành quản lý dịch vụ dịch vụ đó:

Các hệ điều hành cũng rất dễ bị tấn công kiểu từ chối dịch vụ. Các tấn công dựa vào hệ điều hành được thực hiện nhà ngăn xếp mạng. Một lỗi sinh ra từ ngăn xếpn này có thể làm cho toàn bộ hệ điều hành bị treo hoặc khởi động lại trong khi lưu thông mạng trở nên bất thường. Khi đó người dùng hợp pháp cũng không thể sử dụng dịch vụ của mình được.

Ví dụ:

Một ví dụ được biết như là tấn công vượt khỏi biên đối với Windows NT- Out of Bound attack (OOB). Tấn công này làm hệ thống không làm việc được và xuất hiện một màn hình xanh bằng cách gửi ác gói IP xác định nào đó.

- Chương trình ứng dụng cung cấp dịch vụ này.

Các chương trình ứng dụng trong mạng cũng dễ bị tấn công từ chối dịch vụ theo cách giống như hệ điều hành. Khi lưu thông mạng gặp sự cố hoặc đầu vào không hợp lệ, chương trình ứng dụng có thể sẽ bị treo và không thể cung cấp dịch vụ của nó được nữa. Việc kiểm soát lỗi không tốt trong chương trình này cũng dễ dẫn tới kết quả tương tự.

3. Tấn công từ chối dịch vụ phân tán (DDoS)

Tấn công DDoS cũng có đích tương tự như tấn công DoD nhưng sử dụng một cách thức khác. Một máy chủ khởi chạy một mạng hay tấn công mức ứng dụng dựa vào một đích, sẽ bị ràng buộc bởi băng thông mạng mà nó sở hữu. Một số ví dụ phổ biến về loại tấn công này như:

• Stacheldraht.

• TFN.

• TFN2K.

• Trinoo.

4. Tấn công lạm dụng sự tin cậy - Abuse of Trust

Các giao thức mạng trước đây không được quan tâm nhiều đến vấn đề mã hóa và xác thực vì chúng được sử dụng trong các mạng tương đối nhỏ. Khi các hệ thống mạng lớn hơn thì nảy sinh khả năng khai thác các điểm yếu trong các giao thức đó. Một ví dụ là sử dụng một địa chỉ IP nguồn như là cách thức để thiết lập mối quan hệ tin cậy giữa hai hệ thống. Các tấn công thông thường khai thác điểm yếu này bằng cách chứng minh một địa chỉ máy chủ nào đó là tin cậy, và do đó có thể đạt được truy nhập vào một hệ thống đáng tin cậy cũng như tài nguyên của nó. Ví dụ điển hình là NFS và tiện ích “r” (rsh, rlogin).

5. Tấn công - Brute Force

Loại tấn công này có mục đích là cố gắng giành được truy nhập vào một hệ thống bằng cách lặp đi lặp lại một xác thực nào đó. Hầu hết các dịch vụ đều yêu cầu username và mật khẩu, và không yêu cầu cho việc lockout tài khoản, đây là một điểm yếu cho kiểu tấn công này. Phương thức Brute force thường được sử dụng để crack file mật khẩu. Các tool thường được sử dụng cho kiểu tấn công này như:

• crack – Một chương trình dựa vào Unix.

• L0phtcrack – Một chương trình dựa vào Windows.

Tấn công mạng dựa vào các dịch vụ có thể tốn nhiều thời gian hơn bởi vì thời điểm phản hồi phụ thuộc nhiều vào khả năng nạp - load của mạng. Có các tool để crack các dịch vụ sau:

• telnet.

• ftp.

• http.

• CGI logins.

Để tăng khả năng thành công cho tấn công brute force, cần phải biết một phần trong hai phần xác thực (username và mật khẩu). Điều này có thể làm được nhờ các điểm yếu khác của hệ thống hay mạng, ví dụ: lệnh finger trong UNIX cho biết tên của người dùng trong hệ thống, hay Null session, hoặc “dumpster diving” và một số phương pháp kỹ thuật khác.

Tấn công từ điển

Khi một username được thiết lập, kiểu tấn công từ điển sẽ thử các từ khác nhau trong từ điển (mật khẩu) cho đến khi tìm thấy từ thích hợp. Tuy nhiên cách này sẽ rất tốn thời gian nếu như mật khẩu dài và khối lượng từ trong từ điển lớn.

6. Các dịch vụ CGI và WWW

Các websites càng đưa ra nhiều những dịch vụ tương tác thì càng có nhiều những điểm yếu dựa vào web và CGI – giao diện đồ họa máy tính. Các điểm yếu CGI được chia làm 3 loại:

• Tràn bộ đệm -Buffer overflow.

Điều khiển sự thực hiện - Command execution.

Phá hỏng nguyên bản phía client.

7. Backdoors và Trojans

Các chương trình Trojans và backdoor đang trở thành những phương thức thông dụng để đạt được các truy nhập trái phép vào các hệ thống ở xa. Các cửa sau – Backdoor cung cấp cho kẻ tấn công một cách thức truy nhập dễ dàng vào một hệ thống ở xa mà không cần phải dựa vào việc khai thác các điểm yếu an toàn khác. Một backdoor đơn giản nhất có dạng là một lệnh Shell – lắng nghe các cổng đặc biệt. Một tool thường được sử dụng là NetCat sẵn dùng cho cả Windows và Unix. Một khi NetCat được cài đặt và lắng nghe cổng XXXX, một kẻ tấn công chỉ cần thâm nhập vào cổng XXXX và hiển thị bằng lệnh Shell ở xa.