Tínhcấpthiếtcủaluậnán
Theo thống kê của công ty chuyên về thiết bị mạng Cisco [1], vào năm 2020 cóhơn
50 tỷ thiết bị kết nối Internet, các thiết bị này sẽ có mặt ở khắp mọi nơi mà đặc biệt là trong nhà thông minh như: Các hệ thống cảm biến môi trường, CameraIP, VoIP, IPTV,RouterSOHO,… SựpháttriểncủacôngnghệvạnvậtkếtnốiInternet(IoT-Internetof Things) đã mang lại các tiện ích trong quản lý năng lượng tối ưu, theo dõi sức khoẻ,giao thông, đô thị thông minh Để có được sự phát triển mạnh mẽ của IoT phải kể đếnđóng góp lớn của cơ sở hạ tầng nhúng (embedded system) cho phép tích hợp và biếnmọi đồ vật trở nên “thông minh” khi có thể tương tác và kết nối với nhau thông quaInternet.Tuynhiên,nhữngnghiêncứu,chínhsáchvềbảomật,anninhantoànthôngtinchưa được quan tâm đúng mức so với sự phát triển nhanh và rộng của thiết bị IoT Kếtquả nghiên cứu gần đây cũng đã chỉ ra rằng lỗ hổng bảo mật và đặc biệt là mã độc xuấthiệnnhiềutrênphầnsụn(firmware)củacácthiếtbịIoThạnchếtàinguyênvàlànguyênnhânchínhchonh ữngmốinguycơanninhantoànthiếtbịIoT[2]–
[5].Việcbỏngỏcácbiệnphápđảmbảoanninh,antoànchocácthiếtbịIoTđãvôhìnhtạocơhộichotintặcdễ dàng tấn công và chiếm quyền điều khiển các thiết này này trên toàn thế giới Theonhận định của tập đoàn Gartner [6], 25% các cuộc tấn công mạng sẽ liên quan đến cácthiếtbịIoTvàonăm2020.TạiViệtNam,tháng6/2016,tậpđoànBKAVđãcôngbốkếtquả khảo sát 21 triệu thiết bị định tuyến trên Internet, trong đó có tới 5,6 triệu thiết bịtrên thế giới (Việt Nam chiếm 5,9%) bị nhiễm lỗ hổngPetHole, dẫn đến nguy cơ mấtquyền điều khiển thiết bị [7] Lợi dụng các lỗ hổng bảo mật nghiêm trọng trên các thiếtbị này [3, 5] các cuộc tấn công từ chối dịch vụ quy mô lớn đã được ghi nhận [8] Điềunày đã làm thay đổi nhận thức về mạng lưới Botnet truyền thống Khác với Botnet truyềnthống, mã độcIoT Botnet có những đặc điểm khác biệt như phương thức lây lan, hiệuquảtấncông,…Vớitìnhhìnhnêutrên,vấnđềnghiêncứugiảiphápbảovệchocácthiếtbịIoThạnchếtàinguyêntrướcsựlây nhiễmcủamãđộcIoTBotnetlàmộtyêucầucấpthiết.
Mụctiêunghiêncứucủaluậnán
Từnhữngnộidungđượcnêutrongtínhcấpthiếtcủaluậnán,nghiêncứusinhxácđịnh mục tiêu nghiên cứu của luận án là “nghiên cứu, xây dựng hệ thống thu thập dữliệu hành vi và phát hiện mã độc IoT Botnet dựa trên mô hình học máy nhằm nâng caođộ chính xác và giảm độ phức tạp trong phát hiện mã độc IoT Botnet trên các thiết bịIoThạnchếtàinguyêntheophươngphápphântíchđộng”.Đểđạtđượcmụctiêunghiêncứunày,nghi êncứusinhxácđịnhcácmụctiêucụthểnhư sau:
- Nghiên cứu, xây dựng hệ thống thu thập dữ liệu hành vi tương tác của mã độcIoTBotnetvớicácthiếtbịIoThạnchếtàinguyênthôngquamôitrườngSandboxtựxâydựng.
- Nghiên cứu, xây dựng mô hình học máy phát hiện mã độc IoT Botnet đảm bảođộchínhxác,tỉlệâmtínhgiảthấp vàyêucầu tốithiểulượngdữ liệu cầnthuthập.
- Nghiên cứu, kết hợp hệ thống thu thập dữ liệu bằng Sandbox tự xây dựng vớimô hình học máy đề xuất thành hệ thống phát hiện mã độc IoT Botnet hoàn chỉnh ứngdụngđượctrongthực tế.
Đốitượng vàphạmvinghiêncứu
Đốitượngnghiên cứu
Vớimụctiêunghiêncứucủaluậnán,nghiêncứusinhlựachọnđốitượngnghiêncứu là các tệp thực thi được (Executable file) trên các thiết bị IoT hạn chế tài nguyên.Cụ thể, theo kết quả nghiên cứu của Costin và cộng sự
[9] đối với các thiết bị IoT hạnchế tài nguyên thì hệ điều hành phổ biến là Linux Trong nền tảng hệ điều hành Linux,tệp thực thi được thường tồn tại dưới dạng tệp ELF Các tệp ELF này có thể là tệp tinmã độc (Malware) hoặc tệp tin lành tính (Benign) Các tệp tin
ELF sẽ được nghiên cứusinhthuthậpđểlàmđốitượngnghiêncứu,thửnghiệmvàđánhgiákếtquảcủaluậnán.Nguồn thu thập các tệp tin ELF này từ các Honeypot, kho dữ liệu nghiên cứu được cáctácgiảtrênthếgiớichiasẻvàquátrìnhtựthuthập,tríchxuấttừbảnảnh(firmware)củacácthiếtbịIoThạn chếtàinguyêndonghiêncứusinhthực hiện.
Phạmvinghiêncứu
Trong phạm vi nghiên cứu của mình, nghiên cứu sinh lựa chọn nghiên cứu giảiquyết bài toán phát hiện mã độc, cung cấp khả năng phân biệt các tập tin thực thi là mãđộc (malware) hay lành tính (benign) Luận án này trình bày hướng tiếp cận mới trongpháthiệnmãđộcIoTBotnetvớinhữngphạmvinghiêncứusau:
- Lựa chọn nghiên cứu phát hiện các mẫu mã độc IoT Botnet xuất hiện trên cácthiết bị IoT hạn chế tài nguyên với lý do: mặc dù có nhiều dòng mã độc lây nhiễm trênthiếtbịIoT(nhưTrojan,Ransomware,Spyware,…)nhưngvớiđặcđiểmhạnchếvềmặttài nguyên, xuất hiện rộng khắp trên toàn thế giới và tồn tại các lỗ hổng bảo mật cơ bảnthìtỉlệmãđộcBotnet chiếmtỉlệđasốtheothốngkêcủaKaspersky[4].Dođó,vấnđềnghiêncứugiải pháppháthiệnmãđộcIoTBotnetlàcấp thiếtvàcó ýnghĩathựctiễn.
- Theo cách phân loại của Bencheton [9], thiết bị IoT được chia làm 2 loại chínhgồmthiếtbịhạnchếtàinguyên(constrained)vàhiệunăngcao(high-capacity).Cácthiếtbị IoT hạn chế tài nguyên có thể kể đến như IP Camera, Wifi Router, Smart Hub,…Cũng theo thống kê của Kaspersky [4, 10] thì mục tiêu lây nhiễm chủ yếu của mã độcIoT Botnet chính là các thiết bị IoT này Vì vậy, luận án này tập trung tìm hiểu, nghiêncứu phương pháp phát hiện mã độc IoT Botnet cho các thiết bị IoT hạn chế tài nguyênnhưtrongtiêuchíphânloạicủaBencheton.
- Để giải quyết bài toán phát hiện mã độc IoT Botnet, nghiên cứu sinh lựa chọnhướngtiếpcậnsửdụngphươngphápphântíchđộngđểgiảiquyếtcáchạnchếcủaphântích tĩnh như đóng gói mã nguồn, làm rối mã, độ phức tạp trong phân tích nội dung mãnguồntệpthực thi,…
Nộidungvà phươngpháp nghiêncứu
Nộidungnghiêncứu
Với mục tiêu nghiên cứu trình bày ở trên, nghiên cứu sinh xác định các nội dungnghiêncứuchínhcó5 nộidung,đượctrìnhbàytạicácchươngcủaluậnán,cụthểgồm:
- Khảosát,nghiêncứuvềđặcđiểmthiếtbịIoTnóichungvàthiếtbịIoThạnchếtàinguyênnó iriêng;từđóxácđịnhcácđặcđiểmvàkhảosátphươngpháppháthiệnmãđộcIoTBotnetxuấthiệntrên loạithiếtbịnày.
- Nghiên cứu, đề xuất đặc trưng mới từ đồ thị lời gọi hệ thống có hướng DSCG(DirectedSystemCallGraph)trongpháthiện mãđộcIoTBotnet.
- Nghiên cứu, đề xuất mô hình học máy kết hợp các đặc trưng phù hợp có khảnăngpháthiệnsớmmãđộcIoTBotnet.
- Đánhgiáđặctrưngvàmôhìnhhọcmáyđãđềxuấtvềđộchínhxácvàhiệuquảtrongpháthiện mãđộcIoTBotnetdựatrêntậpdữliệu(dataset)đủlớnvàtincậy.Thựchiện so sánh kết quả thực nghiệm, đánh giá với các nghiên cứu có liên quan để làm nổibậtđónggópkhoahọccủa luậnán.
Phươngpháp nghiêncứu
Thực hiện khảo sát, nghiên cứu, tổng hợp, đánh giá các kết quả nghiên cứu khoahọcđãđượccôngbốtrongvàngoàinướcvềcácnộidungliênquantớimụctiêunghiêncứu của luận án. Nguồn tài liệu phục vụ cho nghiên cứu lý thuyết được nghiên cứu sinhsửdụngtạihainguồnchínhlàkhodữliệutrựctuyến(nhưGoogleScholar,IEEEXplore,ACMDigitalLibrar y, Crossref,
…)vànộidungbáocáotạicáchộithảokhoahọcuytíntrongvàngoàinướcnhưUSENIX,Blackhat,SOIC T,ICCM,FAIR,…
TrêncơsởđóhệthốnghóacácvấnđềcòntồntạitrongbàitoánpháthiệnmãđộcIoT Botnet trên các thiết bị IoT hạn chế tài nguyên, đưa ra các vấn đề cần phân tích,đánhgiávàthực hiệnđảmbảođúngmụctiêunghiêncứuđãđề ra.
ThựcnghiệmxâydựngđặctrưngcủamãđộcIoTBotnettừđồthịlờigọihệthốngcó hướng DSCG trên tập hợp các tập tin ELF của thiết bị IoT (gồm tệp lành tính và mãđộc) Thực nghiệm đánh giá tính hiệu quả của đặc trưng đồ thị DSCG được đề xuất vớithuậttoánhọcmáy.Thựcnghiệmxâydựngvàđánhgiátrêntậpdữliệuđãthuthậpchomôhìnhhọcmáyk ếthợpcácđặctrưngtrongbàitoánpháthiệnsớmmãđộcIoTBotnet.
Cácđónggóp chínhcủaluậnán
Luậnántậptrungvàogiảiquyếtcácnộidungnghiêncứuđãnêuởtrên.Cácđónggópcóthểđược liệtkênhư kếtquảcủaluậnánnày,cụthểbaogồm:
- Đóng góp 1: Luận án xây dựng được một môi trường V-Sandbox đảm bảo môphỏng đầy đủ các yêu cầu cần thiết để mã độc IoT Botnet có thể thực thi trọn vẹn vòngđờicủamình.Môitrườngsandboxđượcxâydựngchophépthuthậpđầyđủdữliệuhànhvicủamã độc,hoạtđộnghoàntoàntựđộng,mãnguồnmởvàcàiđặtdễdàng,cótínhthựctiễn.
- Đónggóp2:Luậnánđềxuấtđặctrưngđồthịlờigọihệthốngcóhướng(DirectedSystem CallGraph-DSCG)đểcấutrúchoámộtcáchtuầntựcáclờigọihệthốngthuđượctừmôitrườngV- Sandboxđềxuấtởtrên.Phươngpháptiềnxửlýdữliệulờigọihệthốngđượcđềxuấtsẽcóđộphứctạpthấ p,dễápdụngvớinhữngthuậttoánhọcmáyđơngiản.
- Đónggóp3:LuậnánđềxuấtđượcmộtmôhìnhpháthiệnmãđộcIoTBotnetmới,cókhảnă ngkếthợpnhiềunguồnđặctrưngkhácnhauđểcóthểpháthiệnsớmmãđộcIoTBotnet.Môhìnhđề xuấtdựatrênviệcthuthậpmứctốithiểucácdữliệuđộngcầnthiếtmàvẫncóthểđưaradựbáocóđộc hínhxáccao,gópphầngiảmthiểuthờigianpháthiệnmãđộcIoTBotnet.
Bốcụccủaluậnán
TổngquanvềthiếtbịIoT
Khái niệm thuật ngữ “Internet of Things” (IoT) đã được nhiều nhà nghiên cứuđưaraýkiếncủamìnhtrongtừnglĩnhvựcchuyênbiệt.Tuynhiên,tấtcảđềuthốngnhấtviệcsửdụng thuậtngữnàylầnđầuvàonăm1999doKevinAshton.TheoKevinAshton[11], “Internet of Things” là “tập hợp các cảm biến và bộ điều khiển nhúng trong cácthiếtbịđượcliênkếtthôngquamạngcódâyvàkhôngdây”.Tạithờiđiểmnày,cácthiếtbị “IoT” được sử dụng để chỉ các thiết bị nhúng được điều khiển bởi con người thôngquamạngcódâyhoặckhôngdây. Đếnnăm2015,Madakam[12]đưaracáchhiểuIoTlà“mộtmạnglướimangtínhmở và toàn diện kết nối các đối tượng thông minh có khả năng tự động tổ chức, chia sẻthông tin, dữ liệu và tài nguyên, phản ứng và hành động khi đối mặt với các tình huốngvà thay đổi của môi trường” Madakam nhấn mạnh về đặc điểm “thông minh” của cácthiếtbịIoTbaogồm:Tựtổchứchoạtđộng;Chiasẻthôngtin,dữliệuvàtàinguyên;Cókhả năng phản ứng lại với các thay đổi của môi trường xung quanh Theo sự phát triểncủa công nghệ hiện đại, IoT đã phát triển từ sự hội tụ của công nghệ kết nối không dây,côngnghệvicơđiệntửvàsự pháttriểncủaInternet.
Sau khi xem xét các định nghĩa của các tổ chức khác nhau, ITU (InternationalTelecommunicationUnion)đãđịnhnghĩaIoTnhưsau:“InternetofThingslàmột cơsởhạ tầng toàn cầu cho xã hội thông tin, cho phép các dịch vụ tiên tiến hoạt động bằngcách kết nối các vật thể (vật lý và ảo) dựa trên các công nghệ thông tin truyền thôngtương thích hiện có và đang phát triển”[13] Theo khái niệm này, vạn vật (Things) làđốitượngcủathếgiớithực(vậtchấttồntại)hoặccủathếgiớithôngtin(thựcthểảo),cókhảnăngđược địnhdanh,tíchhợpvàomạngthôngtinvàtruyềnthông.
Bêncạnhđó,ITUcũngxácđịnhthiếtbịIoTlà“thiếtbịcókhảnăngkếtnốivàcóthểtíchhợpcảm biến,cơcấutruyềnđộng,chứcnăngthuthập,lưutrữvàxửlýdữliệu”.CácthiếtbịIoTthuthậpcácloạithô ngtinkhácnhauvàcungcấpchocácmạngthôngtinvàtruyềnthôngđểxửlý,làmgiàuthêmthôngtinthuđư ợc.MộtsốthiếtbịIoTcũngthựchiệncáchoạtđộngdựatrênthôngtinnhậnđượctừmạngthôngtinvàtruy ềnthông.
Số lượng các thiết bị được kích hoạt toàn cầu (đơn vị tỉ thiết bị)
20152016201720182019202020212022202320242025 Thiết bị IoTThiết bị truyền thống
Với kết quả nghiên cứu của mình, nghiên cứu sinh nhận thấy vẫn chưa có mộtkhái niệm thống nhất chung về thiết bị IoT Tuy nhiên, các khái niệm đã có đều cơ bảnchỉrađặcđiểmnổibậtnhấtcủaloạithiếtbịnàylàkhảnăngkếtnốivàoInternet.Vìvậy,nghiêncứusinhđưar akháiniệmthiếtbịIoTđượcsử dụngtrongluậnánnàynhư sau:
Kháiniệm1.1 ThiếtbịIoTlàcácthiếtbịcókhảnăngkếtnối,chiasẻdữliệu,tàinguyêndựatrênt rêncáccôngnghệthôngtintruyềnthôngtươngthíchhiệncóvàđangpháttriển,tựphảnứngvớithayđ ổicủamôithườngđểđạtđượcmộtmụctiêunhấtđịnh.
Sự tăng trưởng nhanh chóng về số lượng thiết bị IoT so với các thiết bị kết nốiInternettruyềnthốngnhưmáytínhđiệntửđượcchứngminhthôngquasốliệuthốngkêcủa IoT Analytics
[14], được minh họa tại Hình 1.1 Qua số liệu dự báo thống kê chothấy, từ năm 2018 đến năm 2025 số lượng thiết bị truyền thống tăng lên không nhiều(chỉ khoảng 18%) từ 10,8 tỉ lên 12,7 tỉ Trong khi đó, thiết bị IoT tăng hơn 200% từ 7 tỉlên 21,5 tỉ thiết bị kết nối vào Internet Không chỉ tăng nhanh về số lượng, chủng loạithiết bị IoT cũng tăng lên nhanh chóng theo mục đích sử dụng Thiết bị IoT xuất hiệntrongnhiềulĩnhvựcnhưnhàthôngminh,chămsócsứckhỏe,tựđộnghóaquátrìnhsảnxuấtcôngnghi ệp,vận chuyểnhànghóa,…Tuynhiên,khisốlượngcủanótănglên,cácthiết bị IoT bị hạn chế về tài nguyên ngày càng lộ ra nhiều lỗ hổng bảo mật hơn [3, 15].Vìvậy,cácthiếtbịnàyđãtrởthànhmụctiêuưathíchcủa cáckẻtấncông.
Dựa trên chức năng hoạt động, các thiết bị IoT có thể được phân thành các loạichínhsau[13]:
- Thiết bị thu thập dữ liệu:là thiết bị đọc/ghi có khả năng tương tác với thực thểvậtlý.Sựtươngtáccóthểxảyragiántiếpthôngquacácthiếtbịmangdữliệuhoặctrựctiếpthôngqu acácchất mangdữliệugắnliền vớinhữngthựcthểvậtlý.
- Thiết bị cảm biến và chấp hành (truyền động):Thiết bị cảm biến và chấp hànhcóthểpháthiệnhoặcđolườngthôngtinliênquanđếnmôitrườngxungquanhvàchuyểnđổinóthànhtí nhiệuđiệntử,kỹthuậtsố.Nócũngcóthểchuyểnđổitínhiệuđiệntử,kỹthuật số từ các mạng thông tin thành hoạt động chấp hành như đóng mở công tắc, kíchhoạtkịch bảnhànhđộng,…
- Thiếtbịđachứcnăng:làthiếtbịđượctíchhợpkhảnăngxửlýdữliệu,giaotiếpvới các thiết bị IoT khác và giao tiếp với các mạng truyền thông thông qua các côngnghệcódâyhoặckhôngdây.
- Lớp1đạidiệnchomọithiếtbịIoTcủangườidùngcuốinhưmáytính,điện thoại, cảmbiếnmôitrường,đồgiadụng thôngminh,…
Ngày nay, tất cả các ứng dụng hệ thống, ứng dụng web, lưu trữ và cơ sở dữ liệuđềucóthểđượccấuhìnhtronghệthốngđiệntoánđámmây(Cloudsystem),Rahman [17]chọncáchđơngiảnhóavàkếthợpLớp3vàLớp4thànhmộtlớpduynhấtnhưtrongHình1. 3.
Theo cách phân loại của Bencheton [9], thiết bị IoT được chia làm 2 loại chínhgồm thiết bị hạn chế tài nguyên (constrained resource) và hiệu năng cao (high- capacityresource) Theo đó, thiết bị hạn chế tài nguyên được hiểu là các thiết bị với bộ vi xử lý(CPU), bộ nhớ (RAM, ROM, Flash,…) và tiêu thụ năng lượng điện hạn chế [18].Thường được sử dụng làm cảm biến, thiết bị thông minh đeo được, thiết bị nhúng, thiếtbị gia dụng thông minh,… Với mục tiêu nghiên cứu như đã trình bày ở trên, luận án sửdụngkháiniệmthiếtbịIoThạnchếtàinguyênnhư sau:
Kháiniệm1.2 ThiếtbịIoThạnchếtàinguyênlàcácthiếtbịIoTcócấutạohạnchế về tài nguyên sử dụng (như năng lực xử lý dữ liệu, dung lượng bộ nhớ, băng thôngtruyềntảidữ liệu,…) Đặc trưng của thiết bị IoT hạn chế tài nguyên này có tác động đến khả năng bảomậtcủanóvàdođó,nóđưaracácgiớihạnchoviệcápdụng mộtsố giảiphápbảomật.Do hạn chế về tài nguyên (CPU, RAM, Flash memory), các thiết bị IoT này khó tíchhợpcácgiảiphápbảomậtvàthựctếđãtrởthànhmụctiêutấncôngđượcchúývớinhiều biếnthểcủamãđộc[2,8,19].Vìvậy,pháthiệnmãđộctrêncácthiếtbịIoThạnchếtàinguyênlàmộttháchth ức đốivớicácnhà nghiêncứu.
1.1.3 Các vấnđềbảomậttồntạitrênthiếtbịIoThạn chếtài nguyên
Internetcungcấpchoconngườinhữnglợiíchtolớn,nhưngcũngchứađựngcácnguycơnhưbịtấnc ôngmạng,lâynhiễmmãđộc,đánhcắpthôngtincánhân, Đốivớimạng lưới các thiết bị IoT, các nguy cơ này thậm chí còn nghiêm trọng hơn do quy môkhổng lồ và khả năng tương tác trở lại với môi trường xung quanh Các mối đe dọa từmạnglướithiếtbịIoTcókhảnăngvôhiệuhóahệthốnganninhtạinhà,gâyrốiloạiquytrình sản xuất của nhà máy, phá hoại hệ thống dẫn đường của phương tiện giao thôngkhông người lái và gây rối loạn các thiết bị hỗ trợ sự sống cho bệnh nhân tại các bệnhviện Các nghiên cứu khoa học đã công bố cho thấy, vấn đề lây nhiễm mã độc và tấncôngtừchốidịchvụlànguycơcaoảnhhưởngtớihoạtđộngcủathiếtbịIoT[8,19,20].Trong thực tế, các vấn đề này đã được minh chứng bằng các cuộc tấn công từ chối dịchvụ phân tán (DDoS) sử dụng mạng lưới mã độc IoT Botnet (như Bashlite, Mirai) lâynhiễmtrêncácthiếtbịIoThạnchếtàinguyên[8,21].Nguyênnhânhầuhếtcủacáccuộctấn công này xuất phát từ đặc điểm hạn chế tài nguyên của thiết bị, sẽ khó có thể triểnkhai đầy đủ các giải pháp bảo mật cho các thiết bị này như các thiết bị máy tính truyềnthống Điều này dẫn tới xuất hiện các lỗ hổng bảo mật nghiêm trọng mà các đối tượngcóthểlợidụngđểthựchiệnpháhoại.
Cụ thể, kẻ tấn công có thể dễ dàng sử dụng một công cụ tìm kiếm lỗ hổng bảomậtcủathiếtbịIoTnhưShodan[22].TheokếtquảcủaShodan,có150thiếtbịNiagaraSCADA(sửdụ ngtrongđiềukhiểnquảnlýsảnxuấtđiện)sửdụngtênđăngnhậpvàmậtkhẩu mặc định; tồn tại 154 thiết bị camera giám sát phương tiện giao thông chưa đượcthay đổi mật khẩu mặc định Đặc biệt, công cụ Shodan phát hiện có 19,583 máy in HPchứa lỗ hổng bảo mật cho phép kẻ tấn công cập nhật các phiên bản firmware khác nhaulêncácmáyinnày.Từđó,kẻtấncôngcóthểthayđổichứcnăngcủamáyinvàtấncôngvàomạngmà thiếtbịnàykếtnốiđến[23].
Tác giả Andrei Costin và cộng sự [24] đã trình bày kết quả khảo sát, đánh giámứcđộantoànthôngtincủacácthiếtbịIoTnóichungvàtậptrungvàothiếtbịmạng nói riêng Kết quả nghiên cứu chỉ ra trong 32.256 firmware được phân tích: Có hơn 38loạilỗhổngmớichưađượcpháthiệntrướcđó;Tríchxuấtđược35.000khóabímậtRSAcủa các thiết bị trực tuyến;
Phát hiện nhiều cổng hậu (backdoor) giúp kẻ tấn công haygiánđiệpmạngdễdàngtruycậptráiphépvàlàmchủcácthiếtbịnày.
Tháng 6/2016, tập đoàn BKAV công bố kết quả khảo sát cho thấy 5,6 triệu thiếtbị mạng trên thế giới đang tồn tại lỗ hổng PetHole cho phép kẻ tấn công chiếm quyềnđiềukhiển,thayđổicácthôngsốhệthốngđểthựchiệncáccuộctấncông.Cùnglúcđó,mãđộcMira iđãlợidụnglỗhổngcấuhìnhtrênthiếtbịIPcameravàroutertoànthếgiớiđể tạo nên một mạng lưới IoT Botnet khổng lồ với hơn nửa triệu thiết bị lây nhiễm [8],[21] Cho đến thời điểm này, mã độc Mirai và các biến thể của nó được coi là đã gây ramột số cuộc tấn công DDoS lớn nhất với thông lượng lên tới 620 Gbps [21] Có nhiềucuộc tấn công DDoS khác đã được thực hiện dựa trên chiến thuật lây nhiễm đơn giảnnàykhimãnguồnMiraiđược công bố[25].
Lợidụngcácvấnđềbảomậtnêutrên,nhiềuhìnhthứctấncôngđãhướngtớiloạithiếtbịIoThạnchếtài nguyênnày.TheothốngkêcủaDange[19],trongsốcáckiểutấncông vào thiết bị IoT thì sử dụng mạng lưới Botnet để tấn công từ chối dịch vụ đangngàycàngphổbiếnvàgâyrahậuquảnặngnềhơncả.VớiđặcđiểmkhácbiệtcủamạnglướithiếtbịIoTso vớithiếtbịtruyềnthống,mãđộcBotnettrênthiếtbịIoTđòihỏimộtcơ chế mới để phát hiện và ngăn chặn Vì vậy, phạm vi đối tượng mà nghiên cứu sinhlựachọnđểnghiêncứulàmãđộcIoTBotnet.Nộidungtiếptheoluậnánsẽtrìnhbàycụthểhơnvềloạimã độcnày.
TổngquanvềmãđộcIoT Botnet
MãđộcIoTlàcácmãđộcnhắmmụctiêuvàocácthiếtbịIoT,chủyếulàcácthiếtbịnhúngđakiếntrúcv ixửlý,baogồmMIPS32,MIPS64,ARM32,ARM64,PowerPC,SPARC Loại mã độc này thường hoạt động dựa trên đặc điểm hạn chế tài nguyên củacác thiết bị IoT và là nơi các cơ chế bảo mật thường bị coi nhẹ, bỏ qua.Mặc dù thực thitrên mục tiêu là các thiết bị hạn chế tài nguyên, mã độc IoT có thể tồn tại các phiên bảnphứctạpchoquátrìnhphântích,pháthiện.Gầnđây,mộtsốhọmãđộcIoTđãtriểnkhai cáckỹthuậtchốngphântích(anti-analysis),làmxáotrộnmã(codeobfuscation)vàthựcthihànhvi cóđiều kiện theođặcđiểmcủahệthống(systemconditionalbehavior) [26].
Ví dụ, một trong các biến thể của mã độc Mirai quan sát đặc điểm của hệ thốngđểxácđịnhcácđiềukiệntốithiểutrướckhiliênhệvớimáychủC&C.Nếucác yêucầutối thiểu không được đáp ứng, mã độc này sẽ kết nối với máy chủ C&C giả mạo, ngănkhông cho tiết lộ máy chủ C&C thật sự Nhiều biến thể mã độc Mirai khác thực hiệngiám sát các tiến trình đang chạy của hệ thống nhằm tìm kiếm một tập hợp các tên quytrình được liên kết với các mã độc nổi tiếng để vô hiệu hóa đối thủ tiềm ẩn và tiết kiệmtàinguyênđược chia sẻhạnchế[27].
HầuhếtmãđộcIoTđượcxâydựngdựatrênmộtloạingônngữlậptrìnhvàđượcbiên dịch chéo (cross- compiler) thành nhiều tệp thực thi được trên các kiến trúc CPUkhác nhau (như MIPS, ARM, PowerPC) Tệp thực thi nhị phân (Executable binary)thường chứa tất cả các thư viện cần thiết (statically link) để giảm sự phụ thuộc vào môitrường bên ngoài và tăng cơ hội thực thi của nó trên các thiết bị IoT khác nhau Các tệpmãnhịphânnàythườngthựchiệncáctínhnăngliênquanđếncáccuộctấncôngtừchốidịch vụ phân tán (DDoS), cài đặt Backdoor, tấn công dò tìm mật khẩu quản trị (Brute-forceattack),thựcthilệnhtừC&Cserver, mã hóadữliệutốngtiềnvàcáccôngcụkhaitháctiềnđiệntử.VớisựđadạngcủamãđộcIoT,theothốngk êcủaCozzivàcộngsự
[26] mã độc IoT Botnet chiếm đại đa số Tiêu biểu cho loại mã độc này có thể kể đếnMirai và Bashlite, được phát triển đặc biệt để tạo ra các mạng IoT Botnet quy mô lớnđược thiết kế khởi động các kiểu tấn công từ chối dịch vụ phân tán khác nhau [8] Vìvậy, vấn đề nghiên cứu tìm hiểu, phát hiện mã độc IoT Botnet là nhiệm vụ quan trọngtrongviệc bảovệmôitrườngIoTnói chungvàcácthiếtbịIoTnóiriêng.
TheoBertino[28],Botnetlàmộtmạnglướigồmcácthiếtbịbịxâmnhập(thườnggọi là Bot), thực thi mã độc dưới sự chỉ huy và kiểm soát của Botmaster Botnet có mộtloạtcácmụcđíchbấtchínhnhưgửithưrác(emailspam),tấncôngtừchốidịchvụphântán (DDoS), bẻ khóa mật khẩu (password cracking), theo dõi bàn phím người dùng(keylog) và khai thác tiền điện tử (cryptocurrency mining) Các Bot có thể tự động quéttoànbộphạmvimạngvàtựlantruyềnbằngcáclỗhổngbảomậtđãbiếtvàlợidụngmậtkhẩuyếutrêncácthi ếtbịkhácđểxâmnhập.Khimộtmáytínhbịxâmnhập,mộtchươngtrìnhnhỏđượccàiđặtđểkíchhoạttácvụtro ngtươnglaibởiBotmaster,ngườivàomột thờiđiểmnhấtđịnhcóthểralệnhchocácBottrongmạngthựchiệncáchànhđộngnhưgửi yêu cầu đến máy chủ trang web mục tiêu với mục đích khiến nó không thể phục vụyêu cầu của người dùng hợp pháp, dẫn đến tấn công từ chối dịch vụ phân tán (DDoS).CácBotnetbanđầuđãsửdụngmộtkiếntrúctậptrung,trongđóBotmastersẽcưtrútrênmộthoặcnhiều máychủtrungtâm.BởivìcácBotnetnhưvậycóthểbịvôhiệuhóabằngcáchtắtcácmáychủnày,cáckiếntrúct haythếdựatrêncác mạngnganghàng(P2P)đãxuấthiệnnhư
Cùng với sự phát triển của Internet of Thing (IoT), IoT Botnet đã ra đời. TheoPamela[29],mãđộcIoTBotnetlà“mộtmạnglướicácthiếtbịIoT(nhưIP-camera,thiếtbị định tuyến, thiết bị gia dụng, thiết bị cầm tay và đeo được, cảm biến và các thiết bịkhácsửdụnggiaothứcIPđểtruyềndữliệuquaInternet)bịxâmnhậpvàlâynhiễmmãđộc phục vụ xây dựng Botnet” Mã độc này cho phép kẻ tấn công kiểm soát các thiết bịIoT,thực hiệncáctácvụgiốngnhưmột mạnglướiBotnettruyềnthống.
Vớicáckháiniệmđãđượccácnhànghiêncứutrìnhbàyởtrên,kếthợpvớiphạmvi nghiên cứu của đề tài, khái niệm mã độc IoT Botnet được sử dụng trong luận án nàyđượcxácđịnhnhư sau:
1.2.2 ĐặcđiểmcủamãđộcIoT Botnet
Mạng lưới Botnet truyền thống là tập hợp các máy tính hoặc máy chủ bị xâm nhậpvàlâynhiễmmãđộc(thườngđượcgọilà“zombie”)dẫntớibịchiếmquyềnđiềukhiển,thực hiện các nhiệm vụ theo mục đích của kẻ tấn công Chủ sở hữu mạng lưới Botnet(Botmaster) có thể kiểm soát các “zombie” bằng kênh bí mật như Internet Relay Chat(IRC) hoặc mạng ngang hàng Các phương pháp kiểm soát này đưa ra các lệnh để thựchiệncáchànhviđộchạinhưtấncôngtừchốidịchvụphântán(DDoS),gửithưráchoặcđánh cắp thông tin cá nhân người dùng Mục tiêu của mã độc IoT Botnet là tập hợp cácthiếtbịIoThạnchếtàinguyênnhưcameragiámsátanninhkếtnốiInternet(IPcamera),bộ định tuyến không dây gia dụng (SOHO router wifi), bộ điều khiển trung tâm (smarthub) và các thiết bị trong nhà thông minh Điều này cho thấy sự thay đổi về thành phầncơ bản trong mạng lưới IoT Botnet so với Botnet truyền thống Ngoài ra, phương pháplâynhiễmlêncácthiếtbịIoTcũngmangnhữngđặcđiểmriêngdànhchocácthiếtbị hạnchếtàinguyên,bảomậtkémhơnsovớimáytínhthôngthường.Môtảđặcđiểmcủamã độc IoT Botnet và so sánh với mã độc Botnet truyền thống được trình bày cụ thể tạiBảng1.1.
Bảng1.1Sosánh đặcđiểmBotnet truyềnthốngvàIoTBotnet Đặcđiểm MãđộcBotnettruyềnthống MãđộcIoTBotnet
Chủ yếu tập trung vào kiến trúcx86 và x64 của các loại chipphổbiếncủaIntel và AMD;
Hệđiềuhànhmụctiêuphổbiếnlà Windows, ngoài ra có lượngnhỏlàLinux,MacOS,… Đadạngnềntảngkiếntrúcvixửlýnhỏgọn,tiê uthụnănglượngthấpđangđượcpháttriểnn hưMIPS,ARM,PowerPC, SPARC,…;
Sử dụng các kỹ thuật gây rốiphứctạpđểhạnchếkhảnăngbịph át hiện, phân tích mã nguồntừcáccôngcụ,phầnmềmchu yên dụng có lịch sử nghiêncứu,pháttriểntươngđốidà i.
Dohạnchếvềmặttàinguyênxửlý,lưutrữ dữ liệu nên ít sử dụng các kỹ thuậtgây rối phức tạp hoặc chỉ sử dụng cáckỹ thuật gây rối đơn giản như UPX,XOR.
Mụcđ í c h sửdụng Đa mục đích như thu thập dữliệu cá nhân, mã hóa dữ liệutống tiền, đào tiền ảo, tấn côngtừchốidịch vụ,…
Tập trung vào mục đích tấn công từchối dịch vụ phân tán (DDoS) và cácbiến thể của nó vì đặc điểm số lượnglớn và khả năng phân tán của thiết bịIoTtrên toàncầu.
Tương đối dễ dàng phát hiệnbởicáccôngcụ,phầnmềmch uyên dụng có lịch sử nghiêncứu, phát triển tương đối dài vàđượcc ậ p n h ậ t t h ư ờ n g x u y ê n ;
Khó phát hiện bởi ít tương tác với ngườidùng, thường hoạt động độc lập,hạnchế trong giao diện đồ họa tương tácvới người dùng (GUI) dẫn tới khó pháthiệncácdấuhiệukhảnghi. Đặcđiểm MãđộcBotnettruyềnthống MãđộcIoTBotnet thường xuyên có tương tác vớingười sử dụng nên dễ phát hiệncác dấu hiệu nghi vấn bị lâynhiễmmãđộc.
Có thể lây nhiễm và lưu trữ tạicác bộ nhớ bền vững trên máytính (HDD, SSD,…) và tạo cácbảnsaotạinhiềuvịtríkhácnhaun hằmtránhbịcôngcụchuyêndụngl oạibỏdễdàng.
Thường chỉ tải và thực thi các mã nhịphân trên các bộ nhớ không bền vững(RAM)dođặcđiểmtàinguyênhạnchế củathiếtbịIoT.
Không tồn tại chức năng này trừkhicótranhchấptàinguyênvớimã độc khác vì máy tính truyềnthốngcónguồntài nguyênlớn.
Do hạn chế về mặt tài nguyên xử lý vàlưu trữ nên thường tồn tại chức năngngăn chặn mã độc khác lây nhiễm lênthiếtbịmục tiêu.
Với việc nghiên cứu đặc điểm các họ mã độc IoT Botnet, các nhà nghiên cứu đãđưaracácgiaiđoạntrongvòngđờicủaloạimãđộcnày.TheoPamela[29],mãđộcIoTBotnetthựchiệnhà nhđộngcủamìnhtrongbagiaiđoạnchínhlà:
+Lâynhiễm(Infection):MãđộctuyểnlựacácBotmớiđểcóthểlâynhiễmthànhcông thông qua các kỹ thuật như khai thác lỗ hổng bảo mật, tấn công truy cập và chiếmquyềnđiềukhiểnvớinhữngmậtkhẩumặcđịnh,tảiphiênbảnthựcthiphùhợpvớimụctiêuvàkíchhoạttệ pthựcthikhiếnchothiếtbịtrởthànhmộtphầncủamạnglướiBotnet.
+ Ra lệnh điều khiển (Command and Control): Sau khi bị lây nhiễm thành công,các Bot sẽ liên lạc với máy chủ điều khiển mạng lưới Botnet (thường được biết đến vớitêngọiC&Cserver)đểchờnhậnlệnhđiềukhiển.
+ Hành vi độc hại (Malicious Activities): Các Bot nhận được lệnh từ máy chủC&C server và thực thi các hành vi độc hại như gửi yêu cầu tới mục tiêu (tấn công từchối dịchvụ phân tán – DDoS), gửi thưrác (Emailspam),đào tiền kỹ thuật số(cryptocurrencymining),…
Theo Kolias [8] mô tả 7 bước thực thi (được minh họa tại Hình 1.4) của mã độcIoTBotnetgồm:
+ Bước 1: Một Bot trong mạng lưới Botnet tham gia vào một cuộc tấn công dòtìmmậtkhẩuđăngnhập(thườnglàBrute-forceattack)tàikhoảnquảntrịhoặcđiềukhiểntừ xa của các thiết bị IoT mục tiêu được cấu hình mật khẩu yếu hoặc mặc định của nhàsảnxuất.Có62cặptêntàikhoảnngườidùng –mậtkhẩuđược mãhóacứng(hardcode)trongmãnguồncủaMirai.
+ Bước 2: Khi dò tìm thành công tài khoản của thiết bị IoT mục tiêu và chiếmđược quyền thực thi lệnh, Bot sẽ thu thập và gửi thông tin về mục tiêu mới (địa chỉ IP,cổngvàtàikhoảntruycập,kiếntrúcCPU,phiênbảnhệđiềuhành,
+ Bước 3: Thông qua máy chủ C&C server, Botmaster thường xuyên kiểm tracácmụctiêunạnnhântiềmnăngmớicũngnhưtrạngtháihiệntạicủamạnglướiBotnetbằng cách liên lạc với máy chủ báo cáo, thường thông qua một kênh liên lạc ẩn danhnhưTor.
+Bước4:Saukhiquyếtđịnhtuyểnlựacácthiếtbịnàodễbịlâynhiễm,Botmasterra lệnh lây nhiễm bằng cách yêu cầu máy chủ lưu trữ các phiên bản thực thi mã độc(Loader server) tải xuống các thông tin của mục tiêu mới từ máy chủ báo cáo để lựachọnphiênbảnphùhợpphục vụlâynhiễm.
+Bước5:Máychủlưutrữmẫumãđộc(Loaderserver)tiếnhànhđăngnhậpvàothiếtbịmụctiêumớ ivàhướngdẫnnótảixuống(thườngthôngquagiaothứcwgethoặcFTP),thựcthiphiênbảnmẫumãđộctươn gứngvớikiếntrúccủathiếtbị.Ngaykhimẫumã độc này được thực thi thành công, nó sẽ cố gắng tự bảo vệ mình khỏi các mã độckhác bằng cách tắt các dịch vụ điều khiển từ xa như Telnet và SSH Tại thời điểm này,cá thể Bot mới này được tuyển lựa thành công và đã có thể giao tiếp với máy chủ C&Cserverđểnhậnlệnh.
+Bước6:BotmasterhướngdẫntấtcảcácBottrongmạnglướibắtđầumộtcuộctấncôngmạngvà omáychủmụctiêubằngcáchralệnhthôngquamáychủC&Cservervớicáctham sốtươngứngvớicuộctấncông.
+Bước7:CácBottrongmạnglướisẽbắtđầutấncôngmáychủmụctiêuvớimộttrongcác dạngtấncôngtừ chốidịchvụphântánphổbiếnhiệncó.
Vậy, từ những nghiên cứu kể trên, luận án tổng kết đưa ra các bước cơ bản trongvòngđờicủaIoTBotnet(minhhọa tạiHình 1.5)baogồmnămbướcdướiđây:
1) Khởitạomãnguồn:Ởgiaiđoạnđầu,Botmasterthựchiệnkhaithácthôngtincủathiết bịIoTmụctiêuđểtìmlỗhổngbảomậtvàsửdụngcácphươngphápkhácnhauđểcóthểtr uycậpvàothiết bịmục tiêu.
QuytrìnhpháthiệnmãđộcIoTBotnet
MãđộcIoTBotnetkhôngchỉlâylantrênthiếtbịcủangườidùngcánhânmàcònnhắm vào các doanh nghiệp, tổ chức và chính phủ với tính chất và mức độ ngày càngnghiêmtrọng[21].ThốngkêcủaKasperskychothấyđãcóhơn100triệucuộctấncôngvào các thiết bị IoT trong nửa đầu năm 2019, tăng gấp 7 lần so với cùng kỳ năm 2018[10].Giảiquyếtcácnguycơnóitrên,cácnhànghiêncứuđãpháttriểncácphươngphápvà mô hình mới để phân tích và phát hiện hiệu quả các mẫu mã độc xuất hiện trên cácthiết bị IoT Các phương pháp và mô hình có những điểm khác biệt tạo nên điểm mớivớitừngýtưởngđềxuất.Tuynhiên,hầuhếtcácnghiêncứunàyđềuxoayquanhhai phươngphápchínhlàpháthiệnmãđộHicdựatrêndữliệutĩnh(thườnggọilàphântíchtĩnh–
Phân tích tĩnh là phương pháp phân tích nội dung của mã nguồn mà không cầnthực thi các tệp tin để phát hiện các dấu hiệu nghi vấn Phân tích tĩnh phát hiện mã độcdựatrênnhữngthôngtintríchxuấttừdữliệutĩnh.Dữliệutĩnhnàylàcácdữliệutồntạingay trong bản thân mẫu mã độc, có đặc điểm tồn tại độc lập, khách quan, không thayđổi đối với sự tác động của môi trường thực thi. Các dữ liệu tĩnh này thường bao gồm:giá trị các bit trong tệp thực thi; metadata của chương trình; định dạng và dung lượngtệpthựcthi;cácchuỗikýtựxuấthiệntrongmãnguồn;mãnguồndướidạngAssembly,… Để thu thập được các dữ liệu tĩnh này, một trong những kỹ thuật quan trọng làdịch ngược mã nguồn của tệp thực thi đầu vào để trích rút lấy các dữ liệu tĩnh Dịchngược mã nguồn (reverse engineering) là quá trình giải mã, đọc hiểu nội dung tệp thựcthiđầuvàođểtáihiệnthiếtkếcủangườilậptrình.Kếtquảcủadịchngượcmãnguồncóthể được trình bày dưới dạng ngôn ngữ lập trình (phổ biến là Assembly), luồng điềukhiển (Control Flow Graph – CFG) và luồng dữ liệu (Data Flow Graph – DFG) Cáccông cụ dịch ngược mã nguồn thường được sử dụng gồm
Cáccôngcụdịchngượcmãnguồnngàycàngđượcpháttriểnnhiềukhảnăngmớiđểcóthể dễ dàng dịch ngược mã nhị phân của chương trình Tuy nhiên, mã độc cũng đượcpháttriểncáckỹthuậtđểchốnglạicáccôngcụdịchngượcnày(anti-reverse).Tiêubiểucho các kỹ thuật này là làm rối mã nguồn chương trình (Obfuscated code) và đóng góiphần mềm bằng các thuật toán mã hóa khác nhau
(Packed code) Các kỹ thuật này gâykhókhănchocácchuyêngiakhicốgắngphântíchtĩnhbằngcáchdịchngượcmãnguồncủa tệp thực thi mã độc. Bên cạnh đó, việc đọc hiểu toàn bộ nội dung mã nguồn của mãđộccũnglàmộtcôngviệckhônghềdễdàng.Mặcdùcóthểtựđộnghóamộtphầncôngviệc này với những thuật toán học máy/học sâu nhưng các mô hình phân tích vẫn có độphứctạplớn,tiêutốn nhiềutàinguyênvàthờigianthực thi. Ápdụngphươngphápphântíchtĩnh,tácgiảNgôQuốcDũngvàcáccộngsự[30]đã trình bày phương pháp phát hiện mã độc IoT Botnet dựa trên đồ thị PSI (PrintableString Information) thu được từ dịch ngược mã nguồn tệp thực thi Với các đặc trưngthuđược,cáctácgiảsửdụngmạngnơ- rontíchchập(ConvolutionalNeuralNetwork-
CNN) để phân loại, phát hiện mã độc IoT Botnet Kết quả bằng thực nghiệm cho thấyphương pháp đề xuất có độ chính xác cao trên tập thử nghiệm với F1-score là 98,6%.Tuy nhiên, hạn chế của phương pháp đề xuất là phụ thuộc vào khả năng trích xuất cácchuỗi PSI từ tệp thực thi Nếu các chuỗi PSI này được mã hóa thì tỉ lệ phát hiện chínhxác bị giảm đáng kể Điều này cũng đã được đề cập đến trong luận án tiến sĩ
Phântíchđộnglàphươngphápgiámsát,thuthậpvàphânloạicác hànhvitươngtáccủamẫuđượcphântíchvớihệthốngđểpháthiệncáchànhviđộchại[31].Kỹthuậtnàycho phépmãđộcthựcthitrongmôitrườngcóchứcnănggiámsáthànhvi,cáctươngtác của mẫu đối với môi trường này được lưu trữ lại Dựa trên các khảo sát của nghiêncứu sinh về các nghiên cứu trong và ngoài nước, các đặc trưng phục vụ phát hiện mãđộctrênthiếtbịIoTBotnetđượctríchxuấtchủyếutừbanhómdữliệuchínhgồm:hànhvi mạng [32–35], lời gọi hệ thống (system-calls) [36, 37], tương tác với các tài nguyêncủa hệ thống [38] (được tổng hợp tạiBảng 1.3) Phân tích động có ưu điểm sẽ loại bỏđượccáckỹthuậtgâyrốimãnguồn(Packed,Obfuscated,
…)thườnggặptrongphântíchtĩnh.Tuynhiên,khókhănkhithựchiệnphântíchđộnglàviệcxâydựngmôitrư ờngchophép mã độc bộc lộ hoàn toàn các hành vi và có khả năng giám sát đầy đủ các hành viđó Ngoài ra, việc phân tích và phát hiện hành vi độc hại trong một lượng lớn dữ liệuhànhvithuthậpđượccũnglà mộttháchthứcchocácnhànghiêncứu. Áp dụng phương pháp phân tích động, tác giả Trần Nghi Phú và cộng sự [39] đãđề xuất quy trình phát hiện mã độc IoT Botnet trong các thiết bị IoT sử dụng kiến trúcMIPS dựa trên lời gọi hệ thống Tác giả đã sử dụng C500-Sandbox để thu thập các lờigọihệthốngvàtríchxuấtcácđặctrưngn- gramcủacácchuỗinày.PhươngphápđềxuấtchokếtquảpháthiệnvớiF1- score,6%vàACC,6%.Tuynhiên,nhưtrongbàibáo đã trình bày, hạn chế của phương pháp đề xuất là công cụ C500-Sandbox chưa tạođược môi trường thuận lợi để mã độc bộc lộ hết các hành vi độc hại Bên cạnh đó,phươngpháp chưa có khả năng kết hợp nhiều loại dữ liệu hành vi thu thập được để phân tíchcũnglàmgiảmkhảnăngpháthiệnchínhxáchànhviđộchạicủamãđộc.
Như đã phân tích ở trên, phân tích tĩnh và phân tích động đều có những ưu điểmvà nhược điểm nhất định TrongBảng 1.2trình bày các ưu và nhược điểm của haiphươngpháppháthiệnIoTBotnet kểtrên.
Phươngpháp Đặcđiểm Phântíchtĩnh Phântíchđộng Ưuđiểm
- Chi tiết hóa toàn bộ luồng điềukhiển(ControlFlowGraph–
- Khó áp dụng với mã độc sử dụngcác kỹ thuật gây rối (Obfuscation)hoặckhóthuthậpmẫumãthự cthi;
- Độ phức tạp lớn, có sai sót khidịch ngược và phân tích nội dungmã nguồn cho thiết bị đa kiến trúcvixửlý.
- Có nguy cơ lây nhiễm mã độc tớibênngoàihệthốngphântích; Để đạt được mục tiêu của luận án là “nghiên cứu, xây dựng mô hình học máynhằm nâng cao độ chính xác và giảm độ phức tạp trong phát hiện mã độc IoT Botnettrên các thiết bị IoT hạn chế tài nguyên”, nghiên cứu sinh thấy rằng với đầu vào là mộttệp thực thi có tính đa kiến trúc thì cần lựa chọn phương pháp hiệu quả giải quyết vấnđề này Vì vậy, nghiên cứu sinh lựa chọn phân tích động trong đề xuất hướng tiếp cậngiải quyết mục tiêu nghiên cứu, trong đó luận án khai thác ưu điểm của phân tích độngvà khắc phục các nhược điểm của phương pháp này để kết hợp cùng với kỹ thuật họcmáy/họcsâuphùhợp.Trongnộidungtiếptheo,luậnánsẽtrìnhbàycụthểbabướctrongquytrìnhpháthiện mãđộcIoTBotnetvớidữliệuđộngbaogồm:Thuthậpdữliệu;Tiềnxửlýdữ liệu;Phântíchvàpháthiện.
Trong toàn bộ quy trình phát hiện mã độc, thu thập dữ liệu là bước quan trọng,ảnh hưởng lớn tới khả năng và độ chính xác của phương pháp/mô hình đề xuất Dữ liệuthu thập được phải mô tả đầy đủ nhất về chức năng, mục đích của mã độc Trên cơ sởnày, các phương pháp tiền xử lý dữ liệu và phân tích dữ liệu được áp dụng để phát hiệnchính xác các hành vi độc hại của mã độc Cách thức thu thập dữ liệu là điểm khác biệtcơ bản giữa quá trình phân tích tĩnh và phân tích động trong bài toán phát hiện mã độc(nhưtrongHình 1.6). Đối với quy trình phát hiện mã độc IoT Botnet mà nghiên cứu sinh lựa chọn (phântích động), loại dữliệucần thu thậplà dữliệuđộng.
Trongpháthiệnmãđộcnóichung,dữliệuđộnglàcácdữliệuđượcphátsinhtrongquátrìnhmẫumãđộcth ựcthi.Cácdữliệunàychínhlàcáctươngtáccủatệpthựcthiđốivớimôitrườngxungquanh.Cụthể,theokế t quảkhảosát,có3nhómdữliệuđộngchínhđượcthuthậpbaogồm:Góitingửivànhậntronghệthốngmạng [32–
TrongbàitoánpháthiệnmãđộcIoTBotnet,cácnhànghiêncứuđãsửdụngcácloạidữliệuđộngkh ácnhauđểphântíchpháthiện.Cácnghiêncứunàycóthểđượcphânchiathànhhailoạichínhgồm:pháth iệndựatrêndữliệutừluồngmạng(NIDS)vàpháthiệndựatrêndữliệutừmáychủ(HIDS).Cụthể:
- TácgiảRohanDoshivàcáccộngsự[32]trìnhbàymôhìnhNIDSpháthiệncáccuộctấncôngt ừchốidịchvụphântán(DDoS)củamãđộcIoTBotnettrongluồngmạnggiữacácthiếtbịIoTvớicácthuậ ttoánhọcmáyphổbiếnnhưKNN,SVM,DT,RF.MôhìnhRohanDoshiđềxuấtcóđộchínhxáctrê ntậpthựcnghiệmlàACC%.Tácgiảnàyđềxuấtsửdụngcácđặctrưngđượctríchxuấttừluồng mạngnhư:Packetsize,Inter-packetInterval,Protocol,Bandwidth,IPdestinationaddress,…
- TácgiảLêKimHùngvàcáccộngsự[40]trìnhbàymôhìnhNIDSpháthiệncáccuộctấncônghư ớngtớicácthiếtbịIoTđượcđặttênlàIMIDS,sửdụngmạngneuraltíchchập(CNN)đểphânloạicácgóiti nđộchại.Đểthửnghiệm,tácgiảsửdụngbộdữliệucácgóitinluồngmạngUNSW-
NB15[41]vàCICIDS2017[42]chokếtquảpháthiệntấncôngmạngvớiđộchínhxáctrên95%.Tu ynhiên,khảnăngphânloạikiểutấncôngcủamôhìnhđề xuất chưa thực sự hiệu quả, còn nhầm lẫn giữa các hình thức tấn công cơ bản nhưBackdoorvớiDDoS.
- TácgiảAlrashdivàcáccộngsự[33]đềxuấtsửdụngcácđặctrưngtừbộdữliệuUNSW- NB15[41]đểxâydựngNIDSpháthiệnhiệuquảmạnglướiIoTBotnetlâynhiễmtrongcácthiếtbịtạ ithànhphốthôngminh(SmartCity).TácgiảđãápdụngthuậttoánhọcmáyRandomForestvới12 đặctrưngđượclựachọntừUNSW-
NB15datasetchokếtquảpháthiệnmãđộcIoTBotnetcóđộchínhxácACC,34%.Cácđặctrưngtríc hxuấttừdữliệuluồngmạngđượctácgiảlựachọngồm:srcip,dstip,dur,dsport,ct-dst-src-ltm,ct-rsv- dst,ct-dst-ltm,ct-srcltm,ct-src-dport-ltm,dbytes,proto,is-ftp-login.
- TácgiảProkofievvàcáccộngsự[34]đãxâydựngmôhìnhNIDSsửdụngthuậttoánhọcmáyLogisticRegressionđểpháthiệnmãđộcIoTBotnetvớiđộchínhxácACC,3%.Cácđặctrưngtừlu ồngmạngđượcProkofievlựachọnbaogồm:destinationport, sourceports,numberofrequests,evennumberofrequests,meanintervalbetweenrequests,requestson otherports,meansizeofpackets,deltaforpacketsize,meanentropyofpackets,alphanumeric.
- TácgiảWuvàcáccộngsự[35]đềxuấtmôhìnhhọcmáypháthiệnmãđộcIoTBotnet(cóA CC%)vớicácđặctrưngđượctríchxuấttừchuỗicáclệnhđiềukhiểncủaC&CServercóthểđọc hiểutrongcácgóitinmạng.CácchuỗilệnhnàyđượcthuthậpthôngquahệthốngHoneypotIoTPO T[43]dướiphươngthứcgiámsátcáccổngđiềukhiểntừxanhưTelnet,SSH,…
- TácgiảMassimoFiccovàcáccộngsự[37]tiếnthànhthuthậpcácchuỗilờigọihệthống để phục vụ xây dựng mô hình học máy phát hiện mã độc IoT Botnet với chuỗiMarkov.Môhìnhtácgiảđềxuấtcóđộchínhxáclà89%.
- TácgiảAminAzmoodehvàcáccộngsự[38]đềxuấtsửdụngmôhìnhhọcmáypháthiệnmãđ ộcIoTBotnetdựatrêndữliệugiámsáttiêuthụđiệnnăngcủacácthiếtbịIoT Thuật toán KNN được áp dụng cho xây dựng mô hình phát hiện với độ chính xác95,65%.
- Tươngtự,tácgiảWoosubJungvàcộngsự[44]cũngtrìnhbàymôhìnhpháthiệnmãđộcIo TBotnetdựatrêndữliệugiámsátđiệnnăngtiêuthụcủathiếtbị.Tácgiảthuthậpdữliệutiêuthụđiệnnă ngthôngquaviệcsửdụngthiếtbịgiámsátđiệnnăngMonsoonđểtheodõimáytínhnhúngRaspberryPi. ThuậttoánhọcsâuCNNđượcápdụngvớiđộchínhxác96,5%.
- TácgiảShabtaivàcộngsự[45]đãtrìnhbàyphươngpháppháthiệnmãđộcdựatrêncácdữliệus ửdụngtàinguyênhệthốngbaogồm:mứcchiếmdụngbộvixửlýCPU,sốtiếntrìnhđangchạytronghệthố ng,mứctiêuhaonguồnnănglượngcủathiếtbị,dunglượngbộnhớRAMđượcyêucầu,cácthayđổivềt ệpvàthưmụctronghệthống,biếnđộnggiátrịcácthanhghi(registers)CPU,…
Bảng 1.3 Các nguồn dữ liệu động được thu thậpchopháthiệnmãđộcIoTBotnet
Thuật toán h O ̣cmáyápdụ ng Độ chínhxác(
Azmoodeh[38] Thôngtin chiếmdụng tài nguyêncủathiết bịmục tiêu
Từcácnộidungđãkhảosátchothấy,cácnghiêncứuvềpháthiệnmãđộcIoTBotnettrênthếgiớitậ ptrungvàothuthậpbaloạidữliệuđộngchínhgồm:lờigọihệthống(systemcalls), các gói tin được trao đổi qua mạng
(network traffic) và thông tin chiếm dụng tàinguyêncủathiếtbịmụctiêu(hostperformance).Cácdữliệuđộngnàycóthểđượcthuthậpthôngquavi ệcgiámsátmôitrườngthựcthimãđộc.Môitrườngthựcthinàycóthểlàmôitrường thực tế được xây dựng dựa trên nền tảng hạ tầng phần cứng thật như giải phápHoneypot(tiêubiểunhưIoTPOT[43])haysửdụngcácthiếtbịđochuyêndụngtíchhợpvớithiếtbịmôp hỏnghoạtđộngthiếtbịIoT[44].Bêncạnhđó,đểphòngtránhtácđộngcủamãđộctớithiếtbịthật(nhưtrong Honeypot),môitrườngảohóađượcxâydựngđểgiámsátcáchoạtđộngcủamãđộc.Cácgiảiphápnàythường đượcbiếtđếnvớinhữngcáitênnhưCuckooSandbox[46],CWSandbox[47],IoTBOX[43],REMnux[ 48]…
Oktavianto[49]đãpháttriểnCuckooSandbox,hệthốngphântíchđộngmãđộcIoTbao gồm hai thành phần chính: Cuckoo host, quản lý tác vụ và phân tích đầu vào mẫu;AnalysisVMlàmộtmáyảoriêngbiệt,nơimẫuđượcthựcthivàgửikếtquảphântíchtrởlạiCuckooHost.KiếntrúccủaCuckooSandboxđượcmôtảtrongHình1.7.Phântíchđược thựchiệntựđộngbằngcáchsửdụngcáctậplệnhdựngsẵnmàCuckooHostyêucầuthựchiệntrongquátrìnhp hântíchứngdụngđích.Ngoàira,CuckoohỗtrợphântíchURLtrongmáykhách,thêmkhảnăngxácđịnhx emtrangwebđangtruycậpcóđộchạihaykhông.CuckoophụthuộcnhiềuvàosựhỗtrợcủangônngữPython vàmộtsốứngdụngPythoncầnthiếtđểchạyCuckoođúngcách(Magic,Pydeep,Yara,Pefile).Dođó,sửd ụngCuckoovớicácmôitrườngkhônghỗtrợđầyđủPythonsẽgặpmộtvàikhókhăn.CuckooSandboxch ophântíchkếtquảtốtchokiếntrúci386.ĐểphântíchIoTBotnet,CuckooSandboxchothấy khả năng hạn chế với các kiến trúc khác ngoài i386 Liu [50] đã sử dụng CuckooSandboxthựchiệnphântíchđộngđểtríchxuấtcáchànhvimáychủvàhànhvimạngcủacác mẫu IoT Botnet (Mirai, Satori, OMG và Wicky) Tuy nhiên, kết quả trích xuất từCuckooSandboxchủyếuthuđượccáchànhvimạng.
Yin[43]đãđềxuấtmộtIoThoneypot(IoTPot)vàIoTSandbox(IoTBox),thuhútvàphântíchcáccuộ ctấncôngvàodịchvụTelnetcủacácthiếtbịIoTtrên8kiếntrúcCPUkhácnhaunhưMIPS,MIPSEL,Po werPC,SPARC,ARM,MIPS64,SH4vàx86.KiếntrúccủaIoTBoxđượchiểnthịtrongHình5.Yinđãs ửdụngQEMUđểxâydựngcácmôitrườngmôphỏngchocáckiếntrúcCPUkhácnhau.Ngoàira,mộtnền tảnghệđiềuhànhOpenWrtđượcchỉnhsửatươngứngđểchạytrênmôitrườngCPUđượcmôphỏng.Sa uđó,sửdụngVirtualSwitchvàAccessControllerđểtạomôitrườngmạngảo.Thôngquamôitrường mạngảonày,IoTBoxcóthểthuthậplưulượngmạngđượctạobởicácmẫu.IoTBoxphântích 52 mẫu mã độc được chọn của ARM, MIPS và MIPSEL Mặc dù kiến trúc hộp cátđượcđềxuấtđểchạytrênnhiềunềntảngCPU,nhưngtrênthựctế,tácgiảchỉchạy52mẫutrên 3 nền tảng CPU, trong đó có 5 mẫu không chạy được (do thiếu thư viện) Ngoài ra,IoTBoxchỉtậptrungvàogiámsáthànhvimạng,cáchànhvicònlại(lờigọihệthống,tạotệpvàthưmục,
Uhricek[51]đãchỉranhữnghạnchếcủaIoTSandboxnhưLimon[52],REMnux[48],Detux,Padawa n[53]baogồmhỗtrợítkiếntrúcCPU,thuthậpthôngtinkhôngđầyđủ,… ĐólàđộnglựcđểDanielUhricekgiớithiệuLinuxSandboxLiSa[51],hỗtrợphântíchmãđộcLinuxtrêncáckiế ntrúcMIPS,ARM,Intel80386,x86-
64,AArch64.Bằngcáchtheodõicáchànhvinhưlờigọihệthống,mởhoặcxóatệp,tạotiếntrình,luồngm ạngcủa150mẫubotnetIoT(chủyếuchocáckiếntrúcARMvàMIPS),Uhricekchứngminhtínhhiệuquảcủa LiSa.LiSasửdụngSystemTapđểthuthậpthôngtinhệthốngđểtạocâytiếntrình,theodõivàđánh dấucáctệpđangmởhoặcbịxóa Đểthuthậpdữliệu mạng,UhriceksửdụngcácthưviệnScaccovàdpkt.Tuynhiên,vaitròquantrọngcủamáychủC&Cđểthểhiện đầyđủhànhvicủaIoTBotnetkhôngđượcUhricekquantâm.Dođó,cáchànhvicủacácmẫuIoTbotnetđ ượcthuthậptừLiSalàkhôngđầyđủ.Ngoàira,cácmẫu yêucầuthưviệnliênkếtđộng(dynamicallylinkedlibraries)trênLiSathườngchạykhôngthànhcôngdot hiếucácthưviệnthíchhợp.
TrongBảng1.4,luậnántómtắtchứcnăngcủacácIoTSandboxkểtrên.Từđó,luậnánchỉracáchạ nchếchínhcủacácIoTSandboxnày(đượcminhhọatrongBảng1.5)baogồm:
1) Nguồndữliệuđộngphổbiến(luồngmạng,lờigọihệthống,thôngtintươngtácvớitàingu yênthiếtbị)khôngđượcthuthậpđầyđủtrongthờigianchạytệpthựcthi;
2) Chưacungcấpđầyđủcácthànhphầncầnthiếtchomãđộcthểhiệnđầyđủhànhviđộchại như:kếtnốivàgiaotiếpvớimáychủC&C(Command-and-
Sandbox Dữliệuthuthập HỗtrợOS HỗtrợCPU
Hỗ trợ thưviện liên kếtđộng
Systemcall, Fileactions,Mem orydumps, Networktraffic,Scr eenshots
Windows, Linux,Andro id i386,x86-64, PowerPC,SPA RC,ARM,MIP S,MIPSEL
Sandbox Dữliệuthuthập HỗtrợOS HỗtrợCPU
Hỗ trợ thưviện liên kếtđộng
Process tree,Trace syscalls,File actions,Networ ktraffic
Bảng1.5Sosánh đặcđiểmcácIoT Sandboxhiệncó Đặcđiểm
Khảnănghỗtrợ Khảnăngthuthậpdữ liệu động
Tựđ ộngsi nhbá ocáo Đaki ếntr úcvi xửlý Đah ệđiề uhàn h
(*Ghichú:Y–Có;N–Không;NF–Chưađầy đủ)
Vớinhữngdữliệuđộngthuthậpđượctừcácnguồnchủyếulàluồngmạng,chuỗilời gọi hệ thống và tương tác với tài nguyên của hệ thống (tệp tin, thư mục, thanh ghiCPU, RAM,…) sẽ có những phương pháp tiền xử lý dữ liệu phù hợp để phân tích vàpháthiệnmãđộcIoTBotnetmộtcáchhiệuquả.
KếtluậnChương 1
Trong Chương 1, nghiên cứu sinh đã trình bày những vấn đề cơ bản về thiết bịIoT và vấn đề bảo mật còn tồn tại của thiết bị này Nghiên cứu sinh cũng đã đánh giá,phântíchtìnhhìnhnghiêncứupháthiệnnguycơtấncôngphổbiếnnhấtđốivớithiếtbịIoT – IoT Botnet Từ đó cho thấy việc nghiên cứu các phương pháp phát hiện mã độcIoTBotnetcònrấthạn chế,cầnđượccảitiến.Vìvây,đềtàiluậnánnghiêncứusinhtậptrung vào việc phát hiện IoT Botnet có ý nghĩa khoa học lớn cả về lý thuyết và thực tế.Ngoàira,nghiêncứusinhcũngđãtrìnhbàytổngquanvềmãđộcIoTBotnetvớinhữngđặc điểm khác biệt với mã độc Botnet trên thiết bị truyền thống, khảo sát và đánh giácácphươngpháppháthiệnIoTBotnethiệncó.Từđólàmcơsởtiềnđềchocácnộidungnghiêncứutạicácch ươngtiếptheovềphươngpháppháthiệnmãđộcIoTBotnettrongluậnáncủanghiêncứusinh.
Với những nội dung đã trình bày trong Chương 1, nghiên cứu sinh xác định cácvấnđềcầngiảiquyếtđểđạtđượcmục tiêunghiên cứucủaluậnángồm:
- QuátrìnhthuthậpdữliệuđộngphụcvụphântíchvàpháthiệnmãđộcIoTBotnettrêncácthi ếtbịIoThạnchếtàinguyêncòngặpnhiềukhókhăn,nhấtlàcácnhượcđiểmcủamôitrườngIoTSand boxhiệncó.Vìvậy,cầnxâydựngmộtmôitrườngIoTSandboxmới (đặt tên là V-Sandbox) cho phép mô phỏng đầy đủ các yêu cầu cần thiết để mã độcIoT Botnet có thể thực thi trọn vẹn vòng đời của mình Sandbox này phải cho phép thuthậpkhôngnhữngđầyđủdữliệuhànhvicủamãđộcmàcòncầnđạtđượctỉlệmôphỏngthànhcôngcaoh ơnsovớicáccôngcụmôphỏngkháctrêncùngmộttậpdữliệu.
- Thu thập được nhiều dữ liệu đồng nghĩa với việc sẽ có nhiều dữ liệu dư thừa,gây rối làm ảnh hướng đến tính chính xác trong việc phát hiện mã độc Chính vì vậy,việcxâydựngthuậttoántiềnxửlý,phântíchvàpháthiệnmãđộcdựatrênlượnglớndữliệu thu thập được, bao gồm cả dữ liệu gây rối, với tỉ lệ âm tính giả thấp là cấp thiết.Trong các dữ liệu hành vi thì lời gọi hệ thống
(System Call) cung cấp chi tiết và ít dữliệudưthừanhấtvềtươngtáccủacáctậptinthựcthivớihệthống.Hiệnnaycácnghiêncứu phân tích động dựa trên lời gọi hệ thống đa phần sử dụng đặc trưng tần xuất xuấthiện lời gọi và chưa khai thác hiệu quả đặc trưng vòng đời của mã độc IoT Botnet Vớigiả thuyết nghiên cứu đã nêu, nghiên cứu sinh đề xuất đặc trưng đồ thị lời gọi hệ thốngcóhướng(DirectedSystemCallGraph-
DSCG)đểcấutrúchoámộtcáchtuầntựcác lờigọihệthốngthuđượctừmôitrườngV-Sandboxđềxuấtởtrên.Phươngpháptiềnxửlý dữ liệu lời gọi hệ thống được đề xuất sẽ có độ phức tạp thấp, dễ áp dụng với nhữngthuậttoánhọcmáyđơngiản.
- Đểcóthểđưacáckếtquảphântíchđộngvàothựctế,nghiêncứusinhthấyrằngviệc phát hiện sớm đóng vai trò then chốt để hạn chế lây lan và phát tán của mã độc.Mặc dù đặc trưng DSCG mang lại các kết quả khả quan nhưng việc sử dụng toàn bộ dữliệuvềquátrìnhhoạtđộngcủacáctậptinthựcthichưachophépgiảiquyếtvấnđềpháthiệnsớmmãđ ộcIoTBotnet.Vớicáchtiếpcậnnày,nghiêncứusinhđãđềxuấtmôhìnhhọcmáycộngtácpháthiệnsớ mmãđộcIoTBotnet.Trongmôhìnhnày,cácdữliệuđặctrưngđộngthuthậptừV-
Sandboxbaogồmdữliệuluồngmạng,lờigọihệthống,thôngtinsửdụngtàinguyênthiếtbị,… sẽđượckếthợpvớinhautrongviệcxâydựngmôhìnhpháthiện mãđộcIoTBotnethợpnhấtvớisốlượngdữliệuthuthậplàtốithiểu.
Ba vấn đề này sẽ lần lượt được giải quyết tại các chương tiếp theo của luận ánnày.Kếtquảkhảosát,phântíchđánhgiávàthựcnghiệmmôhìnhđềxuấttrongChương1 đã được trình bày, công bố trên các Tạp chí, Kỷ yếu Hội thảo uy tín trong nước Cụthểlà:
-“Xây dựng mô hình phát hiện mã độc trên thiết bị định tuyến bằng tác tử”,Kỷyếu hội thảo quốc gia lần thứ 20: Một số vấn đề chọn lọc của Công nghệ thông tin vàtruyềnthông, 2017.
- “Xây dựng mô hình thu thập, phát hiện tấn công mạng sử dụng thiết bị IoT”,Kỷyếuhộithảoquốcgialầnthứ2:Mộtsốvấnđềchọnlọcvềantoànanninhthôngtin(SoIS),201
-“XâydựnghệthốngpháthiệnxâmnhậpmạngcácthiếtbịIoTdânsựtrongnhàthông minh”, Kỷ yếu hội thảo quốc gia lần thứ 21: Một số vấn đề chọn lọc của Côngnghệthôngtinvà truyềnthông,2018.
- “Kết hợp CNN và LSTM trong nâng cao hiệu năng phát hiện tấn công mạngcủa HIDS với bộ dữ liệu ADFA”,Hội thảo quốc gia lần thứ 3: Một số vấn đề chọn lọcvề an toàn an ninh thông tin, 2018 In tại Tạp chí Thông tin và Truyền thông(số tháng12/2018,ISSN1859-3550)
CHƯƠNG 2 XÂY DỰNG MÔI TRƯỜNG SANDBOX THU THẬP HIỆU
Phátbiểubàitoán
Trong quá trình thu thập dữ liệu động cho bài toán phát hiện mã độc IoT BotnettrêncácthiếtbịIoThạnchếtàinguyên,nghiêncứusinhtiếnhànhthựcthicácmẫutrongbộ dữ liệu thử nghiệm ( Dataset với hơn 11,000 mẫu gồm IoT Botnet và tệp lành tính)với các IoT Sandbox đã được công bố (như Cuckoo Sandbox [46], CWSandbox [47],IoTBOX [43], REMnux [48],…) Tuy nhiên, chỉ một tỉ lệ nhỏ các mẫu này được kíchhoạt thực thi và thu thập dữ liệu thành công với các
IoT Sandbox kể trên Dựa trên kếtquảkhảosát,nghiêncứuvàđánhgiá,nghiêncứusinhxácđịnhnguyênnhâncủavấnđềnàylà cácIoTSandboxhiệncótồntại mộttrongnhữnghạnchếsau:
- Khônghỗtrợđadạngkiếntrúcvixửlýngoàii386vàx86-64như:MIPS,ARM,SPARC,
- Môi trường mô phỏng chưa cung cấp đầy đủ các thành phần cần thiết cho mãđộc thể hiện đầy đủ hành vi độc hại như: kết nối và giao tiếp với máy chủ C&C(Command-and-Controlserver),cácthưviệnliênkếtđộng(Sharedlibraries) phù hợp.
- Chưa thu thập được đầy đủ dữ liệu về hành vi độc hại trong quá trình mã độcIoT Botnet thực thi, cụ thể bao gồm luồng mạng, lời gọi hệ thống và thông tin chiếmdụngtàinguyêncủa thiếtbị.
Như vậy, để giải quyết các hạn chế kể trên, bài toán nghiên cứu của Chương nàyđượcphát biểunhư sau:
Xây dựng một môi trường Sandbox cho phép mô phỏng đầy đủ các yêu cầu cầnthiếtđểmãđộcIoTBotnetcóthểthựcthitrọnvẹnvòngđờicủamình.Sandboxnàyphảichophépthu thậpkhôngnhữngđầyđủdữliệuhànhviphổbiếncủamãđộcmàcòncầnđạt được tỉ lệ mô phỏng thành công cao hơn so với các công cụ mô phỏng khác trêncùngmộttậpdữ liệu. Để giải quyết bài toán kể trên, nghiên cứu sinh đã xây dựng môi trường sandboxchothiếtbịIoThạnchếtàinguyênđặttênlàV-
Kiếntrúctổngquan môhìnhđềxuất
- Trích xuất thông tin thuộc tính cơ bản tệp tin ELF (ELF Metadata Extractioncomponent-
EME):tựđộngxácđịnhthôngtinsơbộcủatệptinELFthôngquasiêudữliệu(metadata)của tệpnày.
- SinhcấuhìnhhoạtđộngSandbox(SandboxConfigurationGenerationcomponent-SCG):TạocácthamsốcấuhìnhphùhợpcủamôitrườngSandboxđểkíchhoạtthực thi tệpELFđầuvào.
- Môi trường Sandbox (Sandbox Engine component - SE): Môi trường Sandboxthích hợp cho phép giám sát hành vi và tạo điều kiện cho tệp thực thi ELF thể hiện đầyđủhànhvi.
- Tiềnxửlýdữliệuthôthuthậpđược(RawDataPreprocessingcomponent-RDP):tiền xử lý, xác định sơ bộ các hành vi điển hình của tệp thực thi ELF, cung cấp dữ liệuthốngkêhànhvicho thànhphầntínhtoán khảnăngthực thilạicủaSandbox(SR).
- Tính toán khả năng thực thi lại Sandbox (Sandbox Recomputation component - SR): quyết định xem có xuất báo cáo về các hành vi của tệp ELF hay cần chạy lại môitrườngSandbox(SE)vớicấuhìnhmới đểthu thậpthêmdữ liệuhànhvi.
- Giả lập máy chủ C&C (C&C simulator): Thành phần giả lập máy chủ ra lệnh vàđiều khiển mạng lưới mã độc IoT Botnet (C&C server) cung cấp khả năng tạo kết nối,giaotiếpvànhậnlệnhtừ C&Cserver.
- Cơ sở dữ liệu thư viện liên kết động (Share Object DB): cơ sở dữ liệu chứa cáctệpthư việnliênkếtđộngmàtệpthực thi ELF có thểyêucầu.
- Sinhbáocáotựđộng(Report):Tạomộtbảntómtắtcáchànhviđãđượcgiámsátmàtệpthựcth iELFthểhiệntrongmôitrườngSandbox. Đầu tiên, khối EME đọc tiêu đề (Header) tệp ELF cần thực thi để xác định kiếntrúcCPU,hệđiềuhànhcầnthiếtđểkhởichạymôitrườngcủaV-Sandbox.Sauđó,khốiSCG dựa vào thông tin đầu ra của khối EME để tạo một trong các cấu hình cơ bản chomôi trường Sandbox thực thi (dữ liệu đầu ra là tệp cấu hình hoạt động của Sandbox
-“Configurationfile”).MôitrườngSandbox(SE)nàysẽthựcthivàthuthậpdữliệuhànhvi thô (Collected raw data) của tệp ELF bằng các tác tử với cấu hình môi trường chạyđược lưu trữ trong tệp “Configuration file” Dữ liệu thô được thu thập từ các tác tử nàysẽđượcchuyểnđếnkhốitiềnxửlýRDP.Tạiđây,dữliệuhànhvicủatệpELFđượcđọcvà phân tích để cập nhật vào tệp cấu hình “Configuration file”, bao gồm địa chỉ IP củamáy chủ C&C được mã độc yêu cầu và các thư viện liên kết động bị thiếu Ngoài ra,những dữ liệu hành vi này hỗ trợ khối tính toán SR ra quyết định chạy lại môi trườngSandboxhoặcdừnglạivàtạobáocáokếtquảphântích.TrongtrườnghợpkhốiSRchokết quả yêu cầu chạy lại môi trường Sandbox, với sự hỗ trợ từ “Configuration file” đãđượccậpnhật,“C&Csimulator”và“ShareObjectDB”,V-Sandboxcóthểthuthậpthêm dữ liệu mới về hành vi của ELF Cuối cùng, khi khốiSRxác định không thể thu thậpthêm thông tin hành vi của tệp ELF, nó sẽ ra lệnh tạo một báo cáo kết quả về dữ liệuhànhvicủatệpELFthôngquakhốiReport.
Cácthành phầnchính
CácdấuvếthànhviđộchạicủamãđộcIoTBotnetđượcthuthậpbằngcáchtheodõi việc thực thi từng mẫu ELF đầu vào trong một môi trường mô phỏng tương tự nhưmộtthiếtbịIoThạnchếtàinguyênđượckếtnốiđầyđủvớiInternet.Phươngphápphântíchđộngđượcá pdụngchocáchtiếpcậnđượcđềxuấtnàynhằmmụcđíchthuthậpnhậtkýlờigọihệthống.CácmẫutệpELFđ ượcthựchiệntrongmôitrườngmôphỏngvàghilại hành vi gọi của hệ thống bằng cách sử dụng tác tử tích hợp Với các lời gọi hệ thốngđượcghilại,tươngtáccủamãđộcIoTBotnetđượcthểhiệnvớicáchànhvicốgắngkếtnối với máy chủ C&C; phát hiện các thiết bị khác thông qua các cổng dịch vụ mở nhưSSH,Telnet,FTP.Môitrường môphỏngthựchiệnnhiệmvụnàyphảiđảmbảocácyêucầu gồm: hỗ trợ nhiều kiến trúc CPU, tạo kết nối máy chủ C&C, cung cấp thư viện liênkết động, thu thập đầy đủ các hành vi tương tác với hệ thống trong thời gian chạy tệpthựcthi.Vìvậy,môitrườngV- Sandboxđãđượcnghiêncứusinhxâydựngphụcvụthuthập thông tin hành vi độc hại của mã độc IoT Botnet Mô tả về V- Sandbox được trìnhbàyởcác nộidungdướiđây.
2.2.1 Tríchxuất thôngtinthuộctínhcơbảncủaELF (EME)
Môi trường V-Sandbox của nghiên cứu sinh tập trung bao gồm GNU/Linux vàBSD. Định dạng của các tệp thực thi trong môi trường này là ELF (Executable andLinkableFormat),địnhdạngcóthểthựcthivàcóthểliênkếtvớicácthưviệnnằmngoàimã nguồn của tệp tin
(thư viện liên kết động) Các thông tin mô tả về thuộc tính cơ bảncủa ELF được lưu trữ trong tiêu đề (header) của tệp Header ELF dài 32 byte và xácđịnhđịnhdạngcủatệp.
Nóbắtđầubằngmộtchuỗigồmbốnbyteduynhấtlà0x7F,sauđó là0x45, 0x4cvà0x46, dịch thành ba chữ cáiE,LvàF Trong các giá trị khác, tiêuđềcũngchobiếtđócóphảilàtệpELFchođịnhdạng32- bithoặc64-bit,cóthểthựcthihay không, kiến trúc Little edian hoặc Big edian, hiển thị phiên bản ELF cũng như tệpđượcbiên dịchchohệđiềuhànhnàovàloạitậplệnhCPUsử dụng. Để xác định các tham số cấu hình ban đầu cho môi trường Sandbox có thể khởichạy tệp đầu vào, khối EME sẽ thực hiện trích xuất thông tin thuộc tính cơ bản từ tệpthực thi,bao gồm:
- Địnhdạngcủatệp:xácđịnhtệplàđịnhdạngELFhaykhông,nếucóthìlàkiếntrúc32bithay 64bit.
- Liên kết tĩnh hoặc liên kết động: xác định danh sách các tệp thư viện cần thiếtbanđầu. Để đọc các giá trị trong Header ELF, có nhiều công cụ như“Readelf”,
“Fileutility”, “Elfdump”, “Elfutils”, “Objdump”, “Scanelf”, “Elfkickers”,…Với thông tinyêucầucầnthuthậpcủakhốiEMEkểtrên,nghiêncứusinhđãthửnghiệmvàlựachọnsử dụng công cụ“Readelf”,vì hai lý do Đầu tiên, công cụ“Readelf”cung cấp thôngtin đầy đủ theo yêu cầu của khối EME Thứ hai, nó được tích hợp vào các phiên bảnLinuxdễsử dụngmàkhôngphảicàiđặtthêmcácgóibênngoài.
Sửdụngcôngcụ“Readefl”đểxácđịnhcácthuộctínhtệpđượcminhhọakếtquảtrongHình2.2vàHìn h2.3.TrongHình2.2chothấymẫutệpđầuvào(mẫumãđộcIoTBotnet Mirai có mã MD5 là a7192c394957ba17878e3c1f57aca67b) là tệp khả chạy(Executablefile– EXEC)vớiđịnhdạngELF32bit,LittleEndianvàđượcxâydựngchokiến trúc Unix - System V, kiến trúc tập lệnh vi xử lý MIPS TrongHình 2.3cho thấymột danh sách các thư viện mẫu mã độc yêu cầu cần để chạy.
Lưu ý rằng đây là danhsáchcácthưviệnmàELFyêucầukhiđọcHeader,vìvậynókhôngchắcchắnlàđầyđủ.Vấn đề này sẽ được thảo luận thêm trong phần tiếp theo Các thông tin thuộc tính nàyđược gửi đến khốiSCGđể tạo máy ảo phù hợp để thực thi tệp ELF Đầu ra của khốiEMElàmộttệpcóđuôi"argconfig"nhưđượcminhhọatrongHình2.4.
Hình2.3Sử dụng Readelfliệtkêcácyêucầu thưviệnđộng
2.2.2 Sinhcấu hình hoạtđộng Sandbox(SCG)
Với đầu ra khốiEME(tệp“.argconfig”) khốiSCGtiến hành sinh cấu hình hoạtđộngbanđầu(tệp“Configurationfile”)đểkhởichạymôitrườngSandboxlầnđầutiên.Các tham số cấu hình này sẽ được chuyển đến chương trình QEMU để khởi tạo môitrường Sandbox cùng với một số tham số môi trường mặc định khác Các tham số cấuhìnhmặcđịnhcủamôitrườnghộpcátđượchiểnthịtrongBảng2.1.Ngoàira,danhsáchcácthưviệnchias ẻtrongtệp“.argconfig”cũngđượcthêmvàotệp“.config”vớiđườngdẫn mặc định là“/lib/ ”để có thể tự động thêm các tệp thư viện từ cơ sở dữ liệu vàobản ảnh sau khi khởi động QEMU Kiến trúc của tệp“.config”được minh họa trongHình2.5.
Arch.CPU Arch.ve rsion Endian Emulated machine
128 MB debian_wheezy _armel_standard. qcow2
128 MB debian_wheezy _mips_standard qcow2
128 MB debian_wheezy _mipsel_standard qcow2
Intel8 (32bit)0386 Little pc-i440fx- xenial NA
128 MB debian_wheezy _i386_standard.q cow2 x86-64 x86-64
(64bit) Little pc-i440fx- xenial NA
128 MB debian_wheezy _amd64_standard qcow2
128 MB debian_wheezy _powerpc_standa rd.qcow2
64 MB debian_sid_sh4_standard.qcow2
Arch.CPU Arch.ve rsion Endian Emulated machine Kernel
MB debian_etch_sp arc_small.qcow 2
Hình2.5ĐầuracủakhốiSCG 2.2.3 MôitrườngSandbox(SE)
IoT Botnet được xây dựng để chạy trên nhiều kiến trúc CPU khác nhau để phùhợpvớisựđadạngcủacácthiếtbịIoT.ĐểcóthểchạyvàphântíchIoTBotnettrêncáckiếntrúcCPUkh ácnhautrong môitrườngmôphỏng,nghiêncứusinhđãchọnsửdụngQEMU[83].DựánmãnguồnmởQEMUhỗtrợnhi ềukiếntrúcCPUnhưARM,MIPS,PowerPC,SPARC,…
BêntrongmỗimôitrườngSandboxSEsẽsửdụngbảnảnhDebiandựng sẵn của Aurel [82] với máy chủ QEMU, các tác tử quản lý, giám sát và thu thậpcác hành vi tệp ELF được thực thi (minh họa trongHình 2.6) Các tham số cấu hình đểkhởichạymáychủQEMU,đượcđọctừtệp“Configurationfile”.KhốiGiảlậpmáychủC&C (C&C simulator) sử dụng các địa chỉ IP này để tạo kết nối giữa máy chủ QEMUvà máy chủ C&C mô phỏng Tên tệp và đường dẫn của thư viện liên kết động được sửdụng để thêm các thư viện bị thiếu từ cơ sở dữ liệu thư viện liên kết động vào bản ảnhDebian Máy chủ QEMU được khởi chạy với các tham số cấu hình được minh họa nhưtrongHình2.7.
Các tác tử (agents) được viết bằng ngôn ngữCvà được biên dịch chéo (cross- compiled) bởiToolchains[84] cho các kiến trúc CPU tương ứng Verma [85] đã trìnhbàycáchsửdụngToolchainsđểtạocácứngdụngchạytrêncácthiếtbịIoTvớicáckiếntrúc CPU khác nhau Với các đặc trưng của IoT botnet được trình bày trong Chương 1của luận án, môi trường SE sẽ được tích hợp với các công cụ để giám sát các hành vicủa mã độc, bao gồm các lời gọi hệ thống, hoạt động liên quan tới tệp và thư mục, hiệunăng máy chủ, yêu cầu thư viện liên kết động và hành vi mạng Trong môi trường SE,đểthuthậpcácthôngtinkểtrênnghiêncứusinhtíchhợpcác táctử,baogồm:
- Controlleragent:quảnlýcáctácvụchungcủacáctáctửthuthậpthôngtin,kíchhoạtthực thitệpELF, nhậnvàtruyềnthôngtinđượcthu thậpđếnkhốiRDP.
- File agent:thu thập các hành vi liên quan đến tệp và thư mục (dựa trên công cụ“lsof” [86]) Nghiên cứu sinh đã chọn sử dụng công cụ “lsof”để theo dõi sự tương tácvới các tệp và thư mục của các tệp ELF vì hai lý do Thứ nhất, công cụ này hiệu quảtrong giám sát các tập tin đang được truy cập bởi các tiến trình Ngoài ra,“lsof”có thểsửdụngtrênnhiềukiếntrúcCPUkhácnhauvìđượctíchhợpsẵnvào KernelLinux.
- Host performance agent:thu thập các hành vi liên quan đến việc sử dụng tàinguyênhệthống,chẳnghạnnhưCPU,RAM(dựatrêncôngcụ“top”[87]).Đểtheodõihiệu năng của máy chủ, có nhiều công cụ khác nhau như “top”, “iostat”, “mpstat”,…Tuynhiên,trongđócôngcụ“top”phùhợphơnchovấnđềnày.Côngcụnàycungcấp khảnănggiámsátthờigianthựccủamộthệthốngđangchạy,hoạtđộngcủacáctiếntrình.
- SystemCall agent:thu thập lời gọi hệ thống của tệp ELF (dựa trên công cụ“strace”[88]) Để hiểu rõ hơn về hành vi của tệp ELF khi được thực thi, thông tin hữuích nhất là các lời gọi hệ thống của chính nó Trong Linux, có nhiều công cụ hỗ trợ thuthập lời gọi hệ thống của một tệp thực thi (như “ftrace”,“ptrace”,…) nhưng về cơ bảnhoạt động như công cụ“strace”.Stracetheo dõi các lời gọi hệ thống và hữu ích khikhông có mã nguồn và muốn phân tích chương trình bằng cách thực thi Trong IoTSandboxLimon, Monnappa[52]đãsửdụngStraceđểtheo dõicáclờigọihệthống.
-Sharedlibraryrequirementagent:khixâydựngdanhsáchcácthưviệnliênkếtđộng ngoài sử dụng“readelf”(trong khốiEMF), nghiên cứu sinh còn sử dụng công cụ“ldd”[89] Công cụ“ldd”liệt kê các thư viện liên kết động theo yêu cầu của từngchương trình thực thi. Không giống như công cụ“readelf”trong khốiEMF(phần III-B) chỉ phân tích nội dung tệp ELF tĩnh để xác định thư viện liên kết động,“ldd”giámsát tệp ELF ngay trong môi trường SE để xác định các thư viện liên kết động theo yêucầu của ELF Điều này mang lại hiệu quả cao hơn cho việc xác định các thư viện liênkếtđộngvàđãđượcchứngminhbằngthựcnghiệmtrênDatasetcủanghiêncứusinhkhisosánhvới cácIoTSandboxkhác(nhưLiSa[51],Cuckoo[49]).Kếtquảcủadanhsáchcác thư viện liên kết động xác định bởi“ldd”và“readelf”được minh họa như trongHình2.8vàHình2.9(lưuýrằnglddxácđịnhthêmhaithưviệnđượcchiasẻlàlibc.so.6vàld- uClibc.so.0vàđườngdẫnthưmục đầyđủhơnsử dụngreadelf).
Thửnghiệmvàđánhgiá
2.3.1 Bộ dữliệuthửnghiệm Để đánh giá mô hình đề xuất, tập dữ liệu đóng một vai trò quan trọng Hiện tại,không có nhiều bộ dữ liệu cho IoT Botnet nói chung và các thiết bị IoT giới hạn tàinguyên nói riêng, chủ yếu là các mẫu mã độc, ít mẫu lành tính Vì vậy, trong luận ánnày,nghiêncứusinhđãthuthậpvàxâydựngbộdữliệucủariêng mình. Để phục vụ quá trình thử nghiệm và đánh giá các phương pháp đề xuất, bộ cơ sởdữliệuthử nghiệm(dataset)đảmbảocáctiêuchícụthểnhư sau:
- Là tập hợp các tệp thực thi (nhị phân) của các mẫu mã độc IoT Botnet và cáctệp mẫu lành tính đã được thu thập và công bố tại các nguồn công khai, rõ ràng, có cậpnhậtcủacácnhànghiêncứutrong,ngoàinước.
- Đảmbảo vềtỉlệcân bằngtươngđốigiữasốlượngmẫu mãđộcvàlànhtính.
- ĐảmbảocócácmẫuchạyđượctrênnhữngnềntảngkiếntrúcvixửlýphổbiếncủathiếtbịIo T(nhưMIPS,ARM, PowerPC,…). Để đánh giá tính hiệu quả của V-Sandbox, nghiên cứu sinh xây dựng một bộDataset chứa 11069 mẫu bao gồm 6316 mẫu mã độc IoT Botnet và 4753 mẫu lành tính(đảm bảo cân bằng tỉ lệ giữa mẫu mã độc và lành tính) Các mẫu mã độc IoT BotnetđượcthuthậptừbanguồnchínhtừIoTPOT[31],Virustotal[117]vàVirusShare[118].Các mẫu lành tính được trích xuất từ hình ảnh phần sụn của các thiết bị IoT hạn chế tàinguyêntrênmạngnhưbộđịnhtuyến,cameraIP,đènthôngminh,…Nghiêncứusinhsửdụng công cụ FMK
(Firmware Modification Kit) [79] và Binwalk [153] cho công việctríchxuấtnày.Bộcơsởdữliệuthửnghiệmđãđảmbảođộđadạngvềkiếntrúcvixửlýgồm: ARM (2279 mẫu), MIPS (2811 mẫu), Intel 80386 (2058 mẫu), PowerPC (918mẫu),…
Thử nghiệm được tiến hành trên máy chủ với cấu hình CPU Intel Xeon E5- 26892,6GHz,RAM32GB.V-SandboxhỗtrợnhiềukiếntrúcCPUkhácnhau,vềcơbảnbaogồm ARM, MIPS, MIPSEL, i386, x86-64, PowerPC (có thể được mở rộng với nhiềukiếntrúckhác)đượcminhhọatrongHình2.14.TấtcảcácmáyảoQEMUnàyđượckếtnối vớiVirtual
Switchđể quản lý, cung cấp môi trường mạng mô phỏng cũng như khảnăng kết nối với máy chủ C&C, giám sát lưu lượng mạng, thêm thư viện liên kết độngbị thiếu.Main Controllerchịu trách nhiệm quản lý các tác vụ bao gồm nhận và chuyểntệp ELF sang máy chủ ảo, xác định kiến trúc CPU của ELF để chạy máy chủ ảo tươngứng,kíchhoạttệpELFvàtáctửgiámsát,cungcấptệpShareObject("so")khiELFyêucầu,tạokếtnốivớ imáychủC&Cmôphỏngkhicầnthiếtvàtổnghợpbáocáophântíchtừtác tử giámsáthànhvi.
Hình2.14Môhìnhtriểnkhaithửnghiệmcủa V-Sandbox 2.3.3 Kếtquảkiểm nghiệm V-Sandbox
TrongBảng2.2,môtảkếtquảchạyDatasettrênV-Sandbox.Kếtquảthửnghiệmcho thấy với Dataset chứa
11069 mẫu bao gồm 6316 mẫu mã độc IoT Botnet và 4753mẫu lành tính, V-Sandbox đã chạy và phân tích thành công 8911 mẫu với nhiều kiếntrúc CPU khác nhau Đáng chú ý, tỷ lệ mẫu liên kết tĩnh đạt hơn 80% và mẫu liên kếtđộnglàhơn70%.Kết quảnàylà mộtlợithếkhikếthợp máychủC&Cvàthưviệnliênkết động trong V-Sandbox Các kết quả phân tích được thu thập từ V-Sandbox cho cácmẫutrongBộdữliệuđượcminhhọatrongcác hìnhdướiđây.
Bảng2.2 Thốngkê kết quảchạyV-Sandbox
CPU Sốmẫuliênkếttĩnhchạ y thànhcông Sốmẫuliênkếtđộngchạ y thànhcông Tổngsốmẫuchạyth ànhcông
Hình2.15Thông tinthuthậpbởicáctáctửcủaV-Sandbox
Hình2.19 Thông tinthuthậpbởiNetwork agent
Hình2.21Báocáo tổngthểvềhànhvicủa mẫuđượcchạy Để chứng minh tính hiệu quả của V-Sandbox trong thu thập được đầy đủ dữ liệuhành vi của mã độc so với các IoT Sandbox khác, nghiên cứu sinh trình bày cụ thể kếtquả so sánh trong mục 2.3.4 của luận án này Ngoài ra, trong kết quả so sánh tại
2.3.4 SosánhhiệuquảV-Sandboxvới cácIoTSandboxkhác ĐểsosánhhiệuquảhoạtđộngcủaV-SandboxvớicácIoTSandboxkhác,nghiêncứu sinh sẽ tiến hành thử nghiệm và đánh giá khả năng thu thập dữ liệu hành vi của cácIoT Sandbox nổi tiếng khác (như LiSa Sandbox, IoTBOX, Cuckoo Sandbox) với V-Sandbox trên cùng một tập dữ liệu Cụ thể, kết quả chạy Dataset của nghiên cứu sinhvớiLiSa Sandbox được trình bày trongBảng 2.3 Vì IoTBOX không công bố rộng rãimã nguồn, không dễ để cài đặt và kiểm tra tính hiệu quả của Sandbox này trên bộ dữliệuDataset.Ngoàira,CuckooSandboxđãđượcnghiêncứusinhcàiđặtvàchạythử nghiệm, nhưng chỉ hỗ trợ tốt cho các kiến trúc x86, việc cài đặt cho các kiến trúc CPUkhácgặpnhiềukhókhăn.Dođó,đểsosánh,nghiêncứusinhđãchọnmộtvàimẫungẫunhiênđểđánhgi áhiệuquảcủaCuckooSandboxtrongBảng2.5.Tổngquanvềcácchứcnăng của IoT Sandbox đã có với V-Sandbox được so sánh trongBảng 2.4.
TrongBảng2.5,môtả12mẫuđượcchọnngẫunhiênđểsosánhhiệuquảcủaSandboxđượcđềxuấtvới hai Sandbox được đánh giá cao hiện nay là Cuckoo và LiSa Sandbox TrongBảng2.6,trìnhbàykếtquảsosánhhiệuquảcủaV- SandboxvớiCuckoovàLiSaSandboxvớicácmẫucụthểnày.
Sốlượngmẫuliênkết động chạy thànhcông(%)
Tổng số mẫu chạythànhcông(% )
Bảng2.4Sosánh cácchứcnăng củacácIoT Sandbox
Collectiondata Autog ener- ationre port
Network System calls Filea ctivity Hostper fomance
Sure(noopensource)Bảng2.5Cácmẫuđượclựachọnngẫun hiêntừdataset
STT MD5 Kiến trúc vixửlý Nhãn[99]
3 571d93ccba8ee531627311fdb0b54c95 ARM Benign
STT MD5 Kiến trúc vixửlý Nhãn[99]
4 8b269f0eab1e09040c62ce78dff05c01 MIPS Benign
6 0a982a3fb71dd70c248c107fcf33574f PowerPC Gafgyt
8 2bb57df01bd06453775472df2098eff1 ARM Tsunami
10 4a832bd4fbb625cd095e9f56d695b047 MIPS Mirai
11 9505af2cafb5b2bb8d10949543c5c416 MIPSEL Bashlite
Số lượng PID giám sátđược Hànhvimạng đượcgiámsát V-
Sandbox LiSa Cuckoo V-Sandbox LiSa Cuckoo
1 static static static 3 3 3 C&Cserver connected,tra nsfercommand requetsI PC&C server requetsI PC&C server
C&C serverconnected,tr ansfercommand, TCP flooding requetsI PC&C server requetsI PC&C server
C&C serverconnected, transfercommand, TCPflooding requetsI PC&C server requetsI PC&C server
C&C serverconnected,tr ansfercommand, TCP flooding
8 static static static 2 1 4 Normal Normal Normal
9 static static static 1 1 1 requetsIPC&Cs erver No pcap requetsI
C&C serverconnected,tr ansfercommand, attacktraffic DDoS
C&C serverconnected,tr ansfercommand, attacktraffic DDoS
No pcap requests IPC&C server
C&C serverconnected,tr ansfercommand, attacktraffic DDoS
Theo kết quả so sánh đã liệt kê ở trên, V-Sandbox được đề xuất với khả năng hỗtrợnhiềukiếntrúcvixửlýphổbiếncủathiếtbịIoThạnchếtàinguyên,tạomôitrườngkết nối và giao tiếp với máy chủ C&C, cung cấp các thư viện liên kết động để mã độcIoT Botnet thể hiện nhiều hành vi hơn so với các IoT Sandbox hiện có (tiêu biểu làCuckoo và LiSa sandbox) Chính các khả năng này đã tạo môi trường phù hợp cho cácmã độc thể hiện nhiều hơn các hành vi của mình so với các môi trường IoT Sandbox đãcó(đượcminhchứngbằngsốliệutạiBảng2.6).Cáctáctửthuthậpcáchànhvicủa mãđộcIoTBotnet(nhưlờigọihệthống,luồngmạng,thôngtinchiếmdụngtàinguyêncủathiết bị,…) được tự động tích hợp vào các máy ảo với kiến trúc CPU tương ứng V- Sandboxđãđượcchứngminhtínhhiệuquảthôngquadatasetthửnghiệm.MãnguồnV-Sandboxđược chia sẻtrênGithub [100].
Tuy nhiên, để thu thập các yêu cầu về môi trường và khởi tạo môi trường Sandbox(SE)phùhợpchomãđộcthểhiệnhếtcáchànhviđộchại,V-Sandboxcầnthựchiệnlặplại quá trình thực thi tệp đầu vào không chỉ một lần Do đó, thời gian phân tích một tệptin đầu vào đối với V-Sandbox có thể kéo dài hơn so với các IoT Sandbox khác Ngoàira, hiện nay V-Sandbox mới chỉ hỗ trợ các kiến trúc vi xử lý phổ biến của thiết bị IoTnhư MIPS, MIPSEL, ARM, PowerPC, SPARC Các kiến trúc vi xử lý đặc thù, ít phổbiến của thiết bị IoT như SH-4, M68K,… thì V-Sandbox chưa hỗ trợ đầy đủ Trongtương lai, nghiên cứu sinh sẽ mở rộng khả năng hỗ trợ nhiều kiến trúc vi xử lý hơn, bổsung dữ liệu về các lệnh của máy chủ C&C và các thư viện liên kết động vào cơ sở dữliệuđểnângcaohiệuquảvàgiảmthiểuthờigianthựcthicủamôitrườngsandboxnày.
KếtluậnChương 2
Trong chương này, luận án đã xây dựng được môi trường V-Sandbox đảm bảocác điều kiện để có thể thu thập đầy đủ dữ liệu hành vi của mã độc IoT Botnet Môitrường sandbox được xây dựng hoạt động hoàn toàn tự động, mã nguồn mở và cài đặtdễdàng,cótínhthực tiễn. Ý tưởng và kết quả thực nghiệm của phương pháp đề xuất trong chương này đãđược trình bày, công bố trên các Tạp chí, Kỷ yếu Hội thảo uy tín trong và ngoài nước.Cụthểlà:
Sandboxf o r D y n a m i c A n a l y s i s I o T B o t n e t , ” I E E EA c c e s s , v o l 8 , p p 145768–145786, 2020, (SCIE index, Q1), ISSN: 2169-3536, DOI: 10.1109/ACCESS.2020.3014891
- “Xây dựng hệ thống phát hiện mã độc trong thiết bị định tuyến dựa trên môphỏng”,Tạpchí“NghiêncứuKhoahọcvàCôngnghệtronglĩnhvựcAntoànthôngtin”(Journal of
Science and Technology on Information security) – Ban cơ yếu chính phủ(1.CS(05)2017),2017.
CHƯƠNG 3 ĐẶC TRƯNG ĐỒ THỊ LỜI GỌI HỆ THỐNG CÓ
Phátbiểubàitoán
Như đã trình bày tại Chương 1, các nguồn dữ liệu động phổ biến được các nhànghiên cứu về mã độc IoT Botnet thu thập bao gồm luồng mạng, chuỗi lời gọi hệ thốngvà thông tin chiếm dụng tài nguyên thiết bị của mã độc IoT Botnet Tuy nhiên, mỗi loạidữliệuđộngnàycónhữngưuvànhượcđiểmriêngtrongkhảnăngpháthiệnmãđộcIoTBotnet. Đối với dữ liệu luồng mạng, đã có nhiều nghiên cứu sử dụng loại dữ liệu này đểphân tích và phát hiện mã độc Botnet nói chung và IoT Botnet nói riêng Tuy nhiên, dữliệu mạng khả nghi chỉ phát sinh khi mã độc IoT Botnet tiến hành giao tiếp với C&Cserver hoặc thực hiện hành vi tấn công mạng. Chưa kể đến trường hợp mã độc đang ởtrạng thái chờ đợi kết nối hoặc kết nối không thành công tới C&C server thì dữ liệuluồng mạng gần như không phát sinh, làm giảm khả năng phát hiện [35, 43] Đặc biệt,một số loại mã độc Botnet còn sử dụng một vài kỹ thuật để tránh bị phát hiện qua dữliệuluồngmạngnhưsinhgiátrịthờigianchờngẫunhiêngiữacáclầngửigóitinkếtnốiđến C&C server, sinh giá trị địa chỉ IP ngẫu nhiên để quét mục tiêu, sử dụng các kênhtruyềnmãhóadữliệu[95,101,102].Hiệnnay,dữliệuluồngmạnghầuhếtđượcchứngminh tính hiệu quả trong khả năng phát hiện mã độc IoT Botnet tại giai đoạn kết nối,nhậnlệnhtừ C&Cservervàthực thi hành vitấncôngmạng[35, 43]. Đốivớithôngtinchiếmdụngtàinguyênthiếtbị,cácdữliệukhảnghicóthểphátsinh ngay từ khi mã độc IoT Botnet tiến hành lây nhiễm vào thiết bị Các dấu hiệu khảnghi có thể nhận biết như tăng tỉ lệ sử dụng bộ vi xử lý, dung lượng bộ nhớ truy xuấtngẫunhiên(RAM),truyxuấtcáctệptinvàthưmụctronghệthống,… Tuynhiên,khôngdễ dàng để phân biệt những dữ liệu khả nghi này với những hành vi chiếm dụng tàinguyên thiết bị của các chương trình lành tính khác [38, 44] Ngoài ra, do đặc điểm hạnchế tài nguyên của thiết bị IoT, cho nên các mã độc IoT Botnet cũng được tối ưu hạnchếsửdụngcáctàinguyênnày.Vìvậy,nhữngdữliệuthôngtinchiếmdụngtàinguyên nàythườngđượcsửdụngđểkếthợpvớicácnguồndữliệuđộngkhácđểtăngkhảnăngpháthiệnchínhxác mãđộcIoTBotnet.
Trong bài toán phát hiện mã độc IoT Botnet, khi mà nguồn dữ liệu luồng mạngvà thông tin chiếm dụng tài nguyên thiết bị không đạt được được hiệu quả thì các nhànghiên cứu phải sử dụng nguồn dữ liệu động là “lời gọi hệ thống” [36, 37, 73, 75, 103].Một trong các sự kiện quan trọng có thể theo dõi để xác định hành vi của mã độc trongphân tích động là các lời gọi hệ thống (System calls) Các lời gọi hệ thống cung cấpphươngthứcđểmộtchươngtrìnhyêucầuhệđiềuhànhthựchiệncáctácvụcủachươngtrình [104] Một system call được gọi theo nhiều cách khác nhau, tùy thuộc vào chứcnăng được cung cấp bởi bộ vi xử lý Để thực hiện các hành vi độc hại, mã độc cần sửdụng các chức năng, dịch vụ từ hệ điều hành Đối với bất kỳ hành động có ý nghĩa độchại nào, chẳng hạn như tạo thư mục mới, tải tệp thực thi mã độc, tạo tiến trình thực thi,ghi vào RAM hoặc mở kết nối mạng, cần phải tương tác với hệ điều hành (OS) thôngqua lời gọi hệ thống (System call) Do đó, để mô tả đặc điểm hành vi của mã độc, điềuquan trọng là phải theo dõi chuỗi các sự kiện lời gọi hệ thống trong quá trình thực thimã độc Các họ mã độc khác nhau có các mục tiêu thực thi hành vi độc hại khác nhau,nhưng tất cả các mục tiêu này sẽ được tiết lộ bằng cách kiểm tra các dấu vết lời gọi hệthống Để có thể sử dụng nguồn dữ liệu “lời gọi hệ thống” trong phát hiện mã độc IoTBotnet,cácnhànghiêncứu
Với những phân tích nêu trên, trong Chương 3 luận án sẽ đề xuất phương pháptiềnxửlýloại dữliệunàyápdụng hiệuquảchobàitoánpháthiệnmãđộcIoTBotnet.
Vớinộidungđãđượctrìnhbàyởtrên,hạnchếchínhcủacácnghiêncứusửdụnglời gọi hệ thống để phát hiện mã độc IoT nói chung và IoT Botnet nói riêng đã đượcphântíchởtrênbaogồm:
1) Các nghiên cứu sử dụng lời gọi hệ thống hầu hết mới chỉ quan tâm tới đặctrưngtầnxuấtxuấthiệnlờigọi,chưakhaitháchiệuquảđặctrưngtuầntựcủalờigọihệthống.
2) Cácnghiêncứusửdụngđồthịtrongxửlýchuỗilờigọihệthốngcủamãđộctồn tại cácnhượcđiểmnhưvectorđặctrưng có sốchiều quálớn,giátrịđặctrưngđược tríchxuấttừđồthịcònphứctạpđểthựchiệnphânlớphiệuquả,độchínhxáckhiápdụngchưac ao,cònlệthuộc vào kiếntrúcvixử lývànềntảnghệđiềuhành.
Như vậy, để giải quyết các hạn chế kể trên, bài toán nghiên cứu của Chương nàyđượcphát biểunhư sau:
={e 1 ,e 2 ,…,e n }với𝑒𝑖có thểlà mãđộchoặc tệplànhtính.
-Cho𝐹 { 𝑓 𝐴𝑙ℎ𝑎𝑖𝑑𝑎𝑟𝑖 , 𝑓 𝐴𝑙ℎ𝑎𝑛𝑎ℎ𝑛𝑎ℎ , 𝑓 𝐾𝑎𝑟𝑎𝑛𝑗𝑎 , 𝑓 𝑀𝑒𝑖𝑑𝑎𝑛 , 𝑓 𝑆ℎ𝑜𝑏𝑎𝑛𝑎 , 𝑓 𝑁𝑔𝑢𝑦𝑒𝑛 }l àt ậ p hợp các đặc trưng trích xuất từ lời gọi hệ thống trong bài toán phát hiện mã độc IoTBotnet, với mỗi đặc trưng trong tập F sẽ cho ra n đặc trưng tương ứng với mỗi𝑒 𝑖 𝜖𝐸 , cụthể tồn tại một ánh xạ{𝑢: 𝐸 → 𝐹; 𝑒 ↦ 𝑓 = 𝑢(𝑒) } Ví dụ, với đặc trưng𝑓 𝐴𝑙ℎ𝑎𝑖𝑑𝑎𝑟𝑖 thì tồntạitậpgiátrịđặctrưng𝑢 𝐴𝑙ℎ𝑎𝑖𝑑𝑎𝑟𝑖 (𝐸)={𝑒 1 ↦𝑓 𝐴𝑙ℎ𝑎𝑖𝑑𝑎𝑟𝑖 1,𝑒 2 ↦𝑓 𝐴𝑙ℎ𝑎𝑖𝑑𝑎𝑟𝑖 2,…,𝑒 𝑛 ↦
- Cần tìm𝑓 𝐷𝑆𝐶𝐺 ∉ 𝐹|∀𝑒 𝑖 ∈ 𝐸, ∃𝑒 𝑖 ↦ 𝑓 𝐷𝑆𝐶𝐺 𝑖mà𝑓 𝐷𝑆𝐶𝐺 hiệu quả hơn𝑓 𝑖 ∈ 𝐹, đượcđịnh lượng bằng các chỉ số đánh giá mô hình học máy phổ biến trên cùng một tập dữliệutươngđồng. Để giải quyết bài toán nghiên cứu kể trên, nghiên cứu sinh đề xuất đặc trưng đồthịlờigọihệthốngcóhướng(DirectedSystemCallGraph-
Sandbox.Đặctrưngđượcđềxuất sẽ có độ phức tạp thấp, dễ áp dụng với những thuật toán học máy đơn giản Tiếptheo, nghiên cứu sinh trình bày các nội dung mô tả cụ thể về mô hình tổng quan vàphươngpháptríchxuấtđặctrưngtừ đồthịlời gọihệthốngđược đềxuất.
3.1.3 Sơ đồvàýtưởngphươngphápđềxuất
Phươngphápđềxuấtbaogồmbốnthànhphầnchínhlà:Thuthậplờigọihệthống(SystemCallsCollect or-SCC),Sinhđồthịlờigọihệthốngcóhướng(DirectedSystemCallGraphGenerator-
DSCGG),Tiềnxửlýdữliệu(DataPreprocessing-DP),Bộpháthiện mã độc IoT Botnet dựa trên học máy (Machine Learning Detector - MLD) Kiếntrúc của phương pháp đề xuất được minh họa như trongHình 3.1 Quy trình hoạt độngcủaphươngpháppháthiệnmãđộcIoTBotnetdựatrênđồthịlờigọihệthốngDSCGcó4bước chính tươngứngvớicácthànhphầnnêu trên,gồm:
Bướcthứ1,tệpELFđượcđưavàothựcthitrongmôitrườngSandboxđểthuthậpcác lời gọi hệ thống được yêu cầu Môi trường Sandbox này phải đảm bảo tạo các điềukiện tốt nhất để mã độc IoT Botnet thể hiện nhiều nhất các hành vi có thể Vì vậy, luậnánđãtiếnhànhkhảosát,đánhgiákếtquảthuthậplờigọihệthốngcủacácSandboxchoIoT khác nhau như Cuckoo [46], Detux [54], DroidScope [97], IoTBOX [43], LiSa[51],… và V-Sandbox Với kết quả khảo sát này, nghiên cứu sinh lựa chọn sử dụng V-
Sandbox[105]phụcvụchomụcđíchthuthậpđầyđủhànhvitươngtáccủamãđộcIoTBotnetvớihệthống,t rongđócólờigọihệthống.Tiếptheo,cácthôngtindưthừakhôngcầnthiếtsẽbịxóa khỏi dữliệuthuthậplờigọi hệthốngthôngquachứcnăngtiềnxửlýdữ liệu đơn giản Kết quả của quá trình này là chuỗi lời gọi hệ thống của tệp ELF đầuvàođãđượctốigiảnphục vụchomụcđíchsinhđồthịlờigọihệthốngDSCG.
Bước thứ 2, đồ thị lời gọi hệ thống DSCG được xây dựng từ chuỗi lời gọi hệthống đã thu thập được ở bước 1 Cấu trúc của đồ thị DSCG sẽ được mô tả dưới dạngngôn ngữ XML và lưu trữ trong tệp với định dạng “gexf” (Graph Exchange XMLFormat)đểcó thể thửnghiệmcácthuậttoán nhúngđồthịkhácnhau.
Bước thứ 3, nghiên cứu sinh thực hiện tiền xử lý dữ liệu đồ thị DSCG trước khiđưavàocácbộhọcmáyphânlớpdữliệu.Vìviệcthựchiệnthuậttoánphânloạitrêncácđồthịnàyphứctạp vàmấtnhiềuthờigian,nếuđơngiảnchuyểnđổicácđồthịnàythànhmột tập các vectơ (tức là một vectơ cho mỗi đồ thị) để đưa vào học máy Những đồ thịnày trong thực nghiệm có số lượng lớn nút và cạnh, vì vậy số chiều các vectơ chuyểnđổi từ đồ thị cũng có kích thước phức tạp tương ứng Do đó, nghiên cứu sinh áp dụngphươngphápnhúngđồthị(graphembedding)đểcóthểtríchxuấthiệuquảthôngtincácđặctrưngcủađồ thịDSCGvàgiảmchiềucủavectornày.Điềunàyđượcthựchiệnnhằmmụcđíchnângcao độchínhxácvàgiảmđộphứctạpkhipháthiện mãđộcIoTBotnet.
Bước thứ 4, sau khi trích xuất tập đặc trưng phù hợp, các đặc trưng này được sửdụngđểhuấnluyệnvàđánhgiákhảnăngpháthiệnmãđộcIoTBotnetdựatrêncácthuậttoán học máy phổ biến nhưKNN, SVM, Decision Tree,… Kết quả thử nghiệm đã chothấy tính hiệu quả của phương pháp trích xuất đặc trưng dữ liệu lời gọi hệ thống mànghiêncứusinhđềxuất.
Hình3.1Quytrìnhphươngphápđềxuấtphát hiệnmãđộcIoTBotnet dựatrên
Cácthànhphầnchínhtrongquytrìnhphương phápđềxuấtpháthiệnmãđộcIoTBotnetdựatrênDSCG đượctrìnhbàycụ thểtrongcácnội dungtiếptheocủa luận án.
Đồthịlờig O ̣ihệthốngcóhướngDSCG
3.2.1 Kháiniệmđồthịlờigọihệ thốngcóhướngDSCG
Mô tả chi tiết phương pháp sinh đồ thị lời gọi hệ thống có hướng (DSCG) đượctrìnhbàydướiđây.Đầutiên,nghiêncứusinhđưarakháiniệmvềđồthịlờigọihệthốngcóhướngDSC Gnhư sau:
Kháiniệm 2.1.ĐồthịDSCGlàmộtđồthịcóhướngđượckýhiệulàG DSC =(V,E)trongđó:
- V là tập hợp các đỉnh v i đại diện cho các lời gọi hệ thống có cùng tên(name)vàthamsố(arguments);
- Elàtậphợpcáccạnhe k nốitừđỉnhv i tớiđỉnhv j củađồthị,EV×V,vớicácvòng lặpthìchỉtínhlàmộtcạnhcủađồthị.
Theo khái niệm này, đồ thị DSCG là đồ thị có hướng, mô tả thứ tự các lời gọi hệthốngcủatệpthựcthiđượcthuthậptrongquátrìnhphântíchđộng.CácđỉnhcủađồthịDSCG đại diện cho các lời gọi hệ thống có cùng tên (name) và tham số (arguments)tương ứng Việc sử dụng các đỉnh đồ thị biểu diễn tên và tham số của lời gọi hệ thốngsẽlàmtăngsốlượngđỉnhcủacủađồthịsovớinhữngđồthịchỉsửdụngtênlờigọihệ thống Tuy nhiên, với cách biểu diễn này thì đồ thị DSCG hạn chế được sự mất mátthông tin quan trọng trong các giá trị tham số truyền vào các lời gọi hệ thống – yếu tốquan trọng để phát hiện hành vi độc hại của mã độc Để giảm thiểu số lượng cạnh củađồ thị DSCG, các vòng lặp trong chuỗi lời gọi hệ thống được thu thập sẽ chỉ được biểudiễn như một cạnh của đồ thị Cách xử lý này giúp cho vừa bảo toàn được thông tin lờigọi hệ thống, vừa giảm độ phức tạp của đồ thị trong những trường hợp như mã độc sửdụng vòng lặp để chờ kết nối với C&C server, tấn công rà quét mật khẩu các thiết bịkhác,thực hiệntấncôngtừ chốidịchvụ,
3.2.1.Xâydựngđồthị lờigọihệthốngcóhướngDSCG
Sandbox(đượcminhhọatạiHình3.2),mỗimộtđỉnhcủađồthịDSCGđượcxácđịnhtạikháiniếmởtrêns ẽđượcgắnnhãnvớiđịnhdạnggồm“PID:Systemcallname(Argument)”.Từđó,danhsáchcáccạnhcủađồt hịđượcmôtảdướidạngcặpcácđỉnhđồthịkềnhauđượctựđộngsinhravàlưutrữlạiđểphụcvụviệcchuyể nsangđịnhdạngtệpđầura“gexf”.MinhhọachomộtđoạnđồthịDSCGđượcsinhradựatrênchuỗilờigọih ệthốngđượctrìnhbàytạiHình3.3.ThuậttoánxâydựngđồthịDSCGđượctrìnhbàybằngmãgiảnhưtron gThuậttoán3.1.ThuậttoánsinhđồthịDSCGcóđầuvàobaogồm:Tệplưutrữchuỗilờigọihệthốngđượcth uthậpbởiV-
Sandbox(Logfile);MãđịnhdanhtiếntrìnhđầutiênmàtệpELFthựcthitạora(pid);Tênđỉnhdùngđểnối giữacácnhánhPIDtrongđồthịDSCG(u).Giátrịkhởitạobanđầuchobiếnpidvàulàgiátrị“None”.Đầu racủathuậttoánnàybaogồm:DanhsáchcácđỉnhcủaDSCG(V);DanhsáchcáccạnhcủaDSCG(E)tươ ngứngvớicácđỉnhcủađồthịDSCG.Thuậttoánsẽđọclầnlượtcácdòngtrongtệplưutrữchuỗilờigọihệthống(L ogfile)đểlấythôngtinvềlờigọihệthốnggồmtênlờigọi(name),thamsốcủalờigọi(args)vàlưuvàomảng đạidiệncholờigọihệthống(SC).Tiếptheo,cácđỉnhcủađồthịDSCGđượcxâydựngbởitậphợpcáclờigọih ệthốngkhácnhautrongchuỗilờigọiđãthunhậnđượcđược.MỗiđỉnhcủađồthịDSCGsẽbaogồmcácth ôngtin:MãđịnhdanhtiếntrìnhđượcghinhậntrongLogfile(pid);Tênlờigọihệthốngđượcgọi(SC.nam e);Thamsố của lời gọi hệ thống được gọi (SC.args) Các cạnh trong đồ thị gồm cặp giá trị của 2 đỉnhliêntiếpđượcgọitheothứtựtrongLogfile.Trongtrườnghợpgặplờigọihệthốngcótên là“fork”hoặc“clone”thìđồthịsẽrẽnhánhđểmôtảchotrườnghợpmãđộctựmìnhtạoracáctiếntrìnhcontrongh ệthống(Childprocess).ThuậttoándừngkhiđãduyệtquahếttấtcảcáclờigọicótrongtệpnhậtkýLogfile.
Input Logfile:Tệplưutrữchuỗilờigọihệthống đượcthu thậpbởi V-Sandbox
Output 𝐸: Danh sách các cạnh của
ProcedureGenerate_DSCG( logfile,pid,u=None)
Tiềnxửlýdữ liệu đồthịDSCG
ĐểcóthểđưadữliệuđồthịDSCGvàocácbộphânloạihọcmáy/họcsâuthìcầnbiểu diễn toàn bộ đồ thị dưới dạng vector đặc trưng có độ dài cố định Tuy nhiên, mỗimột đồ thị trong thực tế có số lượng đỉnh và cạnh không giống nhau, mang đặc trưngriêng cho từng mẫu đầu vào Do đó, cần có một kỹ thuật biến đổi dữ liệu đồ thị có độphức tạp cao thành vector đặc trưng thống nhất có độ dài cố định Một trong những kỹthuật giải quyết vấn đề này được sử dụng phổ biến hiện nay là nhúng đồ thị (graphembedding) Kỹ thuật nhúng đồ thị ánh xạ đồ thị vào không gianEuclid, nơi các đồ thịcó cấu trúc hoặc các thành phần đồ thị con tương tự nhau sẽ nằm gần nhau Từ đó, mỗimột đồ thị sẽ được biểu diễn bởi một vector đặc trưng Thông qua kỹ thuật này, cácvectorđặctrưngđượctríchxuấttừđồthịvàđưavàocácbộphânloạihọcmáy.Đểđánhgiá hiệu quả biểu diễn dữ liệu lời gọi hệ thống qua đồ thị DSCG, các kỹ thuật nhúng đồthị được thử nghiệm trong luận án này bao gồm FEATHER [106],LDP [107] vàGraph2vec[108].
Rozemberczki [106] trình bày phương pháp FEATHER được sử dụng để xâydựng các hàm đặc trưng (characteristic functions) của đồ thị dựa trên mối quan hệ phânbốcácnútlâncận(nodeneighborhoods).Tácgiảchứngminhrằng,cácđồthịđẳnghình(isomorphic)cócù ngmộtgiátrịhàmđặctrưng(pooledcharacteristicfunction)làgiátrịtrung bình của đặc trưng cho các nút (node characteristic functions) Do đó, có thể sửdụng một hàm giá trị đặc trưng FEATHER đại diện cho đồ thị trong bài toán phân loạicũng như phân cụm Hàm FEATHER mức đồ thị được tổng hợp bằng trung bình cộngcácgiátrịFEATHERmứcnút.
Cai[107]trìnhbàyphươngphápLocalDegreeProfile(LDP)trongtríchxuấtđặctrưngcủađồthịdựat rên“bậc”(degree)củađỉnhvớicácđỉnhlâncậnđầutiên(đượcnốibởi một cạnh) Tác giả ký hiệu đồ thị làG(V,
E)vớiVlà tập các đỉnh vàElà tập cáccạnh Với mỗi một đỉnhvthuộcV, ký hiệuDN(v)là tập hợp các giá trị “bậc” của cácđỉnhu l â nc ậ n đ ỉ n hv:𝐷 𝑁 (𝑣)= { 𝑑 𝑒 𝑔 𝑟 𝑒 𝑒 ( 𝑢 ) | ( 𝑢 , 𝑣)∈ 𝐸 } M ỗ i m ộ t đ ỉ n hv t h u ộ cđ ồ t h ịGsẽtríchxuất5giátrịđặctrưnggồm:degree(v),min( DN(v)),max(DN(v)),mean(DN(v))vàstd(DN(v)).Quátrìnhnàyđượclặplạichotấtcảcácđỉnhcủađồt hịG.Các giá trị đặc trưng của nút có chiều mặc định là 32, được nối lại với nhau theo thứ tựthànhvetorđặctrưngcó5×320chiều.Đâylàvetorđặctrưngđầuvàochocácthuậttoánhọcmáyphânloạ inhư SVM.
Cáccôngbốgầnđâyvềtiềnxửlýchodữliệucócấutrúcđồthịchủyếutậptrungvào việc nghiên cứu các cách biểu diễn phân tán của các cấu trúc đồ thị như các nút vàđồ thị con Tuy nhiên, nhiều vấn đề phân tích đồ thị để phục vụ học máy như phân loạivàphâncụmđồthịyêucầubiểudiễntoànbộđồthịdướidạngvectơđặctrưngcóđộdàicốđịnh.Trongkhi cáccáchtiếpcậnnóitrênđươngnhiênlàkhôngcầnthiếtđểthựchiệncác cách biểu diễn như vậy, thì việc sử dụng các hạt nhân đồ thị (graph kernels) vẫn làcách hiệu quả nhất để trích xuất đặc trưng Tuy nhiên, các hạt nhân đồ thị này sử dụngcác đặc trưng được tạo thủ công (ví dụ: đường dẫn ngắn nhất, đồ thị liên thông,…) vàdo đó bị cản trở bởi các vấn đề như tổng quát hóa kém, khó tự động hóa quá trình tìmkiếm hạt nhân đồ thị Để giải quyết hạn chế này, Narayanan đề xuất một phương phápđồ thị nhúng có tên là graph2vec [108] để tìm hiểu các biểu diễn phân tán theo hướngdữ liệu của các đồ thị có kích thước tùy ý Tác giả coi các đồ thị tương tự như các vănbảnđượccấutạobởicácđồthịconcógốc(rootedsubgraphs)vàmởrộngphươngpháp
Skipgram cho văn bản (Doc2vec) sang ứng dụng cho xử lý đồ thị Các phép nhúng củagraph2vec được huấn luyện theo phương pháphọc không giámsát (unsupervisedlearning).Dođó,chúngcóthểđượcsửdụngchobấtkỳtácvụnàonhưphânloạiđồthị,phân cụm và thậm chí cho các phương pháp học máy có giám sát Các thử nghiệm củaNarayanan cho thấy graph2vec đạt được những cải tiến đáng kể về độ chính xác phânloại và phân cụm so với các phương pháp tiếp cận học biểu diễn cấu trúc con và cạnhtranhvớicácphươngphápphântíchđồthịhiệnđại.
Hình3.5Sosánh Doc2vecvàGraph2vec
Thực nghiệmvà đánhgiá
3.4.1 Bộdữliệuthực nghiệm Để đánh giá kết quả hoạt động của đặc trưng đề xuất, tập dữ liệu chứa 8911 mẫutệpthựcthichạythànhcôngtừV-Sandboxbaogồm5023IoTBotnetvà3888mẫulànhtính đa nền tảng kiến trúc vi xử lý (gồm MIPS, ARM, x86, PowerPC,…) đã được thuthập và sử dụng cho thực nghiệm Các mẫu mã độc được thu thập từ ba nguồn chính từIoTPOT[43],Virustotal[99]vàVirusShare[109].Cácmẫulànhtínhđượctríchxuấttừhìnhảnhphầnsụn của cácthiếtbịIoTgiớihạntàinguyêntrên mạngnhưbộđịnhtuyếnkhông dây (Router Wifi), camera IP, TV smart box,
… Mô tả về các mẫu trong tập dữliệuđượcmôtảtrongBảng3.1.
MãđộcIoTBotnet khác (Tsunami,Spike,Dofloo,MrBlack,…)
3.4.2 Triểnkhai thửnghiệm Đểthửnghiệm,nghiêncứusinhsửdụngmáytínhvớiCPUIntelXeonE5-2689
2.6 GHz với 16GB RAM, ổ cứng có dung lượng lưu trữ 2 TB Môi trường ảo hóa V- SandboxđượccàiđặttheomãnguồnđượcnghiêncứusinhchiasẻtạiGithub[100].Cácthuật toán nhúng đồ thị được tham khảo mã nguồn được tác giả chia sẻ tại Github gồm:FEATHER [110], LDP [111] và Graph2vec [112] Các thuật toán học máy được thửnghiệmnhưSVM,KNN,DecisionTree,RandomForest,…đượccàiđặtthôngquangônngữ Python với sự hỗ trợ từ thư viện Scikit-learn [113] Với các giá trị đặc trưng đượctrích xuất từ đồ thị DSCG, các vetor đặc trưng được đưa vào các bộ học máy phổ biếnnhư SVM,KNN,DecisionTree,RandomForest,… đểhuấnluyệnvàđánhgiákhảnăngphân loại của đặc trưng được đề xuất Các thuật toán học máy kể trên được nghiên cứusinhlựachọnđểthửnghiệmvớihailýdochính.Thứnhất,dựatrênkếtquảkhảosátcácnghiên cứu về phát hiện mã độc IoT Botnet bằng trí tuệ nhân tạo tại mục 1.3.4, các nhànghiên cứu trong và ngoài nước thường sử dụng các thuật toán học máy này và cho kếtquả mô hình phát hiện với độ chính xác tương đối cao Thứ hai, để có cơ sở đánh giáhiệuquảcủađặctrưngđềxuấtvớicácđặctrưngcủacáctácgiảkhácđãcôngbố,nghiêncứusinhlựachọnbộ dữliệuthửnghiệmvàthuậttoánhọcmáycóđặcđiểmtươngđồngđểđánhgiá.
Trong quá trình tiến hành huấn luyện và đánh giá khả năng phân loại của đặctrưngđượctríchrúttừđồthịDSCG,nghiêncứusinhđồngthờitiếnhànhđiềuchỉnhcáctham số chính của các mô hình học máy ở trên để tìm ra mô hình phù hợp nhất có thể.CácthamsốchínhmànghiêncứusinhtiếnhànhđiềuchỉnhđượcmôtảnhưtrongBảng
KNN n_neighbors Sốlượngđiểmgầnnhấtđượcsửdụngđểphânlớp weights Hàmđánhtrọngsốcácđiểmđượcsửdụngtrong dựđoánnhãn n_jobs Sốlượngtácvụsẽchạyxửlýsong songDecisionTree randoom_state Khởitạo quátrìnhlấymẫungẫunhiên
ALGO=[‘KNN’,‘DT’,‘RF’,‘SVM’]CL
‘KNN’: ‘K-Nearest Neighbors’,‘DT’:‘Decision Tree’,
‘DT’:DecisionTreeClassifier(random_state=SEED),
‘RF’: RandomForestClassifier(random_state=SEED, n_jobs=-
1),‘SVM’:SVC(random_state=SEED, probability=True), }
‘KNN’:{“n_neighbors”: [10,100,1000],“weights”:[“uniform”,“distance”]},
‘DT’:{“criterion”:[“gini”,“entropy”],“splitter”:[“best”,“random”]},‘RF’:
‘SVM’:{“C”:np.logspace(-1,1,3), “gamma”:np.logspace(-1,1,3)}, }
Thuậttoán Thamsố Môtả criterion Độđolựachọnthuộctínhphânloại splitter Tiêuchuẩn phânchiatạimỗinút
Forest n_estimators Sốlượngcâytrongtập hợpcâyquyếtđịnh(forest) random_state Khởitạo quátrìnhlấymẫungẫunhiên n_jobs Sốlượngtácvụsẽchạyxửlýsong song
SVM random_state Khởitạo quátrìnhlấymẫungẫunhiên probability Lựachọnướctính xácsuất
C Thamsốchínhquyhóa(regularization) gama ThamsốcủahàmRadialBasicFunction(RBF)
Hình3.6Cáckịchbản thửnghiệm điềuchỉnh thamsốcácmôhìnhhọcmáy
Dosốlượng mẫumãđộcIoTBotnetchothiếtbịIoThạnchếtàinguyênthuthậpđượccònítnênđểtránhhiệntượngOve rfittingvàkiểmtrakhảnăngpháthiệncácbiếnthểmớicủamãđộcIoTBotnetthìcầnmộtphươngánchiatậ pdữliệuthửnghiệmthành các tập nhỏ hơn để huấn luyện và đánh giá hiệu quả hơn (validation) Nghiên cứu sinhđã sử dụng 3 kịch bản phân chia tập dữ liệu thử nghiệm như sau để huấn luyện và đánhgiá đặc trưng đề xuất Với kịch bản đầu tiên, tập huấn luyện bao gồm mã độc Bashlite,mã độc IoT Botnet khác và tệp lành tính; tập kiểm thử bao gồm chủ yếu mã độc Miraivà tệp lành tính Mục tiêu của kịch bản đầu tiên là kiểm tra khả năng phát hiện họ mãđộc IoT Botnet mới (Mirai) của phương pháp đề xuất khi mà tập huấn luyện chỉ chứachủ yếu họ mã độc IoT Botnet đã xuất hiện trước đó theo thời gian Tương tự, mục tiêucủa kịch bản thứ 2 nhằm kiểm tra, đánh giá khả năng phát hiện các biến thể khác nhaucủamãđộcIoTBotnetkhimàtậphuấnluyệnchỉtậptrungvào2họmãđộcIoTBotnetchính là Bashlite và Mirai Mục tiêu của kịch bản thứ 3 nhằm kiểm tra, đánh giá khảnăngpháthiệncácmẫumãđộcIoTBotnetđãxuấthiệntrướcđó(Bashlite)dựatrênviệchuấn luyện với họ mã độc xuất hiện sau (Mirai) và một số các biến thể các họ mã độckhác Bên cạnh đó, kịch bản thứ 3 cũng phục vụ việc kiểm tra, đánh giá khả năngOverfitingcủaphươngphápđềxuất.
Lànhtính(ngẫu nhiên) 3088 Lànhtính(ngẫu nhiên) 800
Lànhtính(ngẫu nhiên) 3088 Lànhtính(ngẫu nhiên) 800
Lànhtính(ngẫu nhiên) 3088 Lànhtính(ngẫu nhiên) 800
Trong phần này, luận án sử dụng 4 chỉ số đánh giá hiệu quả mô hình gồm:Accuracy(ACC), True Positive Rate (TPR), False Positive Rate (FPR) và AreaUndertheCurve(AUC).NghiêncứusinhsửdụngTPRvàFPRđểđánhgiámôhìnhchínhxáchơnvớibộd ữliệucósựmấtcânbằnggiữanhómmãđộcvànhómlànhtính.Cácchỉsốnàyđược xác địnhvàtínhtoánbằngcáccôngthức tiêu chuẩnsau:
+ ACC=(TP+TN)/(TP+TN+FP+FN); (3.1) + TPR=TP /(TP+FN); (3.2)
3.4.4 Kếtquảthử nghiệmvàđánhgiá
3.9môtảđườngROC(cùngvớigiátrịAUC)củacácbộphânlớpDecisionTree,SVM,KNN,RandomF orestvớiđầuvàolàvectorđặctrưngđượctríchxuấttừcácthuậttoánnhúngđồthịGraph2vec(a),Feather (b)vàLDP(c)tươngứng3kịchbảnhuấnluyện/ kiểmthửđãtrìnhbày.SốchiềuvectorđặctrưngđượctríchxuấttừđồthịDSCGvớithuậttoánGraph2veclà128,F eather–250vàLDP–160.
Từ kết quả thử nghiệm trên đã cho thấy, các đặc trưng được trích xuất từ đồ thịDSCGđạtđượchiệuquảtốtđốivớibàitoánpháthiệnmãđộcIoTBotnet(ACC≈96.89%,
TPR≈94.97%, FPR≈1.4%, AUC≈0.989).Đặc trưng này hoạt động tốtvới các bộ phân loại học máy đơn giản và phổ biến như KNN, SVM, DecisionTree,RandomForest.TrongphạmvibàitoánpháthiệnmãđộcIoTBotnetvớidatasetđãđượcxây dựng, thuật toánRandom Forest cho thấy ưu thế khi sử dụng kết hợp với đặc trưngDSCGđượcđềxuất.Trongcáckịchbảnthửnghiệmđãtiếnhành,có 6/9trườnghợpsửdụng thuật toánRandom Forest cho kết quả vượt trội hơn các thuật toán phổ biến khác.Ưu thế của đặc trưng được đề xuất là số chiều của vector đặc trưng được trích xuất từđồ thị cũng ít hơn so với các nghiên cứu đã công bố, góp phần làm giảm độ phức tạptính toán khi áp dụng vào các mô hình phát hiện, phân lớp mã độc IoT Botnet So sánhcụthểđốivớicácnghiêncứuliênquanđượctrìnhbàycụthểtạiBảng 3.5.
Bộ phânlớp chokếtq uả tốtnhất
Graph2vec 0.9649 0.9474 0.0087 0.9895 SVM Feather 0.9627 0.9453 0.0109 0.9923 RF LDP 0.9757 0.9669 0.0109 0.9792 DT
Graph2vec 0.9809 0.9944 0.0294 0.9971 RF Feather 0.9355 0.863 0.0087 0.9932 RF LDP 0.933 0.8573 0.0087 0.9632 KNN
Graph2vec 0.9854 0.9896 0.0272 0.9961 RF Feather 0.99 0.9906 0.012 0.9972 RF LDP 0.9919 0.9924 0.0098 0.9981 RF
Sốchi ềuvec torđặc trưng đượctr íchxuất
NSL- KDD,IoTPO T[40],UNSW NB15/IoT Botnet
Kaspersky,IoTP OT[40],tự thu thập thêm/
IoT Malware(chủyế ulà Botnet)
Extracting traffic statistics 115 Deepauto encoder - 1.7 - -
SVM, Decision Tree,Rand omForest, KNN
KếtluậnChương 3
Trong chương này, nghiên cứu sinh đề xuất đặc trưng đồ thị lời gọi hệ thống cóhướng DSCG để cấu trúc hoá một cách tuần tự các lời gọi hệ thống thu được. Phươngpháp tiền xử lý dữ liệu lời gọi hệ thống được đề xuất có độ phức tạp thấp, dễ áp dụngvớinhữngthuậttoánhọcmáyđơngiản. Ý tưởng và kết quả thực nghiệm của phương pháp đề xuất trong chương này đãđược trình bày, công bố trên các Tạp chí, Kỷ yếu Hội thảo uy tín trong và ngoài nước.Cụthểlà:
Engineering(IJITEE), vol.8,no.10,pp.937–942,Aug.2019,(SCOPUSindex),ISSN:2278- 3075,DOI:10.35940/ijitee.J9091.0881019.
- “ĐềxuấtphươngpháppháthiệnIoTBotnethiệuquảdựatrênlờigọihệthống”,Kỷ yếu hội thảo quốc gia lần thứ 23: Một số vấn đề chọn lọc của Công nghệ thông tinvàtruyềnthông,2020.
CHƯƠNG 4 MÔ HÌNH HỌC MÁY CỘNG TÁC PHÁT HIỆN SỚM MÃ ĐỘCIOTBOTNET
Phátbiểubàitoán
4.1.1 Vấnđềpháthiệnsớm mãđộcIoTBotnet Để có thể đưa các kết quả phân tích động ứng dụng vào thực tế, nghiên cứu sinhthấy rằng việc phát hiện sớm đóng vai trò then chốt để hạn chế lây lan và phát tán củamã độc Mặc dù đặc trưng DSCG mang lại các kết quả khả quan nhưng việc sử dụngtoàn bộ dữ liệu về quá trình hoạt động của các tập tin thực thi chưa cho phép giải quyếtvấn đề phát hiện sớm mã độc IoT Botnet Phát hiện sớm được chia làm hai nhóm chínhgồm: (1) phát hiện sớm dựa trên việc rút ngắn thời gian giám sát và (2) phát hiện sớmdựa trên việc thu thập mức tối thiểu các dữ liệu cần thiết cho phép phát hiện mã độc.Cáchtiếpcận(1)bộclộnhiềuhạnchếkhimàmãđộcIoTBotnetcóthểởtrạngtháichờlệnh từ C&C server trong một khoảng thời gian dài Cách tiếp cận (2) có thể không rõnét trong việc phát hiện sớm về mặt thời gian cụ thể nhưng đảm bảo rằng lượng dữ liệuthuthậpđượcchophéppháthiệncáctậptin mãđộcvớitỉlệâmtính giảthấp.Vớicáchtiếp cận này, nghiên cứu sinh đề xuất một mô hình học máy cộng tác phát hiện sớm mãđộc IoT Botnet Trong mô hình này, các dữ liệu đặc trưng động thu thập từ V-Sandboxbao gồm dữ liệu luồng mạng, lời gọi hệ thống, thông tin sử dụng tài nguyên thiết bị,…sẽ được kết hợp với nhau trong việc xây dựng mô hình phát hiện mã độc hợp nhất vớisốlượngdữ liệuthuthậplàtốithiểu.
Trong phạm vi của luận án này, nghiên cứu sinh đưa ra khái niệm phát hiện sớmđượcsử dụngtrongluậnánnàynhư sau:
Kháiniệm4.1 Pháthiệnsớmlàkhảnăngxácđịnhđượctệpthựcthilàlànhtínhhoặc là mã độc dựa trên việc thu thập mức tối thiểu các dữ liệu cần thiết thu thập bởiquátrìnhphântíchđộng.
Với hướng nghiên cứu phát hiện sớm mã độc, nhiều nhà nghiên cứu đã công bốcác giải pháp của mình Các mô hình phát hiện mã độc tự động thường sử dụng các đặctrưngdựatrênmãnguồn(phântíchtĩnh)hoặchànhvitươngtácvớimụctiêu(phântíchđộng) để phân biệt các mẫu mã độc và lành tính Mỗi cách tiếp cận này đều có nhữnglợiíchvàhạnchếcủanó.Dựatrênkhảnăngthuthậpnhiềuloạidữliệuhànhvitương tác của mã độc IoT Botnet bằng V-Sandbox [105], nghiên cứu sinh lựa chọn sử dụngphương pháp phân tích động kết hợp nhiều loại nguồn dữ liệu đặc trưng hành vi để cóthểpháthiệnsớmmãđộcIoTBotnet.
4.1.2 Môhình họcmáycộngtáctrong pháthiệnsớm mãđộc
…)đểpháthiệnvàphânloạimãđộc.Tuynhiên,pháthiệnmãđộclàmộtvấnđềnghiêncứucóđặcđiểmlàđaph ươngthứcvìnóbaogồmnhiềuphươngthứcxửlýdữliệuthuthậpđượctừmã độc Học cộng tác (Collaborative Learning) là lĩnh vực nghiên cứu cách thức có thểkếthợpcáctínhiệuđaphươngthứcđócùngnhau.Mặcdùviệckếthợpcácphươngthứchoặcloạithôngtink hácnhauđểcảithiệnhiệusuấtcóvẻlàmộtnhiệmvụhiệuquảvềmặttrựcgiác,nhưngkhóđểgiảmcácmức độnhiễuvàxungđộtkhácnhaugiữacácphươngthứcxửlýdữliệu.Cácphươngpháptiếpcậnhọccộngtáccóth ểđượcphânloạithànhbanhómdựatrêncáchkếthợpcácphươngthứcxửlýdữliệu,cụthể:
- Mức đầu vào dữ liệu học (input-level) hoặc hợp nhất sớm (early fusion): Cácphương pháp hợp nhất mức đầu vào dữ liệu học (hợp nhất sớm) tạo ra một đại diệnchung của các đặc trưng đơn phương thức được tách riêng từ nhiều phương thức. Cáchđơn giản nhất để kết hợp các vectơ đặc trưng đơn phương thức này là nối chúng để cóđược một biểu diễn hợp nhất (nhưHình 4.1) Tiếp theo, một mô hình học máy duy nhấtđược huấn luyện để tìm hiểu mối tương quan và tương tác giữa các đặc trưng của mỗiphương thức Kết quả cuối cùng của mô hình có thể được viết làp = h ([v 1 , v 2 , …, v m ])vớihbiểu thị cho mô hình học máy duy nhất,[v 1 , v 2 , …, v m ]biểu diễn sự ghép nối củacácvectơđặctrưngvàmlàsốvectơđặctrưngđơnphươngthứcriêngbiệt.
- Mức quyết định (decision-level) hoặc hợp nhất muộn (late fusion): Trái ngượcvới phương pháp hợp nhất sớm, các phương pháp hợp nhất muộn huấn luyện một môhìnhhọcmáyriêngbiệtcho mỗitậpđặctrưng đầuvàovàkếthợpcácgiátrịquyếtđịnh(dự đoán) đã học được với cơ chế hợp nhất như lấy trung bình (average), bỏ phiếu(vote),… (như trongHình 4.2) Ưu điểm chính của hợp nhất muộn là cho phép sử dụngcácmôhìnhhọcmáykhácnhautrêncáctậpđặctrưngdữliệukhácnhau,dođólinhhoạthơn trong xử lý dữ liệu đặc trưng đầu vào Giả sử rằng mô hìnhh i là giá trị quyết địnhcủamôhìnhhuấnluyệntrêntậpđặctrưngv i ,thìkếtquảcuốicùngcủamôhìnhhợpnhấtmuộnlàp=
- Hợp nhất trung gian (Intermediate fusion): Các phương pháp hợp nhất trunggian xây dựng một biểu diễn dùng chung bằng cách hợp nhất các đặc trưng trung gianthu được bằng các mô hình học máy riêng biệt Sau đó, các đặc trưng trung gian nàyđược nối với nhau và sau đó một mô hình học máy được đào tạo để nắm bắt các tươngtácgiữacác đặctrưngnày(như trongHình 4.3).
Hình4.3 Môhình hợpnhấttrung gian
Mỗi phương pháp học máy cộng tác đều có những ưu và nhược điểm riêng. Tuynhiên, với mục đích phát hiện sớm mã độc IoT Botnet, mô hình hợp nhất muộn (latefusion)phùhợpchoviệckếthợpcácđặctrưngđầuvàokhácnhaucủamãđộcvàtốiưuhóa thời gian phát hiện Thông qua nghiên cứu lý thuyết và thực nghiệm, nghiên cứusinhđãchứngminhđược nhậnđịnhtrên.
Tác giả Ahmadi [114] đã đề xuất một mô hình sử dụng các đặc trưng khác nhaucủa mã độc để phân loại các mẫu mã độc theo họ tương ứng của chúng Đối với mỗimẫumãđộc,chúngtríchxuấtmộttậphợpcácđặctrưngthốngkêvànộidungphảnánhcấu trúc của tệp PE. Sau đó, các đặc trưng này được kết hợp bằng cách xếp chồng cácdanh mục đối tượng vào một vectơ đối tượng duy nhất bằng cách sử dụng một biến thểcủa kỹ thuật lựa chọn từng bước một (the forward step-wise selection technique) Thayvì tăng dần tập hợp đặc trưng bằng cách thêm các đặc trưng vào mô hình, từng tập đặctrưng một, Ahmadi coi tất cả tập hợp con các đặc trưng thuộc về cùng một danh mục.Thuật toán phân loại mà Ahmadi lựa chọn là sự triển khai song song của bộ phân loạinhưGradientBoostingTree,XGBoost.Ngoàira,tácgiảđãsửdụnggiảithuậtBaggyđểtăngcườngđộô ̉nđịnhvàđộchính xáccủabộphânloại.
Kolosnjaji[115]đãđềxuấtmộtkiếntrúcmạngnơronbaogồmcácmạngcontíchchập (convolutional) và chuyển tiếp (feed-forward) Mạng con tích chập học các đặctrưng từ chuỗi các mã nhị phân độc hại đã được dịch ngược Ngược lại, mạng chuyểntiếp nhận làm đầu vào là một tập hợp các đặc trưng được trích xuất từ siêu dữ liệu(metadata)cótrongPEHeadervàdanhsáchcácchứcnăngđãnhậpvàcáctệpDLLcủachúng.Sauđó,b ộphânloạidựatrênmạngnơ-roncuốicùngkếthợpcáckiếntrúcmạngnơ- rontíchchậpvàchuyểntiếpcùngvớicácđặctrưngtươngứngcủachúngthành mộtmạng duy nhất Mạng này tạo ra kết quả phân loại cuối cùng sau khi tổng hợp các đặctrưngđược học bởicảhaimạngcon.
Bayer[116]đãxâydựngthuộctínhhànhvicủamãđộcdựatrêncáclờigọihệthống,sựphụthuộcc ủachúngvàcáchoạtđộngmạng.Biểudiễntổngquátnàyđóngvaitròlàđầuvàochothuậttoánphâncụmn hằmnhómcácmẫumãđộccóhànhvitươngtự.Phânnhómmãđộc là mộtquátrìnhgồmnhiều bước.Bướcđầu tiên làphântích tựđộng cáctệpthi hànhđượcthựchiệnbởiphiênbảnmởrộngcủaANUBIS.Bướcthứhailàtríchxuấtthuộctínhhànhvi.Cu ốicùng,trongbướcthứba,cácmẫubiểuhiệnhànhvitươngtựđượcnhómlạitrongcùngmộtcụmbằngcá chsửdụngphươngphápgầnđúng(approximate),xácsuấtdựatrêngiátrịbămđịaphươngnhạycảm(loc alitysensitivehashing)[117].
Mohaisen và Alrawi [118] đã đề xuất một cách tiếp cận dựa trên hành vi để xácđịnh mã độc Zeus Trojan nhằm vào ngân hàng Zeus là một dạng mã độc nhắm vào hệđiều hành Windows và thường được sử dụng để lấy cắp tiền và thông tin đăng nhập tàikhoảnngânhàngtừnạnnhânbịlâynhiễm.Vớimụcđíchphânloại,mộttậphợp65đặctrưng từ các dữ liệu khác nhau được trích xuất bao gồm các tệp được tạo, sửa đổi hoặcxóa,khóaregistryđượctạo,sửađổihoặcxóa,địachỉIPđích,cổng,kếtnốiTCPvàUDP,yêucầu,bản ghiDNS,v.v.Sauđó,vectơđặctrưngkếtquảđượcsửdụngđểđánhgiáhiệusuấtcủacácthuậttoánhọcmá ykhácnhaunhưSVM,LR,DTvàKNN.
Dhammi và Singh [119] đã đề xuất một mô hình phát hiện mã độc dựa trên phântích động bằng cách sử dụng Sandbox Cuckoo Cách tiếp cận này trích xuất các đặctrưng khác nhau từ việc thực thi mã độc như chi tiết hành vi xử lý tệp tin (tạo, mở, xóa,thay đổi), chữ ký mã độc, máy chủ giao tiếp liên quan, tệp bị ảnh hưởng, khóa registryđăng ký, chi tiết phiên làm việc, chuỗi ký tự Tất cả các đặc trưng thu được từ SandboxCuckoo được ánh xạ thành tệp Định dạng quan hệ thuộc tính (ARFF) và sau đó, tệpARRFkếtquảđượcđưavàoWEKAđể phânloại.
Pekta và Acarman [120] đã trình bày một hệ thống phân loại mã độc dựa trênhành vi theo thời gian chạy bằng cách áp dụng học máy trực tuyến (online machinelearning).Hệthốngbaogồmbagiaiđoạn.Giaiđoạnđầutiênbaogồmgiámsáthànhvicủa tệp trong môi trường Sandbox VirMon và Cuckoo Trong giai đoạn thứ hai, tríchxuất đối tượng được áp dụng để xây dựng vectơ đặc trưng bao gồm các đối tượng dựatrên hệ thống tệp, mạng và các hoạt động đăng ký registry và lời gọi API N-gram Cuốicùng,giai đoạnthứ bathực hiệnphânloạibằngcácthuậttoánhọctrựctuyến.
Mohaisen[121]đãđềxuấtAMAL,mộtmôhìnhphântích mãđộcdựatrênhànhvitựđộngcungcấpcáccôngcụđểthuthậpcácđặctrưnghànhvidựatrênviệcsửdụng hệ thống tệp, bộ nhớ, mạng và registry Sau đó, vectơ đặc trưng kết quả được sử dụngđể thực hiện phân loại với các thuật toán học máy như SVM, Decision Tree, LogisticRegression,KNN.
Islam [122] đã trình bày một phương pháp tích hợp nhất các tính năng tĩnh vàđộngvàomộthệthốngphânloạiduynhất.Đốivớimỗitệpthựcthi,thựchiệntríchxuấtvà chuyển đổi thành biểu diễn vectơ cả tần số độ dài hàm và thông tin chuỗi có thể inđược.SaukhichạycáctệpthựcthivàghinhậtkýcáclờigọiAPIWindows,Islamtríchxuấtcácđặctrưngl ờigọiAPIbaogồmtênvàthamsốhàmAPI.Sauđó,tấtcảcácvectơđặctrưngđượckếthợp thành mộtvectơduynhấtcho mỗitệpthựcthi.Tiếptheo,vectơkết quả được sử dụng làm đầu vào cho bốn bộ phân loại cơ sở: SVM, Random Forest,DecisionTreevà Instance-based.
Han [123] đã xây dựng một khung phát hiện mã độc dựa trên sự tương quan vàkếthợpcủachuỗilệnhgọiAPItĩnhvàđộng.Hanđãkhámphásựkhácbiệtvàmốiquanhệgiữachuỗilệnhg ọiAPItĩnhvàđộngbằngcáchxácđịnhmộtsốloạihànhviđộchại.Sau khi tương quan và hợp nhất, một không gian vectơ đặc trưng lai được thiết lập đểphát hiện và phân loại Để đánh giá hiệu quả của cách tiếp cận của mình, họ đã đào tạobốnbộphânloạiđểpháthiện/phânloạimãđộcbaogồmKNN,DecisionTree,RandomForestvàExtre meGradientBoosting.
Han [124] cũng đã trình bày MalInsight, một khung phát hiện mã độc dựa trênphân tích chương trình về cấu trúc mã nguồn, hành vi tương tác mức thấp và hành vitương tác mức cao Ba khía cạnh này phản ánh các đặc điểm cấu trúc; các hoạt độngchính tương tác với hệ điều hành, tương tác với tệp tin, registry và luồng mạng Bộ đặctrưng kết quả được sử dụng để huấn luyện các bộ phân loại học máy khác nhau nhưKNN, Decision Tree, Random Forests và Extreme Gradient Boosting Các bộ phân loạinày được đánh giá trên tập dữ liệu bao gồm 4250 mẫu thu được từ VirusShare và từ hệđiềuhànhWindows7Pro.KếtquảchothấyđộchínhxácACC,21%trongviệcpháthiện mãđộcchưacótrongtậpmẫu.
Môhìnhđềxuất
Trong phần này, nghiên cứu sinh mô tả kiến trúc tổng quan của mô hình đề xuấtvàcác thànhphầnchínhcủamôhình.
Trong mô hình này, cách tiếp cận được đề xuất sẽ sử dụng kết hợp các dữ liệuđặctrưnghoạtđộngđiểnhìnhcủaIoTBotnet.Cácđặctrưngđộngnày đượctríchxuất từdữliệudomôitrườngV-Sandbox[105]thuthậpbaogồmdữliệuluồngmạng,lờigọihệ thống, thông tin sử dụng tài nguyên thiết bị mục tiêu Điểm khác biệt của phươngpháp này so với các phương pháp hiện có là chỉ cần sử dụng một lượng nhỏ (tối thiểu)dữ liệu được thu thập ban đầu từ V-Sandbox (không phải dữ liệu chuỗi toàn thời gian –full-time series data) để có thể đưa ra kết quả phát hiện với độ chính xác cao Có nghĩalà không cần phải đợi mã độc IoT Botnet thực hiện đầy đủ các hành vi của mình để thuthậpdữliệurồimớitiềnxửlý,phântíchvàpháthiện.Từđó, môhìnhcókhảnăngpháthiện sớm mã độc IoT Botnet trong những bước cơ bản đầu tiên của vòng đời Kiến trúcđềxuấtđượcmôtảtrongHình4.4,baogồmcác thànhphầnchính:
PPDC):thựchiệnquátrìnhtiềnxửlýcácdữliệuđượcthuthậptừmôitrườngSandbox(SC)đểcóthểch uẩnhóadữliệu.
- Chuẩn hóa dữ liệu tiền xử lý (DataNormalizationc o m p o n e n t -
D N C ) : B i ế n đổi dữ liệu sau tiền xử lý thành dữ liệu chuẩn hóa có thể làm đầu vào phù hợp cho cácthuậttoánhọcmáyđược lựa chọn(MLC).
- Trích chọn đặc trưng phù hợp (Feature Selection component - FSC): Tự độnglựachọncácđặctrưng phùhợpđểnângcaohiệuquảbộphânlớphọcmáy(MLC).
- Hàm hợp nhất (Fusion component - FC): Hàm được sử dụng để hợp nhất kếtquảphânloạicủa cácmôhìnhhọcmáyđơnlẻMLC. Đầu tiên, các tệp ELF cần phân tích được đưa vào môi trường Sandbox (SC) đểthực thi và thu thập dữ liệu hành vi Dữ liệu thô (raw data) này sẽ được tiền xử lý vàchuẩn hóa để dễ dàng sử dụng làm đầu vào các bộ phân loại học máy đơn lẻ Sau đó,một thuật toán học máy sẽ được sử dụng để tự động trích xuất các vectơ đặc trưng phùhợp trong dữ liệu đã chuẩn hóa Tiếp theo, các bộ phân loại học máy đơn lẻ (MLC) sẽđượchuấnluyệnđộclậpdựatrêncácdữliệuđặctrưngđãtríchxuất.Kếtquảcủacácbộ phânloạihọcmáyđơnlẻnóitrênđượchợpnhấtthôngquachứcnăngkếthợpFCđểtạoranhãnphânloạicuốic ùngcủa tệp ELFđầuvàolàmãđộc hoặclànhtính.
Hình4.4 Kiếntrúccủa môhìnhđề xuất 4.2.2 MôitrườngSandbox(SC) Đã có nhiều nghiên cứu về việc xây dựng môi trường Sandbox cho các thiết bịIoT để thu thập các hành vi độc hại như DroidScope [97], AASandbox [98], CuckooSandbox [46], IoTBOX [43], Limon [52], REMnux [48], Detux [54], LiSA [51], và V-Sandbox [105] So sánh các đặc điểm của các môi trường Sandbox này được thể hiệntrongBảng2.4.Trongsốđó,V-SandboxlàmôitrườnglýtưởngđểcácmẫuIoTBotnetthể hiện tất cả các hành vi độc hại của chúng Môi trường Sandbox này hỗ trợ kết nốimáychủC&C,thưviệnchiasẻchocáctệpliênkếtđộngvàmộtloạt cáckiếntrúcCPUphổ biến trên thiết bị IoT.
Do đó, nghiên cứu sinh đã chọn V-Sandbox làm môi trườngđểthực thi và thu thậpcáchànhvicủa tệpELF.
Với đặc điểm hành vi đặc trưng của mã độc IoT Botnet trong vòng đời của mìnhbao gồm lây nhiễm, kết nối và chờ lệnh của Botmaster qua C&C server, thực hiện hànhvi tấn công (được trình bày cụ thể trong mục 1.2.3), các loại dữ liệu thường được cácnhàkhoahọctrong vàngoàinướcsửdụngđểpháthiệndấuhiệucủaIoTBotnet là:
Vì vậy, nghiên cứu sinh lựa chọn 3 loại dữ liệu đặc trưng đầu vào kể trên để thửnghiệm,đánhgiáhiệuquảmôhìnhđềxuất.Đểmôhìnhpháthiệnsớmđạthiệuquảcao cảvềkhảnăngpháthiệnchínhxácvàthờigianxửlýđưaracảnhbáo,cầnphảilựachọnngưỡng độ dài tối thiểu của dữ liệu để đưa vào bộ phân loại Vấn đề này được nghiêncứusinhxácđịnhthôngquathốngkêdữliệuthuthậpđượctừmôitrườngSandbox(SC)được minh họa như trong cácHình 4.5–Hình 4.10 Từ dữ liệu thống kê này cho thấy,vềmặttổngquancósự khác biệtgiữa cácmẫumãđộc vàlànhtínhvề:
- Sốlượnglờigọihệthống:cáctệplànhtínhgọisốlượnglờigọihệthống(thườngdưới100lờigọihệt hốngghinhậnđược)íthơnnhiềusovớimãđộcIoTBotnetthựcthi(thườngtrên300lờigọihệthốngghi nhậnđược).
- Sốlượnggóitingiaotiếpmạng:cáctệplànhtínhcũngsửdụngítgiaotiếpmạnghơn so với các mẫu IoT Botnet (phù hợp với đặc điểm của mạng lưới Botnet chủ yếugiaotiếpvàtấncôngthôngquagiaotiếpmạng).
- Chiếmdụngtàinguyêncủathiếtbị:cácmẫuIoTBotnetyêucầutàinguyêncủathiết bị mục tiêu nhiều hơn so với việc thực thi các ứng dụng thông thường (điểm khácbiệtphổbiếnnằm ở20hànhviyêucầutàinguyênđầutiên).
Do đó, với kết quả số liệu thống kê dữ liệu thu thập được từ Dataset, nghiên cứusinh lựa chọn các ngưỡng dữ liệu tối thiểu sử dụng để phát hiện là 300 lời gọi hệ thống,20 hành vi thay đổi tài nguyên thiết bị và 50 gói tin luồng mạng đầu tiên thu nhận đượctừmôitrườngSandboxđểhuấnluyệncácmôhìnhhọcmáyđơnlẻphụcvụmụctiêuđạthiệuquảpháthiệ nsớmmãđộccaonhất.
Hình4.9Thốngkêđặctrưngchiếm dụngtàinguyênthiết bịcủaIoT Botnet trongDataset
Hình4.10Thống kêđặctrưngchiếmdụngtài nguyênthiếtbịcủa mẫulànhtính trongDataset 4.2.4 Chuẩnhóadữliệutiềnxửlý (DNC)
Sau khi có dữ liệu đã tiền xử lý, để có thể đưa vào huấn luyện mô hình học máycần chuẩn hóa dữ liệu này Đối với mỗi loại dữ liệu đầu vào, nghiên cứu sinh đã tiếnhànhchuẩnhóatheocácphươngphápnhư sau:
- Đối với dữ liệu lời gọi hệ thống: xây dựng đồ thị lời gọi hệ thống có hướng(DSCG)vàtríchxuấtcácđặctrưngtừđồthịDSCGthànhvectorđặctrưngđầuvàobằngcôngcụ Graph2Vec[108].
- Đối với dữ liệu luồng mạng: chuẩn hóa dữ liệu theo mô tả đặc trưng của bộ dữliệumạngCSE-CIC-IDS2018[139],đãđượcchứngminhtínhhiệuquảdựatrênnghiêncứucủa Karata[140].
- Đối với dữ liệu sử dụng tài nguyên thiết bị: sử dụng các đặc trưng đầu ra đượctrìnhbàytrongbàibáocủanghiêncứu sinh vềV-Sandbox[105].
Saukhichuẩnhóadữliệuđượctiềnxửlý,sốchiềucủavectơđặctrưnglênđếnhàngtrăm.Điềunày gâyrakhókhăntrongviệctốiưuhóakếtquảdựđoánvàrútngắnthờigianchạymôhìnhhọcmáy.Dođó,mộts ốkỹthuậttríchchọnđặctrưngđãđượcpháttriểnđểgiảiquyếtvấnđềgiảmthiểucácbiếnkhôngliênquanvà dưthừatrongtậpđặctrưng.Lựachọnđặctrưngphùhợpgiúphiểurõdữliệu,giảmyêucầutínhtoán,giảmkí chthướcvectơđặctrưngvàcảithiệnhiệusuấtcủabộphânloại.Nghiêncứusinhđãxemxétmộtsốphươn gpháptríchchọnđặctrưngnhưFilter,Wrapper,EmbeddedvàEnsembleđểtìmmộttậphợpconcácbiến( đặctrưng)cảithiệnhiệusuấtdựđoántổngthểcủamôhìnhhọcmáy.Dựatrênkếtquảkhảosát,nghiêncứu sinhchọnphươngphápWrappervìnhữnglýdosau:
- Có thể tìm thấy tập con đặc trưng tối ưu cho thuật toán học máy mong muốn.PhươngphápWrapperhoạtđộngtheocácbướcsau:
- Tìm kiếm một tập con các đặc trưng: Sử dụng phương pháp tìm kiếm tập conđặc trưng như Forward Feature Selection, Backward Feature Elimination, ExhaustiveFeature Selection, Bidirectional Search và chọn ra một tập con các đặc trưng từ tập đặctrưngđầuvào.
- Xâydựngmôhìnhhọcmáykiểmthử:Trongbướcnày,mộtthuậttoánhọcmáyđãchọnđư ợcđàotạotrêntậpconcác đặctrưng đãchọntạibướctrướcđó.
- Đánh giá hiệu quả của mô hình học máy kiểm thử: Đánh giá mô hình học máymớiđượcđàotạovớitậpconcácđặctrưngđãchọnvớicácthangđophổbiếnnhưACC,F1- score,PR,AUC,…đểxácđịnh hiệuquảtậpconđặctrưng đượclựachọn.
- Lặp lại quá trình lựa chọn: Toàn bộ quá trình bắt đầu lại với một tập hợp concác đặc trưng mới, một mô hình mới được đào tạo dựa trên thuật toán học máy đã chọnđểđánhgiáhiệuquảtậpconđặctrưng. Đểngừngtìmkiếmmộttậphợpconcácđặctrưng,điềukiệndừngmànghiêncứusinh lựa chọn là khi hiệu suất mô hình đánh giá có xu hướng giảm với khi số lượng đặctrưng được lựa chọn giảm dần Trong nội dung này, nghiên cứu sinh đã chọn thuật toánhọcmáyLinearSVMđểđàotạomôhìnhhọcmáyvàđánhgiátrêntậphợpconcácđặctrưngđược lựa chọntạimục 4.3.4.
Nghiên cứu sinh tiến hành thử nghiệm các thuật toán học máy đơn lẻ phổ biến (như KNN, SVM, Decision Tree, Random Forest) và các hàm hợp nhất khác nhau (nhưVoting, Logistic regression) để lựa chọn được phương án tối ưu nhất Cụ thể nội dungthử nghiệm này được trình bày tại nội dung 4.3 của chương này Tổng quan về thànhphần cộng tác của các thuật toán học máy đơn lẻ xử lý tập dữ liệu đặc trưng đầu vàokhácnhau đượcminhhọa tạiHình4.11.
Hình4.11Thành phần họccộngtáccácdữ liệuđặctrưng
4.2.7 Hàmhợpnhất(FC) Đểcóthểkếthợpcác kếtquảdựđoáncủacác bộphânlớphọcmáy(MLC)khácnhau,cầnphảicóhàmhợpnhấtkếtquảdựđoán.Tronghọcmáy,cáchà mhợpnhất(Fusionfunction)phổbiếnđượcsửdụngnhưvoting,stacking,baggingvàb o o s t i n g Nghiêncứ usinhsửdụngVotingchovấnđềcủamình,vìđâylàmộttrongnhữngcáchđơngiảnnhấtđểkếthợpcácdựđ oántừnhiềuthuậttoánhọcmáykhácnhau.ThuậttoánhọcmáyVoting khôngphảilàbộphânloạihọcmáythôngthường,màlàbộphânloạibaobọcchomộttậphợpcácbộphân loạihọcmáykhácnhauđượcđàotạovàđánhgiásongsongđểkhaitháccácđặcđiểmkhácnhaucủathuậttoánh ọcmáyđó.Dođó,cóthểđàotạocácbộdữliệukhácnhaubằngcáchsửdụngcácthuậttoánhọcmáyvàbộph ânloạikhácnhauthayvìchỉsửdụngmộtthuậttoánhọcmáyduynhấtđểdựđoánkếtquảcuốicùng.Kếtqu ảcuốicùngcủamộtdự đoánđượcthựchiệnbởiđasố“phiếubầu”theohaichiếnlượckhácnhaulàbiểuquyếtcứng(strategiesvo ting)vàbiểuquyếtmềm(softvoting).Vớiđặcđiểmcủabiểuquyếtmềmlàkếthợpgiữanhãndựđoánvàxácsu ấtcủanhãnđósẽđemlạikếtquảchínhxáchơnsovớichỉsửdụngnhãntrongbiểuquyếtcứng.Vìvậy,trongchươn gnàynghiêncứusinhsửdụngbiểuquyếtmềmvớicôngthức:
Vớiwjl àtrọngsốcủakếtquảdự đoán(giátrịp)thuộc bộphânlớpthứj.
Thựcnghiệmvàđánhgiá
4.3.1 Tậpmẫuthựcnghiệm Để đánh giá kết quả hoạt động của mô hình đề xuất, tập dữ liệu chứa 8911 mẫubao gồm 5023 IoT Botnet và 3888 mẫu lành tính đã được thu thập và sử dụng cho thựcnghiệm.Môtảvề cácmẫutrongtậpdữliệuđượcmô tảtrongBảng4.2.
Thửnghiệmđượctiếnhànhtrênmáychủvớicấuhình CPU Intel Xeon E5-26892.6GHz,RAM32GB.MôitrườngảohóaV-Sandboxđượccàiđặttheomãnguồnđượcnghiên cứu sinh chia sẻ tạiGithub [100] Các thuật toán học máy đơn lẻ được thử nghiệmnhưSVM,KNN,DecisionTree,RandomForest,… đượccàiđặtthôngquangônngữ
PythonvớithưviệnScikit-learn(Sklearn)[113].Cáctham sốcụthểcủacácthuậttoánhọcmáyđượcsử dụngtrongquátrìnhthựcnghiệmđượcmôtảnhưtrong Bảng 4.3.
KNN n_neighbors 10;100;1000 weights “uniform”;“distance” n_jobs -1
DecisionTree randoom_state 42 criterion “gini”;“entropy” splitter “best”;“random”
RandomForest n_estimators 10;100;1000 random_state 42 n_jobs -1
SVM random_state 42 probability True
C np.logspace(-1,1,3) gama np.logspace(-1,1,3)
Nghiên cứu sinh đã sử dụng các thuật toán học máy phổ biến như SVM, KNN,DecisionTree,RandomForestvàhàmhợpnhấtVoting,LogisticRegressionđểđánhgiáhiệuquảc ủamôhìnhhọcmáycộngtácđềxuất.Kếtquảhuấnluyệnvàđánhgiácácthuậttoánhọcmáyđơnlẻvớicác đặctrưngđầuvàođượcmôtảtrongBảng4.4.Kếtquảdựđoáncủacácmôhìnhhọcmáyđơnlẻnàyđượckết hợpthôngquahàmhợpnhất“Voting”(vàsửdụngthêmhàm“LogisticRegression”đểsosánh).Tổngcộn gcó64cáchkếthợp4thuậttoánhọcmáyphổbiếnnêutrên.Có128kếtquảthửnghiệmđánhgiáđộchínhxác củaviệcpháthiệnmãđộcIoTBotnetchomôhìnhđềxuấtđượcmôtảtrongHình4.12.
Từkếtquảthửnghiệmnày,hàmkếthợp“Voting”chothấyhiệuquảvượttrộisovớihàm“Logistic Regression”vàbộbathuậttoánhọcmáyđơnlẻKNN(đốivớidữliệuluồngmạng)
FPR = 1,94% So sánh với kết quả phát hiện mã độc IoT Botnet khi sử dụng các thuậttoán học máy đơn lẻ kể trên với các đặc trưng dữ liệu hành vi riêng rẽ của mã độc đãchothấysựphùhợpkhikếthợpcácthuậttoánnàyvớinhautrongmôhìnhcộngtác.Sựkết hợp này đem lại hiệu quả phát hiện mã độc với độ chính xác cao thể hiện ở các độđo ACC = 99.37%, ROC AUC =0.9896,F P R 1 , 9 4 % v ư ợ t t r ộ i h ơ n c á c m ô h ì n h đ ơ n lẻmặcdùchỉsửdụngmộtphầndữliệuhànhvicầnquansát,chưacầnmãđộcthựchiệnđầyđủcáchành vi.Bêncạnhđó,việckếthợp cácthuậttoánhọc máyvớicácnguồndữliệuhànhvikhácnhaucủatệpđầuvàođãhỗtrợ,bổkhuyếtchochocácthuậttoántrong việc đưa ra đánh giá xem tệp đầu vào có thực sự là mã độc hay không Minh chứng chođiềunàylàtỉlệFPRrấtthấpvới giátrịlà1.94%.
Tậpgiátrịtrọngsốcủahàmbiểuquyếtmềm“Voting”là(0.33;0.32;0.35)tươngứng với các đầu ra dự đoán của mô hình phát hiện dựa trên luồng mạng, thông tin sửdụngtàinguyênthiếtbịvàlờigọihệthống.Vớicácgiátrịtrọngsốkểtrênchothấy,cácdữliệuđặctrưngđầ uvàomàNCSlựachọnđềuđóngvaitròquantrọngtrongquátrìnhxác định một tập tin có phải là mã độc hay không Nếu một trong các dữ liệu đặc trưngmà NCS đã lựa chọn là không quan trọng, gây nhiễu trong việc đánh giá tập tin mã độcthì trọng số của dữ liệu đặc trưng đó sẽ thấp hơn hẳn so với các trọng số còn lại Giá trịcác trọng số trong trường hợp này không sai khác nhau quá nhiều cũng chỉ ra rằng cả 3đặc trưng đầu vào này là cần thiết, không thể thiếu đối với mô hình đề xuất Với ba môhình học máy đơn lẻ đã chọn, nghiên cứu sinh đã điều chỉnh các thông số của mô hìnhvà thử nghiệm trên toàn bộ Dataset, đánh giá mô hình dựa trên các giá trị đo được Kếtquả đánh giá mô hình đề xuất trên Dataset được trình bày trongBảng 4.5 Ngoài ra, tácgiảcũngđánhgiáhiệuquảpháthiệncủaphươngphápđềxuấtthôngquacácmẫukhôngcó sẵn trong Dataset Kết quả phát hiện các mẫu không có trong Dataset được mô tảtrongBảng4.6.
Hình4.12Kếtquảđánhgiácácthuậttoánhọcmáycộng tác Bảng4.4Độchính xáccácmôhìnhhọcmáyđơnlẻhuấnluyệntrên Dataset
Thuậttoán Độ chính xác phân loại dữ liệu của mô hình(ACC-%) Dữliệu luồngmạng Dữliệusửdụng tàinguyênthiếtbị Dữliệu lời gọi hệthống
Mô hình cộng tác 0.9937 0.9896 0.0194 0.9927 0.9987 0.9957 0.9964 0.9806 0.9884 Đưa các mô hình sau khi huấn luyện xong vào chạy thực tế thì để đảm bảo khảnăngđồngbộdữliệugiữacácnguồndữliệuđầuvàolàlờigọihệthống,luồngmạngvàhànhvisửdụngtài nguyênhệthống;nghiêncứusinhlựachọnthờigianthuthậpdữliệu theothờigianthựclà03giây(đảmbảođểcóthểthuđược300lờigọihệthống,20hànhvi yêu cầu tài nguyên thiết bị và
50 gói tin luồng mạng) cho quá trình thực thi tệp đầuvàovàđưarakếtquảdựđoánphânloạitệptin.Kếtquảchạythựctếđượcminhhọanhưtrongcác
Hình4.15Kếtquảphântíchtệplànhtính Bảng4.6KếtquảthửnghiệmvớicácmẫunằmngoàiDataset
Nhãndựđoánc ủ a môhìnhh O ̣cmáy(tỉlệ dựđoánlàmãđộc) Nhãn doVirusto talcungcấ p
Network Performance Syscall Đềxuất
8 2bb57df01bd06453775472df2098eff1 Malware
TừkếtquảđánhgiátrênDatasetchothấymôhìnhhọcmáycộngtácđềxuấtchokếtquảcóđộchính xáccaovớiACC.37%,AUC=0.9896.Thờigianđểmôhìnhđưaradựđoánlàxấpxỉ6giây,nhanhhơns ovớicácnghiêncứuđãcôngbốvềpháthiệnsớmmãđộctrêncácthiếtbịIoT.Sosánhvớicácnghiêncứuhiệnc óđượcthểhiệntrongBảng
4.7.Kếtquảsosánhnàychothấyhiệuquảcủaviệcsửdụngmôhìnhhọcmáycộngtáccho3loạidữliệuđặct rưng(lờigọihệthống,luồngmạng,sửdụngtàinguyênthiếtbị)trongpháthiệnmãđộcIoTBotnet.Sửdụngphư ơngphápWrapperđểtríchchọnđặctrưng,lựachọncácthuậttoánhọcmáyđơnlẻphùhợpchotừngloạitậpđặc trưngvàcáchkếthợpcácthuậttoánhọcmáyđơnlẻnàyvớinhautrongmộtmôhìnhcộngtácđãgópphầnl àmtănghiệuquảcủamôhìnhđềxuất.Môhìnhđượcđềxuấtcóđộchínhxác(ACC)vàgiátrịAUCvượttrội hơnsovớicácmôhìnhhiệncó.Ngoàira,môhìnhđượcđềxuấtchỉsửdụngmộtphầnnhỏdữliệuhànhvith ựcthicủamãđộcđãcóthểtạorapháthiệnchínhxácmàkhôngcầnđợimãđộcnàythựchiệnđầyđủhànhvi. Đâylàđónggópnổibậtcủamôhìnhnày.Môhình đã chạy thành công và đưa ra dự đoán chính xác với các mẫu mới không có trongDataset.Tuynhiên,việckhởiđộngmáyảovàkhởichạyV-
Sandboxđểthuthậpdữliệucủamộtmẫu(baogồmmộtvònglặpđểthuthậpthêmdữliệusaumỗilầnchạy)dẫn đếnviệctăngtổngthờigianthuthậpxửlýmộtmẫulênkhoảng3phút.Đâylàmộthạnchếcủakhungphát hiện Botnet IoT của nghiên cứu sinh Vấn đề này sẽ được nghiên cứu sinh tiếp tụcnghiêncứuvàhoànthiệnđểrútngắntổngthờigianchạy.
Tập dữ liệuthửnghi ệm (mã độc/lànht ính)
Thời gian thu thậpdữ liệu hành viđộng/mẫu
[129] 220/250 Lờigọi hệthống Ngầmđ ị n h c h ờ t h ự c thi đầyđủ
Ahmed[130] 416/100 LờigọihàmAPI Ngầmđ ị n h c h ờ t h ự c thi đầyđủ
25000 Lờigọi hệthống Ítnhất15bước–thời gianchínhxáckhông đượcbáo cáo 95.0/0.98
Tập dữ liệuthử nghiệm(mã độc/lànhtính )
Thời gian thu thậpdữ liệu hành viđộng/mẫu
Mô hình đềxuất 5023/3888 Lờig ọ i h ệ t h ố n g , lu ồngmạng,yêucầu tàinguyênthiếtbị
KếtluậnChương4
Trong chương này, nghiên cứu sinh đã đề xuất mô hình học máy cộng tác mới(CMED) để phát hiện sớm hiệu quả IoT Botnet dựa trên việc thu thập mức tối thiểu cácdữ liệu động cần thiết Khung thử nghiệm phát hiện IoT Botnet của nghiên cứu sinh đãđược xây dựng dựa trên mô hình học máy cộng tác này và môi trường ảo hóa V-Sandbox.Hiệu quả của mô hình đề xuất đã được chứng minh thông qua các kết quả thử nghiệmtrênbộdữliệuvới8911mẫu.Ýtưởngvàkếtquảthựcnghiệmcủaphươngphápđềxuấttrongchươn g nàyđãđượctrìnhbày, côngbố trênTạpchí khoahọcquốctế.Cụ thểlà:
- “A collaborative approach to early detection of IoT Botnet” Computers
Sự phát triển không ngừng của thiết bị IoT cả về số lượng và chủng loại đã làmthayđổinhiềukhíacạnhcủaxãhộiconngười.ThiếtbịIoTngàycàngxâmnhậpsâuvàosinh hoạt hàng ngày của chúng ta, tác động thay đổi cách thức con người giao tiếp vớithiết bị, máy móc Các thiết bị này đã đơn giản hóa, cung cấp sự tiện dụng, phản hồinhanh chóng trong giao tiếp giữa người dùng và máy móc. Bên cạnh những ưu điểm,thiết bị IoT cũng tồn tại những vấn đề về bảo mật, an ninh thông tin đáng lo ngại. ĐặcbiệtlàkhảnăngbịlâylanmãđộcIoTBotnetdễdàng.Dođó,trongluậnánnày,nghiêncứu sinh tập trung tìm hiểu các đặc điểm khác biệt của mã độc IoT Botnet với các loạimã độc truyền thống, từ đó làm cơ sở trong nghiên cứu, xây dựng mô hình học máynhằm nâng cao độ chính xác và giảm độ phức tạp trong phát hiện mã độc IoT Botnettrêncác thiết bịIoThạnchếtàinguyêntheophươngphápphântíchđộng.
Theođó,nộidungluậnánđãtậptrungnghiêncứucácphươngpháppháthiệnmãđộc IoT Botnet, đánh giá ưu và nhược điểm các phương pháp đã có Từ đó, luận án đưara giải pháp xây dựng mô hình học máy có độ chính xác cao và độ phức tạp thấp trongphát hiện mã độc IoT Botnet Cụ thể, luận án đã đạt được các kết quả nghiên cứu chínhnhưsau: Đóng góp 1:Luận án xây dựng được một môi trường V-Sandbox đảm bảo cácđiều kiện để có thể thu thập đầy đủ dữ liệu hành vi của mã độc IoT Botnet Môi trườngsandboxđượcxâydựnghoạtđộnghoàntoàntựđộng, mãnguồn mởvàcàiđặtdễdàng,cótínhthực tiễn. Đónggóp2:Luậnánđềxuấtđượcmộtphươngphápmới,gọilàđồthịlờigọihệthống có hướng DSCG
(Directed System Call Graph) có thể trích xuất được đặc trưnghiệu quả cho phát hiện mã độc IoT Botnet Phương pháp đề xuất có độ phức tạp thấpnhưng vẫn đảm bảo độ chính xác cao trong phát hiện IoT Botnet, đặc biệt với nhữngdòng mãđộcIoTBotnetmớixuấthiện. Đóng góp 3:Luận án đề xuất được một mô hình phát hiện mã độc IoT Botnetmới, có khả năng kết hợp nhiều nguồn dữ liệu đặc trưng khác nhau để có thể phát hiệnsớm mã độcIoT Botnet Mô hình đề xuất sử dụng mức tối thiểu các dữ liệu động cầnthiết mà vẫn có thể đưa ra dự báo có độ chính xác cao, góp phần giảm thiểu thời gianpháthiệnmãđộcIoTBotnet.
Phương pháp đề xuất của luận án có tính thực tiễn khi có thể triển khai mô hìnhứng dụng như hình (i), trong đó các tác tử được tích hợp vào thiết bị IoT hạn chế tàinguyên để thu thập và gửi thông tin hành vi hoạt động của thiết bị về phân hệ tiền xử lýtrung tâm làm đầu vào cho phân hệ phân tích, phát hiện, cảnh báo mã độc IoT Botnet.Tại đây, phương pháp trích xuất đặc trưng đồ thị DSCG và mô hình học máy cộng tácphát hiện sớm mã độc IoT Botnet của nghiên cứu sinh đề xuất được áp dụng để phânloại tệp lành tính và mã độc Đây là một trong những nội dung trong khuôn khổ đề tàinghiên cứu ứng dụng và phát triển công nghệ cấp quốc gia
“Nghiên cứu xây dựng hệthống tự động phát hiện, cảnh báo và ngăn chặn tấn công mạng nhằm vào các thiết bịIoT cỡ nhỏ sử dụng mạng lưới tác tử thông minh”(có mã số KC-4.0-
Tuy nhiên, theo xu hướng phát triển chung của mã độc nói chung, mã độc trênthiết bị IoT sẽ ngày càng phát triển nhanh cả về số lượng và chủng loại Vì vậy, vấn đềphát hiện mã độc trên các thiết bị này sẽ được các nhà nghiên cứu trong và ngoài nướctiếp tục quan tâm trong thời gian sắp tới Mặc dù đã đạt được các kết quả nghiên cứuquan trọng về lý luận khoa học và thực tiễn trong phát hiện mã độc IoT Botnet nhưngluậnánvẫn cònmộtsốvấnđềcần nghiêncứu,cảitiếntrongtươnglaigồm:
1 Phươngphápđềxuấtcủaluậnánhiệnđangthửnghiệmvớibộdữliệuchủyếuchứa mã độc IoT Botnet, chưa bao gồm các loại mã độc khác Trong thời gian gần đây,một số biến thể mới của các loại mã độc như Ransomware, Trojan, Spyware,… đangđược phát triển để có thể lây lan trên thiết bị IoT hạn chế tài nguyên Đây cũng là mộtnguy cơ đe dọa an ninh, an toàn thông tin tiềm tàng cần phải nghiên cứu, phát hiện Dođó, cần phải thử nghiệm và cải tiến phương pháp đề xuất trong luận án với những loạimãđộcmớinàytrongthờigiantới.
2 Tổng thời gian khởi tạo, thực thi, giám sát và tạo báo cáo hành vi của các mẫuđầuvàomôitrườngV-Sandboxcòndài,dẫntớihạnchếvềmặtthờigiantronggiảiphápphát hiện sớm mã độc IoT Botnet Ngoải ra, tỉ lệ chạy thành công các mẫu trong tập dữliệuđốivớiV- Sandboxđangởmức80.5%.Cầnphảinghiêncứu,cảitiếnđểtăngtỉlệthựcthithànhcôngcácmẫucò nlạitrongtậpdữliệuđãthuthập.Trongtươnglai,nghiêncứusinhsẽtiếptụchoànthiệnđểtốiưuV- Sandboxđểkhắcphụcnhữngnhượcđiểmnày.
3 Việc sử dụng phân tích động như trong phương pháp đề xuất đã đạt hiệu quảcao trong thực nghiệm phát hiện mã độc IoT Botnet về mặt lý thuyết khoa học. Tuynhiên, trong thực tiễn thì sử dụng các mẫu chữ ký (signature-based) trong phát hiện mãđộcđơngiảnvàtiếtkiệmtàinguyênhệthốngtriểnkhaithựctế.Vìvậy,nghiêncứugiảipháptựđộng chuyểnđổilinhhoạtkếtquảpháthiệncủamôhìnhđềxuấtthànhcácmẫuchữ ký cho IDS cũng là một nội dung nghiên cứu mang tính ứng dụng trong tương laimànghiêncứusinh hướngtới.
Tất cả các nội dung, kết quả nghiên cứu trình bày trong luận án này đều đã đượccông bố trên các tạp chí, hội thảo uy tín ngành công nghệ thông tin trong nước và quốctế.Cụthểnhư sau:
1) “Xây dựng hệ thống phát hiện mã độc trong thiết bị định tuyến dựa trên môphỏng”,Tạpchí“NghiêncứuKhoahọcvàCôngnghệtronglĩnhvựcAntoànthôngtin”(Journal of
Science and Technology on Information security) – Ban cơ yếu chính phủ(1.CS(05)2017),2017.
2) “V-Sandbox for Dynamic Analysis IoT Botnet,”IEEE Access, vol 8, pp.145768–145786,2020,(SCIEindex,Q1),ISSN:2169-3536,DOI:10.1109/ACCESS.2020.301489 1
Engineering(IJITEE), vol.8,no.10,pp.937–942,Aug.2019,(SCOPUSindex),ISSN:2278- 3075,DOI:10.35940/ijitee.J9091.0881019.
4) “A collaborative approach to early detection of IoT Botnet” Computers
1)“Xâydựngmôhìnhpháthiệnmãđộctrênthiếtbịđịnhtuyếnbằngtáctử”,Kỷyếu hội thảo quốc gia lần thứ 20: Một số vấn đề chọn lọc của Công nghệ thông tin vàtruyềnthông, 2017.
2)“Xây dựng mô hình thu thập, phát hiện tấn công mạng sử dụng thiết bị IoT”,Kỷyếuhộithảoquốcgialầnthứ2:Mộtsốvấnđềchọnlọcvềantoànanninhthôngtin(SoIS),201
3)“Xây dựng hệ thống phát hiện xâm nhập mạng các thiết bị IoT dân sự trongnhàthôngminh”,Kỷyếuhộithảoquốcgialầnthứ21:MộtsốvấnđềchọnlọccủaCôngnghệthông tinvà truyềnthông,2018.
4) “Kết hợp CNN và LSTM trong nâng cao hiệu năng phát hiện tấn công mạngcủa HIDS với bộ dữ liệu ADFA”,Hội thảo quốc gia lần thứ 3: Một số vấn đề chọn lọcvề an toàn an ninh thông tin, 2018 In tại Tạp chí Thông tin và Truyền thông (số tháng12/2018,ISSN1859-3550)
5) “Đề xuất phương pháp phát hiện IoT Botnet hiệu quả dựa trên lời gọi hệthống”, Kỷ yếu hội thảo quốc gia lần thứ 23: Một số vấn đề chọn lọc của Công nghệthôngtinvàtruyềnthông,2020.
[1] D Evans, ‘The internet of things: How the next evolution of the internet ischangingeverything’,CISCOWhitePap.,vol.1,no.2011,pp.1–11,2011.
[2] K Angrishi, ‘Turning internet of things (iot) into internet of vulnerabilities(iov): Iot botnets’,ArXivPrepr.ArXiv170203681,2017.
[3] I.Andrea,C.Chrysostomou,andG.Hadjichristofi,‘InternetofThings:Securityvu lnerabilities and challenges’,2015,pp.180–187.
[4] Kaspersky Lab report, ‘Honeypots and the Internet of Things’,Securelist -
KasperskyLab’scyberthreatresearchandreports ,2017.https://securelist.com/ honeypots-and-the-internet-of-things/78751/(accessedMay11,2018).
[5] K.Moskvitch,‘SecuringIoT:Inyoursmarthomeandyourconnectedenterprise’,E ng.Technol.,vol.12,no.3,pp.40–42,2017.
[6] V Woods and R Van der Meulen, ‘Gartner Says Worldwide loT SecuritySpendingtoReach$348 Millionin2016’,inGartner,Stamford,2016.
[7] BKAVcompany,‘PETHOLE.’[Online].Available:http://pethole.net/
[8] C Kolias, G Kambourakis, A Stavrou, and J Voas, ‘DDoS in the IoT: MiraiandOtherBotnets’,Computer,vol.50,no.7,pp.80–84,2017,doi:10.1109/ MC.2017.201.
Bencheton,E.Darra,G.Tétu,G.Dufay,andM.Alattar,‘Securityandresilienceofsmarthome environmentsgoodpracticesandrecommendations’,Eur.Union Agency Netw.Inf.Secur.ENISAHeraklionGreece,2015.
KasperskyLab’scyberthreatresearchandreports.https://securelist.com/iot-a- malware-story/94451/ (accessedDec.19,2019).
[11] K.Ashton,‘That“internetofthings”thing’,RFIDJ.,vol.22,no.7,pp.97–114,2009.
[12] S Madakam, V Lake, V Lake, and V Lake, ‘Internet of Things (IoT): Aliteraturereview’,J Comput.Commun.,vol.3,no.05,p.164,2015.
[14] ‘State of the IoT 2018: Number of IoT devices now at 7B– Marketaccelerating’.https://iot-analytics.com/state-of-the-iot-update-q1-q2- 2018-number-of-iot-devices-now-7b/ (accessedJan.06,2021).
[15] K.Chenetal.,‘Internet-of-Thingssecurityandvulnerabilities:Taxonomy,challenges, and practice’,J Hardw Syst Secur., vol 2, no 2, pp 97–110,2018.
[16] S Prentice, ‘The five SMART technologies to Watch’,Gart Conn., vol.21,2014.
[17] A.F.A.Rahman,M.Daud,andM.Z.Mohamad,‘Securingsensortocloudecosystemusin ginternetofthings(iot) securityframework’,2016,pp.1–5.
[18] C Bormann, M Ersue, and A Keranen, ‘Terminology for Constrained-NodeNetworks RFC7228.Retrieved August 12,2016’,2014.
[19] S Dange and M Chatterjee, ‘IoT Botnet: The Largest Threat to the IoTNetwork’, inData Communication and Networks, Springer, 2020, pp 137–157.
[20] S Lyndon, J H Timothy, and A Michelle, ‘The weaponization of IoTdevices:Riseofthethingbots’,IBMManagedSecurityServicesThreatResear chgroup,Apr.2017.[Online].Available:https://www.ibm.com/downloads/cas/ 6MLEALKV
[21] G Kambourakis, C Kolias, and A Stavrou, ‘The Mirai botnet and the IoTZombieArmies’,2017,pp.267–272.
[22] ‘Shodan’.https://www.shodan.io/(accessedJun.10,2020).
[23] M C a S J S A Cui, ‘When Firmware Modifications Attack : A CaseStudyofEmbeddedExploitation’.20thAnnualNetwork&DistributedSystemSec uritySymposium,2013.
[24] AndreiCostin,JonasZaddach,Aur´elienFrancillon,andDavideBalzarotti,‘ALarge- ScaleAnalysisoftheSecurityofEmbeddedFirmwares’, EURECOM Sophia- AntipolisBiot Fr.,2014.
[25] Brian Krebs, ‘Source Code for IoT Botnet “Mirai” released’.Krebsonsecurity.com, Sep 30, 2016 [Online].
Available:https://krebsonsecurity.com/2016/10/source-code-for-iot-botnet-mirai-released/
[26] E.Cozzi,M.Graziano,Y.Fratantonio,andD.Balzarotti,‘Understanding Linux Malware’,SanFrancisco,CA,May2018.
[27] J.Gamblin,‘ThemalwareMiraiSourceCode’.Jan.07,2021.Accesse d:Jan.08,2021.[Online].Available:https://github.com/jgamblin/Mirai-Source-
Computer,vol.50,no.2,pp.76–79,Feb.2017,doi:10.1109/MC.2017.62.
[29] P Beltrán-García, E Aguirre-Anaya, P J Escamilla-Ambrosio, and R.Acosta-Bermejo, ‘IoT Botnets’, inTelematics and Computing, Cham, 2019,pp.247–257.
[30] N Q Dũng, N H Trung, and L V Hoàng, ‘Phát hiện mã độc IoT botnetdựa trên đồ thị PSI với mô hình Skip-gram’,J Sci Technol Inf Secur., vol.7,no.1,pp.29–36,2018.
[31] Konrad Rieck, Thorsten Holz, Carsten Willems, Patrick Düssel, and PavelLaskov, ‘Learning and Classification of Malware Behavior’ Lecture Notes inComputerScience,vol5137,2008.
[32] R.Doshi,N.Apthorpe,andN.Feamster,‘MachinelearningDDoSdetection forconsumerInternetofThingsdevices’,2018,pp.29–35.
[33] I Alrashdi, A Alqazzaz, E Aloufi, R Alharthi, M Zohdy, and H Ming,‘AD-IoT: anomaly detection of IoT cyberattacks in smart city using machinelearning’,2019,pp.0305–0310.
[34] A O Prokofiev, Y S Smirnova, and V A Surov, ‘A method to detectInterneto f T h i n g s b o t n e t s ’ , i n 2 0 1 8 I E E E C o n f e r e n c e o f R u s s i a n Y o u n g
Researchers in Electrical and Electronic Engineering (EIConRus),
Moscow,Jan.2018,pp.105–108.doi:10.1109/EIConRus.2018.8317041.
[35] C.-J Wu, Y Tie, K Yoshioka, and T Matsumoto, ‘IoT malware behavioranalysisandclassificationusingtextminingalgorithm’,Comput.Secur.Symp.201
[36] D Breitenbacher, I Homoliak, Y L Aung, N O Tippenhauer, and Y.Elovici,‘HADES-IoT:APracticalHost-
[37] M Ficco, ‘Detecting IoT Malware by Markov Chain Behavioral Models’,2019,pp.229–234.
[38] A.Azmoodeh,A.Dehghantanha,M.Conti,andK.-K.R.Choo,‘Detectingcrypto- ransomwareinIoTnetworksbasedonenergyconsumptionfootprint’,
J.AmbientIntell.Humaniz.Comput.,vol.9,no.4,pp.1141–1152,2018.
[39] N P Tran, Q D Ngo, D K Hoang, N B Nguyen, and D T Nguyen,‘Phát hiện mã độc trên các thiết bị IoT dựa trên lời gọi Syscall và phân loạimộtlớpSVM’,HộiThảoLầnThứIIIMộtSốVấnĐềChọnLọcVềToànNinhThông
[41] N Moustafa and J Slay, ‘UNSW-NB15: a comprehensive data set fornetwork intrusion detection systems (UNSW-NB15 network data set)’, 2015,pp.1–6.
[42] R Panigrahi and S Borah, ‘A detailed analysis of CICIDS2017 dataset fordesigningIntrusionDetectionSystems’,Int.J.Eng.Technol.,vol.7,no.3.24,pp.479– 482,2018.
[43] Y M P Pa, S Suzuki, K Yoshioka, T Matsumoto, T Kasama, and C.Rossow, ‘Iotpot: A novel honeypot for revealing current iot threats’, J. Inf.Process.,vol.24,no.3,pp.522–533,2016.
[44] W Jung, H Zhao, M Sun, and G Zhou, ‘IoT botnet detection via powerconsumption modeling’,Smart Health,vol.15,p.100103,2020.
[45] A.Shabtai,U.Kanonov,Y.Elovici,C.Glezer,andY.Weiss,‘“Andromaly”:abe havioralmalwaredetectionframeworkforandroiddevices’,J.Intell.Inf.Syst.,vol 38,no.1,pp.161–190,2012.
[46] C.Guarnieri,A.Tanasi,J.Bremer,andM.Schloesser,‘Thecuckoosandbox’,20 12.
[47] C.Willems,T.Holz,andF.Freiling,‘Towardautomateddynamicmalwareanalysisusing cwsandbox’,IEEESecur.Priv.,vol.5,no.2,2007.
[48] ‘REMnux: A free Linux Toolkit for Reverse-Engineering and AnalyzingMalware’.https://remnux.org/ (accessedMar.10,2020).
[49] D.OktaviantoandI.Muhardianto,Cuckoomalwareanalysis.PacktPublishing Ltd,2013.
[50] Z Liuet al., ‘An Integrated Architecture for IoT Malware Analysis andDetection’,2018,pp.127–137.
[Online] Available:http://excel.fit.vutbr.cz/submissions/2019/058/58.pdf
[53] ‘Padawan live’ https://padawan.s3.eurecom.fr/about (accessed Mar 10,2020).
[54] ‘Detux:TheMultiplatformLinuxSandbox’,Feb.23,2020.https://github.com/ detuxsandbox/detux(accessedMar.10,2020).
Data’.http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html(accessed Apr 23,2020).
[56] ‘NSL-KDD | Datasets | Research | Canadian Institute for Cybersecurity | UNB’.https://www.unb.ca/cic/datasets/nsl.html(accessedApr.20,2021).
[57] ‘IDS 2018 | Datasets | Research | Canadian Institute for Cybersecurity | UNB’.https://www.unb.ca/cic/datasets/ids-2018.html(accessedApr.20,2021).
[58] Y Meidanet al., ‘N-baiot—network-based detection of iot botnet attacksusingdeepautoencoders’,IEEEPervasiveComput.,vol.17,no.3,pp.12– 22,2018.
[59] N Chandolikar and V Nandavadekar, ‘Selection of relevant feature forintrusionattackclassificationbyanalyzingKDDCup99’,MITInt.J.Comput.Sci.Inf.T echnol.,vol.2,no.2,pp.85–90,2012.
[60] S K Sahu, S Sarangi, and S K Jena, ‘A detail analysis on intrusiondetectiondatasets’,2014,pp.1348–1353.
[61] H.Nguyen,K.Franke,andS.Petrovic,‘Improvingeffectivenessofintrusiondet ectionbycorrelation featureselection’,2010,pp.17–24.
[62] P Gogoi, M H Bhuyan, D Bhattacharyya, and J K Kalita, ‘Packet andflowbasednetwork intrusiondataset’,2012,pp.322–334.
[63] Ar Vasudevan, E Harshini, and S Selvakumar, ‘SSENet-2011: a networkintrusion detection system dataset and its comparison with KDD CUP 99dataset’,2011,pp.1–5.
[64] M Ahmed, A N Mahmood, and J Hu, ‘A survey of network anomalydetectiontechniques’,J.Netw.Comput.Appl.,vol.60,pp.19–31,2016.
[65] V Kanimozhi and T P Jacob, ‘Artificial Intelligence based NetworkIntrusion Detection with hyper-parameter optimization tuning on the realisticcyber dataset CSE-CIC-IDS2018 using cloud computing’, 2019, pp 0033–0036.
[66] P Lin, K Ye, and C.-Z Xu, ‘Dynamic network anomaly detection systembyusingdeeplearning techniques’,2019,pp.161–176.
[67] R.I.Farhan,A.T.Maolood,andN.Hassan,‘Performanceanalysisofflow-based attacks detection on CSE-CIC-IDS2018 dataset using deep learning’,Indones.J.Electr.Eng.Comput.Sci.,vol.20,no.3,pp.1413–1418,2020.
[68] J Kim, J Kim, H Kim, M Shim, and E Choi, ‘CNN-based networkintrusion detection against denial-of-service attacks’, Electronics, vol 9, no.6,p.916,2020.
[69] E Hodoet al., ‘Threat analysis of IoT networks using artificial neuralnetwork intrusion detectionsystem’, 2016,pp.1–6.
[70] S Alhaidari and M Zohdy, ‘Feature Pruning Method for Hidden MarkovModel-
J.Comput.Inf.Technol.JJCIT,vol.4,no.03,2018.
[71] M.Alhanahnah,Q.Lin,Q.Yan,N.Zhang,andZ.Chen,‘Efficientsignaturegenerationfor classifyingcross- architectureIoTmalware’,inIEEEConferenceonCommunications andNetworkSecurity(CNS),2018,pp.1–9.
[72] E.M.Karanja,S.Masupe,andM.G.Jeffrey,‘Analysisofinternetofthingsmalwareusingi magetexturefeaturesandmachinelearningtechniques’, Internet
[73] M Shobana and S Poonkuzhali, ‘A novel approach to detect IoT malwarebysystemcallsusingDeeplearningtechniques’,2020,pp.1–5.
[75] V G T da Costa, S Barbon, R S Miani, J J P C Rodrigues, and B B.Zarpelao, ‘Detecting mobile botnets through machine learning and systemcallsanalysis’,May2017,pp.1–6.doi:10.1109/ICC.2017.7997390.
[76] A Al Shorman, H Faris, and I Aljarah, ‘Unsupervised intelligent systembasedononeclasssupportvectormachineandGreyWolfoptimizationforIoTbotnet detection’,J Ambient Intell Humaniz Comput., vol 11, no 7, pp.2809– 2825,2020.
[77] H Bahşi, S Nõmm, and F B La Torre, ‘Dimensionality reduction formachinelearningbased iot botnet detection’,2018,pp.1857–1862.
[78] Y N Soe, Y Feng, P I Santosa, R Hartanto, and K Sakurai,
‘MachineLearning-Based IoT-Botnet Attack Detection with Sequential Architecture’,Sensors,vol.20,no.16,p.4372,2020.
[79] C.D.McDermott,F.Majdani,andA.V.Petrovski,‘Botnetdetectionintheinternet ofthings usingdeeplearning approaches’,2018,pp.1–8.
[80] S Sriram, R Vinayakumar, M Alazab, and K Soman, ‘Network FlowbasedIoTBotnetAttackDetectionusingDeepLearning’,2020,pp.189–194.
[81] N Koroniotis, N Moustafa, E Sitnikova, and B Turnbull, ‘Towards thedevelopment of realistic botnet dataset in the internet of things for networkforensicanalytics:Bot- iotdataset’,FutureGener.Comput.Syst.,vol.100,pp.779–796,2019.
[82] ‘DebianSqueezeandWheezyimagesforQEMU’.https://people.debian.org/
[83] F Bellard, ‘QEMU, a fast and portable dynamic translator’,ATEC
’05Proc.Annu.Conf.USENIXAnnu.Tech-NicalConf.,pp.41–44,2005.
[84] ‘Toolchains-eLinux.org’.https://elinux.org/Toolchains(accessedMar.12,2020).
[85] G.Verma,M.Imdad,S.Banarwal,H.Verma,andA.Sharma,‘Development of Cross-Toolchain and Linux Device Driver’, inSystem andArchitecture,Springer,2018,pp.175–185.
[86] ‘lsof(8)-Linuxmanualpage’.http://man7.org/linux/man-pages/man8/ lsof.8.html (accessedApr.13,2020).
[87] ‘top(1)-Linuxmanualpage’.http://man7.org/linux/man-pages/man1/ top.1.html (accessedApr.13,2020).
[88] ‘strace(1)-Linuxmanualpage’.http://man7.org/linux/man-pages/man1/ strace.1.html (accessed Apr.13,2020).
[89] ‘ldd(1)-Linuxmanualpage’.http://man7.org/linux/man-pages/man1/ ldd.1.html (accessedApr.14,2020).
[90] T.T.Group,‘Tcpdump/Libpcappublicrepository’.https:// www.tcpdump.org(accessedMar.25,2020).
[91] M A Aydın, A H Zaim, and K G Ceylan, ‘A hybrid intrusion detectionsystem design for computer network security’,Comput Electr Eng., vol 35,no.3,pp.517–526,2009.
[92] R Agarwal and M V Joshi, ‘PNrule: A new framework for learningclassifiermodelsindatamining(acase- studyinnetworkintrusiondetection)’,2001,pp.1–17.
[93] A A Gendreau and M Moorman, ‘Survey of Intrusion Detection SystemstowardsanEndtoEndSecureInternetofThings’,in2016IEEE4thInternatio nal Conference on Future Internet of Things and Cloud (FiCloud),Aug.2016,pp.84–90.doi:10.1109/FiCloud.2016.20.
[94] S Edwards and I Profetis, ‘Hajime: Analysis of a decentralized internetwormfor IoTdevices’,Rapidity Netw.,vol.16,2016.
[95] B Vignau, R Khoury, and S Hallé, ‘10 Years of IoT Malware: a Feature- Based Taxonomy’,2019,pp.458–465.
[96] N.-P Tran, N.-B Nguyen, Q.-D Ngo, and V.-H Le, ‘Towards malwaredetectioninrouterswithC500-toolkit’,May2017,pp.31–35.doi:10.1109/ ICoICT.2017.8074691.
[97] L.K.YanandH.Yin,‘DroidScope:SeamlesslyReconstructingtheOSandDalvik Semantic Views for Dynamic Android Malware Analysis’, 2012, pp.569–584.
[98] T.Blọsing,L.Batyuk,A.-D.Schmidt,S.A.Camtepe,andS.Albayrak,‘Anandroid application sandbox system for suspicious software detection’, 2010,pp.55–62.
[99] ‘VirusTotal-FreeOnlineVirus,MalwareandURLScanner’.https:// www.virustotal.com/en/(accessedApr.25,2018).
[100] H.V.Le,‘ndhpro/V-IoT-Sandbox’,May14,2020.https://github.com/ndhpro/ V-IoT-Sandbox(accessed May14,2020).
[101] A Marzanoet al., ‘The evolution of bashlite and mirai iot botnets’,2018,pp.00813–00818.
[103] B.K o l o sn j a j i , A Z a rr a s, G W e b s t e r , a n d C E c k e r t ,‘ D e e p l e a r n i n g f o r classificationofmalware systemcall sequences’,2016,pp.137–149.
[104] P.B.Galvin,G.Gagne,andA.Silberschatz,Operatingsystemconcep ts John Wiley&Sons,2003.
[106] B Rozemberczki and R Sarkar, ‘Characteristic functions on graphs: Birdsof a feather, from statistical descriptors to parametric models’, InternationalConferenceonInformation&KnowledgeManagement,2020,pp.1325–
[107] C Cai and Y Wang, ‘A simple yet effective baseline for non- attributedgraph classification’,ICLR Workshop Represent Learn Graphs
[108] A Narayanan, M Chandramohan, R Venkatesan, L Chen, Y Liu, and S.Jaiswal, ‘graph2vec: Learning distributed representations of graphs’,ArXivPrepr.ArXiv170705005,2017.
[109] ‘VirusShare.com’.https://virusshare.com/(accessedJun.05,2019).
[110] B Rozemberczki, ‘The reference implementation of FEATHER from theCIKM ’20 paper’, Feb 11, 2021. https://github.com/benedekrozemberczki/FEATHER(accessedMar.23,2021).
[111] Chen-Cai-OSU, ‘The implementation of paper “A simple yet effectivebaselinefor no n- at tri bu te graph c l a ssi f i c a t i o n ” ’ , Jan.11,2021. https://github.com/Chen-Cai-OSU/LDP(accessedMar.23,2021).
[112] B Rozemberczki, ‘A parallel implementation of “graph2vec: LearningDistributed Representations of Graphs” (MLGWorkshop 2017).’, Mar 23,2021 https://github.com/benedekrozemberczki/graph2vec (accessed Mar 23,2021).
[113] ‘scikit-learn:m a c h i n e l e a r n i n g i n P y t h o n — s c i k i t - l e a r n 0 2 0 2 documentation’.https://scikit-learn.org/stable/(accessedJan.16,2019).
[114] M Ahmadi, D Ulyanov, S Semenov, M Trofimov, and G Giacinto,‘Novel feature extraction, selection and fusion for effective malware familyclassification’,2016,pp.183–194.
[115] B.Kolosnjaji,G.Eraisha,G.Webster,A.Zarras,andC.Eckert,‘Empoweringco nvolutionalnetworksformalwareclassificationandanalysis’,2017,pp.3838–3845.
[116] U Bayer, P M Comparetti, C Hlauschek, C Kruegel, and E Kirda,‘Scalable,behavior-based malwareclustering.’,2009,vol.9,pp.8–11.
[117] P.IndykandR.Motwani,‘Approximatenearestneighbors:towardsremoving thecurse ofdimensionality’,1998,pp.604–613.
[118] A Mohaisen and O Alrawi, ‘Unveiling zeus: automated classification ofmalwaresamples’,2013,pp.829–832.
[119] A Dhammi and M Singh, ‘Behavior analysis of malware using machinelearning’,2015,pp.481–486.
[120] A Pektaş and T Acarman, ‘Classification of malware families based onruntimebehaviors’,J.Inf.Secur.Appl.,vol.37,pp.91–100,2017.
[121] A.Mohaisen,O.Alrawi,andM.Mohaisen,‘Amal:High-fidelity,behavior- basedautomatedmalwareanalysisandclassification’,Comput.Secur.,vol.52,pp.251 –266,2015.
[122] R.Islam,R.Tian,L.M.Batten,andS.Versteeg,‘Classificationofmalwarebased on integrated static and dynamic features’,J Netw Comput Appl., vol.36,no.2,pp.646–656,2013.
[123] W Han, J Xue, Y Wang, L Huang, Z Kong, and L Mao,
‘MalDAE:Detectingandexplainingmalwarebasedoncorrelationandfusionofstaticand dynamiccharacteristics’,Comput.Secur.,vol.83,pp.208–233,2019.
[124] W Han, J Xue, Y Wang, Z Liu, and Z Kong, ‘MalInsight: A systematicprofiling based malware detection framework’,J Netw Comput Appl., vol.125,pp.236–250,2019.
[125] J Saxe and K Berlin, ‘Deep Neural Network Based Malware DetectionUsingTwoDimensionalBinaryProgramFeatures’,ArXiv150803096Cs,Au g.2015,Accessed:Aug.22,2018.[Online].Available:http://arxiv.org/abs/
[126] A Damodaran, F Di Troia, C A Visaggio, T H Austin, and M Stamp,‘Acomparisonofstatic,dynamic,andhybridanalysisformalwaredetection’,
J.Comput.Virol.HackingTech.,vol.13,no.1,pp.1–12,2017.
[127] K Grosse, N Papernot, P Manoharan, M Backes, and P McDaniel,‘Adversarial examples formalwaredetection’,2017,pp.62–79.
[128] S.Tobiyama,Y.Yamaguchi,H.Shimada,T.Ikuse,andT.Yagi,‘MalwareDetection with Deep Neural Network Using Process Behavior’, in2016 IEEE40th Annual Computer Software and Applications
(COMPSAC),Atlanta,GA,USA,Jun.2016,pp.577–582.doi:10.1109/COMPSAC.2
[129] I Firdausi, A Erwin, and A S Nugroho, ‘Analysis of machine learningtechniquesusedinbehavior-basedmalwaredetection’,2010,pp.201–203.
[130] F Ahmed, H Hameed, M Z Shafiq, andM Farooq, ‘Usingspatio- temporalinformationinAPIcallswithmachinelearningalgorithmsformalwarede tection’,inProceedingsofthe2ndACMworkshoponSecurityandartificial intelligence - AISec ’09, Chicago, Illinois, USA, 2009, p 55 doi:10.1145/1654988.1655003.
[131] T Shibahara, T Yagi, M Akiyama, D Chiba, and T Yada,
‘Efficientdynamic malware analysis based on network behavior using deep learning’,2016,pp.1–7.
[132] M.Neugschwandtner,P.M.Comparetti,G.Jacob,andC.Kruegel,‘Forecast:sk immingoffthe malwarecream’,2011,pp.11–20.
[133] U Bayer, E Kirda, and C Kruegel, ‘Improving the efficiency of dynamicmalwareanalysis’,2010,pp.1871–1878.