Keywords: Spam SMS, machine learning, text classification.
1. Đặt vấn đề
Ngày nay, thiết bị thông minh, đặc biệt là điện thoại di động đã trở thành “vật bất li thân” đối với con người. Những thiết bị loại này giúp duy trì kết nối liên tục, cập nhật thông tin thời sự, hỗ trợ con người làm việc, học tập, giải trí.
Tuy nhiên, nhiều người phản ánh rằng điện thoại di động cũng đem lại phiền hà, ví dụ như một số người bị rò rỉ dữ liệu riêng tư nhạy cảm hay thiết bị di động của họ bị tin tặc biến thành công cụ tấn công máy chủ web. Những vụ việc điển hình xảy ra liên quan đến thiết bị và dữ liệu di động đó là: 46 triệu người dùng di động của Malaysia đã bị rò rỉ dữ liệu nhạy cảm và quan trọng như địa chỉ, số thẻ định danh, thông tin thẻ, sim điện thoại và thông tin cá nhân khác vào năm 2017; dữ liệu liên quan tới 7,6 triệu chủ tài khoản hiện tại và 65,4 triệu chủ tài khoản trước đây của Công ty viễn thông AT&T - nhà cung cấp dịch vụ không dây bán lẻ lớn thứ 3 của Mỹ đã bị rò rỉ từ trước năm 2019 và mới bị phát hiện vào đầu năm 2024. Ở Việt Nam, nhiều vụ việc lộ lọt dữ liệu di động của một số cá nhân nổi tiếng cũng đã xảy ra khiến cho danh tiếng, uy tín và đời sống riêng tư của các cá nhân này bị ảnh hưởng nghiêm trọng.
Bài viết này tập trung vào vấn đề phổ biến đối với tất cả người dùng thiết bị di động, đó là nạn tin nhắn rác. Tin nhắn rác là những tin nhắn thường chứa thông tin quảng cáo, các thông điệp không liên quan, đặc biệt nguy hiểm khi nhiều tin nhắn rác chứa thông tin lừa đảo liên quan đến lĩnh vực tài chính - ngân hàng. Theo các tổ chức bảo mật nổi tiếng F-secure và Kaspersky, kẻ lừa đảo thường sử dụng phương thức nhắn tin giả mạo ngân hàng hoặc cơ quan có thẩm quyền khiến nạn nhân tiết lộ thông tin và chi tiết cá nhân như số tài khoản ngân hàng, mật khẩu và mã OTP thực hiện giao dịch ngân hàng rồi từ đó cố gắng truy cập vào ngân hàng trực tuyến và thực hiện giao dịch trái phép.
Theo thống kê của Techreport, năm 2020, có tới 3 triệu tin nhắn lừa đảo liên quan đến lĩnh vực tài chính - ngân hàng. Thống kê mới nhất của Robokiller - ứng dụng chặn cuộc gọi và tin nhắn rác hàng đầu cho thấy, người Mỹ đã nhận được 225 tỉ tin nhắn rác vào năm 2023 (tăng 157% so với năm 2022) và 19,2 tỉ tin nhắn rác vào tháng 3/2024. Truecaller và Ủy ban Thương mại Liên bang cho biết, 68,4 triệu người Mỹ trở thành nạn nhân của các vụ lừa đảo qua điện thoại với tổng thiệt hại hơn 326 triệu USD. Ở Ailen, chỉ một vụ lừa đảo qua tin nhắn rác mà thiệt hại lên đến 800 nghìn USD.
Tại Việt Nam, vào năm 2021, khách hàng của nhiều ngân hàng thương mại như Ngân hàng Thương mại cổ phần (NHTMCP) Ngoại thương Việt Nam (Vietcombank), NHTMCP Á Châu (ACB), NHTMCP Sài Gòn Thương Tín (Sacombank), NHTMCP Tiên Phong (TPBank) đã nhận được tin nhắn chứa đường dẫn mạo danh ngân hàng (Đại Việt, 2021; N.M, 2021). Những khách hàng này do không biết hoặc chủ quan nên đã nhấp vào và bị chiếm quyền truy cập tài khoản ngân hàng dẫn đến mất số tiền lớn. Năm 2022, Công an tỉnh Tuyên Quang cũng đã phải phát đi cảnh báo thủ đoạn lừa đảo qua SMS. Theo đó, các đối tượng giả lập trạm phát sóng di động của các nhà mạng trong nước rồi phát tán tin nhắn với nội dung thông báo khách hàng đã đăng kí các dịch vụ phát sinh chi phí (từ 3 - 6 triệu đồng) qua tài khoản ngân hàng (Hoàn, 2022).
Trong suốt nhiều năm qua, vấn nạn tin nhắn rác không chỉ gây phiền toái cho người dùng mà còn gây ra thiệt hại lớn về mặt tài chính. Do đó, việc đề xuất các giải pháp công nghệ hiện đại nhằm phát hiện tin nhắn rác với độ chính xác cao là hết sức cấp thiết và có ý nghĩa trong việc đảm bảo an toàn, hạn chế rủi ro về tài chính cho người dùng thiết bị di động.
Mục tiêu chính của bài viết này là phân tích, nghiên cứu phát triển mô hình học máy thông minh dựa trên bộ dữ liệu phức hợp được cập nhật mới nhất có khả năng phát hiện tin nhắn rác hiệu quả, giúp giảm tối đa những rủi ro cho người dùng thiết bị di động, đặc biệt là những rủi ro tài chính.
2. Các nghiên cứu liên quan
Tính đến nay, có hai cách tiếp cận phổ biến trong việc xây dựng giải pháp cho bài toán phát hiện tin nhắn rác là phương pháp phát hiện dựa trên luật (Rule-based method) và phương pháp lọc dựa trên nội dung (Xia và Chen, 2021).
Phương pháp phát hiện dựa trên luật được những tập đoàn công nghệ lớn như Google, Symantec, McAfee ứng dụng để loại bỏ những tin nhắn, thư điện tử rác (M. Hameed và Hussein Ali, 2021). Phương pháp này tương đối hiệu quả nhưng để cải thiện liên tục chất lượng nhận dạng tin nhắn rác thì tập luật sẽ ngày một lớn dần lên, làm tăng thời gian rà quét một tin nhắn đến hộp tin của người dùng.
Phương pháp lọc tin nhắn rác dựa trên nội dung sử dụng nền tảng học máy được quan tâm nghiên cứu nhiều hơn trong những năm trở lại đây (Hsu, 2020; Xia và Chen, 2021). Những hệ thống lọc tin nhắn rác loại này có tốc độ nhanh và độ chính xác cao. Tuy nhiên, để có được những giải pháp hiệu quả như vậy thì dữ liệu tin nhắn cũng cần được đảm bảo số lượng đủ lớn, được gắn nhãn đúng và cập nhật.
Khảo sát những giải pháp điển hình trong việc phát hiện tin nhắn rác dựa trên nền tảng học máy, trong nghiên cứu của Rafique và Farooq (2010), các tác giả đã xây dựng công cụ phát hiện tin nhắn rác dựa trên mô hình Markov ẩn sử dụng bộ dữ liệu được khảo sát từ tình nguyện viên và diễn đàn Grumbletext. Công cụ này của Rafique và Farooq đã đạt được độ chính xác 97% trong việc nhận diện ra tin nhắn rác.
Với việc ứng dụng thuật toán phân lớp láng giềng gần nhất KNN, Uysal và cộng sự (2013) đã sử dụng bộ dữ liệu tin nhắn di động (không công bố) để đề xuất mô hình phát hiện tin nhắn rác với độ chính xác là 96%.
Dựa trên ưu điểm về sự phù hợp của kĩ thuật phân lớp Naive Bayes đối với bài toán phân loại văn bản nói chung, Nagwani và Sharaff (2016) đưa ra mô hình phát hiện tin nhắn rác dựa trên kho SMS của Almeida và cộng sự (2011) với độ chính xác khiêm tốn tầm 84,2%.
Cũng dựa trên thuật toán Naive Bayes nhưng Arifin và cộng sự (2016) đã đề xuất mô hình phân biệt tin nhắn rác sử dụng kho SMS của Almeida và cộng sự (2011) đạt được độ chính xác lên đến 98,5%.
Sử dụng bộ dữ liệu kho SMS của Almeida và cộng sự kết hợp cùng kho tin nhắn tiếng Anh - Ấn, Agarwal và cộng sự (2016) đã phát triển hai giải pháp phát hiện tin nhắn rác dựa vào kĩ thuật phân lớp SVM và cây quyết định. Những giải pháp này lần lượt đạt độ chính xác là 98,23% và 96,04%.
Thử nghiệm với hai phương pháp phân lớp SVM và Naive Bayes trên kho SMS của Almeida và cộng sự (2011), Sonowal, Kuppusamy và cộng sự (2018) đã có được hai mô hình phân loại tin nhắn rác có độ chính xác ở mức 94,2%. Cùng sử dụng bộ dữ liệu tương tự, Jain và Gupta (2019) đã đề xuất ứng dụng cây quyết định và SVM vào bài toán phát hiện tin nhắn rác và đạt được độ chính xác là 94,2%.
Với việc sử dụng kĩ thuật phân lớp Naive Bayes trên cùng bộ dữ liệu kho SMS của Almeida và cộng sự (2011) nhưng Sjarif và cộng sự (2019), Mishra và Soni (2020) lại đạt được mô hình phát hiện tin nhắn rác với độ chính xác khác nhau, lần lượt là 97,5% và 96,29%.
Xia và Chen đã liên tiếp cải tiến mô hình Markov ẩn tiến hành trên kho SMS của Almeida và cộng sự (2011) để ứng dụng vào việc xây dựng công cụ phân loại tin nhắn rác với độ chính xác 95,9% trong công trình (Xia và Chen, 2020) và 96,9% trong công trình (Xia và Chen, 2021).
Trong nghiên cứu của mình, Roy và cộng sự (2020) đã thử nghiệm xây dựng một loạt mô hình phát hiện tin nhắn rác dựa trên các kĩ thuật học sâu là bộ nhớ dài - ngắn hạn (LSTM), mạng nơ-ron tích chập (CNN), LSTM kết hợp CNN trên bộ dữ liệu kho SMS của Almeida và cộng sự (2011). Kết quả là, mô hình kết hợp LSTM và CNN đạt độ chính xác cao nhất, lên đến 99,44%.
Có cùng phương pháp kết hợp giữa LSTM với CNN, tuy nhiên Ghourabi và cộng sự (2020) đề xuất được công cụ lọc tin nhắn rác dựa trên kho SMS của Almeida và cộng sự (2011) với độ chính xác thấp hơn một chút là 98,37%. Kết quả này cũng gần tương đương với các mô hình phân loại tin nhắn rác dựa trên thuật toán KNN của Sousa và cộng sự (2021), mô hình tuần tự trong học sâu của Liu và cộng sự (2021), CNN của Giri và cộng sự (2023), mô hình kết hợp giữa CNN và Bi-LSTM của Mambina và cộng sự (2024).
Đặc biệt, một loạt các công trình nghiên cứu sử dụng bộ dữ liệu kho SMS của Almeida và cộng sự (2011) đã xây dựng được mô hình phát hiện tin nhắn rác có độ chính xác gần như tuyệt đối, đó là công trình của Ghourabi và Alohaly (2023) kết hợp các kĩ thuật SVM, KNN, LightGBM, CNN; công trình của Maqsood và cộng sự (2023) sử dụng kĩ thuật SVM, hay công trình của Hussein và cộng sự (2023) kết hợp LSTM và CNN.
Ngoài các nghiên cứu đề xuất mô hình lọc tin nhắn rác tiếng Anh phổ biến thì hiện nay, cũng đã có một số nghiên cứu phát hiện tin nhắn rác tiếng Indonesia như Hikmaturokhman và cộng sự (2022) sử dụng các kĩ thuật mạng nơ-ron dày đặc, LSTM và Bi-LSTM đạt độ chính xác tương ứng là 95,63%, 94,76%, và 94,75%; Tuấn và cộng sự (2022) đề xuất mô hình phát hiện tin nhắn rác tiếng Việt dựa trên việc kết hợp DNN và PhoBERT có độ chính xác 99,53%; Mambina và cộng sự (2024) đã xây dựng công cụ phát hiện tin nhắn rác tiếng Tanzania dựa trên mô hình kết hợp CNN, LSTM, LSTM sử dụng dữ liệu từ các công ty viễn thông với độ chính xác 99,98% hay Ayaz và cộng sự (2024) đã sử dụng kho tin nhắn ngôn ngữ Latinh (Romanized messages) riêng tư huấn luyện mô hình cây quyết định SVM và Naive Bayes để đạt được các kết quả chính xác lần lượt là 97,33%, 99,42%, 97,33%.
Qua kết quả nghiên cứu khảo sát có thể thấy, hầu hết những giải pháp hiện có được đề xuất cho bài toán phát hiện tin nhắn rác đạt kết quả chính xác rất cao, thậm chí tiệm cận tới 100%. Tuy nhiên, những số liệu thống kê lại phản ánh thực tế vấn nạn tin nhắn rác và mức độ thiệt hại của người dùng thiết bị di động không có dấu hiệu thuyên giảm trong những năm gần đây. Có thể nhận định rằng, một trong những vấn đề chính khiến cho các mô hình lí tưởng này chưa đáp ứng được yêu cầu thực tế là do bộ dữ liệu sử dụng trong huấn luyện và kiểm thử mô hình. Những nghiên cứu điển hình được phân tích ở trên sử dụng hầu hết các bộ dữ liệu tin nhắn bị hạn chế về mặt số lượng tin nhắn và dữ liệu tin nhắn không được cập nhật thường xuyên (Salman và cộng sự, 2024), trong khi đó tin tặc lại sử dụng nhiều thủ đoạn khác nhau nhằm thay đổi liên tục mẫu tin nhắn rác để tránh bị phát hiện. Chính vì vậy, việc xây dựng mô hình học máy hiện đại dựa trên bộ dữ liệu tin nhắn phức hợp được cập nhật nhằm phát hiện tin nhắn rác là vấn đề nghiên cứu quan trọng cần được quan tâm.
3. Mô hình học sâu phát hiện tin nhắn rác dựa trên bộ dữ liệu phức hợp được cập nhật
Bài viết tập trung phân tích mô hình học máy phát hiện tin nhắn rác dựa trên bộ dữ liệu phức hợp được cập nhật, cụ thể như sau:
Về bộ dữ liệu: Nghiên cứu này lựa chọn tích hợp ba nguồn dữ liệu đặc trưng cho bài toán phát hiện tin nhắn rác. Bộ dữ liệu phức hợp được cập nhật mới nhất, sau khi được làm sạch bao gồm 41.663 tin nhắn thường và 26.757 tin nhắn rác.
Về kĩ thuật học máy: Qua những kết quả nghiên cứu khảo sát trong bài viết và những công trình liên quan (Maqsood và cộng sự, 2023; Salman và cộng sự, 2024), có thể thấy rằng, nhóm kĩ thuật học sâu thường có độ chính xác cao nhất. Do đó nghiên cứu cũng lựa chọn hướng tiếp cận này.
Dưới đây, bài viết phân tích chi tiết các bước xây dựng mô hình học sâu dựa trên bộ dữ liệu cập nhật nói trên nhằm tạo ra công cụ phát hiện tin nhắn rác.
Tiền xử lí dữ liệu
Nghiên cứu này lựa chọn phương pháp tiền xử lí dữ liệu phổ biến BoW (Bag of Words) để trích xuất đặc trưng, mỗi tin nhắn sẽ được biểu diễn thành các vector 5000 chiều dựa vào bộ từ điển được xây dựng từ chính bộ dữ liệu.
Phân chia dữ liệu huấn luyện và kiểm thử
Tỉ lệ số tin nhắn trong tập dữ liệu huấn luyện và kiểm thử là 80% và 20%, tuy nhiên, để đảm bảo số lượng tin nhắn thường và tin nhắn rác được phân bổ đều cho hai tập trên thì nghiên cứu này sẽ chia lần lượt bộ tin nhắn thường và tin nhắn rác theo tỉ lệ trên rồi mới ghép lại thành tập dữ liệu huấn luyện và kiểm thử. (Bảng 1)
Bảng 1: Mã nguồn chương trình chuẩn bị dữ liệu
Huấn luyện mô hình và thảo luận kết quả kiểm thử
Mô hình học sâu được lựa chọn trong nghiên cứu này là Sequential trong thư viện Tensorflow như được trình bày ở đoạn mã nguồn Python. (Bảng 2)
Bảng 2. Mã nguồn huấn luyện mô hình học sâu
và kiểm thử đánh giá
Sau khi được huấn luyện thành công từ bộ dữ liệu phức hợp và cập nhật, mô hình học sâu phát hiện tin nhắn rác được triển khai thử nghiệm trên tập kiểm thử và đạt độ chính xác lên đến 97,2%. Điều này thể hiện mô hình đã phát triển có chất lượng tốt và khả năng ứng dụng cao vào thực tế.
4. Kết luận
Bài viết đề xuất mô hình học sâu dựa trên bộ dữ liệu phức hợp và được cập nhật nhằm phát hiện ra tin nhắn rác. Mô hình đề xuất có độ chính xác cao và do đó có khả năng phát triển thành ứng dụng thực tế. Trong thời gian tới, hi vọng sẽ có nhiều nghiên cứu tập trung đề xuất mô hình phát hiện ra tin nhắn rác cho tin nhắn tiếng Việt và đặc biệt là phân loại các mức cảnh báo nguy hiểm khác nhau giúp người dùng thiết bị di động ý thức hành vi của mình với từng tin nhắn rác nhận được.
Tài liệu tham khảo:
1. Agarwal, S., Kaur, S., & Garhwal, S. (2016). SMS spam detection for Indian messages. International Conference on Next Generation Computing Technologies (NGCT). https://doi.org/10.1109/NGCT.2015.7375198
2. Almeida, T. A., J.M.G, H., & A, Y. (2011). Contributions to the study of SMS spam fltering: New collection and results. Proceedings of the 11th ACM Symposium on Document Engineering, pages 259-262. https://doi.org/10.1145/2034691.2034742
3. Ghourabi, A., A. Mahmood, M., & M. Alzubi, Q. (2020). A Hybrid CNN-LSTM Model for SMS Spam Detection in Arabic and English Messages. Future Internet, 12(156). https://doi.org/10.3390/fi12090156
4. Ghourabi, A., & Alohaly, M. (2023). Enhancing Spam Message Classification and Detection Using Transformer-Based Embedding and Ensemble Learning. Sensors, 23. https://doi.org/10.3390/ s23083861
5. Hikmaturokhman, A., Nafi’ah, H., Larasati, S., Wahyudin, A., Ariprawira, G., & Pramono, S. (2022). Deep Learning Algorithm Models for Spam Identification on Cellular Short Message Service. Journal of Communications, 17(9), pages 769-776. https://doi.org/10.12720/jcm.17.9.769-776
6. Hsu, B.-M. (2020). Comparison of Supervised Classification Models on Textual Data. Mathematics, 8(5). https://doi.org/10.3390/math8050851
7. Hussein, A. A.-K., Mohammad-Rrza, F.-D., & Saeid, P. (2023). Multi-Type Feature Extraction and Early Fusion Framework for SMS Spam Detection. IEEE Access, 11, pages 123756-123765. https://doi.org/10.1109/ACCESS.2023.3327897
8. Jain, A. K., & Gupta, B. B. (2019). Feature Based Approach for Detection of Smishing Messages in the Mobile Environment. Journal of Information Technology Research, 12(2), pages 17-35. https://doi.org/10.4018/JITR.2019040102
9. M. Hameed, S., & Hussein Ali, Z. (2021). SMS Spam Detection Based on Fuzzy Rules and Binary Particle Swarm Optimization. International Journal of Intelligent Engineering and Systems, 14(2), pages 314-322. https://doi.org/10.22266/ijies2021.0430.28
10. Maqsood, U., Ur Rehman, S., Ali, T., Mahmood, K., Alsaedi, T., & Kundi, M. (2023). An Intelligent Framework Based on Deep Learning for SMS and e-mail Spam Detection. Applied Computational Intelligence and Soft Computing, 2023, pages 1-16. https://doi.org/10.1155/2023/6648970
11. Mishra, S., & Soni, D. (2020). Smishing Detector: A security model to detect smishing through SMS content analysis and URL behavior analysis. Future Generation Computer Systems, 108, pages 803-815. https://doi.org/10.1016/j.future.2020.03.021
12. Nagwani, N. K., & Sharaff, A. (2016). SMS spam filtering and thread identification using bi-level text classification and clustering techniques. Journal of Information Science, 43(1). https://doi.org/10.1177/0165551515616310
13. Roy, P. K., Singh, J. P., & Banerjee, S. (2020). Deep learning to filter SMS Spam. Future Generation Computer Systems, 102, pages 524-533. https://doi.org/10.1016/j.future.2019.09.001
14. Salman, M., Ikram, M., & Ali Kaafar, M. (2024). Investigating Evasive Techniques in SMS Spam Filtering: A Comparative Analysis of Machine Learning Models. IEEE Access, 12, pages 24306-24324. https://doi.org/10.1109/ACCESS.2024.3364671
15. Sjarif, N. N. A., Azmi, N. F. M., Chuprat, S., Sarkan, H. M., Yahya, Y., & Sam, S. M. (2019). SMS Spam Message Detection using Term Frequency-Inverse Document Frequency and Random Forest Algorithm. Procedia Computer Science, 161, pages 509-515. https://doi.org/10.1016/j.procs.2019.11.150
16. Sonowal, G., & Kuppusamy, K. S. (2018). SmiDCA: An Anti-Smishing Model with Machine Learning Approach. The Computer Journal, 1143-1157. https://doi.org/10.1093/comjnl/bxy039
17. Tuan, V. M., Thang, N. X., & Anh, T. Q. (2022). Vietnamese SMS spam detection with deep learning and pretrained language model. Journal of Science and Technology on Information and Communications, 1(2). https://jstic.ptit.edu.vn/jstic-ptit/index.php/jstic/article/view/484
18. Wando, B. (2024). Philippine Spam/Scam SMS [dataset]. https://www.kaggle.com/datasets/bwandowando/philippine-spam-sms-messages
19. Xia, T., & Chen, X. (2020). A Discrete Hidden Markov Model for SMS Spam Detection. Applied Sciences, 10(5011). https://doi.org/10.3390/app10145011
ThS. Vũ Duy Hiến
Khoa Công nghệ thông tin và Kinh tế số - Học viện Ngân hàng