chương 1 đề cập đến khái niệm mã độc và tác hại của nó, lịch sử hình thành và phát triển của mã độc, các dạng mã độc phổ biến hiện nay. Ngoài ra cũng nêu lên các phương pháp phân tích và phát hiện mã độc, sự cần thiết của học máy trong việc phát hiện mã độc và giới thiệu một số nghiên cứu liên quan.1 Tổng quan về mã độc 1.1 Khái niệm mã độc Mã độc là các phần mềm được thiết kế một cách có chủ đích, dùng để gây thiệt hại tới máy tính cá nhân, máy chủ hoặc hệ thống mạng máy tính. Mục đích của mã độc là thực thi các hành vi bất hợp pháp như: truy cập trái phép, đánh cắp thông tin người dùng, lây lan thư rác, thậm chí thực hiện các hành vi tống tiền, tấn công và gây tổn thương cho các hệ thống máy tính… nhằm chuộc lợi cá nhân, hoặc các lợi ích về kinh tế, chính trị hay đơn giản chúng có khi được tạo ra chỉ là một trò đùa ác ý nào đó. Kể từ khi Internet bắt đầu phát triển, các phần mềm độc hại cũng nhắm đến lợi ích nhiều hơn.
Từ năm 2003, mục đích chính của việc phát tán virus và worm là chiếm quyền điều khiển máy tính người dùng một cách bất hợp pháp. Các máy bị lây nhiễm có thể được dùng để gửi email rác, lưu trữ các nội dung không lành mạnh, hoặc tham gia vào tấn công từ chối dịch vụ phân tán. Năm 2017 là năm bùng nổ của các loại mã độc tống tiền (ransomware) và các loại mã độc đào tiền ảo. Theo thống kê từ Symatec [26], số lượng mã độc đào tiền ảo được phát hiện trong năm 2017 tăng 8,500% so với các năm trước.
Liên quan tới đào tiền ảo, các thiết bị IoT cũng là một mục tiêu được nhắm đến. Cũng theo Symatec, số lượng các cuộc tấn công nhằm vào thiết bị IoT tăng 600%, tức là tội phạm mạng có thể lợi dụng mối liên kết giữa các thiết bị này để đào tiền ảo trên diện rộng. 4 Mối đe dọa của mã độc đối với các thiết bị di động cũng đang ngày càng gia tăng.1 thể hiện số lượng mã độc trên thiết bị di động được phát hiện trong năm 2017 tăng 54% so với năm 2016 [26].1 Thống kê số lượng mã độc trên điện thoại di động 2016-2017 Vậy mã độc xuất hiện từ khi nào? Theo [30], ý tưởng về virus máy tính đã xuất hiện từ năm 1949, khi nhà khoa học máy tính John von Neumann nêu lên trong bài báo của ông về một chương trình máy tính có thể tự nhân bản nó. Đến những năm 1950, ý tưởng của Von Neumann đã được các thành viên tại Bell Labs biến thành hiện thực với một trò chơi tên là “Core Wars”.
Trong trò chơi, người lập trình sẽ thả các “sinh vật” để cạnh tranh quyền điều khiển máy tính. Tài liệu đầu tiên về virus máy tính xuất hiện vào đầu những năm 1970, trình bày về “Creeper Worm”, một chương trình có khả năng tự nhân bản được viết bởi Bob Thomas [9]. Creeper lấy quyền truy cập thông qua ARPANET, tự nhân bản nó tới các hệ thống từ xa và hiển thị đoạn tin nhắn: “I’m the creeper, catch me if you can!”. Quá trình phát triển của mã độc có thể được chia làm 3 giai đoạn chính [23]: - Những năm đầu (1971 – 1999): thời kỳ này mã độc vẫn còn sơ khai, chủ yếu lây lan qua đĩa mềm truyền từ máy tính này sang máy tính khác một cách thủ công.
Khi mạng và internet phát triển, người viết mã độc cũng nhanh chóng 5 thích nghi và tận dụng phương tiện truyền thông mới này. Một số mã độc nổi tiếng trong thời kỳ này: Creeper (1971), Wabbit (1974), Brain Boot Sector Virus (1986), Morris Worm (1988), Melissa Virus (1999),… - Tỉ lệ lây nhiễm bắt đầu gia tăng (2000 – 2010): trong khoảng thời gian này, mã độc đã gia tăng đáng kể, về cả số lượng và tốc độ lây lan. Toolkits bắt đầu xuất hiện, các bộ công cụ nhắm vào các websites cũng trở nên phổ biến, khiến cho số lượng websites bị tấn công ngày càng nhiều. Một số mã độc đáng chú ý: ILOVEYOU Worm (2000), SQL Slammer Worm (2003), Conficker Worm (2008),… - Được chính phủ tài trợ, tinh vi hơn và hướng đến lợi nhuận (2010 – nay): kể từ năm 2010 đến nay, mã độc đã và đang tiến hóa ngày một tinh vi hơn.
Các nhóm tội phạm có tổ chức và được tài trợ bởi chính phủ vẫn đang tiếp tục phát triển các loại mã độc tiên tiến, có khả năng vượt qua các hệ thống diệt virus thông thường. Mã độc được sử dụng để tấn công các doanh nghiệp, hệ thống quân sự, và việc kiếm tiền từ các phần mềm độc hại này cũng đang gia tăng nhanh chóng, thông qua ransomware và các phần mềm bất hợp khác. Một số mã độc có tác hại đáng kể trong giai đoạn này: Stuxnet Worm (2010), Zues Trojan (2011), Cryptolocker (2013), WannaCry Ransomware (2017),… Từ những khởi đầu đơn giản và vô hại, mã độc đã trở thành mối đe dọa vô cùng lớn cho người dùng trên toàn thế giới. Mặc dù ngành công nghiệp an ninh mạng đang nỗ lực hết sức mình để kiểm soát mã độc – và đã thành công phần nào, tội phạm mạng vẫn không có dấu hiệu ngừng lại mà ngày càng nguy hiểm và đa dạng hơn.2 Các dạng mã độc Để hiểu rõ hơn về phương thức và logic hoạt động của mã độc, người ta phân loại mã độc thành các lớp, dựa theo mục đích của chúng.
a) Virus máy tính Đặc điểm chính của virus máy tính là có khả năng tự nhân bản. Nó thường tấn công và lây nhiễm vào các tệp tin trên hệ thống nạn nhân. Sau khi lây nhiễm vào tệp tin, virus sẽ tự động tải và chạy mà không cần quyền từ người dùng. Khi được thực 6 thi nó sẽ cố gắng sao chép chính nó vào bên trong một mã thực thi khác.
Các mã lây nhiễm khi chạy có thể tiếp tục lây nhiễm sang các mã mới. Sự tự sao chép này là một đặc tính quan trọng của virus. Khi virus được lây nhiễm nó có thể thực hiện một loạt các hành vi như thay đổi, xóa, hay sao chép các tệp tin cũng như phát tán chúng trên các hệ thống máy tính. Ngoài khả năng đánh cắp và làm hỏng dữ liệu, virus còn tiêu tốn tài nguyên hệ thống – khiến cho hệ thống máy chủ trở nên chậm chạp hoặc thậm chí bị vô hiệu hóa.
Một đặc điểm thường gặp ở virus là chúng được che giấu khá kĩ, khiến cho chúng khó có thể bị phát hiện. b) Worm Cũng như virus, worm có khả năng tự nhân bản chính nó. Tuy nhiên, worm không cần phải lây nhiễm vào một tệp tin cụ thể. Worm có thể phát tán thông qua hệ thống mạng, dựa vào lỗi bảo mật để truy cập vào máy tính của nạn nhân, sau đó đánh cắp hoặc xóa dữ liệu.
Nhiều worm được thiết kế chỉ để tự phát tán chính nó mà không gây tổn hại đến hệ thống mà nó đi qua. c) Trojan Mã độc Trojan Horse là một cái tên được xuất phát từ một điển tích “Con ngựa thành Troy” trong thần thoại Hy Lạp. Tội phạm mạng sẽ cải trang trojan thành các phần mềm hữu ích và thuyết phục người dùng cài đặt nó. Do vậy, cách phát tán chính của trojan là sử dụng social engineering.
Payload của trojan thường có dạng cửa hậu, cho phép kẻ tấn công truy cập bất hợp pháp vào máy tính của nạn nhân. Kẻ tấn công có thể thu thập thông tin cá nhân của người dùng như địa chỉ IP, mật khẩu và thông tin thanh toán ngân hàng. Chúng thường cài đặt keylogger cùng với trojan để lấy thông tin tài khoản và mật khẩu, hoặc dữ liệu thẻ tín dụng. Hầu hết các cuộc tấn công ransomware đều sử dụng trojan, bằng cách nhúng đoạn mã độc hại vào trong một chương trình vô hại.
d) Adware 7 Adware là chương trình được thiết kế để hiển thị quảng cáo trên máy tính của người dùng, sau đó chuyển hướng yêu cầu tìm kiếm của người dùng tới các website quảng cáo và thu thập dữ liệu tiếp thị của người dùng. Ví dụ, adware sẽ thu thập thông tin về các website mà người dùng truy cập, sau đó hiển thị quảng cáo phù hợp với nhu cầu của người dùng. Adware thường được coi như là một nhánh con của spyware và không gây nhiều thiệt hại nghiêm trọng. e) Spyware Spyware là phần mềm dùng để theo dõi người dùng.
Spyware được thiết kế để giám sát và chặn bắt lịch sử duyệt web cũng như các hoạt động khác của người dùng, sau đó bán các thông tin này cho các nhà quảng cáo hoặc bên thứ ba. Spyware có nhiều chức năng hơn so với adware, ví dụ, thu thập các dữ liệu nhạy cảm như tài khoản ngân hàng, mật khẩu, hoặc thông tin thẻ tín dụng. f) Rootkit Rootkit là một bộ các công cụ phần mềm độc hại cho phép một người dùng trái phép có quyền truy cập vào máy tính. Khi rootkit được cài đặt, kẻ tấn công có thể điều khiển từ xa để thực thi các tệp tin và thay đổi cấu hình hệ thống trên máy nạn nhân.
Rootkit không có khả năng tự nhân bản. Chúng phải được cài đặt và thực thi ở lớp thấp của hệ điều hành, ở kernel, hoặc trong hệ thống vào ra của thiết bị (BIOS) với quyền truy cập đặc quyền, do đó, chúng rất khó để phát hiện và gỡ bỏ. Khi phát hiện rootkit, các chuyên gia khuyến cáo nên xóa sạch ổ cứng và cài lại hệ điều hành từ đầu. g) Backdoor Backdoor là một dạng malware cung cấp cho kẻ tấn công một “cổng vào” bí mật tới hệ thống.
Backdoor không bao giờ được sử dụng một cách riêng lẻ. Nó thường hỗ trợ cho các dạng tấn công khác. Đôi khi các lập trình viên cũng tạo ra một backdoor trong chương trình của mình nhằm bỏ qua bước xác thực khi debug trên máy chủ. h) Keylogger 8 Keylogger sẽ ghi lại tất cả những phím được bấm trên một máy tính mà người dùng không hề biết.
Keylogger được công nhận là một công cụ giám sát chuyên nghiệp hợp pháp. Tuy nhiên, keylogger thường được sử dụng với mục đích xấu, như thu thập thông tin nhạy cảm, bao gồm tài khoản, mật khẩu, câu trả lời của các câu hỏi bảo mật và thông tin tài chính. i) Ransomware Ransomware là một dạng mã độc sẽ khóa tất cả dữ liệu trên máy tính nạn nhân, thường là bằng cách mã hóa. Nạn nhân sẽ phải trả tiền để kẻ tấn công giải mã dữ liệu và trả lại quyền truy cập.
Động cơ chính của tấn công ransomware là tiền.