Một mơ hình tấn cơng từ chối dịch vụ DOS

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng hệ thống giám sát sự thay đổi nội dung website (Trang 38)

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

Là phương thức xuất hiện đầu tiên, giản đơn nhất trong kiểu tấn công từ chối dịch vụ. Các kiểu tấn công thuộc phương thức này rất đa dạng:

+ Tấn công chiếm dụng tài nguyên (Resource Depletion):

Bằng cách lạm dụng quá trình giao tiếp của giao thức mạng hoặc những gói tin dị thường, kẻ tấn cơng sẽ chiếm dụng nguồn tài nguyên hệ thống như bộ nhớ (RAM) và bộ vi xử lý (CPU)… khiến cho người dùng chia sẻ không truy xuất được hệ thống do hệ thống không đủ khả năng xử lý.

Được xem là một trong những kiểu tấn công DOS kinh điển nhất. Lợi dụng sơ hở của thủ tục TCP khi “bắt tay ba chiều”, mỗi khi máy khách (client) muốn thực hiện kết nối (connection) với máy chủ (server) thì nó thực hiện việc bắt tay ba lần (three-ways-handshake) thơng qua các gói tin (packet).

- Bước 1: Máy trạm sẽ gửi các gói tin (packet chứa SYN=1) đến máy chủ để yêu cầu kết nối.

- Bước 2: Khi nhận được gói tin này, máy chủ sẽ gửi lại gói tin SYN/ACK để thơng báo cho máy trạm biết là nó đã nhận được yêu cầu kết nối và chuẩn bị tài nguyên cho việc yêu cầu này. Máy chủ sẽ giành một phần tài nguyên hệ thống như bộ nhớ đệm (cache) để nhận và truyền dữ liệu. Ngồi ra, các thơng tin khác của máy trạm client như địa chỉ IP và cổng (port) cũng được ghi nhận.

- Bước 3: Cuối cùng, máy trạm hoàn tất việc bắt tay ba lần bằng cách hồi âm lại gói tin chứa ACK cho máy chủ và tiến hành kết nối.

Do TCP là thủ tục tin cậy trong việc giao nhận (end-to-end) nên trong lần bắt tay thứ hai, server gửi các gói tin SYN/ACK trả lời lại máy trạm mà không nhận lại được hồi âm của máy trạm để thực hiện kết nối thì nó vẫn bảo lưu nguồn tài ngun chuẩn bị kết nối đó và lập lại việc gửi gói tin SYN/ACK cho máy trạm đến khi nào nhận được hồi đáp của máy máy trạm.

Điểm mấu chốt là ở đây là làm cho máy trạm không hồi đáp cho máy chủ. Và có nhiều máy trạm như thế trong khi máy chủ vẫn tiếp tục lặp lại việc gửi gói tin (packet) đó và giành tài nguyên để chờ phản hồi trong lúc tài nguyên của hệ thống là có giới hạn. Kẻ tấn cơng sẽ tìm cách để đạt đến giới hạn đó.

Nếu q trình đó kéo dài, máy chủ sẽ nhanh chóng trở nên quá tải, dẫn đến tình trạng treo (crash), nên các yêu cầu hợp lệ sẽ bị từ chối không thể đáp ứng được.

Hình 1.5. Mơ hình tấn cơng SYNFlood Attack

Về nguyên tắc, các website đặt trên máy chủ khi chạy sẽ tiêu lượng tài nguyên máy chủ nhất định, nhất là lượng bộ nhớ (RAM) và bộ vi xử lý (CPU). Dựa vào việc tiêu hao đó, những kẻ tấn công đơn giản là dùng các phần mềm như Smurf chẳng hạn để liên tục yêu cầu máy chủ phục vụ trang web đó để chiếm dụng tài nguyên. Cách tấn công này tuy không làm máy chủ ngừng cung cấp dịch vụ hoàn toàn nhưng sẽ làm cho tốc độ phục vụ của toàn bộ hệ thống giảm mạnh, người dùng sẽ cảm nhận rõ ràng việc phải chờ lâu hơn để trang web hiện ra trên màn hình. Nếu thực hiện tấn công ồ ạt và có sự phối hợp nhịp nhàng, phương thức tấn cơng này hồn tồn có thể làm tê liệt máy chủ trong một thời gian dài.

+ Tấn công chiếm dụng băng thông (Bandwidth Depletion): Có 2 loại tấn cơng chính:

- Thứ nhất là làm ngập bằng cách gửi liên tục các gói tin có kích thước lớn đến hệ thống nạn nhân, làm nghẽn băng thông nạn nhân.

- Thứ hai là sử dụng mạng khuếch đại, kẻ tấn công gửi thông tin đến một địa chỉ phát quảng bá (broadcast), tất cả hệ thống trong mạng con nạn nhân (victim) trong phạm vi bởi địa chỉ quảng bá sẽ gửi lại hệ thống nạn nhân một

thông điệp phản hồi cho máy nạn nhân chấp nhận trao đổi dữ liệu. Phương pháp này khuếch đại dòng lưu lượng làm cho hệ thống nạn nhân giảm băng thơng đáng kể.

1.5.3.4. Phịng chống tấn cơng DOS

Có ba giai đoạn chính trong q trình phịng chống tấn cơng DOS:

- Giai đoạn ngăn ngừa: Tối thiểu hóa lượng Agent, tìm và vơ hiệu hóa các Handler.

- Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn công, làm suy giảm và dừng cuộc tấn công, chuyển hướng cuộc tấn công.

- Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh nghiệm. Các giai đoạn chi tiết trong phòng chống DOS:

Tối thiểu hóa số lượng Agent:

- Từ phía người dùng (user): một phương pháp rất tốt để năng ngừa tấn công DOS là từng người dùng mạng 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 người dùng mạng. Các người dùng mạng 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. 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 đoạn mã (code) nguy hiểm v ào p h ầ n c ứ n g ( hardware) và phần mềm ( software) của từng hệ thống. Về phía người dùng mạng họ nên cài đặt và cập nhật liên tục các phần mềm phòng chống virus, các bản sửa lỗi của hệ điều hành.

Tìm và vơ hiệu hóa các bộ xử lý (handler):

Một nhân tố vô cùng quan trọng trong t ấ n c ô n g m ạ n g ( attack- network) là bộ xử lý ( h andler), nếu có thể phát hiện và vơ hiệu hóa bộ xử lý thì khả năng phịng chống tấn cơng DOS thành cơng là rất cao.

Làm suy giảm hay dừng cuộc tấn công: Dùng các kỹ thuật sau:

- Thiết lập kiến trúc cân bằng tải trọng điểm cho các máy chủ (Load balancing): 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 DOS. 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.

- Thiết lập cơ chế điều tiết trên bộ định tuyến (Throttling): quy định một khoảng tải hợp lý mà máy chủ 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 DOS không cho người dùng truy cập dịch vụ.

- Thiết lập cơ chế huỷ yêu cầu (drop request): nếu nó vi phạm một số quy định như: thời gian trễ (delay) kéo dài, tốn nhiều tài nguyên để xử lý, gây ra sự tắc nghẽn (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.

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

Honeypots: Một kỹ thuật đang được nghiên cứu là Honeypots. Honeypots là một hệ thống được thiết kế nhằm đánh lừa kẻ tấn công (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ự.

Honeypots rất hiệu quả trong việc phát hiện và xử lý xâm nhập, vì trên Honeypots đã thiết lập sẵn các cơ chế giám sát và báo động.

Ngồi ra Honeypots cịn có giá trị trong việc học hỏi và rút kinh nghiệm từ kẻ tấn công, do Honeypots ghi nhận khá chi tiết mọi động thái của kẻ tấn công trên hệ thống. Nếu kẻ tấn công bị đánh lừa và cài đặt Agent hay Handler lên Honeypots thì khả năng bị triệt tiêu tồn bộ sự tấn công là rất cao.

1.6. Kết luận chương 1

Trong chương 1 luận văn đã nêu lên một số các khái niệm cơ bản về web, các dịch vụ và ứng dụng của Website. Đánh giá tổng quan tình hình mất an ninh, an tồn trên nền web, nêu vai trị và mục đích của việc theo dõi sự thay đổi nội dung Website phân tích đánh giá một số kiểu tấn cơng phổ biến trên website hiện nay và cách phịng chống các kiểu tấn cơng này. Trong chương tiếp theo tác giả tiếp tục tìm hiểu một số phương pháp đảm bảo an ninh Website và các thuật toán giám sát.

CHƯƠNG 2

CÁC THUẬT TOÁN GIÁM SÁT VÀ MỘT SỐ PHƯƠNG PHÁP ĐẢM BẢO AN NINH WEBSITE 2.1. Một số phương pháp đảm bảo an ninh Website

2.1.1. Đảm bảo an ninh hệ điều hành Webserver

Tất cả các Webserver phổ biến hiện nay đều hoạt động trên một hệ điều hành (HĐH) có mục đích chung. Nhiều vấn đề bảo mật có thể tránh được nếu các HĐH của những Webserver đó được cấu hình thích hợp. Bởi vì các nhà sản xuất không biết hết các nhu cầu an ninh của mỗi cơ quan, nên mỗi quản trị viên Webserver phải cấu hình các máy chủ mới để phản ánh các yêu cầu an ninh của cơ quan mình và cấu hình lại chúng theo sự thay đổi những yêu cầu đó.

5 bước cơ bản cần thiết để duy trì an ninh HĐH cơ bản:

 Lập kế hoạch cài đặt và triển khai của HĐH máy chủ và các thành phần khác cho Webserver đó.

 Vá và cập nhật HĐH máy chủ theo yêu cầu.

 Hardening (cứng hóa) và cấu hình HĐH máy chủ để giải quyết tương xứng vấn đề an ninh.

 Cài đặt và cấu hình các kiểm sốt bảo mật bổ sung (additional security controls), nếu cần thiết.

 Kiểm tra HĐH máy chủ để đảm bảo rằng bốn bước trước đó giải quyết đầy đủ tất cả các vấn đề an ninh.

2.1.1.1. Cài đặt và cấu hình hệ điều hành

- Gỡ bỏ (remove) hoặc vơ hiệu hóa (disable) các dịch vụ (services) và ứng dụng (applications) khơng cần thiết.

- Cấu hình xác thực người dùng HĐH.

- Cấu hình kiểm sốt tài ngun (Resource Controls) thích hợp.

- Cài đặt và cấu hình kiểm sốt anh ninh bổ sung (Additional Security Controls).

2.1.1.2. Kiểm tra an ninh hệ điều hành

Kiểm tra an ninh định kỳ HĐH là cách quan trọng để nhận biết các lỗ hổng và để đảm bảo rằng các biện pháp phòng ngừa an ninh đang tồn tại là hiệu quả. Các phương pháp phổ biến để kiểm tra các HĐH bao gồm quét (scanning) lỗ hổng và thử nghiệm thâm nhập. Quét lỗ hổng thường đòi hỏi sử dụng một máy quét (scanner) lỗ hổng tự động để quét một host hoặc một nhóm các host trên một mạng máy tính nhằm phát hiện các lỗ hổng ứng dụng, các lỗ hổng mạng, và các lỗ hổng hệ điều hành. Thử nghiệm thâm nhập là một quá trình thử nghiệm được thiết kế nhằm làm tổn thương một mạng (network) sử dụng các công cụ và các phương pháp học của một kẻ tấn công. Nó can dự một cách lặp đi lặp lại nhận biết và khai thác những khu vực yếu nhất của mạng này nhằm để đạt được quyền truy cập vào các phần còn lại của mạng, cuối cùng làm hại an ninh tổng thể của mạng đó.

Việc kiểm tra an ninh HĐH của Webserver nên được thực hiện trên một hệ thống riêng biệt.

2.1.2. Đảm bảo an ninh Webserver

Một khi HĐH được cài đặt và đảm bảo an ninh thì việc cài đặt phần mềm webserver (đã được chọn lựa) có thể bắt đầu. Trước khi bắt đầu q trình này hãy

đọc tài liệu webserver của nhà sản xuất một cách cẩn thận và hiểu rõ các tùy chọn khác nhau sẵn có suốt trong quá trình cài đặt.

Một server được cấu hình và/hoặc được vá lỗi một phần thì khơng nên để tiếp xúc trực tiếp với các mạng ngồi (ví dụ: Internet) hoặc người sử dụng bên ngoài. Ngoài ra, việc truy cập mạng nội bộ nên được giới hạn tối đa có thể cho tới khi tất cả các phần mềm được cài đặt, vá lỗi, và cấu hình một cách an tồn.

2.1.2.1. Cài đặt Webserver an tồn

Trong q trình cài đặt webserver, các bước sau đây cần được thực hiện:

 Cài đặt phần mềm webserver hoặc trên HĐH máy chủ chuyên dụng hoặc HĐH máy khách chuyên dụng nếu ảo hóa đang được sử dụng.

 Áp dụng bất kỳ bản vá lỗi hay nâng cấp nào để sửa chữa các lỗ hổng đã biết.

 Tạo một đĩa vật lý dành riêng hoặc phân vùng logic (tách biệt khỏi HĐH và ứng dụng webserver) cho nội dung Web.

 Hủy bỏ hoặc vơ hiệu hóa tất cả các dịch vụ được cài đặt bởi ứng dụng webserver mà không được yêu cầu (ví dụ: gopher, FTP, quản trị từ xa).

 Hủy bỏ hoặc vơ hiệu hóa tất cả các tài khoản đăng nhập mặc định không cần thiết được tạo ra khi cài đặt Webserver.

 Hủy bỏ tất cả tài liệu của nhà sản xuất khỏi máy chủ Web.

 Hủy bỏ tất cả ví dụ hoặc các file thử nghiệm khỏi server đó, bao gồm các script và mã thực thi.

 Áp dụng mẫu bảo mật thích hợp hoặc script cứng hóa (hardening script) cho server.

 Cấu hình lại biểu ngữ (banner) dịch vụ HTTP (và những thứ khác như yêu cầu), không thông báo loại và phiên bản của Webserver và HĐH.

2.1.2.2. Cấu hình kiểm sốt truy cập (Access Controls)

Hầu hết các HĐH máy chủ Webserver cung cấp khả năng định rõ các quyền truy cập riêng biệt cho các tập tin, các thiết bị, và các tài ngun tính tốn khác trên máy chủ đó. Bất kỳ thơng tin nào mà Webserver có thể truy cập sử dụng thì những điều khiển này đều có thể tiềm ẩn nguy cơ được phân phối cho tất cả các người dùng truy cập Website công khai này. Thiết lập quyền truy cập đúng cho cả HĐH và ứng dụng Webserver là vô cùng quan trọng; nếu không sẽ xảy ra trường hợp quá nhiều hoặc quá ít truy cập có thể được cấp cho người dùng. Những nhà quản trị Webserver nên cân nhắc làm thế nào tốt nhất để cấu hình kiểm sốt truy cập nhằm bảo vệ thông tin được lưu trữ trên các Webserver công khai từ hai quan điểm:

 Hạn chế truy cập các ứng dụng Webserver đến một tập con các tài nguyên tính tốn.

 Hạn chế truy cập của người dùng thông qua các kiểm soát truy cập bổ sung được thực thi bởi Webserver, nơi mà các mức chi tiết hơn của kiểm soát truy cập được yêu cầu.

Việc cài đặt phù hợp các kiểm sốt truy cập có thể giúp ngăn chặn tiết lộ thông tin nhạy cảm hoặc thông tin bị hạn chế mà khơng có ý định phổ biến cơng khai. Ngồi ra, kiểm sốt truy cập có thể được sử dụng để giới hạn việc sử dụng tài nguyên trong trường hợp một cuộc tấn công DoS vào Webserver xảy ra. Tương tự như vậy, kiểm soát điều khiển sẽ thực thi việc không cho các quản trị viên Webserver sửa đổi log, mà chỉ có duy nhất tiến trình của máy chủ Web được phép thêm vào các tập tin log.

Các tập tin điển hình mà việc truy cập nên được kiểm soát như sau:

 Các tập tin phần mềm ứng dụng và cấu hình.

 Các tập tin liên quan trực tiếp tới cơ chế bảo mật: Tập tin băm password và các tập tin khác được sử dụng trong xác thực; Tập tin chứa thông tin cho phép sử dụng trong việc kiểm soát truy cập; Tài liệu key mật mã được sử dụng trong các dịch vụ bảo mật, tồn vẹn, khơng từ chối.

 Các tập tin log của server và các tập tin kiểm tra hệ thống.

 Các tập tin phần mềm hệ thống và các tập tin cấu hình.

 Các tập tin nội dung Web.

2.1.2.3. Cấu hình thư mục nội dung Web an toàn

 Dành riêng một ổ cứng hoặc phân vùng logic cho nội dung Web và thiết lập các thư mục con có liên quan một cách riêng biệt cho các tập tin nội dung Webserver, bao gổm cả đồ họa nhưng không bao gồm các script và chương trình khác.

 Xác định một thư mục duy nhất dành riêng cho tất cả các script hoặc chương trình bên ngồi được thực hiện như là một phần của nội dung Webserver (ví dụ như CGI, ASP).

 Vơ hiệu hóa việc thực thi các script mà không riêng biệt dưới sự kiểm soát của các tài khoản quản trị (admin account).

 Vơ hiệu hóa việc sử dụng các link cứng (hard link) hoặc link biểu tượng (symbolic link) (ví dụ như là các shortcut cho Windows).

 Xác định một ma trận truy cập nội dung web hoàn chỉnh. Định rõ những thư mục và tập tin nào trong tài liệu webserver nên bị hạn chế và cái nào có thể truy cập (và bởi ai).

 Kiểm tra chính sách password của cơ quan và thiết lập mật khẩu tài khoản thích hợp (ví dụ: độ dài, độ phức tạp).

 Sử dụng tập tin robots.txt, nếu thích hợp.

 Cấu hình bảo vệ anti-spambot, nếu thích hợp (ví dụ: CAPTCHAs,

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu xây dựng hệ thống giám sát sự thay đổi nội dung website (Trang 38)

Tải bản đầy đủ (PDF)

(88 trang)