Trong lĩnh vực công nghệ thông tin, sự phát triển luôn đi kèm với rủi ro. Bên cạnh những tiến bộ vượt bậc của công nghệ điện toán đám mây, Big Data, AI,... là những vụ tấn công mạng xuất hiện thường xuyên hơn, gây hậu quả nặng nề cho người dùng Internet. Hiện nay, có rất nhiều loại tội phạm trên không gian mạng, trong đó, tấn công DNS Amplification và Application Layer Attack là hai loại tấn công rất phổ biến và nguy hiểm. Đây là các hình thức xâm nhập trái phép vào một hệ thống máy tính, website, cơ sở dữ liệu, hạ tầng mạng, thiết bị của một cá nhân hoặc tổ chức thông qua mạng Internet với mục đích đánh cắp, thay đổi, mã hóa, phá hủy... dữ liệu của người dùng.
1. Tấn công DNS Amplification
Tấn công DNS Amplification là một kiểu tấn công phản chiếu, nhằm thao túng và có thể truy cập công khai các hệ thống phân giải tên miền (Domain Name System - DNS), khiến chúng trở thành mục tiêu với số lượng lớn các gói UDP (User Datagram Protocol - một phần của bộ giao thức Internet). Bằng cách sử dụng nhiều kỹ thuật khác nhau, thủ phạm có thể “thổi phồng” kích thước của các gói UDP này, khiến cuộc tấn công trở nên mạnh mẽ đến mức phá hủy cả cơ sở hạ tầng Internet mạnh nhất.
DNS Amplification là một cuộc tấn công DDoS (Distributed Denial of Service), trong đó kẻ tấn công khai thác các lỗ hổng trong những DNS để biến các truy vấn nhỏ ban đầu thành những payload (tải trọng) lớn hơn nhiều, được sử dụng để “hạ gục” máy chủ của nạn nhân.
Cách thức tấn công
DNS Amplification, giống như các cuộc tấn công khuếch đại khác, là một loại tấn công phản chiếu. Trong trường hợp này, việc phản chiếu đạt được bằng cách gợi ra phản hồi từ trình phân giải DNS tới một địa chỉ IP giả mạo.
Trong một cuộc tấn công DNS Amplification, thủ phạm sẽ gửi một truy vấn DNS có địa chỉ IP giả mạo (của nạn nhân) tới một trình phân giải DNS đang mở, khiến nó trả lời lại địa chỉ đó bằng phản hồi DNS. Với nhiều truy vấn giả được gửi đi và với một số trình phân giải DNS trả lời lại, mạng của nạn nhân có thể dễ dàng bị “choáng ngợp” bởi số lượng phản hồi DNS không kiểm soát.
Các đòn phản kích càng nguy hiểm hơn khi được khuếch đại. “Khuếch đại” ở đây đề cập đến việc phản hồi của máy chủ không tương xứng với yêu cầu gói ban đầu được gửi.
Để khuếch đại một cuộc tấn công DNS như thế này, mỗi yêu cầu DNS có thể được gửi bằng phần mở rộng giao thức DNS, cho phép các DNS Message lớn hoặc sử dụng tính năng mật mã của DNS (DNS Security Extension) nhằm tăng kích thước Message. Các truy vấn giả mạo thuộc loại “ANY” (bất kỳ), trả lại tất cả thông tin đã biết về vùng DNS trong một yêu cầu duy nhất cũng có thể được sử dụng.
Thông qua các phương pháp này và những phương pháp khác, một thông báo yêu cầu DNS có kích thước khoảng 60 byte có thể được cấu hình để gửi thông báo phản hồi trên 4000 byte tới máy chủ đích - dẫn đến hệ số khuếch đại 70:1. Điều này làm tăng đáng kể khối lượng lưu lượng truy cập mà máy chủ mục tiêu nhận được và tăng tốc độ cạn kiệt tài nguyên của máy chủ.
Hơn nữa, các cuộc tấn công DNS Amplification thường chuyển tiếp các yêu cầu DNS thông qua một hoặc nhiều mạng Botnet - làm tăng đáng kể lưu lượng truy cập trực tiếp vào các máy chủ được nhắm mục tiêu và khiến việc theo dõi danh tính của kẻ tấn công gặp khó hơn.
Cách ngăn chặn cuộc tấn công DNS Amplification
Các cách phổ biến để ngăn chặn hoặc giảm thiểu tác động của các cuộc tấn công DNS Amplification bao gồm thắt chặt bảo mật DNS Server (máy chủ), chặn những DNS Server cụ thể hoặc tất cả các máy chủ chuyển tiếp đệ quy (Recursive Relay Server) và giới hạn tốc độ. Tuy nhiên, những phương pháp này không loại bỏ các nguồn tấn công, cũng như không làm giảm tải trên mạng và chuyển đổi giữa máy chủ định danh (Name Server) và máy chủ đệ quy (Recursive Server) mở. Ngoài ra, việc chặn tất cả lưu lượng truy cập từ các máy chủ đệ quy mở có thể cản trở những nỗ lực giao tiếp DNS hợp pháp. Chẳng hạn, một số tổ chức duy trì máy chủ đệ quy mở để nhân viên làm việc trên thiết bị di động có thể phân giải từ máy chủ định danh “đáng tin cậy”. Việc chặn lưu lượng truy cập từ các máy chủ này có thể cản trở quyền truy cập của họ.
Bảo vệ trình phân giải ở chế độ riêng
Nếu vận hành trình phân giải của riêng mình, việc sử dụng trình phân giải đó nên được giới hạn cho người dùng trên mạng để giúp ngăn bộ nhớ đệm (Cache) của nó bị nhiễm độc bởi tin tặc bên ngoài.
Hãy đảm bảo thiết bị được bảo mật nhất có thể để chống lại việc lây nhiễm phần mềm độc hại vào Cache. Các biện pháp bảo vệ được tích hợp trong phần mềm DNS bảo vệ chống lại việc lây nhiễm sang bộ nhớ Cache bao gồm thêm tính năng thay đổi đối với các yêu cầu gửi đi, khiến Hacker khó nhận được phản hồi không có thật. Các cách có thể thực hiện điều này bao gồm:
- Sử dụng một cổng nguồn ngẫu nhiên.
- Ngẫu nhiên hóa ID truy vấn.
- Đặt ngẫu nhiên các chữ cái viết hoa, viết thường trong tên miền gửi đi để phân giải. (Đó là vì máy chủ định danh sẽ xử lý example.com và ExaMPle.com giống nhau khi phân giải địa chỉ IP, nhưng nó sẽ phản hồi bằng cách sử dụng cùng một kiểu viết như truy vấn ban đầu).
Quản lý bảo mật DNS Server
Khi nói đến các máy chủ có thẩm quyền, bạn cần quyết định tự mình quản lý bảo mật chúng hay làm việc đó thông qua nhà cung cấp dịch vụ hoặc công ty đăng ký tên miền (Domain name). Các chuyên gia cho rằng: “Không ai quan tâm đến bảo mật của mình nhiều hơn chính mình, vì vậy nên tự quản lý bảo mật, nếu có đủ kỹ năng để làm như vậy”.
Nếu không có những kỹ năng đó, thì nên nhờ bên thứ ba làm điều đó thay cho mình. Đó không chỉ là vấn đề chuyên môn mà còn liên quan đến quy mô vì nhiều tổ chức cần phải có DNS Server ở nhiều nơi trên thế giới.
2. Tấn công Application Layer Attack
Application Layer Attack là các cuộc tấn công lớp ứng dụng hay tấn công DDoS lớp 7 (L7), đề cập đến một loại hành vi độc hại được thiết kế để nhắm mục tiêu đến lớp “trên cùng” trong mô hình OSI (Open System Interconnection Basic Reference), nơi xảy ra các yêu cầu Internet phổ biến như HTTP GET và HTTP POST. Các cuộc tấn công L7 này trái ngược với những cuộc tấn công lớp mạng như DNS Amplification, đặc biệt hiệu quả do chúng tiêu thụ tài nguyên máy chủ, ngoài tài nguyên mạng.
Application Layer Attack nhắm mục tiêu đến lớp “trên cùng” trong mô hình tham chiếu kết nối các hệ thống mở (OSI), nơi xảy ra các yêu cầu Internet phổ biến như HTTP GET và HTTP POST
Cách thức hoạt động của Application Layer Attack
Hiệu quả cơ bản của hầu hết các cuộc tấn công DDoS đến từ sự chênh lệch giữa lượng tài nguyên cần thiết để thực hiện một cuộc tấn công so với lượng tài nguyên cần để xử lý hoặc giảm thiểu cuộc tấn công đó. Trong khi điều này vẫn xảy ra với các cuộc tấn công L7, thì hiệu quả của việc ảnh hưởng đến cả máy chủ được nhắm mục tiêu và mạng đòi hỏi tổng băng thông ít hơn để đạt được hiệu ứng gián đoạn tương tự. Một cuộc tấn công lớp ứng dụng tạo ra nhiều thiệt hại hơn với tổng băng thông ít hơn.
Hãy xem xét sự khác biệt về mức tiêu thụ tài nguyên tương đối giữa một máy trạm (Client) đưa ra yêu cầu và Server phản hồi yêu cầu. Khi người dùng gửi yêu cầu đăng nhập vào tài khoản trực tuyến chẳng hạn như tài khoản Gmail, lượng dữ liệu và tài nguyên mà máy tính của người dùng phải sử dụng là tối thiểu và không tương xứng với lượng tài nguyên được sử dụng trong quá trình kiểm tra thông tin đăng nhập, tải dữ liệu người dùng có liên quan từ cơ sở dữ liệu, sau đó gửi lại phản hồi có chứa trang Web được yêu cầu.
Ngay cả khi không có thông tin đăng nhập, nhiều lần Server nhận được yêu cầu từ Client phải thực hiện các truy vấn cơ sở dữ liệu hoặc những lệnh gọi giao diện lập trình ứng dụng (Application Programming Interface - API) khác để tạo ra một trang Web. Khi sự chênh lệch này được tăng lên do nhiều thiết bị nhắm mục tiêu vào một thuộc tính web, như trong một cuộc tấn công mạng Botnet, hiệu ứng có thể áp đảo máy chủ được nhắm mục tiêu, dẫn đến hiện tượng từ chối dịch vụ đối với lưu lượng truy cập hợp pháp. Trong nhiều trường hợp, chỉ cần nhắm mục tiêu một API với một cuộc tấn công L7 là đủ để đưa dịch vụ vào trạng thái ngoại tuyến.
Rất khó để phân biệt giữa lưu lượng tấn công và lưu lượng thông thường, đặc biệt là trong trường hợp tấn công lớp ứng dụng, chẳng hạn như Botnet thực hiện tấn công HTTP Flood đối với máy chủ của nạn nhân. Bởi vì, mỗi Bot trong mạng Botnet thực hiện các yêu cầu mạng dường như hợp pháp, lưu lượng truy cập không bị giả mạo và có thể xuất hiện với nguồn gốc “bình thường”.
Các cuộc tấn công lớp ứng dụng yêu cầu một chiến lược thích ứng bao gồm khả năng giới hạn lưu lượng truy cập dựa trên những bộ quy tắc cụ thể, có thể thay đổi thường xuyên. Các công cụ như tường lửa ứng dụng web (WAF) được cấu hình đúng cách có thể giảm thiểu lượng lưu lượng truy cập không có thật được chuyển đến Server gốc, giảm đáng kể tác động của nỗ lực tấn công DDoS.
Với các cuộc tấn công khác như SYN Flood hay NTP Amplification, các chiến lược có thể được sử dụng để giảm lưu lượng truy cập khá hiệu quả, miễn là bản thân mạng có băng thông để nhận chúng. Hầu hết các mạng không thể chịu được một cuộc tấn công khuếch đại máy chủ 300Gbps và thậm chí còn có ít mạng có thể định tuyến và phục vụ khối lượng yêu cầu lớp ứng dụng mà một cuộc tấn công L7 có thể tạo ra hơn.
Phòng ngừa Application Layer Attack
Sử dụng WAF là một biện pháp giảm thiểu các cuộc tấn công DDoS tầng 7. Theo đó, WAF sẽ lọc các yêu cầu truy cập dựa vào một quy tắc nhất định. Từ đó giúp máy chủ tránh khỏi một số lượng truy cập độc hại.
Giới hạn số lượng yêu cầu trong khả năng máy chủ có thể chấp nhận trong một khoảng thời gian nhất định là cách tốt nhất để giảm thiểu hậu quả DDoS gây ra. Việc giới hạn gửi yêu cầu sẽ làm chậm quá trình tấn công của tin tặc. Tuy nhiên, nếu chỉ sử dụng một phương pháp này thì các Hacker vẫn có thể khiến người dùng gặp rắc rối với các kiểu DDoS phức tạp.
Ngoài ra, một giải pháp được đa số quản trị viên mạng thực hiện để phòng tránh các cuộc tấn công DDoS đó là tạo một tuyến đường lỗ đen để chuyển các lưu lượng truy cập vào đó, nhằm tránh tình trạng quá tải trên hệ thống. Khi Website gặp phải một cuộc tấn công từ chối dịch vụ, nhà cung cấp dịch vụ Internet có thể đưa tất cả lưu lượng truy cập quá tải từ Website vào lỗ đen để tự bảo vệ mình.
Nguyễn Minh Dũng
Cục Công nghệ thông tin, Ngân hàng Nhà nước