Thursday, September 28, 2017

Phát hiện botnet dựa trên truy vấn DNS - Phần I

Tóm tắt
Ngày nay, Botnet trở thành một vấn đề nhức nhối và nghiêm trọng trong sử dụng Internet, nó gây ra sự tổn thất về mặt kinh tế cho các cá nhân và tổ chức. Botnet là một nhóm các máy tính bị xâm phạm chạy chương trình độc hại cho mục đích xấu, và được gọi là bots. Điều đáng nói ở đây là khuynh hướng hiện nay của botnets là che dấu danh tính của chúng (ví dụ: the Command & Control server) sử dụng dịch vụ DNS nhằm hạn chế sự nhận diện chúng. May mắn thay, có nhiều hướng tiếp cận khác nhau đã được đề xuất để giải quyết vấn đề botnets. Tuy nhiên, vấn đề này vẫn gia tăng và nổi lên gây ra mối đe dọa nghiêm trọng dựa trên không gian mạng của các doanh nghiệp và cá nhân. Do đó, trong bài viết này đi đến khám phá một vài kỹ thuật phát hiện botnets thông qua cung cấp khảo sát để quan sát trạng thái hiện tại trong lĩnh vực kỹ thuật phát hiện botnet dựa trên phân tích truy vấn DNS. Để tốt nhất cho kiến thức của chúng ta, đây là một khảo sát thảo luận đầu tiên về kỹ thuật phát hiện botnet dựa vào DNS bao gồm các vấn đề, các giải pháp tồn tại, định hướng nghiên cứu trong tương lai trong lĩnh vực phát hiện botnet dựa vào phân tích truy vấn DNS có một cơ chế phát hiện botnet một cách hiệu quả trong tương lai được khám phá và làm rõ.


Giới thiệu
Trong cuộc sống hàng ngày của chúng ta gia tăng sự phụ thuộc vào Internet, thêm vào đó là rất nhiều thách thức trong việc quản lý Internet và sử dụng các ứng dụng như là: bảo vệ, an toàn, toàn vẹn và khả dụng dữ liệu người dùng. Trong những năm gần đây, Intenet đóng một vai trò chính trong cuộc sống của chúng ta, đặc biệt trong truyền thông, giáo dục, dịch vụ công, ngân hàng và thương mại [1]. Không may mắn là việc gia tăng nhu cầu sử dụng các ứng dụng trở thành mối đe dọa đến tính riêng tư và an toàn dữ liệu của người dùng [2]. Botnet là mộ phần mềm điều khiển máy tính với mục đích độc hại, gọi là bots. Bots là những kịch bản nhỏ đã được xây dựng để thực hiện những tác vụ tự động và đặc biệt [3]. Những bots này được điều khiển bởi một hay một nhóm nhỏ hackers gọi là “botmaster” [4]. Theo thống kê của McAfee Labs, số phần mềm độc hại mới được phát hiện đạt tới 50 triệu trong quý 4 năm 2014 và có thể đạt tới nửa tỷ vào cuối năm 2015. Hơn nữa, lưu lượng Internet bao gồm đến 80% là lưu lượng botnets liên quan đến những email spam có nguồn gốc từ những botnet nổi tiếng như: Grum, Cutwail và Rustock. Ngày nay, những botnets quy mô lớn có thể tung ra nhiều hơn 1 triệu PCs để tấn công không gian mạng.

Những botnets khác nhau từ các loại phần mềm độc hai thông qua việc sử dụng một kênh truyền thông để nhận lệnh và thông báo trạng thái hiện hành tới người điều hành [8]. Theo báo cáo của Golden State năm 2014, cuộc tấn công không gian mạng vào đêm Giáng sinh vào website ngân hàng vùng California đã làm ngưng trệ công việc của các nhân viên trong việc phục hồi một tài khoản trong số các khách hàng của họ và đã bị mất hơn 900,000 đô la [9]. Thêm nữa, năm 2013 FBI thông báo 10 hacker quốc tế đã bị bắt giữ khi sử dụng botnet để trộm hơn 850 triệu đô la thông qua một hệ thống máy tính bị lây nhiễm. Chúng đã sử dụng thông tin tài chính cá nhân của mọi người để trộm số tiền như vậy [10].
Trong thực tế, botnet có những đặc tính riêng biệt so với các kiểu phần mềm độc hại khác. Ví dụ, botmaster có điều khiển những máy tính bị nhiễm và gửi lệnh cho nó mà không cần trực tiếp liên lạc với chúng. Cũng có nhiều bots làm việc theo cách phối hợp và nhận hướng dẫn từ botmaster để nhanh chóng phối hợp tấn công như tấn công từ chối dịch vị phân tán, spam phân tán và lừa đảo. Ngoài ra, botnet còn cung cấp các gian lận này như một hình thức dịch vụ được xem xét là một phần của vấn đề botnet tấn công vào nền kinh tế.
Hệ thống phân giải tên miền (DNS) là một phần chức năng cơ bản của Internet, nó chuyển đổi những tên miền sang một địa chỉ IP (Internet Protocol) tương ứng của chúng [13]. Tuy nhiên, bảo mật hệ thống DNS là trách nhiệm của toàn bộ sự hợp tác trên Internet [14]. Sự phân phối và tính toàn cầu của hệ thống DNS thúc đẩy tội phạm không gian mạng tấn công trên quy mô toàn cầu. Để thực hiện hành vi, những kẻ tấn công sử dụng dịch vụ DNS để vận hành những mạng lưới độc hại như là những botnet và các loại phần mềm độc hại khác [15].

Ngoài ra, các nghiên cứu đã chứng minh những thách thức trong việc theo dõi các tên miền độc hại bằng việc phân tích nội dung web hoặc quan sát người dùng với số lượng lớn các tên miền có sẵn trong không gian mạng [14]. Thật không may, botnet sử dụng lưu lượng truy cập DNS như là bất kỳ một máy chủ bất hợp pháp nào, bởi vậy việc phân biệt sự khác nhau lưu lượng truy vấn DNS hợp pháp từ một lưu lượng truy vấn DNS bất hợp pháp là một vấn đề rất thách thức [16]. Hơn nữa, chủ botnet số gắng che dấu sự liên lạc của họ với các bots nhằm cản trở bất kỳ tiến trình phát hiện botnets được triển khai [17]. Những kẻ tấn công hoặc botmasters sử dụng dịch vị DNS để che dấu địa chỉ IP các máy chủ Command and Control (C&C) của họ tạo ra một botnet đáng tin cậy và dễ dàng di chuyển từ máy chủ này đến máy chủ khác mà không được chú ý.

Nhìn chung, theo Bilge và cộng sự, Davuth và Kim, sử dụng đặc điểm lưu lượng truy cập DNS để phát hiện botnet hướng đến hai cách theo dõi. Cách thứ nhất, phát hiện các tên miền mà một phần hoạt động độc hại để nhận dạng máy chủ nhiễm độc bằng sự giám sát lưu lượng truy cập DNS [19, 20]. Cách thứ hai là tập trung vào hành vi của nhóm những máy tính có những yêu cầu tên miền giống nhau một cách thường xuyên trong một cách thức có sự hợp tác [14].

Trong bài này xác định và phân loại các kỹ thuật và phương thức dựa trên DNS để phát hiện botnet. Hơn nữa, trong bài này cung cấp sự so sánh của các phương thức đã biết trong cùng kiểu và xem xét kỹ lưỡng đặc điểm, điểm mạnh và điểm yếu của chúng. Bằng những hiểu biết tốt nhất của chúng tôi, đầu tiên sẽ cung cấp một phác thảo cập nhật về các phương thức phát hiện botnet dựa trên DNS đang tồn tại. Bài báo này trình bày tổng quan có hệ thống những phương thức phát hiện tiên tiến với mục đích đóng góp làm nâng cao khả năng hiểu biết, hạn chế và cơ hội sử dụng phương thức DNS để xác định lưu lượng mạng botnet. Tổng quan về hiện tượng botnet, vòng đời của botnet, phân loại botnet, và một phân loại mới các kỹ thuật phát hiện botnet dựa trên DNS cũng sẽ được trình bày.
Nhưng phần còn lại của bài viết được tổ chức như sau: Phần 2, trình bày nền tảng và tổng quan về botnet. Phần 3 thảo luận về sự phân loại các kỹ thuật phát hiện botnet dựa trên phân tích lưu lượng truy vấn DNS. Phần 4 trình bày kết luận và một số thảo luận. Phần 5 kết luận nghiên cứu và làm nổi bật hướng nghiên cứu trong tương lai.

Tổng quan về botnet
Botnet là một mối nguy hại đáng kể nhất tới sự an toàn của không gian mạng, chúng được coi như là bệ phóng cho hàng loạt các hành vi bất hợp pháp như là: tấn công từ chối dịch vụ phân tán (DDoS), gian lận [21], lừa đảo [22], spam [23] và phân phối phần mềm độc hại [24]. Cho đến nay, không có một giải pháp phát hiện hoặc làm giảm nhẹ nguy hại của botnet nào tồn tại dài hạn bởi vì những phương thức và kỹ thuật của chúng luôn thay đổi theo thời gian [6]. Quá trình phát hiện botnet đang đứng trước những thách thức đối với những nhà nghiên cứu và các tổ chức. Bởi vậy, việc hiểu rõ dòng đời của botnet và kiến trúc của chúng có thể mang lại những cơ chế phát hiện tốt hơn.
Vòng đời của botnet: Nhìn chung, botnet ứng dụng tương tự như tập các bước để tuyển dụng thành viên và hình thành lên một đội quân. Những tập đó có thể xem xét như là một vòng đời của botnet và minh họa cho từng bước vòng đời của bất kỳ botnet nào. Các bot điển hình có thể được tạo và bảo quản trong 4 giai đoạn.

Giai đoạn khai thác (Exploitation phase)
Đây là giai đoạn đầu tiên trong vòng đời của botnet. Botmaster làm lây nhiễm từ xa thông qua việc khai thác lỗ hổng đang tồn tại trên các phần mềm đang chạy trên máy của nạn nhân. Botmaster lừa cho các nạn nhân thực thi một mã độc trên máy của anh ta, chẳng hạn như mở một tập tin đính kèm trong email [25]. Trong giai đoạn này, các bot cần kết nối với một máy chủ từ xa để tả về một chương trình (bot binaries). Việc kết nối với máy chủ từ xa được thiết lập chỉ sau khi lệnh DNS lookup được ban hành bởi các máy bị nhiễm ánh xa một tên miền tới địa chỉ IP tương ứng của nó [26]. Hành vi ban hành một truy vấn DNS lookup là hành vi chiếm ưu thế của hầu hết các botnet đang tồn tại trên trong không gian mạng [16].

Giai đoạn tập hợp (Rallying phase)
Trong giai đoạn này, các bot đang kết nối trở lại với botmaster thông qua việc di chuyển đến một máy chủ C&C (Command and Control). Botmaster dự định để làm các botnet của anh ta trở lên linh hoạt và tàng hình cùng một lúc. Do đó, botmaster trang bị cho các bots chức năng DNS lookup để có thể thực thi những truy vấn DNS để xác định vị trí của máy chủ C&C. Thật không may, botmaster đã biết rằng những địa chỉ IP tĩnh của các máy chủ C&C là không hiệu quả và dễ bị phát hiện để đưa vào danh sách đen. Do đó, họ sử dụng giả mạo dịch vụ DNS để che dấu vị trí của máy chủ C&C đằng sau một tên miền hơn là một địa chỉ IP tĩnh. Kết quả là, bots sẽ tập hợp để kết nối trở lại máy chủ C&C ngay sai khi chúng có được vị trí cần thiết của máy chủ [18]. Đây là giai đoạn được xem là rất quan trọng để hướng đến sự thành công của botnet trong việc tàng hình và có sức mạnh [27].


Hình 1: Vòng đời của botnet

Giai đoạn thực thi tấn công (Attack Execution phase)
Trong giai đoạn này, các bots thực thi những hành động độc hại tới máy đích dưới sự hướng dẫn của botmaster thông qua việc gửi những lệnh cần thiết tới máy chủ C&C. Bots sẽ chộp lấy những lệnh từ máy chủ C&C và thực hiện những hoạt động độc hại. Ví dụ, bots có thể nhận lệnh từ máy chủ C&C chuyển hướng yêu cầu người dùng tới những website độc hại thông qua thu thập truy vấn DNS của người dùng [17].

Giai đoạn cập nhật và bảo trì (Update and Maintenance phase)
Giai đoạn cuối cùng của vòng đời botnet là cập nhật và bảo trì các bots. Botmaster cần giữ bots để thông qua các bots cập nhật theo thời gian để tăng cường hợp tác và vá lỗi [6]. Hơn nữa, botmaster có thể yêu cầu di chuyển vị trí máy chủ C&C để tránh kỹ thuật phát hiện khác nhau [6]. Giai đoạn này được hiểu là rất quan trọng, bởi vì botnet có thể bị xác định thông qua việc quan sát các hành vi mạng giống nhau,  các mẫu và kết nối thường xuyên từ các bots tới máy chủ C&C.

No comments:

Post a Comment