1.5. Một số điểm yếu bảo mật và kỹ thuật tấn công Website
1.5.3. Tấn công từ chối dịch vụ DOS (Denial of Service)
1.5.3.1. Khái niệm
Theo Nguyễn Thanh Nghị (2008), trong cuốn “Tấn công từ chối dịch vụ Dos, Ddos, DRDos”, tấn công DOS là một kiểu tấn công mà kẻ tấn công làm cho hệ thống không thể sử dụng, hoặc làm cho hệ thống chậm đi một cách đáng kể so với bình thường, bằng cách làm quá tải tài nguyên của hệ thống.
Tuy kiểu tấn công này, kẻ tấn công không thể đăng nhập vào hệ thống nhưng chúng có thể làm cho hệ thống ngưng trệ, thậm trí sụp đổ và không có khả năng phục vụ người dùng bình thường, làm gián đoạn các dịch vụ mà hệ thống đó cung cấp.
1.5.3.2. Mục đích của tấn công DOS
Hầu hết những cuộc tấn công DOS đều chiếm băng thông mạng và làm ngập (flood) hệ thống mạng, khi đó những yêu cầu dịch vụ bình thường hệ thống sẽ không còn khả năng đáp ứng, chúng còn gây ra sự ngắt kết nối giữa các máy tính, quá trình truy cập vào dịch vụ cũng bị gián đoạn, mục đích kẻ tấn công là:
- Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên.
- Mục tiêu của tấn công DOS còn là chiếm băng thông mạng, ổ đĩa, bộ nhớ, cơ sở dữ liệu.
- Tấn công vào các hệ thống, thứ để vụ cho mạng máy tính như: điều hoà, hệ thống làm mát, hệ thống điện...
- Phá hoại hoặc thay đổi các thông tin cấu hình.
- Phá hoại tầng vật lý, các thiết bị mạng như điều hoà, nguồn điện…
Hình 4. Một mô hình tấn công từ chối dịch vụ DOS
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ý.
+ Tấn công SYN:
Được xem là một trong những kiểu tấn công DOS kinh điển nhất. Trong thủ tục “bắt tay ba chiều” của TCP có những sơ hở mà kẻ tấn công chó thể lợi dụng như mỗi khi máy khách muốn thực hiện kết nối tới máy chủ thì nó cần thực hiện việc bắt tay ba lần (three-ways-handshake) thông qua các gói tin, từ đó khởi đầu cho cuộc tấn công.
- 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ủ khi đó 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. Ngoà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 nguyên 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 quá 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 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 hoàn toà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: 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
Để phòng chống tấn công DOS, có ba giai đoạn chính cần quan tâm:
- Giai đoạn ngăn ngừa gồm: 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: đó là khi phát hiện ra cuộc tấn công, lúc đó cần ngăn chặn, làm suy giảm, dừng hoặc chuyển hướng cuộc tấn công.
- Giai đoạn sau khi tấn công: sau khi cuộc tấn công sảy ra cần phân tích các dữ liệu để tìm các chứng cứ và rút kinh nghiệm để phòng chống các cuộc tấn công sau.
CHƢƠNG 2: TẤN CÔNG THAY ĐỔI NỘI DUNG VÀ MỘT SỐ THUẬT TOÁN PHÁT HIỆN SỰ THAY ĐỔI
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, thực trạng an ninh Web trên thế giới và tại Việt Nam, một số lỗ hổng an ninh trên Website, một số điểm yếu bảo mật và kỹ thuật tấn công Website.
Với những lỗ hổng an ninh đó đều có thể làm tiền đề cho những cuộc tấn công vào hệ thống website, trong đó có Tấn công thay đổi nội dung (Deface website).