Saturday, October 21, 2017

Hướng dẫn cài MOODLE trên XAMPP


Bước 1: Chuẩn bị
-     Tải về XAMPP for Windows 5.6.31 (xampp-win32-5.6.31-0-VC11-installer.exe)
-     Tải về Moodle 2.5.9.zip 

-     Tắt Firewall của Windows và các trình Antivirus vì có thể nó sẽ chặn cổng 80 hoặc các ứng dụng webserver.
-     Nếu máy tính có cài đặt các phần mềm như PHP, MySQL thì xoá hết. Không nên cài XAMPP trên Windows Server đã cài đặt IIS.
-     Kiểm tra tắt các phần mềm đang hoạt động tại cổng 80, 443 (skype, zalo,…)

Bước 2: Cài XAMPP
Chạy file exe mới tải về, XAMPP có 2 cảnh báo về phần mềm antivirus và UAC nếu máy đang tồn tại, nhấn đồng ý để tiếp tục cài đặt...


Sau đó, nhấn Next



Chọ những thành phần muốn cài đặt, ở đây chọn tất cả, sau đó nhấn Next



Ở phần chọn đường dẫn, hãy chọn đường dẫn cần lưu cài đặt của XAMPP. Lưu ý rằng đường dẫn này phải nhớ vì khi cài đặt web lên localhost, phải truy cập vào thư mục này. Nên để mặc định là c:\xampp. Tiếp tục ấn Next.



Kế tiếp, bỏ chọn phần “Learn more about Bitnami for XAMPP“.



Và nhấn Next 2 lần nữa để bắt đầu quá trình cài đặt XAMPP.


Sau khi cài xong, ấn nút Finish để kết thúc cài đặt và mở bảng điều khiển của XAMPP. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng không khởi động được localhost.

Bước 3: Khởi động XAMPP
Bây giờ hãy vào thư mục c:\xampp và mở file xampp-panel.exe bật bảng điều khiển của XAMPP.


Để ý sẽ thấy hai ứng dụng Apache và MySQL có nút Start, đó là dấu hiệu bảo 2 ứng dụng này chưa được khởi động, hãy ấn vào nút Start của từng ứng dụng để khởi động Webserver Apache và MySQL Server lên thì mới chạy được localhost. Nếu cả hai ứng dụng chuyển sang màu xanh như hình dưới là đã khởi động thành công. 


Apache sẽ hoạt động ở cổng 80, 443 còn MySQL sẽ hoạt động tại cổng 3306. Sau khi khởi động xong, hãy truy cập vào website với địa chỉ là http://localhost sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới.



Làm việc với thư mục và tập tin
Một điều khá cơ bản nhưng rất quan trọng khi làm việc với website mà bất kể là localhost hay hosting đó là hiểu cơ chế phân thư mục. Bây giờ hãy vào thư mục C:\xampp\htdocs\ và tạo một thư mục tên “mysite“, thư mục này sẽ chứa website. Bây giờ có thể sử dụng đường dẫn http://localhost/mysite để chạy. Thư mục C:\xampp\htdocs\mysite chính là thư mục gốc của tên miền http://localhost/mysite
Bây giờ copy một tập tin nào đó vào trong thư mục C:\xampp\htdocs\mysite rồi chạy tên miền http://localhost/mysite, sẽ thấy nó liệt kê file vừa copy. Bây giờ có thể truy cập file với đường dẫn là http://localhost/mysite/tên-file. Như vậy có thể hiểu, đường dẫn trên website nó sẽ phân thứ cấp tùy theo cấu trúc thư mục và file trong đó.

Tạo Cơ sở dữ liệu MySQL (database)
Đây là thao tác phải làm trong bước cài đặt Moodle trên localhost. Khi nhắc đến database phải nhớ là nó bao gồm 3 thành phần chính là: (i) Tên user của database. (ii) Mật khẩu của user database. (iii) Tên database.
Một thành phần nữa là Database Host (thường thì điền là localhost, bất kể là bạn dùng ở localhost hay host bình thường). User của Database sẽ có nhiệm vụ đọc và ghi dữ liệu vào database nên khi sử dụng các mã nguồn PHP, bạn phải khai báo cùng lúc cả user của database và tên database.
Đối với localhost, bạn không cần tạo user cho database mà sẽ sử dụng thông tin user như sau: (i) Tên user database: root (ii) Mật khẩu: bỏ trống. Do vậy, chúng ta chỉ cần tạo database là đủ. Để tạo database, bạn hãy truy cập vào localhost với đường dẫn http://localhost/phpmyadmin. Sau đó bạn nhấp vào Databases.


Trong phần Create databsae, bạn nhập tên database cần tạo vào ô Database name, phần Collation bạn hãy chọn là utf8_unicode_ci như hình dưới rồi ấn nút Create kế bên.


Tạo xong hãy nhìn bên menu tay trái, nếu nó xuất hiện tên database vừa tạo là thành công. Vậy bây giờ có một databse với các thông tin như: (i) Database Host: localhost. (ii) Database user: root. (iii) Database password: trống. (iv) Database name: moodle.
Đổi cổng mặc định
Mặc định Localhost sẽ sử dụng cổng 80, bởi vì khi gõ tên miền như http://localhost thì tức là nó đã sử dụng cổng 80 để đọc các dữ liệu web trong localhost. Tuy nhiên nếu như đã dùng cổng 80 cho một ứng dụng khác, hoặc đơn giản là không khởi động Apache được thì bạn nên thiết lập cho Apache trong Localhost sử dụng một cổng khác, như 8080 chẳng hạn. Trước khi đổi, cần lưu ý là sau khi đổi xong thì bạn phải truy cập vào website với tên miền http://localhost:8080 thay vì chỉ là http://localhost. Để đổi cổng, bạn mở bảng điều khiển XAMPP lên và chọn nút Config của Apache, sau đó chọn Apache (httpd.conf).


Sau đó tìm dòng này Listen 80 đổi thành Listen 8080
Sau đó stop cái Apache và Start lại rồi thử truy cập vào localhost theo đường dẫn http://localhost:8080, nếu truy cập được thì đã làm thành công. Và cũng nên lưu ý rằng, sau khi đổi cổng thì mỗi khi truy cập bạn phải sử dụng đường dẫn có kèm theo số cổng bạn vừa đổi sang vì mặc định nếu không điền thì nó sẽ sử dụng cổng 80.

Bước 4: Cài MOODLE
Giải nén copy thư mực moodle vào c:\xampp\htdocs\. Tại trình duyệt gõ: localhost/moodle


Chọn ngôn ngữ cài đặt sau đó nhấn Next, ở ví dụ này chọn English.


Xuất hiện đường dẫn root, dir và data của moodle, nhấn Next

Chọn kiểu database rồi nhấn Next, thường để kiểu hình trên…

Với CSDL tạo ở phần trên, điền Database User là root, Database Password để trống, Database Port để trống, nhấn Next

Có một số lỗi xuất hiện, cách chỉnh sửa như sau:
Mở file php.ini trong C:\xampp\php
php_extension xmlrpc:
tìm ;extension=php_xmlrpc.dll bỏ dấu ; ở đầu
php_extension soap:
extension=php_soap.dll
php_extension intl:
tìm ;extension=php_intl.dll bỏ dấu ; ở đầu
intl.defaut_locate =en_utf8
intl.error_leval=E_WARNING
php_setting opcache enable:
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.use_cwd = 1
opcache.validate_timestamps = 1
opcache.save_comments = 1
opcache.enable_file_override = 0
zend_extension = "C:\xampp\php\ext\php_opcache.dll" (chèn cuối file php.ini)
Sau đó khởi động lại Apache, nhấn reload

Mọi thứ đã OK. Nhấn Continue… hệ thống sẽ cài đặt các module, nhấn Continue…Sau đó cập nhật thông tin hệ thống …nhấn Update Profile

Sau đó, nhập thông tin website và bắt đầu làm việc cùng moodle.

Cài đặt mạng LAN
Để làm cho Moodle hoạt động trong một Intranet hoặc mạng LAN nhỏ (Local Area Network), chẳng hạn như một mạng gia đình mạng văn phòng, là một quá trình 3 bước:
B1) Lấy địa chỉ IP của máy tính chạy Moodle bên trong mạng LAN. Trong Windows, bạn có thể thực hiện việc này nhanh chóng: "Start Menu" / Run ... / command (nhấn Enter và dấu nhắc lệnh màu đen được mở ra), và sau đó gõ lệnh ipconfig (nhấn Enter). IP là 4 số bên cạnh "Địa chỉ IP". Ví dụ: 192.168.0.1
B2) Tại thư mục nơi bạn đã cài đặt Moodle, chỉnh sửa config.php và đặt
$ CFG-> wwwroot = 'http: // IP / moodle';
trong đó IP là IP bạn có ở bước 1. Lưu nó và bây giờ Moodle sẽ biết địa chỉ IP thực của nó.
B3) Tại thư mục nơi máy chủ web Apache của bạn được cài đặt, cần có một thư mục con gọi là conf. Chỉnh sửa tệp httpd.conf của bạn ở đó và đặt
Servername IP
là IP bạn có ở bước 1. Lưu nó và bây giờ máy chủ web Apache của bạn sẽ biết địa chỉ IP thực của nó.
Sau khi thực hiện quy trình 3 bước này, bất kỳ máy tính nào trong mạng của bạn sẽ có thể sử dụng máy chủ Moodle của bạn.

Tuesday, October 17, 2017

Lỗ hổng WPA2

mang-wi-fi-toan-cau-da-bi-hack
Mathy Vanhoef, một nhà nghiên cứu từ Đại học Leuven (KU Leuven), đã phát hiện ra một lỗ hổng nghiêm trọng trong giao thức Protected Access II (WPA2) bảo vệ tất cả các mạng Wi-Fi hiện nay.

Lỗ hổng này ảnh hưởng đến giao thức WPA2 và không cụ thể đối với bất kỳ sản phẩm phần mềm hoặc phần cứng nào. Vanhoef đã đặt tên cuộc tấn công của mình là KRACK, viết tắt của Key Reinstallation Attack. Nhà nghiên cứu mô tả cuộc tấn công như sau:

Cuộc tấn công chính của chúng tôi là chống lại sự bắt tay 4 chiều của giao thức WPA2. Bắt tay này được thực thi khi một khách hàng muốn tham gia vào một mạng Wi-Fi được bảo vệ, và được sử dụng để xác nhận rằng cả hai máy khách và điểm truy cập có các chứng chỉ đúng (ví dụ mật khẩu trước khi chia sẻ của mạng). Đồng thời, bắt tay 4 chiều cũng thương lượng một khoá mã hoá mới được sử dụng để mã hóa tất cả lưu lượng tiếp theo. Hiện tại, tất cả mạng Wi-Fi được bảo vệ hiện đại đều sử dụng bắt tay 4 chiều. Điều này hàm ý rằng tất cả các mạng này bị ảnh hưởng bởi một số biến thể của cuộc tấn công. Chẳng hạn, cuộc tấn công này chống lại các mạng Wi-Fi cá nhân và doanh nghiệp, chống WPA cũ hơn và tiêu chuẩn WPA2 mới nhất, và thậm chí đối với các mạng chỉ sử dụng AES. Tất cả các cuộc tấn công của chúng tôi đối với WPA2 sử dụng một kỹ thuật mới gọi là cuộc tấn công cài đặt lại chính (KRACK).

Nói một cách đơn giản, KRACK cho phép kẻ tấn công tới nạn nhân trong một mạng Wifi và buộc các thành viên của mạng phải cài đặt lại khoá mã hoá được sử dụng để bảo vệ WPA2. Cuộc tấn công cũng không khôi phục mật khẩu WiFi.

Người tấn công phải trong phạm vi mạng WiFi

Cuộc tấn công chỉ hoạt động nếu kẻ tấn công nằm trong phạm vi mạng Wi-Fi của nạn nhân và không phải là cái gì đó có thể được thực hiện qua Internet.
HTTPS cũng có thể bảo vệ lưu lượng truy cập của người dùng trong một số trường hợp, vì HTTPS sử dụng lớp mã hóa riêng của chính nó. Tuy nhiên, HTTPS là không an toàn 100%, như các cuộc tấn công tồn tại mà có thể hạ cấp kết nối và cấp quyền truy cập tấn công thành HTTPS giao thông được mã hóa [ 123 ,  4,  56].

Cuộc tấn công KRACK là phổ quát và hoạt động đối với tất cả các loại thiết bị kết nối hoặc sử dụng mạng WiFi WPA2. Điều này bao gồm Android, Linux, iOS, macOS, Windows, OpenBSD và các thiết bị IoT và nhúng.

Cuộc tấn công này cho phép một bên thứ ba nghe trộm trên lưu lượng WPA2, nhưng nếu mạng WiFi được cấu hình để sử dụng WPA-TKIP hoặc mã hóa GCMP cho mã hoá WPA2 thì kẻ tấn công cũng có thể tiêm các gói tin vào dữ liệu của nạn nhân, giả mạo lưu lượng web.

Hầu như bất kỳ thiết bị nào đều bị ảnh hưởng

Do tính dễ bị tổn thương trong việc thiết lập bắt tay WPA2 ảnh hưởng đến chính giao thức, ngay cả các thiết bị có thực hiện giao thức hoàn hảo cũng bị ảnh hưởng. Thay đổi mật khẩu WiFi không bảo vệ người dùng. Người dùng phải cài đặt bản cập nhật firmware cho các sản phẩm bị ảnh hưởng.

Vanhoef nói: "Bất kỳ thiết bị nào sử dụng Wi-Fi đều có thể bị tổn thương. "May mắn thực hiện có thể được vá theo một cách tương thích ngược". Một danh sách các sản phẩm có sẵn và bản cập nhật sẽ có trong tài liệu này. Trang tư vấn US-CERT sẽ được phát sóng vào những giờ sau. Không có bản cập nhật nào có sẵn tại thời điểm xuất bản.

Mặc dù các bản cập nhật được mong đợi cho máy tính để bàn và điện thoại thông minh càng sớm càng tốt, các chuyên gia tin rằng thiết bị định tuyến và thiết bị IoT sẽ bị ảnh hưởng nhiều nhất và sẽ nhận thấy sự chậm trễ trong việc cập nhật phần mềm.

Vấn đề phát hiện năm ngoái

Vanhoef phát hiện ra vấn đề vào năm 2016 nhưng vẫn tiếp tục làm việc để tinh chỉnh cuộc tấn công của mình. Nhà nghiên cứu đã gửi thông báo tới một số nhà cung cấp bị ảnh hưởng vào tháng 7 năm 2017, và US-CERT đã gửi một bản tin rộng rãi đến nhiều nhà cung cấp hơn vào cuối tháng 8.

Chuyên gia mô tả cuộc tấn công sâu hơn nhiều vào một trang mạng  dành riêng cho cuộc tấn công KRACK, và trong một tài liệu nghiên cứu chuyên gia kế hoạch sẽ trình bày tại Hội nghị an ninh máy tính và truyền thông năm nay (CCS) và hội nghị Black Hat Europe.Vanhoef cũng xuất bản một video demoing và giải thích cuộc tấn công KRACK.



  
Các định danh CVE sau sẽ giúp bạn theo dõi nếu thiết bị của bạn đã nhận được bản vá lỗi cho lỗ hổng WPA2 mà Vanhoef phát hiện.
CVE-2.017-13.077: Cài đặt lại cặp khóa mã hóa (PTK-TK) trong bắt tay bốn bước.
CVE-2.017-13.078: Cài đặt lại khóa nhóm (GTK) trong bắt tay bốn bước.
CVE-2.017-13.079:  Cài đặt lại khóa toàn vẹn nhóm (IGTK) trong bắt tay bốn bước.
CVE-2.017-13.080: Cài đặt lại khóa nhóm (GTK) trong nhóm bắt tay khóa.
CVE-2.017-13.081: Cài đặt lại khóa toàn vẹn nhóm (IGTK) trong nhóm bắt tay khóa.
CVE-2.017-13.082: Chấp nhận một truyền lại nhanh BSS chuyển tiếp (FT) Reassociation Yêu cầu và cài đặt lại cặp khóa mã hóa (PTK-TK) trong khi xử lý nó.
CVE-2.017-13.084: Cài đặt lại các phím STK trong bắt tay PeerKey.
CVE-2.017-13.086: Cài đặt lại của đường hầm Direct-Link Setup (TDLS) PeerKey (TPK) then chốt trong việc bắt tay TDLS.
CVE-2.017-13.087: Cài đặt lại của khóa nhóm (GTK) khi xử lý một quản lý mạng không dây (WNM) Sleep Mode đáp ứng khung.
CVE-2.017-13.088: Cài đặt lại của khóa toàn vẹn nhóm (IGTK) khi xử lý một quản lý mạng không dây (WNM) Sleep Mode đáp ứng khung.

Làm thế nào để sửa KRACK Vulnerability?

Điều đầu tiên bạn nên làm là đừng hoảng sợ. Mặc dù lỗ hổng này có thể cho phép kẻ tấn công nghe trộm hoặc sửa đổi dữ liệu được truyền qua các kết nối không dây, đồng thời, cuộc tấn công này sẽ không dễ dàng để kéo ra và khai thác một cách hiệu quả vẫn chưa được công bố.
Tin vui là đây là lỗ hổng được bảo vệ cao và các nhà cung cấp sẽ nhanh chóng phát hành bản cập nhật để khắc phục lỗ hổng này. Đối với người tiêu dùng và người dùng doanh nghiệp, điều này có nghĩa là cập nhật router, điểm truy cập, card mạng không dây và các thiết bị với phần mềm và trình điều khiển mới khi chúng được phát hành.
Để làm cho bạn dễ dàng hơn, BleepingComputer đã bắt đầu biên soạn một danh sách các nhà cung cấp đã đưa ra lời khuyên hoặc cập nhật trình điều khiển và phần mềm. Danh sách này có thể được tìm thấy tại Danh sách cập nhật phần mềm và driver cho tính dễ bị tổn thương của KRACK WPA2 và sẽ được cập nhật liên tục khi BleepingComputer nhận được thông tin mới.


Tuesday, October 3, 2017

Mentor: DNS danh tiếng tích cực để tách các tên miền lành tính trong danh sách đen C&C của Botnet



Tóm tắt: Hệ thống phân giải tên miền (DNS) là một dịch vụ cơ sở hạ tầng thiết yếu trên Internet. Nó cung cấp một bản đồ trên toàn thế giới giữa các tên miền dễ nhớ và các địa chỉ IP. Ngày nay, người dùng hợp pháp và các ứng dụng độc hại sử dụng dịch vụ này để xác định vị trí nội dung trên internet. Tuy nhiên các botnet ngày càng dựa vào DNS để kết nối máy chủ C&C của chúng. Cách tiếp cận phổ biến để phát hiện các bot nhiễm độc bên trong mạng là kiểm tra lưu lượng truy cập DNS sử dụng tên miền trong danh sách đen máy chủ C&C. Chúng được xây dựng bằng cách sử dụng rất nhiều kỹ thuật bao gồm phân tích thụ động DNS, sử dụng kỹ thuật Sandbox phần mềm độc hại và lọc nội dung trang web. Sử dụng DNS để phát hiện botnet vẫn là một quá trình dễ bị lỗi; và các thuật toán tạo danh sách đen hiện tại thường thêm các tên miền vô hại dẫn đến một số lượng lớn các kết quả sai trong quá trình phát hiện.
Bài báo này giới thiệu một hệ thống mới gọi là Mentor. Nó thực hiện một hệ thống DNS danh tiếng tích cực có khả năng mở rộng, tự động loại bỏ các mục lành tính trong một danh sách đen tên miền C&C của botnet. Mentor nhúng một hệ thống thu thập thông tin để  thu thập thống kê các tính năng của  tên miền nghi ngờ, bao gồm cả nội dung web và thuộc tính DNS. Nó áp dụng học tập được giám sát để gán nhãn cho một tập hợp các tên miền lành tính và độc hại đã được biết đến, sử dụng các tính năng của nó được thiết lập để xây dựng mô hình cắt tỉa DNS. Nó tiếp tục xử lý các danh sách đen tên miền bằng cách sử dụng mô hình này để hớt các tên miền lành tính và chỉ giữ các tên miền độc hại thực sự để phát hiện. Chúng tôi đã thử nghiệm hệ thống chống lại một loạt các danh sách đen botnet đã công bố. Kết quả thử nghiệm chứng tỏ khả năng của hệ thống này phát hiện có hiệu quả và loại bỏ các tên miền lành tính với tỷ lệ sai lệch rất thấp.

Giới thiệu
Hệ thống phân giải tên miền (DNS) cấu thành nên một thành phần cơ sở hạ tầng cốt lõi của Internet. Nó cung cấp một dịch vụ phân cấp toàn cầu liên kết các tên miền Internet với địa chỉ IP tương ứng[15]. Ngày nay, người dùng Internet truy cập vào hệ thống DNS để định vị và truy xuất các nội dung như các web servers, hosting và các dịch vụ thư tín. Do phạm vi của nó mang tính toàn cầu, DNS hiện nay đang được sử dụng để chia sẻ kiến ​​thức về các mối đe dọa của phần mềm độc hại, bao gồm các trang web bị lây nhiễm bệnh và gọi lại miền [7]. Ngay khi phần mềm độc hại lây nhiễm sang một thiết bị đầu cuối, nó sẽ thiết lập một kênh Command & Control (C&C) với một kẻ tấn công để tải các bản cập nhật, truy xuất lệnh và lấy cắp dữ liệu. Tuy nhiên, phần mềm độc hại thực hiện nhiều cơ chế để xác định vị trí máy chủ C&C, và DNS vẫn là công nghệ phổ biến nhất được sử dụng ngày nay, bao gồm các tên miền hard-coded, DGA [3] và domain flux [10]. Cách tiếp cận phổ biến để chống lại phần mềm độc hại là sử dụng danh sách đen tên miền C&C botnet [2, 6]. Quan sát lưu lượng truy cập tại các điểm thoát khỏi hệ thống và rớt kết nối đối với các tên miền độc hại được biết đến. Khi phần mềm độc hại không còn có thể kết nối với máy chủ C&C, hậu quả của nó sẽ bị vô hiệu bởi vì nó sẽ không còn có thể truy cập được đối với kẻ tấn công từ xa nữa.
Danh sách đen của tên miền C&C hiện đang được tạo ra bằng cách sử dụng rất nhiều kỹ thuật như phân tích lưu lượng DNS thụ động, kỹ thuật Sandbox phần mềm độc hại và lọc nội dung web. Tuy nhiên, việc sử dụng rộng rãi các danh sách đen miền để phát hiện botnet vẫn còn phải đối mặt với số lượng lớn các kết quả sai lệch trong danh sách đen này. Do đó, các quản trị viên bảo mật vẫn còn miễn cưỡng trong việc sử dụng các danh sách đen tên miền như là một cách để tự động giảm bớt các liên lạc C&C của botnet. Trong thực tế, không đủ đáng tin cậy để được sử dụng như là một giải pháp bảo mật chủ động [9], và do đó chủ yếu được sử dụng phát hiện thụ động và cảnh báo. Tuy nhiên, phần mềm độc hại thực hiện nhiều cơ chế làm mờ khiến khó xác định chính xác kênh C&C chính như sau:
Thứ nhất, khai thác các tên miền C&C trong quá trình phân tích sandbox động rất dễ bị lỗi từ khi phần mềm độc hại kích hoạt nhiều kết nối mạng ngoài hoạt động C&C chính của nó. Phần mềm độc hại  Conficker.C cung cấp một ví dụ điển hình, nó ngẫu nhiên chọn một tên miền C&C trên 50 nghìn tên miền có thể được tạo ra hàng ngày cho mục đích này. Việc sử dụng các kỹ thuật tương tự bởi phần mềm độc hại rõ ràng làm khó khăn cho việc khai thác và duy trì các danh sách đen tên miền thật.
Mặt khác, DNS danh tiếng tiêu cực cung cấp một cách tiếp cận khác cho phân tích sandbox vì nó không đòi hỏi phải thu thập và thực hiện các mẫu phần mềm độc hại. Nó nhằm mục đích quan sát lưu lượng truy cập DNS và thu thập các tính năng đặc trưng cho hoạt động báo hiệu botnet. Chẳng hạn như hệ thống Notos [2] sử dụng các tính năng dựa trên bằng chứng như số lượng phần mềm độc hại kết nối với một tên miền nhất định để đo độ tin cậy của miền này. Hệ thống Exposure [6] cũng định nghĩa các tính năng phân biệt các tên miền độc hại và lành tính dựa trên các hiện tượng C&C botnet như TTL tên miền ngắn và những thay đổi đột ngột trong các yêu cầu DNS đối với một tên miền nhất định. Thật không may, các botnet hiện đại có thể dễ dàng tránh được hệ thống DNS danh tiếng tiêu cực bằng cách sử dụng các kỹ thuật như sự chậm trễ ngẫu nhiên và noise injection  trong phạm vi truyền thông C&C chính của chúng. Họ cũng tăng cường triển khai các mô hình mạng botnet lai phân phối các lệnh trong một số lượng lớn các chương trình C&C master, do đó làm giảm độ bao phủ của các tính năng DNS trong quá trình phát hiện [12, 13]. Trên thực tế, DNS danh tiếng tiêu cực chỉ quan sát các hiện tượng liên quan và tin hiệu hoạt động của botnet và do đó hiệu quả là chỉ chống lại các mô hình mạng botnet C&C đã biết. Nó không thể dễ dàng thích ứng với các kỹ thuật làm mờ mới của botnet, do đó giới hạn phạm vi bao phủ của nó và tăng nguy cơ sai lệch. [20].
Bài báo này đề cập đến những hạn chế của các hệ thống DNS danh tiếng tiêu cực hiện nay thông qua đề xuất một hệ thống mới gọi là Mentor, thực hiện DNS danh tiếng tích cực để tách các tên miền độc hại và lành tính. Mentor tìm kiếm các hiện tượng chứng minh bản chất vô hại của một tên miền. Nó hoạt động như một cơ quan giám sát quy trình danh sách đen tên miền được tạo ra bởi hệ thống DNS danh tiếng tiêu cực. Nó thực hiện một hệ thống thu thập thông tin thu thập các hiện tượng và xây dựng một bộ tính năng toàn diện cho mỗi tên miền trong các danh sách đen này. Mentor thu thập các yếu tố mô tả tính hợp pháp của một tên miền nhất định, bao gồm sự phổ biến, các tham khảo chéo, liên kết bên ngoài và dữ liệu được lưu trữ trên tên miền này. Nó tiếp tục áp dụng kỹ thuật học máy, sử dụng bộ tính năng này để xác định các tên miền lành tính và loại bỏ các tên miền này khỏi danh sách đen ban đầu, chỉ giữ đúng tên miền C&C để phát hiện và ngăn chặn botnet. Thật vậy Mentor sử dụng một trình thu thập thông tin web tích cực kết nối với các tên miền từ xa để xây dựng tập các tính năng của nó, trái ngược với DNS danh tiếng tiêu cực mà chỉ sử dụng phân tích lưu lượng thụ động.
Để tóm tắt, bài báo này đưa ra hai đóng góp sau đây:
§  Đề xuất một bộ các tính năng toàn diện đặc trưng cho tính chất lành tính của một miền nhất định. Các tính năng của chúng tôi hoàn thiện các hệ thống DNS danh tiếng hiện tại sử dụng các hiện tượng mô tả việc xâm nhập độc hại vào một tên miền nhất định.
§  Sử dụng kỹ thuật học máy để xây dựng một hệ thống danh tính DNS tích cực tự động, tích cực xử lý danh sách đen tên miền và loại bỏ sai lệch, mà không cần sự can thiệp của con người.
Kết quả thử nghiệm chứng minh khả năng của Mentor để xác định hiệu quả và loại bỏ các tên miền lành tính trong danh sách đen các tên miền, đồng thời đáp ứng một tỷ lệ sai lệch rất thấp. Bài viết này được cấu trúc như sau. Phần 2 miêu tả công việc liên quan. Phần 3 trình bày kiến ​​trúc và luồng xử lý của Mentor. Phần 4 cung cấp các thí nghiệm mà chúng tôi sử dụng để đánh giá hệ thống. Phần 5 thảo luận về những hạn chế của hệ thống của chúng tôi và cuối cùng phần 6 kết luận.

Công việc có liên quan
DNS là một dịch vụ cốt lõi được sử dụng rộng rãi để xác định vị trí nội dung trên internet thông qua liên kết các tên miền như  'www.domainname.com' với địa chỉ IP định tuyến [15]. Địa chỉ IP được nhóm lại trong các hệ thống tự trị (AS – Autonomous System) và do đó chúng được kết nối chặt chẽ với vị trí địa lý. Mặt khác, các tên miền được nhóm lại trong các tên miền quản trị có thể liên kết với bất kỳ địa chỉ IP nào, bất kể vị trí địa lý của tài nguyên tương ứng [17]. Do đó, DNS được sử dụng rộng rãi bởi các tác nhân đe dọa trên Internet để liên kết các địa chỉ IP với các tên miền được tiếp tục sử dụng bởi các nút đã bị lây nhiễm để định vị các máy chủ lệnh (Command Server) của chúng [19].
Phát hiện và khai thác các callbacks tên miền đầu tiên bao gồm tự động thực hiện phần mềm độc hại và quan sát hoạt động mạng của nó [11, 16, 12]. Sau khi lây nhiễm vào một thiết bị đầu cuối, phần mềm độc hại kết nối với một máy chủ C&C để có được cập nhật hoặc lấy các lệnh. Bằng cách quan sát hoạt động mạng của phần mềm độc hại trong môi trường phân tích động, chúng tôi có thể xác định các kênh C&C chính và thêm chúng vào danh sách đen tên miền. Do đó, phần mềm độc hại đã không ngừng phát triển các kỹ thuật mới để tránh bị phân tích chính xác, bao gồm việc sử dụng thuật toán tạo tên miền (DGA) [3] và phát hiện sự thực hiện bên trong môi trường phân tích ảo [4]. Mặc dù một số kỹ thuật đã được đề xuất trong các tài liệu để ngăn chặn cơ chế làm mờ phần mềm độc hại [22, 21], tên miền C&C phát hiện sử dụng những kỹ thuật này chỉ được giới hạn cho các mẫu phần mềm độc hại được biết đến đã được thực hiện một cách chính xác trong môi trường sandbox. Tuy nhiên, họ không thể xác định tên miền C&C cho các botnet không xác định và phần mềm độc hại có thể hạn chế hiệu quả việc phát hiện trong quá trình phân tích động.
Một xu hướng khác của nghiên cứu là quan sát thụ động hoạt động của mạng và sử dụng kỹ thuật học máy để phát hiện lưu lượng C&C botnet [2, 6, 5, 13]. Mặc dù các kỹ thuật nhất định như [5] và [13] chỉ quan sát dòng chảy dữ liệu, những người khác chủ yếu tập trung vào lưu lượng DNS và sử dụng danh tiếng tiêu cực để phát hiện các tên miền C C độc hại [2, 6]. Ví dụ, các tác giả trong xây dựng một hệ thống DNS danh tiếng động sử dụng cả tính năng mạng và vùng của một tên miền. Họ đưa ra giả thiết rằng việc sử dụng DNS độc hại có những đặc điểm riêng biệt và có thể được tách ra khỏi các dịch vụ DNS được cung cấp chuyên nghiệp, lành mạnh. Vì vậy, họ thụ động quan sát các truy vấn DNS và xây dựng các mô hình về tên miền lành tính và độc hại đã được biết đến. Các mô hình này được sử dụng để tính điểm danh tiếng cho một miền mới được quan sát và cho biết tên miền này thực sự là độc hại hoặc lành tính. Hạn chế chính của cách tiếp cận này là nó cần một lịch sử đủ lâu cho một tên miền nhất định để gán một điểm số danh tiếng chính xác. Không chính xác với các tên miền C&C thường xuyên thay đổi, chẳng hạn như đối với mô hình mạng botnet lai sử dụng nhiều nút C&C master để phân phối các lệnh.
Các tác giả trong [6] đề xuất một phương pháp tiếp cận khác áp dụng kỹ thuật học máy tới một bộ gồm 15 tính năng DNS để xác định tên miền C&C độc hại. Cách tiếp cận này xây dựng một bộ học tập các tên miền độc hại và lành mạnh được biết đến sử dụng để đào tạo trình phân loại DNS. Trình phân loại này giám sát thụ động lưu lượng truy cập DNS theo thời gian thực và xác định các tên miền phần mềm độc hại không xuất hiện trong danh sách đen tên miền hiện có. Các tính năng trong [6] được nhóm thành bốn loại, bao gồm các tính năng dựa trên thời gian, các tính năng phản hồi, các tính năng TTL và các tính năng tên miền cú pháp. Các tính năng này đặc trưng cho các dị thường theo cách một tên miền nhất định được yêu cầu, bao gồm các thay đổi đột ngột các truy vấn DNS đối với tên miền này.
Hệ thống mà chúng tôi đề xuất trong bài báo này không thay thế DNS danh tiếng tiêu cực được trình bày trong [2] và [6]. Thật vậy, Mentor hoàn thành DNS danh tiếng tiêu cực và nó chủ yếu là tìm kiếm bằng chứng về bản chất lành tính của một tên miền, như trái ngược với [2] và [6] tìm kiếm bằng chứng về bản chất độc hại của cùng một tên miền. Trên thực tế, bài báo này đề xuất một hệ thống DNS danh tiếng tích cực xử lý các danh sách đen các tên miền đáng ngờ để loại bỏ các kết quả sai và chỉ giữ các tên miền độc hại thực sự để phát hiện botnet.

Sự mô tả hệ thống
Hệ thống Mentor bao gồm một giai đoạn đào tạo xây dựng một mô hình phát hiện bằng cách sử dụng một tập huấn luyện các tên miền độc hại và lành tính đã được biết đến. Nó tiếp tục áp dụng mô hình này trong quá trình phát hiện đối với các danh sách đen C&C không đủ tiêu chuẩn để loại bỏ các sai lệch lành tính và chỉ giữ các tên miền độc hại để phát hiện. Như trong hình 1, giai đoạn đào tạo thực hiện một hệ thống thu thập thông tin để xây dựng một bộ các tính năng toàn diện sử dụng bộ dữ liệu chân lý cơ bản ban đầu. Các tính năng được trích xuất bởi trình thu thập thông tin được tiếp tục sử dụng làm đầu vào cho một hệ thống học tập được giám sát. Nó thực hiện các kỹ thuật học máy để xây dựng một mô hình phân loại đó là tiếp tục sử dụng trong phát hiện. Phần này cung cấp các chi tiết về các tính năng và mô tả quá trình sử dụng để xây dựng mô hình phát hiện.

Hình 1: Kiến trúc và luồng công việc của MENTOR

Tính năng lựa chọn
Trái ngược với DNS danh tiếng tiêu cực, hệ thống tìm bằng chứng về bản chất vô hại của một tên miền nhất định. Để xác định các tính năng cho thấy một tên miền lành tính, chúng tôi quan sát và nghiên cứu các tính năng tên miền và nội dung của nhiều tên miền C&C lành tính và độc hại, và những gì thu được trong việc sử dụng cách tiếp cận của chúng tôi tiếp tục được trình bày trong phần “Bộ dữ liệu chân lý cơ bản”. Sau khi phân tích, chúng tôi xác định được một số tính năng đặc biệt, chúng tôi phân thành ba loại chính, bao gồm tính năng phổ biến, tính năng nội dung và tính năng dựa trên miền, như thể hiện trong hình 1. Phần này mô tả bộ các tính năng mà chúng tôi tóm tắt trong bảng 1, và giải thích của chúng tôi xem lý do tại sao họ chỉ ra các lĩnh vực lành tính.

Tính năng dựa trên tên miền: mô tả các quan sát thực nghiệm dựa trên thời gian về một tên miền lấy ra từ cơ sở dữ liệu whois công khai. Chúng tôi cho rằng các tên miền chuyên nghiệp lành tính thường không bị thay đổi và chúng được momg đợi sẽ vẫn tiếp cận lại trong suốt dòng đời liên kết của chúng. Tuy nhiên, các tên miền C&C ít có tính chất tĩnh. Để nâng cao khả năng phục hồi của chúng đối với việc phát hiện và gỡ xuống, botnet thường xuyên sửa đổi các tên miền callback bằng các kỹ thuật như DGA và domain flux. Trên thực tế, sử dụng cùng tên miền C&C trong một khoảng thời gian mở rộng thêm các nút đơn lỗi trong kiến ​​trúc mạng botnet. Do đó, botnet thường đăng ký tên miền ngắn ngủi, cùng với các giá trị TTL ngắn để thường xuyên chuyển sang các tên miền C&C khác, thêm một mức độ phức tạp khác cho việc gỡ bỏ botnet. Do đó, thông tin đăng ký tĩnh cho tên miền chuyên nghiệp hiển thị giá trị thời gian để tồn tại thường dài hơn các tên miền C&C độc hại khác. Mentor dựa trên quan sát này để giới thiệu 4 tính năng miền. Chúng mô tả sự khác biệt dựa trên thời gian giữa tên miền C&C độc hại lành tính và độc hại.
Bảng 1: Các tính năng được thực hiện bởi Mentor


Chúng bao gồm thời gian trôi qua kể từ khi tên miền được đăng ký lần đầu tiên, thời gian trôi qua kể từ khi tên miền được tạo, thời gian trôi qua kể từ khi miền được thay đổi lần cuối cùng và thời gian còn lại trước khi miền hết hạn.
Các tính năng nội dung: mô tả sự khác biệt trong cấu trúc và nội dung của các trang web cho cả tên miền C&C độc hại và độc hại. Các tên miền lành tính thường tìm thấy thứ hạng cao hơn bởi các công cụ tìm kiếm trên Internet như Google, Yahoo và Bing. Chia sẻ nội dung HTML phong phú, thêm miêu tả siêu dữ liệu, và tối ưu hóa cấu trúc của trang web, đó là tất cả các yếu tố quan trọng được sử dụng cho việc lập chỉ mục tên miền trên internet. Mặt khác, các tên miền C&C được sử dụng bởi phần mềm độc hại để thiết lập đường dẫn kiểm soát tự động giữa kẻ tấn công và bots lây nhiễm từ xa. Chúng thường được cung cấp bởi kẻ tấn công bằng cách sử dụng các tên miền gọi lại tĩnh được mã hóa cứng trong payloads phần mềm độc hại hoặc sử dụng các kỹ thuật domain flux động. Do đó, tên miền C&C độc hại không tìm kiếm được thứ hạng internet tốt. Họ thường chia sẻ ít nội dung có thể đọc và mô tả siêu dữ liệu ít hơn. Mentor sử dụng các quan sát này bằng cách giới thiệu các tính năng nội dung tách biệt các tên miền C&C lành tính và độc hại.
Mentor mô tả nội dung của một trang web sử dụng một bộ 8 tính năng, tất cả đều có liên quan đến số liệu định tính được sử dụng cho việc lập chỉ mục tên miền trên internet. Chúng tôi xem xét một tên miền nhằm mục đích sử dụng lành tính khi nội dung của nó có khả năng cung cấp một chỉ mục cao hơn bởi các công cụ tìm kiếm trên Internet. Do đó, tính năng đầu tiên cung cấp tỷ lệ văn bản trong trang web. Nó mô tả số lượng nội dung có thể đọc được bởi con người do một tên miền lưu trữ. Nó được đánh giá là tỷ lệ của nội dung văn bản đối với nội dung tổng thể của một trang web. Các tính năng thứ hai và thứ ba tương ứng cung cấp kích thước của các bản đồ trang web và các tập tin robot liên kết với một trang web. Được đánh giá là số mục nhập trong các tệp này và mô tả cấu trúc của trang web được thấy bằng robot trên Internet. Các tệp này xác định cách trang web được hiển thị bởi các công cụ tìm kiếm, đây là một thuộc tính quan trọng của tên miền lành tính chuyên nghiệp. Các tính năng thứ tư và thứ năm cung cấp số lượng mô tả HTML và từ khoá siêu dữ liệu và xác định chuỗi ký tự có liên quan nhất cho việc lập chỉ mục nội dung trên trang web. Mô tả khu vực quan tâm chính đang được giải quyết bằng nội dung trang web. Ví dụ, một trang web nhằm mục đích bảo hiểm y tế sẽ xác định các từ khóa chủ yếu liên quan đến hệ thống chăm sóc sức khoẻ. Tính năng thứ sáu xác định số lượng mô tả thẻ meta HTML cũng được thể hiện trong tiêu đề trang web. Nó cung cấp một chỉ số cho biết tiêu đề trang web được tạo ra một cách ngẫu nhiên hoặc nếu nó đã được xác định phù hợp với nội dung trang web. Cuối cùng, các tính năng thứ bảy và thứ tám tương ứng cho biết số lượng hình ảnh có thể hiển thị và kiểu css. Mô tả khía cạnh thân thiện với con người và cách nội dung được hiển thị bởi một trang web.
Chúng tôi thừa nhận rằng các tính năng của chúng tôi không cung cấp một mô tả đầy đủ về nội dung trang web. Tuy nhiên, họ vẫn cung cấp đủ bằng chứng về cấu trúc và nội dung của một trang web. Quan trọng hơn, xác định liệu nội dung trang web có tương đối thân thiện và làm giảm tương tác của con người hay nếu nó có nhiều khả năng được giải quyết đối với robot tự động.

Các tính năng phổ biến: mô tả sự phổ biến của tên miền, bao gồm liên kết trong và ngoài, đặc trưng cho khía cạnh thân thiện với người dùng của trang web. Trái ngược với tên miền lành tính, các tên miền C&C độc hại chủ yếu nhằm chia sẻ các lệnh với thiết bị đầu cuối bị nhiễm từ xa. Chúng có các đặc tính khác với tên miền chuyên nghiệp nhằm mục đích chia sẻ nội dung lành tính với người dùng. Ví dụ: tên miền chuyên nghiệp chia sẻ nội dung có thể đọc được bởi con người có thể được đánh giá hoặc nhận xét trên mạng xã hội. Do đó, chúng có thể được tham chiếu đến, tuy nhiên chúng bao gồm các liên kết ngoài đối với các mạng xã hội như linkedin, twitter và facebook. Bên cạnh đó, tính phổ biến trên internet cũng cung cấp các chỉ số về bản chất chuyên nghiệp hoặc độc hại của một tên miền. Trên thực tế, tên miền chuyên nghiệp có thể chia sẻ mối quan hệ đối tác kinh doanh, nhà tài trợ hoặc các bài báo truyền thông, được mô tả với các liên kết trong và ngoài, hướng tới các tên miền bên ngoài, đồng thời cũng làm tăng tính phổ biến của tên miền. Do đó, chúng tôi mô tả tính phổ biến của tên miền bằng cách sử dụng 4 tính năng cơ bản. Kết hợp số lượng các liên kết gửi đi đến các mạng xã hội, tổng số các liên kết ra ngoài, pagerank của Google như là một chỉ số về sự phổ biến của tên miền cũng như tổng số liên kết gửi đến của nó và số lượng các liên kết gửi đến từ các mạng xã hội.

Mô hình phát hiện
Việc sử dụng học máy để phát hiện botnet tạo nên một thách thức thật sự vì nó thực hiện các tính năng thống kê thường bị bỏ qua bởi các botnet.
Trên thực tế, các botnet hiện đại thực hiện các cơ chế làm mờ mà làm cho khó phân biệt hoạt động C&C lành tính và độc hại chỉ bằng các tính năng mạng. Do đó, bài báo này cung cấp một bộ tính năng mới thúc đẩy các hiện tượng như tính phổ biến, mô tả nội dung và thời gian của một tên miền nhất định. Thực tế, kẻ tấn công khó có thể thiết lập các tên miền C&C độc hại bỏ qua các tính năng của chúng tôi. Những kẻ tấn công cần thời gian dài hơn và nỗ lực để xây dựng một tập hợp đủ các tên miền phổ biến bao gồm các bộ mô tả nội dung đủ phong phú để tránh phát hiện, đồng thời cung cấp nhiều tên miền thừa để thực hiện botnet.
Để xây dựng hệ thống phân loại tên miền của chúng tôi, chúng tôi đã kiểm tra nhiều thuật toán học có giám sát, bao gồm các cây phân loại chọn lọc Bayesian [14], SVM, J48 và C4.5 [8, 18]. Trước tiên, cây quyết định cung cấp một cách để thể hiện cấu trúc trong dữ liệu. Chúng cung cấp một cách cổ điển để đại diện cho thông tin từ một thuật toán học máy. Bên cạnh đó, SVM cung cấp một sự mở rộng cho các mô hình phi tuyến dựa trên lý thuyết thống kê. Mặt khác, các mô hình Bayes cung cấp một trình phân loại xác suất dựa trên định lý Bayes. Trong bài báo này, chúng tôi đã đánh giá tỷ lệ phát hiện, bao gồm các kết quả sai và tiêu cực, chúng tôi thu được bằng cách áp dụng từng thuật toán học thông qua ứng dụng cho bộ dữ liệu chân lý cơ bản có nhãn. Chúng tôi đã thu được độ chính xác cao hơn bằng cách sử dụng trình phân loại Bayesian, và do đó chúng tôi sử dụng thuật toán này để xây dựng mô hình phân loại tên miền của chúng tôi.
 
Thử nghiệm
Phần này cung cấp các chi tiết của các thí nghiệm, bao gồm bộ dữ liệu sử dụng để xây dựng và đánh giá hệ thống. Trước tiên, xây dựng một bộ dữ liệu chân lý cơ bản của các tên miền độc hại và lành tính mà chúng tôi xử lý, sử dụng hệ thống thu thập thông tin, để đào tạo mô hình phân loại. Sau đó, đánh giá sự đóng góp của các tính năng đối với việc phát hiện và áp dụng quy trình kiểm tra chéo để đánh giá tính chính xác của hệ thống. Cuối cùng, thử nghiệm Mentor với các danh sách đen C&C botnet công khai để đánh giá hiệu suất của hệ thống đối với các họ phần mềm độc hại khác nhau cũng như khả năng đặc trưng tên miền không rõ của nó vào thời điểm xây dựng hệ thống.

Bộ dữ liệu chân lý cơ bản
Mentor áp dụng học máy để tập huấn các tên miền độc và lành tính để xây dựng mô hình phân loại. Chất lượng phân loại mạnh mẽ phụ thuộc vào độ bao phủ của bộ huấn luyện ban đầu và độ chính xác của các nhãn chân lý cơ bản kết hợp với bộ huấn luyện này. Trong thực tế Mentor tích cực kết nối với tên miền trong tập huấn luyện và xây dựng các tính năng phát hiện trên bay trước khi chúng có thể được sử dụng làm đầu vào cho mô hình đào tạo. Do đó, chúng ta cần một danh sách đen hợp lệ các tên miền C&C của botnet, tất cả đều hoạt động trong thời điểm xây dựng mô hình. Tuy nhiên, chúng tôi muốn đảm bảo rằng danh sách đen chỉ bao gồm các tên miền độc hại và rõ ràng là các tên miền lành tính được phân loại sai.
Hình 2: Đánh giá của Mentor đối với bộ dữ liệu chân lý cơ bản

Bộ huấn luyện độc hại: Để xây dựng bộ dữ liệu chân lý cơ bản, chúng tôi đã áp dụng một hệ thống bỏ phiếu bao gồm trình duyệt Google an toàn và hai danh sách đen truy cập công cộng: 'malwaredomains.com' và 'malwaredomainlist.com'. Chúng tôi cho rằng một miền nhất định có nhiều khả năng là độc hại hơn khi nó thuộc về nhiều hơn một danh sách đen. Chúng tôi đã thu được một danh sách 1.849 tên miền độc hại đã được kết hợp cả 2 danh sách đen và có thể truy cập vào thời điểm xây dựng mô hình. Sau đó chúng tôi loại bỏ các tên miền trong danh sách đen này được xác định là an toàn bằng trình duyệt web an toàn API của Google. API này được xác định 919 tên miền trong số 1.849 tên miền ban đầu là an toàn. Do đó, chúng tôi giữ 930 tên miền độc hại được xác nhận là đầu vào cho mô hình phân loại. Thực tế, chúng tôi đã áp dụng một bộ lọc thận trọng để đảm bảo rằng tập huấn luyện độc hại của chúng tôi không bao gồm tên miền an toàn trước khi chúng tôi xây dựng mô hình phát hiện. Chắc chắn chúng ta không thể loại trừ khả năng vài tên miền bị phân loại sai trong bộ huấn luyện ban đầu. Tuy nhiên, những điều này sẽ bị giới hạn khi so sánh với các tên miền C&C đã được xác nhận và do đó chúng sẽ có ít ảnh hưởng đến trình phân loại. Chúng tôi đánh giá thêm trong phần này tính chính xác của trình phân loại, bao gồm các sai lệch bằng cách kiểm tra với một loạt tên miền độc hại và lành tính.

Bộ đào tạo lành tính: Chúng tôi xây dựng bộ huấn luyện tên miền lành tính bằng danh sách tên miền hàng đầu trong Alexa. Trang web Alexa cung cấp danh sách các tên miền phổ biến nhất trên Internet. Tuy nhiên, chúng tôi không thể chắc chắn rằng tất cả các tên miền hàng đầu trong danh sách do Alexa cung cấp thực sự là các tên miền lành tính vì các tên miền độc hại có thể sớm xuất hiện trong danh sách này. Do đó, chúng tôi đã tương quan chéo danh sách tên miền Alexa hàng đầu trong khoảng thời gian một tuần để loại bỏ càng nhiều tên miền nghi ngờ càng tốt trước khi xây dựng mô hình phân loại. Thực tế, chúng tôi cho rằng các tên miền độc hại thực sự có thể xuất hiện trong danh sách các tên miền hàng đầu, nhưng chúng sẽ nhanh chóng bị phát hiện và do đó chúng sẽ sớm được gỡ bỏ khỏi danh sách này. Theo Alexa, xếp hạng lưu lượng truy cập được cập nhật trên trang web hàng ngày, do đó chúng tôi hàng ngày trích xuất danh sách các tên miền hàng đầu từ trang web Alexa trong một tuần quan sát. Sau đó, chúng tôi chỉ giữ 500 tên miền hàng đầu liên tục có mặt trong danh sách này trong 7 ngày quan sát. Mặc dù chúng tôi không thể chính thức xác nhận danh sách các tên miền lành tính của mình, nhưng chúng tôi tin rằng họ có bằng chứng mạnh mẽ về việc các tên miền lành tính vì họ liên tục được phổ biến trên Internet trong suốt một tuần. Bộ dữ liệu chân lý cơ bản bao gồm danh sách 930 tên miền độc hại và 500 miền đã được lành tính đã sử dụng để đào tạo phân loại.

Mô hình phân loại tên miền
Chúng tôi xử lý tập huấn luyện của các miền độc hại và lành tính, sử dụng trình thu thập thông tin, để xây dựng các tính năng phát hiện cho trình phân loại. Trình thu thập thông tin mất 56 phút để xử lý toàn bộ danh sách 1.430 tên miền, sử dụng một máy tính để bàn với bộ xử lý lõi kép và 2Gb bộ nhớ. Hình 2a minh họa việc phân phối bộ huấn luyện của chúng tôi, bao gồm các tên miền độc hại và lành tính, đối với các loại tính năng khác nhau được cung cấp bởi hệ thống.
Như trong hình 2a, các tính năng nội dung cung cấp độ chính xác phát hiện tốt nhất với sự phân tách rõ ràng các tên miền độc hại và lành tính. Các tên miền lành tính trong tập huấn luyện của chúng tôi rõ ràng chứa nội dung phong phú, bao gồm các bộ mô tả tên miền và siêu dữ liệu không tồn tại trong các tên miền độc hại. Ví dụ: hầu hết các tên miền C&C độc hại không bao gồm các thẻ HTTP thân thiện với con người như từ khóa và mô tả nội dung đa dạng thực sự tồn tại trong hầu hết các tên miền lành tính trong tập huấn luyện.
Tính năng tên miền, bao gồm thông tin thu thập được từ cơ sở dữ liệu whois, cung cấp độ chính xác phát hiện thấp hơn so với các tính năng nội dung. Như thể hiện trong hình 2a, hầu hết các tên miền C&C độc hại vẫn có các giá trị TTL thấp hơn tên miền lành tính. Tuy nhiên, các giá trị TTL cho tên miền C&C độc hại có độ lệch chuẩn lớn, dẫn đến sự chồng chéo giữa tập hợp các miền độc hại và lành tính, do đó giảm độ chính xác phát hiện của các tính năng đó.
Cuối cùng, các tính năng phổ biến cũng cung cấp độ chính xác về nhận diện tổng thể và vì vậy chúng phân biệt rõ ràng các tên miền độc hại và lành mạnh. Theo bộ huấn luyện, các tên miền C&C có liên kết đến và đi ít hơn so với các tên miền lành tính. Mặt khác, và như thể hiện trong hình 2a, các tính năng mô tả sự phổ biến trên các mạng xã hội tạo ra sự tách biệt giữa các tên miền độc hại và lành tính trong bộ huấn luyện. Do đó, chúng sẽ có độ chính xác phát hiện thấp hơn so với các tính năng phát hiện khác.
Trong phần còn lại của phần này, chúng tôi xây dựng hệ thống phân loại sử dụng các tính năng phát hiện được mô tả trong bảng 1 và chúng tôi đánh giá tính chính xác của mô hình, bao gồm tỷ lệ truy cập thực và tỷ lệ sai lệch.

Xác nhận chéo: Trước tiên chúng tôi đánh giá hệ thống phát hiện Mentor bằng cách xác nhận chéo mô hình phân loại của chúng tôi đối với bộ dữ liệu chân lý cơ bản theo ý của chúng tôi. Chúng tôi đã thực hiện nhiều thử nghiệm, mỗi lần chia tách dữ liệu của chúng tôi một cách ngẫu nhiên thành 80% dữ liệu chúng tôi sử dụng cho huấn luyện và 20% mà chúng tôi đã sử dụng để đánh giá. Sau đó, chúng tôi sử dụng tập huấn của chúng tôi làm đầu vào cho mô hình Bayesian chọn lọc để xây dựng phân loại. Chúng tôi tiếp tục thử nghiệm phân loại này so với bộ đánh giá còn lại để đánh giá độ chính xác của hệ thống.
Bảng của hình 2b tóm tắt kết quả của quá trình thẩm định chéo của chúng tôi. Mentor phân loại một cách chính xác 99,02% của tên miền lành tính, với gần 0,98% tỷ lệ phân loại sai liên quan đến tên miền lành tính. Mặt khác, chính xác phân loại 95,32% các tên miền độc hại, với độ chính xác phân loại tổng thể 97,17%. Mentor có độ chính xác cao hơn khi phân loại tên miền lành tính, bao gồm tỷ lệ truy cập cao hơn và tỷ lệ sai lệch thấp hơn. Trong thực tế, các bộ tính năng mà chúng tôi sử dụng để xây dựng mô hình phân loại đặc trưng cho tính chất tự nhiên của một tên miền nhất định. Nó tìm kiếm bằng chứng cho thấy một tên miền đã được thiết lập cho việc sử dụng thân thiện, hữu ích với con người.
  
Bảng 2: Kiểm tra cố vấn chống lại danh sách đen công khai

Do đó, hầu hết các tên miền trong danh sách các tên miền hàng đầu của Alexa đều được thiết lập rõ ràng cho mục đích sử dụng chuyên nghiệp và do đó chúng được phân loại chính xác bởi hệ thống. Mặt khác, mặc dù nó đạt được độ chính xác phát hiện rất tốt, hệ thống có tỷ lệ sai lệch tương đối cao hơn so với các miền độc hại. Chúng tôi đã kiểm tra các tên miền độc hại đã được phân loại sai bởi hệ thống của chúng tôi theo cách thủ công. Hầu hết các tên miền này đều là những tên miền lành tính có lỗ hổng dễ bị tấn công bởi kẻ tấn công và được sử dụng để chỉ huy và kiểm soát. Các tên miền này đã được hệ thống coi là lành tính như lần đầu tiên được thiết lập để sử dụng chuyên nghiệp, trước khi chúng bị tấn công. Chúng ta thảo luận trong phần 5 về giới hạn của hệ thống đối với các tên miền lành tính với cả hai đều được sử dụng cho mục đích lành tính và độc hại.
Đánh giá thực tế: Để đánh giá hiệu suất của hệ thống, chúng tôi đã thực hiện các thí nghiệm trên thực tế sử dụng danh sách đen công khai C&C mà chúng tôi trích xuất từ ​​trang web abuse.ch2, bao gồm danh sách đen phần mềm độc hại Zeus, SpyEye, Palevo và Feodo. Chúng tôi cũng đánh giá khả năng của Mentor để phát hiện các tên miền C&C chưa được biết đến khi xây dựng hệ thống thông qua thử nghiệm chống lại một danh sách đen gần đây hơn từ malwaredomains.com. Trên thực tế, chúng tôi nhằm mục đích xác nhận thông qua các thí nghiệm này khả năng của Mentor để gỡ bỏ chính xác các tên miền lành tính và đánh giá tính nhất quán của kết quả cho các danh sách đen khác nhau.
Bảng 2 tóm tắt kết quả chính của các thí nghiệm, bao gồm các tên miền độc hại và lành tính như Mentor đã xác định. Kết quả trong bảng 2 chỉ bao gồm các tên miền có thể truy cập vào thời điểm xây dựng các thí nghiệm. Danh sách đen Feodo chỉ bao gồm 25 tên miền có thể truy cập, tất cả được xác định là tên miền C&C độc hại bởi hệ thống của chúng tôi. Do số lượng công việc nhỏ trong danh sách đen này, chúng tôi đã kiểm tra theo từng tên miền và sau đó chúng tôi đã xác minh các tên miền này bằng trình duyệt web an toàn API của Google. Tất cả các tên miền trong danh sách đen này có thực sự tên miền độc hại C & C, và do đó Mentor đạt được một tỷ lệ 0% đối với danh sách đen này.
Mặt khác, Mentor đạt 97,75% tỷ lệ đối với waredomains mal - danh sách đen chiết xuất trên 20 tháng 1 năm 2014. Chúng tôi tin tưởng tỷ lệ phù hợp cao này là chủ yếu bởi vì chúng tôi đa huấn luyện Mentor phân loại tên miền sử dụng một phiên bản cũ tương tự của danh sách đen này. Thật vậy Mentor xác định 9 tên miền lành tính trong danh sách đen này. Tuy nhiên, 7 tên miền trước đây đã bị nhiễm độc hiện đang cho thuê hoặc quay đang được xây dựng, vì vậy chúng tôi sẽ không xem xét chúng được phân loại sai bởi hệ thống. Còn lại hai tên miền truy cập bao gồm ankursociety.org và keymasconsultancy.co.uk. Chúng tôi tự kiểm tra hai tên miền này, và chúng tôi quét chúng bằng cách sử dụng trình duyệt web an toàn API của Google. Trang web ankursociety.org được xác định bởi các robot của Google như trước đây phân phối nội dung độc hại. Các chẩn đoán được cung cấp bởi các trình duyệt web an toàn API của Google cho thấy rằng không có nội dung độc hại trên trang web này đã được phát hiện trong quá trình kiểm tra cuối cùng. Các tên miền khác được xác định là nghi ngờ của trình duyệt Google an toàn , nhưng nó cũng chỉ ra rằng không có nội dung độc hại thời gian gần đây đã được xác định trên trang web này. Tự kiểm tra tên miền này cho thấy không có nội dung độc hại, và có vẻ như một trang web chuyên nghiệp lành tính của một công ty trụ sở tại Anh. Đây là những tên miền rõ ràng đã bị nhiễm độc trước đó vẫn còn hiện diện trong danh sách đen, và vì vậy chúng tôi sẽ xem xét tích cực là đúng kích hoạt bởi Mentor. Do đó, Mentor đã tách thành công hai tên miền lành tính từ danh sách malwaredomains, không có sai lệch.
Như đã trình bày trong bảng 2, hệ thống đã đạt được tỷ lệ phát hiện tương tự cho 3 còn lại C&C danh sách đen, bao gồm Zeus, Palevo và SpyEye. Mentor phát hiện 12 tên miền lành tính ra khỏi 241 tên miền đáng ngờ trong những danh sách đen. Vì thế, 95,1% số tên miền trong những danh sách đen đã được xác định một cách chính xác là tên miền độc hại C&C bởi hệ thốn. Chúng tôi đã kiểm tra 12 tên miền còn lại phát hiện là lành tính bởi hệ thống sử dụng trình duyệt web an toàn API của Google, và chúng tôi tự quan sát nội dung của họ cho bằng chứng về bản chất độc hại hoặc lành tính của các tên miền này. Trên thực tế 6 tên miền được xác định rõ ràng là lành tính bởi các API của Google. Các phân tích thủ công của các tên miền này cho thấy hai blogsites và 4 tên miền chuyên môn, và vì vậy chúng tôi sẽ xem xét những mặt tích cực như sự thật. Bốn tên miền khác dường như được lưu trữ nội dung chuyên nghiệp lành tính. Các robot của Google trước đây phát hiện nội dung đáng ngờ trên các tên miền này, nhưng họ đều thể hiện là lành tính và do đó, cũng có mặt tích cực đúng. Mặt khác, hai tên miền còn lại (biozov.ru và psgtech72.com) rõ ràng là tên miền độc hại và chúng được phân loại sai bởi hệ thống. Do đó, Mentor đạt tỷ lệ 0,8% sai lệch và tách 10 tên miền lành tính trong thí nghiệm này.

Thảo luận
Hệ thống xác định và loại bỏ các tên miền lành tính sử dụng tính năng dựa trên nội dung và sự phổ biến của một tên miền nhất định. Nó có hiệu quả phát hiện tên miền C&C khi chúng được xây dựng đặc biệt và thành lập cho mục đích này. Dù sao, thể hiện trong các thí nghiệm thực tế của chúng tôi mô tả trong phần 4, Mentor là kém hiệu quả khi phát hiện tên miền lành tính được bắt cóc và chuyển hướng bởi một kẻ tấn công. Tên miền bị tổn thương như vậy sẽ được xem xét bởi Mentor là lành tính càng lâu càng phổ biến và nội dung của họ không bị cản trở bởi những kẻ tấn công. Lưu ý rằng việc sử dụng các tên miền C&C là rủi ro khi chúng bao gồm nút duy nhất lỗi trong kiến trúc botnet. Trong thực tế, quản trị viên của các tên miền này sẽ nhanh chóng có những hành động, ngay sau khi họ phát hiện đáng ngờ sử dụng các trang web của họ, để ngăn chặn chúng khỏi bị sử dụng cho mục đích xấu. Tuy nhiên, nhiều tên miền được xác định như vậy bởi hệ thống trong các thí nghiệm của chúng tôi trong phần 4. Do đó, botnet hiện đại ngày càng áp dụng mô hình mạng lai bao gồm bots master đóng vai trò như các máy chủ C & C và phân phối lệnh cho slave bots. Botnet mạnh mẽ hơn khi bao gồm một tập hợp lớn các nút master C&C. Tuy nhiên, phát hiện một cách hiệu quả bởi Mentor bởi vì master server chỉ đóng vai trò là tên miền C&C cho các nút khác, và do đó sẽ có những đặc điểm khác biệt so với các tên miền lành tính chuyên nghiệp khác.
Mentor áp dụng kỹ thuật học máy cho một tập thống kê các tính năng để xác định các tên miền độc hại. Nó sẽ không thể phân loại một cách chính xác tên miền C&C có cùng tính năng tương tự với tên miền lành tính khác như phổ biến cao, nội dung web phong phú và tên miền tồn tại lâu dài. Những cuộc diễn tập sẽ sửa đổi tính nhất quán thống kê của một miền độc hại và vì vậy nó sẽ được xác định là lành tính bởi hệ thống của chúng tôi. Việc sử dụng những kỹ thuật này bởi một kẻ tấn công sẽ đòi hỏi phải xây dựng một cách cẩn thận tên miền C&C. Nó cũng sẽ mất nhiều thời gian cho các tên miền này để tăng sự nổi tiếng của họ để họ không còn có thể được phát hiện bởi hệ thống. Mặc dù là về mặt kỹ thuật có thể, những kỹ thuật này không thể dễ dàng tự động. Nó sẽ là khó khăn cho kẻ tấn công để duy trì một bộ đủ lớn ten miền C&C để đảm bảo một botnet khả năng phục hồi tốt hơn trong khi cũng giữ cho tên miền C&C của mình theo radar phát hiện các hệ thống của chúng tôi. Do đó, Mentor thêm một cấp độ mới của sự phức tạp cho botnet trong cuộc đấu tranh để giữ tên miền C&  không bị phát hiện.

Phần kết luận
Bài viết này trình bày một hệ thống mới gọi là Mentor, mà thực hiện DNS danh tiếng tích cực để xác định tên miền lành tính trong một danh sách tên miền độc hại C&C. DNS danh tiếng tích cực đo lường khả năng của một tên miền cho là vô hại, như trái ngược với DNS danh tiếng tiêu cực rằng thay vì quan sát hiện tượng độc hại cho cùng một tên miền. Mentor mô tả một tên miền được sử dụng ba bộ các tính năng, bao gồm cả sự phổ biến, nội dung và các tính năng dựa trên miền. Nó thực hiện một hệ thống bánh xích hoạt động thu thập hiện tượng và các tính năng nội dung từ một tên miền từ xa và cơ sở dữ liệu whois công cộng. Nhóm tất cả các tính năng cho một tên miền nhất định trong vòng một vector đơn và tiếp tục áp dụng kỹ thuật học máy để tách tên miền lành tính và độc hại. Mentor hoàn thành hệ thống DNS danh tiếng tiêu cực hiện hành;nó xử lý danh sách đen tên miền được tạo ra bởi các hệ thống và làm giảm tỷ lệ sai lệch cao. Kết quả thí nghiệm chứng minh khả năng của Mentor để xác định hiệu quả và tách các tên miền lành tính trong danh sách đen tên miền độc hại C&C, với một tỷ lệ sai lệch rất thấp.

Tác giả
Nizar Kheir, Fr'ed'eric Tran, Pierre Caron, và Nicolas Deschamps
Orange Labs, Issy-Les-Moulineaux, Pháp
{name.surname}@orange.com
Tài liệu tham khảo
1.  Alexa  web information company. http://www.alexa.com/topsites/,  2013.
2.  M.  Antonakakis, R.  Perdisci, D.  Dagon,  W.  Lee,  and  N.  Feamster.  Building   a dynamic reputation system  for dns.  In Usenix  Security  Symposium,  2010.
3.  M.  Antonakakis, R.  Perdisci, Y.  Nadji,   N.  Vasiloglou,   S.  Abu-Nimeh, W.  Lee, and  D. Dagon.   From  throw-away traffic  to  bots:  Detecting the  rise of dga-based malware. In USENIX  Security  Symposium,  2012.
4.  D. Balzarotti, M. Cova,  C. Karlberger, C. Kruegel,  E.  Kirda, and  G. Vigna.   Efficient detection of split  personalities in malware. In International Symposium  on Network  and  Distributed System  Security  (NDSS), 2010.
5.  L.  Bilge,  D.  Balzarotti, W.  Robertson, E.  Kirda, and  C.  Kruegel.    Disclosure: detecting botnet command and control  servers through large-scale  netflow analysis. In Int.  Annual  Computer Security  Applications Conference (ACSAC), 2012.
6.  L.  Bilge,  E.  Kirda, C.  Kruegel,  and  M.  Balduzzi.   Exposure:  Finding  malicious domains using  passive  dns  analysis.  In  Symposium  on  Network  and  Distributed System  Security, 2011.
7.  H.  Choi,  H.  Lee,  H.  Lee,  and  H.  Kim.    Botnet detection by  monitoring group activities in  dns  traffic.   In  Seventh  International  Conference on  Computer and Information Technology,  2007.
8.  N. Cristianini and  J. Shawe-Taylor. An introduction to  support vector  machines and  other  kernel-based learning  methods. In Cambridge University Press, 2000.
9.  M. Felegyhazi, C. Kreibich, and  V. Paxson. On the  potential of proactive domain blacklisting. In Third  USENIX  LEET Workshop,  2010.
10.  T. Holz, C. Gorecki, K. Rieck, and F. C. Freiling. Measuring and detecting fast-flux service networks. In Symp.  on Network  and  Distributed System  Security, 2008.
11.  G. Jacob, R. Hund,  C. Kruegel,  and  T.  Holz.  Jackstraws: Picking  command and control  connections from bot  traffic.  In USENIX  Security  Symposium,  2011.
12.  N.  Kheir  and  X.  Han.   Peerviewer: Behavioral tracking and  classification of p2p malware. In 5th Int.  Symposium  on Cyberspace Safety  and  Security  (CSS),  2013.
13.  N. Kheir and C. Wolley. Botsuer: Suing stealthy p2p bots in network traffic through netflow  analysis.  In  12th  Int.  Conf.  Cryptology  and  Network  Security   (CANS), 2013.
14.  P.  Langley  and  S. Sage.  Induction of selective  bayesian classifiers.  In 10th  international conference on Uncertainty in artificial intelligence, pages  399–406, 1994.
15.  P. Mockapetris. Dns encoding  of network names  and other  types. RFC  1101, April 1989.
16.  A. Moser,  C. Kruegel,  and  E. Kirda. Exploring multiple execution paths for malware  analysis. In International Symposium  on Security  and  Privacy, 2007.
17.  J. Postel. Domain  name  system  structure and  delegation. In RFC  1591, 1994.
18.  J. R. Quinlan. C4.5: Programs for machine learning. In Morgan  Kaufmann Publishers,  1993.
19.  M. A. Rajab, J. Zarfoss,  F.  Monrose,  and  A. Terzis.   A multifaceted approach to understanding the  botnet phenomenon.  In  6th  ACM  SIGCOMM  conference on Internet  measurement, 2006.
20.  S.  Sinha,  M.  Bailey,  and  F.  Jahanian.   Shades  of grey:  On  the  effectiveness  of reputation-based ”blacklists”. In International Conference on Malicious  and  Unwared  Software  (Malware), 2008.
21.  P. Wurzinger, L. Bilge, T. Holz, J. Goebel, C. Kruegel,  and E. Kirda. Automatically generating models for botnet detection. In 14th European Symposium  on Research in Computer Security  (ESORICS), 2009.

22.  S. Yadav, A. K. Reddy,  A. N. Reddy,  and S. Ranjan.  Detecting algorithmically generated malicious  domain  names.  In 10th ACM SIGCOMM  conference on Internet measurement,  2010.